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 PDF

Info

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
Application number
DE112004001843T
Other languages
English (en)
Other versions
DE112004001843B4 (de
Inventor
Ronny Schneider
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Polaris Innovations Ltd
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE112004001843T5 publication Critical patent/DE112004001843T5/de
Application granted granted Critical
Publication of DE112004001843B4 publication Critical patent/DE112004001843B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators 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/037Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators 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/037Bistable circuits
    • H03K3/0375Bistable 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

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.

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-Latch 1 besteht aus zwei gekoppelten Invertern 6 und 7, die mit der Sicherung 2 über die Leitung 4 und die Last 3 verbunden sind. Der Zustand der Sicherung 2 wird am Knoten 5 gespeichert, wenn der Transistor der Last 3 durchgesteuert wird. Wenn das Latch 1 beispielsweise so vorgegeben ist, dass der Knoten 5 gleich einer logischen 1 ist, ist die Sicherung 2 durchgebrannt, und wenn die Last 3 durchgesteuert wird, nimmt der Knoten 5 den Logikzustand 1 an. Nachdem das Signal vom Knoten 5 (logisch 1) in den Inverter 6 eintritt, wird es als logische 0 am Knoten 8 ausgegeben. Wenn der Knoten 8 durch den Inverter 7 ausgegeben wird, wird der Logikwert 1 anschließend am Knoten 5 wiederhergestellt. In dieser Weise liest der Knoten 5 immer eine logische 1 und der Knoten 8 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 und 11b 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 bis 6 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-Einheit 10, eine von einer Vielzahl von aufeinander folgenden Latch-Einheiten, die sich im Sicherungsblock befinden. Das Sicherungs-Latch 11 besteht aus gekoppelten Invertern, wie vorstehend mit Bezug auf 1 beschrieben. Die Sicherung 12 ist über eine Last 13, die ein Transistor ist, mit einem Latch-Knoten 15 verbunden. Der Zustand des Latch-Knotens 15 wird am Knoten 18 invertiert, wie vorstehend für das Latch 1 beschrieben. In der vorliegenden Erfindung werden sowohl der Knoten 15 als auch der Knoten 18 an separate Leitungen mit Eingangsknoten 15 und 18 im Vergleicher 21 ausgegeben. Der Vergleicher 21, der aus Transistoren 22-29 besteht, gibt ein Signal aus dem Knoten 30 und sein komplementäres Signal am Knoten 32 aus, welches nach Leiten vom Knoten 30 durch den Inverter 31 erhalten wird. Die Knoten 30 und 32 bilden Eingänge in einen nachfolgenden Vergleicher 52 in der benachbarten Latch-Einheit, die in 3 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 in 3 gezeigt, ist eine zweite Sicherungs-Latch-Einheit 54 mit der Sicherungs-Latch-Einheit 10 über Signalleitungen 30 und 32 des Vergleichers 21 verbunden. In dem Fall, in dem die Sicherung 33 durchgebrannt ist, stellt dann der Knoten 36 im Sicherungs-Latch 40 eine logische 1 dar und der Knoten 39 liegt auf einer logischen 0. Der Vergleicher 52, der aus Transistoren 41-48 besteht, sendet wiederum ein Ausgangssignal zu einem nachfolgenden Vergleicher vom Knoten 50 sowie sein Komplementsignal am Knoten 51, das durch Leiten durch den Inverter 53 abgeleitet wird.
  • 4 zeigt einen letzten Sicherungs-Latch-Vergleicher 60, der aus Transistoren 61-68 besteht. Die Ausgangssignale aus dem Vergleicher 60 sind das Latch-Block-Paritätsbit 69 und das inverse Paritätsbit 71, das durch Leiten durch den Inverter 70 gebildet wird. Wie ferner in 4 dargestellt, kann der Wert des Paritätsbits 69 durch Leiten des inversen Paritätsbits 71 durch den gategesteuerten Inverter 72, der aus Transistoren 81-84 besteht, gespeichert werden. Der resultierende Knoten 73 ist das Inverse des Inversen des Paritätsbits und stellt folglich den Paritätsbitwert dar. Der Paritätsbitwert wird im Knoten 73 unter Verwendung des Paritätsbit-Latchs 77 gespeichert, der aus gekoppelten Invertern 74 und 75 besteht. Das Inverse des gespeicherten Paritätsbits wird am Knoten 76 gespeichert. Mit Bezug nun auf 5 werden der Paritätsbitknoten 69, der inverse Paritätsbitknoten 71, der gespeicherte Paritätsbitknoten 73 und der inverse gespeicherte Paritätsbitknoten 76 an einen letzten Vergleicher, den "Paritätsbit-Vergleicher", 90 ausgegeben. Der Vergleicher 90 besteht aus Transistoren 91-98 und wird verwendet, um das Paritätsbit und das gespeicherte Paritätsbit zu vergleichen. Das Ausgangssignal 99 des Vergleichers 90 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-Block 100 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 Vergleicher 60 in 4.
  • 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 auf 3 können, wenn ein Auftreffen von Strahlung beispielsweise im Bereich der Schaltung nahe dem Knoten 36 stattfindet, die Transistoren derart entladen werden, dass der Zustand des Knotens 39 und 36 gekippt wird. Wenn der Knoten 36 beispielsweise ursprünglich auf eine logische 0 gesetzt war, wird er auf eine logische 1 gekippt und der Knoten 39 wird auf eine logische 0 gekippt. Anschließend wird der fehlerhafte Zustand des Knotens 36 an den Vergleicher 52 am Feldeffekttransistor vom n-Typ (nFET) 48 und Feldeffekttransistor vom p-Typ (pFET) 45 ausgegeben. Ebenso wird der fehlerhafte Zustand des Knotens 39 an den Vergleicher 52 am nFET 43 und pFET 41 ausgegeben. Der Knoten 30, der aus dem vorherigen Vergleicher 21, der in 2 gezeigt ist, ausgegeben wird, sendet vermutlich das korrekte Signal zum nFET 47 und pFET 42. Ebenso gibt der Knoten 32 aus dem Vergleicher 21 vermutlich das korrekte Signal an den nFET 44 und pFET 46 aus. In Verbindung mit den in die Transistoren 41, 43, 45 und 48 eingegebenen fehlerhaften Signalen werden jedoch das Ausgangssignal des Vergleichers 52 am Knoten 50 sowie sein Komplement 51 gekippt, wie nachstehend genauer beschrieben.
  • Wenn im normalen Betrieb der Knoten 30 vom Vergleicher 21 auf einer logischen 1 liegt, dann liegt der Knoten 32 auf einer logischen 0. Der Knoten 30 wird am nFET 47 und pFET 42 empfangen, wobei der erstere durchgesteuert und der letztere gesperrt wird. Ebenso sperrt der Knoten 32 auf logischer Null den pFET 44 und steuert den pFET 46 durch. Unter Verwendung des obigen Beispiels, bei dem der Knoten 36 ursprünglich auf eine logische 0 gesetzt ist, wird der pFET 45 durchgesteuert, während der nFET 48 gesperrt wird. Der Knoten 39 wird auf logische 1 gesetzt, was verursacht, dass der pFET 41 gesperrt wird und der nFET 43 durchgesteuert wird. Wenn der Sourceanschluss des pFET 45 auf der Versorgungsspannung Vdd liegt und beide pFETs 45 und 46 durchgesteuert werden, wird der Knoten 50 auf den Logikzustand 1 (Vdd) gebracht. Wenn ein Softfehler am Knoten 36 registriert wird, was verursacht, dass er auf eine logische 1 wechselt, dann wird der pFET 45 gesperrt und der pFET 48 wird durchgesteuert. Ebenso wird der Knoten 39 auf eine logische 0 geschaltet, was verursacht, dass der pFET 41 durchsteuert und der nFET 43 sperrt. Wenn beide nFETs 47 und 48 nun durchgesteuert sind und der Sourceanschluss des nFET 48 auf Masse gesetzt wird, wird der Knoten 50 auf eine logische 0 gebracht. Vorausgesetzt, dass die Eingangssignale vom Vergleicher 21 sich nicht ändern, verursacht ein Umschalten des Zustands am Knoten 36 und 39 (36/39) folglich ein Umschalten am Knoten 50.
  • Mit Bezug auf den Vergleicher 52 in 3 ist für Fachleute ersichtlich, dass ungeachtet des Zustands von Eingangssignalen vom Knoten 30 und 32 (30/32) ein Umschalten von 36/39 den Knoten 50 umschaltet. Ebenso tritt in dem Fall, in dem das Sicherungs-Latch 40 keinen Fehler erleidet, sondern ein Fehler im Vergleicher 21 (2) erzeugt wird, der sich im vorangehenden Latch befindet, ein Umschalten am Knoten 50 auf. Im letzteren Fall sind die Knoten 36 und 39 stabil, aber ein Umschalten geschieht bei 30/32, das ein Umschalten am Knoten 50 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 daher 32=36 und 3036 und 3239), liegt 50 auf logisch 1, da entweder 30=39= logisch 0 oder 32=36= logisch 0. Das heißt, wenn die Gateeingangssignale der pFETs des Paars 41/42 (entsprechend den Eingangssignalen 30/39) gleich sind, dann müssen die Eingangssignale der pFETs im Paar 45/46 (entsprechend den Eingangssignalen 32/36) auch gleich sein und die Eingangssignale in die pFETs im Paar 47/48 (entsprechend den Eingangssignalen 30/36) sowie jene im Paar 43/44 (entsprechend den Eingangssignalen 30/32) müssen sich unterscheiden. Da entweder das pFET-Paar 30/39 oder 32/36 durchgesteuert wird, wird der Knoten 50 mit Vdd (logisch 1) über das durchgesteuerte Paar verbunden.
  • Wenn 3039 (und daher 3236 und 30=36 und 32=39), liegt 50 auf logischer 0, da entweder 30=36= logische 1 oder 32=39= logische 1. Mit anderen Worten, wenn die Gateeingangssignale in die pFETs des Paars 41/42 (entsprechend den Eingangssignalen 30/39) unterschiedlich sind, dann müssen die Gateeingangssignale in die pFETs im Paar 45/46 (entsprechend den Eingangssignalen 32/36) auch unterschiedlich sein und die Eingangssignale in die pFETs im Paar 47/48 (entsprechend den Eingangssignalen 30/36) sowie jene im Paar 43/44 (entsprechend den Eingangssignalen 30/32) müssen gleich sein. Ob das Paar 43/44 durchgesteuert wird oder 47/48 durchgesteuert wird, der Knoten 50 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 Vergleicher 21 ein Umschalten im Knoten 50. Dieses Verhalten gilt für jede Latch-Einheit innerhalb des Latch-Blocks der vorliegenden Erfindung. Sobald der Knoten 50/51 in der Latch-Einheit 54 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-Einheit 54 ein umgeschaltetes Eingangssignal vom Vergleicher des vorherigen Latchs, was schließlich zu einem Kippen des Paritätsbits 69 im Vergleicher 60 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 Vergleicher 90 angeordneter Detektor in Schritt 702, dass das Latch-Block-Paritätsbit 69 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 Schritt 704 eine lokale Meldung zu einem Signalgenerator mit Befehlen zum Rücksetzen des Latch-Blocks gesandt, sobald ein Auslöser empfangen wird. In Schritt 706 empfängt der Signalprozessor einen Auslöser, um ein Rücksetzsignal zu erzeugen. In Schritt 708 setzt der Signalgenerator den Latch-Block unter Verwendung des Rücksetzknotens 14 im Latch 11, der in 2 gezeigt ist, zurück. An diesem Punkt kann das Latch auf einen Vorgabewert, z.B. logische 1, zurückgesetzt werden, indem die Last 14 durchgesteuert wird. In Schritt 710 wird die Sicherung 12 als nächstes mit dem Latch-Knoten 15 verbunden, indem eine geeignete Spannung an den Transistor am Knoten 13 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 Schritt 712 ein Signal durch den nFET 81 gesandt, um das Paritätsbit-Latch 77 wiederherzustellen. Wahlweise kann das gespeicherte Paritätsbit 73 dann in Schritt 714 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 Vergleicher 90, 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 Vergleicher 90 empfängt in Schritt 800 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 Schritt 802, um den Latch-Block zurückzusetzen. In diesem Fall wartet der Signalgenerator nicht auf einen zusätzlichen Auslöser, sondern sendet sofort in Schritt 804 ein Signal, das alle Latches im Block zurücksetzt. In Schritt 806 sendet er ein weiteres Signal, um alle zugehörigen Sicherungen erneut zu lesen, und in Schritt 808 setzt er das gespeicherte Paritätsbit zurück, wie vorstehend in 7 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 den 7 und 8 ist. Nachdem ein Detektor ein Fehlersignal vom Vergleicher 90 in Schritt 900 empfängt, wird ein Signal in Schritt 902 zu einem Signalgenerator übertragen, wobei eine Latch-Rücksetzbedingung im fehlerhaften Sicherungsblock existiert. In Schritt 904 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 Schritt 906 zum Signalgenerator weitergeleitet, was ihn auslöst, um ein Signal zum Zurücksetzen des Latch-Blocks in Schritt 908 zu liefern. In Schritt 910 sendet er ein Signal zum erneuten Lesen der zugehörigen Sicherungen. Schließlich wird das gespeicherte Paritätsbit in Schritt 912 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 Vergleicher 90 in Schritt 1010 empfängt, wird in Schritt 1012 eine Meldung zu einem Signalgenerator gesandt, um den fehlerhaften Latch-Block während einer anschließenden programmierten automatischen Auffrischungsoperation zurückzusetzen. In Schritt 1014 setzt der Signalgenerator während der Auffrischungsoperation alle Latches im fehlerhaften Block zurück. In Schritt 1016 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 Schritt 1018. 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 und 11b gezeigt verschachtelt sind. Jede Kette umfasst eine Gruppe von Latches mit jeweiligen Vergleichern ähnlich der in 6 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 auf 11a ist eine Sicherungs-Latch-Schaltung 1100 gezeigt, die aus verschachtelten Latch-Blöcken 1110 und 1210 besteht. Der Verschachtelungsprozess ordnet das Latch 1112 des Latch-Blocks 1110 benachbart zum Latch 1212 des Blocks 1210 an. Außerdem sind die Latches 1112 und 1212 benachbart zu ihren jeweiligen Vergleichern 1114 und 1214 angeordnet. Es ist zu beachten, dass die physikalische Verschachtelung der Latch-Blöcke 1110 und 1210 nicht dazu dient, die zwei Blöcke elektrisch miteinander zu verbinden. Wie in 11a 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 Latch 1212 des Blocks 1210 ist somit beispielsweise durch die Latches 1112 und 1122, beide vom Block 1110, begrenzt. Wenn in einem Latch-Block ein einzelner Fehler erzeugt wird, wird das Blockparitätsbit (1180 oder 1280), wenn der Fehler auftritt, gekippt und zum Paritätsbitvergleicher (1190 bzw. 1290) herausgeführt. Eine zusätzliche Schaltung 1300, 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 auf 6 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 in 11a 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öcken 1112 und 1212 verursacht, erleiden folglich die Blöcke 1110 und 1210 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 Schaltung 1300 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 Schaltung 1350N verschachtelte Ketten umfasst. Die Ketten sind in einer regelmäßigen Weise verschachtelt, wobei sie eine Folge von physikalisch benachbarten Latches wie folgt vorsehen: Latch 1412 (und Vergleicher 1414) als erste in einer Reihe vom Latch-Block 1410; Latch 1512 (und Vergleicher 1514) als erste in einer Reihe vom Block 1510; Latch N12 (und Vergleicher N14) als erste in einer Reihe vom Block N10; Latch 1422 als zweites in einer Reihe vom Block 1410, Latch 1522 als zweites in einer Reihe vom Block 1510; und so weiter. Der Latch-Block 1410 endet mit einem Paritätsbit-Latch 1480 und einem Paritätsbitvergleicher 1490. Ebenso endet jeder Latch-Block mit seinem eigenen Paritätsbit-Latch (siehe 1580 und N80 in den Latch-Blöcken 1510 bzw. N10) und Paritätsbitvergleicher (1590 und N90 in den Latch-Blöcken 1510 bzw. N10). Irgendein Paritätsbitfehler wird in der Schaltung 1600 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 Schaltung 1600 der Sicherungs-Latch-Schaltung 1350 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 exakt 6, 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)

  1. 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.
  2. Schaltung nach Anspruch 1, wobei jede Latch-Einheit ferner eine Sicherung umfasst, die mit dem Latch innerhalb der Latch-Einheit verbunden ist.
  3. Schaltung nach Anspruch 2, wobei der Vergleicher dazu ausgelegt ist, gemäß einer EXKLUSIV-ODER-Logikfunktionalität zu arbeiten.
  4. 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.
  5. 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.
  6. Schaltung nach Anspruch 1, wobei der Paritätsbitvergleicher im Fall einer Änderung des Paritätsbits oder des Paritätsbit-Latchs kippt.
  7. Schaltung nach Anspruch 2, wobei der Paritätsbitvergleicher im Fall einer Änderung des Paritätsbits oder des Paritätsbit-Latchs kippt.
  8. 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.
  9. 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.
  10. 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.
  11. Schaltung nach Anspruch 9, wobei jede Latch-Einheit ferner ein Sicherungselement umfasst, das mit dem Latch innerhalb der Latch-Einheit verbunden ist.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. Verfahren nach Anspruch 15, wobei der Signalgenerator ein Signal zum Zurücksetzen des Latchs unmittelbar nach dem Empfangen einer Paritätsbitkippmeldung sendet.
DE112004001843.9T 2003-10-01 2004-09-24 System und Verfahren zum automatischen Erkennen von Softfehlern in Latches einer integrierten Schaltung Expired - Fee Related DE112004001843B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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