DE10233642A1 - Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung - Google Patents
Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-SpeicherungsvorrichtungInfo
- Publication number
- DE10233642A1 DE10233642A1 DE10233642A DE10233642A DE10233642A1 DE 10233642 A1 DE10233642 A1 DE 10233642A1 DE 10233642 A DE10233642 A DE 10233642A DE 10233642 A DE10233642 A DE 10233642A DE 10233642 A1 DE10233642 A1 DE 10233642A1
- Authority
- DE
- Germany
- Prior art keywords
- encoded data
- block
- ecc
- memory cells
- parametric values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
Abstract
Eine magnetoresistive Festkörper-Speichervorrichtung (MRAM) verwendet eine Fehlerkorrektur-Kodierung (ECC) zum Bilden von ECC-kodierten, gespeicherten Daten. Bei einer Leseoperation werden parametrische Werte aus Speicherzellen der Vorrichtung erhalten und mit Bereichen verglichen, um logische Bitwerte einzurichten, zusammen mit Löschinformationen. Die Löschinformationen identifizieren Symbole 206 in einem Block von ECC-kodierten Daten, die aus der Parameterbewertung verdächtigt werden, durch physische Ausfälle der Speicherzelle beeinträchtigt zu sein. Wenn die Position von ausfallverdächtigen Symbolen aus diesen Löschinformationen bekannt ist, wird die Fähigkeit eines Dekodierens zum Durchführen einer ECC-Dekodierung wesentlich verbessert.
Description
- Die vorliegende Erfindung bezieht sich allgemein auf eine Festkörper-Speicherungsvorrichtung, die eine Fehlerkorrektur-Kodierung (ECC = error correction coding) verwendet und bezieht sich insbesondere auf ein Verfahren zum Fehlerkorrektur-Dekodieren von ECC-kodierten Daten, die in der Vorrichtung gespeichert sind.
- Eine typische Festkörper-Speicherungsvorrichtung weist eines oder mehrere zweidimensionale Arrays von Speicherzellen zum Speichern von Daten auf. Bestehende Halbleitertechniken liefern Festkörper-Speichervorrichtungen, die für eine relativ kurzzeitige Speicherung von Daten geeignet sind, wie zum Beispiel flüchtigen, dynamischen Direktzugriffsspeicher (DRAM = dynamic random access memory) oder für eine relativ längerzeitige Speicherung von Daten, wie zum Beispiel Flash- und nicht flüchtigen statischen Direktzugriffs- Speicher (SRAM = static random access memory). Kürzlich wurde eine magnetoresistive Speichervorrichtung als ein neuer Typ einer Festkörper-Speichervorrichtung entwickelt. Die magnetoresistive Festkörper-Speichervorrichtung ist ebenfalls bekannt als magnetischer Direktzugriffsspeicher (MRAM = magnetic random access memory). MRAM-Vorrichtungen sind nicht flüchtig, weisen einen relativ geringen Leistungsverbrauch auf und haben relative schnelle Zugriffszeiten, insbesondere für Datenschreiboperationen, die MRAM- Vorrichtungen für sowohl Kurzzeit- als Langzeit-Anwendungen ideal geeignet machen.
- Ein Problem besteht insofern, daß Festkörper- Speichervorrichtungen einem physischen Versagen unterliegen, daß zu einem inakzeptablen Verlust von gespeicherten Daten führen kann. Genauer gesagt unterliegen momentan erhältliche Herstellungstechniken für MRAM-Vorrichtungen Einschränkungen, und folglich sind die Herstellungserträge von akzeptablen MRAM-Vorrichtungen relativ niedrig. Obwohl bessere Herstellungstechniken entwickelt werden, neigen diese dazu, Komplexität und Kosten der Herstellung zu erhöhen. Es ist daher wünschenswert, Herstellungstechniken mit geringeren Kosten anzuwenden und gleichzeitig den Vorrichtungsertrag zu erhöhen. Ferner ist es wünschenswert, die Zelldichte zu erhöhen, die auf einem Substrat wie zum Beispiel Silizium gebildet ist, aber wenn sich die Dichte erhöht werden Herstellungstoleranzen zunehmend schwieriger zu steuern, was zu höheren Ausfallraten und geringeren Vorrichtungserträgen führt.
- Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Fehlerkorrektur-Dekodieren, eine Festkörper- Speichervorrichtung und eine magnetoresistive Festkörper- Speichervorrichtung mit verbesserten Charakteristika zu schaffen.
- Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 17 oder 19 gelöst.
- Es ist ein Vorteil der vorliegenden Erfindung, ein Verfahren zum Fehlerkorrektur-Dekodieren von ECC-kodierten Daten zu liefern, die in einer Festkörper-Speichervorrichtung gespeichert sind, wobei die Effektivität eines ECC-Schemas maximiert wird und/oder bei der Mehraufwand, der der Fehlerkorrektur-Kodierung zugeordnet sind, reduziert werden können. Ein bevorzugter Vorteil ist es, ein derartiges Verfahren bereitzustellen, bei dem eine relativ große Anzahl von physischen Ausfällen toleriert werden kann.
- Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren für eine Fehlerkorrektur-Dekodierung von ECC- kodierten Daten geschaffen, die in einer Festkörper- Speichervorrichtung gespeichert sind, die eine Mehrzahl von Speicherzellen aufweist, wobei das Verfahren folgende Schritte aufweist: Erhalten von parametrischen Werten von einem Satz der Speicherzellen; Erzeugen eines Blocks von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte; Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte; und Fehlerkorrektur-Dekodierung des Blocks von gespeicherten ECC-kodierten Daten bezüglich der Löschinformationen.
- Vorzugsweise werden die parametrischen Werte durch Lesen des Satzes von Speicherzellen erhalten, und vorzugsweise wird das Verfahren als Teil einer Leseoperation aus der Speichervorrichtung durchgeführt.
- Vorzugsweise werden Logikwerte bezüglich den erhaltenen parametrischen Werte erzeugt, separat von oder kombiniert mit dem Bilden von Löschinformationen aus den erhaltenen parametrischen Werten. Die Logikwerte und/oder die Löschinformationen werden geeignet durch Vergleichen der erhaltenen parametrischen Werte mit einem oder mehreren Bereichen gebildet. Die Logikwerte und die Löschinformationen können auf jegliche geeignete Weise erzeugt werden. Bei einem Beispiel werden die logischen Bitwerte mit harten Entscheidungen bezüglich des Wertes jedes Bits bestimmt, oder ansonsten wird das Bit als ein Ausfall bestimmt und dementsprechend werden Löschinformationen erzeugt. Bei einem zweiten Beispiel werden weiche Entscheidungen getroffen, bezüglich der relativen Sicherheit mit der jedem Bits ein logischer Wert zugeordnet oder dasselbe als Ausfall deklariert wird.
- Bei den bevorzugten Ausführungsbeispielen ist die Vorrichtung eine magnetoresistive Festkörper-Speichervorrichtung. Hier sind die erhaltenen parametrischen Werte geeigneterweise ein Widerstandswert oder ein Zeitwert für jede aus dem Satz von Speicherzellen, wobei die erhaltenen parametrischen Werte geeigneterweise von einem Erfassungsstrom hergeleitet werden, der entlang Reihen- und Spalten- Steuerleitungen angelegt wird, um jede aus dem gewünschten Satz von Speicherzellen zu aktivieren.
- Die Löschinformationen identifizieren vorzugsweise eines oder mehrere Symbole in dem Block von kodierten Daten, wobei ein Logikwert nicht von den parametrischen Werten erhalten werden könnte oder unsicher ist.
- Die Fehlerkorrektur-Dekodierung des Blocks von gespeicherten ECC-kodierten Daten in Bezug auf die Löschinformationen ermöglicht, daß für jedes Symbol korrekte Werte berechnet werden und daß Originalinformationen aus den gespeicherten ECC-kodierten Daten wiedergewonnen werden. Geeigneterweise wird die Position von Null oder mehr Symbolfehlern in dem Block von ECC-kodierten Daten durch die Löschinformationen gegeben, was die Leichtigkeit der Berechnung eines korrigierten Symbolwerts verbessert.
- Optional umfaßt das Verfahren den Schritt des Zurückschreibens korrigierter, kodierter Daten in die Speichervorrichtung, die geeigneterweise den gleichen Satz von Speicherzellen verwendet. Vorzugsweise wird diese Zurückschreibeoperation selektiv ausgeführt, derart, daß die korrigierten, kodierten Daten zurück in die Speicherzelle Bezug nehmend auf die Löschinformationen geschrieben werden. Vorzugsweise weist der Zurückschreibeschritt selektiv das Nicht-Zurückschreiben korrigierter Daten in Speicherzellen auf, bei denen bestimmt wird, daß dieselben von physischen Ausfällen betroffen sind.
- Das Verfahren umfaßt vorzugsweise die Anfangsschritte des Empfangens einer Logikeinheit von Originalinformationen, von welchen erwünscht ist, daß dieselben in der Vorrichtung gespeichert werden, das Kodieren der Originalinformationen zum Bilden eines Blocks aus ECC-kodierten Daten und das Speichern des Blocks von ECC-kodierten Daten in dem Array von Speicherzellen. Jede Logikeinheit aus Originalinformationen entspricht vorzugsweise einem Sektor, wie zum Beispiel 512 Byte. Das Kodieren des Sektors von Originalinformationen bildet einen kodierten Sektor, der vorzugsweise vier Kodewörter aufweist. Hier wird jedes Kodewort vorzugsweise als ein separater Block von ECC-kodierten Daten behandelt.
- Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Festkörper-Speichervorrichtung geschaffen, die folgende Merkmale aufweist: mindestens ein Array von Speicherzellen; und eine Arraysteuerung zum Erhalten von parametrischen Werten aus einem Satz der Speicherzellen und Erzeugen eines Blockes von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte, einschließlich des Bildens von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte; und eine ECC-Dekodiereinheit zum Dekodieren des Blocks von gespeicherten ECC-kodierten Daten Bezug nehmend auf die Löschinformationen.
- Gemäß einem dritten Aspekt der vorliegenden Erfindung wird eine magnetoresistive Festkörper-Speichervorrichtung geschaffen, die folgende Merkmale aufweist: mindestens ein Array von magnetoresistiven Speicherzellen; eine ECC- Kodiereinheit zum Empfangen von Originalinformationen und zum Bilden eines Blocks von ECC-kodierten Daten; eine Steuerung zum Speichern des Blocks von ECC-kodierten Daten in dem Array von Speicherzellen; eine Arrayspeicherung zum Erhalten von parametrischen Werten von einem Satz der Speicherzellen und zum Erzeugen eines Blocks gespeicherter ECC- kodierter Daten unter Verwendung der erhaltenen parametrischen Werte, daß das Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte umfaßt; und eine ECC-Dekodiereinheit zum Dekodieren des Blockes von gespeicherten ECC-kodierten Daten Bezug nehmend auf die Löschinformationen.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen
- Fig. 1 ein schematisches Diagramm, das eine bevorzugte MRAM-Vorrichtung zeigt, die ein Array von Speicherzellen umfaßt;
- Fig. 2 eine bevorzugte Logikdatenstruktur;
- Fig. 3 ein bevorzugtes Verfahren zum Steuern einer MRAM- Vorrichtung;
- Fig. 4 ein bevorzugtes Verfahren zum Steuern einer MRAM- Vorrichtung mit einer optionalen Zurückschreibung von korrigierten Daten; und
- Fig. 5 einen Graphen, der einen Parameterwert darstellt, der von einer Speicherzelle einer MRAM- Vorrichtung erhalten wurde.
- Die bevorzugten Ausführungsbeispiele der vorliegenden Erfindung werden detailliert Bezug nehmend auf das Beispiel einer magnetoresistiven Festkörper-Speichervorrichtung beschrieben. Die vorliegende Erfindung kann jedoch auf jegliche geeignete Form einer Festkörper-Speichervorrichtung angewendet werden und ist nicht auf MRAM-Vorrichtungen beschränkt.
- Um ein umfassendes Verständnis der vorliegenden Erfindung zu fördern, wird zuerst eine beispielhafte MRAM-Vorrichtung Bezug nehmend auf Fig. 1 beschrieben, die eine Beschreibung der Ausfallmechanismen umfaßt, die in MRAM-Vorrichtungen gefunden werden. Die Fehlerkorrektur-Kodierungs-(ECC-) Kodierungs- und Dekodierungs-Verfahren, die bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung angenommen werden, haben die Aufgabe, die nachteiligen Auswirkungen derartiger physischer Ausfälle zu minimieren und werden Bezug nehmend auf die Fig. 2 bis 5 beschrieben.
- Fig. 1 zeigt eine vereinfachte, magnetoresistive Festkörper-Speichervorrichtung 1, die ein Array 10 aus Speicherzellen 16 aufweist. Das Array 10 ist mit einer Steuerung 20 gekoppelt, die unter anderen Steuerelementen eine ECC- Kodierungs- und Dekodierungs-Einheit 22 umfaßt. Die Steuerung 20 und das Array (Feld) 10 können auf einem einzelnen Substrat gebildet oder separat angeordnet sein.
- Bei einem bevorzugten Ausführungsbeispiel weist das Array 10 Speicherzellen im Bereich von 1024 mal 1024 auf, wobei nur einige derselben dargestellt sind. Die Zellen 16 sind jeweils an einer Schnittstelle zwischen den Steuerleitungen 12 und 14 gebildet. Bei diesem Beispiel sind die Steuerleitungen 12 in Reihen angeordnet und die Steuerleitungen 14 sind in Spalten angeordnet. Es wird eine Reihe 12 und eine oder mehrere Spalten 14 ausgewählt, um auf die erforderliche Speicher-Zelle oder -Zellen 16 zuzugreifen (oder umgekehrt eine Spalte und mehrere Reihen, abhängig von der Ausrichtung des Arrays). Geeigneterweise sind die Reihen- und Spalten-Leitungen mit Steuerschaltungen 18 gekoppelt, die eine Mehrzahl von Lese-/Schreib-Steuerschaltungen umfassen. Abhängig von der Implementierung ist eine Lese-/Schreib- Steuerleitung pro Spalte bereitgestellt oder die Lese- /Schreib-Steuerleitungen werden gemultiplext oder gemeinschaftlich zwischen Spalten verwendet. Bei diesem Beispiel sind die Steuerleitungen 12 und 14 im allgemeinen orthogonal, aber andere, kompliziertere Gitterstrukturen sind ebenfalls möglich.
- Bei einer Leseoperation der aktuell bevorzugten MRAM- Vorrichtung werden eine einzelne Reihen- oder Zeilen- Leitung 12 und mehrere Spaltenleitungen 14 (dargestellt durch dickere Linien in Fig. 1) in dem Array 10 durch die Steuerschaltungen 18 aktiviert, und ein Satz von Daten wird aus diesen aktivierten Zellen gelesen. Diese Operation wird als Scheibe bezeichnet. Die Reihe (Zeile) ist bei diesem Beispiel 1024 Speicherzellen lang 1, und die zugegriffenen Speicherzellen 16 werden durch eine minimale Lesedistanz m abgetrennt, wie zum Beispiel vierundsechzig Zellen, um eine zellübergreifende Interferenz bei dem Leseprozeß zu minimieren. Daher liefert jede Scheibe bis zu 1/m = 1024/64 = 16 Bits aus dem zugegriffenen Array.
- Um eine MRAM-Vorrichtung einer gewünschten Speicherkapazität zu liefern wird vorzugsweise eine Mehrzahl von unabhängig adressierbaren Arrays 10 angeordnet, um ein Makroarray zu bilden. Geeigneterweise ist eine kleine Mehrzahl von Arrays 10 (üblicherweise vier) übereinandergelagert, um einen Stapel zu bilden, und mehrere Stapel sind miteinander angeordnet, wie zum Beispiel in einem 16 × 16-Layout. Vorzugsweise weist jedes Makroarray ein 16 × 18 × 4- oder ein 16 × 20 × 4-Layout auf (ausgedrückt als Breite × Höhe × Stapellagen). Optional weist die MRAM-Vorrichtung mehr als ein Makroarray auf. Bei der aktuell bevorzugten MRAM- Vorrichtung kann nur auf eines der vier Arrays in jedem Stapel gleichzeitig zugegriffen werden. Somit liest eine Scheibe aus einem Makroarray einen Satz von Zellen aus einer Reihe eines Teilsatzes der Mehrzahl von Arrays, wobei der Teilsatz vorzugsweise ein Array innerhalb jedes Stapels ist.
- Jede Speicherzelle 16 speichert ein Datenbit, das geeigneterweise einen numerischen Wert darstellt und vorzugsweise einen binären Wert, d. h. Eins oder Null. Geeigneterweise umfaßt jede Speicherzelle zwei Filme, die eine von zwei stabilen Magnetisierungsausrichtungen annehmen, die als parallel und antiparallel bekannt sind. Die Magnetisierungsausrichtung beeinträchtigt den Widerstand der Speicherzelle. Wenn die Speicherzelle 16 sich in dem antiparallelen Zustand befindet, ist der Widerstand am höchsten, und wenn sich die magnetische Speicherzelle im parallelen Zustand befindet ist der Widerstand am niedrigsten. Geeigneterweise definiert der antiparallele Zustand einen Null-Logikzustand und der parallele Zustand definiert einen Eins-Logikzustand oder umgekehrt. Als weitere Hintergrundinformationen offenbart die EP-A- 0 918 334 (Hewlett-Packard) ein Beispiel einer magnetoresistiven Festkörper-Speichervorrichtung, die für eine Verwendung bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung geeignet ist.
- Obwohl die Vorrichtung im allgemeinen zuverlässig ist hat sich herausgestellt, daß Ausfälle auftreten können, die die Fähigkeit der Vorrichtung beeinträchtigen, Daten zuverlässig in den Speicherzellen 16 zu speichern. Physische Ausfälle innerhalb einer MRAM-Vorrichtung können aus vielen Ursachen resultieren, einschließlich Herstellungsmenge, innere Beeinträchtigungen, wie zum Beispiel Rauschen bei einem Leseprozeß, Umweltauswirkungen, wie zum Beispiel Temperatur und umgebendes, elektromagnetisches Rauschen oder Alterung der in Verwendung befindlichen Vorrichtung. Im allgemeinen können Ausfälle entweder als systematische Ausfälle oder zufällige Ausfälle klassifiziert werden. Systematische Ausfälle betreffen durchgehend eine bestimmte Speicherzelle oder eine bestimmte Gruppe von Speicherzellen. Zufällige Ausfälle treten vorübergehend auf und sind nicht dauerhaft wiederholbar. Üblicherweise entstehen systematische Ausfälle als ein Ergebnis von Herstellungsmängeln und Alterung, während zufällige Ausfälle ansprechend auf interne Auswirkungen und externe Umweltauswirkungen auftreten.
- Ausfälle sind höchst unerwünscht und bedeuten, daß zumindest einige Speicherzellen in der Vorrichtung nicht zuverlässig in dieselbe geschrieben oder aus derselben gelesen werden können. Eine Zelle, die durch einen Ausfall betroffen ist, kann unlesbar werden, in welchen Fall kein Logikwert aus der Zelle gelesen werden kann oder derselbe unzuverlässig werden kann, in welchen Fall der aus der Zelle gelesene Logikwert nicht notwendigerweise der gleiche ist wie der Wert, der in die Zelle geschrieben wird (z. B. wird eine "1" geschrieben aber eine "0" wird gelesen). Die Speicherkapazität und die Zuverlässigkeit der Vorrichtung kann ernsthaft beeinträchtigt werden, und im schlimmsten Fall kann die gesamte Vorrichtung unverwendbar werden.
- Ausfallmechanismen nehmen viele Formen an und nachfolgende Beispiele gehören zu den bereits identifizierten:
- 1. Kurzgeschlossene Bits - bei denen der Widerstand der Speicherzelle viel geringer ist als erwartet. Kurzgeschlossene Bits neigen dazu, alle Speicherzellen zu beeinträchtigen, die in der gleichen Reihe und der gleichen Spalte liegen.
- 2. Offene (leerlaufende) Bits - bei denen der Widerstand der Speicherzelle viel höher ist als erwartet. Ausfälle offener Bits können alle Speicherzellen beeinträchtigen, die in der gleichen Reihe oder Spalte oder beidem liegen, tun dies jedoch nicht immer.
- 3. halb ausgewählte Bits - bei denen das Schreiben in eine Speicherzelle in einer bestimmten Reihe oder Spalte verursacht, daß eine andere Speicherzelle in der gleichen Reihe oder Spalte den Zustand ändert. Eine Zelle, die anfällig für "halb Auswählen" ist, ändert daher möglicherweise den Zustand ansprechend auf einen Schreibzugriff auf jegliche Speicherzelle in der gleichen Reihe oder Spalte, was zu unzuverlässigen, gespeicherten Daten führt.
- 4. Einzelne ausgefallene Bits - bei denen eine bestimmte Speicherzelle versagt (z. B. immer auf einer "0" bleibt), jedoch keine anderen Speicherzellen beeinträchtigt und nicht durch die Aktivität in anderen Speicherzellen beeinträchtigt wird.
- Diese vier beispielhaften Ausfallmechanismen sind alle systematisch, insofern, daß die gleiche Speicher-Zelle oder -Zellen dauerhaft beeinträchtigt werden. Wenn der Ausfallmechanismus nur eine Zelle beeinträchtigt, kann dies als ein isolierter Fehler bezeichnet werden. Wenn der Ausfallmechanismus eine Gruppe von Zellen beeinträchtigt kann dies als Gruppenausfall bezeichnet werden.
- Während die Speicherzellen der MRAM-Vorrichtung zum Speichern von Daten gemäß jeglichem geeigneten, logischen Layout verwendet werden können, werden die Daten vorzugsweise in grundlegende Dateneinheiten (z. B. Byte) organisiert, die wiederum in größere logischen Dateneinheiten (z. B. Sektoren) gruppiert werden. Ein physischer Ausfall, und insbesondere ein gruppierter Ausfall, der viele Zellen beeinträchtigt, kann viele Byte und möglicherweise viele Sektoren beeinträchtigen. Es hat sich herausgestellt, daß das Behalten von Informationen über Logikeinheiten, wie zum Beispiel Byte, die durch physische Ausfälle beeinträchtigt sind, aufgrund der Quantität der involvierten Daten nicht effizient ist. Das heißt, daß Versuche zum Erzeugen einer Liste aller derartigen Logikeinheiten, die aufgrund von zumindest einem physischen Ausfall unbenutzbar gemacht wurden dazu neigen, eine Quantität von Verwaltungsdaten zu erzeugen, die zu groß für eine effiziente Handhabung ist. Ferner kann ein einzelner physischer Ausfall potentiell eine große Anzahl von logischen Dateneinheiten derart beeinträchtigen, daß ein Vermeiden der Verwendung aller Byte, Sektoren oder anderer Einheiten, die durch ein Versagen beeinträchtigt sind, die Speicherkapazität der Vorrichtung wesentlich reduziert, abhängig davon, wie die Daten auf der Vorrichtung organisiert sind. Ein gruppierter Ausfall, wie zum Beispiel ein Kurzgeschlossenes-Bit-Ausfall in nur einer Speicherzelle beeinträchtigt viele andere Speicherzellen, die in der gleichen Reihe oder der gleichen Spalte liegen. Somit kann ein einzelner Kurzgeschlossenes-Bit-Ausfall 1023 andere Zellen, die in der gleichen Reihe liegen, und 1023 Zellen, die in der gleichen Spalte liegen beeinträchtigen - insgesamt 2027 beeinträchtigte Zellen. Diese 2027 beeinträchtigten Zellen können einen Teil vieler Byte bilden und vieler Sektoren, wobei jeder derselben durch den einzelnen, gruppierten Ausfall unverwendbar gemacht werden würde.
- Einige Verbesserungen wurden bei Herstellungsprozessen und beim Vorrichtungsaufbau durchgeführt, um die Anzahl von Herstellungsausfällen zu reduzieren und die Vorrichtungs- Langlebigkeit zu verbessern, dies involviert jedoch üblicherweise erhöhte Herstellungskosten und Komplexität und reduziert den Vorrichtungsertrag.
- Die bevorzugten Ausführungsbeispiele der vorliegenden Erfindung verwenden Fehlerkorrektur-Kodierung zum Liefern einer magnetoresistiven Festkörper-Speichervorrichtung, die fehlertolerant ist, vorzugsweise um sowohl Zufallsausfälle als auch systematische Ausfälle zu tolerieren und sich von denselben zu erholen. Üblicherweise umfaßt das Fehlerkorrektur-Kodieren das Empfangen von Originalinformationen, die erwünscht sind, um kodierte Daten zu speichern und dieselben zu bilden, was ermöglicht, das Fehler identifiziert und idealerweise korrigiert werden. Die kodierten Daten werden in der Festkörper-Speichervorrichtung gespeichert. Zur Zeit des Lesens werden die Originalinformationen durch Fehlerkorrektur-Dekodieren der kodierten, gespeicherten Daten zurückgewonnen. Ein breiter Bereich von Fehlerkorrektur-Kodierungs-(ECC-)Schemata ist verfügbar und kann alleine oder in Kombination verwendet werden. Geeignete ECC- Schemata umfassen sowohl Schemata mit Einzelbitsymbolen (z. B. BCH) und Schemata mit Mehrfachbitsymbolen (z. B. Reed- Solomon).
- Als allgemeine Hintergrundinformationen bezüglich der Fehlerkorrektur-Kodierung wird Bezug auf die nachfolgende Veröffentlichung genommen: W. W. Peterson und E. J. Weldon, Jr., "Error-Correcting Codes", zweite Ausgabe, zwölfte Druckversion, 1994, MIT Press, Cambridge MA.
- Eine spezifischere Bezugnahme betreffend die Reed-Solomon- Kodes, die bei dem bevorzugten Ausführungsbeispielen der vorliegenden Erfindung verwendet werden ist: "Reed-Solomon Codes and their Applications", ED. S. B. Wicker und V. K. Bhargava, IEEE Press, New York, 1994.
- Fig. 2 zeigt ein Beispiel logischer Datenstrukturen, die bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung verwendet werden. Originalinformationen 200 werden in vorbestimmten Einheiten, wie zum Beispiel einem Sektor, der 512 Byte aufweist, empfangen. Die Fehlerkorrektur- Kodierung wird durchgeführt, um einen Block aus kodierten Daten 202 zu erzeugen, in diesem Fall einen kodierten Sektor. Der kodierte Sektor 202 weist eine Mehrzahl von Symbolen 206 auf, die ein einzelnes Bit sein können (z. B. ein BCH-Kode mit Einzelbitsymbolen) oder mehrere Bits aufweisen können (z. B. ein Reed-Solomon-Kode unter Verwendung von Mehrbitsymbolen). Bei dem bevorzugten Reed-Solomon- Kodierungsschema weist jedes Symbol 206 geeigneterweise acht Bit auf. Wie in Fig. 2 gezeigt ist, weist der kodierte Sektor 202 vier Kodewörter 204 auf, wobei jedes derselben zwischen 144 und 160 Symbolen aufweist. Die acht Bit, die jedem Symbol entsprechen, werden geeigneterweise in acht Speicherzellen 16 gespeichert. Ein physischer Ausfall, der jede dieser acht Speicherzellen beeinträchtigt, kann dazu führen, daß eines oder mehrere der Bits unzuverlässig (z. B. der falsche Wert wird gelesen) oder unlesbar (z. B. kein Wert kann erhalten werden) sind, wodurch ein Ausfallsymbol ausgegeben wird.
- Die Fehlerkorrektur-Dekodierung der kodierten Daten 202 ermöglicht, daß Ausfallsymbole 206 identifiziert und korrigiert werden. Das bevorzugte Reed-Solomon-Schema ist ein Beispiel eines linearen Fehlerkorrekturkodes, der Ausfallsymbole 206 bis zu einer vorbestimmten Maximalanzahl identifiziert und vollständig korrigiert, abhängig von der Leistung des Kodes. Zum Beispiel kann ein [160, 128, 33] Reed- Solomon-Kode, der Kodewörter erzeugt, die einhundertundsechzig 8-Bit-Symbole aufweisen, die einhundertundachtundzwanzig Originalinformationsbit entsprechen und einer Minimaldistanz von dreiunddreißig Symbolen bis zu sechzehn Symbolfehler lokalisieren und korrigieren. Geeigneterweise wird das verwendete ECC-Schema mit einer Leistung ausgewählt, die ausreichend ist, um die Originalinformationen 200 aus den kodierten Daten 202 in im wesentlichen allen Fällen zurückzugewinnen. Sehr selten wird ein Block von kodierten Daten 202 angetroffen, der durch so viele Ausfälle beeinträchtigt ist, daß die Originalinformationen 200 nicht zurückgewonnen werden können. Noch seltener führen die Ausfälle zu einer Fehlkorrektur, bei der Informationen, die aus den kodierten Daten 202 zurückgewonnen werden, den Originalinformationen 200 nicht entsprechen. Obwohl die wiedergewonnenen Daten den Originalinformationen nicht entsprechen, wird eine Fehlkorrektur nicht einfach bestimmt.
- Es ist wünschenswert, die Wahrscheinlichkeit zu minimieren, daß Originalinformationen aus einem Block von gespeicherten, kodierten Daten nicht wiedergewonnen werden können, oder daß eine Fehlkorrektur auftritt. Daher ist es ein Vorteil der bevorzugten Ausführungsbeispiele der Erfindung, die effektive Verwendung eines Fehlerkorrektur-Kodierungsschemas zu verbessern, wie nachfolgend beschrieben wird.
- Fig. 3 zeigt eine vereinfachte Übersicht eines bevorzugten Verfahrens zum Zurückgewinnen von Daten, die in einer Festkörper-Speichervorrichtung gespeichert sind, wie zum Beispiel der MRAM-Vorrichtung 1 aus Fig. 1. Vorzugsweise sind die gespeicherten Daten in ein Format fehlerkorrekturkodiert, wie in Fig. 2 gezeigt ist.
- Der Schritt 301 weist das Zugreifen auf eine Mehrzahl von Speicherzellen 16 der Festkörper-Speichervorrichtung auf. Vorzugsweise entspricht die Mehrzahl von Speicherzellen einem Datenblock, wie zum Beispiel einen Kodewort 204. Geeigneterweise wird eine Mehrzahl von Leseoperationen durch Zugreifen auf die Mehrzahl von Zellen 16 unter Verwendung wendung der Reihen- und Spalten-Steuerleitungen 12 und 14 durchgeführt.
- Der Schritt 302 weist das Erhalten von parametrischen Werten als Ergebnis des Zugriffs auf, der bei Schritt 301 durchgeführt wurde. Geeigneterweise wird ein Parameterwert für jede Speicherzelle durch Messen einer physischen Eigenschaft der Vorrichtung bestimmt. Bei einer MRAM-Vorrichtung umfassen geeignete Eigenschaften einen Erfassungsstrom oder eine Antwortzeit, wobei jede derselben verwendet werden kann, um einen magnetoresistiven Zustand einer Speicherzelle zu bestimmen. Optional wird mehr als ein Parameterwert für jede Zelle erhalten.
- Der Schritt 303 weist das Erzeugen von logischen Bitwerten aus den erhaltenen parametrischen Werten auf. Geeigneterweise wird der erfaßte Parameterwert mit einem erwarteten Bereich (oder Bereichen) verglichen, und wenn dies erfolgreich ist, wird ein Logikwert, wie zum Beispiel ein Binärwert Eins oder Null hergeleitet.
- Optional werden die Schritte 301 und 302 sofort wiederholt wenn Ausfälle auftreten, in der Hoffnung, einen vorübergehenden oder zufälligen Fehler zu verhindern. Es wird jedoch insbesondere mit momentan erhältlichen MRAM-Vorrichtungen in jedem bestimmten Datenblock eine geringe Anzahl von systematischen Ausfällen erwartet, wie zum Beispiel ein Kodewort 204 oder ein kodierter Sektor 202.
- Der Schritt 304 weist das Erzeugen von Löschinformationen auf. Vorzugsweise werden Löschinformationen erzeugt, die Symbole identifizieren, für die kein logischer Wert erhalten werden konnte, oder bei denen der logische Wert als unzuverlässig betrachtet wird. Idealerweise werden die Löschinformationen Bezug nehmend auf die Erzeugung des logischen Werts in Schritt 303 erzeugt. Die Löschinformationen können direkt von den erhaltenen parametrischen Werten erzeugt werden oder können indirekt erhalten werden, was einen oder mehrere Zwischenschritte umfaßt.
- Schritt 305 weist die Fehlerkorrektur-Dekodierung des Blocks von gespeicherten, kodierten Daten auf, unter Verwendung der logischen Symbolwerte, die bei Schritt 303 erzeugt wurden, und das Berücksichtigen der bei Schritt 304 erzeugten Löschinformationen. Wie nachfolgend erklärt wird, verbessern die Löschinformationen die Fähigkeit zum genauen Dekodieren der gespeicherten, kodierten Daten bedeutend.
- Der Schritt 306 weist das Bereitstellen eines Ausgangssignals von dem Dekodierschritt 305 als zurückgewonnene Informationen auf. Bei dem bevorzugten Ausführungsbeispiel wird die Leistung des Fehlerkorrektur-Kodierschemas ausgewählt, um ein Überwiegen des ECC-Schemas gegenüber der Wahrscheinlichkeit des Antreffens ausgefallener Symbole auszugleichen. In im wesentlichen allen praktischen Fällen liegt die Anzahl von Ausfällen innerhalb der Leistung des Dekodierers, um dieselben zu korrigieren, und die Originalinformationen 200 werden zurückgewonnen und bei Schritt 306 ausgegeben. Der Verlust von Originalinformationen aufgrund eines nicht zurückgewinnbaren oder falsch korrigierten Blocks von gespeicherten, kodierten Daten ist sehr selten.
- Das Verfahren von Fig. 3 wird nun detaillierter beschrieben, Bezug nehmend auf das spezifische Beispiel der MRAM- Vorrichtung 1 aus Fig. 1.
- Allgemein ausgedrückt weist der Zellzugriff vorzugsweise eine Leseoperation auf, bei der die Lesespannung entlang der Reihen- und Spalten-Steuerleitungen 12, 14 angelegt wird, was verursacht, daß ein Erfassungsstrom durch die ausgewählten Speicherzellen 16 fließt, die einen Widerstand aufweisen, der durch parallele oder antiparallele Ausrichtung der zwei magnetischen Filme bestimmt wird. Der Widerstand einer bestimmten Speicherzelle wird gemäß einem Phänomen bestimmt, das als Spintunneleffekt bekannt ist, und die Zellen werden oft als magnetische Tunnelverbindungs- Speicherzellen bezeichnet. Der Zustand der Speicherzellen wird durch Messen des Erfassungsstroms (proportional zum Widerstand) oder eines verwandten Parameters, wie zum Beispiel der Antwortzeit auf die Entladung einer bekannten Kapazität gemessen, was eine oder mehrere parametrische Werte für jede der zugegriffenen Speicherzellen ergibt. Abhängig von der Eigenschaft und dem Aufbau der MRAM-Vorrichtung kann die Leseoperation mehrere Schritte aufweisen oder kombinierte Lese- und Neuschreib-Aktionen erfordern.
- Um logische Werte zu erzeugen, und vorzugsweise um Löschinformationen zu erzeugen, werden die erhaltenen parametrischen Werte mit einem oder mehreren Bereichen verglichen. Der Vergleich ermöglicht in fast allen Fällen, daß ein Logikwert (z. B. Eins oder Null) für jede Zelle eingerichtet wird. Der Vergleich ermöglicht jedoch ferner günstigerweise, daß einige Formen von physischen Ausfällen identifiziert werden. Es wurde zum Beispiel bestimmt, daß bei mindestens einigen MRAM-Vorrichtungen ein Kurzschluß- Bitausfall zu einem sehr niedrigen Widerstandswert in allen Zellen einer bestimmten Reihe und einer bestimmten Spalte führt. Ferner können Offenes-Bit-Ausfälle einen sehr hohen Widerstandswert für alle Zellen einer bestimmten Reihe und Spalte verursachen. Durch Vergleichen der erhaltenen parametrischen Werte mit einem Bereich oder mehreren Bereichen können durch Ausfälle beeinträchtigte Zellen, wie zum Beispiel Kurzgeschlossenes-Bit- und Offenes-Bit-Ausfälle, mit einem hohen Sicherheitsgrad identifiziert werden.
- Fig. 5 ist ein Graph als ein darstellendes Beispiel der Wahrscheinlichkeit (p), das eine bestimmte Zelle einen gewissen Parameterwert aufweist, wobei in diesem Fall der Widerstand (r) einer logischen "0" in der linken Kurve oder einer logischen "1" in der rechten Kurve entspricht. Als eine willkürliche Skala wurde der Wahrscheinlichkeit zwischen 0 und 1 gegeben, während der Widerstand zwischen 0 und 100% dargestellt wird. Die Widerstandsskala wurde fünf Bereiche unterteilt. In dem Bereich 601 ist der Widerstandswert sehr niedrig und der vorausgesagte Bereich stellt einen Kurzgeschlossenes-Bit-Ausfall mit einem angemessenen Sicherheitsgrad dar. Der Bereich 602 stellt einen niedrigen Widerstandswert innerhalb erwarteter Grenzen dar, der in diesem Beispiel als Entsprechung einer logischen "0" bestimmt wird. Der Bereich 603 stellt einen mittleren Widerstandswert dar, bei dem ein logischer Wert mit keinem Sicherheitsgrad ermittelt werden kann. Der Bereich 604 ist ein hoher Widerstandsbereich, der eine logische "1" darstellt. Der Bereich 605 ist ein sehr hoher Widerstandsbereich, bei dem ein Offenes-Bit-Ausfall mit einem hohen Grad an Sicherheit vorausgesagt werden kann. Die erwarteten Bereiche, die in Fig. 6 gezeigt sind, sind rein zu Darstellungszwecken, und es sind viele andere Möglichkeiten verfügbar, abhängig von dem physischen Aufbau der MRAM- Vorrichtung 1, der Weise, auf die auf die Speicherzellen zugegriffen wird, und den erhaltenen parametrischen Werten. Der Bereich oder die Bereiche werden geeignet kalibriert, zum Beispiel abhängig von Umweltfaktoren, wie zum Beispiel Temperatur, Faktoren, die eine bestimmte Zelle oder Zellen und ihre Position innerhalb des Arrays betreffen oder der Eigenschaft der Zellen selbst und dem Typ des verwendeten Zugriffs.
- Wenn eine Zelle als ein Ausfall identifiziert wird als Folge des Vergleichens der erfaßten parametrischen Werte mit dem Bereich oder den Bereichen, dann wird der entsprechende Abschnitt kodierter Daten als eine Löschung markiert. Bei den aktuell bevorzugten Ausführungsbeispielen speichert jede Speicherzelle 16 einen einzelnen, logischen Bitwert, der eine binäre Eins oder Null darstellt, und mehrere Bits werden zusammengefaßt, um ein Symbol 206 zu bilden. Vorzugsweise werden die Löschinformationen auf der Basis vorbereitet, daß ein Symbol 206 als eine Löschung, benannt wird, wenn jegliches eine oder mehrere der Bits einer ausgefallenen der Speicherzelle entsprechen.
- Die logischen Werte und die Löschinformationen können auf jede geeignete Form dargestellt werden. Bei einem Beispiel werden die logischen Bitwerte mit harten Entscheidungen bestimmt in Bezug auf den Wert jedes Bits oder anderweitig wird das Bit als ein Ausfall bestimmt und dementsprechend werden Löschinformationen erzeugt. Bei einem zweiten Beispiel werden vorzugsweise weiche Entscheidungen über die relative Sicherheit getroffen, mit der jedem Bit ein logischer Wert zugewiesen oder dasselbe als Ausfall benannt wird. Idealerweise sind die Logiksymbolwerte und die Löschinformationen angeordnet, um ein Eingangssignal (oder Eingangssignale) für den ECC-Dekodierer 22 zu bilden.
- Wie Fachleuten auf dem Gebiet des ECC bekannt ist, ermöglichen es verfügbare Fehlerkorrekturkodes, daß eine vorbestimmte Anzahl von ganzen Fehlern korrigiert wird (d. h. wenn die Position eines Symbolfehlers unbekannt ist und der Symbolwert unbekannt ist), und ermöglichen die doppelte vorbestimmte Anzahl von Löschungen (d. h. wenn die Position eines Symbolfehlers bekannt ist und nur der Symbolwert unbekannt bleibt), oder eine Kombination aus den beiden. Der bevorzugte [160, 128, 33] Reed-Solomon-Kode ist zum Beispiel mathematisch in der Lage, bis zu sechzehn ganze Fehler oder bis zu zweiunddreißig Löschungen zu korrigieren (oder eine Kombination derselben, wie zum Beispiel zwanzig Löschungen und sches ganze Fehler). Daher ist das Fehlerkorrektur-Dekodieren von Schritt 305 in der Lage, eine größere Anzahl von Fehlern unter Verwendung der bei Schritt 304 erzeugten Löschinformationen zu korrigieren, im Vergleich mit einer Situation, in der diese Löschinformationen nicht verfügbar sind.
- Bei dem oben Bezug nehmend auf Fig. 3 erörterten Verfahren ist die Parameterbewertung insbesondere beim Bestimmen mancher Formen von Ausfällen nützlich, wie zum Beispiel Kurzgeschlossenes-Bit-Ausfällen und Offenes-Bit-Ausfällen bei MRAM-Vorrichtungen. Im Gegensatz dazu ist ein systematischer Ausfall, wie zum Beispiel ein halb ausgewähltes Bit unter Verwendung von Parametertests nicht so einfach erfaßbar, aber die Auswirkungen eines derartigen Ausfalls werden einfach durch Durchführen von Fehlerkorrektur-Dekodieren entdeckt. Daher liefert das Kombinieren von Parametertesten mit Fehlerkorrektur-Kodierung eine praktische Vorrichtung, die in der Lage ist, einen Vorteil aus den beträchtlichen Nutzen zu ziehen, die durch die neue MRAM-Technik angeboten werden, während die Einschränkungen aktueller Herstellungstechniken minimiert werden.
- Fig. 4 zeigt ein anderes bevorzugtes Verfahren zum Steuern einer MRAM-Vorrichtung. Im allgemeinen ist das Verfahren ähnlich zu dem aus Fig. 3, mit dem Zusatz von Schritt 405, der das Zurückschreiben korrigierter Daten in das MRAM- Speicherarray aufweist. Um eine Fehlerausbreitung zu verhindern, werden korrigierte Daten, die durch Durchführen einer ECC-Dekodierung bei Schritt 404 erhalten werden, zurück in die Speicherzellen geschrieben. Geeigneterweise werden die kodierten Daten als Eingangssignale in den Dekodierer mit einem Ausgangssignal des Dekodierers verglichen, und alle Symbole, die durch den Dekodierer verändert wurden (d. h. korrigiert wurden) werden zurück in das Array geschrieben. Diese Zurückschreibeoperation verursacht jedoch eine Verzögerung und verlangsamt die Gesamtoperation der MRAM-Vorrichtung. Daher weist der Schritt 405 vorzugsweise das selektive Zurückschreiben korrigierter Daten auf. Idealerweise werden korrigierte Daten nur in intakte Speicherzellen zurückgeschrieben, und korrigierte Daten werden nicht in ausgefallene Speicherzellen zurückgeschrieben. Bei den vorliegenden Beispiel ist bekannt, daß manche Sätze von Speicherzellen (die z. B. einem Symbol 206 entsprechen) systematische Ausfälle aus den Löschinformationen enthalten. Daher ist das Zurückschreiben korrigierter Daten in diese Speicherzellen verschwenderisch, da die nächste Leseoperation unter Verwendung dieser Speicherzellen fast sicher auf die selben Ausfälle treffen wird. Vorzugsweise wird das Zurückschreiben korrigierter Daten bei Schritt 405 auf der Basis der Löschinformationen durchgeführt, die bei Schritt 403 erhalten werden. Das heißt, jedes Symbol das bei Schritt 403 als eine Löschung identifiziert wird, wird nicht beim Zurückschreiben korrigierter Daten bei Schritt 405 verwendet.
- Es wurde eine magnetoresistive Festkörper-Speichervorrichtung und Verfahren zum Steuern einer derartigen Vorrichtung beschrieben. Vorteilhafterweise ist die Speichervorrichtung in der Lage, eine relativ große Anzahl von Fehlern zu tolerieren, einschließlich sowohl systematischer Ausfälle als auch vorübergehender Ausfälle, während das erfolgreiche in Betrieb bleiben ohne Verlust von Originaldaten durch die Verwendung von Fehlerkorrektur-Kodierung möglich ist. Einfachere und kostengünstigere Herstellungstechniken werden verwendet und/oder der Vorrichtungsertrag und die Vorrichtungsdichte werden erhöht. Eine Fehlerkorrektur- Kodierung und -Dekodierung ermöglicht, daß Datenblöcke, zum Beispiel Sektoren oder Kodewörter, in Verwendung bleiben, wo anderweitig der gesamte Block außer Gebrauch genommen werden müßte, wenn nur ein Ausfall austritt. Vorteilhafterweise ermöglicht das Erzeugen von Löschinformationen aus det Parameterbewertung der Speicherzellen ein bedeutend verbessertes Fehlerkorrektur-Dekodieren. Ein Fehlerkorrekturmehraufwand in den gespeicherten, kodierten Daten kann reduziert werden und/oder eine leistungsstärkere Fehlerkorrektur kann mit dem gleichen Mehraufwand erhalten werden.
- Die hierin beschriebene MRAM-Vorrichtung ist ideal zur Verwendung bei jeglicher bekannten Festkörper- Speichervorrichtung geeignet. Insbesondere ist die MRAM- Vorrichtung ideal sowohl zur Verwendung als eine Kurzzeit- Speichervorrichtung (z. B. Cache-Speicher) oder eine Langzeit-Speichervorrichtung (z. B. Festkörper-Festplatte) geeignet. Eine MRAM-Vorrichtung kann sowohl als Kurzzeitspeicher als auch Langzeitspeicher innerhalb einer einzelnen Vorrichtung, wie zum Beispiel einer Rechenplattform, verwendet werden.
- Obwohl die Erfindung als Ergebnis von Problemen in der spezifischen Umgebung von MRAM-Vorrichtung entworfen wurde und für die Eigenschaft von Ausfallmechanismen, die in derartigen MRAM-Vorrichtungen angetroffen werden, hat sich überraschenderweise herausgestellt, daß die Erfindung ferner auf andere Formen von Festkörper-Speichervorrichtungen anwendbar ist, die bedeutend unterschiedliche Formen von physischem Ausfall und unterschiedliche Wahrscheinlichkeiten von physischem Ausfall aufweisen. In jedem Fall hat sich herausgestellt, daß das Erzeugen von Löschinformationen verfügbare Fehlerkorrektur-Kodierschemata bedeutend verbessert.
Claims (20)
1. Verfahren zum Fehlerkorrektur-Dekodieren ECC-kodierter
Daten, die in einer Festkörper-Speichervorrichtung (1)
gespeichert sind, die eine Mehrzahl von Speicherzellen
(16) aufweist, wobei das Verfahren folgende Schritte
aufweist:
Erhalten von parametrischen Werten von einem Satz der Speicherzellen (16);
Erzeugen eines Blocks von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte;
Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte; und
Fehlerkorrektur-Dekodieren des Blocks von gespeicherten ECC-kodierten Daten Bezug nehmend auf die Löschinformationen.
Erhalten von parametrischen Werten von einem Satz der Speicherzellen (16);
Erzeugen eines Blocks von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte;
Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte; und
Fehlerkorrektur-Dekodieren des Blocks von gespeicherten ECC-kodierten Daten Bezug nehmend auf die Löschinformationen.
2. Verfahren gemäß Anspruch 1, das das Auslesen des
Satzes von Speicherzellen (16) aufweist.
3. Verfahren gemäß Anspruch 1 oder 2, das das Erzeugen
logischer Werte in Bezug auf die erhaltenen
parametrischen Werte aufweist.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, das das
Vergleichen der erhaltenen parametrischen Werte mit
einem Bereich aufweist.
5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem
die Vorrichtung (1) eine magnetoresistive Festkörper-
Speichervorrichtung ist.
6. Verfahren gemäß Anspruch 5, bei dem die erhaltenen
parametrischen Werte einen Widerstandswert oder einen
Zeitwert für jeden Satz von Speicherzellen (16)
umfassen, wobei die erhaltenen parametrischen Werte von
einem Erfassungsstrom abgeleitet werden.
7. Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem
der Schritt des Bildens das Vergleichen der erhaltenen
parametrischen Werte mit einem Bereich aufweist, um
physische Ausfälle unter den Speicherzellen (16)
abzuleiten.
8. Verfahren gemäß einem der Ansprüche 1 bis 7, bei dem
der Schritt des Erzeugens das Erzeugen logischer Werte
für eine Mehrzahl von Symbolen des Blocks kodierter
Daten aufweist, und der Schritt des Bildens das
Identifizieren von einem oder mehreren der Symbole als
eine Löschung aufweist.
9. Verfahren gemäß Anspruch 8, bei dem die
Löschinformationen eines oder mehrere Symbole in dem Block
kodierter Daten identifizieren, wo ein logischer Wert nicht
von den parametrischen Werten erhalten werden konnte.
10. Verfahren gemäß Anspruch 8, bei dem die
Löschinformationen eines oder mehrere Symbole in dem Block
kodierter Daten identifizieren, wo ein logischer Wert, der
aus den parametrischen Werten erhalten wurde, als
unzuverlässig betrachtet wird.
11. Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem
der Schritt des Dekodierens folgende Schritte umfaßt:
Identifizieren der Position von null oder mehr Fehlern
in dem Block kodierter Daten, Bezug nehmend auf die
Löschinformationen; und Ersetzen jedes identifizierten
Fehlers durch einen berechneten, korrekten Wert.
12. Verfahren gemäß einem der Ansprüche 8 bis 10, bei dem
der Schritt des Dekodierens folgende Schritte umfaßt:
Identifizieren der Position von null oder mehr
ausgefallenen Symbolen in dem Block von kodierten Daten
unter Verwendung der Löschinformationen; und Ersetzen
jedes identifizierten, ausgefallenen Symbols durch
einen berechneten, korrekten Wert.
13. Verfahren gemäß einem der Ansprüche 1 bis 12, das den
Schritt des Zurückschreibens korrigierter, kodierter
Daten in die Speicherzellen aufweist.
14. Verfahren gemäß Anspruch 13, bei dem der Schritt des
Zurückschreibens das selektive Zurückschreiben
korrigierter, kodierter Daten in die Speicherzellen Bezug
nehmend auf die Löschinformationen aufweist.
15. Verfahren gemäß Anspruch 14, bei dem der Schritt des
Zurückschreibens das selektive Nicht-Zurückschreiben
korrigierter, kodierter Daten in Speicherzellen
aufweist, bei denen bestimmt wird, daß dieselben durch
physische Ausfälle beeinträchtigt sind.
16. Verfahren gemäß einem der Ansprüche 1 bis 15, das
ferner folgende Schritte aufweist:
Kodieren einer logischen Einheit von
Originalinformationen (200), um einen Block von ECC-kodierten Daten
zu bilden; und
Speichern des Blockes von ECC-kodierten Daten in dem Array (10) von Speicherzellen (16);
wobei der Schritt des Dekodierens versucht, die logische Einheit von Originalinformationen (200) aus dem gespeicherten Block von ECC-kodierten Daten zurückzugewinnen.
Speichern des Blockes von ECC-kodierten Daten in dem Array (10) von Speicherzellen (16);
wobei der Schritt des Dekodierens versucht, die logische Einheit von Originalinformationen (200) aus dem gespeicherten Block von ECC-kodierten Daten zurückzugewinnen.
17. Festkörper-Speichervorrichtung (1), die folgende
Merkmale aufweist:
mindestens ein Array (10) aus Speicherzellen (16); und
eine Arraysteuerung (10) zum Erhalten von parametrischen Werten aus einem Satz der Speicherzellen (16) und zum Erzeugen eines Blocks gespeicherter ECC- kodierter Daten unter Verwendung der erhaltenen parametrischen Werte, das das Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte umfaßt; und
eine ECC-Dekodiereinheit zum Dekodieren des Blocks gespeicherter ECC-kodierter Daten Bezug nehmend auf die Löschinformationen.
mindestens ein Array (10) aus Speicherzellen (16); und
eine Arraysteuerung (10) zum Erhalten von parametrischen Werten aus einem Satz der Speicherzellen (16) und zum Erzeugen eines Blocks gespeicherter ECC- kodierter Daten unter Verwendung der erhaltenen parametrischen Werte, das das Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte umfaßt; und
eine ECC-Dekodiereinheit zum Dekodieren des Blocks gespeicherter ECC-kodierter Daten Bezug nehmend auf die Löschinformationen.
18. Vorrichtung gemäß Anspruch 17, bei der die Vorrichtung
eine magnetoresistive Festkörper-Speichervorrichtung
(1) ist.
19. Magnetoresistive Festkörper-Speichervorrichtung (1),
die folgende Merkmale aufweist:
mindestens ein Array (10) aus magnetoresistiven Speicherzellen;
eine ECC-Kodiereinheit zum Empfangen von Originalinformationen (200) und zum Bilden eines Blocks aus ECC- kodierten Daten;
eine Steuerung (20) zum Speichern des Blocks von ECC- kodierten Daten in dem Array (10) von Speicherzellen (16);
eine Arraysteuerung (20) zum Erhalten von parametrischen Werten aus einem Satz der Speicherzellen (16) und zum Erzeugen eines Blocks von gespeicherten ECC- kodierten Daten unter Verwendung der erhaltenen parametrischen Werte, was das Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte umfaßt; und
eine ECC-Dekodiereinheit zum Dekodieren des Blocks gespeicherter ECC-kodierter Daten Bezug nehmend auf die Löschinformationen.
mindestens ein Array (10) aus magnetoresistiven Speicherzellen;
eine ECC-Kodiereinheit zum Empfangen von Originalinformationen (200) und zum Bilden eines Blocks aus ECC- kodierten Daten;
eine Steuerung (20) zum Speichern des Blocks von ECC- kodierten Daten in dem Array (10) von Speicherzellen (16);
eine Arraysteuerung (20) zum Erhalten von parametrischen Werten aus einem Satz der Speicherzellen (16) und zum Erzeugen eines Blocks von gespeicherten ECC- kodierten Daten unter Verwendung der erhaltenen parametrischen Werte, was das Bilden von Löschinformationen für den Block von gespeicherten ECC-kodierten Daten unter Verwendung der erhaltenen parametrischen Werte umfaßt; und
eine ECC-Dekodiereinheit zum Dekodieren des Blocks gespeicherter ECC-kodierter Daten Bezug nehmend auf die Löschinformationen.
20. Vorrichtung, die eine magnetoresistive
Speichervorrichtung gemäß Anspruch 19 einlagert.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/915,194 | 2001-07-25 | ||
US09/915,194 US7036068B2 (en) | 2001-07-25 | 2001-07-25 | Error correction coding and decoding in a solid-state storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10233642A1 true DE10233642A1 (de) | 2003-02-20 |
DE10233642B4 DE10233642B4 (de) | 2010-11-11 |
Family
ID=25435382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10233642A Expired - Lifetime DE10233642B4 (de) | 2001-07-25 | 2002-07-24 | Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung |
Country Status (3)
Country | Link |
---|---|
US (3) | US7036068B2 (de) |
JP (1) | JP2003115197A (de) |
DE (1) | DE10233642B4 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007047150A1 (de) * | 2006-12-28 | 2008-07-03 | Mitsubishi Electric Corp. | Elektroniksteuerung |
DE102004015555B4 (de) * | 2003-08-05 | 2009-06-18 | Samsung Electronics Co., Ltd., Suwon | Magnetischer Direktzugriffsspeicher |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6981196B2 (en) * | 2001-07-25 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Data storage method for use in a magnetoresistive solid-state storage device |
US20030023922A1 (en) * | 2001-07-25 | 2003-01-30 | Davis James A. | Fault tolerant magnetoresistive solid-state storage device |
US7036068B2 (en) * | 2001-07-25 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Error correction coding and decoding in a solid-state storage device |
US6973604B2 (en) | 2002-03-08 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Allocation of sparing resources in a magnetoresistive solid-state storage device |
US6704230B1 (en) * | 2003-06-12 | 2004-03-09 | International Business Machines Corporation | Error detection and correction method and apparatus in a magnetoresistive random access memory |
US7191379B2 (en) * | 2003-09-10 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Magnetic memory with error correction coding |
US7325157B2 (en) * | 2003-11-03 | 2008-01-29 | Samsung Electronics Co., Ltd | Magnetic memory devices having selective error encoding capability based on fault probabilities |
US7472330B2 (en) * | 2003-11-26 | 2008-12-30 | Samsung Electronics Co., Ltd. | Magnetic memory which compares compressed fault maps |
US6999366B2 (en) | 2003-12-03 | 2006-02-14 | Hewlett-Packard Development Company, Lp. | Magnetic memory including a sense result category between logic states |
GB2415873A (en) * | 2004-06-30 | 2006-01-04 | Nokia Corp | Erasure information generation in Forward Error Correction decoding |
FR2875352B1 (fr) * | 2004-09-10 | 2007-05-11 | St Microelectronics Sa | Procede de detection et de correction d'erreurs pour une memoire et circuit integre correspondant |
KR101061116B1 (ko) * | 2004-09-15 | 2011-08-31 | 엘지전자 주식회사 | 이동통신 시스템에서 상향링크 제어정보 전송 방법 및수신측에서의 제어정보의 복호 방법 |
US7526715B2 (en) * | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
JP4905839B2 (ja) | 2005-10-18 | 2012-03-28 | 日本電気株式会社 | Mramの動作方法 |
WO2007046349A1 (ja) | 2005-10-18 | 2007-04-26 | Nec Corporation | Mram、及びその動作方法 |
US7512847B2 (en) * | 2006-02-10 | 2009-03-31 | Sandisk Il Ltd. | Method for estimating and reporting the life expectancy of flash-disk memory |
DE602006006788D1 (de) * | 2006-03-02 | 2009-06-25 | St Microelectronics Srl | Leseverfahren eines Speichers mit eingebetteter Fehlerkorrekturkode und Speicher mit eingebetteter Fehlerkorrekturkode |
US20080114546A1 (en) * | 2006-11-15 | 2008-05-15 | Space Systems/Loral, Inc. | Image navigation and registration accuracy improvement using parametric systematic error correction |
US9116823B2 (en) * | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
WO2008133087A1 (ja) | 2007-04-17 | 2008-11-06 | Nec Corporation | 半導体記憶装置及びその動作方法 |
JP2008300020A (ja) * | 2007-06-04 | 2008-12-11 | Toshiba Corp | 再生装置 |
US8055975B2 (en) | 2007-06-05 | 2011-11-08 | Apple Inc. | Combined single error correction/device kill detection code |
US8429492B2 (en) * | 2007-11-30 | 2013-04-23 | Marvell World Trade Ltd. | Error correcting code predication system and method |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8458536B2 (en) * | 2008-07-17 | 2013-06-04 | Marvell World Trade Ltd. | Data recovery in solid state memory devices |
US7894250B2 (en) * | 2009-03-17 | 2011-02-22 | Seagate Technology Llc | Stuck-at defect condition repair for a non-volatile memory cell |
JP4956640B2 (ja) * | 2009-09-28 | 2012-06-20 | 株式会社東芝 | 磁気メモリ |
US8301987B2 (en) * | 2009-10-29 | 2012-10-30 | Sandisk Il Ltd. | System and method of decoding data with reduced power consumption |
US9037951B2 (en) | 2009-12-17 | 2015-05-19 | International Business Machines Corporation | Data management in solid state storage systems |
EP2671229B1 (de) | 2011-01-31 | 2019-10-09 | Everspin Technologies, Inc. | Verfahren zum schreiben auf einen magnetischen direktzugriffsspeicher mit einem drall-drehmoment |
JP5490062B2 (ja) * | 2011-07-19 | 2014-05-14 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8874994B2 (en) | 2011-07-22 | 2014-10-28 | Sandisk Technologies Inc. | Systems and methods of storing data |
US9128869B2 (en) * | 2011-09-29 | 2015-09-08 | Micron Technology, Inc. | Systems and methods involving managing a problematic memory cell |
KR102002925B1 (ko) | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
US9110829B2 (en) * | 2012-11-30 | 2015-08-18 | Taiwan Semiconductor Manufacturing Co. Ltd. | MRAM smart bit write algorithm with error correction parity bits |
US20150317204A1 (en) * | 2014-04-30 | 2015-11-05 | Lsi Corporation | Systems and Methods for Efficient Data Refresh in a Storage Device |
CN104601179A (zh) * | 2014-12-12 | 2015-05-06 | 北京麓柏科技有限公司 | 一种存储系统纠删码编码、解码电路及编解码电路 |
US9819362B2 (en) * | 2015-03-27 | 2017-11-14 | Intel Corporation | Apparatus and method for detecting and mitigating bit-line opens in flash memory |
US10243587B2 (en) * | 2017-02-08 | 2019-03-26 | Hewlett Packard Enterprise Developmetn LP | Managing results from list decode methods |
JP2019079377A (ja) | 2017-10-26 | 2019-05-23 | 東芝メモリ株式会社 | 半導体記憶装置 |
US11455210B1 (en) * | 2021-04-26 | 2022-09-27 | Micron Technology, Inc. | Error detection and correction in memory |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4069970A (en) * | 1976-06-24 | 1978-01-24 | Bell Telephone Laboratories, Incorporated | Data access circuit for a memory array |
US4209846A (en) * | 1977-12-02 | 1980-06-24 | Sperry Corporation | Memory error logger which sorts transient errors from solid errors |
US4216541A (en) * | 1978-10-05 | 1980-08-05 | Intel Magnetics Inc. | Error repairing method and apparatus for bubble memories |
US4458349A (en) * | 1982-06-16 | 1984-07-03 | International Business Machines Corporation | Method for storing data words in fault tolerant memory to recover uncorrectable errors |
JPH0778968B2 (ja) * | 1986-02-14 | 1995-08-23 | 株式会社日立製作所 | 軟判定復号方法 |
US4939694A (en) * | 1986-11-03 | 1990-07-03 | Hewlett-Packard Company | Defect tolerant self-testing self-repairing memory system |
US4914657A (en) * | 1987-04-15 | 1990-04-03 | Allied-Signal Inc. | Operations controller for a fault tolerant multiple node processing system |
US4845714A (en) | 1987-06-08 | 1989-07-04 | Exabyte Corporation | Multiple pass error correction process and apparatus for product codes |
CA2019351A1 (en) | 1989-07-06 | 1991-01-06 | Francis H. Reiff | Fault tolerant memory |
JPH03108044A (ja) * | 1989-09-21 | 1991-05-08 | Nec Corp | 記憶装置 |
JPH03244218A (ja) | 1990-02-21 | 1991-10-31 | Nec Corp | ブロック符号復号装置及びその受信語信頼性評価方法 |
US5233614A (en) * | 1991-01-07 | 1993-08-03 | International Business Machines Corporation | Fault mapping apparatus for memory |
US5263030A (en) | 1991-02-13 | 1993-11-16 | Digital Equipment Corporation | Method and apparatus for encoding data for storage on magnetic tape |
US5504760A (en) * | 1991-03-15 | 1996-04-02 | Sandisk Corporation | Mixed data encoding EEPROM system |
JPH05203708A (ja) | 1992-01-28 | 1993-08-10 | Fujitsu Ltd | 順序回路の縮退故障テスト方法 |
US5502728A (en) * | 1992-02-14 | 1996-03-26 | International Business Machines Corporation | Large, fault-tolerant, non-volatile, multiported memory |
US5321703A (en) * | 1992-03-13 | 1994-06-14 | Digital Equipment Corporation | Data recovery after error correction failure |
US5459742A (en) * | 1992-06-11 | 1995-10-17 | Quantum Corporation | Solid state disk memory using storage devices with defects |
US5593351A (en) * | 1992-07-06 | 1997-01-14 | Culp; Gordon W. | Axially stiff link |
US5590306A (en) * | 1992-09-08 | 1996-12-31 | Fuji Photo Film Co., Ltd. | Memory card management system for writing data with usage and recording codes made significant |
US5428630A (en) * | 1993-07-01 | 1995-06-27 | Quantum Corp. | System and method for verifying the integrity of data written to a memory |
US5488691A (en) * | 1993-11-17 | 1996-01-30 | International Business Machines Corporation | Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes |
DE69526279T2 (de) | 1994-02-22 | 2002-10-02 | Siemens Ag | Flexible Fehlerkorrekturcode/Paritätsbit-Architektur |
IT1274925B (it) * | 1994-09-21 | 1997-07-29 | Texas Instruments Italia Spa | Architettura di memoria per dischi a stato solido |
US5582874A (en) * | 1994-11-29 | 1996-12-10 | United Container Machinery Group, Inc. | Method for coating corrugating rolls using high velocity oxygen fueled thermal spray |
US5621690A (en) * | 1995-04-28 | 1997-04-15 | Intel Corporation | Nonvolatile memory blocking architecture and redundancy |
US5953351A (en) | 1995-09-15 | 1999-09-14 | International Business Machines Corporation | Method and apparatus for indicating uncorrectable data errors |
US5708771A (en) | 1995-11-21 | 1998-01-13 | Emc Corporation | Fault tolerant controller system and method |
US6112324A (en) * | 1996-02-02 | 2000-08-29 | The Arizona Board Of Regents Acting On Behalf Of The University Of Arizona | Direct access compact disc, writing and reading method and device for same |
JPH09212411A (ja) * | 1996-02-06 | 1997-08-15 | Tokyo Electron Ltd | メモリシステム |
JPH09330273A (ja) * | 1996-06-10 | 1997-12-22 | Mitsubishi Electric Corp | メモリカードおよびメモリカードにおける誤り訂正方法 |
US5864569A (en) * | 1996-10-18 | 1999-01-26 | Micron Technology, Inc. | Method and apparatus for performing error correction on data read from a multistate memory |
US5793795A (en) * | 1996-12-04 | 1998-08-11 | Motorola, Inc. | Method for correcting errors from a jamming signal in a frequency hopped spread spectrum communication system |
JPH10261043A (ja) | 1997-03-19 | 1998-09-29 | Toshiba Corp | 復合方法および復号装置およびバーコード処理システム |
US6233182B1 (en) * | 1997-04-16 | 2001-05-15 | Hitachi, Ltd. | Semiconductor integrated circuit and method for testing memory |
US6009550A (en) * | 1997-05-20 | 1999-12-28 | Seagate Technology, Inc. | PBA recovery apparatus and method for interleaved reed-solomon codes |
US6223301B1 (en) * | 1997-09-30 | 2001-04-24 | Compaq Computer Corporation | Fault tolerant memory |
US6275965B1 (en) * | 1997-11-17 | 2001-08-14 | International Business Machines Corporation | Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords |
US6169686B1 (en) | 1997-11-20 | 2001-01-02 | Hewlett-Packard Company | Solid-state memory with magnetic storage cells |
US5852574A (en) * | 1997-12-24 | 1998-12-22 | Motorola, Inc. | High density magnetoresistive random access memory device and operating method thereof |
US6279133B1 (en) * | 1997-12-31 | 2001-08-21 | Kawasaki Steel Corporation | Method and apparatus for significantly improving the reliability of multilevel memory architecture |
EP0936743A1 (de) * | 1998-02-17 | 1999-08-18 | Koninklijke Philips Electronics N.V. | Iteratives Dekodierungsverfahren für binäre Blockcodes |
JPH11306750A (ja) * | 1998-04-20 | 1999-11-05 | Univ Kyoto | 磁気型半導体集積記憶装置 |
JP3308908B2 (ja) | 1998-08-20 | 2002-07-29 | 沖電気工業株式会社 | 伝送システム |
US6408401B1 (en) * | 1998-11-13 | 2002-06-18 | Compaq Information Technologies Group, L.P. | Embedded RAM with self-test and self-repair with spare rows and columns |
US6381726B1 (en) * | 1999-01-04 | 2002-04-30 | Maxtor Corporation | Architecture for soft decision decoding of linear block error correcting codes |
US7219368B2 (en) * | 1999-02-11 | 2007-05-15 | Rsa Security Inc. | Robust visual passwords |
US6584589B1 (en) | 2000-02-04 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Self-testing of magneto-resistive memory arrays |
US6856572B2 (en) | 2000-04-28 | 2005-02-15 | Matrix Semiconductor, Inc. | Multi-headed decoder structure utilizing memory array line driver with dual purpose driver device |
US6483740B2 (en) * | 2000-07-11 | 2002-11-19 | Integrated Magnetoelectronics Corporation | All metal giant magnetoresistive memory |
US6456525B1 (en) * | 2000-09-15 | 2002-09-24 | Hewlett-Packard Company | Short-tolerant resistive cross point array |
US6684353B1 (en) * | 2000-12-07 | 2004-01-27 | Advanced Micro Devices, Inc. | Reliability monitor for a memory array |
US6407953B1 (en) * | 2001-02-02 | 2002-06-18 | Matrix Semiconductor, Inc. | Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays |
US7036068B2 (en) * | 2001-07-25 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Error correction coding and decoding in a solid-state storage device |
US6981196B2 (en) * | 2001-07-25 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Data storage method for use in a magnetoresistive solid-state storage device |
US20030023922A1 (en) * | 2001-07-25 | 2003-01-30 | Davis James A. | Fault tolerant magnetoresistive solid-state storage device |
US6801471B2 (en) * | 2002-02-19 | 2004-10-05 | Infineon Technologies Ag | Fuse concept and method of operation |
US6973604B2 (en) * | 2002-03-08 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Allocation of sparing resources in a magnetoresistive solid-state storage device |
US20030172339A1 (en) * | 2002-03-08 | 2003-09-11 | Davis James Andrew | Method for error correction decoding in a magnetoresistive solid-state storage device |
-
2001
- 2001-07-25 US US09/915,194 patent/US7036068B2/en not_active Expired - Lifetime
-
2002
- 2002-03-08 US US10/093,841 patent/US7149949B2/en not_active Expired - Lifetime
- 2002-03-08 US US10/093,854 patent/US6990622B2/en not_active Expired - Lifetime
- 2002-07-19 JP JP2002210534A patent/JP2003115197A/ja active Pending
- 2002-07-24 DE DE10233642A patent/DE10233642B4/de not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004015555B4 (de) * | 2003-08-05 | 2009-06-18 | Samsung Electronics Co., Ltd., Suwon | Magnetischer Direktzugriffsspeicher |
DE102007047150A1 (de) * | 2006-12-28 | 2008-07-03 | Mitsubishi Electric Corp. | Elektroniksteuerung |
DE102007063638B4 (de) * | 2006-12-28 | 2014-09-25 | Mitsubishi Electric Corp. | Elektroniksteuerung |
DE102007047150B4 (de) * | 2006-12-28 | 2016-10-06 | Mitsubishi Electric Corp. | Elektroniksteuerung |
Also Published As
Publication number | Publication date |
---|---|
JP2003115197A (ja) | 2003-04-18 |
US7149949B2 (en) | 2006-12-12 |
US7036068B2 (en) | 2006-04-25 |
US6990622B2 (en) | 2006-01-24 |
US20030023911A1 (en) | 2003-01-30 |
US20030023923A1 (en) | 2003-01-30 |
DE10233642B4 (de) | 2010-11-11 |
US20030023927A1 (en) | 2003-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10233642B4 (de) | Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung | |
DE102004063571A1 (de) | System und Verfahren zum Konfigurieren einer Festkörperspeicherungsvorrichtung mit Fehlerkorrekturcodierung | |
DE112011100371B4 (de) | Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts | |
DE102015201384B4 (de) | Vorrichtung und Verfahren zum Verbessern der Datenspeicherung durch Dateninvertierung | |
DE602004011097T2 (de) | Flash-speicherdatenkorrektur- und scrub-techniken | |
DE112010003645B4 (de) | Festkörper-Speichersystem mit Parallelem Zugriff aus Mehreren Flash/PCM-Einrichtungen | |
US7107508B2 (en) | Manufacturing test for a fault tolerant magnetoresistive solid-state storage device | |
DE112014001305B4 (de) | Auswahl einer redundanten Datenspeicherkonfiguration auf der Grundlage verfügbaren Speicherplatzes | |
DE102017104257A1 (de) | Auf Zellenstrom basierende Bitleitungsspannung | |
DE102008030858A1 (de) | Speicher mit dynamischer Redundanzkonfigurierung | |
DE10110469A1 (de) | Integrierter Speicher und Verfahren zum Testen und Reparieren desselben | |
DE102004039235A1 (de) | Speicherzellenfolgen | |
DE102015113414B4 (de) | Fehlerkorrektur unter Verwendung von WOM-Codes | |
DE3209679C2 (de) | ||
DE102019123642A1 (de) | Speicherfehlererkennung und korrektur | |
DE112015006285T5 (de) | Mehrchip-doppelschreiben | |
DE102004015555B4 (de) | Magnetischer Direktzugriffsspeicher | |
DE102018123887A1 (de) | Nichtflüchtiges Speichersystem. das fehlerhafte Blöcke regeneriert | |
DE102020114702A1 (de) | Trimmen von speicherleseverstärkern | |
DE60002872T2 (de) | System und verfahren zur verbesserung des multibit fehlerschutzes in einer computerspeichereinheit | |
DE102017103347A1 (de) | Verarbeitung von daten in speicherzellen eines speichers | |
DE112020000182T5 (de) | Blockqualitätsklassifizierung beim testen für nichtflüchtigen speicher und flags für mehrere fehlerhafte blöcke bezüglich produktdiversität | |
DE60212332T2 (de) | Selbstreparatur-Methode für nicht flüchtige Speicher mit einer Architektur zur Fehlervermeidung sowie nicht flüchtiger Speicher | |
DE102020134945A1 (de) | Dynamische fehlerüberwachung und -reparatur | |
DE102016107285B4 (de) | Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung |
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: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8127 | New person/name/address of the applicant |
Owner name: SAMSUNG ELECTRONICS CO., LTD., SUWON, KYONGGI, KR |
|
8128 | New person/name/address of the agent |
Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, 85 |
|
8364 | No opposition during term of opposition | ||
R020 | Patent grant now final |
Effective date: 20110211 |
|
R071 | Expiry of right |