DE112004001843T5 - System und Verfahren zum automatischen Erkennen von Softfehlern in Latches einer integrierten Schaltung - Google Patents
System und Verfahren zum automatischen Erkennen von Softfehlern in Latches einer integrierten Schaltung Download PDFInfo
- Publication number
- DE112004001843T5 DE112004001843T5 DE112004001843T DE112004001843T DE112004001843T5 DE 112004001843 T5 DE112004001843 T5 DE 112004001843T5 DE 112004001843 T DE112004001843 T DE 112004001843T DE 112004001843 T DE112004001843 T DE 112004001843T DE 112004001843 T5 DE112004001843 T5 DE 112004001843T5
- Authority
- DE
- Germany
- Prior art keywords
- latch
- parity bit
- comparator
- block
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
- H03K3/0375—Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Semiconductor Integrated Circuits (AREA)
- Static Random-Access Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(a) einer Vielzahl von verketteten Latch-Einheiten, wobei jede Latch-Einheit ein Latch und einen Vergleicher umfasst;
(b) einem Paritätsbit-Latch, das mit dem Vergleicher der letzten der Vielzahl von verketteten Latch-Einheiten verbunden ist; und
(c) einem Paritätsbitvergleicher in Verbindung mit dem Paritätsbit-Latch und mit dem Vergleicher der letzten der Vielzahl von Latch-Einheiten.
Description
- HINTERGRUND DER ERFINDUNG
- Gebiet der Erfindung
- Die vorliegende Erfindung betrifft im Allgemeinen Latch-Schaltungen in integrierten Schaltungen. Insbesondere betrifft die vorliegende Erfindung Systeme und Verfahren zum Erkennen des Auftretens von Softfehlern, die verursachen, dass ein Latch den Zustand fälschlich ändert und dadurch einen falschen Datenwert aussendet.
- Hintergrundinformation
- Eine Technologiegeneration in VLSI-Chips ist teilweise durch die Abmessungen des mittleren Bauelementabstandes (L) zwischen benachbarten Bauelementen definiert. Mit jeder neuen Technologiegeneration nimmt L weiterhin um etwa 30 ab, was eine begleitende Schrumpfung der Größe der Bauelemente erfordert. Zusammen mit der Abnahme der Bauelementgröße ist auch eine Abnahme der Menge an Ladung, die erforderlich ist, um ein Transistorbauelement umzuschalten oder um eine Spannung in einem Speicherbauelement in einer Schaltung beizubehalten, aufgetreten. Für Schaltungen, die Informationen speichern, wie z.B. Latches, Zellen eines statischen Direktzugriffsspeichers (SRAM) oder Zellen eines dynamischen Direktzugriffsspeichers (DRAM), ist die Fähigkeit, die korrekte Information während des Chipbetriebs aufrechtzuerhalten, wesentlich. Derzeit hergestellte Halbleiterprodukte bestehen beispielsweise vorwiegend aus den aufeinander folgenden Technologiegenerationen von 0,25 μm, 0,18 μm und 0,13 μm. Erstaunlicherweise ist die Menge an Ladung, die ein einzelnes Datenbit in einem SRAM der Technologiegeneration von 0,25 μm darstellt, etwa sechzehn mal größer als diejenige, die im SRAM der Generation von 0,13 μm verwendet wird. Da sich dieser Trend fortsetzt, wird es erforderlich, die Bauelemente und Verfahren zum Abtasten ("Lesen"), Speichern ("Schreiben") und Schützen von Speicherbauelementen zu verbessern.
- Selbst für die Technologiegeneration von 0,13 μm reicht die Menge an Ladung, die verwendet wird, um Speicherbauelemente umzuschalten (Schaltladung), aus, um ein korrektes Lesen und Schreiben von Daten im normalen Chipbetrieb sicherzustellen. Die Schaltladung ist jedoch ausreichend niedrig, so dass der Schutz von Latches, SRAM, DRAM und anderen Speicherbauelementen gegen Verfälschung eine ernsthafte Besorgnis ist. Dies liegt teilweise an der Tatsache, dass verschiedene übliche Strahlungsquellen Ladungspegel oberhalb der Schaltladung erzeugen können. Es ist beispielsweise gut bekannt, dass Protonen, Neutronen, Alphateilchen (ein Kern mit zwei Protonen und zwei Neutronen) und kosmische Strahlung in der Umgebung in Bauelementen beim Auftreffen auf einen VLSI-Chip ausreichend Ladung erzeugen können. In Materialien, die für die Herstellung von Chips verwendet werden, wie z.B. Kunststoffe, Metalle und Gläser, sind häufig Spurenmengen von radioaktiven Elementen zu finden, die als eingebettete Verunreinigung natürlich vorkommen. Solche radioaktiven Elemente können folglich in die Schaltungen oder Bauelemente integriert werden, die den VLSI-Chip bilden. Beim radioaktiven Zerfall können solche Elemente Strahlung wie z.B. Alphateilchen emittieren, die nach dem Auftreffen auf Silizium im Chip eine große Spur von verlagerter elektrischer Ladung erzeugen können. Obwohl das Niveau an radioaktiven Verunreinigungen durch sorgfältige Überwachung der Herstellung von Materialien verringert werden kann, ist ein zusätzliches Niveau an Aufwand erforderlich. Außerdem sind andere Strahlungsquellen schwieriger zu vermeiden. Kosmische Strahlen sind eine Hauptquelle für die beschädigende Strahlung für VLSI-Chips und sind in der Umgebung allgegenwärtig. Aufgrund ihres Ursprungs im Kosmos und ihrer Fähigkeit, Stoff zu durchdringen, können kosmische Strahlen nicht daran gehindert werden, auf VLSI-Chips aufzutreffen, die in Maschinen arbeiten, die sich in typischen Bürogebäuden, Fabriken, Heimen, Fahrzeugen und an anderen üblichen Arbeitsplätzen befinden.
- Ein einzelnes Auftreffereignis durch kosmische Strahlung kann leicht eine Menge an Ladung erzeugen, die zu den aktuellen Schaltladungspegeln vergleichbar ist, die in Speicherbauelementen zu finden sind, was sie folglich für Fehler bei der Speicherung von Daten anfällig macht. Solche "Softfehler" verursachen keine dauerhafte Beschädigung an der Schaltungsanordnung des Chips, sondern verfälschen die in den Bauelementen gespeicherten Daten und machen es erforderlich, das Bauelement umzuprogrammieren, damit der Fehler korrigiert wird. Ein Siliziumtransistor, der durch überschüssige Ladung, die nach dem Auftreffen von Strahlung injiziert wird, versehentlich durchgesteuert wird, könnte beispielsweise einen Speicherknoten entladen, der dann wieder aufgeladen werden müsste.
- Es gibt verschiedene Gebiete, auf denen Daten in einem VLSI-Chip gespeichert werden können, die für Softfehler anfällig sind, insbesondere einschließlich Latches, die verwendet werden, um den Zustand von Sicherungen auf dem Chip zu speichern. Sicherungen auf dem Chip sind Bauelemente, die dauerhaft und irreversibel gesetzt werden können, typischerweise durch zerstörende Mittel, wobei die leitende Leitung in der Sicherung durchtrennt wird. Wenn die Sicherung durchgebrannt wird, wird sie nicht-leitend, so dass der Zustand einer logischen 1 entspricht. Wenn die Sicherung nicht durchgebrannt ist, entspricht der Logikzustand einer logischen 0. Der Zustand jeder Sicherung kann in ein Sicherungs-Latch über eine Ausgangsleitung von der Sicherung eingelesen werden.
1 zeigt ein typisches Latch zum Speichern eines Datenbits, wie z.B. den Zustand einer benachbarten Sicherung. Das Sicherungs-Latch1 besteht aus zwei gekoppelten Invertern6 und7 , die mit der Sicherung2 über die Leitung4 und die Last3 verbunden sind. Der Zustand der Sicherung2 wird am Knoten5 gespeichert, wenn der Transistor der Last3 durchgesteuert wird. Wenn das Latch1 beispielsweise so vorgegeben ist, dass der Knoten5 gleich einer logischen 1 ist, ist die Sicherung2 durchgebrannt, und wenn die Last3 durchgesteuert wird, nimmt der Knoten5 den Logikzustand1 an. Nachdem das Signal vom Knoten5 (logisch 1) in den Inverter6 eintritt, wird es als logische 0 am Knoten8 ausgegeben. Wenn der Knoten8 durch den Inverter7 ausgegeben wird, wird der Logikwert1 anschließend am Knoten5 wiederhergestellt. In dieser Weise liest der Knoten5 immer eine logische 1 und der Knoten8 eine logische 0. - Um sicherzustellen, dass der korrekte Latch-Zustand bewahrt wird, kann das Zugreifen auf und Einstellen von Sicherungsdaten in Sicherungs-Latches während des Einschaltens des VLSI-Chips durchgeführt werden. Während des Chipbetriebs, der für Intervalle äquivalent Quadrillionen von Maschinenzyklen andauern kann, würde das Latch, wenn ein Softfehler in einem gegebenen Latch auftreten würde, während des laufenden Chipbetriebs einen falschen Zustand speichern. Folglich könnten Softfehler, die in Sicherungs-Latches während des Betriebs erzeugt werden, für Quadrillionen von Zyklen unkorrigiert bleiben, was zu einer erhöhten Wahrscheinlichkeit führt, dass von Latches abhängige Bauelemente oder Schaltungen versagen.
- Eine Art und Weise zum Angehen dieses Problems besteht darin, Latches zu entwerten, die gegen das Umschalten durch Ereignisse wie z.B. Auftreffen von kosmischer Strahlung beständig oder unempfindlich sind. Beispiele des Standes der Technik umfassen gegen Softfehler tolerante Latches und Latch-Schaltungen, die im US-Patent Nr. 6 380 781 und 6 366 132 erörtert sind. In der ersteren Bezugsquelle ist die Geometrie des Transistors in der Latch-Schaltung modifiziert, einschließlich der Verringerung der relativen Größe eines dotierten Silizium-Source/Drain- (S/D) Bereichs. In dieser Weise ist vorgesehen, dass die Wahrscheinlichkeit von Softfehlern, die durch Ionisationsstrahlung induziert werden, verringert wird, da es bekannt ist, dass das Auftreffen von Strahlung im S/D-Bereich zu einer höheren Wahrscheinlichkeit für die Erzeugung von Ladung führt, die das Bauelement kippt, beispielsweise im Gegensatz zum Polysiliziumgatebereich. Wie Fachleuten gut bekannt ist, kann jedoch für eine gegebene Schaltungselementgröße der S/D-Bereich nicht drastisch verkleinert werden, ohne die Bauelement- oder Schaltungsleistung nachteilig zu beeinflussen, so dass die S/D-Bereiche in praktischen Bauelementen immer noch eine ausreichende Fläche belegen, so dass sie für Strahlung anfällig sind. In der letzteren Bezugsquelle sind Beispiele gegeben, bei denen eine ausgedehnte zusätzliche Schaltungsanordnung zu jedem Latch hinzugefügt ist, um zu verhindern, dass sich ein Softfehler zur äußeren Schaltungsanordnung des Chips ausbreitet. In vielen Chipentwürfen, in denen die Bauelementdichte hoch ist, kann es jedoch schwierig sein, eine solche ausgedehnte Schaltungsanordnung für jedes Latch hinzuzufügen. Dies gilt insbesondere im Fall von DRAM-Chips.
- Alternativ könnte die nachteilige Auswirkung von Softfehlern, die in Latches auftreten, durch häufiges Auslesen der Latch-Information verringert werden, so dass der Zeitraum, in dem die Fehler unkorrigiert bleiben, minimiert wird. Für Sicherungs-Latches, bei denen auf den Zustand von dauerhaft geschriebenen Sicherungsdaten zugegriffen werden kann, kann jedoch das häufige Auslesen von Daten verursachen, dass ein übermäßiger Strom durch Bereiche entnommen wird, die intakte oder nicht vollkommen durchgebrannte Sicherungen enthalten. Außerdem kann die während Leseoperationen angelegte Spannung die Eigenschaften von durchgebrannten Sicherungen ändern, was zu einer erhöhten Fehlerwahrscheinlichkeit führt, wenn auf Daten zugegriffen wird. Das ständige Auslesen von Sicherungsinformationen aus den Sicherungen in die Sicherungs-Latches innerhalb des Chips könnte auch die Chipleistung verlangsamen. Angesichts der vorstehend erwähnten Probleme ist zu erkennen, da ein beträchtlicher Bedarf für ein verbessertes Verfahren zum Korrigieren von Softfehlern in Latches besteht.
- KURZE ZUSAMMENFASSUNG DER ERFINDUNG
- Ausführungsbeispiele der vorliegenden Erfindung stellen eine Schaltung zur Erkennung und Korrektur von Softfehlern, insbesondere in Latches, bereit. Dies bietet die Möglichkeit der Korrektur von Softfehlern in einer rechtzeitigen Weise, ohne ein häufiges Lesen von Latches zu erfordern. Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung umfasst eine Latch-Schaltungsanordnung, die beim Auftreten eines Softfehlers ein Fehlersignal erzeugt und nur bei solchen Gelegenheiten eine Abfrage durch eine äußere Rücksetz- und Ausleseoperation unterstützt, wobei folglich die Menge an erforderlichen Ereignissen, bei denen Strom für die Sicherung und Sicherungs-Latches entnommen wird, drastisch begrenzt wird. Dies kann durch Einbetten eines Paritätsbits in eine Schaltung, die einen Block von verbundenen Sicherungs-Latches enthält, bewerkstelligt werden, welches das Verfahren zum Signalisieren des Auftretens eines Softfehlers bereitstellt.
- Ausführungsbeispiele der vorliegenden Erfindung werden außerdem offenbart, die ein Verfahren zum automatischen Rücksetzen und Auslesen des lokalen Blocks von Latches bereitstellen, in denen ein Softfehler erzeugt wird, ohne das Lesen aller Latches im ganzen Chip zu erfordern. Die Verwendung des Paritätsbits, um Softfehler innerhalb des Sicherungsblocks zu signalisieren, ermöglicht, dass lokale Korrekturoperationen durchgeführt werden, ohne auf andere Blöcke innerhalb des Chips zuzugreifen.
- Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung betrifft ein Verfahren zum Minimieren der Auswirkung von Softfehlern in Latches auf den gesamten Chipbetrieb. Die vorliegende Erfindung bewerkstelligt dies durch Bereitstellen eines Verfahrens zum automatischen Erkennen von Softfehlern, wenn sie erzeugt werden, zum Ermitteln der Sicherungsblockstelle des Fehlers und Durchführen eines lokalen Lesens, um einen fehlerhaften Block in einem geeigneten Intervall nach einem Auftreten eines Softfehlers zu korrigieren, so dass das erneute Lesen des Latch-Blocks eine minimale Auswirkung auf andere Chipoperationen hat.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein schematisches Diagramm des Standes der Technik, das eine bekannte Sicherungs-Latch-Schaltung darstellt. -
2 ist eine schematische Zeichnung, die ein Sicherungs-Latch und einen Vergleicher gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt. -
3 ist eine schematische Zeichnung, die ein zweites Sicherungs-Latch und einen Vergleicher gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt. -
4 ist ein schematisches Diagramm, das das Sicherungsblock-Paritätsbit, das zur Fehlererkennung verwendet wird, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt. -
5 stellt einen Vergleicher, der zum Bestimmen eines Paritätsbitkippens verwendet wird, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung dar. -
6 ist ein schematisches Diagramm der Latch-Block-Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. -
7 ist ein Diagramm, das die Folge von Ereignissen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung, einschließlich Fehlererkennung, Latchblockrücksetzen und erneutes Lesen, darstellt. -
8 stellt ein Verfahren zum Korrigieren von Softfehlern gemäß einem Ausführungsbeispiel der vorliegenden Erfindung dar. -
9 stellt ein Verfahren zum Korrigieren von Softfehlern gemäß einem alternativen Ausführungsbeispiel der vorliegenden Erfindung dar. -
10 stellt ein Verfahren zum Korrigieren von Softfehlern gemäß noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung dar. -
11a und11b zeigen Diagramme von alternativen Ausführungsbeispielen von Latch-Schaltungen gemäß der vorliegenden Erfindung. - AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
- Bevor ein oder mehrere Ausführungsbeispiele der Erfindung im Einzelnen beschrieben werden, wird ein Fachmann erkennen, dass die Erfindung in ihrer Anwendung nicht auf die Details der Konstruktion, der Anordnungen von Komponenten und der Anordnung von Schritten, die in der folgenden ausführlichen Beschreibung dargelegt werden oder in den Zeichnungen dargestellt sind, begrenzt ist. Die Erfindung ist in anderen Ausführungsbeispielen einsetzbar und kann in verschiedenen Weisen praktiziert oder ausgeführt werden. Es soll auch selbstverständlich sein, dass die hierin verwendete Ausdrucksweise und Terminologie für den Zweck der Beschreibung dient und nicht als Begrenzung betrachtet werden sollte.
- Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung umfasst eine Schaltung zum Erkennen von Softfehlern in Sicherungs-Latches. Die Schaltung besteht aus einem Block von aufeinander folgenden Sicherungs-Latch-Einheiten. Jede Sicherungs-Latch-Einheit besteht wiederum aus einem Latch, das mit einer Sicherung auf einer Seite und einer Vergleichseinheit (Vergleicher) auf der anderen Seite verbunden ist. Jedes Latch speichert den Zustand der Sicherung, mit der es verbunden ist, welcher angibt, ob die Sicherung durchgebrannt ist (logische 1) oder nicht durchgebrannt ist (logische 0). Das Sicherungszustandssignal und sein invertiertes Signal werden an einen Vergleicher für das Latch ausgegeben. Der Vergleicher gibt wiederum ein Signal an den Vergleicher der nachfolgenden Latch-Einheit aus. Das Ausgangssignal des Vergleichers innerhalb einer gegebenen Sicherungs-Latch-Einheit wird als Eingangssignal zum Vergleicher der nachfolgenden Latch-Einheit geliefert. Das Ausgangssignal des Vergleichers der letzten Sicherungs-Latch-Einheit stellt ein Paritätsbit für den Block von Latches dar. Das Paritätsbit signalisiert wiederum, ob die Gesamtzahl von durchgebrannten Sicherungen im Block von Latches ungerade oder gerade ist. Wenn eine Latch-Störung durch einen Softfehler auftritt, wird der gespeicherte Zustand des Latchs umgekehrt, z.B. von 1 auf 0. Dieses Datum wird an die Vergleichereinheit ausgegeben, die an das gestörte Latch angehängt ist. Wenn das Signal aus der letzten Vergleichereinheit im Latch-Block ausgegeben wird, kippt das Paritätsbit, um zu signalisieren, dass die Anzahl von durchgebrannten Sicherungen sich von einer ungeraden Anzahl auf eine gerade Anzahl geändert hat (oder umgekehrt). Dieses Signal kann von Detektoren gelesen werden, die außerhalb des Latch-Blocks liegen, und verwendet werden, um eine Operation zum Korrigieren des Latch-Fehlers zu erzeugen.
- Die
2 bis6 stellen ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung dar. In einer Vielzahl von Bereichen im Chip befinden sich Sicherungs-Latch-Blöcke, die die hierin beschriebenen Merkmale enthalten.2 zeigt eine Sicherungs-Latch-Einheit10 , eine von einer Vielzahl von aufeinander folgenden Latch-Einheiten, die sich im Sicherungsblock befinden. Das Sicherungs-Latch11 besteht aus gekoppelten Invertern, wie vorstehend mit Bezug auf1 beschrieben. Die Sicherung12 ist über eine Last13 , die ein Transistor ist, mit einem Latch-Knoten15 verbunden. Der Zustand des Latch-Knotens15 wird am Knoten18 invertiert, wie vorstehend für das Latch1 beschrieben. In der vorliegenden Erfindung werden sowohl der Knoten15 als auch der Knoten18 an separate Leitungen mit Eingangsknoten15 und18 im Vergleicher21 ausgegeben. Der Vergleicher21 , der aus Transistoren22 -29 besteht, gibt ein Signal aus dem Knoten30 und sein komplementäres Signal am Knoten32 aus, welches nach Leiten vom Knoten30 durch den Inverter31 erhalten wird. Die Knoten30 und32 bilden Eingänge in einen nachfolgenden Vergleicher52 in der benachbarten Latch-Einheit, die in3 gezeigt ist. - In der in
3 dargestellten Weise empfängt abgesehen vom ersten Vergleicher jeder Vergleicher im Sicherungsblock ein Eingangssignal vom vorangehenden Vergleicher und vom Sicherungs-Latch, der sich in derselben Latch-Einheit befindet. Wie in3 gezeigt, ist eine zweite Sicherungs-Latch-Einheit54 mit der Sicherungs-Latch-Einheit10 über Signalleitungen30 und32 des Vergleichers21 verbunden. In dem Fall, in dem die Sicherung33 durchgebrannt ist, stellt dann der Knoten36 im Sicherungs-Latch40 eine logische 1 dar und der Knoten39 liegt auf einer logischen 0. Der Vergleicher52 , der aus Transistoren41 -48 besteht, sendet wiederum ein Ausgangssignal zu einem nachfolgenden Vergleicher vom Knoten50 sowie sein Komplementsignal am Knoten51 , das durch Leiten durch den Inverter53 abgeleitet wird. -
4 zeigt einen letzten Sicherungs-Latch-Vergleicher60 , der aus Transistoren61 -68 besteht. Die Ausgangssignale aus dem Vergleicher60 sind das Latch-Block-Paritätsbit69 und das inverse Paritätsbit71 , das durch Leiten durch den Inverter70 gebildet wird. Wie ferner in4 dargestellt, kann der Wert des Paritätsbits69 durch Leiten des inversen Paritätsbits71 durch den gategesteuerten Inverter72 , der aus Transistoren81 -84 besteht, gespeichert werden. Der resultierende Knoten73 ist das Inverse des Inversen des Paritätsbits und stellt folglich den Paritätsbitwert dar. Der Paritätsbitwert wird im Knoten73 unter Verwendung des Paritätsbit-Latchs77 gespeichert, der aus gekoppelten Invertern74 und75 besteht. Das Inverse des gespeicherten Paritätsbits wird am Knoten76 gespeichert. Mit Bezug nun auf5 werden der Paritätsbitknoten69 , der inverse Paritätsbitknoten71 , der gespeicherte Paritätsbitknoten73 und der inverse gespeicherte Paritätsbitknoten76 an einen letzten Vergleicher, den "Paritätsbit-Vergleicher",90 ausgegeben. Der Vergleicher90 besteht aus Transistoren91 -98 und wird verwendet, um das Paritätsbit und das gespeicherte Paritätsbit zu vergleichen. Das Ausgangssignal99 des Vergleichers90 wird verwendet, um das Auftreten eines Softfehlers zu signalisieren. -
6 stellt eine globale Ansicht der gesamten Gruppe von bisher beschriebenen Schaltungen und Bauelementen dar, die den Sicherungs-Latch-Block100 mit einer eingebauten Softfehlererkennung bilden. Das Sicherungs-Latch "1 " und der Vergleicher "1 " stellen Komponenten der ersten Sicherungs-Latch-Einheit dar, während das Sicherungs-Latch "N" und der Vergleicher "N" Komponenten der letzten Sicherungs-Latch-Einheit darstellen. Der Vergleicher "N" ist äquivalent zum Vergleicher60 in4 . - Nachdem die Schaltungsanordnung für die Softfehlererkennung beschrieben wurde, wird der elektrische Weg des Softfehlers von seinem Erzeugungspunkt zum Ausgang am Knoten
99 beschrieben. Unter erneutem Bezug auf3 können, wenn ein Auftreffen von Strahlung beispielsweise im Bereich der Schaltung nahe dem Knoten36 stattfindet, die Transistoren derart entladen werden, dass der Zustand des Knotens39 und36 gekippt wird. Wenn der Knoten36 beispielsweise ursprünglich auf eine logische 0 gesetzt war, wird er auf eine logische 1 gekippt und der Knoten39 wird auf eine logische 0 gekippt. Anschließend wird der fehlerhafte Zustand des Knotens36 an den Vergleicher52 am Feldeffekttransistor vom n-Typ (nFET)48 und Feldeffekttransistor vom p-Typ (pFET)45 ausgegeben. Ebenso wird der fehlerhafte Zustand des Knotens39 an den Vergleicher52 am nFET43 und pFET41 ausgegeben. Der Knoten30 , der aus dem vorherigen Vergleicher21 , der in2 gezeigt ist, ausgegeben wird, sendet vermutlich das korrekte Signal zum nFET47 und pFET42 . Ebenso gibt der Knoten32 aus dem Vergleicher21 vermutlich das korrekte Signal an den nFET44 und pFET46 aus. In Verbindung mit den in die Transistoren41 ,43 ,45 und48 eingegebenen fehlerhaften Signalen werden jedoch das Ausgangssignal des Vergleichers52 am Knoten50 sowie sein Komplement51 gekippt, wie nachstehend genauer beschrieben. - Wenn im normalen Betrieb der Knoten
30 vom Vergleicher21 auf einer logischen 1 liegt, dann liegt der Knoten32 auf einer logischen 0. Der Knoten30 wird am nFET47 und pFET42 empfangen, wobei der erstere durchgesteuert und der letztere gesperrt wird. Ebenso sperrt der Knoten32 auf logischer Null den pFET44 und steuert den pFET46 durch. Unter Verwendung des obigen Beispiels, bei dem der Knoten36 ursprünglich auf eine logische 0 gesetzt ist, wird der pFET45 durchgesteuert, während der nFET48 gesperrt wird. Der Knoten39 wird auf logische 1 gesetzt, was verursacht, dass der pFET41 gesperrt wird und der nFET43 durchgesteuert wird. Wenn der Sourceanschluss des pFET45 auf der Versorgungsspannung Vdd liegt und beide pFETs45 und46 durchgesteuert werden, wird der Knoten50 auf den Logikzustand 1 (Vdd) gebracht. Wenn ein Softfehler am Knoten36 registriert wird, was verursacht, dass er auf eine logische 1 wechselt, dann wird der pFET45 gesperrt und der pFET48 wird durchgesteuert. Ebenso wird der Knoten39 auf eine logische 0 geschaltet, was verursacht, dass der pFET41 durchsteuert und der nFET43 sperrt. Wenn beide nFETs47 und48 nun durchgesteuert sind und der Sourceanschluss des nFET48 auf Masse gesetzt wird, wird der Knoten50 auf eine logische 0 gebracht. Vorausgesetzt, dass die Eingangssignale vom Vergleicher21 sich nicht ändern, verursacht ein Umschalten des Zustands am Knoten36 und39 (36 /39 ) folglich ein Umschalten am Knoten50 . - Mit Bezug auf den Vergleicher
52 in3 ist für Fachleute ersichtlich, dass ungeachtet des Zustands von Eingangssignalen vom Knoten30 und32 (30 /32 ) ein Umschalten von36 /39 den Knoten50 umschaltet. Ebenso tritt in dem Fall, in dem das Sicherungs-Latch40 keinen Fehler erleidet, sondern ein Fehler im Vergleicher21 (2 ) erzeugt wird, der sich im vorangehenden Latch befindet, ein Umschalten am Knoten50 auf. Im letzteren Fall sind die Knoten36 und39 stabil, aber ein Umschalten geschieht bei30 /32 , das ein Umschalten am Knoten50 induziert. - Ein Fachmann wird bemerken, dass jeder Sicherungs-Latch-Vergleicher die EXKLUSIV-ODER-Schaltungsfunktion (XOR) durchführt, wie durch das Folgende gezeigt: Wenn das Eingangssignal
30 =39 (und daher32 =36 und30 ≠36 und32 ≠39 ), liegt50 auf logisch 1, da entweder30 =39 = logisch 0 oder32 =36 = logisch 0. Das heißt, wenn die Gateeingangssignale der pFETs des Paars41 /42 (entsprechend den Eingangssignalen30 /39 ) gleich sind, dann müssen die Eingangssignale der pFETs im Paar45 /46 (entsprechend den Eingangssignalen32 /36 ) auch gleich sein und die Eingangssignale in die pFETs im Paar47 /48 (entsprechend den Eingangssignalen30 /36 ) sowie jene im Paar43 /44 (entsprechend den Eingangssignalen30 /32 ) müssen sich unterscheiden. Da entweder das pFET-Paar30 /39 oder32 /36 durchgesteuert wird, wird der Knoten50 mit Vdd (logisch 1) über das durchgesteuerte Paar verbunden. - Wenn
30 ≠39 (und daher32 ≠36 und30 =36 und32 =39 ), liegt50 auf logischer 0, da entweder30 =36 = logische 1 oder32 =39 = logische 1. Mit anderen Worten, wenn die Gateeingangssignale in die pFETs des Paars41 /42 (entsprechend den Eingangssignalen30 /39 ) unterschiedlich sind, dann müssen die Gateeingangssignale in die pFETs im Paar45 /46 (entsprechend den Eingangssignalen32 /36 ) auch unterschiedlich sein und die Eingangssignale in die pFETs im Paar47 /48 (entsprechend den Eingangssignalen30 /36 ) sowie jene im Paar43 /44 (entsprechend den Eingangssignalen30 /32 ) müssen gleich sein. Ob das Paar43 /44 durchgesteuert wird oder47 /48 durchgesteuert wird, der Knoten50 wird über das durchgesteuerte Paar mit Masse (logische 0) verbunden. - Wie vorstehend erörtert, induziert eine Änderung in einem Eingangspaar vom Latch
40 oder vom Vergleicher21 ein Umschalten im Knoten50 . Dieses Verhalten gilt für jede Latch-Einheit innerhalb des Latch-Blocks der vorliegenden Erfindung. Sobald der Knoten50 /51 in der Latch-Einheit54 umschaltet, registriert folglich das nachfolgende Latch ein umgeschaltetes Eingangspaar, das ein Umschalten in seinem Vergleicherausgangssignal verursacht. Ebenso empfängt jeder nachfolgende Vergleicher nach der Latch-Einheit54 ein umgeschaltetes Eingangssignal vom Vergleicher des vorherigen Latchs, was schließlich zu einem Kippen des Paritätsbits69 im Vergleicher60 führt. -
7 stellt ein beispielhaftes Ausführungsbeispiel der vorliegenden Erfindung, insbesondere ein Verfahren zum Erkennen und Korrigieren von Latch-Fehlern, dar. Nachdem ein Auftreffen von Strahlung einen Latch-Softfehler verursacht, erfasst ein neben dem Vergleicher90 angeordneter Detektor in Schritt702 , dass das Latch-Block-Paritätsbit69 gekippt ist, was auf einen Softfehler im Latch-Block hinweist. Als Reaktion wird eine gewisse Art von Signalprozessor ausgelöst. In einem Ausführungsbeispiel wird ein Signal zum Auslesen des fehlerhaften Sicherungsblocks lokal im Chip erzeugt. Nach dem Erfassen des Signals, das den Paritätsbitfehler angibt, wird in Schritt704 eine lokale Meldung zu einem Signalgenerator mit Befehlen zum Rücksetzen des Latch-Blocks gesandt, sobald ein Auslöser empfangen wird. In Schritt706 empfängt der Signalprozessor einen Auslöser, um ein Rücksetzsignal zu erzeugen. In Schritt708 setzt der Signalgenerator den Latch-Block unter Verwendung des Rücksetzknotens14 im Latch11 , der in2 gezeigt ist, zurück. An diesem Punkt kann das Latch auf einen Vorgabewert, z.B. logische 1, zurückgesetzt werden, indem die Last14 durchgesteuert wird. In Schritt710 wird die Sicherung12 als nächstes mit dem Latch-Knoten15 verbunden, indem eine geeignete Spannung an den Transistor am Knoten13 angelegt wird, die den korrekten Zustand wiederherstellt. Wenn die fragliche Sicherung nicht durchgebrannt ist, wird das Latch beim erneuten Lesen gekippt. Dieser Prozess geschieht für jede Latch-Einheit im Block und führt dazu, dass alle fehlerhaften Latches auf ihre jeweiligen korrekten Sicherungswerte zurückgesetzt werden. Gleichzeitig wird in Schritt712 ein Signal durch den nFET81 gesandt, um das Paritätsbit-Latch77 wiederherzustellen. Wahlweise kann das gespeicherte Paritätsbit73 dann in Schritt714 erneut gelesen werden, um festzustellen, dass das Paritätsbit und das Paritätsbit-Latch auf ihre korrekten Einstellungen wiederhergestellt sind, was angibt, dass alle Latches innerhalb des Blocks korrekt eingestellt sind. Wenn die Anzahl von durchgebrannten Sicherungen im Block beispielsweise ungerade ist, und nach einem Softfehler die Anzahl als gerade erscheint, zeigen nach dem erneuten Lesen das Paritätsbit und das gespeicherte Paritätsbit wieder eine ungerade Anzahl von durchgebrannten Sicherungen. - Ein Vorteil der Erfindung besteht darin, dass sie funktioniert, ohne dass eine Kenntnis der exakten Stelle des Softfehlers innerhalb der Vielzahl von Latches, die durch den Block festgelegt sind, erforderlich ist. Das heißt, derselbe Latch-Block-Paritätsbitfehler wird ungeachtet der Stelle des fehlerhaften Latchs innerhalb des Blocks am Vergleicher
90 signalisiert. Während Korrekturoperationen des Sicherungs-Latch-Blocks wird überdies ein Rücksetzsignal zu einer Leitung gesandt, die allen Latches im Block gemeinsam ist, was sicherstellt, dass das fehlerhafte Latch zurückgesetzt wird, ohne seine exakte Stelle zu kennen. Schließlich ermöglicht einem das erneute Lesen des Latch-Block-Paritätsbits vom Vergleicher90 , ohne Kenntnis der Position des vorher fehlerhaften Latchs sicherzustellen, dass alle Sicherungs-Latches korrekt gesetzt sind. - Ein zusätzlicher Vorteil der vorliegenden Erfindung besteht darin, dass Fehler beim Auftreten automatisch erkannt werden, wobei folglich ein Bedarf beseitigt wird, die Sicherungsblöcke häufig zu lesen. Da sichergestellt ist, dass ein Fehlersignal im entsprechenden Latch-Block erzeugt wird, ist es nicht erforderlich, jeden Latch-Block häufig abzufragen, um die Erkennung eines möglichen Latch-Softfehlers sicherzustellen. Ein weiterer Vorteil besteht darin, dass sie Flexibilität in der Leistung der Fehlerkorrektur bereitstellt. Da die Zeit des Auftretens des Softfehlers infolge der Paritätsbitkippens bekannt ist, kann die Fehlerkorrektur in einem geeignet gewählten Intervall nach der Erzeugung des Softfehlers auf der Basis von Erwägungen durchgeführt werden, die den Gesamtbetrieb des Chips oder der Maschine, in dem/der sich der Sicherungsblock befindet, betreffen.
-
8 stellt ein weiteres Ausführungsbeispiel der vorliegenden Erfindung dar, in dem das Auslesen zum Korrigieren eines erkannten Softfehlers durchgeführt werden kann, sobald der Latch-Fehler erzeugt ist. Der Vergleicher90 empfängt in Schritt800 ein Signal eines Paritätsbitkippens, das durch einen Softfehler verursacht wird, und leitet anschließend ein Fehlersignal zu einem nahe liegenden Detektor weiter. Der Detektor sendet dann einen Befehl zu einem Signalgenerator in Schritt802 , um den Latch-Block zurückzusetzen. In diesem Fall wartet der Signalgenerator nicht auf einen zusätzlichen Auslöser, sondern sendet sofort in Schritt804 ein Signal, das alle Latches im Block zurücksetzt. In Schritt806 sendet er ein weiteres Signal, um alle zugehörigen Sicherungen erneut zu lesen, und in Schritt808 setzt er das gespeicherte Paritätsbit zurück, wie vorstehend in7 beschrieben. - Weitere Ausführungsbeispiele der vorliegenden Erfindung umfassen das Durchführen einer Korrekturauslesung im ersten Moment nach der Fehlererzeugung, wenn die Gruppe von Bauelementen, die das fehlerhafte Latch enthalten, in Ruhe ist. Dies ist in
9 dargestellt, deren erster Schritt derselbe wie in den7 und8 ist. Nachdem ein Detektor ein Fehlersignal vom Vergleicher90 in Schritt900 empfängt, wird ein Signal in Schritt902 zu einem Signalgenerator übertragen, wobei eine Latch-Rücksetzbedingung im fehlerhaften Sicherungsblock existiert. In Schritt904 fragt der Signalgenerator die Schaltungsaktivität im Bereich des den fehlerhaften Sicherungsblock enthaltenden Chips ab. Wenn die Sicherungsblockschaltung in Ruhe gelangt, wird der Ruhezustand in Schritt906 zum Signalgenerator weitergeleitet, was ihn auslöst, um ein Signal zum Zurücksetzen des Latch-Blocks in Schritt908 zu liefern. In Schritt910 sendet er ein Signal zum erneuten Lesen der zugehörigen Sicherungen. Schließlich wird das gespeicherte Paritätsbit in Schritt912 zurückgesetzt. Die obige Prozedur wäre beispielsweise im Fall von Chips, die in Servern verwendet werden, nützlich, bei denen es erforderlich sein kann, einen kontinuierlichen Betrieb der Computerhardware für Monate oder Jahre sicherzustellen. Jegliche Datenfehler, die sich potentiell auf den Betrieb auswirken könnten, müssen folglich zweckmäßig korrigiert werden, um eine potentiell katastrophale Folge wie z.B. einen Systemzusammenbruch zu vermeiden. Die zweckmäßige Korrektur von Daten-Latches ist wiederum sicherer, wenn das Zurücksetzen durchgeführt wird, während die Schaltung ansonsten nicht beschäftigt ist. - In einem alternativen Ausführungsbeispiel könnte der Sicherungsblock gemäß einem periodischen Auffrischungszyklus, der in
10 gezeigt ist, erneut gelesen werden. Nachdem ein Detektor ein Fehlersignal vom Vergleicher90 in Schritt1010 empfängt, wird in Schritt1012 eine Meldung zu einem Signalgenerator gesandt, um den fehlerhaften Latch-Block während einer anschließenden programmierten automatischen Auffrischungsoperation zurückzusetzen. In Schritt1014 setzt der Signalgenerator während der Auffrischungsoperation alle Latches im fehlerhaften Block zurück. In Schritt1016 folgt diesem, dass der Signalgenerator ein Signal zum erneuten Lesen zu allen zugehörigen Sicherungen des Latch-Blocks sendet, und ein Rücksetzen des gespeicherten Paritätsbits in Schritt1018 . Dies führt zu einem Latch-Rücksetzen, dessen Verzögerung vom Zeitpunkt der Fehlererzeugung durch die zeitliche Nähe des Softfehlerereignisses und der nächsten programmierten Auffrischung bestimmt ist. - Für Fachleute ist zu erkennen, dass es möglich, aber weniger wahrscheinlich ist, dass mehr als ein Latch während eines Softfehlerereignisses simultan gekippt werden kann. Dies könnte beispielsweise während des Auftreffens eines Alphateilchens auftreten, bei dem die erzeugte Ladung groß genug sein könnte, um mehr als ein Latch zu beeinflussen. Wenn eine ungerade Anzahl von Latches gekippt werden würde, wäre der Effekt derselbe, als ob nur ein Latch gekippt werden würde, und ein Paritätsbitfehler würde registriert werden. Wenn jedoch exakt zwei (oder irgendeine gerade Anzahl von) Latches gekippt werden würden, dann würde sich das Ausgangssignal aus dem letzten Vergleicher im Sicherungsblock aus zwei (oder irgendeiner geraden Anzahl von) Latch-Störungen innerhalb des Blocks ergeben, deren Effekte einander aufheben würden, was zu keiner Änderung des Paritätsbits des Latch-Blocks und folglich keinem erkannten Fehler führen würde.
- Weitere Ausführungsbeispiele der vorliegenden Erfindung, die dieses potentielle Ereignis angehen können, umfassen eine Vielzahl von Latch-Ketten, die wie in den
11a und11b gezeigt verschachtelt sind. Jede Kette umfasst eine Gruppe von Latches mit jeweiligen Vergleichern ähnlich der in6 dargestellten. In einem bevorzugten Ausführungsbeispiel enthält jede Kette ihr eigenes Paritätsbit, das kippt, wenn ein einzelnes Latch innerhalb des Blocks einen Softfehler erleidet. Mit Bezug nun auf11a ist eine Sicherungs-Latch-Schaltung1100 gezeigt, die aus verschachtelten Latch-Blöcken1110 und1210 besteht. Der Verschachtelungsprozess ordnet das Latch1112 des Latch-Blocks1110 benachbart zum Latch1212 des Blocks1210 an. Außerdem sind die Latches1112 und1212 benachbart zu ihren jeweiligen Vergleichern1114 und1214 angeordnet. Es ist zu beachten, dass die physikalische Verschachtelung der Latch-Blöcke1110 und1210 nicht dazu dient, die zwei Blöcke elektrisch miteinander zu verbinden. Wie in11a gezeigt, wird jedoch der Verschachtelungsprozess so durchgeführt, dass jedes Latch durch zwei benachbarte Latches physikalisch begrenzt ist, die beide zum entgegengesetzten Latch-Block gehören. Das Latch1212 des Blocks1210 ist somit beispielsweise durch die Latches1112 und1122 , beide vom Block1110 , begrenzt. Wenn in einem Latch-Block ein einzelner Fehler erzeugt wird, wird das Blockparitätsbit (1180 oder1280 ), wenn der Fehler auftritt, gekippt und zum Paritätsbitvergleicher (1190 bzw.1290 ) herausgeführt. Eine zusätzliche Schaltung1300 , die mit dem Ausgang aus den zwei Latch-Blöcken verbunden ist, gibt einen Fehler an einen Detektor aus, wenn ein Paritätsbitkippen in einem Block erfasst wird. Mit erneutem Bezug auf6 für den Fall eines Latch-Blocks mit einer einzelnen Kette, registriert das Paritätsbit keine Änderung, wenn ein großes Störungsereignis auftritt, das verursacht, dass zwei benachbarte Latches gleichzeitig kippen, und die zwei Softfehler bleiben unerkannt. Für den Fall von zwei verschachtelten Ketten, die in11a gezeigt sind, werden jedoch, wenn ein Störungsereignis verursacht, dass irgendwelche zwei benachbarten Latches kippen, da die zwei benachbarten Latches nicht elektrisch verbunden sind, sondern sich vielmehr in separaten Latch-Blöcken befinden, die Fehler in separaten Latch-Ketten aufgezeichnet. Wenn ein Auftreffen von Strahlung Softfehler in benachbarten Blöcken1112 und1212 verursacht, erleiden folglich die Blöcke1110 und1210 ein einzelnes Latch-Kippen, das dann ein Paritätsbitkippen in jeder der jeweiligen Ketten verursachen würde. Wenn Fehler in drei benachbarten Latches erzeugt werden, erleidet ein Block eine einzelne Störung und der andere eine doppelte Störung. Die Kette, die die einzelne Störung registriert, erfährt ein Paritätsbitkippen, das in der Schaltung1300 registriert wird, und kann verwendet werden, um ein Rücksetzen der Latch-Schaltung, einschließlich beider Ketten, zu erzeugen. Gemäß der obigen Anordnung würde ein Misslingen, einen Softfehler zu erkennen, eine Softfehlererzeugung in mindestens vier benachbarten (aufeinander folgenden) Latches erfordern. Im Fall der Fehlererzeugung in vier aufeinander folgenden Latches erfahren beide Ketten eine Störung von zwei Latches, denen es aus den vorher erörterten Gründen misslingt, ein Paritätsbitkippen zu erzeugen. -
11b stellt ein Ausführungsbeispiel dar, in dem die Schaltung1350N verschachtelte Ketten umfasst. Die Ketten sind in einer regelmäßigen Weise verschachtelt, wobei sie eine Folge von physikalisch benachbarten Latches wie folgt vorsehen: Latch1412 (und Vergleicher1414 ) als erste in einer Reihe vom Latch-Block1410 ; Latch1512 (und Vergleicher1514 ) als erste in einer Reihe vom Block1510 ; Latch N12 (und Vergleicher N14) als erste in einer Reihe vom Block N10; Latch1422 als zweites in einer Reihe vom Block1410 , Latch1522 als zweites in einer Reihe vom Block1510 ; und so weiter. Der Latch-Block1410 endet mit einem Paritätsbit-Latch1480 und einem Paritätsbitvergleicher1490 . Ebenso endet jeder Latch-Block mit seinem eigenen Paritätsbit-Latch (siehe1580 und N80 in den Latch-Blöcken1510 bzw. N10) und Paritätsbitvergleicher (1590 und N90 in den Latch-Blöcken1510 bzw. N10). Irgendein Paritätsbitfehler wird in der Schaltung1600 registriert. In der obigen Weise enthält eine beliebige gegebene Folge von N Latches in einer Linie Latches von allen N Ketten. Damit zwei Latches von derselben Kette gestört werden, müsste folglich ein Softfehlerereignis mindestens N+1 aufeinander folgende Latches umfassen. Im Fall einer großen Latch-Störung müssten ferner, damit die Schaltung1600 der Sicherungs-Latch-Schaltung1350 keine Paritätsbitfehler empfängt, alle Ketten eine Störung innerhalb zwei oder einer geraden Anzahl von Latches erleiden. Eine solche Bedingung wäre nur erfüllt, wenn 2N (oder ein ganzzahliges Vielfaches von 2N) aufeinander folgenden Latches einen Fehler erleiden würde. Im Fall von drei verschachtelten Ketten erfordert dies beispielsweise, dass exakt6 ,12 ,18 usw. aufeinander folgende Latches gleichzeitig kippen, eine viel abwegigere Möglichkeit als die Störung von einem oder zwei aufeinander folgenden Latches. - Die Ausführungsbeispiele von Bauelementen und Verfahren zur automatischen Erkennung und Korrektur von Softfehlern in Latches wurden beschrieben. In der vorangehenden Beschreibung sind für Erläuterungszwecke zahlreiche spezielle Details dargelegt, um für ein gründliches Verständnis der vorliegenden Erfindung zu sorgen. Es ist jedoch für einen Fachmann zu erkennen, dass die vorliegende Erfindung ohne diese speziellen Details ausgeführt werden kann. Ferner kann ein Fachmann leicht erkennen, dass die speziellen Folgen, in denen die Verfahren dargestellt sind und durchgeführt werden, erläuternd sind und in Erwägung gezogen wird, dass die Folgen verändert werden können und dennoch innerhalb des Gedankens und Schutzbereichs der vorliegenden Erfindung bleiben.
- In der vorangehenden ausführlichen Beschreibung wurden Bauelemente und Verfahren gemäß Ausführungsbeispielen der vorliegenden Erfindung mit Bezug auf spezielle beispielhafte Ausführungsbeispiele beschrieben. Folglich sollen die vorliegende Beschreibung und die Figuren vielmehr als erläuternd als einschränkend betrachtet werden. Der Schutzbereich der Erfindung soll durch die hier beigefügten Ansprüche und durch ihre Äquivalente definiert sein.
- Zusammenfassung
- Eine Schaltung und ein Verfahren zum Erkennen von Softfehlern, die in Latches erzeugt werden. Ein beispielhaftes Ausführungsbeispiel einer Schaltung umfasst einen Block von verketteten Latches, wobei jedes Latch einen Vergleicher aufweist, wobei ein Ausgangssignal aus dem letzten Latch-Vergleicher ein Paritätsbit für den Latch-Block darstellt. Die Schaltung umfasst ferner ein Latch-Element zum Speichern des Blockparitätsbits und einen Vergleicher für das Blockparitätsbit und das gespeicherte Paritätsbit. Ein Latch-Softfehler wird durch Überwachen eines Ausgangssignals aus dem Paritätsbitvergleicher erkannt, welches einen Fehler signalisiert, wenn das Latch-Block-Paritätsbit den Zustand ändert.
Claims (17)
- Latch-Block mit: (a) einer Vielzahl von verketteten Latch-Einheiten, wobei jede Latch-Einheit ein Latch und einen Vergleicher umfasst; (b) einem Paritätsbit-Latch, das mit dem Vergleicher der letzten der Vielzahl von verketteten Latch-Einheiten verbunden ist; und (c) einem Paritätsbitvergleicher in Verbindung mit dem Paritätsbit-Latch und mit dem Vergleicher der letzten der Vielzahl von Latch-Einheiten.
- Schaltung nach Anspruch 1, wobei jede Latch-Einheit ferner eine Sicherung umfasst, die mit dem Latch innerhalb der Latch-Einheit verbunden ist.
- Schaltung nach Anspruch 2, wobei der Vergleicher dazu ausgelegt ist, gemäß einer EXKLUSIV-ODER-Logikfunktionalität zu arbeiten.
- Schaltung nach Anspruch 2, wobei jedes Latch einen Rücksetzknoten umfasst, der mit einem Transistor verbunden ist, der mit einer Sicherung des Latchs in Reihe liegt.
- Schaltung nach Anspruch 2, wobei das Paritätsbit-Latch ein Paritätsbit speichert, das angibt, ob eine ungerade oder gerade Anzahl von Sicherungen innerhalb des Latchs durchgebrannt ist.
- Schaltung nach Anspruch 1, wobei der Paritätsbitvergleicher im Fall einer Änderung des Paritätsbits oder des Paritätsbit-Latchs kippt.
- Schaltung nach Anspruch 2, wobei der Paritätsbitvergleicher im Fall einer Änderung des Paritätsbits oder des Paritätsbit-Latchs kippt.
- Schaltung nach Anspruch 6, wobei die Vielzahl von Latch-Einheiten eine Vielzahl von N verschachtelten Ketten von Latch-Einheiten umfassen, so dass nach einem einzelnen Auftreffereignis ein Paritätsbitkippen nach einer beliebigen Anzahl außer einem Vielfachen von 2N von gleichzeitigen Latch-Fehlern innerhalb des Latch-Blocks auftritt, wobei die gleichzeitigen Latch-Fehler als Vielfaches von zwei Latch-Fehlern in jedem von N Blöcken verteilt sind.
- Schaltung nach Anspruch 7, wobei die Vielzahl von aufeinander folgenden Latch-Einheiten eine Vielzahl von N verschachtelten Ketten von Latch-Einheiten umfassen, so dass nach einem einzelnen Auftreffereignis ein Paritätsbitkippen nach einer beliebigen Anzahl außer einem Vielfachen von 2N von gleichzeitigen Latch-Fehlern innerhalb des Latch-Blocks auftritt, wobei die gleichzeitigen Latch-Fehler als Vielfache von zwei Latch-Fehlern in jedem von N Blöcken verteilt sind.
- Schaltung mit: (a) einem Latch-Block mit einer Vielzahl von aufeinander folgenden Latch-Einheiten, wobei jede Latch-Einheit ein Latch und einen Vergleicher umfasst; (b) einem Paritätsbit-Latch, das mit dem Vergleicher einer letzten der Vielzahl von verketteten Latch-Einheiten verbunden ist; (c) einem Paritätsbitvergleicher in Verbindung mit dem Paritätsbit-Latch und mit dem Vergleicher der letzten der Vielzahl von Latch-Einheiten; (d) einem Detektor, der mit dem Ausgang des Paritätsbitvergleichers verbunden ist; und (e) einer Signalerzeugungsvorrichtung, die mit dem Detektor verbunden ist, wobei Signale zum Zurücksetzen des Latch-Blocks bei der Erfassung des Paritätsbitkippens erzeugt werden.
- Schaltung nach Anspruch 9, wobei jede Latch-Einheit ferner ein Sicherungselement umfasst, das mit dem Latch innerhalb der Latch-Einheit verbunden ist.
- Schaltung nach Anspruch 9, wobei die Vielzahl von aufeinander folgenden Latch-Einheiten eine Vielzahl von N verschachtelten Ketten von Latch-Einheiten umfassen, so dass nach einem einzelnen Auftreffereignis ein Paritätsbitkippen nach einer beliebigen Anzahl außer einem Vielfachen von 2N von gleichzeitigen Latch-Fehlern innerhalb des Latch-Blocks auftritt, wobei das Vielfache von 2N gleichzeitigen Latch-Fehlern als Vielfaches von zwei Latch-Fehlern in jedem von N Blöcken verteilt ist.
- Schaltung nach Anspruch 10, wobei die Vielzahl von aufeinander folgenden Latch-Einheiten eine Vielzahl von N verschachtelten Ketten von Latch-Einheiten umfassen, so dass ein Paritätsbitkippen nach einer beliebigen Anzahl außer einem Vielfachen von 2N von gleichzeitigen Latch-Fehlern innerhalb des Latch-Blocks auftritt, wobei das Vielfache von 2N von gleichzeitigen Latch-Fehlern als Vielfaches von zwei Latch-Fehlern in jedem von N Blöcken verteilt ist.
- Verfahren zum automatischen Erkennen von Latch-Softfehlern in einem Latch-Block, umfassend: (a) Anordnen einer Reihe von Latch-Einheiten, wobei jede Latch-Einheit ein Latch und einen Vergleicher umfasst, so dass ein Vergleicher von mindestens einer Latch-Einheit ein Eingangssignal von einem Vergleicher einer vorangehenden Latch-Einheit und ein Eingangssignal von ihrem zugehörigen Latch empfängt; (b) Überwachen eines Ausgangssignals eines Vergleichers einer letzten Latch-Einheit unter Verwendung eines Paritätsbitvergleichers; (c) Überwachen eines Ausgangssignals eines Latchs, der zum Speichern des Ausgangssignals des Vergleichers der letzten Latch-Einheit verwendet wird, unter Verwendung des Paritätsbitvergleichers; und (d) Erfassen eines Paritätsbitkippens durch Empfangen einer Änderung des Ausgangssignals des Paritätsbitvergleichers.
- Verfahren nach Anspruch 14, welches ferner umfasst: (a) Senden einer Meldung, die ein Paritätsbitkippen angibt, zu einem Signalgenerator; (b) Senden eines Signals zum Zurücksetzen des Latchs auf einen Vorgabewert in Reaktion auf die Meldung; (c) Zurücksetzen des zum Speichern des Ausgangssignals des Vergleichers der letzten Latch-Einheit verwendeten Latchs; und (d) erneutes Lesen aller den Latch-Einheiten zugeordneten Sicherungen.
- Verfahren nach Anspruch 14, welches ferner umfasst: (a) Benachrichtigen eines Signalgenerators über eine Latch-Rücksetzbedingung; (b) Abfragen der Aktivität in der dem Sicherungsblock zugeordneten Schaltungsanordnung; (c) Empfangen eines Ruhezustandssignals von einer dem Sicherungsblock zugeordneten Schaltungsanordnung; (d) Senden eines Signals zum Zurücksetzen des Latchs auf einen Vorgabewert; (e) Zurücksetzen des zum Speichern des Ausgangssignals des Vergleichers der letzten Latch-Einheit verwendeten Latchs; und (f) erneutes Lesen aller den Latch-Einheiten zugeordneten Sicherungen.
- Verfahren nach Anspruch 15, wobei der Signalgenerator ein Signal zum Zurücksetzen des Latchs unmittelbar nach dem Empfangen einer Paritätsbitkippmeldung sendet.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/674,386 | 2003-10-01 | ||
US10/674,386 US6975238B2 (en) | 2003-10-01 | 2003-10-01 | System and method for automatically-detecting soft errors in latches of an integrated circuit |
PCT/EP2004/010730 WO2005041410A1 (en) | 2003-10-01 | 2004-09-24 | System and method for automatically-detecting soft errors in latches of an integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112004001843T5 true DE112004001843T5 (de) | 2006-07-27 |
DE112004001843B4 DE112004001843B4 (de) | 2014-09-04 |
Family
ID=34393495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112004001843.9T Expired - Fee Related DE112004001843B4 (de) | 2003-10-01 | 2004-09-24 | System und Verfahren zum automatischen Erkennen von Softfehlern in Latches einer integrierten Schaltung |
Country Status (5)
Country | Link |
---|---|
US (1) | US6975238B2 (de) |
KR (1) | KR100816130B1 (de) |
CN (1) | CN1890879A (de) |
DE (1) | DE112004001843B4 (de) |
WO (1) | WO2005041410A1 (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650470B2 (en) * | 2003-03-20 | 2014-02-11 | Arm Limited | Error recovery within integrated circuit |
JP2006147651A (ja) * | 2004-11-16 | 2006-06-08 | Toshiba Corp | 半導体集積回路 |
DE102006019075B4 (de) * | 2006-04-25 | 2008-01-31 | Infineon Technologies Ag | Integrierte Schaltung zur Speicherung eines Datums |
DE102006019908A1 (de) * | 2006-04-28 | 2007-10-31 | Infineon Technologies Ag | Integrierter Halbleiterspeicher zur Programmierung eines Programmierzustands |
US7482831B2 (en) * | 2006-05-10 | 2009-01-27 | Alcatel-Lucent Usa Inc. | Soft error tolerant flip flops |
KR100821582B1 (ko) * | 2006-10-13 | 2008-04-15 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 리던던시 제어방법 |
US7900114B2 (en) * | 2009-02-27 | 2011-03-01 | Infineon Technologies Ag | Error detection in an integrated circuit |
US7977965B1 (en) * | 2010-03-12 | 2011-07-12 | International Business Machines Corporation | Soft error detection for latches |
DE102013226407A1 (de) * | 2013-12-18 | 2015-06-18 | Continental Teves Ag & Co. Ohg | Verfahren und Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement |
US9400708B2 (en) | 2014-09-11 | 2016-07-26 | Freescale Semiconductor, Inc. | Integrated circuit and method of detecting a data integrity error |
US10579290B2 (en) * | 2016-03-23 | 2020-03-03 | Winbond Electronics Corp. | Option code providing circuit and providing method thereof |
US10325049B2 (en) | 2017-01-18 | 2019-06-18 | International Business Machines Corporation | Placement-driven generation of error detecting structures in integrated circuits |
CN108270429B (zh) * | 2018-01-09 | 2021-10-15 | 中国科学院微电子研究所 | 一种抗双节点翻转的锁存器 |
DE102018108951B3 (de) | 2018-04-16 | 2019-06-19 | Infineon Technologies Ag | Verfahren und anordnung zur bildung einer elektronischen schaltung |
US10949295B2 (en) | 2018-12-13 | 2021-03-16 | International Business Machines Corporation | Implementing dynamic SEU detection and correction method and circuit |
US10890622B2 (en) * | 2019-04-29 | 2021-01-12 | International Business Machines Corporation | Integrated circuit control latch protection |
US11429478B2 (en) | 2019-06-05 | 2022-08-30 | Stmicroelectronics International N.V. | Robust soft error tolerant multi-bit D flip-flop circuit |
CN114460447B (zh) * | 2021-01-19 | 2023-03-28 | 沐曦集成电路(上海)有限公司 | 锁存器的自测试电路及其自测试方法 |
KR20220114983A (ko) * | 2021-02-09 | 2022-08-17 | 에스케이하이닉스 주식회사 | 테스트동작을 수행하는 장치 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3805233A (en) * | 1972-06-28 | 1974-04-16 | Tymshare Inc | Error checking method and apparatus for group of control logic units |
US4638463A (en) | 1985-01-24 | 1987-01-20 | International Business Machines Corporation | Fast writing circuit for a soft error protected storage cell |
US5012246A (en) | 1990-01-31 | 1991-04-30 | International Business Machines Corporation | BiCMOS analog-to-digital converter with minimized metastability |
JPH10177496A (ja) | 1996-12-13 | 1998-06-30 | Hitachi Ltd | エラー検出機能を有する論理回路およびエラー検出機能を有する論理回路を備えるプロセッサ |
US5999463A (en) * | 1997-07-21 | 1999-12-07 | Samsung Electronics Co., Ltd. | Redundancy fuse box and semiconductor device including column redundancy fuse box shared by a plurality of memory blocks |
US6380781B1 (en) | 1999-11-01 | 2002-04-30 | Intel Corporation | Soft error rate tolerant latch |
US6640313B1 (en) * | 1999-12-21 | 2003-10-28 | Intel Corporation | Microprocessor with high-reliability operating mode |
US6366132B1 (en) | 1999-12-29 | 2002-04-02 | Intel Corporation | Soft error resistant circuits |
US6507928B1 (en) * | 2000-03-17 | 2003-01-14 | Stmicroelectronics, Inc. | Processor cache system with parity protection and method of operation |
US6543028B1 (en) * | 2000-03-31 | 2003-04-01 | Intel Corporation | Silent data corruption prevention due to instruction corruption by soft errors |
US6201750B1 (en) | 2000-06-21 | 2001-03-13 | International Business Machines Corporation | Scannable fuse latches |
US6658621B1 (en) * | 2000-06-30 | 2003-12-02 | Intel Corporation | System and method for silent data corruption prevention due to next instruction pointer corruption by soft errors |
US6785847B1 (en) * | 2000-08-03 | 2004-08-31 | International Business Machines Corporation | Soft error detection in high speed microprocessors |
US6373771B1 (en) | 2001-01-17 | 2002-04-16 | International Business Machines Corporation | Integrated fuse latch and shift register for efficient programming and fuse readout |
TW594775B (en) * | 2001-06-04 | 2004-06-21 | Toshiba Corp | Semiconductor memory device |
US6760881B2 (en) * | 2001-10-16 | 2004-07-06 | International Business Machines Corporation | Method for combining refresh operation with parity validation in a DRAM-based content addressable memory (CAM) |
US6687170B2 (en) * | 2001-12-06 | 2004-02-03 | Infineon Technologies Richmond, Lp | System and method for storing parity information in fuses |
-
2003
- 2003-10-01 US US10/674,386 patent/US6975238B2/en not_active Expired - Fee Related
-
2004
- 2004-09-24 CN CNA2004800357155A patent/CN1890879A/zh active Pending
- 2004-09-24 KR KR1020067006409A patent/KR100816130B1/ko not_active IP Right Cessation
- 2004-09-24 WO PCT/EP2004/010730 patent/WO2005041410A1/en active Application Filing
- 2004-09-24 DE DE112004001843.9T patent/DE112004001843B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1890879A (zh) | 2007-01-03 |
US20050073345A1 (en) | 2005-04-07 |
DE112004001843B4 (de) | 2014-09-04 |
US6975238B2 (en) | 2005-12-13 |
KR20060058782A (ko) | 2006-05-30 |
WO2005041410A1 (en) | 2005-05-06 |
KR100816130B1 (ko) | 2008-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112004001843B4 (de) | System und Verfahren zum automatischen Erkennen von Softfehlern in Latches einer integrierten Schaltung | |
DE102013215055B4 (de) | Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern | |
DE69133365T2 (de) | Halbleiterspeicher mit sequenzgetakteten Zugriffscodes zum Eintritt in den Prüfmodus | |
DE3833713C2 (de) | ||
DE10233642B4 (de) | Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung | |
DE2619159C2 (de) | Fehlererkennungs- und Korrektureinrichtung | |
DE102005055158B4 (de) | Schaltungsanordnung mit einer Einrichtung zur Erkennung von Manipulationsversuchen und Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung | |
DE102005058238B4 (de) | Detektorschaltung zur Erfassung einer externen Manipulation einer elektrischen Schaltung sowie Verfahren zum Betreiben einer Schaltungsanordnung, bei dem externe Manipulation erfasst werden | |
DE3209679C2 (de) | ||
DE2854748A1 (de) | Speichereinrichtung | |
DE3607015A1 (de) | Verfahren und vorrichtung zur funktionspruefung von direktzugriffsspeichern | |
DE102019123642A1 (de) | Speicherfehlererkennung und korrektur | |
DE60103397T2 (de) | Gesicherter eeprom-speicher mit fehlerkorrekturschaltung | |
DE3603926A1 (de) | Halbleiter-speicherelement | |
DE3638632A1 (de) | Halbleiterspeicher | |
DE10234684A1 (de) | Speicherschaltung | |
DE102009055168A1 (de) | Speicherschaltung mit Störungserfassung und Verfahren zum Betreiben derselben | |
DE102006048856A1 (de) | Reparatur einer Halbleiterspeichervorrichtung über einen externen Befehl | |
DE102012104648A1 (de) | Techniken zur Verifikation einer Verlässlichkeit eines Speichers | |
DE102020106203A1 (de) | Vorrichtung für integrierte Speicher-Selbsttests mit Fehlererkennungs- und -Korrekturcodebekanntheit | |
DE2157829C2 (de) | Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern | |
DE1910582B2 (de) | Schaltungsanordnung zur Steuerung eines digitalen Speichersystems | |
DE112020005001T5 (de) | Qlc-programmierverfahren mit zurückspeichern von feindaten | |
DE102004008757B4 (de) | Paritätsprüfungs-Schaltung zur kontinuierlichen Prüfung der Parität einer Speicherzelle | |
EP1966696A1 (de) | Verfahren zur erkennung einer versorgungsunterbrechung in einem datenspeicher und zur wiederherstellung des datenspeichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law |
Ref document number: 112004001843 Country of ref document: DE Date of ref document: 20060727 Kind code of ref document: P |
|
8125 | Change of the main classification |
Ipc: H03K 3/037 AFI20051017BHDE |
|
8127 | New person/name/address of the applicant |
Owner name: QIMONDA AG, 81739 MUENCHEN, DE |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R081 | Change of applicant/patentee |
Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE Owner name: POLARIS INNOVATIONS LTD., IE Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE |
|
R082 | Change of representative |
Representative=s name: WILHELM & BECK, DE |
|
R081 | Change of applicant/patentee |
Owner name: POLARIS INNOVATIONS LTD., IE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE |
|
R082 | Change of representative |
Representative=s name: WILHELM & BECK, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |