DE69421925T2 - Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts - Google Patents
Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des SpeichergerätsInfo
- Publication number
- DE69421925T2 DE69421925T2 DE69421925T DE69421925T DE69421925T2 DE 69421925 T2 DE69421925 T2 DE 69421925T2 DE 69421925 T DE69421925 T DE 69421925T DE 69421925 T DE69421925 T DE 69421925T DE 69421925 T2 DE69421925 T2 DE 69421925T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- user data
- storage device
- address
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012937 correction Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims description 21
- 238000001514 detection method Methods 0.000 title description 3
- 230000015654 memory Effects 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims abstract description 5
- 238000012217 deletion Methods 0.000 claims description 12
- 230000037430 deletion Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 102100036044 Conserved oligomeric Golgi complex subunit 4 Human genes 0.000 description 3
- 102100040998 Conserved oligomeric Golgi complex subunit 6 Human genes 0.000 description 3
- 101000876012 Homo sapiens Conserved oligomeric Golgi complex subunit 4 Proteins 0.000 description 3
- 101000748957 Homo sapiens Conserved oligomeric Golgi complex subunit 6 Proteins 0.000 description 3
- 101001104102 Homo sapiens X-linked retinitis pigmentosa GTPase regulator Proteins 0.000 description 3
- 208000036448 RPGR-related retinopathy Diseases 0.000 description 3
- 201000000467 X-linked cone-rod dystrophy 1 Diseases 0.000 description 3
- 201000000465 X-linked cone-rod dystrophy 2 Diseases 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 102000015347 COP1 Human genes 0.000 description 1
- 108060001826 COP1 Proteins 0.000 description 1
- 230000005689 Fowler Nordheim tunneling Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—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 in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—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 in cache or content addressable memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
- Die vorliegende Erfindung betrifft eine Speichervorrichtung mit Fehlerprüfund -Korrekturfunktion, mit einem Dateneingang (DI), einem Datenausgang (DO) und einem Adresseneingang (AI), typgemäß umfassend:
- a) eine erste Speichereinrichtung (DM), ausgebildet für den Zugriff mittels einer Adresse, um Benutzerdaten aufzunehmen,
- b) eine zweite Speichereinrichtung (EM) zur Aufnahme von Fehlerdaten, die die Benutzerdaten betreffen,
- c) eine Steuerlogik (CL), ausgebildet, um in der Schreibphase von dem Adresseneingang (AI) und dem Dateneingang (DI) eine Schreibadresse bzw. Benutzerdaten zu empfangen und Fehlerdaten zu generieren, um die Benutzerdaten und die Fehlerdaten in die erste (DM) bzw. die zweite (EM) Speichereinrichtung einzuschreiben, ferner ausgebildet, um in der Lesephase von dem Adresseneingang (AI) eine Leseradresse zu empfangen und entsprechende Benutzerdaten und Fehlerdaten zu holen und sie zwecks Korrektur möglicher Fehler zu kombinieren und sie dem Datenausgang (DO) zuzuleiten, wobei die zweite Speichereinrichtung (EM) so ausgebildet ist, daß auf sie mit Hilfe von Inhalt zugreifbar ist, wobei dieser Inhalt für den Zugriff den Adressen der ersten, Speichereinrichtung (DM) entspricht, für die Fehlerdaten gespeichert sind, wobei die Steuerlogik eine Prüfeinrichtung (VM) enthält, die mit einem ersten Eingang an den Ausgang der ersten Speichereinrichtung (DM) gekoppelt ist, um aus der ersten Speichereinrichtung ausgelesene Daten zu empfangen.
- Die Erfindung betrifft außerdem ein Verfahren zum Schreiben korrigierter Benutzerdaten in eine Speichervorrichtung des Typs mit einer ersten Speichereinrichtung (DM) zur Aufnahme von Benutzerdaten, auf die mittels Adresse zugegriffen wird, und einer zweiten Speichereinrichtung (EM) zur Aufnahme von Fehlerdaten betreffend die Benutzerdaten, ausgebildet für den Zugriff mittels Inhalt, umfassend folgende Phasen:
- a) Senden einer Schreibadresse an die Vorrichtung,
- b) Senden von zu speichernden Benutzerdaten an die Vorrichtung,
- c) Schreiben der zu speichernden Benutzerdaten in die erste Speichereinrichtung (DM) an einer Stelle, die der Schreibadresse entspricht,
- d) - mit Hilfe der Schreibadresse - Zugreifen auf Benutzerdaten, die in der ersten Speichereinrichtung (DM) adressiert werden,
- e) Prüfen der Identität der zu speichernden Benutzerdaten und der adressierten Benutzerdaten, um im Fall eines Nicht-bestehens der Prüfung:
- e1) Fehlerdaten zu generieren, mit deren Hilfe Fehler in den adressierten Benutzerdaten korrigierbar sind, und
- e2) die generieren Fehlerdaten in die zweite Speichereinrichtung (EM) einzuschreiben und sie für den Zugriff der Schreibadresse zuzuordnen,
- dadurch gekennzeichnet,
- daß der Zugriff ein Lesen-nach-Schreiben-Zugriff ist, der während der Schreibphase ausgeführt wird, um festzustellen, ob beim Schreiben der zu speichernden Benutzerdaten in die erste Speichereinrichtung irgendwelche Fehler aufgetreten sind.
- In der Vergangenheit war man mit dem Problem der Fehlerkorrektur in konventionellen Speichern konfroniert.
- Das US-Patent 4 958 352 beispielsweise schlägt eine Halbleiterspeichervorrichtung vor, die mit einer Fehlerprüf- und Korrekturschaltung (ECC = Error Check and Correction Circuit), umfassend eine erste Zellenmatrix für die eigentlichen Daten und eine zweite Zellenmatrix für die Fehlerprüf- und -korrekturdaten. Mit jedem Datenwort, welches bei dem Beispiel 8 Bits enthält, ist ein Fehlerprüf- und -korrekturwort verknüpft, im Beispiel aus 4 Bits bestehend, welches das Erkennen und die Korrektur eines einzelnen Fehlers ermöglicht, was üblicherweise ausreicht. Jeder binäre Datenwert wird in einer anderen Speicherzelle abgespeichert.
- Die Lese- und Schreiboperation werden von einer komplexen Schaltung (die auch die Fehlerprüfund -Korrekturschaltung enthält), die man als Steuerlogik beschreiben kann, gesteuert und koordiniert, wobei die Steuerlogik so ausgebildet ist, daß sie in der Schreibphase eine Schreibadresse und Benutzerdaten empfängt, Fehlerdaten generiert und diese Daten in die erste bzw. in die zweite Matrix einschreibt, um in der Lesephase eine Leseadresse zu empfangen, die entsprechenden Benutzerdaten und Fehlerdaten aus der ersten bzw. der zweiten Matrix zu holen, sie zu kombinieren, um mögliche Fehler zu korrigieren, und sie dann an den Ausgang zu geben.
- Die in dem US-Patent vorgeschlagene Lösung bedingt für eine gute Effizienz der Vorrichtung den Einsatz einer beträchtlichen Anzahl von Speicherzellen; in dem Beispiel sind 33% der Zellen der Vorrichtung zur Fehlererkennung und -Korrektur reserviert. Wenn Fehler selten sind, ist dieser Aufwand nicht gerechtfertigt.
- Das US-Patent 4 654 847, welches die Merkmale aus den Oberbegriffen der beigefügten Ansprüche enthält, zeigt eine Vorrichtung, die Speicherfehler während einer Lesephase erkennt und korrigiert. Wenn aus einem Speicher Daten gelesen werden und sich diese als fehlerhaft erweisen, werden die Daten korrigiert und in einem Ersatzbereich eines kleinen Alternativ-Speicherfeldes abgespeichert. Ferner wird auch die Identität der korrigierten Daten in dem Alternativ-Speicherbereich abgespeichert. Bei einem späteren Lesen der Daten aus dem Hauptspeicher wird gleichzeitig der Alternativ-Speicherbereich abgefragt. Die Identität der korrigierten Daten, die in dem Alternativ- Speicherbereich gespeichert sind, wird mit der anstehenden Adresse verglichen, und die korrigierten Daten werden aus dem Ersatzbereich des Alternativ-Speicherbereichs ausgelesen.
- Ein spezielles Phänomen, welches seinen Ursprung in seltenen Dauer- und/oder vorübergehenden Fehlern hat, ergibt sich bei EEPROM- und Flash-EPROM-Speichern, die mit Hilfe des Fowler-Nordheim- Tunnelmechanismus beschrieben und/oder gelöscht werden. Dieser "Schreib"-Mechanismus (dieser Begriff wird hier in einem breiten Sinn verstanden) weist zusätzlich zu einer normalen Streuung eine Reihe weniger Zellen auf, die viel höhere Schreibgeschwindigkeiten aufweisen; und darüberhinaus kann es "erratische Bits" geben, d. h. Zellen, die von einem gewissen Punkt an für ein gewisses veränderliches Zeitintervall eine viel höhere Schreibgeschwindigkeit besitzen.
- Es wurde versucht, dieses Problem von vornherein dadurch zu lösen, daß man spezielle Schreibstrategien einsetzte (zahlreiche sehr feine Programmierschritte), um eine Anpassung an die verschiedenen Schreibgeschwindigkeiten der verschiedenen Zellen zu erreichen, oder man hat von vornherein normale Schreibstrategien eingesetzt und im nachhinein die "überschriebenen" oder "gelöschten" Zellen mit Hilfe einiger spezieller Schreibstrategien wiederhergestellt.
- Dieses Problem ist wesentlich gravierender bei mehrstufigen Speichern, bei denen die Streuung der Zellen-Charakteristika natürlich beschränkt werden muß.
- Aufgabe der Erfindung ist die Angabe einer Speichervorrichtung, insbesondere vom mehrstufigen Typ, die in der Lage ist, jegliche Fehler zu erkennen und zu korrigieren, wobei die Vorrichtung nicht an den Nachteilen des Standes der Technik leidet.
- Gelöst wird diese Aufgabe mit Hilfe der Speichervorrichtung des oben genannten Typs, die außerdem die Kennzeichnungsmerkmale des Anspruchs 1 aufweist. Weitere vorteilhafte Aspekte der Erfindung ergeben sich aus den abhängigen Ansprüchen.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung geht es auch um ein Schreibverfahren und ein Löschverfahren mit den Merkmalen der Ansprüche 10 oder 13 und 14.
- Im Fall eines Fehlers läßt sich die für die Fehlerprüfung und -korrektur zu reservierende Anzahl von Zellen ziemlich gering halten, indem zur Speicherung von Fehlerdaten anstelle einer konventionellen Speichermatrix eine unabhängige Speichereinrichtung verwendet wird, die so ausgebildet ist, daß auf sie Zugriff mittels des Inhalts genommen wird, wobei der Zugriffsinhalt den Adressen der die Benutzerdaten speichernden Speichereinrichtung entspricht.
- Da die Fehlerdaten nur im Fall eines Fehlers eingeschrieben werden, hat dies keinen wesentlichen Einfluß auf die durchschnittliche Einschreibzeit für die Benutzerdaten in den Speicher. Auch wenn ein Fehler auftritt, läßt sich ein Teil der Fehlerdaten-Speicheroperationen parallel zu den Speicheroperationen der Benutzerdaten ausführen, so daß die hierfür aufzubringende zusätzliche Zeit verringert wird. Da außerdem die Fehlerdaten-Speicheroperationen unabhängig von den Benutzerinformations-Speicheroperationen vorgesehen sein können, läßt sich der verbleibende, noch nicht ausgeführte Teil der Operationen nachfolgend parallel ausführen, und zwar im Hinblick darauf, daß es in höchstem Maße unwahrscheinlich ist, daß Fehler bei zwei aufeinanderfolgenden Schreibvorgängen auftreten.
- Im Fall von EEPROM- und Flash-EPROM-Speichern können dank der erfindungsgemäßen Vorrichtung normale Schreibstrategien eingesetzt werden, während die Behandlung der Schreibfehler den Fehlerdaten überlassen bleibt.
- Die vorliegende Erfindung ergibt sich deutlicher durch die nachfolgende Beschreibung einiger Ausführungsformen in Verbindung mit den beigefügten Zeichnungen. Es zeigen:
- Fig. 1 ein Blockdiagramm der Speichervorrichtung gemäß einer Ausführungsform der Erfindung,
- Fig. 2 ein mögliches, detaillierteres Diagramm der Vorrichtung nach Fig. 1, beschränkt auf die von einer Leseoperation betroffenen Blöcke,
- Fig. 3 ein erstes, detaillierteres mögliches Diagramm der Vorrichtung nach Fig. 1, beschränkt auf die von einer Schreiboperation betroffenen Blöcke,
- Fig. 4 ein zweites, detaillierteres mögliches Diagramm der Vorrichtung nach Fig. 1, beschränkt auf die von einer Schreiboperation betroffenen Blöcke,
- Fig. 5 ein drittes, detaillierteres mögliches Diagramm der Vorrichtung nach Fig. 1, beschränkt auf die von einer Schreiboperation betroffenen Blöcke, und
- Fig. 6 ein viertes, detaillierteres mögliches Diagramm der Vorrichtung nach Fig. 1, beschränkt auf die von einer Schreiboperation betroffenen Blöcke.
- Gemäß Fig. 1 besitzt die Speichervorrichtung gemäß dieser Ausführungsform der Erfindung eine Fehlerprüf- und -korrekturfunktion und enthält einen Dateneingang DI, einen Datenausgang DO und einen Adresseneingang AI, wobei zusätzlich natürlich die üblichen Steuersignale CNTR vorgesehen sind, die am Eingang empfangen werden, und die am Ausgang erzeugt werden, und die zwischen den verschiedenen in der Vorrichtung enthaltenden Schaltungsblöcken ausgetauscht werden.
- Sie enthält:
- a) eine erste Speichereinrichtung DM, ausgestaltet für den Zugriff mittels einer Adresse, um Benutzerdaten aufzunehmen;
- b) eine zweite Speichereinrichtung EM zur Aufnahme von Fehlerdaten, die sich auf die Benutzerdaten beziehen, ausgebildet für den Zugriff mittels Inhalt, wobei dieser Inhalt für den Zugriff den Adressen der ersten Speichereinrichtung DM entspricht;
- c) eine Steuerlogik CL, ausgebildet, um in der Schreibphase von dem Adresseneingang AI und von dem Dateneingang DI eine Schreibadresse bzw. Benutzerdaten zu empfangen, Fehlerdaten zu erzeugen, und diese Daten in die erste bzw. die zweite Speichereinrichtung einzuschreiben, und weiterhin ausgebildet, um in der Lesephase von dem Adresseneingang AI eine Leseadresse zu empfangen, entsprechende Benutzerdaten und Fehlerdaten zu holen und sie zu Kombinieren, um mögliche Fehler zu korrigieren und sie an den Datenausgang DO zu geben.
- Die in der Speichereinrichtung EM enthaltenen Fehlerdaten können verschiedener Natur sein, entsprechend den Benutzerdaten selbst, den Daten, die zum Erkennen und Korrigieren möglicher Fehler in den Benutzerdaten gestaltet sind, oder Daten, die zum Korrigieren spezifischer Fehler ausgebildet sind, die beim Schreiben der Benutzerdaten auftreten.
- Fig. 2 zeigt ein mögliches detaillierteres Diagramm der Vorrichtung nach Fig. 1, beschränkt auf die von einer Leseoperation betroffenen Blöcke.
- Der Adresseneingang AI der Vorrichtung ist an den Adresseneingang der Speichereinrichtung DM und an den Zugriffseingang der Speichereinrichtung EM angeschlossen. Die Datenausgänge der Einrichtungen DM und EM sind an die Eingänge der Fehlerkorrektureinrichtung cm angeschlossen, die die Eingangssignale kombiniert. Der Ausgang der Einrichtung cm ist mit dem Datenausgang DO der Vorrichtung verbunden.
- Abhängig vom Typ der in der Speichereinrichtung EM enthaltenen Fehlerdaten kann die Einrichtung cm aus einfachen Schaltern bestehen, oder aus einer Einrichtung, die auf der Grundlage der am Eingang anstehenden Fehlerdaten jegliche Fehler in den Benutzerdaten erkennt und korrigiert, oder einer Einrichtung, die so ausgebildet ist, daß auf der Grundlage der Fehlerdaten am Eingang spezifische Fehler korrigiert werden, die beim vorausgehenden Schreiben der Benutzerdaten aufgetreten sind.
- Natürlich muß die Einrichtung cm diese Operationen nur dann bereitstellen, wenn zu der Adresse gehörige Fehlerdaten in der Speichereinrichtung EM aufgefunden werden. Erreichen läßt sich dies z. B. dadurch, daß die Einrichtung EM ein Steuersignal generiert, welches der Einrichtung cm signalisiert, ob die Fehlerdaten vorhanden sind oder nicht, oder; falls keine Fehlerdaten vorhanden sind, die Kombination aus den Eingangsdaten mittels der Einrichtung cm ein Ergebnis in Form unveränderter Benutzerdaten liefern läßt. Ein mathematisches Beispiel wäre: die Summe von "Nullen" jeder Zahl ergibt immer die gleiche Zahl.
- Im folgenden werden vier verschiedene mögliche detaillierte Blockdiagramme der Vorrichtung nach Fig. 1 diskutiert, jeweils beschränkt auf die von dem Schreibvorgang betroffenen Blöcke.
- Gemäß Fig. 3 zeigt das erste Diagramm die erste Speichereinrichtung DM und die zweite Speichereinrichtung EM. Beide sind an den Adresseneingang AI und den Dateneingang DI angeschlossen, wobei erstere auch noch einen Lese/ Schreib-Steuereingang R/W und letztere ein Schreibfreigabesignal W-EN aufweist. Der Dateneingang DI und der Ausgang der Einrichtung DM sind mit den Eingängen der Prüfeinrichtung VM verbunden, die so ausgebildet ist, daß sie in der Schreibphase ein Prüfsignal generiert, welches dem Vergleich zwischen den Daten an ihrem Eingang entspricht. Dieses Prüfsignal wird an den Eingang W-EN der Einrichtung EM gesendet.
- Mit diesem Aufbau erfolgt das Einschreiben der Fehlerdaten in die Einrichtung EM nur dann, wenn beim Einschreiben der Benutzerdaten in die Speichereinrichtung DM ein Fehler aufgetreten ist. Bei dem Beispiel nach Fig. 3 werden die Benutzerdaten in der Einrichtung EM abgespeichert, nachdem ein Fehler aufgefunden wurde. Alternativ können die Benutzerdaten gleichzeitig in der Einrichtung DM und der Einrichtung EM gespeichert werden, und falls kein Fehler aufgefunden wird, werden die Fehlerdaten aus der Einrichtung EM gelöscht. Das Prüfsignal allerdings wird an einen Löschsteuereingang der Einrichtung EM gelegt, der in Fig. 3 nicht gezeigt ist.
- Bezugnehmend auf Fig. 4 ist das zweite Diagramm das gleiche wie das obige, nur daß der Dateneingang DI nicht direkt an die Einrichtung EM angeschlossen ist, sondern über einen ersten Codierer COD1. Dieser Codierer ist in der Lage, Fehlerdaten in der Weise zu erzeugen, daß sie der Codierung der Benutzerdaten entsprechen, was mit Hilfe eines Algorithmus' geschieht, der in der Lage ist, eine vorbestimmte Anzahl von Fehlern zu erkennen und zu korrigieren.
- Bezüglich einer guten Diskussion dieses Codes und Algorithmus kann Bezug genommen werden auf das Buch von Jiri Adamek "FOUNDATIONS OF CODING", John Wiley & Sons, 1991.
- Auch für dieses Diagramm gelten die für das Diagramm nach Fig. 3 gemachten Anmerkungen. Außerdem läßt sich auch das Prüfsignal an einen in Fig. 4 nicht gezeigten Betriebsfreigabeeingang des Codierers COD1 legen. Auf diese Weise erfolgt das Erzeugen der Fehlerdaten nur im Fall eines Schreibfehlers.
- Gemäß Fig. 5 ist das dritte Diagramm mit dem zweiten Diagramm identisch, nur daß einer der Eingänge der Prüfeinrichtung VM an den Ausgang des Codierers COP1 anstatt an den Dateneingang DI angeschlossen ist. In diesem Fall findet die Erzeugung der Fehlerdaten unabhängig von irgendwelchen Schreibfehlern statt. Die Prüfeinrichtung enthält eine komplexere Schaltung, als sie in den obigen Diagrammen notwendig ist, und tatsächlich ist dies deshalb notwendig, damit das Vorhandensein von Datenfehlern am Ausgang der Einrichtung DM unter Verwendung eines Algorithmus erkennbar ist, der dem in dem Codierer COD1 verwendeten Algorithmus entspricht.
- Gemäß Fig. 6 unterscheidet sich das vierte Diagramm etwas von den oben diskutierten Diagrammen. Es zeigt die erste Speichereinrichtung DM und die zweite Speichereinrichtung EM. Beide sind an den Adresseneingang AI angeschlossen, während nur erstere an den Dateneingang DI angeschlossen ist und außerdem einen Eingang R/W zur Lese/Schreib-Steuerung aufweist, während letztere einen Eingang für ein Schreibfreigabesignal W-EN und einen Dateneingang aufweist. Der Dateneingang DI und der Ausgang der Einrichtung DM sind mit den Eingängen der Prüfeinrichtung VM verbunden, die so ausgebildet ist, daß sie in der Schreibphase ein Prüfsignal entsprechend dem Vergleich zwischen den Daten an ihren Eingängen erzeugt. Insbesondere besteht das Prüfsignal in diesem Fall aus einem Differenzsignal, welches an einen zweiten Codierer COD2 gegeben wird, und einem Ausgangssignal, welches an eine Schreiblogik WL gegeben wird. Das Ausgangssignal des Codierers COD2 gelangt an den Dateneingang der Einrichtung EM, während das Ausgangssignal der Schreiblogik WL an den Eingang W- EN der Einrichtung EM gesendet wird.
- Das Differenzsignal entspricht der Differenz zwischen den digitalen Daten, die den an die Eingänge der Einrichtung VM gelegten Signalen entsprechen. Das Ausgangssignal entspricht dem Ergebnis des Vergleichs Gleichheit/Ungleichheit zwischen den digitalen Daten. Der Codierer COD2 ist dann in der Lage, die Fehlerdaten in der Weise zu generieren, daß sie der Codierung dieser Differenz entsprechen.
- Wie oben ausgeführt, findet die vorliegende Erfindung vorteilhaften Einsatz bei mehrstufigen Speichern. In diesem Fall kann die Speichereinrichtung EM vom mehrstufigen Typ sein, so wie die Einrichtung DM oder sie kann zur Erzielung höherer Zuverlässigkeit vom zweistufigen Typ sein.
- Weitere Vorteile werden dann erreicht, wenn die erste und die zweite Speichereinrichtung aus zwei Halbleiterspeicherzellen-Matrizen bestehen, insbesondere vom Typ EEPROM oder Flash-EPROM sind.
- Es ist normal, daß sogar die Speichereinrichtung EM Fehlern ausgesetzt ist, die sich direkt aus der Produktion ergeben, oder die während des normalen Betriebs auftreten. In zahlreichen Fällen lassen sich diese Fehler angesichts der geringen Größe der Einrichtung hinnehmen, damit auch der begrenzte Einfluß auf die Produktivität oder Fehler während des Betriebs. Wenn dies aus irgendeinem Grund nicht akzeptabel ist, kann man daran denken, für die Speichereinrichtung EM Redundanz zu schaffen oder für sie eine bekannte Fehlerkorrekturmaßnahme oder eine Fehlerkorrektureinrichtung gemäß der Erfindung vorzusehen.
- Um einen solchen Typ von Speichervorrichtung verwenden zu können, ist es notwendig, speziell daran angepaßte Lese-, Schreib- und Löschverfahren zu verwenden.
- Das Verfahren zum Lesen von korrigierten Benutzerdaten durch eine Speichervorrichtung des Typs mit einer ersten Speichereinrichtung DM zur Aufnahme von Benutzerdaten, auf die mittels Adresse zugegriffen wird, und einer zweiten Speichereinrichtung EM zur Aufnahme von Fehlerdaten bezüglich der Benutzerdaten und ausgebildet für den Zugriff über den Inhalt, beinhaltet folgende Phasen:
- a) An die Vorrichtung wird eine Leseadresse gesendet, die den zu lesenden Benutzerdaten entspricht,
- b) mit Hilfe der Leseadresse wird Zugriff auf die in den ersten Speichereinrichtung DM adressierten Benutzerdaten genommen,
- c) mit Hilfe des Inhalts der Leseadresse wird Zugriff auf mögliche Fehlerdaten in der zweiten Speichereinrichtung EM genommen, und
- d) die adressierten Benutzerdaten und mögliche Fehlerdaten werden kombiniert, um die korrigierten Benutzerdaten zu erhalten.
- Gibt es keine Fehlerdaten, die der Leseadresse entsprechen, so entsprechen die korrigierten Daten den adressierten Daten, und die Phase d) hat keine Auswirkung.
- Ein erfindungsgemäßes Verfahren zum Schreiben korrigierter Benutzerdaten in eine Speichervorrichtung mit einer ersten Speichereinrichtung DM zur Aufnahme von Benutzerdaten und ausgebildet für den Zugriff mittels Adresse, und mit einer zweiten Speichereinrichtung EM zur Aufnahme von Fehlerdaten bezüglich der Benutzerdaten und ausgebildet für den Zugriff mittels Inhalt enthält folgende Phasen:
- a) an die Vorrichtung wird eine Schreibadresse gesendet,
- b) an die Vorrichtung werden zu speichernde Benutzerdaten gesendet,
- c) die zu speichernden Benutzerdaten werden in der ersten Speichereinrichtung DM an einer Stelle eingeschrieben, die der Schreibadresse entspricht,
- d) mit Hilfe der Schreibadresse wird auf die Benutzerdaten Zugriff genommen, die in der ersten Speichereinrichtung DM adressiert sind,
- e) es wird die Gleichheit der zu speichernden Benutzerdaten und der adressierten Benutzerdaten geprüft, und im Fall eines Nicht- Bestehens der Prüfung
- e1) werden Fehlerdaten generiert, mit denen Fehler in den adressierten Benutzerdaten korrigierbar sind, und
- e2) werden die generierten Fehlerdaten in der zweiten Speichereinrichtung EM eingeschrieben und für den Zugriff der Schreibadresse zugeordnet, dadurch gekennzeichnet, daß der Zugriff ein Lesen-nach-Schreiben-Zugriff ist, der während der Schreibphase ausgeführt wird, um festzustellen, ob irgendwelche Fehler beim Schreiben der zu speichernden Benutzerdaten in der ersten Speichereinrichtung aufgetreten sind.
- Aufgrund ihrer Einfachheit besteht eine vorteilhafte Wahl darin, daß dann, wenn die generierten Fehlerdaten den zu speichernden Benutzerdaten entsprechen, die Phase e1) keine Wirkung hat.
- Von Bedeutung ist eventuell - insbesondere im Fall von intermittierend auftretenden Fehlern - die Möglichkeit, die Speicherzellen der zweiten Speichereinrichtung EM dann erneut zu verwenden, wenn sie zur Speicherung von Fehlerdaten für eine gewisse Adresse der Einrichtung DM nicht mehr benötigt werden. Dies geschieht dann, wenn die Zellen der ersten Einrichtung DM, die der gewissen Adresse entsprechen, zunächst Schreibfehler gezeigt und später wieder den korrekten Betrieb aufgenommen haben.
- Die Lösung dieses Problems kann darin bestehen, daß bei Bestehen der Gleichheitsprüfung jegliche Fehlerdaten, die zu der Schreibadresse gehören, aus der zweiten Einrichtung EM gelöscht werden. Das Löschen erfolgt somit wirklich nur in dem Fall, oder es erfolgt ein Neueinschreiben in solche Zellen, die zuvor Ursache für Schreibfehler waren.
- Dieses Löschen könnte in sehr einfacher Weise z. B. dadurch geschehen, daß man die Fehlerdaten als "gelöscht" markiert, anstatt sie tatsächlich physisch zu löschen.
- Ein zweites Schreibverfahren gemäß der Erfindung als Alternative zu dem oben diskutierten Verfahren, jedoch mit diesem in seinem wesentlichen Bestandteil identisch, könnte dann eingesetzt werden, wenn es bevorzugt ist, die Schreiboperationen der Benutzerdaten in der ersten Speichereinrichtung DM und der Fehlerdaten in der zweiten Speichereinrichtung EM zu parallelisieren.
- Es enthält die folgenden Phasen:
- a) Senden einer Schreibadresse an die Vorrichtung,
- b) Senden von zu speichernden Benutzerdaten an die Vorrichtung,
- c) Schreiben der zu speichernden Benutzerdaten in die erste Speichereinrichtung DM an einer Stelle, die der Schreibadresse entspricht,
- d) - mit Hilfe der Schreibadresse - Zugreifen auf die in der ersten Speichereinrichtung DM adressierten Benutzerdaten,
- e) Erzeugen von Fehlerdaten, mit denen Fehler in den adressierten Benutzerdaten korrigierbar sind,
- f) Schreiben der Fehlerdaten in die zweite Speichereinrichtung EM und Zuordnung der Schreibadresse zu den Fehlerdaten zwecks Zugriff,
- g) - während der Schreibphase - Prüfen der Gleichheit der zu speichernden Benutzerdaten und der adressierten Benutzerdaten,
- dadurch gekennzeichnet, daß
- h) falls die Prüfung erfolgreich ist, Löschen der zu der Schreibadresse gehörigen Fehlerdaten aus der zweiten Speichereinrichtung EM.
- Die beiden oben diskutierten Schreibverfahren beziehen sich auf generelle Benutzerdaten. Versteht man - wie oben angegeben - den Begriff "Schreiben" in einem umfangreichen Sinn, so können die Verfahren auch als Löschverfahren bezeichnet werden, nämlich dann, wenn die Löschoperation gedacht wird als ein Schreiben eines vorbestimmten Datenwerts, welches für sämtliche Zellen oder Wörter gleich ist.
- Aufgrund dieser Betrachtung könnten die Verfahren auch dazu dienen, das Problem der "Bit-Verarmung" während dem Löschen von Flash- EPROM-Speichern zu überwinden. Wenn nach einem normalen Total- Löschvorgang eines Bauelements oder eines Sektors eines solchen Speichers gesehen wird, das aus irgendeinem Grund einige wenige Zellen nicht gelöscht sind (d. h. wenn sie nicht die gewünschten Daten enthalten) kann man, anstatt die Gesamtlöschung des Speichers fortzusetzen, durch Anwenden der vorliegenden Verfahren Fehlerdaten erzeugen und in die Einrichtung EM einschreiben. Auf diese Weise wird das mögliche Löschen der übrigen Zellen verhindert.
- Häufig bezieht sich jedoch die Löschoperation lediglich darauf, eine "gelöschte" Zelle zu bilden.
- Das erfindungsgemäße Verfahren zum Löschen (im allgemeinsten Sinn des Begriffs) von Benutzerdaten in einer Speichervorrichtung mit einer ersten Speichereinrichtung DM zur Aufnahme von Benutzerdaten und Zugriff mittels Adresse, und mit einer zweiten Speichereinrichtung EM zur Aufnahme von Fehlerdaten betreffend die Benutzerdaten, ausgebildet für den Zugriff mittels Inhalt, beinhaltet die folgenden Phasen:
- a) Senden einer Löschadresse an die Vorrichtung,
- b) Löschen von Benutzerdaten aus der ersten Speichereinrichtung DM an einer Stelle, die der Löschadresse entspricht, gekennzeichnet durch das
- c) Löschen aus der zweiten Speichereinrichtung EM jeglicher zugehöriger Fehlerdaten für den Zugriff auf die Löschadresse.
- Im allgemeinen besitzen nicht sämtliche Bauelemente die Löschfunktion, häufiger werden die Speicherzellen neu beschrieben. In diesem Fall ist die Prozedur zur Wiederverwendung der Zellen des zweiten Speichers EM die oben diskutierte.
Claims (14)
1. Speichervorrichtung mit Fehlerprüf- und -Korrekturfunktion, mit
einem Dateneingang (DI), einem Datenausgang (DO) und einem
Adresseneingang (AI), typgemäß umfassend:
a) eine erste Speichereinrichtung (DM), ausgebildet für den
Zugriff mittels einer Adresse, um Benutzerdaten aufzunehmen,
b) eine zweite Speichereinrichtung (EM) zur Aufnahme von
Fehlerdaten, die die Benutzerdaten betreffen,
c) eine Steuerlogik (CL), ausgebildet, um in der Schreibphase von
dem Adresseneingang (AI) und dem Dateneingang (DI) eine
Schreibadresse bzw. Benutzerdaten zu empfangen und
Fehlerdaten zu generieren, um die Benutzerdaten und die
Fehlerdaten in die erste (DM) bzw. die zweite (EM)
Speichereinrichtung einzuschreiben, ferner ausgebildet, um in
der Lesephase von dem Adresseneingang (AI) eine Leseradresse
zu empfangen und entsprechende Benutzerdaten und
Fehlerdaten zu holen und sie zwecks Korrektur möglicher
Fehler zu kombinieren und sie dem Datenausgang (DO)
zuzuleiten, wobei die zweite Speichereinrichtung (EM) so
ausgebildet ist, daß auf sie mit Hilfe von Inhalt zugreifbar ist,
wobei dieser Inhalt für den Zugriff den Adressen der ersten
Speichereinrichtung (DM) entspricht, für die Fehlerdaten
gespeichert sind, wobei die Steuerlogik eine Prüfeinrichtung
(VM) enthält, die mit einem ersten Eingang an den Ausgang
der ersten Speichereinrichtung (DM) gekoppelt ist, um aus der
ersten Speichereinrichtung ausgelesene Daten zu empfangen,
dadurch gekennzeichnet,
daß die Prüfeinrichtung außerdem einen zweiten, mit dem
Dateneingang (DI) gekoppelten Eingang besitzt und derart
strukturiert ist, daß sie während der Schreibphase aus derjenigen
Speicherstelle in der ersten Speichereinrichtung gelesene Daten
empfängt, in die gerade eingeschrieben wurde, um die aus dieser
Speicherstelle gelesenen Daten mit den in diese Speicherstelle
eingeschriebenen Benutzerdaten zu vergleichen und auf der
Grundlage des Vergleichs ein Prüfsignal zu erzeugen.
2. Vorrichtung nach Anspruch 1, bei der das Prüfsignal das Schreiben
der zweiten Speichereinrichtung (EM) freigibt, wenn beim
Schreiben der Benutzerdaten in die erste Speichereinrichtung (DM)
ein Fehler auftritt.
3. Vorrichtung nach Anspruch 2, bei der das Prüfsignal außerdem die
Erzeugung der Fehlerdaten in der Schreibphase freigibt.
4. Vorrichtung nach Anspruch 1, bei der das Prüfsignal das Löschen
der Fehlerdaten aus der zweiten Speichereinrichtung (EM) freigibt,
wenn beim Schreiben der Benutzerdaten in die erste
Speichereinrichtung (DM) kein Fehler auftritt.
5. Vorrichtung nach Anspruch 1, bei der die Fehlerdaten den
Benutzerdaten entsprechen.
6. Vorrichtung nach Anspruch 1, umfassend einen Codierer (COD1),
ausgebildet zum Erzeugen der Fehlerdaten in der Weise, daß diese
der Codierung der Benutzerdaten mittels eines Algorithmus
entsprechen, der in der Lage ist, eine vorbestimmte Anzahl von
Fehlern zu erkennen und zu codieren.
7. Vorrichtung nach Anspruch 1, weiterhin umfassend einen Codierer
(COD2), ausgebildet zum Erzeugen der Fehlerdaten in der Weise,
daß diese der Codierung der Differenz zwischen den Benutzerdaten
und den aus der Speicherstelle der ersten Speichereinrichtung (DM)
gelesenen Daten entsprechen.
8. Vorrichtung nach Anspruch 1, bei der die erste Speichereinrichtung
(DM) vom mehrstufigen Typ und die zweite Speichereinrichtung
(EM) vom zweistufigen Typ ist.
9. Vorrichtung nach Anspruch 1, bei der die erste (DM) und die
zweite (EM) Speichereinrichtung aus einer ersten bzw. einer
zweiten Halbleiterspeicherzellen-Matrix vom EEPROM-Typ oder
vom Flash-EPROM-Typ bestehen.
10. Verfahren zum Schreiben korrigierter Benutzerdaten in eine
Speichervorrichtung des Typs mit einer ersten Speichereinrichtung
(DM) zur Aufnahme von Benutzerdaten, auf die mittels Adresse
zugegriffen wird, und einer zweiten Speichereinrichtung (EM) zur
Aufnahme von Fehlerdaten, welche die Benutzerdaten betreffen,
ausgebildet für den Zugriff über den Inhalt, umfassend folgende
Phasen:
a) Senden einer Schreibadresse an die Vorrichtung,
b) Senden von zu speichernden Benutzerdaten an die Vorrichtung,
c) Schreiben der zu speichernden Benutzerdaten in die erste
Speichereinrichtung (DM) an einer Stelle, die der
Schreibadresse entspricht,
d) - mit Hilfe der Schreibadresse - Zugreifen auf Benutzerdaten,
die in der ersten Speichereinrichtung (DM) adressiert werden,
e) Prüfen der Identität der zu speichernden Benutzerdaten und der
adressierten Benutzerdaten, um im Fall eines Nicht-bestehens
der Prüfung:
e1) Fehlerdaten zu generieren, mit deren Hilfe Fehler in den
adressierten Benutzerdaten korrigierbar sind, und
e2) die generieren Fehlerdaten in die zweite Speichereinrichtung
(EM) einzuschreiben und sie für den Zugriff der Schreibadresse
zuzuordnen,
dadurch gekennzeichnet,
daß der Zugriff ein Lesen-nach-Schreiben-Zugriff ist, der
während der Schreibphase ausgeführt wird, um festzustellen, ob
beim Schreiben der zu speichernden Benutzerdaten in die erste
Speichereinrichtung irgendwelche Fehler aufgetreten sind.
11. Schreibverfahren nach Anspruch 10, bei dem die erzeugten
Fehlerdaten den zu speichernden Benutzerdaten entsprechen und die
Phase e1) keine Wirkung hat.
12. Schreibverfahren nach Anspruch 10, bei dem im Fall des Bestehens
der Prüfung aus der zweiten Einrichtung (EM) jegliche Fehlerdaten
gelöscht werden, die zu der Schreibadresse gehören.
13. Verfahren zum Schreiben korrigierter Benutzerdaten in eine
Speichervorrichtung des Typs, der eine erste Speichereinrichtung
(DM) zur Aufnahme von Benutzerdaten, auf die mittels Adresse
zugegriffen wird, und eine zweite Speichereinrichtung (EM) zur
Aufnahme von Fehlerdaten betreffend die Benutzerdaten,
ausgebildet für den Zugriff mittels Inhalt, enthält, umfassend
folgende Phasen:
a) Senden einer Schreibadresse an die Vorrichtung,
b) Senden von zu speichernden Benutzerdaten an die Vorrichtung,
c) Schreiben der zu speichernden Benutzerdaten in die erste
Speichereinrichtung (DM) an einer Stelle, die der
Schreibadresse entspricht,
d) - mit Hilfe der Schreibadresse - Zugreifen auf die in der ersten
Speichereinrichtung (DM) adressierten Benutzerdaten,
e) Erzeugen von Fehlerdaten, mit denen Fehler in den adressierten
Benutzerdaten korrigierbar sind,
f) Schreiben der Fehlerdaten in die zweite Speichereinrichtung
(EM) und Zuordnung der Schreibadresse zu den Fehlerdaten
zwecks Zugriff,
g) - während der Schreibphase - Prüfen der Gleichheit der zu
speichernden Benutzerdaten und der adressierten Benutzerdaten,
dadurch gekennzeichnet, daß
h) falls die Prüfung erfolgreich ist, Löschen der zu der
Schreibadresse gehörigen Fehlerdaten aus der zweiten
Speichereinrichtung (EM).
14. Verfahren zum Löschen von Benutzerdaten in einer
Speichervorrichtung des Typs mit einer ersten Speichereinrichtung
(DM) zur Aufnahme von Benutzerdaten, auf die mittels Adresse
zugegriffen wird, und einer zweiten Speichereinrichtung (EM) zur
Aufnahme von Fehlerdaten betreffend die Benutzerdaten,
ausgebildet für den Zugriff über den Inhalt, umfassend die
folgenden Phasen:
a) Senden einer Löschadresse an die Vorrichtung,
b) Löschen von Benutzerdaten aus der ersten Speichereinrichtung
(DM) an einer Stelle, die der Löschadresse entspricht,
gekennzeichnet durch das
c) Löschen aus der zweiten Speichereinrichtung (EM) jeglicher
zugehöriger Fehlerdaten für den Zugriff auf die Löschadresse.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP94830471A EP0704854B1 (de) | 1994-09-30 | 1994-09-30 | Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69421925D1 DE69421925D1 (de) | 2000-01-05 |
DE69421925T2 true DE69421925T2 (de) | 2000-03-16 |
Family
ID=8218548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69421925T Expired - Fee Related DE69421925T2 (de) | 1994-09-30 | 1994-09-30 | Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts |
Country Status (4)
Country | Link |
---|---|
US (1) | US5761222A (de) |
EP (1) | EP0704854B1 (de) |
JP (1) | JP3704184B2 (de) |
DE (1) | DE69421925T2 (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6857099B1 (en) * | 1996-09-18 | 2005-02-15 | Nippon Steel Corporation | Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program |
US5859858A (en) * | 1996-10-25 | 1999-01-12 | Intel Corporation | Method and apparatus for correcting a multilevel cell memory by using error locating codes |
US6212654B1 (en) | 1997-07-22 | 2001-04-03 | Lucent Technologies Inc. | Coded modulation for digital storage in analog memory devices |
KR100333720B1 (ko) * | 1998-06-30 | 2002-06-20 | 박종섭 | 강유전체메모리소자의리던던시회로 |
EP1153395A4 (de) * | 1998-12-30 | 2002-04-17 | Intel Corp | Organisation eines speicherbausteins |
US6647151B1 (en) * | 1999-08-18 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Coalescence of device independent bitmaps for artifact avoidance |
US6532556B1 (en) | 2000-01-27 | 2003-03-11 | Multi Level Memory Technology | Data management for multi-bit-per-cell memories |
US6466476B1 (en) | 2001-01-18 | 2002-10-15 | Multi Level Memory Technology | Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell |
US6700827B2 (en) | 2001-02-08 | 2004-03-02 | Integrated Device Technology, Inc. | Cam circuit with error correction |
US7630237B2 (en) | 2003-02-06 | 2009-12-08 | Sandisk Corporation | System and method for programming cells in non-volatile integrated memory devices |
US6987684B1 (en) | 2003-07-15 | 2006-01-17 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having multi-block error detection logic and entry selective error correction logic therein |
US7193876B1 (en) | 2003-07-15 | 2007-03-20 | Kee Park | Content addressable memory (CAM) arrays having memory cells therein with different susceptibilities to soft errors |
US6870749B1 (en) | 2003-07-15 | 2005-03-22 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices with dual-function check bit cells that support column redundancy and check bit cells with reduced susceptibility to soft errors |
US7304875B1 (en) | 2003-12-17 | 2007-12-04 | Integrated Device Technology. Inc. | Content addressable memory (CAM) devices that support background BIST and BISR operations and methods of operating same |
US6888758B1 (en) | 2004-01-21 | 2005-05-03 | Sandisk Corporation | Programming non-volatile memory |
US7372730B2 (en) * | 2004-01-26 | 2008-05-13 | Sandisk Corporation | Method of reading NAND memory to compensate for coupling between storage elements |
US7139198B2 (en) * | 2004-01-27 | 2006-11-21 | Sandisk Corporation | Efficient verification for coarse/fine programming of non-volatile memory |
US7002843B2 (en) * | 2004-01-27 | 2006-02-21 | Sandisk Corporation | Variable current sinking for coarse/fine programming of non-volatile memory |
US7068539B2 (en) * | 2004-01-27 | 2006-06-27 | Sandisk Corporation | Charge packet metering for coarse/fine programming of non-volatile memory |
US7020026B2 (en) * | 2004-05-05 | 2006-03-28 | Sandisk Corporation | Bitline governed approach for program control of non-volatile memory |
US7023733B2 (en) * | 2004-05-05 | 2006-04-04 | Sandisk Corporation | Boosting to control programming of non-volatile memory |
US7099221B2 (en) * | 2004-05-06 | 2006-08-29 | Micron Technology, Inc. | Memory controller method and system compensating for memory cell data losses |
US20060010339A1 (en) * | 2004-06-24 | 2006-01-12 | Klein Dean A | Memory system and method having selective ECC during low power refresh |
US7340668B2 (en) * | 2004-06-25 | 2008-03-04 | Micron Technology, Inc. | Low power cost-effective ECC memory system and method |
US7116602B2 (en) * | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US6965537B1 (en) | 2004-08-31 | 2005-11-15 | Micron Technology, Inc. | Memory system and method using ECC to achieve low power refresh |
US7092290B2 (en) * | 2004-11-16 | 2006-08-15 | Sandisk Corporation | High speed programming system with reduced over programming |
US7173859B2 (en) * | 2004-11-16 | 2007-02-06 | Sandisk Corporation | Faster programming of higher level states in multi-level cell flash memory |
US7339834B2 (en) * | 2005-06-03 | 2008-03-04 | Sandisk Corporation | Starting program voltage shift with cycling of non-volatile memory |
US7286406B2 (en) * | 2005-10-14 | 2007-10-23 | Sandisk Corporation | Method for controlled programming of non-volatile memory exhibiting bit line coupling |
US7206235B1 (en) | 2005-10-14 | 2007-04-17 | Sandisk Corporation | Apparatus for controlled programming of non-volatile memory exhibiting bit line coupling |
KR101012130B1 (ko) | 2006-04-12 | 2011-02-07 | 샌디스크 코포레이션 | 프로그램 혼란의 영향을 감소시키는 방법 |
US7489549B2 (en) * | 2006-06-22 | 2009-02-10 | Sandisk Corporation | System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
US7486561B2 (en) * | 2006-06-22 | 2009-02-03 | Sandisk Corporation | Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
US7450426B2 (en) * | 2006-10-10 | 2008-11-11 | Sandisk Corporation | Systems utilizing variable program voltage increment values in non-volatile memory program operations |
US7474561B2 (en) * | 2006-10-10 | 2009-01-06 | Sandisk Corporation | Variable program voltage increment values in non-volatile memory program operations |
US7894289B2 (en) | 2006-10-11 | 2011-02-22 | Micron Technology, Inc. | Memory system and method using partial ECC to achieve low power refresh and fast access to data |
US7900120B2 (en) | 2006-10-18 | 2011-03-01 | Micron Technology, Inc. | Memory system and method using ECC with flag bit to identify modified data |
US7551482B2 (en) * | 2006-12-27 | 2009-06-23 | Sandisk Corporation | Method for programming with initial programming voltage based on trial |
US7570520B2 (en) * | 2006-12-27 | 2009-08-04 | Sandisk Corporation | Non-volatile storage system with initial programming voltage based on trial |
US8365044B2 (en) * | 2007-04-23 | 2013-01-29 | Agere Systems Inc. | Memory device with error correction based on automatic logic inversion |
US7599224B2 (en) * | 2007-07-03 | 2009-10-06 | Sandisk Corporation | Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing |
US7508715B2 (en) * | 2007-07-03 | 2009-03-24 | Sandisk Corporation | Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing |
US9373362B2 (en) * | 2007-08-14 | 2016-06-21 | Dell Products L.P. | System and method for implementing a memory defect map |
US7949913B2 (en) | 2007-08-14 | 2011-05-24 | Dell Products L.P. | Method for creating a memory defect map and optimizing performance using the memory defect map |
US7945815B2 (en) | 2007-08-14 | 2011-05-17 | Dell Products L.P. | System and method for managing memory errors in an information handling system |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US8553441B1 (en) | 2010-08-31 | 2013-10-08 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell having two transistor pull-down stack |
US8582338B1 (en) | 2010-08-31 | 2013-11-12 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell having single transistor pull-down stack |
US8625320B1 (en) | 2010-08-31 | 2014-01-07 | Netlogic Microsystems, Inc. | Quaternary content addressable memory cell having one transistor pull-down stack |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8773880B2 (en) | 2011-06-23 | 2014-07-08 | Netlogic Microsystems, Inc. | Content addressable memory array having virtual ground nodes |
US8837188B1 (en) | 2011-06-23 | 2014-09-16 | Netlogic Microsystems, Inc. | Content addressable memory row having virtual ground and charge sharing |
US8724408B2 (en) | 2011-11-29 | 2014-05-13 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing and assembling memory modules |
US9117552B2 (en) | 2012-08-28 | 2015-08-25 | Kingtiger Technology(Canada), Inc. | Systems and methods for testing memory |
US10387251B2 (en) * | 2017-07-17 | 2019-08-20 | Cisco Technology, Inc. | Error detection and correction in a content-addressable memory using single-bit position lookup operations |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058851A (en) * | 1976-10-18 | 1977-11-15 | Sperry Rand Corporation | Conditional bypass of error correction for dual memory access time selection |
IT1089225B (it) * | 1977-12-23 | 1985-06-18 | Honeywell Inf Systems | Memoria con dispositivo rivelatore e correttore a intervento selettivo |
US4334309A (en) * | 1980-06-30 | 1982-06-08 | International Business Machines Corporation | Error correcting code system |
US4654847A (en) * | 1984-12-28 | 1987-03-31 | International Business Machines | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array |
JPH04177700A (ja) * | 1990-11-13 | 1992-06-24 | Toshiba Corp | メモリ不良解析装置 |
-
1994
- 1994-09-30 DE DE69421925T patent/DE69421925T2/de not_active Expired - Fee Related
- 1994-09-30 EP EP94830471A patent/EP0704854B1/de not_active Expired - Lifetime
-
1995
- 1995-09-29 JP JP25404695A patent/JP3704184B2/ja not_active Expired - Fee Related
- 1995-10-02 US US08/538,161 patent/US5761222A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0704854A1 (de) | 1996-04-03 |
JP3704184B2 (ja) | 2005-10-05 |
EP0704854B1 (de) | 1999-12-01 |
JPH08123737A (ja) | 1996-05-17 |
US5761222A (en) | 1998-06-02 |
DE69421925D1 (de) | 2000-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69421925T2 (de) | Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts | |
DE69502169T2 (de) | Verfahren zum Einschreiben von Daten in einen Speicher und entsprechender elektrisch-programmierbarer Speicher | |
DE2746805C2 (de) | Hauptspeicher mit einem die Adressen defekter Speicherplätze des Hauptspeichers speichernden Assoziativspeicher | |
DE19782077B4 (de) | Verfahren und Vorrichtung zum Korrigieren eines Mehrpegelzellenspeichers durch Verwendung fehlerlokalisierender Codes | |
DE2817431C2 (de) | Speichereinrichtung mit auf Durchspeichern(store thru) beruhender Speicherhierarchie mit Teilspeicherung | |
DE2551239C3 (de) | Datenverarbeitungsanlage | |
DE19839680B4 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
DE69517649T2 (de) | Halbleiterplattenvorrichtung mit konstanter Dateneinschreibzeitperiode | |
EP0067364B1 (de) | Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung | |
DE1901806A1 (de) | Schaltungsanordnung zur Kompensation schadhafter Speicherzellen in Datenspeichern | |
DE2151472A1 (de) | Mikroprogrammspeicher fuer Elektronenrechner | |
EP1008993B1 (de) | Schreib/Lesespeicher mit Selbsttestvorrichtung und zugehöriges Testverfahren | |
DE1524788C3 (de) | Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern | |
DE60037004T2 (de) | Aufzeichnungsmedium mit schreibgeschützter defektliste | |
DE1906940A1 (de) | Speicher mit Redundanz | |
DE2513262C3 (de) | Digitale Codeumwandlungsanordnung | |
DE19931184A1 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
EP0615211A1 (de) | Verfahren zum Speichern sicherheitsrelevanter Daten | |
DE102006009214B4 (de) | Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers | |
DE69032844T2 (de) | Halbleiterspeicher mit Einrichtung zum Ersetzen defekter Speicherzellen | |
EP0902924B1 (de) | Redundanzspeichervorrichtung mit rom-speicherzellen | |
DE10252059B3 (de) | Verfahren zum Betreiben einer Speicheranordnung | |
WO2007071590A1 (de) | Verfahren zur erkennung einer versorgungsunterbrechung in einem datenspeicher und zur wiederherstellung des datenspeichers | |
EP1125202A1 (de) | Speichereinrichtung zum speichern von daten und verfahren zum betreiben von speichereinrichtungen zum speichern von daten | |
DE2641727A1 (de) | Verfahren und anordnung zur ermittlung von fehlern in einer speichervorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |