This invention relates to information storage circuits, and more particularly to information storage circuits hardened to single event upsets.
A Single Event Upset (SEU) changes the value of a bit in a logic circuit. Single Event Upsets (SEUs) are caused by natural radiation sources, such as alpha particles and cosmic rays, interacting with the transistors included in a logic circuit. Microprocessors are comprised of logic circuits, and SEUs are a significant source of soft errors in these circuits. Any circuit node to which either a drain or source of a metal-oxide semiconductor (MOS) transistor is attached can exhibit a random change of voltage due to an SEU, which may cause a soft error in the operation of the microprocessor. The consequence of a soft error is an unwanted change of state of a microprocessor beyond control of a user program, leading to processing and storage of corrupted data, modification of the execution flow and, in the worst case, crash of a system. Soft errors, as opposed to hard errors, do not cause physical damage to the underlying circuitry, although erroneous operation caused by soft errors can finally result in physical damage to the circuit itself or other parts of the system. As the dimensions of the transistors that make up microprocessors decrease and as the operating voltages of the microprocessors decrease, soft-errors due to SEUs are likely to increase. For many systems, such as server computers, airplanes, trains, and cars, which are controlled by microprocessors, reliable operation of the microprocessors is required, even in the presence of radiation and SEUs. A microprocessor failure in these systems can result in a system failure.
Combinational (memoryless) logic circuits can recover from an SEU because the inputs to those circuits are driven by uncorrupted signals. An SEU in a combinational circuit can lead to a soft error if a subsequent memory circuit reads a wrong output during the period of time while the combinational circuit is still recovering. Such an event requires synchronization of an SEU with the clock signal of the memory circuit and low logic depth from the upset node to the input port of the memory circuit. That is why combinational circuits exhibit a much lower soft error rate compared to memory circuits. However, memory devices, such as random-access memory (RAM) devices may not recover from an SEU.
For these and other reasons there is a need for the present invention.
A latch comprises a first latch and a second latch coupled to the first latch. The second latch is capable of hardening the latch to a single event upset.
In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims.
The present invention provides protection against single event upsets (SEUs) in a latch circuit. An SEU can result from ionizing radiation, such as alpha particles, striking a node in a latch. Protecting against single event upsets, or hardening a latch, restores a latch output to its original value after a single event upset. As described in greater detail below, transient signals resulting from single event upsets can also be suppressed by embodiments of the present invention.
The gate interconnections of the unhardened latch of
In operation, writing to hardened latch 500 is performed via transmission gates 518 and 524. The latch is protected for an SEU occurring on a single internal node, which implies that at least two nodes have to be modified simultaneously in order to change the state of latch 500. Transmission gates 518 and 524 are sized so that the gate delay of the two gates is equal. For one embodiment, the size of each of the transmission gates 518 and 524 is equal to the size of the transmission gate 318 of the unhardened latch shown in
Hardened latch 500 recovers from an SEU on a single node, and hardened latch 500 will also recover from an arbitrary number of successive SEUs attacking a single node, provided that the time between successive SEUs is larger than the recovery time of the latch. For example, in one stable state latch 500 stores logic value 1 on nodes 527 and 536 and logic value 0 on nodes 530 and 533. An SEU on node 527 changes its value to 0 and this change propagates to node 530, which assumes value 1. Nodes 533 and 536 store their correct values dynamically. The gate of the pull-down nMOS transistor of node 530 is connected to node 536. Node 536 stores 1 and there is contention between the nMOS and pMOS transistor driving node 530. This contention prevents node 530 from reaching a full-rail voltage, either Vcc or Vss. At the same time, the pull-up pMOS transistor of node 527 attempts recovery of node 527. As the voltage on node 527 gradually rises, resistance of the pull-up pMOS transistor of node 530 increases, leading to recovery of node 530 to value 0. The recovery process of node 530 supports recovery of node 527, because resistance of the pull-down nMOS transistor of node 527 increases as the voltage on node 530 approaches Vss. Eventually, node 530 recovers to 0 and node 527 recovers to 1. In a similar way, latch 500 recovers from an SEU occurring on other internal nodes and latch 500 is immune to SEUs for both stable states. However, if the data stored at node 527 changes either directly as a result of an SEU occurring at node 527 or indirectly as a result of an SEU occurring at either node 533 or node 530, the data at output port 415 may be erroneous until node 527 recovers from the SEU. For example, if the original bit stored at node 527 is 1, then the bit stored on node 530 is 0 and the output data at output port 415 is 0. An SEU occurring at node 530 causes the voltage at node 530 to rise, which causes the pull-down nMOS transistor connected to node 527 to close and change the value of the bit stored at node 527 from 1 to 0 and the output data at output port 415 from 0 to 1. Similarly, if the bit stored on node 527 is 0, then the bit stored on node 533 is 1, and the output data at output port 415 is 1. An SEU on either node 527 or 533 causes the voltage at node 527 to rise and results in erroneous data at output port 415. The data at output port 415 is erroneous only until the latch recovers from the SEU and the information bit stored at node 527 assumes its correct value, but during this time, the erroneous data may be propagated through subsequent logic stages. This temporary appearance of erroneous data is similar to a logic state glitch and is further mitigated in the alternate embodiment described below.
The output buffer configuration of hardened latch 600 includes split buffers 612 and 615, which are intended to simultaneously drive output port 609. In the absence of SEUs, the information bits at nodes 527 and 536 have the same value. Since all voltage transitions at buffers 612 and 615 are intended to occur simultaneously, to avoid contention between buffers 612 and 615, the sizing and topology of buffers 612 and 615 are symmetrical. For one embodiment, the size of each of the transistors that make up output buffers 612 and 615 is equal to one-half the size of the corresponding transistor in output buffer 512 of
At one stable state, nodes 527 and 536 store 1 and nodes 530 and 533 store 0. The output value at port 609 is 0. An SEU on either node 527 or 530 results in node 527 having value 0 and node 530 having value 1, because of coupling between nodes 527 and 530. Output buffer 612 attempts to drive output port 609 high. Nodes 533 and 536 retain their original values 0 and 1, respectively. Output buffer 615 attempts to hold output port 609 at its correct value 0. There is a contention between buffer 612 and 615. In one embodiment, the nMOS and pMOS transistors of buffers 612 and 615 are sized so that the D to
At another stable state, nodes 527 and 536 store 0 and nodes 530 and 533 store 1. An SEU on node 533 changes its value to 0 and node 527 is driven high by the pMOS transistor coupled to node 533. Node 530 remains at 1 and there is contention between the pMOS and nMOS transistors driving node 527. The voltage of node 527 will be close to 50% of the supply voltage. Output buffer 612 can neither pull up nor pull down output port 609, because both nMOS and pMOS transistors of buffer 612 are only partially conducting. Node 536 stores value 0 and the pMOS transistor of buffer 615 receives full-rail gate voltage. As a result, output port 609 remains at correct value 1 only marginally degraded. Similarly, an SEU on node 530 cannot propagate to output port 609.
An SEU on node 527 changes its value from 0 to 1 and the nMOS transistor of output buffer 612 attempts to pull output port 609 to 0. Node 536 remains at 0 and buffer 615 attempts to preserve the correct value 1 at output port 609. The nMOS transistor of buffer 612 can receive full-rail gate voltage, as a result of an SEU on node 527. Output buffer 612 can propagate an incorrect value to output port 609. Similarly, an SEU on node 536 can propagate to output port 609.
When output port 609 stores 0, hardened latch 600 suppresses all transients. When output port 609 stores 1, hardened latch 600 suppresses transients from SEUs on node 533 and 530 and potentially propagates transients from SEU on nodes 527 and 536. If the two stable states occur with equal probability, then during 50% of time, transients from an SEU on one of the two nodes propagate to output port 609.
In case of hardened latch 500, transients from an SEU on node 527 and either node 533 or node 530 (not both at the same time) can propagate to output port 415. In case of hardened latch 500, at any time, transients from an SEU on one of two nodes can propagate to output port 415. However, latch 600 can propagate transients from an SEU on one of two nodes only during 50% of time.
Thus, the probability of a propagated error in subsequent logic stages is reduced by about 50% for the hardened latch in
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
This application is a continuation of U.S. patent application Ser. No. 09/472,000, filed Dec. 23, 1999, now issued as U.S. Pat. No. 6,696,873, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4656368 | McCombs et al. | Apr 1987 | A |
4785200 | Huntington | Nov 1988 | A |
4937473 | Statz et al. | Jun 1990 | A |
4956814 | Houston | Sep 1990 | A |
5111429 | Whitaker | May 1992 | A |
5198699 | Hashimoto et al. | Mar 1993 | A |
5204990 | Blake et al. | Apr 1993 | A |
5307142 | Corbett et al. | Apr 1994 | A |
5311070 | Dooley | May 1994 | A |
5349255 | Patel | Sep 1994 | A |
5406513 | Canaris et al. | Apr 1995 | A |
5491429 | Gasparik | Feb 1996 | A |
5504703 | Bansal | Apr 1996 | A |
5525923 | Bialas, Jr. et al. | Jun 1996 | A |
5631863 | Fechner et al. | May 1997 | A |
5640341 | Bessot et al. | Jun 1997 | A |
5646558 | Jamshidi | Jul 1997 | A |
6026011 | Zhang | Feb 2000 | A |
6215694 | Li et al. | Apr 2001 | B1 |
6278287 | Baze | Aug 2001 | B1 |
Number | Date | Country |
---|---|---|
61-79318 | Apr 1986 | JP |
2-190018 | Jul 1990 | JP |
Number | Date | Country | |
---|---|---|---|
20040130351 A1 | Jul 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09472000 | Dec 1999 | US |
Child | 10742436 | US |