Logical, fail-functional, dual central processor units formed from three processor units

A computing system includes a pair of central processor units structured to operate in substantial synchronism to each execute the same instruction at substantially the same moment in time of identical instruction streams to achieve a logical central processor unit with fail-functional operation. One of the central processor units includes a pair of processors that execute, instruction by instruction, the instruction stream with checking for fail-fast operation. The other central processor unit includes only a single processor element. The system achieves a low cost fail-functional architecture.

Skip to:  ·  Claims  ·  References Cited  · Patent History  ·  Patent History

Claims

1. A fault tolerant processing system, comprising:

a first central processing unit comprising a pair of first processor devices operating to execute each instruction of an instruction stream at substantially the same moment in time;
a second central processing unit comprising a second processor device operating to execute each instruction of substantially an identical copy of the instruction stream, the pair of first processor devices and the second processor device executing identical instructions of the instruction stream and the identical copy of the instruction stream at substantially the same moment in time;
whereby the first and second central processing units operate in synchronism to perform substantially the same operations at substantially the same moments in time, including providing output data; and
a data checking element connected to receive and compare the output data from the first and second central processing units, and selectively outputting the output data from the first or the second central processing unit; wherein said first and second central processing units operate in error-checking redundancy, duplexed pair.

2. The fault tolerant processing system of claim 1, wherein the pair of first processor devices and the second processor device are each microprocessors.

3. The fault tolerant processing system of claim 1, wherein the data checking element is a data communicating element having at least one output and first and second inputs respectively connected to the first and second central processing units, the data communicating element operating to receive output data from the first and second central processing units.

4. The fault tolerant processing system of claim 3, including a data sending device coupled to the output of the data communicating device for receiving input data thereat, and wherein the data communicating element replicates the received input data and transmits the received input data to the first and second central processor elements at substantially the same time.

5. A fail-functional processing system, comprising:

a first central processor unit including a pair of processor elements constructed to execute identical instructions at substantially the same moment in time of a first instruction stream;
a second central processor unit having a single processor element constructed to execute instructions of a second instruction stream;
the first and second central processor units operating in a first mode in which the first and second instruction streams are different, and a second mode in which the first and second instruction streams are identical, and the pair of processor elements and the single processor element execute identical instructions at substantially the same moment in time; and
a data checking element coupled to the first and second central processor units to receive and compare output data therefrom and to issue an indication of a mis-compare if output data received from the first central processor unit does not match output data received from the second central processor unit when the first and second central processor units are operating in the second mode; wherein said first and second central processing units operate in error-checking redundancy, duplexed pair.

6. The processing system of claim 5, including at least one peripheral device, and wherein the data checking element is included in a routing unit that is coupled to communicate output data from the first and second central processor units to the peripheral device.

7. The processing system of claim 6, wherein the routing unit operates to communicate only output data received from the first central processor unit for communication to the peripheral device when the first and second processor units are operating in the second mode.

Referenced Cited
U.S. Patent Documents
3864670 February 1975 Inoue et al.
4228496 October 14, 1980 Katzman et al.
4628508 December 9, 1986 Sager et al.
4817091 March 28, 1989 Katzman et al.
4907228 March 6, 1990 Bruckert et al.
4965717 October 23, 1990 Cutts, Jr. et al.
5146589 September 8, 1992 Peet, Jr. et al.
5193175 March 9, 1993 Cutts, Jr.
5251227 October 5, 1993 Bruckert et al.
5295258 March 15, 1994 Jewett et al.
5327553 July 5, 1994 Jewett et al.
5423024 June 6, 1995 Cheung
5588111 December 24, 1996 Cutts, Jr. et al.
5600784 February 4, 1997 Bissett et al.
5621885 April 15, 1997 Del Vigna, Jr.
Other references
  • J. Bartlett; "A Nonstop Kernel," 8.sup.th Symposium on Operating Systems Principals (ACAM), Dec. 1991 (Reprinted in Tandem Technical Report 81.4). O. Serlin; "Fault-Tolerant System in Commercial Applications . . . " Computer pp. 19-30 Aug. 1994. R. Freiburghouse; "Making processing Fail-Safe"; Mini-Micro Systems. pp. 255-264, May 1982. Siewiorek D., "Fault Tolerance in Commercial Computers"; Computer Jul. 1990, pp. 26-37. Robert Cook, "Design of a self-checking Microprogram Control", IEEE & transaction on Computer, vol. C22, #3, Mar. 1973.
Patent History
Patent number: 5838894
Type: Grant
Filed: Jun 7, 1995
Date of Patent: Nov 17, 1998
Assignee: Tandem Computers Incorporated (Cupertino, CA)
Inventor: Robert W. Horst (Saratoga, CA)
Primary Examiner: Meng-Ai T. An
Law Firm: Townsend and Townsend and Crew
Application Number: 8/484,281
Classifications
Current U.S. Class: 395/18209; 395/1821; 395/20001
International Classification: G06F 1100;