DE69220818T2 - Verfahren und Einrichtung zur Fehlererkennung in Recherspeichern versehen mit Mehrfach-bit-Ausgängen - Google Patents
Verfahren und Einrichtung zur Fehlererkennung in Recherspeichern versehen mit Mehrfach-bit-AusgängenInfo
- Publication number
- DE69220818T2 DE69220818T2 DE69220818T DE69220818T DE69220818T2 DE 69220818 T2 DE69220818 T2 DE 69220818T2 DE 69220818 T DE69220818 T DE 69220818T DE 69220818 T DE69220818 T DE 69220818T DE 69220818 T2 DE69220818 T2 DE 69220818T2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- memory
- bits
- error
- syndrome
- 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.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims abstract description 83
- 238000001514 detection method Methods 0.000 title claims description 26
- 238000000034 method Methods 0.000 title claims description 13
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 66
- 238000012937 correction Methods 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- G06F11/1012—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 using codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- 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
- G06F11/1012—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 using codes or arrangements adapted for a specific type of error
- G06F11/102—Error in check bits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
- Die vorliegende Erfindung bezieht sich allgemein auf Fehlerkorrektur und -erkennung und insbesondere auf die Verwendung von Fehlerkorrektur- und Erkennungscodes bei Computerspeichern, die Speicherschaltkreise mit Mehrfachbit-Ausgängen benutzen.
- Computerspeicher benutzen normalerweise dynamische Speicher mit wahlfreien Zugriff (DRAMs) für die Speicherung von Daten, die in der CPU des Computers verwendet werden. Diese Daten sind Gegenstand von Verfälschungen, was viele Ursachen haben kann. Aus diesem Grunde sind Speichersysteme verbessert und weiterentwickelt worden, so daß das Auftreten von zufälligen Fehlern relativ selten ist. Jedoch ist bei vielen Anwendungen die Unverfälschtheit der Daten so kritisch, daß sogar relativ selten auftretende Fehler nicht toleriert werden können. Verschiedene Fehlerkorrektur- und Fehlererkennungscodes wurden entwickelt, um solche Fehler zu erkennen und in bestimmten Situationen zu korrigieren. Am bekanntesten ist der Hamming-Code, der normalerweise eine Erkennung von Einzel- oder Zweifachbitfehlern und eine Korrektur von Einzelbitfehlern ermöglicht. Es sind Schaltkreise erhältlich, bei denen ein solcher Hamming-Code in Computerspeichersystemen implementiert werden kann. Die Technik des Hamming-Code ist bekannt und auf diesem Gebiet der Technik oft in der Literatur beschrieben.
- Die Verwendung des Hamming-Codes ist sehr wirksam bei herkönnlichen Speichersystemen, bei denen in jeder Speichereinrichtung ein Datenbit gespeichert wird. Große Speichersysteme enthalten normalerweise hunderte oder sogar tausende von einzelnen Speichereinrichtungen, von denen jede beispielsweise 1 Megabit, 4 Megabit oder 16 Megabit Daten enthalten kann. DRAM-Einrichtungen haben normalerweise einen Einzelbit-Ausgang pro Einrichtung, so daß ein Datenwort über die Anzahl von Speichereinrichtungen verteilt ist, die gleich der Anzahl von Bits in dem Wort ist. Zufällig auftretende Fehler, die normalerweise als weiche Fehler bezeichnet werden, sind am häufigsten Einzelbitfehler. Außerdem, wenn eine bestimmte Speichereinrichtung entweder dauerhaft oder vorübergehend ausfällt, wird in dem resultierenden Datenwort ein Einzelbitfehler erzeugt. Daher kann durch Verwendung eines Hamming-Code ein Einzelbitfehler erkannt und korrigiert werden. Es wurde angenommen, daß unter diesen Umständen keine Möglichkeit von Mehrfachbitfehlern besteht. Ein Hamming- Code kann normalerweise einen Zweifachbitfehler erfassen, aber nicht korrigieren. Es ist sehr schwierig, mit wirtschaftlich vertretbarem Aufwand eine größere Anzahl von Bitfehlern zu erkennen und zu korrigieren. Es ist daher eine akzeptierte Ansicht, daß kaum eine Möglichkeit des Auftretens von Mehrfachbitfehlern besteht, so daß sie sicher ignoriert werden kann.
- Mit der Einführung von sehr viel größeren Hauptspeicherkapazitäten, wie mehrere hundert Megabyte für einen einzelnen Computerhauptspeicher, wurde es erforderlich, Speicherschaltkreise zu verwenden, bei denen aus jeder Einrichtung Mehrfachbits ausgegeben werden, statt lediglich ein Einzelbit. Übliche DRAM-Speichereinrichtungen dieser Art können einen parallelen Vierfachbit-Ausgang für Speichereinrichtungs-Größen mit ein und vier Megabit haben. Es wird erwartet, daß sich diese Praxis fortsetzt und möglicherweise sogar größere Mehrfachbit-Ausgänge verwendet werden, wenn die Kapazität von Speicherschaltkreisen auf 16 und 64 Megabit ansteigt. Wenn aber eine einzelne Speichereinrichtung in einem einzelnen Datenwort vier Bits erzeugt, besteht eine viel größere Möglichkeit des Auftretens von Mehrfachbitfehlern, wenn bei dieser bestimmten Speichereinrichtung ein Fehler auftritt.
- Es wurden einige Computersystem-Anwendungen entwickelt, die eine sehr hohe Datenintegrität erfordern. Das Vorhandensein von nicht erkannten Fehlern, selbst in einer Größenordnung von nur ein oder zwei Fehlern pro Jahr, kann bei einem solchen Computersystem zu ernsten Folgen führen. Hinsichtlich der größeren Wahrscheinlichkeit des Auftretens von Mehrfachbitfehlern durch Verwendung von Speichereinrichtungen mit Mehrfachbit-Ausgängen und der erhöhten Forderung nach einer hohen Datenintegrität besteht die Notwendigkeit, ein Verfahren und eine Vorrichtung zu schaffen, um das Auftreten von Mehrfachbitfehlern bei Daten zu erkennen, die in einem derartigen Computerspeicher gespeichert sind.
- Die EP-A-0 166 269 offenbart ein Fehlerkorrekturverfahren für einen Computerspeicher. Bei diesem Verfahren wird für jedes Byte eines Mehrfachbit-Wortes ein Speicherparitätsprüfbit und ein Speicherprüfbit erzeugt, und die Speicherparitätsbits und die Speicherprüfbits, die zu einem Mehrfachbit-Wort gehören, werden in einer separaten Speichereinrichtung gespeichert. Beim Auslesen des Mehrfachbit-Wortes werden Verifizierungsprüfbits und ein Verifizierungsparitätsprüfbit erzeugt und mit den Speicherprüfbits bzw. dem Speicherparitätsprüfbit verglichen. Zum Beispiel können bei einem 4-Byte-Wort bzw. 32-Bit-Wort acht Bits zur Fehlerkorrektur verwendet werden, nämlich vier Paritätsbits und vier Prüfbits, um bis zu vier Fehler zu korrigieren, wenn die Fehler auf entsprechende Bits in den vier Bytes beschränkt sind. Wenn andererseits mehr als ein Fehler in einem Byte auftritt, ist keine Korrektur möglich. Dieses System ist nachteilig für Computerspeicher mit einer Anzahl von Speichereinrichtungen, die jeweils einen Mehrfachbit-Ausgang haben, bei denen aus jeder Speichereinrichtung Mehrfachbits, beispielsweise ein Byte, ausgelesen werden. Da der am häufigsten auftretende Fehler darin besteht, daß eine gesamte Speichereinrichtung ausfällt, sind alle Mehrfachbits, die aus dieser Speichereinrichtung ausgelesen werden, nicht zuverlässig, was zu einem nicht erkennbaren Fehler führt, da die Prüfbits nicht ausreichen, um alle Bits von einer Speichereinrichtung zu korrigieren.
- Die EP-A-0 401 994 zeigt ein Verfahren zum Speichern und Wiederauffinden von Mehrfachbit-Wörtern in einem Computerspeicher, der eine Anzahl von Speichereinrichtungen enthält. Das Mehrfachbit-Wort wird in Unterwörter unterteilt, und ein Fehlererkennungswert, vorzugsweise ein Paritätsbit, wird berechnet und an jedes Unterwort-Segnent angehängt. Jedes Unterwort wird dann in separaten Speichereinrichtungen gespeichert. Folglich kann das Wort bei diesem Speicherverfahren leicht rekonstruiert werden, wenn in einem Unterwort oder sogar in zwei Unterwörtern in einer Speichereinrichtung ein Einzelbitfehler auftritt.
- Ein ausgewähltes Ausführungsbeispiel der vorliegenden Erfindung betrifft gemäß Anspruch 1 ein Verfahren zur Fehlerkorrektur und Fehlererkennung für in einem Computerspeicher gespeicherten Daten. Für ein Datenwort wird durch Verwendung eines ausgewählten Fehlerkorrekturcodes eine minimale Anzahl von Speicherprüfbits zur Fehlererkennung und Fehlerkorrektur erzeugt. Dieser Code erkennt und korrigiert Einzelbitfehler und erkennt Mehrfachbitfehler im Datenwort. Für die Gesamtheit des Datenwortes wird ein Paritätsspeicherprüfbit erzeugt. Das Datenwort, die Speicherprüfbits und das Speicherparitätsprüfbit werden in dem Computerspeicher gespeichert. Der Computerspeicher umfaßt eine Anzahl von Speichereinrichtungen mit Mehrfachbit-Ausgängen, wobei in jeder der Speichereinrichtungen mehrere Bits des Datenwortes gespeichert sind. In keiner der Speichereinrichtungen ist mehr als eines der Speicherprüfbits oder ein Speicherparitätsprüfbit gespeichert. Der Speicher wird ausgelesen, um das Datenwort, die Speicherprüfbits und das Speicherparitätsbit zu erzeugen. Infolge von Fehlerzuständen können in der Zusammensetzung aus dem Datenwort, den Speicherprüfbits und dem Speicherparitätsprüfbit, die aus dem Computerspeicher ausgelesen wurden, ein oder mehrere Bitfehler vorhanden sein. Der ausgewählte Fehlerkorrekturcode wird auf das Datenwort angewendet, das aus dem Computerspeicher ausgelesen wurde, um einen Satz von Verifizierungsprüfbits zu erzeugen. Ein Verifizierungsparitätsprüfbit wird durch Untersuchung des Datenwortes erzeugt, das aus dem Computerspeicher ausgelesen wurde. Die Speicherprüfbits, die aus dem Computerspeicher ausgelesen wurden, werden mit den Verifizierungsprüfbits verglichen, um ein Prüfbitsyndrom zu erzeugen. Das aus dem Computerspeicher ausgelesene Speicherparitätsprüfbit wird ebenfalls mit dem Verifizierungsparitätsprüfbit verglichen, um ein Paritätssyndrom zu erzeugen. Nachfolgend wird das Prüfbitsyndrom dekodiert, um:
- (a) entweder Einzelbitfehler zu erkennen und zu identifizieren oder um Dreifachbitfehler zu erkennen, die alle in den Datenbits und Prüfbits auftreten, die in einer der Speichereinrichtungen gespeichert sind, wobei bei einem solchen Auftreten eine erste Ausgabe erzeugt wird, oder
- (b) Doppelbitfehler zu erkennen, wobei bei einem solchen Auftreten eine zweite Ausgabe erzeugt wird, oder
- (c) Dreifachbitfehler zu erkennen, die alle in den Datenbits in einer der Speichereinrichtungen auftreten, um unter solchen Umständen eine dritte Ausgabe zu erzeugen, und um die erste Ausgabe, wenn eine solche erste Ausgabe erzeugt wurde, mit dem Paritätssyndrom zu vergleichen, um entweder eine vierte Ausgabe, die einen Einzelbitfehler anzeigt, oder eine fünfte Ausgabe zu erzeugen, die das Vorhandensein eines Dreifachbitfehlers in einer der Speichereinrichtungen angibt.
- Ein weiterer Aspekt der vorliegenden Erfindung betrifft eine Fehlererkennungsschaltung nach Anspruch 4.
- Weitere Ausgestaltungen sind Gegenstand der Unteransprüche.
- Zum besseren Verständnis der vorliegenden Erfindung und von deren Vorteilen wird nun auf die nachfolgende Beschreibung in Verbindung mit den beiliegenden Zeichnungen Bezug genommen, wobei:
- FIGUR 1 ist eine Darstellung von einem Teil von einem Computerspeicher, der eine Anzahl dynamischer Speichereinrichtungen mit wahlfreiem Zugriff (DRAM) enthält, in denen eine Anzahl von Bits eines einzelnen Datenwortes zusammen mit Fehlerkorrektur- und Fehlererkennungsprüfbits gespeichert sind,
- FIGUR 2 ist ein Schaltkreisdiagramm für eine Fehlerkorrektur- und Fehlererkennungsschaltung gemäß der vorliegenden Erfindung, um Einzelbitfehler zu erkennen und zu korrigieren und um verschiedene Arten von Mehrfachbitfehlern zu erkennen, und
- FIGUREN 3A und 3B sind ein detailliertes Schaltkreisdiagramm für den in FIGUR 2 gezeigten Fehlergeneratorschaltkreis.
- Die vorliegende Erfindung enthält für das hier beschriebene Ausführungsbeispiel einen 8-Bit Fehlererkennungs- und Korrekturcode (EDC) zur Verwendung zusammen mit einem Speichersystem, bei dem jeweils mehrere Bits eines Datenworts in einzelnen Speichereinrichtungen gespeichert sind. Die augenblicklich am häufigsten verwendete Form von Speichereinrichtungen ist ein dynamischer Speicher mit wahlfreiem Zugriff (DRAM). Die Anordnung der derzeitigen DRAMs, die für das hier beschriebene Speichersystem verwendet werden können, werden als 256K mal 4 oder 1 Megabit mal 4 bezeichnet. Diese Bezeichnung bedeutet, daß beim Durchführen eines Speicherlese- oder Speicherschreibzyklus während eines Zyklus 4 Datenbits parallel geschrieben oder gelesen werden. Dies ist insbesondere bei großen Hauptspeichern üblich geworden, die derartige Speichereinrichtungen mit Mehrfachbit- Ausgängen verwenden. Ein typisches Datenwort kann 32 Bits enthalten, die über mehrere Speichereinrichtungen verteilt sind. Wenn Fehlerkorrektur- und Erkennungsprüfbits zusammen mit dem Datenwort verwendet werden, werden sie ebenfalls in dem Hauptspeicher gespeichert.
- Für ein 32-Bit Datenwort verwendet ein Hamming-Code, der einen Einzelbitfehler erkennen und korrigieren und das Vorhandensein eines Doppelbitfehlers erkennen kann, minimal 7 Bits.
- Ein Standard 7-Bit Hamming-Code kann durch Verwendung von im Handel erhältlicher Komponenten implementiert werden, wie den AMD Am2nc660, National Semiconductor 74F632 oder Texas Instruments SN74AS632. Für die vorliegende Erfindung werden das Erkennen und Korrigieren von Einzelbitfehlern und das Erkennen von Doppelbitfehlern durch das gleiche Verfahren durchgeführt, das in diesen erhältlichen Komponenten implementiert ist.
- Zusätzlich zu den Figuren, die hier zur Beschreibung der vorliegenden Erfindung verwendet werden, sind weiterhin vier Tabellen enthalten, die der detaillierten Beschreibung folgen. Auf diese vier Tabellen wird in der Beschreibung der Erfindung Bezug genommen.
- Ein Segrnent eines Hauptspeichers, wie in der vorliegenden Erfindung verwendet, ist in FIGUR 1 gezeigt. Ein Speicher 10, der ein kleiner Teil eines sehr viel größeren Hauptspeichers ist, hat zehn dynamische Speichereinrichtungen mit wahlfreiem Zugriff 12, 14, 16, 18, 20, 22, 24, 26, 28 und 30. Jede dieser Speichereinrichtungen erzeugt während eines Speicherzyklus eine 4-Bit Ausgabe. Typische Speichereinrichtungen können eine Anordnung von 256K mal 4 Bits oder 1 Megabit mal 4 Bits haben. Speichereinrichtungen dieser Art sind überall erhältlich und in der Literatur der Industrie detailliert beschrieben. Mehrfachbit- Speichereinrichtungen größerer Kapazität werden in naher Zukunft zweifellos verfügbar sein.
- Der Speicher 10 hat zehn Speichereinrichtungen, die zum Speichern eines Datenwortes verwendet werden. Im gesamten Hauptspeicher eines Computers wird eine große Anzahl der Speicher 10 verwendet. Die vorliegende Erfindung kann beschrieben werden, indem nur auf den Speicher 10 Bezug genommen wird.
- Ein wichtiger Aspekt der vorliegenden Erfindung sind die Speicherstellen für die Datenbits des Datenwortes und die entsprechenden Fehlerkorrekturprüfbits und Paritätsbits im Speicher 10. Jede der Speichereinrichtungen 12-30 enthält zumindest drei Datenbits, und in jeder der Speichereinrichtungen ist nicht mehr als ein Prüfbit gespeichert.
- Bei einem ausgewählten Ausführungsbeispiel der vorliegenden Erfindung sind in Speichereinrichtung 12 Datenbits 2, 3, 5 und 31 gespeichert. In Speichereinrichtung 14 sind Datenbits 14, 20 und 24 zusammen mit Prüfbit 1 gespeichert. In Speichereinrichtung 16 sind Datenbits 0, 4, 8 und 9 gespeichert. In Speichereinrichtung 18 sind Datenbits 11, 12 und 13 zusammen mit Prüfbit 6 gespeichert. In Speichereinrichtung 20 sind Datenbits 6, 10 und 17 zusammen mit Prüfbit 5 gespeichert. In Speichereinrichtung 22 sind Datenbits 15, 18 und 19 zusammen Prüfbit 7 gespeichert. In Speichereinrichtung 24 sind Datenbits 7, 21 und 22 zusammen mit Prüfbit 4 gespeichert. In Speichereinrichtung 26 sind Datenbits 16, 23 und 25 zusammen mit Prüfbit 2 gespeichert. In Speichereinrichtung 28 sind Datenbits 26, 27 und 30 zusammen mit Prüfbit 0 gespeichert. Und schließlich sind in Speichereinrichtung 30 Datenbits 1, 28 und 29 zusammen mit Prüfbit 3 gespeichert. Die Prüfbits 0 bis 6 enthalten die 7 Bits eines herkömmlichen 7-Bit Hamming-Codes, wie er in den beschriebenen erhältlichen Komponenten verwendet wird, die vorstehend genannt sind. Das achte Prüfbit ist ein Paritätsprüfbit, das für die gesamten 32 Bits des Datenwortes erzeugt wird.
- Nun wird auf FIGUR 2 Bezug genommen, in der eine weitere Einrichtung zur Verwendung gemäß der vorliegenden Erfindung dargestellt ist. Eine Fehlererkennungsschaltung 40 enthält 7 Syndromgeneratorschaltkreise 42, 44, 46, 48, 50, 52 und 54 zusammen mit einem Paritätsgeneratorschaltkreis 56. Jeder der Syndromgeneratorschaltkreise empfängt 16 Bits des 32-Bit Datenwortes, und erzeugt über eine EXKLUSIV-ODER-Funktion ein Fehlerkorrekturprüfbit. Die Syndromgeneratorschaltkreise 42-54 erzeugen jeweils Prüfbits 0 bis 6. Der Paritätsgeneratorschaltkreis 56 verwendet für alle 32 Bits des Datenwortes eine EXKLUSIV- ODER-Funktion, um ein Verifizierungsprüfbit zu erzeugen.
- Die Dateneingänge für jeden der Syndromgeneratorschaltkreise 42-54 ist ein Datenwort, das aus dem Speicher 10 ausgelesen wird. Diese Eingaben sind wie folgt:
- Alle 32 Datenbits (0..31) werden dem Paritätsgeneratorschaltkreis 56 zugeführt, um ein Paritätsbit zu erzeugen, das als Prüfbit 7 bezeichnet wird.
- Jeder der Syndromgeneratorschaltkreise 42-56 ist ein EXKLUSIV-ODER-Schaltkreis.
- Die Ausgaben von den jeweiligen Schaltkreisen 42-56 werden als erste Eingaben logischen EXKLUSIV-ODER-Gattern 70, 72, 74, 76, 78, 80, 82 und 84 zugeführt. Die Prüfbits 0-7, die aus dem Speicher 10 ausgelesen wurden, werden jeweils den zweiten Eingängen der logischen Gatter 70 bis 84 zugeführt. Die Ausgaben der logischen Gatter 70-84 sind die jeweiligen Syndrombits 0-7. Die Syndrombits 0-6 werden hier als ein Prüfbitsyndrom bezeichnet, und das Syndrombit 7 wird hier als ein Paritätsbitsyndrom bezeichnet.
- Das Prüfbitsyndrom (Bits 0-6) wird einem Dekodierer 100 zugeführt, der die 7 Eingaben in jede der möglichen 128 Kombinationen dekodiert, um dadurch einen ausgewählten Ausgang der 128 Ausgängen des Dekodierers 100 zu aktivieren. Der Dekodierer 100 hat ein übliches Logikdesign für eine solche Dekodierung.
- Die Ausgaben von dem Dekodierer 100 werden durch eine Gruppe von Leitungen 102 zu einer entsprechenden Gruppe von Eingängen eines Fehlergeneratorschaltkreises 104 übertragen. Das Prüfbitsyndrom (Bits 0-6) wird ebenfalls dem Fehlergeneratorschaltkreis 104 zugeführt. Das Paritätsbitsyndrom, Bit 7, das an dem Ausgang des Gatters 84 erzeugt wird, wird ebenfalls als eine Eingabe dem Fehlergeneratorschaltkreis 104 zugeführt. Nach Empfang der Eingaben am Schaltkreis 104 erzeugt dieser Schaltkreis eine von 4 möglichen Ausgaben auf Leitungen 106, 108, 110, 112. Auf der Leitung 106 wird für einen Einzelbitfehler, auf Leitung 108 für einen Mehrfachbitfehler, auf Leitung 110 für einen Dreifachbitfehler und auf Leitung 112 für ein Prüfbitfehler eine Ausgabe erzeugt.
- Der Fehlergeneratorschaltkreis 104 ist in FIGUREN 3A und 3B detailliert beschrieben. Die 128 Ausgänge des Schaltkreises 100 auf Leitungen 102 werden jeweils einem ODER-Schaltkreis 130, einem ODER-Schaltkreis 132 und einem ODER-Schaltkreis 134 zugeführt. Die Ausgabe von dem ODER-Schaltkreis 130 wird als erste Eingabe einem ODER-Gatter 136 zugeführt, das Leitung 108 als Ausgang hat, um einen Mehrfachbitfehler anzuzeigen.
- Die Ausgabe des ODER-Schaltkreises 132 wird als eine erste Eingabe einem ODER-Schaltkreis 138 zugeführt, dessen Ausgabe als eine zweite Eingabe dem ODER-Schaltkreis 136 und der Leitung 110 zuführt wird, um das Vorhandensein eines Dreifachbitfehlers anzuzeigen. Die Ausgabe des ODER-Schaltkreises 134 wird Leitung 112, um einen Prüfbitfehler anzuzeigen, und außerdem als eine Eingabe einem NICHT-Gatter 140 zugeführt, dessen Ausgabe als eine erste Eingabe einem UND-Gatter 142 zuführt wird. Die Ausgabe des UND-Gatters 142 wird als die zweite Eingabe dem ODER- Gatter 138 zugeführt. Die Syndrombits 0-7 von den Gattern 70-84 werden einem ODER-Gatter 150 zugeführt, dessen Ausgang mit dem dritten Eingang des UND-Gatters 142 verbunden ist. Das Syndrombit 7 wird über ein NICHT-Gatter 152 dem zweiten Eingang des UND-Gatters 142 zugeführt. Dieses Syndrombit 7 ist außerdem mit dem ersten Eingang eines UND-Gatters 154 verbunden, dessen zweiter Eingang mit dem Ausgang des ODER-Gatters 150 verbunden ist.
- Der Ausgang des UND-Gatters 154 ist mit dem dritten Eingang des ODER-Gatters 138 verbunden.
- Die Eingänge zu dem Fehlergeneratorschaltkreis 104 sind die 128 Elemente auf Leitungen 102 zusammen mit den 8 Syndromeingängen (Bits 0-7). Die in den FIGUREN 3A und 3B gezeigte Logik erzeugt auf den Leitungen 106, 108, 110 und 112 Fehlerausgangsanzeigen.
- Die Funktion der vorliegenden Erfindung wird nun unter Bezugnahme auf FIGUREN 1 und 2 beschrieben. Wenn ein Computerhauptspeicher, der den Speicher 10 enthält, ein 32-Bit Datenwort empfängt, so wird dieses Datenwort durch einen Syndromgenerator verarbeitet, der zu den Syndromschaltkreisen 42-54 äquivalent ist, um auf herkömmliche Art und Weise einen 7-Bit Hamming-Code zu erzeugen. Das 32-Bit Datenwort wird auf ähnliche Weise einem Paritätsgeneratorschaltkreis zugeführt, wie dem Schaltkreis 56, um ein Paritätsprüfbit zu erzeugen.
- Die 7 Prüfbits des Hamming-Codes werden dann zusammen mit dem Paritätsprüfbit in der speziellen Aufteilung, die unter Bezugnahme auf FIGUR 1 beschrieben und darin gezeigt ist, in den Speichereinrichtungen 12-30 gespeichert. Diese werden als Speicherprüfbits und als ein Speicherparitätsbit bezeichnet. Daher werden dort für jedes Datenwort 32 Bits für das Datenwort, 7 Bits für den Hamming-Code und 1 Bit für das Paritätsprüfbit gespeichert. Acht der Speichereinrichtungen speichern 3 Datenbits zusammen mit einem Prüf- oder Paritätsbit, und zwei der Speichereinrichtungen speichern nur 4 Datenbits.
- Wenn eine Anforderung empfangen wird, das bestimmte Datenwort zu lesen, das zuvor in dem Speicher 10 gespeichert wurde, wird dieses parallel zusammen mit den Prüfbits und dem Paritätsbit ausgelesen, wie für die Ausgänge der Speichereinrichtungen in FIGUR 1 gezeigt. Die aus dem Speicher 10 ausgelesenen Datenwörter werden in den Kombinationen den Syndromgeneratorschaltkreisen 42-54 zugeführt, die als Eingaben für diese Schaltkreise in FIGUR 2 gezeigt sind. Alle 32 Bits des Datenwortes, das aus dem Speicher 10 ausgelesen wurde, werden dem Paritätsgeneratorschaltkreis 56 zugeführt. Jeder der Syndromgeneratorschaltkreise 42-54 erzeugt ein jeweiliges Prüfbit, das als Verifizierungsprüfbit bezeichnet wird. Der Paritätsgeneratorschaltkreis 56 erzeugt auch etwas, das als ein Verifizierungsparitätsprüfbit bezeichnet wird. Jedes der Verifizierungsprüfbits wird zusammen mit seinem zugehörigen Speicherprüfbit, das aus dem Speicher 10 ausgelesen wurde, einem entsprechenden Gatter der Gatter 70-84 zugeführt.
- Die Logikgatter 70-82 erzeugen ein Prüfbitsyndrom, das eine Funktion der aus dem Speicher 10 ausgelesenen Speicherprüfbits und der durch die Syndromgeneratorschaltkreise 42-54 erzeugten Verifizierungsprüfbits ist. Wenn in den Datenwörtern oder Prüfbits oder bei der Erzeugung der neuen Verifizierungsprüfbits keine Fehler aufgetreten sind, haben alle Ausgänge der Logikgatter 70-84 eine gleiche logische (0). Durch diesen Sydromzustand wird auf einer der Ausgangsleitungen des Dekodierers 100 eine bestimmte logische Ausgabe erzeugt, wobei diese Ausgabe dem Fehlergeneratorschaltkreis 104 zugeführt wird. In diesem Zustand wird durch den Fehlergeneratorschaltkreis 104 keine der Leitungen 106-112 aktivieren, da kein Fehler aufgetreten ist.
- Wenn eine Fehlersituation aufgetreten ist, sind die Eingänge zu den Logikgattern 70-84 nicht alle gleich, und am Ausgang der Logikgatter 70-82 wird ein Prüfbitsyndrom erzeugt, das das Vorhandensein eines Fehlers anzeigt. Dieses 7-Bit Syndrom wird dem Dekodierer 100 zugeführt, der an einem seiner 128 Ausgänge einen aktiven Zustand erzeugt, was dem Eingangssyndrom entspricht.
- Diese Ausgabe wird dem entsprechenden Eingang des Fehlergeneratorschaltkreises 104 zugeführt. Weitere Eingaben zum Schaltkreis 104 sind das Paritätssyndrom, das durch das Logikgatter 84 erzeugt wird, und das Prüfbitsyndrom (0-6). Diese Eingänge werden logisch verglichen, um auf Leitungen 106, 108, 110 und 112 eine von vier Ausgaben zu erzeugen. Die Logik zur Erzeugung der speziellen Ausgabe wird nachfolgend beschrieben.
- Das Auftreten eines Einzelbitfehlers in dem Datenwort wird als ein "weicher Fehler" bezeichnet. Das Vorhandensein eines Einzelbitfehlers kann bestimmt werden, und die Stelle des fehlerhaften Bits in dem Datenwort kann ebenfalls bestimmt werden. Dieses Bit wird dann invertiert, um ein korrektes Datenwort zu erzeugen. Dies ist ein herkömmlicher Hamming-Fehlererkennungs- und Fehlerkorrekturvorgang. Wenn dieses stattfindet, wird auf Leitung 106 ein Ausgabesignal erzeugt, das das Auftreten eines Einzelbitfehlers (weicher Fehler) anzeigt.
- Wenn jedoch in dem Datenwort und in den Prüfbits ein Mehrfachbitfehler aufgetreten ist, kann irgendeine der beiden anderen Ausgaben erzeugt werden. Wenn ein Dreifachbitfehler erkannt wird, wobei alle Fehler in einer der Speichereinrichtungen 12-30 auftreten, wird auf Leitung 110 eine Ausgabe erzeugt. Wenn aber ein Mehrfachbitfehler aufgetreten ist und nicht bestimmt werden kann, ob alle diese fehlerhaften Bits in einer der Speichereinrichtungen 12-30 aufgetreten sind, wird eine Ausgabe auf Leitung 108 erzeugt, die das Vorhandensein eines solchen Mehrfachbitfehlers anzeigt.
- Wenn ein Fehler bei einem der Prüfbits aufgetreten ist, die aus dem Speicher 10 gelesen wurden, wird ein Fehlersignal auf Leitung 112 erzeugt.
- Tabelle 1 zeigt das 8-Bit Syndrom, das am Ausgang der Gatter 70-84 für jeden Einzelbitfehlerzustand erzeugt wird. Die Datenbits werden als DBO-DB31 bezeichnet, und die Prüfbits werden als CB0-CB7 bezeichnet. Für jeden Einzelbitfehler ist das entsprechende Syndrom als ein hexadezimaler Wert gezeigt.
- Unter Bezugnahme auf Tabelle 2 sind die 128 möglichen Syndrome für das 7-Bit Prüfbit gezeigt, das die Syndrombits 0-6 enthält. Für jedes Syndrom ist der entsprechende Fehlertyp gezeigt. Die möglichen Fehlerarten sind Einzelbit, Dreifachbit, Mehrfachbit und Vierfachbit. Der Dekodierer 100 empfängt die 7-Bit Syndrom-Eingabe und aktiviert in Reaktion darauf einen seiner 128 Ausgänge.
- 30 Tabelle 3 zeigt die Syndrome, die durch die Logikgatter 70-84 erzeugt werden. Für jeden der 3- und 4-Bit Fehlerzustände, die in jedem der DRAM-Speicherschaltkreise 12-30 auftreten können, ist ein Syndrom gezeigt. Die Syndrome sind wiederum als hexadezimale Werte aufgeführt. Diese geben alle 8 Bits des Syndroms wieder, die an den Ausgängen der Logikgatter 70-84 erzeugt werden.
- Tabelle 4 zeigt jede der logischen Beziehungen zwischen den möglichen Syndromwerten und den Ausgängen, die auf den Leitungen 106, 108, 110 und 112 erzeugt werden. Ein Einzelbitfehler ist durch den Buchstaben "S" bezeichnet, ein Zweifachbitfehler durch den Buchstaben "D", ein Dreifachbitfehler durch den Buchstaben "T" und ein Vierfachbitfehler durch den Buchstaben "Q". Die Ziffern, die auf die Buchstaben folgen, stellen die Anzahl der Fehlerzustände dar, die durch diesen Eintrag gezeigt sind.
- Die Datenlisten in der Tabelle 1-4 in Verbindung mit den in FIGUREN 2 und 3 gezeigten Schaltkreisen definieren eindeutig die Logik in dem Fehlergeneratorschaltkreis 104 zur Erzeugung der ausgewählten vier Ausgänge auf Leitungen 106, 108, 110 und 112.
- Die vorliegende Erfindung sieht die Erkennung von Dreifachbitfehlern vor, die so vorliegen, daß solche Fehler in einem einzigen der Speicherschaltkreise 12-30 auftreten. Dreifachbitfehler, die über mehrere der Speicherschaltkreise 12-30 auftreten, werden nicht notwendigerweise erfaßt. Da jedoch solche Fehler wahrscheinlich infolge eines vollständigen Ausfalls von einem der Speicherschaltkreise auftreten, ist es höchst wahrscheinlich, daß jeder Dreifachbitfehler erfaßt wird.
- Obwohl verschiedene Ausführungsbeispiele der vorliegenden Erfindung in den beiliegenden Zeichnungen dargestellt und in der vorhergehenden detaillierten Beschreibung beschrieben wurden, ist es selbstverständlich, daß die Erfindung nicht auf die offenbarten Ausführungsbeispiele beschränkt ist, sondern daß zahlreiche Neuanordnungen, Abwandlungen und Ersetzungen möglich sind, ohne den Schutzbereich der Erfindung zu verlassen. TABELLE 1 TABELLE 2 TABELLE 3 TABELLE 4
Claims (6)
1. Verfahren zur Fehlerkorrektur und -erkennung für Daten, die
in einem Computerspeicher (10) gespeichert werden, mit den
Schritten:
- Erzeugen eines Fehlererkennungs- und Fehlerkorrektursatzes
von Speicherprüfbits für ein Datenwort durch Verwendung
eines ausgewählten Fehlerkorrekturcodes, der Einzelbitfehler
in dem Datenwort erkennt und korrigiert und
Mehrfachbitfehler erkennt,
- Erzeugen eines Speicherparitätsprüfbits für das
Datenwort,
- Speichern des Datenworts, des Speicherprüfbits und des
Speicherparitätsprüfbits in einem Computerspeicher (10), der
eine Mehrzahl von Multi-Bit-Speichereinrichtungen (12, 14,
16, 18, 20, 22, 24, 26, 28 und 30) aufweist, wobei in jeder
Speichereinrichtung (12, 14, 16, 18, 20, 22, 24, 26, 28 und
30) mehrere Bits des Datenworts gespeichert sind und in
keiner der Speichereinrichtungen (12, 14, 16, 18, 20, 22,
24, 26, 28 und 30) mehr als ein Speicherprüfbit oder
Speicherparitätsprüfbit gespeichert ist,
- Lesen des Datenworts, des Speicherprüfbits und des
Speicherparitätsprüfbits aus dem Computerspeicher (10), wobei
das Datenwort einen oder mehrere Bitfehler enthalten kann,
- Erzeugen eines Fehlererkennungs- und Fehlerkorrektursatzes
von Verifizierungsprüfbits für das Datenwort, das aus dem
Computerspeicher ausgelesen wurde, unter Anwendung des
ausgewählten Fehlerkorrekturcodes,
- Erzeugen eines Verifizierungsparitätsprüfbits für das
Datenwort, das aus dem Cornputerspeicher ausgelesen wurde,
- Vergleichen der aus dem Speicher ausgelesenen
Speicherprüfbits mit den Verifizierungsprüfbits, um ein
Prüfbitsyndrom zu erzeugen,
- Vergleichen des aus dem Computerspeicher (10) gelesenen
Speicherparitätsprüfbits mit den
Verifizierungsparitätsprüfbits, um ein Paritätssyndrom zu erzeugen, und
- Dekodieren des Prüfbitsyndroms und des Paritätssyndroms,
(a) Einzelbitfehler in dem aus dem Computerspeicher
ausgelesenen Datenwort zu erkennen und zu identifizieren,
wobei eine erste Ausgabe (106) erzeugt wird, oder
(b) Mehrfachbitfehler, die nicht alle in einer einzigen
Speichereinrichtung auftreten, zu erkennen, wobei eine
zweite Ausgabe (108) erzeugt wird, oder
(c) Dreifachbitfehler, die alle in den Datenbits
innerhalb einer der Speichereinrichtungen auftreten, zu
erkennen, wobei eine dritte Ausgabe (110) erzeugt wird, oder
(d) einen Prüfbitfehler zu erkennen, wobei eine vierte
Ausgabe (112) erzeugt wird.
2. Verfahren zur Fehlerkorrektur und -erkennung für Daten nach
Anspruch 1, wobei das Datenwort 32 Bits hat, der Satz von
Speicherprüfbits 7 Bits hat und jede der
Speichereinrichtungen (12, 14, 16, 18, 20, 22, 24, 26, 28 und 30) 4 Bits
speichert und wenigstens 3 der 4 Bits Datenbits des Datenworts
sind.
3. Verfahren zur Fehlerkorrektur und -erkennung für Daten nach
Anspruch 1, wobei der Satz von Speicherprüfbits eine
Minimalzahl von Bits für das Datenwort hat, um einen
Einzelbitfehler
zu erkennen und zu korrigieren und einen
Doppelbitfehler zu erkennen.
4. Fehlererkennungsschaltung (40) für einen Computerspeicher
(10), in dem ein Datenwort mit jeweils mehreren seiner Bits
in jeder aus einer Mehrzahl von Speichereinrichtungen (12,
14, 16, 18, 20, 22, 24, 26, 28 und 30) zusammen mit einem
Satz von Syndromprüfbits und einem Paritätsprüfbit für das
gespeicherte Datenwort gespeichert ist, mit:
- einer Mehrzahl von Syndromgeneratoren (42 - 54), die
jeweils zur Aufnahme einer separaten Untermenge von Bits des
Datenworts angeschlossen sind, das aus den
Speichereinrichtungen (12, 14, 16, 18, 20, 22, 24, 26, 28 und 30) des
Computerspeichers (10) ausgelesen wurde, wobei jeder der
Syndromgeneratoren (42 - 54) ein korrespondierendes
Prüfbitsyndrom erzeugt,
- einer Paritätsgeneratorschaltung (56) zum Erzeugen eines
Paritätsbits für das aus dem Computerspeicher gelesene
Datenwort,
- Logikschaltungen (70 - 82), die angeschlossen sind, um die
gespeicherten Syndromprüfbits, die aus dem Speicher gelesen
werden, und die erzeugten Syndromprüfbits aufzunehmen, um
ein Syndrom an seinen Ausgängen zu erzeugen,
- einer Logikschaltung (84), die angeschlossen ist, um das
gespeicherte Paritätsbit zu empfangen, das aus dem
Computerspeicher ausgelesen wird, und angeschlossen ist, um das
erzeugte Paritätsbit zu empfangen, um daraus ein
Paritätssyndrombit zu erzeugen,
- einer Dekodierschaltung (100), die angeschlossen ist, um
das Syndrom zu empfangen, das Syndrom zu dekodieren und
daraus ein Logiksignal auf wenigstens einer aus einer
Mehrzahl von seinen Ausgabeleitungen (102) zu erzeugen, und
- einer Fehlergeneratorschaltung (104), die mit den
Ausgabeleitungen der Dekodierschaltung (100) verbunden ist, um das
Logiksignal zu empfangen, und angeschlossen ist, um das
Syndrom und das Paritätssyndrom zu empfangen, um eine
Mehrzahl von Fehleranzeigesignalen (106 - 112) einschließlich
eines Einzelbitfehlersignals (106) zum Anzeigen eines
Einzelbitfehlers in dem Datenwort, eines
Mehrfachbitfehlersignals (108) zum Anzeigen einer Mehrzahl von Bitfehlern
verteilt über mehr als eine der Speichereinrichtungen, in denen
das Datenbit und Prüfbits gespeichert wurden, und eines
Dreifachbitfehlersignals (110) zu erzeugen, das wenigstens
drei Bitfehler in einer der Speichereinrichtungen anzeigt.
5. Fehlererkennungsschaltung für einen Computerspeicher (10)
nach Anspruch 4, wobei jede der Syndrorngeneratorschaltungen
(42 - 54) ein ODER-Gate ist und die Logikschaltungen
(70 - 82), die angeschlossen sind, um die gespeicherten
Syndromprüfbits zu empfangen, ODER-Gates sind.
6. Fehlererkennungsschaltung für einen Computerspeicher (10)
nach Anspruch 4, wobei die Fehlergeneratorschaltung auch ein
Prüfbitfehlersignal (112) erzeugt, das das Vorhandensein
eines Bitfehlers in den in der Mehrzahl von
Speichereinrichtungen (12, 14, 16, 18, 20, 22, 24, 26, 28 und 30)
gespeicherten Prüfbits anzeigt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/647,408 US5291498A (en) | 1991-01-29 | 1991-01-29 | Error detecting method and apparatus for computer memory having multi-bit output memory circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69220818D1 DE69220818D1 (de) | 1997-08-21 |
DE69220818T2 true DE69220818T2 (de) | 1998-02-19 |
Family
ID=24596873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69220818T Expired - Lifetime DE69220818T2 (de) | 1991-01-29 | 1992-01-10 | Verfahren und Einrichtung zur Fehlererkennung in Recherspeichern versehen mit Mehrfach-bit-Ausgängen |
Country Status (4)
Country | Link |
---|---|
US (1) | US5291498A (de) |
EP (1) | EP0497110B1 (de) |
JP (1) | JP3325914B2 (de) |
DE (1) | DE69220818T2 (de) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04290144A (ja) * | 1991-03-19 | 1992-10-14 | Hitachi Ltd | メモリ拡張方式 |
US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
US5539754A (en) * | 1992-10-05 | 1996-07-23 | Hewlett-Packard Company | Method and circuitry for generating syndrome bits within an error correction and detection circuit |
US5751744A (en) * | 1993-02-01 | 1998-05-12 | Advanced Micro Devices, Inc. | Error detection and correction circuit |
US5555250A (en) * | 1994-10-14 | 1996-09-10 | Compaq Computer Corporation | Data error detection and correction system |
US5745508A (en) * | 1995-11-13 | 1998-04-28 | Tricord Systems, Inc. | Error-detection code |
US5751740A (en) * | 1995-12-14 | 1998-05-12 | Gorca Memory Systems | Error detection and correction system for use with address translation memory controller |
US5922080A (en) * | 1996-05-29 | 1999-07-13 | Compaq Computer Corporation, Inc. | Method and apparatus for performing error detection and correction with memory devices |
CN1073724C (zh) * | 1997-02-19 | 2001-10-24 | 华为技术有限公司 | 计算机存储器的维护方法 |
JP3184129B2 (ja) * | 1997-09-29 | 2001-07-09 | 甲府日本電気株式会社 | 記憶装置 |
US6301680B1 (en) | 1998-09-24 | 2001-10-09 | Sun Microsystems, Inc. | Technique for correcting single-bit errors and detecting paired double-bit errors |
US6304992B1 (en) | 1998-09-24 | 2001-10-16 | Sun Microsystems, Inc. | Technique for correcting single-bit errors in caches with sub-block parity bits |
US6282686B1 (en) * | 1998-09-24 | 2001-08-28 | Sun Microsystems, Inc. | Technique for sharing parity over multiple single-error correcting code words |
US6233716B1 (en) | 1998-09-24 | 2001-05-15 | Sun Microsystems, Inc. | Technique for partitioning data to correct memory part failures |
US6574746B1 (en) | 1999-07-02 | 2003-06-03 | Sun Microsystems, Inc. | System and method for improving multi-bit error protection in computer memory systems |
US6662333B1 (en) * | 2000-02-04 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Shared error correction for memory design |
US6785837B1 (en) * | 2000-11-20 | 2004-08-31 | International Business Machines Corporation | Fault tolerant memory system utilizing memory arrays with hard error detection |
US6732291B1 (en) * | 2000-11-20 | 2004-05-04 | International Business Machines Corporation | High performance fault tolerant memory system utilizing greater than four-bit data word memory arrays |
US6691042B2 (en) * | 2001-07-02 | 2004-02-10 | Rosetta Inpharmatics Llc | Methods for generating differential profiles by combining data obtained in separate measurements |
JP4056488B2 (ja) * | 2004-03-30 | 2008-03-05 | エルピーダメモリ株式会社 | 半導体装置の試験方法及び製造方法 |
US7099221B2 (en) * | 2004-05-06 | 2006-08-29 | Micron Technology, Inc. | Memory controller method and system compensating for memory cell data losses |
US7398449B1 (en) | 2004-06-16 | 2008-07-08 | Azul Systems, Inc. | Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module |
US20060010339A1 (en) * | 2004-06-24 | 2006-01-12 | Klein Dean A | Memory system and method having selective ECC during low power refresh |
US7340668B2 (en) * | 2004-06-25 | 2008-03-04 | Micron Technology, Inc. | Low power cost-effective ECC memory system and method |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US6965537B1 (en) | 2004-08-31 | 2005-11-15 | Micron Technology, Inc. | Memory system and method using ECC to achieve low power refresh |
US7353437B2 (en) * | 2004-10-29 | 2008-04-01 | Micron Technology, Inc. | System and method for testing a memory for a memory failure exhibited by a failing memory |
US7607071B2 (en) * | 2005-01-28 | 2009-10-20 | Intel Corporation | Error correction using iterating generation of data syndrome |
US20060242537A1 (en) * | 2005-03-30 | 2006-10-26 | Dang Lich X | Error detection in a logic device without performance impact |
US7478307B1 (en) | 2005-05-19 | 2009-01-13 | Sun Microsystems, Inc. | Method for improving un-correctable errors in a computer system |
US7894289B2 (en) * | 2006-10-11 | 2011-02-22 | Micron Technology, Inc. | Memory system and method using partial ECC to achieve low power refresh and fast access to data |
US7900120B2 (en) | 2006-10-18 | 2011-03-01 | Micron Technology, Inc. | Memory system and method using ECC with flag bit to identify modified data |
TW200929237A (en) * | 2007-12-21 | 2009-07-01 | Winbond Electronics Corp | Memory architecture and configuration method thereof |
JP5353655B2 (ja) * | 2009-11-18 | 2013-11-27 | 富士通株式会社 | エラー検出・訂正符号生成回路及びその制御方法 |
US8589762B2 (en) | 2011-07-05 | 2013-11-19 | International Business Machines Corporation | Adaptive multi-bit error correction in endurance limited memories |
US9037943B2 (en) * | 2012-10-26 | 2015-05-19 | Intel Corporation | Identification of non-volatile memory die for use in remedial action |
US9450614B2 (en) * | 2013-09-13 | 2016-09-20 | Rambus Inc. | Memory module with integrated error correction |
US10559351B2 (en) * | 2017-02-20 | 2020-02-11 | Texas Instruments Incorporated | Methods and apparatus for reduced area control register circuit |
KR20180138394A (ko) * | 2017-06-21 | 2018-12-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
EP4420004A4 (de) * | 2021-10-18 | 2025-07-02 | Micron Technology Inc | Ecc-leistungsverbrauchsoptimierung in speichern |
US11955989B2 (en) | 2022-08-21 | 2024-04-09 | Nanya Technology Corporation | Memory device and test method thereof |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3685014A (en) * | 1970-10-09 | 1972-08-15 | Ibm | Automatic double error detection and correction device |
US4030067A (en) * | 1975-12-29 | 1977-06-14 | Honeywell Information Systems, Inc. | Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes |
US4077028A (en) * | 1976-06-14 | 1978-02-28 | Ncr Corporation | Error checking and correcting device |
US4209846A (en) * | 1977-12-02 | 1980-06-24 | Sperry Corporation | Memory error logger which sorts transient errors from solid errors |
US4168486A (en) * | 1978-06-30 | 1979-09-18 | Burroughs Corporation | Segmented error-correction system |
GB2136248A (en) * | 1983-02-25 | 1984-09-12 | Philips Electronic Associated | Text error correction in digital data transmission systems |
US4617664A (en) * | 1984-06-29 | 1986-10-14 | International Business Machines Corporation | Error correction for multiple bit output chips |
US4713816A (en) * | 1986-02-25 | 1987-12-15 | U.S. Philips Corporation | Three module memory system constructed with symbol-wide memory chips and having an error protection feature, each symbol consisting of 2I+1 bits |
US4805173A (en) * | 1986-09-15 | 1989-02-14 | Thinking Machines Corporation | Error control method and apparatus |
US4775978A (en) * | 1987-01-12 | 1988-10-04 | Magnetic Peripherals Inc. | Data error correction system |
JP2583547B2 (ja) * | 1988-01-13 | 1997-02-19 | 株式会社日立製作所 | 半導体メモリ |
EP0401994A3 (de) * | 1989-06-05 | 1991-10-23 | Hewlett-Packard Company | Verfahren zur Ausführung eines fehlerkorrigierten Speichers |
US5117428A (en) * | 1989-11-22 | 1992-05-26 | Unisys Corporation | System for memory data integrity |
-
1991
- 1991-01-29 US US07/647,408 patent/US5291498A/en not_active Expired - Lifetime
-
1992
- 1992-01-10 EP EP92100324A patent/EP0497110B1/de not_active Expired - Lifetime
- 1992-01-10 DE DE69220818T patent/DE69220818T2/de not_active Expired - Lifetime
- 1992-01-29 JP JP05303392A patent/JP3325914B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3325914B2 (ja) | 2002-09-17 |
EP0497110B1 (de) | 1997-07-16 |
JPH05108495A (ja) | 1993-04-30 |
EP0497110A1 (de) | 1992-08-05 |
US5291498A (en) | 1994-03-01 |
DE69220818D1 (de) | 1997-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69220818T2 (de) | Verfahren und Einrichtung zur Fehlererkennung in Recherspeichern versehen mit Mehrfach-bit-Ausgängen | |
DE3853206T2 (de) | Verfahren und gerät zur byteschreibfehlerkodierung. | |
DE3586851T2 (de) | Fehlerkorrekturverfahren und anordnung fuer chips mit multibitausgabe. | |
DE60001370T2 (de) | Verfahren und vorrichtung zur erkennung von doppelbitfehlern und korrektur von fehlern durch bauelementfehler verursacht | |
DE60117066T2 (de) | Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes | |
DE60015753T2 (de) | System und verfahren zum schutz von daten und zur korrektur von bitfehlern folgend aus komponentenfehlern | |
DE69026743T2 (de) | Fehlertolerantes Speichersystem | |
DE69112624T2 (de) | Mehrfehlerkorrektur eines rechnerspeichers. | |
DE3689128T2 (de) | Halbleiterspeichergerät mit einer Korrekturfunktion. | |
DE3789418T2 (de) | Ausfallerkennung von Fehlerprüfungs- und -korrekturschaltung. | |
DE60006031T2 (de) | Speicherfehlerkorrektur mit einem redundanten geschnittenen Speicher und Standard ECC Mechanismus | |
DE2260850C2 (de) | Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern | |
DE2942998C2 (de) | Fehler-Korrektur- und Erkennungs-Anordnung | |
DE69126057T2 (de) | Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung | |
DE68920523T2 (de) | Verfahren zur Korrektur von Mehr-Byte-Fehlern. | |
DE3111447C2 (de) | ||
DE3882223T2 (de) | Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden. | |
DE3876459T2 (de) | Speicher und deren pruefung. | |
DE112022001547T5 (de) | Speicheradressenschutz | |
DE3784181T2 (de) | Fehlererkennung unter verwendung von paritaetspruefung mit veraenderlichem feld. | |
DE19829234A1 (de) | Prüfverfahren für einen Halbleiter-Datenspeicher und Halbleiter-Datenspeicher | |
DE69904618T2 (de) | Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern | |
DE2157829C2 (de) | Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern | |
DE102013109315B4 (de) | Verfahren und Datenverarbeitungseinrichtung zum Rekonstruieren eines Vektors | |
DE69317766T2 (de) | Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |