Patent GB-1166057-A (GB)
Title: Fault Localization in a Computer System
IPC: G06F15/16
Filed: 1966-11-16
Abstract: 1,166,057. Computers; memory fault locating. TELEFONAKTIEBOLAGET L. M. ERICSSON. 16 Nov., 1966 [16 Nov., 1965], No. 51452/66. Headings G4A and G4C. [Also in Division H4] In a fault-localizing method, non-equality of the results from two or more similar computers working on the same calculating operation interrupts the normal function of the computers and starts a calculating operation, the same in all computers, deviation of the result of which from a particular value identifies the respective computer as faulty, the thus faulted computer being disconnected so the or each other computer can continue its normal function, and functional memory units in the faulted computer are connected in turn to at least one unfaulted computer each unit to carry out the same function as the corresponding unit of the unfaulted computer, non-equality of the results from the two units causing the connected unit of the faulted computer to be disconnected while the other units of the faulted computer are reconnected to function in parallel with the unfaulted computer(s). Each computer is as in Fig. 3, with an instruction memory IM, a data memory DM, and an input-output memory FE, having respective address registers IA, DA, FA and respective data registers IR, DR, FR. A central unit CE comprises a control unit SE to decode the contents of an instruction register OR, an arithmetic unit LE with associated registers AA, AR and three further registers RA, RB, RC. The arithmetic unit can perform addition, subtraction, comparison, incrementing by one, incrementing a particular set of bit positions by one, and the exclusive-or function. Inequality in the comparison sets a flip-flop SEF to one, and a register LB specifies the lowestorder unequal bit position. Most of the registers communicate with each other via a common 16-wire connection under control of gates OK1-OK22 controlled by the control unit SE. Fig. 1 shows two microprogramme-controlled computers A, B. Whenever during normal functioning, the signals on their respective 16-wire connections f1a, fib become unequal, a comparator JK via a control unit KK causes both computers to add together two numbers from their respective data memories DM and compare (in LE) the result with another number from memory DM. The computer giving the wrong answer is disconnected by energizing the appropriate relay R1a or R1b and the other computer allowed to continue normal functioning. Normal functioning can be at any one of three priority levels (in order of decreasing priority A, B, C). Every 10 m.sec. (in normal operation) the computer switches to level A operations. If these are completed prior to the next 10 m.sec. interval any level B operations required are done, then any level C. If level B or level C operations are incomplete on the switch to A (which occurs after completion of the current instruction, i.e. microprogramme sequence) the contents of registers RA, RB, RC, LB and flip-flop SEF are stored in a part of data memory DM respective to the level, to enable the operation to be resumed on return to the level. Stored " work " bits indicate uncompleted operations. This storing also takes place on interruption of level A operations to identify the faulty computer (see above). The faulty unit IM, DM, FE, CE of the faulty computer is identified as follows, with a level C priority (but before other level C operations). Assuming computer B is the faulty one (for definiteness), relays R3b, R4b, R6b are energized so that memory IM of computer B performs the same functions as the same memory IM of computer A and only memory IM of computer B can supply data to the 16-wire connection f1b of computer B. A series of test words are read from memory IM of one computer and compared in comparator JK with corresponding test words concurrently read from memory IM of the other computer. Any inequality causes the memory IM of the faulty computer B to be disconnected as faulty, and the address of the test word concerned to be stored, and the other units DM, FE, CE of computer B to be reconnected for normal operations with computer A, the memory IM of computer A being used in common by the two computers. On the other hand, if the words from the two memories IM showed no inequality, memory DM of computer B is next tested in the same way (i.e. against memory DM of computer A), then memory FE. The relays in Fig. 1 may be replaced by electronic means. The computers are used (priority level C) to sample the states of groups of 16 subscriber lines in an electromagnetic telephone exchange, the groups being selected in turn, the resulting 16-bit words being stored in memories FE and compared with previous samplings for the same groups stored in memories DM. Any inequality causes switching operations in the exchange. Counting of received pulses, and time control of length of pulses and pauses during sending and receiving are level A priority operations performed, and priority level B operations relate to switch connection and condition. Control of machine tools is also mentioned.