-
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 unterlie gen, 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.
-
Die
DE 43 91 075 T1 betrifft
die Datenwiederherstellung nach einem Misserfolg bei einer Fehlerkorrektur,
wobei bei einem Misserfolg die entsprechenden Daten mehrfach ausgelesen
werden. In dem Fall, dass keine der Kopien erfolgreich decodiert wird,
werden die folgenden Schritte durchgeführt: Aus der Folge von Kopien
der codierten Daten wird ein rekonstruiertes codiertes Datenwort
gemäß einer Rekonstruktionsfunktion
gebildet; und das rekonstruierte Datenwort wird gemäß einem
ECC decodiert. Das Rekonstruktionsverfahren beruht auf einer Majoritätswahl auf
einer Symbol-zu-Symbol-Basis.
Zusätzlich
kann bei der Majoritätsentscheidung
ein Schwellwertvergleich durchgeführt werden, um zu bestimmen,
ob das Symbol zuverlässig
ist. Ist das Symbol unzuverlässig,
wird das entsprechende Symbol als ein „Löschen”-Symbol bezeichnet und das
rekonstruierte Datenwort wird dann mit einem Fehler-und-Lösch-Algorithmus
decodiert.
-
Die
DE 199 63 683 A1 betrifft
eine Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes
mit Softdecision. Die Architektur kann mit einem Fehler-und-Lösch-Decodieralgorithmus
verwendet werden.
-
Die
US 5 459 742 A betrifft
ein solid state disc memory, das defekte Speicherelemente einsetzt.
Dabei werden aus einer Matrix von Speicherzellen Multi-Bit-Symboldaten
ausgelesen und Auswirkungen möglicher
defekter Zellen durch Multi-Symbol-Fehler-Korrektur-Codes ausgeglichen bzw. minimiert.
-
Die
EP 0 918 334 A2 betrifft
einen magnetischen Speicher und insbesondere ein Herstellungsverfahren,
bei dem ein Verfahrensschritt bei dem die Leiter strukturiert wird
auch die magnetischen Schichten in den magnetischen Speicherzellen
strukturiert.
-
Die
JP 62188075 A betrifft
ein Softdecision-Decodierungssystem, das auf der Basis von Hartentscheidungsdaten
(hard decision), Zuverlässigkeitsdaten
mittels eines Schwellwertlöschkandidaten bestimmt.
-
Die
JP 03108044 A betrifft
ein Speichergerät, bei
dem Daten nur dann an einem Speicher zurückgeschrieben werden, wenn
korrigierbare Fehler in den Lesedaten erkannt werden.
-
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 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 Originalinforma tionen 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:
-
1 ein
schematisches Diagramm, das eine bevorzugte MRAM-Vorrichtung zeigt,
die ein Array von Speicherzellen umfaßt;
-
2 eine
bevorzugte Logikdatenstruktur;
-
3 ein
bevorzugtes Verfahren zum Steuern einer MRAM-Vorrichtung;
-
4 ein
bevorzugtes Verfahren zum Steuern einer MRAM-Vorrichtung mit einer optionalen Zurückschreibung
von korrigierten Daten; und
-
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 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 Auswirkun gen derartiger physischer ausfälle zu minimieren
und werden Bezug nehmend auf die 2 bis 5 beschrieben.
-
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 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 l, 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 l/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 – insge samt 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.
-
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 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 einhunder tundsechzig 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.
-
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 1.
Vorzugsweise sind die gespeicherten Daten in ein Format fehlerkorrekturkodiert,
wie in 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 3 wird nun detaillierter beschrieben,
Bezug nehmend auf das spezifische Beispiel der MRAM-Vorrichtung 1 aus 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.
-
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 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 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.
-
4 zeigt
ein anderes bevorzugtes Verfahren zum Steuern einer MRAM-Vorrichtung.
Im allgemeinen ist das Verfahren ähnlich zu dem aus 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 der 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.