DE69821698T2 - Fehlerdetektion und Korrektur in einem Datenspeichersystem mit ununterbrochenen Übertragungsfunktionsspeicheranordnungen - Google Patents

Fehlerdetektion und Korrektur in einem Datenspeichersystem mit ununterbrochenen Übertragungsfunktionsspeicheranordnungen Download PDF

Info

Publication number
DE69821698T2
DE69821698T2 DE1998621698 DE69821698T DE69821698T2 DE 69821698 T2 DE69821698 T2 DE 69821698T2 DE 1998621698 DE1998621698 DE 1998621698 DE 69821698 T DE69821698 T DE 69821698T DE 69821698 T2 DE69821698 T2 DE 69821698T2
Authority
DE
Germany
Prior art keywords
data
ecc
write
read
units
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 - Fee Related
Application number
DE1998621698
Other languages
English (en)
Other versions
DE69821698D1 (de
Inventor
Tsuyoshi Kofu-shi Kishino
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE69821698D1 publication Critical patent/DE69821698D1/de
Application granted granted Critical
Publication of DE69821698T2 publication Critical patent/DE69821698T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F11/1012Adding 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/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • 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
    • G06F11/1012Adding 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

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft ein Speichern unter Verwendung einer Speichereinrichtung mit einer kontinuierlichen Übertragungsfunktion, wie sie durch einen SRAM (synchroner Direktzugriffsspeicher) oder einen DRAM (dynamischer RAM) mit EDO (Extended Data Out = beschleunigte Datenausgabe) verkörpert wird. Insbesondere beschäftigt sich die vorliegende Erfindung mit einem Speicher, der Mittel zum Erzeugen eines einzelnen ECC (Error Correcting Code = Fehlerkorrekturcode) umfaßt, die Datenfehlersteuertechnologien für N Lese-/Schreibeinheiten eigen sind, und zum Steuern von Fehlerkorrektur/-erfassung.
  • Halbleiterspeichereinrichtungen, die durch DRAMs verkörpert werden, sind üblicherweise je nach Notwendigkeit zum Speichern von Programmen und/oder Berechnungsdaten in Computern und ihren Peripheriegeräten verwendet worden. Um genaue Daten in einer Halbleiterspeichereinrichtung zu speichern, ist es die übliche Verfahrensweise, ein ECC-System zu verwenden, wobei eine vorausgewählte Anzahl an Prüf- oder Fehlerbits, die für einen ECC notwendig sind, zu Datenbits hinzugefügt wird, sie zusammen in die Speichereinrichtung geschrieben werden und zur Zeit des Lesens der Daten basierend auf den Datenbits und den Prüfbits mit einer Fehlererkennungsschaltung Fehler erkannt oder korrigiert werden. Weiterhin sollte vorzugsweise das Verhältnis der Anzahl von Prüfbits zur Anzahl der Datenbits vom Standpunkt der Hardwaremenge her, d. h. der Anzahl der Speichereinrichtungen, reduziert werden. In Anbetracht dessen ist ein ECC-System, das allgemein als SEC-DED (Einzelbitfehlerkorrektur-Doppelbitfehlererkennung) bezeichnet wird, über die anderen ECC-Systeme vorherrschend.
  • Heute nimmt die Kapazität von Speichereinrichtungen parallel mit dem Fortschritt von Halbleitertechnologien zu, während selbst Personal-Computer außerordentlich hohe Speicherkapazität aufweisen müssen. Die zu erweiternde Einheitsspeicherkapazität sollte jedoch wegen der Marktbedürfnisse und unter dem Produktstandpunkt vorzugsweise so klein wie möglich sein. Darüber hinaus besteht derzeit ein Trend zu einem DRAM mit mehrfachen Bits, z. B. vier Bits oder acht Bits im Unterschied zu einem einzigen Bit, um den Raum und die Kosten zu verringern, die dem DRAM zuzuordnen sind. Unter Berücksichtigung der steigenden Betriebsgeschwindigkeit von Prozessoren ist eine schnelle Datenübertragung an eine Speichereinrichtung eine weitere Voraussetzung. Um diese Anforderung zu erfüllen, ist vor kurzem ein DRAM oder ein SDRAM mit EDO entwickelt worden, der in der Lage ist, Daten bei höherer Geschwindigkeit als der herkömmliche DRAM zu übertragen.
  • Wenn die Anzahl der Bits der Speichereinrichtung erhöht wird, kann das herkömmliche SEC-DED-ECC-System jedoch keine einzelne Speichereinrichtung aus allen Fehlern wiederherstellen. Es ist daher notwendig, die Anzahl der Prüfbits zu erhöhen, um alle Fehler einer Mehrzahl an Bits zu beheben, oder um Daten über Software physikalisch so auszubreiten, daß die Fehler einer Mehrzahl an Bits nicht in einem einzelnen ECC überlappen. Das Datenausbreitungsschema wird durch die offengelegte japanische Patent-Veröffentlichung Nr. 61-177559 gelehrt. Das erstgenannte Schema ist jedoch nicht praktikabel, ohne unter dem Aspekt der Fehlerkorrekturtheorie auf eine untragbare Anzahl an Bits zurückzugreifen, was zu einer Zunahme der Hardware (Anzahl der Speichereinrichtungen) zum Speichern von Daten führt, die aus Datenbits und Prüfbits bestehen.
  • Der Grund dafür, daß die Anzahl an Speichereinrichtungen mit einem Anstieg der Anzahl an Prüfbits (ECC) ansteigt, ist wie folgt. Die Beziehung zwischen der Anzahl der Datenbits und der Anzahl der Prüfbits, die für eine ECC-Funktion notwendig sind, wie sie durch die ECC-Codetheorie bestimmt werden, ist wie folgt. Jeder unten gezeigte Zustand ist im Stand der Technik wohlbekannt.
  • Figure 00020001
  • Wie oben aufgelistet, nimmt das Verhältnis der Anzahl von Prüfbits zur Anzahl von Datenbits ab (vergleiche Posten Nr. 1 und 2), obwohl die Anzahl der Prüfbits, die zum Implementieren der gleichen ECC-Funktion notwendig ist, mit einer Zunahme in der Anzahl Datenbits zunimmt. Selbst wenn die Anzahl Datenbits und die ECC-Korrekturfunktion verdoppelt oder vervierfacht werden, ist die Anzahl Prüfbits geringer als das Doppelte bzw. Vierfache. Als Ergebnis wird die Effizienz mit Bezug auf die Fehlererkennungs-/-Korrekturfunktion verbessert (vergleiche Posten Nr. 1, 3 und 4).
  • Die obigen herkömmlichen Technologien lassen die folgenden Probleme jedoch ungelöst. Um die Fehler einer Mehrzahl Bits mit einem ECC zu erkennen oder zu korrigieren, muß der Umfang an Hardware (Anzahl der Speichereinrichtungen), der den Prüfbits zugewiesen werden soll, gesteigert werden. Genauer ist die Erkennung/Korrektur der Fehler einer Mehrzahl Bits nicht praktikabel, ohne auf Prüfbits zurückzugreifen, d. h. Hardware (Anzahl Speichereinrichtungen), die ausreichend ist, einer solchen Anzahl Prüfbits Rechnung zu tragen. Andererseits nimmt die Fähigkeit, den Speicher zu übertragen, während die Hardware einer Fehlersteuerschaltung zunimmt, ab, wenn das physikalische Ausbreiten von Daten unter Verwendung von Software verwendet wird, um die Fehler einer Mehrzahl Bits mit SEC-DED zu erkennen. Dies liegt daran, daß aufgrund der Zwischensoftware und, weil exklusive Hardware notwendig ist, um die Daten auszubreiten, zur Zeit der Datenübertragung ein Zusatz- bzw. Verwaltungsplatzbedarf auftritt.
  • US-A-5,313,624 offenbart einen DRAM-Multiplexer, der ein Fehlerkorrekturmodul umfaßt. Das ECC-Modul erzeugt einen Fehlerkorrekturindex, der auch "Syndrom" genannt wird, aus einer vorbestimmten Anzahl Datenbits, die übertragen werden, und vergleicht das erzeugte Syndrom mit einem empfangenen Syndrom. Das Vergleichsergebnis gibt an, ob im Satz Datenbits Fehler vorhanden sind. Dieser DRAM-Multiplexer verwendet eine Ausführungsform des oben erwähnten Verfahrens des physikalischen Ausbreitens von Daten.
  • US-A-5,313,624 offenbart einen DRAM-Multiplexer, der ein Fehlerkorrekturmodul umfaßt. Das ECC-Modul erzeugt einen Fehlerkorrekturindex, der auch "Syndrom" genannt wird, aus einer vorbestimmten Anzahl Datenbits, die übertragen werden, und vergleicht das erzeugte Syndrom mit einem empfangenen Syndrom. Das Vergleichsergebnis gibt an, ob im Satz Datenbits Fehler vorhanden sind. Dieser DRAM-Multiplexer verwendet eine Ausführungsform des oben erwähnten Verfahrens des physikalischen Ausbreitens von Daten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher ein Ziel der vorliegenden Erfindung, einen Speicher bereitzustellen, der einen SDRAM, DRAM mit EDO oder eine ähnliche Speichereinrichtung mit einer kontinuierlichen Übertragungsfunktion verwendet.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, einen Speicher bereitzustellen, der in der Lage ist, in der Korrektur/Erkennung von Fehlern von Daten mit einem ECC das Verhältnis von Prüfbits zu Datenbits zu reduzieren und dadurch die erforderliche Anzahl Speicherelemente so weit wie möglich zu reduzieren, während der Fehler eines einzelnen Speichers behoben wird, dessen Bitanzahl steigt.
  • In Übereinstimmung mit der vorliegenden Erfindung wird in einem Speicher, der in der Lage ist, einen ECC zum Korrigieren von N (N > 1) Daten zu erzeugen und den ECC den Daten hinzuzufügen, um dadurch eine Lese-/Schreibeinheit zu bilden, ein ECC für jedes N der Daten erzeugt, gleichermaßen in N ECC-Teile aufgeteilt und dann den jeweiligen N Daten hinzugefügt, um dadurch Lese-/Schreibeinheiten zu bilden. Die Lese-/Schreibeinheiten werden kontinuierlich geschrieben und aus N kontinuierlichen Adressen einer Speichereinrichtung gelesen.
  • Weiterhin umfaßt in Übereinstimmung mit der vorliegenden Erfindung ein Speicher, der in der Lage ist, einen ECC zum Korrigieren von N (N > 1) Daten zu erzeugen und den ECC den Daten hinzuzufügen, um dadurch eine Lese-/Schreibeinheit zu bilden, eine Schreibschaltung zum Erzeugen eines ECC für N von Schreibdaten, die von einem Host/Wirt empfangen werden, Hinzufügen von N gleichermaßen aufgeteilten ECC-Teilen zu den jeweiligen N Schreibdaten, um dadurch N Schreibeinheiten zu bilden, und Schreiben der N Schreibeinheiten an jeweilige N kontinuierliche Adressen einer Halbleiterspeichereinrichtung.
  • Eine Leseschaltung sammelt die N gleichermaßen aufgeteilten ECC-Codeteile, die in Lesedateneinheiten enthalten sind, die aus den N kontinuierlichen Adressen der Halbleiterspeichereinrichtung ausgelesen wurden, um dadurch den ECC zu rekonstruieren, und korrigiert Fehler der N Lesedateneinheiten mit dem rekonstruierten ECC.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und weitere Ziele, Merkmale und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung zusammen mit den begleitenden Zeichnungen deutlich, in denen:
  • 1 ein Blockdiagramm ist, das schematisch ein herkömmliches System zeigt;
  • 2 ein Blockdiagramm ist, das schematisch einen Speicher zeigt, der die Erfindung verkörpert;
  • 3 und 4 Zeitdiagramme sind, die einen Lesevorgang bzw. einen Schreibvorgang zeigen, die der beispielhaften Ausführungsform eigen sind;
  • 5 eine spezielle Anordnung von in einer Speichereinrichtung gespeicherten Daten zeigt, die in der beispielhaften Ausführungsform enthalten ist (einmalige kontinuierliche Übertragung);
  • 6 eine spezielle Anordnung von in der Speichereinrichtung gespeicherten Daten zeigt (zweimalige kontinuierliche Übertragung);
  • 7 eine spezielle Anordnung von in der Speichereinrichtung gespeicherten Daten zeigt (viermalige kontinuierliche Übertragung).
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1 der Zeichnungen zeigt das herkömmliche System, das durch die vorstehend erwähnte offengelegte japanische Patent-Veröffentlichung Nr. 61-177559 gelehrt wird, d. h. das System, das physikalisch gespeicherte Daten mit einem Softwareschema ausbreitet, um zu verhindern, daß die Fehler einer Mehrzahl Bits in einem einzigen ECC überlappen. Wie gezeigt, umfaßt das System Datenausbreitungsmittel 14 und Datenrekonstruktionsmittel 15, die jeweils durch einen ROM (Festspeicher) implementiert werden. Die beiden Mittel 14 und 15 speichern jeweils eine Tabelle, die Adreßdaten auflistet, die die physikalischen Speicherplätze von Daten bezeichnen.
  • Bezugnehmend auf 2 wird ein Speicher allgemein durch die Bezugszahl 1 bezeichnet. Er umfaßt Schreibdatenregister 10110n, um N Schreibdaten 100, die dem Speicher 1 von einem Host/Wirt eingegeben werden, für eine vorausgewählte Zeitdauer zu halten. Die von den Schreibdatenregistern 10110n ausgegebenen Daten werden auf eine ECC-Schaltung 2 angewandt, die einen ECC zum Implementieren einer ECC-Funktion erzeugt, während der ECC für eine vorausgewählte Zeitdauer gehalten wird. Ein Selektor 3 empfängt die von den Schreibdatenregistern 10110n ausgegebenen Daten und N von der ECC-Schaltung 2 ausgegebene, gleichermaßen geteilte ECC-Teile. In Reaktion gibt der Selektor 3 Schreibdaten 31 in Übereinstimmung mit einer kontinuierlichen Schreibfunktion aus, die mit einer Speichereinrichtung 4 verfügbar ist. Letztere speichert einzeln N kontinuierliche Schreibdaten 31 in ihrem "erstes Mal" 41 bis "N-tes Mal" 4n. Lesedatenregister 20120n empfangen aus der Speichereinrichtung 4 ausgelesene Daten 40 und halten N Lesedaten 40 für eine vorausgewählte Zeitdauer. Eine Fehlererkennung 5 sammelt die N gleichermaßen geteilten ECC-Teile, die in den von den Lesedatenregistern 20120n ausgegebenen Daten vorhanden sind, um dadurch einen einzelnen ECC zu rekonstruieren. Fehlererkennung 5 erkennt Fehlerbits aus den N Lesedaten, indem sie den obigen rekonstruierten ECC verwendet, und hält Fehlerbitinformationen für eine vorausgewählte Zeitdauer. Die Fehlerbitinformationen werden einer Fehlerkorrektur 6 gemeinsam mit den Datenbits der Lesedatenregister 20120n zugeführt. Als Antwort korrigiert die Fehlerkorrektur 6 das Datenbit auf Basis der Fehlerbitinformationen und gibt dann N Lesedaten 200 aus.
  • Ein spezieller Vorgang der beispielhaften Ausführungsform wird mit Bezug auf 3 und 4 beschrieben. Wie in 3 gezeigt, wird eine vom Wirt empfangene Folge von Schreibdaten 100 (WD01–WD0n) sequentiell in die Schreibdatenregister 10110n eingegeben, die die eingegebenen Daten WD01–WD0n jeweils für eine vorausgewählte Zeitdauer halten.
  • Wenn die in die Schreibdatenregister 10110n geschriebenen Daten eine vorausgewählte Anzahl Datenbits erreichen, die einem einzelnen ECC entspricht, der N Daten zugewiesen ist, erzeugt ECC-Schaltung 2 einen ECC, der alle Datenbits zum Ausführen der ECC-Funktion abdeckt. ECC-Schaltung 2 hält ECC-Prüfbits für eine vorausgewählte Zeitdauer. In diesem Moment werden alle Datenbits und Prüfbits bestimmt, die in die Speichereinrichtung 4 geschrieben werden sollen. Die ECC-Schaltung 2 teilt daher alle Daten und Prüfbits gleichermaßen in N Teile, um dadurch N zu schreibende Einheiten zu bilden. Die ECC-Schaltung 2 schreibt die N Einheiten einzeln sequentiell zum "ersten Mal" 41 zum "n-ten Mal" 4n der Speichereinrichtung 4 über den Selektor 3, indem die kontinuierliche Übertragungsfunktion verwendet wird.
  • Sobald von der ECC-Schaltung 2 ein einzelner ECC erzeugt wird, können die Schreibdatenregister 10110n damit beginnen, die nächsten Schreibdaten 100 zu speichern, die einem weiteren ECC entsprechen. Indem ein solcher Vorgang wiederholt wird, ist der Speicher 1 in der Lage, kontinuierlich Schreibdaten in die Speichereinrichtung 4 einzugeben.
  • 4 zeigt einen Datenlesevorgang. Wie gezeigt, wird eine Sequenz von Daten 40, in 4 als 41141n bezeichnet, die einzeln aus der Speichereinrichtung 4 ausgelesen werden, jeweils sequentiell an Lesedatenregister 20120n geschrieben. Insbesondere bestehen die Daten 41141n jeweils auf die gleiche Weise wie zur Zeit des Datenlesens aus N gleicher maßen geteilten Datenbitteilen 41141n und N gleichermaßen geteilten ECC-Teilen. Register 20120n speichern die Datenbitteile 41141n und die ECC-Teile für eine vorausgewählte Zeitdauer.
  • Fehlererkennung 5 bestimmt mit der vorausgewählten ECC-Funktion, ob in den Datenbits oder den Prüfbits, die von den Lesedatenregistern 201 und 20n ausgegeben werden, ein Fehler besteht oder nicht. Wenn ein korrigierbarer Fehler in den Datenbits oder den Prüfbits besteht, hält Fehlererkennung 5 Bitinformationen, die den Fehler betreffen, für eine vorausgewählte Zeitdauer. Fehlerkorrektur 6 korrigiert basierend auf Fehlerbitinformationen, die in der Fehlererkennung 5 gehalten werden, ein fehlerhaftes Datenbit und sendet dann N Daten RD01–RD0n als Lesedaten 200 an den Wirt.
  • Das Prinzip der Fehlerkorrektur, die der beispielhaften Ausführungsform eigen ist, ist wie folgt. Daten werden auf einer ECC-Basis kontinuierlich an eine Speichereinrichtung übertragen und in den kontinuierlichen Adressen der Speichereinrichtung gespeichert. Mit dieser Prozedur ist es möglich, das Verhältnis der Prüfbits zu den ECC-basierenden Datenbits zu reduzieren, das im Codetheorieaspekt klargestellt worden ist. Eine spezielle Reduzierung von Hardware (Anzahl von Speichereinrichtungen), die mit der beispielhaften Ausführungsform erreichbar ist, wird unten gezeigt, wobei SEC-DED als Beispiel genommen wird.
  • Figure 00070001
  • Der Grund dafür, daß sich das ECC-System in Übereinstimmung mit der Anzahl Male der kontinuierlichen Übertragung ändert, ist wie folgt.
  • Nimmt man einmalige kontinuierliche Übertragung an, die dem herkömmlichen System *1 eigen ist, hat der Fehler einer einzelnen Speichereinrichtung nur Einfluß auf ein Bit. Im Gegensatz dazu erstreckt sich der Einfluß des obigen Fehlers im Fall von zweimaliger kontinuierlicher Übertragung *2 über zwei Bits oder im Fall von viermaliger kontinuierlicher Übertragung *3 sogar über 4 Bits. Um die ECC-Funktion (Wiederherstellung einer einzigen Speichereinrichtung von einem Fehler), die einer solchen gleichwertig ist, die mit einmaliger kontinuierlicher Übertragung erreichbar ist, zu bewahren, müssen daher zwei aufeinanderfolgende Bits bzw. vier aufeinanderfolgende Bits im Fall von zweimaliger Übertragung bzw. im Fall von viermaliger Übertragung vollständig korrigiert werden. Dies wird nachfolgend mit Bezug auf 5, 6 und 7 genauer beschrieben.
  • 5 zeigt eine spezielle Anordnung von Daten in einer Speichereinrichtung für einmalige kontinuierliche Übertragung. Wie gezeigt, sind Datenbits D000–D031 32 Bits, die eine Einheitsdatenlänge darstellen. Sieben Prüfbits (C00–C06) eines ECC werden den obigen 32 Datenbits D000–C031 hinzugefügt, was eine ECC-Einheit für das SEC-DED-System darstellt. Wie 5 andeutet, sind sieben Prüfbits für das SEC-DED-ECC-System notwendig. 6 und 7 zeigen eine spezielle Datenanordnung für die zweimalige kontinuierliche Übertragung bzw. eine spezielle Datenanordnung für die viermalige kontinuierliche Übertragung. Wie in 5 gezeigt, kann der Fehler eines einzigen Speicherelements ein Bit gespeicherter Daten zerstören, wenn die kontinuierliche Übertragung nur einmal bewirkt wird. Im Gegensatz dazu werden im Fall von zweimaliger kontinuierlicher Übertragung (6) Daten zweimal an das gleiche Speicherelement geschrieben, so daß möglicherweise zwei Datenbits durch den Fehler eines einzelnen Speicherelements zerstört werden. Gleichermaßen werden im Fall von viermaliger kontinuierlicher Übertragung (7) möglicherweise vier Datenbits durch den Fehler eines einzigen Speicherelements zerstört.
  • Wenn das Fehlererkennungs-/-Korrekturschema der obigen Ausführungsform verwendet wird, ist es notwendig, das ECC-System anpassenderweise zu ändern, d. h. bis zu welchem Bit Korrektur/Erkennung in Übereinstimmung mit der Anzahl Male der kontinuierlichen ECC-für-ECC-Übertragung erlaubt ist. Während angenommen wird, daß die Speichereinrichtung 4 ein einzelnes Bit aufweist, wird deutlich, daß die Erfindung praktikabel ist, wenn ein angemessenes ECC-System ausgewählt wird, indem der Bereich berücksichtigt wird, auf den sich der Fehler einer einzelnen Speichereinrichtung erstreckt, selbst wenn die Einrichtung 4 eine Mehrzahl Bits aufweist.
  • Zusammenfassend ist die Erfindung in einem System zum Erkennen oder Korrigieren der Fehler von im einem Speicher gespeicherten Daten unter Verwendung eines SDRAM, DRAM mit EDO oder einer ähnlichen Speichereinrichtung mit einer kontinuierlichen Übertragungsfunktion in der Lage, Hardware (Anzahl Speichereinrichtungen) für einen einzigen ECC zu reduzieren, ohne die Übertragbarkeit des Speichers zu verschlechtern, während die Fehlererkennungs-/-korrekturfunktion für die vollständige Wiederherstellung einer einzelnen Speichereinrichtung von Fehlern bewahrt wird. Insbesondere wird die Anzahl Prüfbits relativ zur Anzahl von ECC-basierenden Datenbits aufgrund einer Zunahme der Anzahl Datenbits reduziert, wie unter dem Aspekt der Codetheorie offensichtlich ist, wenn ein ECC durch die kontinuierliche Übertragungsfunktion der Einrichtung in die kontinuierlichen Adressen einer Speichereinrichtung geschrieben wird. Dies reduziert erfolgreich die Einheitsdatenlänge, die geschrieben und gelesen werden soll und N gleichermaßen aufgeteilte ECC-Codeteile umfaßt. Zusätzlich können Lese-/Schreibadressen ohne die Vermittlung von Software gesteuert werden, so daß die Übertragungsfunktion des Speichers bewahrt wird. Wenn zum Beispiel 32 Bits kontinuierlich zweimal geschrieben werden, hat ein ECC für 32 × 2 64 Bits zwölf Bits. Wenn ein ECC zu jeder 32-Bitsequenz hinzugefügt wird, hat der resultierende ECC vierzehn Bits, d. h. zwei Bits mehr als zwölf Bits.
  • Darüber hinaus ist die Erfindung in einem System zum Erkennen/Korrigieren von Fehlern von in einem Speicher gespeicherten Daten unter Verwendung einer Speichereinrichtung mit mehreren Bits in der Lage, die Fehler einer einzelnen Speichereinrichtung zu beheben, ohne die Anzahl der Speichereinrichtungen zu erhöhen, verglichen mit der herkömmlichen Technologie der Art, die Daten an verschiedene ECC-Einheiten ausbreitet. Insbesondere war es üblich, die Anzahl Prüfbits zur Fehlererkennung-/-korrektur einer Mehrzahl Bits merklich zu erhöhen, wenn die Anzahl von auf ECC basierenden Datenbits klein ist. Im Gegensatz dazu wird gemäß der Erfindung durch die kontinuierliche Übertragungsfunktion der Einrichtung ein ECC an die kontinuierlichen Adressen einer Speichereinrichtung geschrieben, wie oben erwähnt. Dies erhöht für einen einzelnen ECC erfolgreich das Verhältnis der Anzahl Datenbits zur Anzahl Prüfbits.
  • Den Fachleuten werden verschiedene Modifikation möglich sein, nachdem sie die Lehren der vorliegenden Offenbarung erhalten haben, ohne von ihrem Umfang abzuweichen, wie er in den Ansprüchen definiert ist.

Claims (5)

  1. Speicher (1) zum Erzeugen eines ECC (Error Correcting Code = Fehlerkorrekturcode) zum Korrigieren von N (N > 1) Daten und Addieren des ECC zu den Daten, um dadurch eine Lese-/Schreibeinheit zu bilden, wobei der ECC für alle N der Daten erzeugt, zu gleichen Teilen in N ECC-Teile geteilt und dann jeweils zu den N Daten addiert wird, um dadurch Lese-/Schreibeinheiten zu bilden, wobei die Lese-/Schreibeinheiten kontinuierlich in N kontinuierliche Adressen einer Speichereinrichtung (4) geschrieben und daraus ausgelesen werden.
  2. Speicher (1) nach Anspruch 1, wobei die Lese-/Schreibeinheit umfaßt: Schreibmittel (101, ..., 10n) zum Erzeugen des ECC für N Schreibdaten, die von einem Host/Wirt empfangen werden, Addieren der N gleichgeteilten ECC-Teile zu den jeweiligen N Schreibdaten, um dadurch N Schreibeinheiten zu bilden, und Schreiben der N Schreibeinheiten in jeweilige N kontinuierliche Adressen der Halbleiterspeichereinrichtung (4), und Lesemittel (201, ..., 20n) zum Sammeln der N gleichgeteilten ECC-Teile, die in Schreibdateneinheiten enthalten sind, die aus den N kontinuierlichen Adressen der Halbleiterspeichereinrichtung (4) ausgelesen werden, um dadurch den ECC zu rekonstruieren, und zum Korrigieren von Fehlern der N Lesedateneinheiten mit dem rekonstruierten ECC.
  3. Speicher (1) nach Anspruch 2, wobei das Schreibmittel umfaßt: N Schreibdatenregister (101, ..., 10n) zum jeweiligen Speichern der von dem Host empfangenen N Schreibdaten; eine ECC-Schaltung zum Erzeugen eines ECC für die N Schreibdaten; und einen Selektor (3) zum Addieren der N gleichgeteilten ECC-Teile zu den jeweiligen N Schreibdaten, um dadurch die Schreibeinheiten zu bilden, und zum Schreiben der Schreibeinheiten in die N kontinuierlichen Adressen der Halbleiterspeichereinrichtung (4).
  4. Speicher nach Anspruch 2 oder 3, wobei das Lesemittel umfaßt: N Lesedatenregister (201, ..., 20n) zum jeweiligen Lesen der N Lesedaten aus den N kontinuierlichen Adressen der Halbleiterspeichereinrichtung und zum Speichern der N Lesedaten; eine Fehlererkennungsschaltung (5) zum Rekonstruieren des ECC aus den von den N Lesedatenregistern (200, ..., 20n) ausgegebenen N gleichgeteilten Codeteilen, um dadurch eine Fehlerbitinformation zu erkennen, die sich auf die N Lesedateneinheiten bezieht; und eine Fehlerkorrekturschaltung (6) zum Korrigieren und Gleichteilen der Lesedateneinheiten in N Teile, und zum kontinuierlichen Aussenden der N Teile an einen Host.
  5. Speicher nach einem der Ansprüche 2 bis 4, wobei die Halbleiterspeichereinrichtung (4) einen SDRAM oder einen DRAM mit einer EDO umfaßt.
DE1998621698 1997-09-29 1998-09-29 Fehlerdetektion und Korrektur in einem Datenspeichersystem mit ununterbrochenen Übertragungsfunktionsspeicheranordnungen Expired - Fee Related DE69821698T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP26339897A JP3184129B2 (ja) 1997-09-29 1997-09-29 記憶装置
JP26339897 1997-09-29

Publications (2)

Publication Number Publication Date
DE69821698D1 DE69821698D1 (de) 2004-03-25
DE69821698T2 true DE69821698T2 (de) 2005-01-13

Family

ID=17388953

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998621698 Expired - Fee Related DE69821698T2 (de) 1997-09-29 1998-09-29 Fehlerdetektion und Korrektur in einem Datenspeichersystem mit ununterbrochenen Übertragungsfunktionsspeicheranordnungen

Country Status (6)

Country Link
US (1) US6526537B2 (de)
EP (1) EP0907127B1 (de)
JP (1) JP3184129B2 (de)
AU (1) AU757596B2 (de)
CA (1) CA2248731C (de)
DE (1) DE69821698T2 (de)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4373615B2 (ja) * 2001-01-25 2009-11-25 富士通マイクロエレクトロニクス株式会社 初期不良ブロックのマーキング方法
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
US7240275B2 (en) * 2003-08-05 2007-07-03 Hewlett-Packard Development Company, L.P. Logical data block, magnetic random access memory, memory module, computer system and method
US7210077B2 (en) * 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding
JP2005327437A (ja) 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
US7099221B2 (en) * 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7203890B1 (en) 2004-06-16 2007-04-10 Azul Systems, Inc. Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits
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
EP1659592A1 (de) * 2004-11-17 2006-05-24 Semtech Neuchâtel SA Zugriffsverfahren auf einen Speicher mit Fehlererkennung mittels eines Fehlercodes, der die Anzahl der Bits gleichen logischen Wertes eines Datenwortes enthält, und entspechende Vorrichtung
JP2006179131A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd メモリシステム及び半導体記憶装置
JP2006190425A (ja) 2005-01-07 2006-07-20 Nec Electronics Corp 半導体記憶装置
KR100615580B1 (ko) * 2005-07-05 2006-08-25 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 데이터 입출력 방법과이를 구비한 메모리 시스템
US7676730B2 (en) * 2005-09-30 2010-03-09 Quantum Corporation Method and apparatus for implementing error correction coding in a random access memory
JP2007133986A (ja) 2005-11-11 2007-05-31 Nec Electronics Corp 半導体記憶装置
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
US8667379B2 (en) * 2006-12-20 2014-03-04 International Business Machines Corporation Apparatus and method to generate, store, and read, a plurality of error correction coded data sets
US8055975B2 (en) * 2007-06-05 2011-11-08 Apple Inc. Combined single error correction/device kill detection code
US7652932B2 (en) 2007-07-19 2010-01-26 Mosaid Technologies Incorporated Memory system having incorrupted strobe signals
US8234539B2 (en) * 2007-12-06 2012-07-31 Sandisk Il Ltd. Correction of errors in a memory array
TW200929237A (en) * 2007-12-21 2009-07-01 Winbond Electronics Corp Memory architecture and configuration method thereof
US8359514B2 (en) * 2008-08-15 2013-01-22 Micron Technology, Inc. Data and error correction code mixing device and method
US8117521B2 (en) * 2008-08-26 2012-02-14 Spansion Llc Implementation of recycling unused ECC parity bits during flash memory programming
KR101198250B1 (ko) * 2010-12-06 2012-11-07 에스케이하이닉스 주식회사 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치
US8751905B2 (en) 2011-09-16 2014-06-10 Avalanche Technology, Inc. Memory with on-chip error correction
US9658780B2 (en) 2011-09-16 2017-05-23 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US9251882B2 (en) 2011-09-16 2016-02-02 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
KR102002925B1 (ko) * 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
US9146809B2 (en) * 2013-10-07 2015-09-29 Macronix International Co., Ltd. ECC method for double pattern flash memory
CN104637542B (zh) * 2013-11-11 2018-03-13 旺宏电子股份有限公司 储存对应于数据的错误更正码的存储器装置及其操作方法
US9535785B2 (en) 2014-01-17 2017-01-03 Macronix International Co., Ltd. ECC method for flash memory
US9436546B2 (en) 2014-04-22 2016-09-06 Freescale Semiconductor, Inc. Apparatus for error detection in memory devices
US9760432B2 (en) * 2015-07-28 2017-09-12 Futurewei Technologies, Inc. Intelligent code apparatus, method, and computer program for memory
US9787329B2 (en) 2015-10-15 2017-10-10 Apple Inc. Efficient coding with single-error correction and double-error detection capabilities
US10437480B2 (en) 2015-12-01 2019-10-08 Futurewei Technologies, Inc. Intelligent coded memory architecture with enhanced access scheduler
US9891986B2 (en) 2016-01-26 2018-02-13 Nxp Usa, Inc. System and method for performing bus transactions
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11462291B2 (en) * 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
CN114726382B (zh) * 2022-05-16 2022-08-09 北京得瑞领新科技有限公司 Ecc帧长匹配方法、装置、存储介质及固态硬盘

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE30187E (en) * 1972-11-15 1980-01-08 International Business Machines Corporation Plural channel error correcting apparatus and methods
JPS5530146A (en) * 1978-08-24 1980-03-03 Yoshida Kogyo Kk Sheathed heater and method of manufacturing same
US4377862A (en) * 1978-12-06 1983-03-22 The Boeing Company Method of error control in asynchronous communications
JPS55100698A (en) * 1979-01-29 1980-07-31 Hitachi Medical Corp Computerized x-ray photographing device
JPS5755455A (en) 1980-09-19 1982-04-02 Fujitsu Ltd Error correction system
JPS57100698A (en) 1980-12-15 1982-06-22 Fujitsu Ltd Error correction system
BE890280A (fr) * 1981-09-09 1982-03-09 Belge Lampes Mat Electr Mble Dispositif de codage et de decodage base sur un code de convolution
JPS59165300A (ja) 1983-03-10 1984-09-18 Fujitsu Ltd メモリ障害訂正方式
NL8402472A (nl) * 1984-08-10 1986-03-03 Philips Nv Multiprocessor-rekenmachinesysteem, bevattende n parallelwerkende rekenmachinemodules en voorzien van een extern apparaat, alsmede rekenmachinemodule voor gebruik in zo'n systeem.
JPS61177559A (ja) * 1985-02-04 1986-08-09 Hitachi Ltd 記憶デ−タの誤り制御方式
NL8601437A (nl) 1986-06-04 1988-01-04 Philips Nv Sequentiele bufferinrichting.
US4905242A (en) 1987-06-09 1990-02-27 The United States Of America As Represented By The Secretary Of The Air Force Pipelined error detection and correction apparatus with programmable address trap
JP2913840B2 (ja) * 1989-12-25 1999-06-28 株式会社日立製作所 集合ディスク装置
JPH03242745A (ja) 1990-02-21 1991-10-29 Koufu Nippon Denki Kk 情報処理装置
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5313624A (en) * 1991-05-14 1994-05-17 Next Computer, Inc. DRAM multiplexer
JPH04370579A (ja) * 1991-06-18 1992-12-22 Mitsubishi Electric Corp 磁気記録装置における符号化書込み方式
US5537423A (en) * 1991-08-21 1996-07-16 International Business Machines Corporation Modular multiple error correcting code system
JP3242745B2 (ja) 1993-04-05 2001-12-25 富士フォレスト株式会社 法 枠
JP3924793B2 (ja) * 1995-03-30 2007-06-06 ソニー株式会社 円盤状記録媒体の駆動装置及び駆動方法
JPH08335370A (ja) * 1995-06-07 1996-12-17 Sony Corp データ記録方法及び再生方法
US5734664A (en) * 1995-06-23 1998-03-31 Fujitsu Limited Method and apparatus to efficiently store error codes
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
US6070262A (en) * 1997-04-04 2000-05-30 International Business Machines Corporation Reconfigurable I/O DRAM
US5896404A (en) * 1997-04-04 1999-04-20 International Business Machines Corporation Programmable burst length DRAM

Also Published As

Publication number Publication date
AU757596B2 (en) 2003-02-27
JP3184129B2 (ja) 2001-07-09
JPH11102326A (ja) 1999-04-13
EP0907127A1 (de) 1999-04-07
CA2248731A1 (en) 1999-03-29
AU8715498A (en) 1999-04-15
EP0907127B1 (de) 2004-02-18
US20020007476A1 (en) 2002-01-17
CA2248731C (en) 2002-07-09
US6526537B2 (en) 2003-02-25
DE69821698D1 (de) 2004-03-25

Similar Documents

Publication Publication Date Title
DE69821698T2 (de) Fehlerdetektion und Korrektur in einem Datenspeichersystem mit ununterbrochenen Übertragungsfunktionsspeicheranordnungen
DE69727083T2 (de) Überprüfungssystem um die integrität der parität einer speicherplattenmatrix aufrechtzuerhalten
DE60223470T2 (de) Knotensteuerung für ein Datenspeicherungssystem
DE69814579T2 (de) Parallel arbeitende exklusiv-oder-einheit
DE19723909B4 (de) Verfahren zum Verbessern der Fehlerfestigkeit und Leistungsfähigkeit eines RAID-Untersystems
DE69825234T2 (de) Verfahren und vorrichtung zur selbstprüfung von multi-port-rams
DE69910320T2 (de) Technik für Einzelfehlerkorrektur im Cachespeicher mit Subblock-Paritätenbits
DE4341082A1 (de) Schaltungsanordnung für sicherheitskritische Regelungssysteme
DE19645745B4 (de) Dynamischer Schreib-/Lesespeicher
DE19510626A1 (de) Verfahren zur Prüfung der Unversehrtheit von gespeicherten Daten auf einer Verarbeitungsanlage für Blattgut, wie z. B. Banknoten oder Wertpapiere
DE2916710A1 (de) Speicher mit fehlerdetektion und fehlerkorrektur
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE3209679A1 (de) Halbleiter-speichereinrichtung
DE4441007A1 (de) Multibit-Testschaltkreis einer Halbleiterspeichereinrichtung
DE112011104911T5 (de) Speicherdiagnosevorrichtung, Speicherdiagnoseverfahren und Programm
DE2946119C2 (de) Datenverarbeitungseinrichtung mit einer Vielzahl von Datenverarbeitungselementen, denen ein einziger Strom von Steuersignalen zugeführt wird
DE2513262C3 (de) Digitale Codeumwandlungsanordnung
DE102019134016A1 (de) Methoden zum speichern von daten zum verbessern von wiederherstellung und erkennung von datenbeschädigungsfehlern
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE2549392C3 (de) Verfahren zur Erhöhung der Zuverlässigkeit von integrierten Speicherbausteinen und zur Verbesserung der Ausbeute von nach außen hin fehlerfrei erscheinenden Speicherbausteinen bei ihrer Herstellung
DE102006007326A1 (de) Fehlerkorrekturschaltung und -Verfahren
DE602004008150T2 (de) Datenfehlerkorrektur mittels Redundanzblöcke
DE69724737T2 (de) Verfahren und Vorrichtung zur Prüfung von Speicherschaltungen
EP1444700B1 (de) Speichertest
EP1222545B1 (de) Verfahren und schaltungsanordnung zum speichern von datenworten in einem ram modul

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee