[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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äts

Info

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
Application number
DE69421925T
Other languages
English (en)
Other versions
DE69421925D1 (de
Inventor
Livio Baldi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SRL filed Critical STMicroelectronics SRL
Application granted granted Critical
Publication of DE69421925D1 publication Critical patent/DE69421925D1/de
Publication of DE69421925T2 publication Critical patent/DE69421925T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking 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.
DE69421925T 1994-09-30 1994-09-30 Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts Expired - Fee Related DE69421925T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 メモリ不良解析装置

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