DE102006007326A1 - Fehlerkorrekturschaltung und -Verfahren - Google Patents

Fehlerkorrekturschaltung und -Verfahren Download PDF

Info

Publication number
DE102006007326A1
DE102006007326A1 DE102006007326A DE102006007326A DE102006007326A1 DE 102006007326 A1 DE102006007326 A1 DE 102006007326A1 DE 102006007326 A DE102006007326 A DE 102006007326A DE 102006007326 A DE102006007326 A DE 102006007326A DE 102006007326 A1 DE102006007326 A1 DE 102006007326A1
Authority
DE
Germany
Prior art keywords
data
tree
parity
memory
store
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.)
Withdrawn
Application number
DE102006007326A
Other languages
English (en)
Inventor
Stephen Bowyer
Alan Daniel
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.)
Qimonda AG
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 DE102006007326A1 publication Critical patent/DE102006007326A1/de
Withdrawn 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/1032Simple parity
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/40Heating elements having the shape of rods or tubes
    • H05B3/42Heating elements having the shape of rods or tubes non-flexible
    • H05B3/44Heating elements having the shape of rods or tubes non-flexible heating conductor arranged within rods or tubes of insulating material
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24CDOMESTIC STOVES OR RANGES ; DETAILS OF DOMESTIC STOVES OR RANGES, OF GENERAL APPLICATION
    • F24C7/00Stoves or ranges heated by electric energy
    • F24C7/04Stoves or ranges heated by electric energy with heat radiated directly from the heating element
    • F24C7/043Stoves
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/02Details
    • H05B3/06Heater elements structurally combined with coupling elements or holders
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/40Heating elements having the shape of rods or tubes
    • H05B3/42Heating elements having the shape of rods or tubes non-flexible
    • H05B3/48Heating elements having the shape of rods or tubes non-flexible heating conductor embedded in insulating material
    • H05B3/50Heating elements having the shape of rods or tubes non-flexible heating conductor embedded in insulating material heating conductor arranged in metal tubes, the radiating surface having heat-conducting fins

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Die vorliegende Erfindung umfasst eine Fehlerkorrekturschaltung mit einem Datenspeicher, einem Schreibbaum, einem Paritätsspeicher und einem Lesebaum. Der Datenspeicher ist konfiguriert, um einen Satz Daten zu halten. Der Schreibbaum ist konfiguriert, um den Satz Daten zu empfangen und Paritätsdaten zu erzeugen. Der Paritätsspeicher ist mit dem Schreibbaum gekoppelt und ist konfiguriert, um Paritätsdaten zu empfangen und zu halten. Der Lesebaum ist konfiguriert, um Daten von dem Datenspeicher und Paritätsdaten von dem Paritätsspeicher zu empfangen. Der Lesebaum ist konfiguriert, um eine Anzeige, ob ein Fehler in den Daten während einer Speicherung innerhalb des Datenspeichers aufgetreten ist, zu erzeugen.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Fehlerkorrekturschaltung und ein -verfahren. Insbesondere werden ein System und ein Verfahren für eine Fehlerkorrekturschaltung bereitgestellt, die in Zuordnung zu einem dynamischen Direktzugriffsspeicher- (DRAM-) System verwendet wird. In jüngster Zeit verwenden Hersteller und Kunden in zunehmendem Maße Anwendungen eines „erwiesenermaßen guten Chips" (KGD-Anwendungen; KGD = known good die). Bei KGD-Anwendungen werden Wafer von Bauelementen anstelle einzeln gehäuster Komponenten für Kunden bereitgestellt. Der Kunde vollzieht dann den Häusungsschritt. Ein DRAM z. B. könnte als ein KGD an einen Kunden geliefert werden und dann kombiniert der Kunde den KGD mit anderen Bauelementen in dem gleichen Gehäuse.
  • Bei dem Häusungsvorgang ist es jedoch möglich, Einzelzellfehler in den DRAM des KGD einzuführen. In einigen Fällen kann die Einführung derartiger Fehler zu der Notwendigkeit führen, hinterher das gesamte Gehäuse auszurangieren. In vielen Fällen ist, da der KGD mit einem ziemlich teueren Bauelement gehäust wird, ein Ausrangieren des gesamten Gehäuses ein sehr kostspieliger Verlust für die Kunden. Ferner ist es, selbst wenn keine Fehler in die Häusung der verschiedenen Bauelemente eingeführt werden, dennoch zunehmend schwierig, gegenwärtige DRAM-Speicher mit hoher Dichte als KGD ohne Einzelzelldefekte an Kunden zu liefern. Folglich wird eine Lösung zur Rückgewinnung der DRAM-Zellen nach einem Häusen benötigt.
  • Aus diesen und weiteren Gründen besteht ein Bedarf nach der vorliegenden Erfindung.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Fehlerkorrekturschaltung, ein Anwendungsgehäuse, eine Speicher vorrichtung oder Verfahren mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch eine Fehlerkorrekturschaltung gemäß Anspruch 1 oder 17, ein Anwendungsgehäuse gemäß Anspruch 7, eine Speichervorrichtung gemäß Anspruch 13 oder ein Verfahren gemäß Anspruch 18, 22 oder 24 gelöst.
  • Ein Aspekt der vorliegenden Erfindung schafft eine Fehlerkorrekturschaltung, die einen Datenspeicher, einen Schreibbaum, einen Paritätsspeicher und einen Lesebaum umfasst. Der Datenspeicher ist konfiguriert, um einen Datensatz zu halten. Der Schreibbaum ist konfiguriert, um den Datensatz zu empfangen und Paritätsdaten zu erzeugen. Der Paritätsspeicher ist mit dem Schreibbaum gekoppelt und ist konfiguriert, um Paritätsdaten zu empfangen und zu halten. Der Lesebaum ist konfiguriert, um Daten von dem Datenspeicher und Paritätsdaten von dem Paritätsspeicher zu empfangen. Der Lesebaum ist konfiguriert, um eine Anzeige zu erzeugen, ob ein Fehler in den Daten während der Speicherung in dem Datenspeicher aufgetreten ist.
  • Die beigefügten Zeichnungen sind beinhaltet, um ein weitergehendes Verständnis der vorliegenden Erfindung zu schaffen, und sind in einem Teil dieser Beschreibung beinhaltet und bilden einen Teil derselben. Die Zeichnungen stellen die Ausführungsbeispiele der vorliegenden Erfindung dar und dienen gemeinsam mit der Beschreibung dazu, die Prinzipien der Erfindung zu erklären. Weitere Ausführungsbeispiele der vorliegenden Erfindung und viele der beabsichtigten Vorteile der vorliegenden Erfindung sind ohne Weiteres zu erkennen, da dieselben durch Bezugnahme auf die folgende detaillierte Beschreibung besser verständlich werden. Die Elemente der Zeichnungen sind nicht notwendigerweise maßstabsgetreu zueinander. Gleiche Bezugszeichen bezeichnen entsprechende ähnliche Teile. Es zeigen:
  • 1 ein Blockdiagramm eines erwiesenermaßen guten Chips, der einen Speicher und einen Fehlerkorrekturschaltungsaufbau (ECC) aufweist;
  • 2 eine Tabelle, die einen Fehlerkorrekturcode darstellt;
  • 3 eine Tabelle, die einen modifizierten Korrekturcode gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt; und
  • 4 einen Datenspeicher und eine Fehlerkorrekturschaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • In der folgenden detaillierte Beschreibung wird Bezug auf die beigefügten Zeichnungen genommen, die einen Teil derselben bilden, und in denen zur Darstellung spezifische Ausführungsbeispiele gezeigt sind, in denen die Erfindung praktiziert werden könnte. Diesbezüglich wird eine Richtungsterminologie, wie z. B. „oben", „unten", „vorne", „hinten", „vorderer/e/es", „hinterer/e/es" usw., Bezug nehmend auf die Ausrichtung der gerade beschriebenen Figuren verwendet. Da Komponenten von Ausführungsbeispielen der vorliegenden Erfindung in einer Anzahl unterschiedlicher Ausrichtungen positioniert sein können, wird die Richtungsterminologie zu Darstellungszwecken verwendet und ist keinesfalls einschränkend. Es wird angemerkt, dass weitere Ausführungsbeispiele eingesetzt und strukturelle oder logische Veränderungen durchgeführt werden könnten, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen. Deshalb soll die folgende detaillierte Beschreibung in keinem einschränkenden Sinn aufgefasst werden und der Schutzbereich der vorliegenden Erfindung ist durch die beigefügten Ansprüche definiert.
  • 1 stellt ein Blockdiagramm eines Anwendungsgehäuses 10 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung dar. Das Anwendungsgehäuse 10 umfasst einen erwiesenermaßen guten Chip (KGD) 12 und einen Anwendungschip 14. In einem Fall umfasst der KGD 12 einen dynamischen Direktzugriffsspeicher (DRAM) 20, der eine große Anzahl einzelner Zellen umfasst, die eingesetzt werden könnten, um Datenbits zu speichern. Der KGD 12 umfasst ferner einer Fehlerkorrekturschaltung 22, wie unten noch detaillierter erläutert wird. Der Anwendungschip 14 könnte in einem Fall eine Steuerschaltung 24 umfassen, die eine Mikrosteuerung oder ein ähnliches Bauelement sein könnte. Bei anderen Ausführungsbeispielen umfasst der Anwendungschip 14 unter Umständen keine Steuerschaltung 24 und könnte stattdessen einen anderen DRAM-Chip oder andere -Chips, einen oder mehrere Flash-Speicherchips, einen andere Typ von Speicherchip(s), einen Mikroprozessor oder eine Mikrosteuerung, die den DRAM-KGD steuert, umfassen. Die Funktionalität des Anwendungschips 14 ist für die ECC 20 nicht besonders wichtig.
  • Der KGD 12 und der Anwendungschip 14 könnten als Anwendungsgehäuse 10 zur Verwendung bei einer Vielzahl von Anwendungen, die einen Speicher nutzen, zusammen gehäust sein. Bei einem Ausführungsbeispiel kann auf den DRAM 20 durch den Anwendungschip 14 oder Komponenten in demselben zugegriffen werden, oder es kann durch externe Komponenten zugegriffen werden. Bei einem Ausführungsbeispiel, bei dem der Anwendungschip 14 eine Steuerschaltung 24 umfasst, kann die Steuerschaltung 24 auf den DRAM 20 zugreifen und könnte mit zusätzlichen externen Komponenten gekoppelt sein.
  • Üblicherweise liefert der Hersteller einen KGD 12 an einen Kunden, der dann den KGD 12 mit dem Anwendungschip 14 in das Anwendungsgehäuse 10 häusen könnte. In Fällen, in denen Einzelzellfehler in den DRAM 20 eingeführt werden, der sich innerhalb des KGD 12 befindet, könnte entweder während des Häusens oder sogar in Fällen, bei denen die Fehler vor oder nach dem Häusen auftraten, die Fehlerkorrekturschaltung 22 verwendet werden, um diese Fehler gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zu korrigieren.
  • Eine Fehlerkorrektur von Zellen oder Bits könnte durch ein Verwenden eines Fehlerkorrekturcodes erzielt werden. Ein derartiger bekannter Code ist der Hamming-Code. Im Grunde kann der Hamming-Code Bitfehler durch ein Einführen von Fehlerkorrektur- oder Paritätsbits in einen Datenstrom erfassen und korrigieren, wodurch die Gesamtbitanzahl erhöht wird. In einem Fall könnte ein Hamming-Code ein (15,11) sein. Bei einem derartigen Fall weist ein 11-Bit-Datenstrom vier Paritätsbits auf, die eingeführt werden, um die Gesamtbitanzahl auf 15 zu bringen. Die Paritätsbits könnten geprüft werden, nachdem Daten extrahiert wurden, um zu bestimmen, ob ein Bitfehler aufgetreten ist.
  • 2 ist eine Tabelle, die einen (15,11)-Hamming-Code darstellt. Die erste Zeile in der Tabelle listet die Bitorte 1 bis 15 auf. Wie angezeigt ist, gibt es nach einer Einführung der vier Paritätsbits insgesamt 15 Bitorte. Die zweite Zeile in der Tabelle listet die Bitdefinitionen auf. Datenbits aus dem 11-Bit-Datenstrom sind durch D0, D1, D2, D3, D4, D5, D6, D7, D8, D9 und D10 angezeigt. Die vier Paritätsbits sind durch P0, P1, P2 und P3 angezeigt. Wie ersichtlich ist, befinden sich die Paritätsbits an jedem der Orte, die Potenzen von 2 sind, oder an Orten 2n, derart, dass diese an den Positionen 1, 2, 4 und 8 sind.
  • Jedes Paritätsbit berechnet dann die Parität für einige der Bits in dem Codewort. Die Position des Paritätsbits bestimmt die Sequenz von Bits, die es alternativ prüft und auslässt. Für P0 an der ersten Position ist die Sequenz von Bits, jeden zweiten Bitort zu prüfen, d. h. einen prüfen, einen auslassen, einen prüfen, einen auslassen, usw. Für P1 an der zweiten Position ist die Sequenz von Bits, abwechselnd zwei Bitorte zu prüfen und zwei nicht, d. h. zwei prüfen, zwei auslassen, zwei prüfen, zwei auslassen, usw. Für P3 an der dritten Position ist die Sequenz von Bits, abwechselnd vier Bitorte zu prüfen und vier nicht, d. h. vier prüfen, vier auslassen, vier prüfen, vier auslassen, usw. Für P3 an der vierten Position ist die Sequenz von Bits, abwechselnd acht Bitorte zu prüfen und acht nicht, d. h. acht prüfen, acht auslassen, acht prüften, acht auslassen, usw.
  • Für eine Schreiboperation wird das Paritätsbit auf 1 gesetzt, wenn die Gesamtzahl von Einsen in der Sequenz von Positionen ungerade ist, und wird auf 0 gesetzt, wenn die Gesamtzahl von Einsen in der Sequenz von Positionen gerade ist. Dies könnte durch ein Durchführen einer Exklusiv-Oder(„XOR"-) Logikoperation an den Datenbits in der Sequenz, die jedem Paritätsbit zugeordnet sind (ausschließlich des Paritätsbits aus der XOR-Operation), erzielt werden. Das Ergebnis der XOR-Operation bestimmt den Wert des zugeordneten Paritätsbits. Auf diese Weise wird, wenn D0 = 1, D1 = 1, D3 = 0, D4 = 0, D6 = 1, D8 = 1 und D10 = 0, P0 auf 1 gesetzt.
  • Dann bestimmt für eine Leseoperation eine XOR-Operation der Datenbits gemeinsam mit dem zugeordneten Paritätsbit, ob ein Bitfehler vorliegt. Wenn das Ergebnis der XOR-Operation Null ist, gab es keinen Bitfehler. Wenn das Ergebnis nicht Null ist, zeigt dies jedoch einen Fehler oder Ausfall an der Bitposition, die dem Paritätsbit zugeordnet ist, an. Wenn z. B. die XOR-Operation, die das Paritätsbit umfasst, ein Ergebnis 0011 zurückgibt, zeigt dies an, dass ein Bitfehler im Bit 3, das D0 ist, vorliegt.
  • 3 ist eine Tabelle, die einen modifizierten Korrekturcode gemäß einem Ausführungsbeispiel der vorliegenden Erfindung darstellt. Die Darstellung könnte als ein (12,8)-Fehlercode bezeichnet werden. Bei diesem modifizierten Code sind die Hauptregeln die gleichen, die oben für den dargestellten (15,11)-Code in 2 beschrieben wurden, es werden jedoch nur acht Datenbits verwendet und drei der Datenbits werden verworfen. Bei einem Ausführungsbeispiel sind die verworfenen Bits derart ausgewählt, dass ein ausgeglichenerer Code erzielt wird.
  • Bei einem Ausführungsbeispiel z. B. könnten die Bitorte 3, 12 und 15 verworfen werden. Da der Bitort 15 in jeder Paritätsbitsequenz P0 bis P3 erscheint, behält dessen Verwerfung ein Gleichgewicht bei. Ähnlich behält auch, da der Bitort 3 in der Hälfte der Paritätsbitsequenzen P0 bis P3 erscheint und der Bitort 12 in der anderen Hälfte, die kombinierte Verwerfung ein Gleichgewicht bei. Ein Fachmann wird erkennen, dass weitere Verwerfungskombinationen erzielt werden könnten, während ein Gleichgewicht beibehalten wird.
  • In 3 wurden die Bitorte neu organisiert, um die Paritätsbits ganz rechts zu platzieren. Die erste Zeile in der Tabelle listet die Bitorte 1 – 2, 4 – 11 und 12 – 14 auf (die Bitorte 3, 12 und 15 wurden verworfen). Die zweite Zeile in der Tabelle listet die Bitdefinitionen auf. Die vier Paritätsbits sind mit P0, P1, P2 und P3 ganz rechts angezeigt. Wieder sind die Paritätsbits an jedem der Orte angeordnet, die Potenzen von 2 sind, oder an Orten 2n, derart, dass dieselben an den Positionen 1, 2, 4 und 8 sind. Datenbits aus dem 8-Bit-Datenstrom sind durch D0, D1, D2, D3, D4, D5, D6 und D7 angezeigt. Wie in der Erläuterung unten Bezug nehmend auf 4 klarer wird, weist der modifizierte Fehlerkorrekturcode, der in 3 dargestellt ist, bei Ausführungsbeispielen einer bestimmen Konfiguration Vorteile auf.
  • Wie bei dem in 2 dargestellten Fehlerkorrekturcode ist der modifizierte Korrekturcode, der in 3 dargestellt ist, derart, dass jedes Paritätsbit die Parität für einige der Bits in dem Codewort berechnet. Die Position des Paritätsbits bestimmt die Sequenz von Bits, die es alternativ prüft und auslässt. Für P0 an der ersten Position ist die Sequenz von Bits, jeden zweiten Bitort zu prüfen, d. h. einen prüfen, einen auslassen, einen prüfen, einen auslassen, usw. Diese Sequenz wird bestimmt, bevor die Bitorte 3, 12 und 15 verworfen werden, derart, dass diese später verworfenen Bits noch geprüft oder ausgelassen werden, wenn die Sequenz für jedes Paritätsbit bestimmt wird. Für P1 an der zweiten Position ist die Sequenz von Bits, abwechselnd zwei Bitorte zu prüften und zwei nicht, d. h. zwei prüfen, zwei auslassen, zwei prüfen, zwei auslassen, usw. Für P2 an der dritten Position ist die Sequenz von Bits, abwechselnd vier Bitorte zu prüfen und vier nicht, d. h. vier prüfen, vier auslassen, vier prüfen, vier auslassen, usw. Für P3 an der vierten Position ist die Sequenz von Bits, abwechselnd acht Bitorte zu prüfen und acht nicht, d. h. acht prüfen, acht auslassen, acht prüfen, acht auslassen, usw.
  • Für eine Schreiboperation wird das Paritätsbit dann auf 1 gesetzt, wenn die Gesamtanzahl von Einsen in der Sequenz von Positionen ungerade ist, und wird auf 1 gesetzt, wenn die Gesamtanzahl von Einsen in der Sequenz von Positionen gerade ist. Dies könnte durch ein Durchführen einer XOR-Logikoperation an den Datenbits in der Sequenz, die jedem Paritätsbit zugeordnet ist (ausschließlich des Paritätsbits von der XOR-Operation), erzielt werden. Das Ergebnis der XOR-Operation bestimmt den Wert des zugeordneten Paritätsbits.
  • 4 stellt eine Datenspeicher- und Fehlerkorrekturschaltung („ECC") 50 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung dar. Bei einem Ausführungsbeispiel könnte dieselbe in Zuordnung zu dem modifizierten Fehlerkorrekturcode, der in 3 dargestellt ist, eingesetzt werden. Die ECC 50 umfasst einen Datenspeicher 52, einen Paritätsspeicher 54, einen Schreibbaum 56, einen Lesebaum 58, einen Decodierer 60, einen Datenlesepuffer 62 und einen Datenschreibpuffer 64. In Betrieb verwendet die ECC 50 Paritätsdaten beim Schreiben und Lesen von Daten, um zu bestimmen, ob Bitfehler oder -ausfälle in den Daten während einer Speicherung in dem Datenspeicher 52 auftreten, um die bestimmten Bits zu identifizieren, die durch einen derartigen Fehler beeinflusst wurden, und/oder einen derartigen Fehler zu korrigieren.
  • Der Datenspeicher 52 könnte ein DRAM oder ein Abschnitt desselben, wie z. B. der DRAM 20, der in 1 dargestellt ist, sein. Der Datenspeicher 52 speichert normale Lese-/Schreibdaten, die durch einen externen Benutzer in den DRAM geschrieben oder von demselben gelesen werden. Die normalen Lese-/Schreibdaten sind schnittstellenmäßig mit dem Datenspeicher 52 über eine Lese-/Schreibleitung 68 verbunden, die mit dem Lese- und dem Schreibpuffer 62 und 64 gekoppelt ist. Bei der ECC 50 ist eine Fehlererfassungs- und Korrekturlogik in den Datenpfad der Vorrichtung integriert, wie unten noch vollständiger erläutert wird.
  • Der Paritätsspeicher 54 wird verwendet, um Paritätsdaten zu speichern, die aus den normalen Schreibdaten erzeugt werden. Während einer Schreiboperation werden normale Schreibdaten von dem Schreibpuffer 64 durch den Schreibbaum 56 empfangen, derart, dass Schreibparitätsdaten erzeugt und auf einer Schreibparitätsleitung 67 an den Paritätsspeicher 54 gesendet werden. Bei einem Ausführungsbeispiel umfasst der Schreibbaum 56 ein erstes, zweites, drittes und viertes Schreibbaumsegment 80, 82, 84 und 86. Während einer Leseoperation werden die Paritätsdaten aus dem Paritätsspeicher 54 parallel mit den normalen Daten aus dem Datenspeicher 52 ausgelesen. Die Leseparitätsdaten werden durch den Lesebaum 58 über eine Leseparitätsdatenleitung 66 von dem Paritätsspeicher 54 empfangen. Bei einem Ausführungsbeispiel umfasst der Lesebaum 58 ein erstes, zweites, drittes und viertes Lesebaumsegment 90, 92, 94 und 96. Die Ausgabe aus dem Lesebaum 58 wird durch den Decodierer 60 empfangen und an den Lesedatenpuffer 62 gesendet.
  • Bei einem Betrieb eines Ausführungsbeispiels der ECC 50 werden normale Schreibdaten 70 von einer externen Quelle an dem Schreibpuffer 64 empfangen. Bei einem Ausführungsbeispiel sind die normalen Schreibdaten 8 Bits Daten. Die normalen Schreibdaten werden dann parallel über die Lese-/Schreibleitung 68 an den Datenspeicher 52 und an den Schreibbaum 56 gesendet. Der Schreibbaum 56 erzeugt dann Paritätsdaten, die den acht Bit normaler Schreibdaten zugeordnet sind.
  • Bei einem Ausführungsbeispiel verwendet der Schreibbaum 56 das erste, zweite, dritte und vierte Schreibbaumsegment 80, 82, 84 und 86, um die Paritätsdaten zu erzeugen. Jedes der vier Schreibbaumsegmente 80 bis 86 empfängt eine Kombination von fünf Bits der acht Bits der normalen Schreibdaten. Bei einem Ausführungsbeispiel wird die Kombination der fünf Bits gemäß dem modifizierten Korrekturcode, der in 3 dargestellt ist, bestimmt. Schreibpfad-XOR-Eingänge sind in der Darstellung gekennzeichnet. Auf diese Weise ist jedes der vier Schreibbaumsegmente 8086 einem Paritätsbit zugeordnet. Bei einem Ausführungsbeispiel z. B. ist das erste Schreibbaumsegment 80 dem Paritätsbit P0 zugeordnet, das zweite Schreibbaumsegment 82 ist dem Paritätsbit P1 zugeordnet, das dritte Schreibbaumsegment 84 ist dem Paritätsbit P2 zugeordnet und das vierte Schreibbaumsegment 86 ist dem Paritätsbit P3 zugeordnet.
  • So empfängt bei einem Ausführungsbeispiel das erste Schreibbaumsegment 80 fünf Bits von den normalen Schreibdatenbits. In einem Fall sind diese Bitorte diejenigen, die mit einem „X" in der Zeile gekennzeichnet sind, die in 3 „XOR für P0" bezeichnet ist. Auf diese Weise kommen die fünf ausgewählten Bits von einem Prüfen jedes zweiten Bitorts, d. h. einen prüfen, einen auslassen, einen prüfen, einen auslassen, usw. Diese fünf Bits werden an XOR-Gatter gesendet, so dass ein einzelnes Ausgabebit resultiert. Dieses resultierende Bit ist das Paritätsbit, das dieser Sequenz zugeordnet ist, was in diesem Fall P0 ist.
  • Das zweite Schreibbaumsegment 82 empfängt ähnlich Bits von den Bitdaten, die mit einem „X" in der Zeile gekennzeichnet sind, die in 3 „XOR für P1" bezeichnet ist. Auf diese Weise kommen die fünf ausgewählten Bits von einem Prüfen von abwechselnd zwei Bitorten und zwei nicht, d. h. zwei prüfen, zwei auslassen, zwei prüfen, zwei auslassen, usw. Diese fünf Bits werden an XOR-Gatter gesendet, so dass ein einzelnes Ausgabebit resultiert. Dieses resultierende Bit ist das Paritätsbit, das dieser Sequenz zugeordnet ist, was in diesem Fall P1 ist.
  • Das dritte Schreibbaumsegment 84 empfängt ähnlich Bits von den Bitorten, die mit einem „X" in der Zeile gekennzeichnet sind, die in 3 „XOR für P2" bezeichnet ist. Auf diese Weise kommen die fünf ausgewählten Bits von einem Prüfen von abwechselnd vier Bitorten und vier nicht, d. h. vier prüfen, vier auslassen, vier prüfen, vier auslassen, usw. Diese fünf Bits werden an XOR-Gatter gesendet, so dass ein einzelnes Ausgabebit resultiert. Dieses resultierende Bit ist das Paritätsbit, das dieser Sequenz zugeordnet ist, was in diesem Fall P2 ist.
  • Das vierte Schreibbaumsegment 86 empfängt ähnlich Bits von den Bitorten, die mit einem „X" in der Zeile gekennzeichnet sind, die in 3 „XOR für P3" bezeichnet ist. Auf diese Weise kommen die fünf ausgewählten Bits von einem Prüfen von abwechselnd acht Bitorten und acht nicht, d. h. acht prüfen, acht auslassen, acht prüfen, acht auslassen, usw. Diese fünf Bits werden an XOR-Gatter gesendet, so dass ein einzelnes Ausgabebit resultiert. Dieses resultierende Bit ist das Paritätsbit, das dieser Sequenz zugeordnet ist, was in diesem Fall P3 ist.
  • Bei einem Ausführungsbeispiel umfasst jedes der Schreibbaumsegmente 8086 fünf XOR-Gatter, die in drei Stufen sind. Bei einem Ausführungsbeispiel z. B. umfasst das erste Schreibbaumsegment 80 fünf XOR-Gatter 80A80E. In einer ersten Stufe empfangen die XOR-Gatter 80A und 80B vier der fünf ausgewählten Bits normaler Schreibdaten. In einer zweiten Stufe empfängt das XOR-Gatter 80C die Ausgaben aus den Gattern in der ersten Stufe (XOR-Gatter 80A und 80B). In einer dritten und letzten Stufe empfängt das XOR-Gatter 80D dann die Ausgabe des XOR-Gatters 80C aus der zweiten Stufe und empfängt das verbleibende fünfte Bit der normalen Schreibdaten. Die Ausgabe des XOR-Gatters 80D der dritten Stufe ist das Paritätsbit (z. B. P0). Das Paritätsbit P0 wird z. B. aus dem Schreibbaumsegment 80 ausgegeben, P1 wird aus dem Schreibbaumsegment 82 ausgegeben, P2 wird aus dem Schreibbaumsegment 84 ausgegeben und P3 wird aus dem Schreibbaumsegment 86 ausgegeben. Die vier Paritätsbits P0 – P3 werden dann über die Schreibparitätsleitung 67 in dem Paritätsspeicher 54 gespeichert.
  • Ein Fachmann auf diesem Gebiet wird erkennen, dass eine weitere Konfiguration von Logikgattern und einem ähnlichen Schaltungsaufbau ähnliche Ergebnisse erzielen wird, die mit der vorliegenden Erfindung konsistent sind. Ferner kann jedes der anderen Schreibbaumsegmente 8286 fünf XOR-Gatter umfassen, die in drei Stufen sind, ähnlich denen, die in Bezug auf das Schreibbaumsegment 80 dargestellt wurden.
  • Während der Leseoperation kombiniert der Lesebaum 58 normale Lesedaten von dem Datenspeicher 52 mit den entsprechenden Paritätslesedaten aus dem Paritätsspeicher 54, um zu bestimmen, ob ein Fehler in den Daten während der Speicheroperation aufgetreten ist. Die Ausgabe des Lesebaums 58 zeigt an, ob ein Fehler aufgetreten ist, sowie welche Bitposition den Fehler beinhaltet.
  • Bei einem Ausführungsbeispiel wird jedes der Paritätsdatenbits P0 – P3 in eines der Lesebaumsegmente 9096 eingegeben. Bei einem Ausführungsbeispiel z. B. wird das Paritätsbit P0 in das erste Lesebaumsegment 90 eingegeben, das Paritätsbit P1 wird in den zweiten Lesebaum 92 eingegeben, das Paritätsbit P2 wird in den dritten Lesebaum 94 eingegeben und das Paritätsbit P3 wird in den vierten Lesebaum 96 eingegeben. Parallel empfängt jedes der vier Lesebaumsegmente 9096 eine Kombination von fünf Bits der acht Bits der normalen Lesedaten. Bei einem Ausführungsbeispiel wird die Kombination von fünf Bits gemäß dem modifizierten Korrekturcode, der in 3 dargestellt ist, bestimmt. Lesepfad-XOR-Eingänge sind in der Darstellung gekennzeichnet.
  • So empfängt bei einem Ausführungsbeispiel das erste Lesebaumsegment 90 das Paritätsbit P0 und die fünf Bits von den normalen Lesedaten an den Bitorten, die mit einem „X" in der Zeile markiert sind, die „XOR für P0" (in 3) bezeichnet ist. Ähnlich empfängt das zweite Lesebaumsegment 92 das Paritätsbit P1 und fünf der Bits von den normalen Lesedaten an den Bitorten, die mit einem „X" in der Zeile markiert sind, die „XOR für P1" (in 3) bezeichnet ist. Ähnlich empfängt das dritte Lesebaumsegment 94 das Paritätsbit P1 und fünf der Bits von den normalen Lesedaten an den Bitorten, die mit einem „X" in der Zeile markiert sind, die „XOR für P2" (in 3) bezeichnet ist. Und schließlich empfängt ähnlich das vierte Lesebaumsegment 96 das Paritätsbit P3 und fünf der Bits von den normalen Lesedaten an den Bitorten, die mit einem „X" in der Zeile markiert sind, die „XOR für P3" (in 3) bezeichnet ist.
  • Bei einem Ausführungsbeispiel umfasst jedes der vier Lesebaumsegmente 9096 fünf XOR-Gatter, die in drei Stufen sind. Bei einem Ausführungsbeispiel z. B. umfasst das erste Lesebaumsegment 90 fünf XOR-Gatter 90A90E. In einer ersten Stufe empfangen die XOR-Gatter 90A und 90B vier der fünf ausgewählten Bits der normalen Schreibdaten. In einer zweiten Stufe empfängt das XOR-Gatter 90C die Ausgaben von den Gattern in der ersten Stufe und das XOR-Gatter 90D empfängt das verbleibende fünfte Bit der normalen Lesedaten gemeinsam mit dem Paritätsbit. In einer dritten und letzten Stufe empfängt das XOR-Gatter 90E dann die Ausgabe von beiden Gattern von der zweiten Stufe (90C und 90D) und gibt dann das Ergebnis an den Decodierer 60 aus.
  • Ein Fachmann auf dem Gebiet wird erkennen, dass eine andere Konfiguration von Logikgattern und einem ähnlichen Schaltungsaufbau ähnliche Ergebnisse erzielen wird, die mit der vorliegenden Erfindung konsistent sind. Ferner kann jedes der anderen Lesebaumsegmente 9296 fünf XOR-Gatter umfassen, die in drei Stufen sind, ähnlich denjenigen, die in Bezug auf das erste Lesebaumsegment 90 dargestellt wurden.
  • Bei einem Ausführungsbeispiel bestimmt der Decodierer 60, ob ein Bitfehler in den Daten während der Speicheroperation vorlag. Bei einem Ausführungsbeispiel ist der Decodierer 60 ein Standard-Eins-Heiß- bzw. -One-Hot-Decodierer, der das Ergebnis des Lesebaums 58 interpretiert und einen Ausgang auf aktiv setzt, um anzuzeigen, welches Datenbit, falls überhaupt, einen Fehler aufweist. Ein Lese-/Schreibschalter leitet auf einer Ausleseleitung 72 entweder jedes Lesedatenbit unverändert weiter oder invertiert das Bit, basierend darauf, ob das gegebene Bit das Bit in dem Fehler ist.
  • Bei einem Ausführungsbeispiel bestimmen die Ergebnisse, die von den Lesebaumsegmenten 9096 kommen, ob ein Fehler aufgetreten ist, und identifizieren auch das betroffene Bit. Wenn z. B. das Ergebnis aus den Lesebaumsegmenten 9096 „0000" ist, bedeutet dies, dass kein Fehler oder Ausfall in den Daten während der Speicherzeit vorlag. Andererseits bedeutet, wenn das Ergebnis aus den Lesebaumsegmenten 9096 „1010" ist, dies, dass ein Fehler vorlag, und dass der Fehler an dem Bitort 10 auftrat, was D4 entspricht (siehe 3).
  • Bei einem Ausführungsbeispiel ist der (12,8)-modifizierte Korrekturcode, der in 3 dargestellt ist, in den Datenpfad innerhalb der ECC 50 integriert. Auf diese Weise besteht kein Bedarf nach invasiven Veränderungen an der Speicherarraystruktur, während dennoch die höchste Anzahl korrigierbarerer Fehler auf der Vorrichtung bereitgestellt wird.
  • Bei einem Ausführungsbeispiel ist der Datenspeicher 52 in naher Nähe zu den Datenlese-/-schreibpuffern 62 und 64 platziert, um eine relativ schnelle Datenzeitgebung bereit zustellen. Andererseits ist der Paritätsspeicher 54 weiter von den Datenlese-/-schreibpuffern 62 und 64 entfernt relativ zu dem Datenspeicher 52 platziert. Dies führt zu der langsameren Zeitgebung von Paritätsdaten relativ zu denjenigen des Datenspeichers 52. Bei einem Ausführungsbeispiel wird diese langsamere Zeitgebung in dem Lesebaum 58 ausgeglichen.
  • Auf diese Weise gelangen bei Betrieb eines Ausführungsbeispiels der ECC 50 die Paritätslesedaten in die zweite Stufe der Lesebaumsegmente 9096 (z. B. XOR-Gatter 90D), während die normalen Lesedaten in die erste Stufe gelangen (z. B. XOR-Gatter 90A und 90B). Auf diese Weise können Zeitgebungsdifferenzen zwischen den schnellen normalen Daten und den relativ langsamen Paritätsdaten ausgelöscht und/oder ausgeglichen werden. Ferner werden bei einem Ausführungsbeispiel, da der in 3 dargestellte modifizierte Code nur fünf Bits von Lesedaten für den Lesebaum 58 verwendet, nur drei Stufen von Logikgattern verwendet. So können die Zeitgebungsdifferenzen zwischen den schnellen normalen Daten und den relativ langsamen Paritätsdaten mit der zusätzlichen Stufe von Logikgattern ausgeglichen werden. Wo zusätzliche Bits von Lesedaten verwendet werden, wie z. B. die sieben Bits, die für jedes Paritätsbit in 2 dargestellt sind, wäre ein Ausgleichen von Zeitgebungsdifferenzen komplizierter.
  • Zusätzlich erlaubt ein Bereitstellen separater Schaltungen des Schreibbaums 56 und des Lesebaums 58 für den Schreib- und Lesepfad eine optimale Platzierung des Schreib- und Lesebaums 56 und 58, um eine gute Gesamtzeitgebung in der ECC 50 zu erzielen. Der Schreibbaum 56 wird verwendet, um die Paritätsdaten basierend auf den Werten der normalen Schreibdaten und dem Korrekturcode zu erzeugen. Die Ausgabe des Schreibbaums 56 wird direkt in den Paritätsspeicher 54 geschrieben.
  • Obwohl spezifische Ausführungsbeispiele hierin dargestellt und beschrieben wurden, ist für Fachleute auf dem Gebiet zu erkennen, dass eine Vielzahl alternativer und/oder äquivalenter Implementierungen anstelle der gezeigten und beschriebenen spezifischen Ausführungsbeispiele eingesetzt werden könnte, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen. 3 z. B. stellt Bitdefinitionen für acht Bits oder für ein einzelnes Byte Daten dar. Ein Fachmann auf dem Gebiet wird sehen, wie die vorliegende Erfindung auch auf Mehrfachbytes anwendbar ist, sowie auf das dargestellte Einzelbyte-Beispiel. Jedes zusätzliche Byte Daten weist seine zugeordneten vier Paritätsbits auf gemeinsam mit der ausgewählten 5-Bit-Sequenz von Datenbits innerhalb des Bytes. Auf diese Weise könnten 16-Bit-, 32-Bit- und 64-Bit- sowie weitere Konfigurationen ohne Weiteres mit der ECC 50 untergebracht werden.
  • So soll diese Anmeldung mögliche Anpassungen oder Variationen der hierin erläuterten spezifischen Ausführungsbeispiele abdecken. Deshalb ist es beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente derselben eingeschränkt sein soll.

Claims (24)

  1. Fehlerkorrekturschaltung (50) mit folgenden Merkmalen: einem Datenspeicher (52), der konfiguriert ist, um ei nen Satz Daten zu empfangen und zu speichern; einem Schreibbaum (56), der konfiguriert ist, um den Satz Daten zu empfangen und Paritätsbits zu erzeugen; einem Paritätsspeicher (54), der mit dem Schreibbaum gekoppelt und konfiguriert ist, um Paritätsbits zu empfangen und zu halten; und einem Lesebaum (58), der konfiguriert ist, um den Satz Daten von dem Datenspeicher und Paritätsbits von dem Paritätsspeicher zu empfangen, und konfiguriert ist, um eine Anzeige eines Ausfalls innerhalb des Datenspeichers zu erzeugen.
  2. Fehlerkorrekturschaltung (50) gemäß Anspruch 1, bei der der Schreibbaum (56) ferner ein erstes, ein zweites, ein drittes und ein viertes Schreibbaumsegment (8086) aufweist, und bei der jedes Schreibbaumsegment logisch einen Teilsatz des Satzes Daten kombiniert, um die Paritätsbits zu erzeugen.
  3. Fehlerkorrekturschaltung (50) gemäß Anspruch 1 oder 2, bei der der Lesebaum (58) ferner ein erstes, ein zweites, ein drittes und ein viertes Lesebaumsegment (9096) aufweist, und bei der jedes Lesebaumsegment logisch einen Teilsatz des Satzes Daten von dem Datenspeicher mit einem der Paritätsbits kombiniert, um zu bestimmen, ob ein Ausfall innerhalb des Satzes Daten, die in dem Datenspeicher gespeichert sind, aufgetreten ist.
  4. Fehlerkorrekturschaltung (50) gemäß Anspruch 3, bei der der Teilsatz von Daten, die durch jedes der Lesebaumsegmente (9096) kombiniert sind, gemäß einem modifizierten Hamming-Code ausgewählt ist.
  5. Fehlerkorrekturschaltung (50) gemäß Anspruch 3 oder 4, bei der der Satz Daten eine Serie von Bits umfasst, die jeweils einem Bitort zugewiesen sind, wobei der Teilsatz von Daten, die durch das erste Lesebaumsegment (90) kombiniert sind, durch ein Prüfen jedes zweiten Bitorts ausgewählt ist, wobei der Teilsatz von Daten, die durch das zweite Lesebaumsegment (92) kombiniert sind, durch ein Prüfen von abwechselnd zwei Bitorten und zwei nicht ausgewählt ist, wobei der Teilsatz von Daten, die durch das dritte Lesebaumsegment (94) kombiniert sind, durch ein Prüfen von abwechselnd vier Bitorten und vier nicht ausgewählt ist, und wobei der Teilsatz von Daten, die durch das vierte Lesebaumsegment (96) kombiniert sind, durch ein Prüfen von abwechselnd acht Bitorten und acht nicht ausgewählt ist.
  6. Fehlerkorrekturschaltung (50) gemäß Anspruch 5, bei der der Satz Daten acht Bits umfasst, und bei der die Paritätsdaten vier Bits umfassen, derart, dass es zwölf Bitorte gibt.
  7. Anwendungsgehäuse (10) mit folgenden Merkmalen: einem Anwendungschip (14); einem erwiesenermaßen guten Chip (12), der mit dem Anwendungschip gekoppelt ist, wobei der erwiesenermaßen gute Chip (12) ferner folgende Merkmale aufweist: einen Speicher, der konfiguriert ist, um Schreibdaten zu halten; einen Schreibbaum, der konfiguriert ist, um die Schreibdaten zu empfangen und Paritätsdaten aus denselben zu erzeugen; und einen Lesebaum, der konfiguriert ist, um Lesedaten von dem Speicher zu empfangen, und konfiguriert ist, um Paritätsdaten von dem Paritätsspeicher zu empfangen, wobei der Lesebaum eine Ausgabe erzeugt, die anzeigt, ob ein Ausfall innerhalb des Datenspeichers aufgetreten ist.
  8. Anwendungsgehäuse (10) gemäß Anspruch 7, bei dem der Schreibspeicherbaum eine Mehrzahl von Schreibbaumsegmenten umfasst, und bei dem der Lesespeicherbaum eine Mehrzahl von Lesebaumsegmenten umfasst.
  9. Anwendungsgehäuse (10) gemäß Anspruch 8, bei dem jedes der Schreibbaumsegmente in einer ersten, zweiten und dritten Stufe angeordnet ist, wobei jede der Stufen zumindest ein logisches Exklusiv-ODER-Gatter umfasst, und wobei jedes der Lesebaumsegmente in einer ersten, zweiten und dritten Stufe angeordnet ist, wobei jede der Stufen zumindest ein logisches Exklusiv-ODER-Gatter umfasst.
  10. Anwendungsgehäuse (10) gemäß Anspruch 9, bei dem die Lesedaten von dem Speicher in der ersten Stufe jedes der Segmente des Lesebaums empfangen werden, und bei dem die Paritätsdaten von dem Paritätsspeicher in der zweiten Stufe jedes der Segmente des Lesebaums empfangen werden.
  11. Anwendungsgehäuse (10) gemäß Anspruch 10, bei dem der Schreibspeicherbaum vier Schreibbaumsegmente umfasst, und bei dem der Lesespeicherbaum vier Lesebaumsegmente umfasst.
  12. Anwendungsgehäuse (10) gemäß einem der Ansprüche 7 bis 11, das ferner einen Eingangs- und einen Ausgangspuffer umfasst, die konfiguriert sind, um Schreibdaten an den Speicher zu übertragen und Lesedaten von dem Speicher zu übertragen, wobei der Speicher konfiguriert ist, um in näherer Nähe zu dem Eingangs- und Ausgangspuffer zu sein als der Paritätsspeicher zu dem Eingangs- und Ausgangspuffer ist.
  13. Speichervorrichtung mit folgenden Merkmalen: einem Datenspeicher, der konfiguriert ist, um Schreibdaten, die eine Mehrzahl von Bits aufweisen, zu speichern; einer Einrichtung zum Empfangen von Schreibdaten zum Erzeugen von Paritätsdaten aus den Schreibdaten; einem Paritätsspeicher, der konfiguriert ist, um die Paritätsdaten zu empfangen und zu halten; und einer Einrichtung zum Empfangen von Lesedaten von dem Datenspeicher und Paritätsdaten von dem Paritätsspeicher und zum Anzeigen, ob ein Ausfall innerhalb der Schreibdaten während eines Speicherns der Schreibdaten in den Datenspeicher aufgetreten ist.
  14. Speichervorrichtung gemäß Anspruch 13, die ferner eine Einrichtung, die mit dem Lesebaum gekoppelt ist, zum Identifizieren des Bits innerhalb der Schreibdaten, das durch den Ausfall beeinflusst ist, wenn ein Ausfall angezeigt wird, umfasst.
  15. Speichervorrichtung gemäß Anspruch 13 oder 14, die ferner eine Einrichtung, die mit dem Lesebaum gekoppelt ist, zum Empfangen der Ausgabe aus dem Lesebaum und zum Korrigieren der Lesedaten, wenn ein Fehler angezeigt wird, umfasst.
  16. Speichervorrichtung gemäß Anspruch 14 oder 15, bei der die Einrichtung zum Identifizieren des Bits innerhalb der Schreibdaten eine Detektorschaltung ist, die mit dem Lesebaum gekoppelt ist, und die konfiguriert ist, um die Ausgabe aus dem Lesebaum zu empfangen, derart, dass der Detektor die Lesedaten korrigiert, wenn ein Fehler angezeigt wird.
  17. Fehlerkorrekturschaltung (50) mit folgenden Merkmalen: einem Datenspeicher (52), der konfiguriert ist, um einen Satz Daten zu empfangen und zu speichern; einem Schreibbaum (56), der eine Mehrzahl von Segmenten aufweist, die jeweils konfiguriert sind, um den Satz Daten zu empfangen, und jeweils konfiguriert sind, um ein Paritätsbit zu erzeugen; einem Paritätsspeicher (54), der mit dem Schreibbaum gekoppelt und konfiguriert ist, um die Paritätsbits zu empfangen und zu speichern; und einem Lesebaum (58), der eine Mehrzahl von Segmenten aufweist, die jeweils konfiguriert sind, um einen Teilsatz des Satzes Daten von dem Datenspeicher zu empfangen, und jeweils konfiguriert sind, um ein Paritätsbit von dem Paritätsspeicher zu empfangen, wobei der Lesebaum eine Anzeige, ob ein Ausfall in dem Satz von Daten, die in dem Datenspeicher gespeichert sind, aufgetreten ist, erzeugt.
  18. Verfahren zum Erfassen eines Ausfalls innerhalb einer Speichervorrichtung, wobei das Verfahren folgende Schritte aufweist: Schreiben eines Satzes Daten in einen Datenspeicher; Schreiben des Satzes Daten in einen Schreibbaum, der konfiguriert ist, um den Satz Daten zu empfangen; Erzeugen von Paritätsbits mit dem Schreibbaum unter Verwendung des Satzes Daten; Speichern der Paritätsbits in einem Paritätsspeicher; logisches Kombinieren des Satzes Daten von dem Datenspeicher und der Paritätsbits von dem Paritätsspeicher in einem Lesebaum; und Erzeugen einer Anzeige, ob ein Ausfall innerhalb des Satzes Daten, die in den Datenspeicher geschrieben sind, aufgetreten ist.
  19. Verfahren gemäß Anspruch 18, bei dem ein erstes, ein zweites, ein drittes und ein viertes Schreibbaumsegment (8086) innerhalb des Schreibbaums verwendet werden, um den Satz Daten logisch zu kombinieren, um die Paritätsbits zu erzeugen.
  20. Verfahren gemäß Anspruch 18 oder 19, bei dem ein erstes, ein zweites, ein drittes und ein viertes Lesebaumsegment (8096) innerhalb des Lesebaums verwendet werden, um einen Teilsatz des Satzes Daten aus dem Datenspeicher mit einem der Paritätsbits logisch zu kombinieren, um zu bestimmen, ob ein Ausfall in dem Satz Daten in dem Datenspeicher aufgetreten ist.
  21. Verfahren gemäß einem der Ansprüche 18 bis 20, das ferner ein Kombinieren des Teilsatzes von Daten mit den Lesebaumsegmenten (9096) gemäß einem modifizierten Hamming-Code umfasst.
  22. Verfahren zum Herstellen eines Anwendungsgehäuses (10), mit folgenden Schritten: Bereitstellen eines Anwendungschips (14); Koppeln eines erwiesenermaßen guten Chips (12) mit dem Anwendungschip (14); Schreiben eines Satzes Daten in einen Datenspeicher; Schreiben des Satzes Daten in einen Schreibbaum, der konfiguriert ist, um den Satz Daten zu empfangen; Erzeugen von Paritätsbits mit dem Schreibbaum unter Verwendung des Satzes Daten; logisches Kombinieren des Satzes Daten von dem Datenspeicher mit den Paritätsbits; und Erzeugen einer Anzeige, ob ein Ausfall innerhalb des Satzes Daten, die in den Datenspeicher geschrieben sind, aufgetreten ist.
  23. Verfahren gemäß Anspruch 22, das ferner den Satz Daten von dem Datenspeicher mit den Paritätsbits unter Verwendung einer logischen Exklusiv-ODER-Operation logisch kombiniert.
  24. Fehlerkorrekturverfahren mit folgenden Schritten: Speichern eines Satzes Daten in einem Datenspeicher; Erzeugen eines Paritätsbits in jedem Segment eines Schreibbaums, der eine Mehrzahl von Segmenten aufweist, unter Verwendung des Satzes Daten; Speichern der Paritätsbits, die durch die Mehrzahl von Segmenten in dem Schreibbaum erzeugt werden; Kombinieren eines Teilsatzes des Satzes Daten von dem Datenspeicher mit einem Paritätsbit von dem Paritätsspeicher in jedem Segment eines Lesebaums, der eine Mehrzahl von Segmenten aufweist; und Erzeugen einer Anzeige, ob ein Ausfall in dem Satz Daten, die in dem Datenspeicher gespeichert sind, aufgetreten ist, aus der Kombination des Satzes Daten von dem Datenspeicher mit einem Paritätsbit.
DE102006007326A 2005-02-17 2006-02-16 Fehlerkorrekturschaltung und -Verfahren Withdrawn DE102006007326A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/059,899 US20060195774A1 (en) 2005-02-17 2005-02-17 Error correction circuit and method
US11/059,899 2005-02-17

Publications (1)

Publication Number Publication Date
DE102006007326A1 true DE102006007326A1 (de) 2006-08-24

Family

ID=36776411

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006007326A Withdrawn DE102006007326A1 (de) 2005-02-17 2006-02-16 Fehlerkorrekturschaltung und -Verfahren

Country Status (4)

Country Link
US (1) US20060195774A1 (de)
KR (1) KR100754564B1 (de)
CN (1) CN1825495A (de)
DE (1) DE102006007326A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100827662B1 (ko) 2006-11-03 2008-05-07 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법
US7986441B2 (en) 2007-04-04 2011-07-26 Wong Technologies L.L.C. Embedding watermark into halftone image with low distortion using parity values for overlapping groups of candidate sites
US8347169B1 (en) * 2010-03-01 2013-01-01 Applied Micro Circuits Corporation System and method for encoding using common partial parity products
US9148176B2 (en) * 2013-06-24 2015-09-29 Micron Technology, Inc. Circuits, apparatuses, and methods for correcting data errors
JPWO2015177917A1 (ja) * 2014-05-23 2017-04-20 富士通株式会社 演算回路、符号化回路及び復号回路
KR102204391B1 (ko) 2014-08-18 2021-01-18 삼성전자주식회사 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치
US10459794B2 (en) 2017-02-06 2019-10-29 SK Hynix Inc. Memory systems having extended product lifetime and methods of operating the same

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253182A (en) * 1979-04-09 1981-02-24 Sperry Rand Corporation Optimization of error detection and correction circuit
US6304946B1 (en) * 1999-07-01 2001-10-16 Emc Corporation System and method for optimizing cache write backs to disks
US6543029B1 (en) * 1999-09-29 2003-04-01 Emc Corporation Error corrector
KR200185007Y1 (ko) 1999-12-29 2000-06-15 엘지정보통신주식회사 이중화 프로세서의 메모리오류 보완장치
US6754858B2 (en) * 2001-03-29 2004-06-22 International Business Machines Corporation SDRAM address error detection method and apparatus
US6792567B2 (en) * 2001-04-30 2004-09-14 Stmicroelectronics, Inc. System and method for correcting soft errors in random access memory devices
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same

Also Published As

Publication number Publication date
US20060195774A1 (en) 2006-08-31
CN1825495A (zh) 2006-08-30
KR20060092139A (ko) 2006-08-22
KR100754564B1 (ko) 2007-09-05

Similar Documents

Publication Publication Date Title
DE3689128T2 (de) Halbleiterspeichergerät mit einer Korrekturfunktion.
DE60034403T2 (de) Halbleiterspeicheranordnung mit einer Fehlerkorrekturkodeschaltung und Verfahren zur Prüfung eines Speichers
DE102006007326A1 (de) Fehlerkorrekturschaltung und -Verfahren
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE3784181T2 (de) Fehlererkennung unter verwendung von paritaetspruefung mit veraenderlichem feld.
EP2100308B1 (de) Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern
DE102006005817B4 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE10206689B4 (de) Integrierter Speicher und Verfahren zum Betrieb eines integrierten Speichers
DE102008013099A1 (de) Speichertestschaltung
DE102007032273A1 (de) Direktzugriffsspeicher mit Prüfschaltung
DE10032256C2 (de) Chip-ID-Register-Anordnung
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
EP1444700B1 (de) Speichertest
DE102006036386A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE19725581A1 (de) Anordnung mit Speicherzellen und Verfahren zur Funktionsüberprüfung von Speicherzellen
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
EP1125202A1 (de) Speichereinrichtung zum speichern von daten und verfahren zum betreiben von speichereinrichtungen zum speichern von daten
DE102019113970A1 (de) Erkennung von adressfehlern
DE3433679A1 (de) Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage
DE69722868T2 (de) Audio-RAM mit Fehlerdetektion und Korrekturfunktion
DE102017115057B4 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb durch Vergleich zweier Schreibvorgänge mit unterschiedlichem Inversionsstatus
DE102017115058B4 (de) Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb und Herbeiführung der Ausfallsicherheit
DE102009031310B4 (de) Speichersystem, Leseverstärker, Verwendung und Verfahren zur Fehlerdetektion mittels Parity-Bits eines Blockcodes
DE10148047A1 (de) Verfahren und Vorrichtung zur Sicherung von Daten in einem Speicherbaustein und Speicherbaustein

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: QIMONDA AG, 81739 MUENCHEN, DE

8139 Disposal/non-payment of the annual fee