DE19531683A1 - Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers - Google Patents
Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-SpeichersInfo
- Publication number
- DE19531683A1 DE19531683A1 DE19531683A DE19531683A DE19531683A1 DE 19531683 A1 DE19531683 A1 DE 19531683A1 DE 19531683 A DE19531683 A DE 19531683A DE 19531683 A DE19531683 A DE 19531683A DE 19531683 A1 DE19531683 A1 DE 19531683A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- address
- read
- check mode
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Description
Die vorliegende Erfindung betrifft einen Flash-Speicher mit
Datenauffrischfunktion und ein Datenauffrischverfahren eines
Flash-Speichers, bei dem ein sich ändernder Wert nach Überprü
fung direkt nach Lesen oder Schreiben wiedergewonnen und kor
rigiert werden kann.
Fig. 7 ist ein Blockdiagramm eines Flash-Speichers des Standes
der Technik, offenbart in IEEE Journal Of Solid-State Circuits,
Vol. 23, No. 5 (Oktober 1988), S. 1157-1163.
Wie in Fig. 7 gezeigt, sind in der Umgebung einer Speichermatrix
1 ein Y-Gatter 2, ein Sourceleitungsschalter 3, ein X-Dekoder 4
und ein Y-Dekoder 5 vorgesehen. Ein Adressregister 6 ist mit
dem X-Dekoder 4 und dem Y-Dekoder 5 verbunden, und von außen
eingegebene Adreßsignale werden in das Adressregister 6 einge
geben. Ein Dateneingangsregister (Schreibschaltung) 7 und ein
Leseverstärker 8 sind über das Y-Gatter 2 mit der Speichermatrix 1
verbunden. Das Dateneingangsregister 7 und der Leseverstärker
8 sind mit einem I/O Puffer 9 verbunden. In dem gezeigten Bei
spiel sind acht Eingangs/Ausgangsleitungen I/O0-I/O7 mit dem
I/O Puffer 9 verbunden. Eine Programmierspannungserzeugungs
schaltung 10 und eine Überprüfungsspannungserzeugungsschaltung
11 sind in dem Flash-Speicher vorgesehen, und jede der Erzeu
gungsschaltungen 10, 11 erzeugt Spannung mit einem Pegel von
Vcc, Vpp, die von außen angelegt sind, und legt sie an das
Y-Gatter 2, den Dekoder 4 oder ähnlichen an. Es sind auch ein
Befehlsregister 12 und ein Befehlsdekoder 13 in dem Flash-
Speicher vorgesehen, die durch von außen eingegebene Daten eine
Betriebsart einstellen. Weiterhin ist ein Signaleingangspuffer
14 vorgesehen, und Kontrollsignale WE (L-Aktiv), CE (L-Aktiv),
OE (L-Aktiv) werden von außen in den Signaleingangspuffer 14
eingegeben. Zusätzlich ist in Fig. 4 über jedem Kontrollsignal
ein Strich angeordnet, was klar anzeigt, daß es ein L-Aktiv
signal ist.
Fig. 8 ist eine Querschnittsansicht einer Speicherzelle
(Speichertransistor), die die Speichermatrix von Fig. 7 bildet.
Die Speicherzelle weist ein über einem Halbleitersubstrat 15
gebildetes schwebendes Gate 16, ein Steuergate 17 auf und einen
Source-Diffusionsbereich (im folgenden als "Source" bezeichnet)
und einen Drain-Diffusionsbereich (im folgenden als "Drain" be
zeichnet) 19, die selektiv in der Oberfläche des Halbleiter
substrats 15 gebildet sind.
Ein Oxidfilm 20 zwischen dem schwebenden Gate 16 und dem Halb
leitersubstrat 15 ist so dünn (ungefähr 100 Angström bzw.
10 nm), daß Elektronen unter Verwendung des Tunnelphänomens zum
schwebenden Gate 16 bewegt werden können.
Als nächstes wird der Betrieb der Speicherzelle beschrieben. Im
Programmierzustand (Schreibzustand der Information "0"), wird an
dem Drain 19 eine Programmierspannung von ungefähr 6,5V ange
legt, und eine Spannung Vpp (12V) wird an das Steuergate 17 an
gelegt, und Source 18 wird geerdet. Daher wird die Speicherzelle
eingeschaltet und ein Strom fließt. Dann ist ein Lawinendurch
bruch in der Nähe des Drains 19 erzeugt, und ein Elektron/posi
tives Lochpaar wird erzeugt. Die positiven Löcher fließen durch
das Halbleitersubstrat 15 zum Massepotential, und die Elek
tronen fließen in der Kanalrichtung in den Source 18. Jedoch
wird ein Teil der Elektronen durch das elektrische Feld
zwischen dem schwebenden Gate 16 und dem Drain 19 beschleunigt
und in das schwebende Gate 16 injiziert. Als ein Ergebnis er
höht sich die Einsatzspannung der Speicherzelle. Dieser Zustand
ist als Speichern der Information "0" definiert.
Andererseits wird Löschen in dem Zustand ausgeführt, in dem
Drain 19 geöffnet und das Steuergatter 17 geerdet und die Span
nung Vpp an Source 18 angelegt ist. Dann ist wegen dem elek
trischen Feld zwischen Source 18 und dem schwebenden Gate 16
das Tunnelphänomen erzeugt, und ein Entnehmen der Elektronen in
dem schwebenden Gate 16 tritt auf. Als ein Ergebnis sinkt die
Einsatzspannung der Speicherzelle. Dies ist als Speichern der
Information "1" definiert.
Fig. 9 ist ein Schaltungsdiagramm der Speichermatrix und ihrer
peripheren Schaltung in Fig. 7. Wie in Fig. 9 gezeigt, weist
die Speichermatrix in dem gezeigten Beispiel 32 Blöcke von BK1
bis BK32 auf, und jeder Block weist acht Datenblöcke von DB1
bis DB8 auf. In jedem Datenblock sind die Speicherzellen MC in
Matrixform angeordnet, und in Spalteneinheit sind die Drains
mit den Bitleitungen BL, jeweils (BL1-BL3), verbunden, und in
Zeileneinheit sind die Steuergatter mit den Wortleitungen WL,
jeweils (WL1-WL3), verbunden. Die Wortleitungen WL sind mit
einem X-Dekoder 4 verbunden, und die Bitleitungen BL sind über
Transistoren, an deren Gates jeweils die Ausgaben Y1-Y3 eines
Y-Dekoders 5 eingegeben werden und die die Y-Gatter 2 bilden,
mit einer I/O Leitung verbunden. Ein Leseverstärker 8 und ein
Dateneingangsregister 7 sind mit der I/O Leitung 27 verbunden,
und die Sources von allen Speicherzellen MC sind über eine
Sourceleitung 28 mit einem Sourceleitungsschalter 3 verbunden.
Als nächstes wird der Betrieb beschrieben. Zuerst wird die Be
schreibung in einem Beispiel ausgeführt, daß das Schreiben
(Programmieren) in Speicherzellen MC, umschlossen durch eine
gestrichelte Linie in Fig. 9, durchgeführt wird. Das
Dateneingangsregister 7 wird in Antwort auf von außen eingegebene Daten
aktiviert, und eine Programmierspannung wird an die I/O Leitung
27 angelegt. Zur gleichen Zeit bringt der Y-Dekoder 5, basierend
auf durch den X-Dekoder 4 und den Y-Dekoder 5 geholten Adress
signalen (nicht gezeigt), seine Ausgabe Y1 in einen aktiven Zu
stand, und das Y-Gatter 2, an das die Ausgabe Y1 angelegt ist,
wird eingeschaltet, und der X-Dekoder 4 wählt die Wortleitung
WL1 aus und legt an sie die Spannung Vpp an. Die Sourceleitung
28 wird durch den Sourceleitungsschalter 3 geerdet.
Dann fließt nur durch die eine Speicherzelle, die durch die ge
strichelte Linie in Fig. 9 umschlossen ist, Strom, und heiße
Elektronen werden erzeugt, und die Einsatzspannung wird hoch
und die Information "0" ist geschrieben.
Löschen wird wie folgt durchgeführt. Zuerst sind der X-Dekoder
4 und der Y-Dekoder 5 nicht aktiviert, und alle Speicherzellen
werden nicht ausgewählt gemacht. Das heißt, das Steuergatter
von jeder Speicherzelle ist geerdet und der Drain 19 ist ge
öffnet, und andererseits ist durch den Sourceleitungsschalter 3
an die Sourceleitung 28 eine hohe Spannung angelegt. Damit wird
die Einsatzspannung der Speicherzelle durch das Tunnelphänomen
niedriger geschoben, und die Information "1" ist geschrieben.
Da die Sourceleitung 28 in dem Chip oder in dem Block gemeinsam
ist, wird das Löschen von allen Speicherzellen MC in dem Chip
oder in dem Block gemeinsam durchgeführt.
Als nächstes wird eine Leseoperation beschrieben für den Fall,
der als ein Beispiel verwendet wird, daß das Lesen von den
Speicherzellen MC durchgeführt wird, die durch die gestrichelte
Linie in Fig. 9 umschlossen sind. Zuerst werden durch den Y-
Dekoder 5 und den X-Dekoder 4 die Adreßsignale dekodiert, und
das ausgewählte Y-Gatter 2 (Ausgabe Y1 ist angelegt) und die
Wortleitung WL1 wird "H" (Vcc). Dann ist die Sourceleitung 28
durch den Sourceleitungsschalter 3 geerdet. Wenn "0" in die
Speicherzelle MC geschrieben ist, da die Einsatzspannung hoch
ist, ist sogar wenn "H" an das Steuergate 17 der Speicherzelle
MC durch die Wortleitung WL1 angelegt ist die Spannung niedriger
als die Einsatzspannung der Speicherzelle, so daß die Speicher
zelle MC nicht angeschaltet wird und kein Strom von der Bit
leitung BL1 zu der Sourceleitung 28 fließt.
Andererseits wird, wenn die Speicherzelle gelöscht ist (in dem
Fall "1"), da die an das Steuergate 17 angelegte Spannung "H"
höher ist als die Einsatzspannung der Speicherzelle, die
Speicherzelle eingeschaltet und Strom fließt von der Bitleitung
BL1 zu der Sourceleitung 28.
Folglich stellt der Leseverstärker 8 fest, ob Strom über die
Speicherzelle MC fließt oder nicht, und damit werden die Lese
daten "1" oder "0" erhalten.
Wenn ein Wort durch mehrere Bits gebildet ist, wird in dem
aktuellen Lesebetrieb eine Leseadresse zugewiesen, und damit
werden Daten von mehreren Bits gleichzeitig ausgelesen. Zum
Beispiel, wenn ein Wort durch acht Bits gebildet ist, wie in
dem gezeigten Beispiel, werden in dem aktuellen Lesebetrieb
eine Wortleitung und acht Bitleitungen in Antwort auf die Zu
weisung von einer Leseadresse gleichzeitig ausgewählt. Die aus
gewählten acht Bitleitungen sind entsprechende Bitleitungen in
den jeweiligen acht Datenblöcken DB1, DB2, . . . DB8.
Da das Löschen durch ultraviolette Bestrahlung in dem EPROM
durchgeführt wird, werden wenn das schwebende Gate elektrisch
neutral wird keine weiteren Elektroden von dem schwebenden Gate
entnommen, und die Einsatzspannung des Speichertransistors wird
nicht ungefähr 1V oder weniger.
Andererseits werden beim Entnehmen der Elektronen unter Ver
wendung des Tunnelphänomens EEPROM oder ähnlichem in dem Flash-
Speicher Elektronen übermäßig von dem schwebenden Gate ent
nommen, und damit kann es vorkommen, daß das schwebende Gate
positiv geladen wird. Dieses Phänomen wird Überlöschen (oder
mehr löschen) genannt. Wenn das Überlöschen durchgeführt wird,
wird das spätere Lesen/Schreiben behindert, da die Einsatzspan
nung des Speichertransistors negativ wird.
Das heißt, in dem Flash-Speicher fließt, sogar wenn der Pegel
der Wortleitung "L" im nicht ausgewählten Zustand während des
Lesens ist und der an das Steuergater des Speichertransistors
angelegte Pegel "L" ist, da ein Strom von der Bitleitung BL
über den Speichertransistor im Überlöschen zu der Sourceleitung
28 fließt, obwohl die Speicherzelle, die vorgesehen ist ein
Lesen auf derselben Bitleitung auszuführen, eine hohe Einsatz
spannung im "0" Schreibzustand aufweist, Strom über den
Speichertransistor in dem Überlöschen, damit wird "1" falsch
ausgelesen. Auch wird während des Schreiben, da ein Leckstrom
über die Speicherzelle beim Überlöschen fließt, die Speicher
zelle, die vorgesehen ist ein Schreiben auszuführen, in den
Schreibcharakteristika verschlechtert und wird weiter zum
Schreiben unfähig. Daher wird in dem Flash-Speicher der Lösch
vorgang Schritt für Schritt durchgeführt, und Lesen wird nach
dem Löschen durchgeführt, und es wird überprüft, ob das Löschen
korrekt durchgeführt worden ist (im folgenden als "Überprüfen"
bezeichnet). Wenn ein Bit nicht gelöscht worden ist, wird das
Löschen noch einmal durchgeführt, und der Löschpuls, der das
Überlöschen bedingt, wird in einem der Anmelderin bekannten Ver
fahren daran gehindert an die Speicherzelle angelegt zu werden.
Fig. 10 und Fig. 11 sind Programmablaufpläne, die den Program
mier- und Löschbetrieb mit dem oben erwähnten Überprüfbetrieb
zeigen, und Fig. 12A-Fig. 12B und Fig. 13A-Fig. 13G sind
Wellenformdiagramme, die die Zeitsteuerung (das Timing) des je
weiligen Betriebes bzw. der jeweiligen Operation zeigen. Unter
Verwendung dieser Fig. 10 bis Fig. 13 und Fig. 7 wird jeder
Prozeß des Löschens und des Programmierens beschrieben. In
einem der Anmelderin bekannten Flash-Speicher wird das Setzen
des Löschmodus und des Programmiermodus durch eine Kombination
der Eingangsdaten gesetzt. In anderen Worten, es wird das Ein
stellen des Modus durch Eingangsdaten im Anstiegszustand des WE
(L-Aktiv) durchgeführt.
Zuerst wird der Fall des Programmierens durch Fig. 10 und Fig.
12 beschrieben. Zuerst wird die Spannung Vcc, Vpp angehoben
(Schritt ST1), und dann wird das Steuersignal WE abgesenkt.
Beim Anstieg des nächsten Kontrollsignals WE werden die
Eingangsdaten (40H), die den Programmiermodus anzeigen, in dem
Befehlsregister 12 (Schritt ST2) gehalten. Dann werden die
Eingangsdaten durch den Befehlsdekoder 13 dekodiert, und der
Betriebsmodus wird der Programmiermodus. Anschließend wird das
Steuersignal WE wieder abgesenkt, und eine Adresse von außen
wird in dem Adressregister 6 gehalten, und Daten DIN werden beim
Anstieg des Steuersignals WE (Schritt ST3) in der Schreibschal
tung 7 gehalten. Als nächstes wird ein Programmierpuls durch
die Programmierspannungserzeugungsschaltung 10 erzeugt und an
den X-Dekoder 4 und den Y-Dekoder 5 angelegt. Damit wird der
Programmier-("0")-Schreibbetrieb wie oben beschrieben ausge
führt (Schritt ST4).
Als nächstes wird das Steuersignal WE abgesenkt, und beim An
stieg des folgenden Steuersignals WE werden die Eingangsdaten
(COH), die den Programmierüberprüfmodus anzeigen, in dem Be
fehlsregister 12 gehalten, und der Betriebsmodus wird der
Programmierüberprüfmodus (Schritt ST5). Dann wird innerhalb des
Chips durch die Lösch/Programmierüberprüfungsspannungserzeu
gungsschaltung 11 die Programmierüberprüfungsspannung (ungefähr
7,0V) erzeugt und an den X-Dekoder 4 angelegt. Da diese an das
Steuergate 17 der Speicherzelle angelegte Programmierüberprü
fungsspannung größer ist als die Spannung 5V eines normalen
Lesezustandes kann die Speicherzelle mit der erniedrigten Ein
satzspannung wegen dem ungenügenden Schreiben einfach einge
schaltet werden, und damit kann ein fehlerhaftes Schreiben
einfacher erzeugt werden. Als nächstes wird das Lesen ausge
führt (Schritt ST6), und wenn "1" ausgelesen wird, kann es
sicher als fehlerhaftes Schreiben festgestellt werden. Wenn es
ein fehlerhaftes Schreiben ist, wird das Schreiben weiterhin
wiederholt. Wenn "0" ausgelesen wird, und damit die Entschei
dung beeinflußt wird, daß das Schreiben normal ist (Schritt
ST8), wird der Betriebsmodus in den Lesemodus gesetzt und das
Programm ist beendet.
Als nächstes wird der Fall des Löschens mit Bezug zu Fig. 11
und Fig. 13 beschrieben. Zuerst wird die Spannung Vcc, Vpp an
gehoben (Schritt ST10), und anschließend wird in alle Bits
unter Verwendung des oben beschriebenen Programmablaufs
(Schritt ST11) "0" geschrieben. Das ist deswegen so, da wenn
eine gelöschte Speicherzelle weiter gelöscht wird, wird die
Speicherzelle übergelöscht werden. Als nächstes wird das
Steuersignal WE erniedrigt und beim Anstieg des folgenden
Steuersignals WE wird der Löschbefehl (20H) eingegeben (ST12).
Anschließend wird das Steuersignal WE wieder erniedrigt, und
beim Anstieg des folgenden WE wird ein Löschbestätigungsbefehl
(20H) eingegeben (Schritt ST13). Dann wird innerhalb des Chips
ein Löschpuls erzeugt, und bis zum Abfall des folgenden Steuer
signals WE wird über den Sourceleitungsschalter 3 die Spannung
Vpp an Source 18 der Speicherzelle angelegt (Schritt ST14). Bei
diesem Abfall wird die Adresse auch gehalten. Damit wird der
Löschbetrieb der Speicherzelle (Schreiben von "1") durchgeführt.
Beim Anstieg des folgenden Steuersignals WE wird ein Löschüber
prüfungsbefehl (COH) gehalten, und der Betriebsmodus wird der
Löschüberprüfungsmodus (Schritt ST15). Dann wird durch die
Lösch/Programmierüberprüfungsspannungserzeugungsschaltung 11
die Löschüberprüfungsspannung (ungefähr 3,2V) erzeugt und an
den X-Dekoder 4 angelegt. Da die an das Steuergate 17 der
Speicherzelle angelegte Löschüberprüfungsspannung niedriger als
die Spannung (5V) im normalen Lesezustand ist, kann wegen der
ungenügenden Löschung die Speicherzelle mit der Einsatzspannung,
die höher ist als die der Speicherzelle mit genügender Löschung,
nicht einfach eingeschaltet werden. Folglich wird nach dem
Löschbetrieb ein Lesen ausgeführt (Schritt ST16), und "0" wird
ausgelesen und damit wird die Entscheidung beeinflußt, daß das
Löschen ungenügend ist (Schritt ST17). Wenn das Löschen ungenü
gend ist, wird das Löschen weiter wiederholt. Wenn "1" ausge
lesen wird, damit ist bestätigt, daß das Löschen ausgeführt wor
den ist, wird die Adresse erhöht (Schritt ST19), und das Löschen
der Daten der nächsten Adresse wird überprüft. Wenn die über
prüfte Adresse die letzte Adresse ist (Schritt ST18), wird der
Betriebsmodus in den Lesemodus gesetzt (Schritt ST20), und der
Löschbetrieb ist beendet.
Da der der Anmelderin bekannte Flash-Speicher, wie oben be
schrieben ist, ausgebildet ist, wird im Programmierzustand für
einige Speicherzellen der Programmierüberprüfungsbetrieb für
die Speicherzelle nur direkt nach dem Schreiben ausgeführt, und
der Überprüfbetrieb für eine Speicherzelle im nicht-ausgewählten
Zustand wird nicht durchgeführt.
Wenn ein Programmierung für einige Speicherzellen ausgeführt
wird, existiert, da die Hochspannung Vpp auch an ein Steuergate
einer Speicherzelle MC im nicht-ausgewählten Zustand, die mit
der ausgewählten Wortleitung WL verbunden ist, angelegt ist,
wenn die Speicherzelle im nicht-ausgewählten Zustand "0"
speichert, eine Schwierigkeit, daß Ladung des schwebenden Gates
durch das Steuergate wegen des Tunnelphänomens entnommen wird
und der gespeicherte Wert kann in "1" geändert werden. Oder es
existiert, da Vcc auch an den Drain einer Speicherzelle im
nicht-ausgewählten Zustand, die mit der im Programmierzustand
ausgewählten Bitleitung BL verbunden ist, angelegt ist, wenn die
Speicherzelle im nicht-ausgewählten Zustand "0" speichert, ein
Problem, daß die Ladung des schwebenden Gates durch den Drain
wegen des Tunnelphänomens entnommen wird und der gespeicherte
Wert in "1" geändert werden kann.
Ferner gibt es eine Schwierigkeit, daß die in der Speicherzelle
geladenen Daten auf Grund der Hitze oder ähnlichem flüchtig
werden.
Solch ein Phänomen ist häufig erzeugt, daß Daten nicht behalten
werden können, da die Speichergröße mehr verringert wird be
gleitet mit einer großen Kapazität des Speichers.
Ferner ist, wenn der Flash-Speicher als ein Datei- bzw. Listen
speicher verwendet wird, die Anzahl der Male des Wiederbeschrei
bens des Speichers erhöht, und bei jedem Wiederbeschreiben wird
die Störbelastung der Zellen im nicht-ausgewählten Zustand, die
mit der ausgewählten Wortleitung WL oder der ausgewählten Bit
leitung BL verbunden sind, wie oben beschrieben hinzugefügt, und
das Halten der Daten wird schwierig.
Im Stand der Technik wird ein Flash-Speicher, der Daten hält,
die unterschiedlich zu den fehlerhaften Daten nach dem Über
prüfungsbetrieb der Daten direkt nach dem Schreiben von Daten
oder direkt nach dem Löschen von Daten, nur durch einen Test
vor dem Versenden gefunden. Wenn ein fehlerhafter Flash-Speicher
dann gefunden wird, gibt es eine Schwierigkeit, daß die Herstel
lung es Flash-Speichers, da der Flash-Speicher zwangsläufig aus
sortiert werden muß, zu nichts führt außer einer Erhöhung des
Speicherpreises.
Um die oben genannten Schwierigkeiten im Stand der Technik zu
lösen, ist es Aufgabe der vorliegenden Erfindung eine Flash-
Speicher mit Datenauffrischfunktion zur Verfügung zu stellen,
bei dem ein Programmierüberprüfungsmodus und ein Löschüberprü
fungsmodus geschickt verwendet werden, damit kann zusätzlich zu
dem Überprüfungsbetrieb direkt nach Schreiben von einem Wert
oder direkt nach Löschen von einem Wert eine Speicherzelle, die
einen defekten Wert hält, bestimmt werden und der defekte Wert
kann korrigiert werden.
Weiterhin wird ein Flash-Speicher mit Datenauffrischfunktion zur
Verfügung gestellt, bei dem der Programmierüberprüfungsmodus
und der Löschüberprüfungsmodus verwendet werden, und als erstes
wird ein Block mit fehlerhaften Daten bestimmt, danach kann die
oben erwähnte Speicherzelle bestimmt werden und die fehlerhaften
Daten werden korrigiert, damit können die fehlerhaften Daten
wiedergewonnen und in einer kurzen Zeit korrigiert werden.
Ferner wird ein Datenauffrischverfahren eines Flash-Speichers
zur Verfügung gestellt, bei dem der Programmierüberprüfungs
modus und der Löschüberprüfungsmodus geschickt verwendet
werden, damit kann zusätzlich zum Überprüfungsbetrieb direkt
nach dem Schreiben eines Wertes oder direkt nach dem Löschen
eines Wertes eine Speicherzelle, die einen Wert bzw. einen
fehlerhaften Wert hält, bestimmt werden und der fehlerhafte
Wert kann korrigiert werden.
Ferner wird ein Datenauffrischverfahren eines Flash-Speichers
zur Verfügung gestellt, bei dem der Programmierüberprüfungs
modus und der Löschüberprüfungsmodus verwendet werden und zu
erst kann ein Block mit fehlerhaften Daten festgelegt werden,
darauffolgend kann die oben erwähnte Speicherzelle festgelegt
werden und die fehlerhaften Daten werden korrigiert, damit
können die fehlerhaften Daten in einer kurzen Zeit wiederge
wonnen und korrigiert werden.
Ein Flash-Speicher mit Datenauffrischfunktion, entsprechend zu
dem ersten Aspekt der vorliegenden Erfindung, weist Vergleichs
mittel zum Vergleichen des im Programmierüberprüfungsmodus aus
gelesenen Wertes in Antwort auf die zugeordnete Ausleseadresse
und einem im Löschüberprüfungsmodus ausgelesenen Wert in Ant
wort auf die Zuordnung derselben Adresse wie die Ausleseadresse,
und Wiedereinschreibsteuermittel zum Steuern von Datenwiederein
schreiben einer Speicherzelle entsprechend widersprüchlichen
Daten, wenn die widersprüchlichen Daten durch das Vergleichs
mittel festgestellt werden.
Wie oben erwähnt werden in dem Flash-Speicher mit Datenauf
frischfunktion nach dem ersten Aspekt der vorliegenden Erfin
dung im Programmierüberprüfungsmodus ausgelesene Daten, und
im Löschüberprüfungsmodus ausgelesene Daten, in jeder Adresse
verglichen, damit können sogar, wenn Daten verändert werden und
fehlerhafte Daten nach Überprüfen direkt nach Schreiben in die
Speicherzelle oder direkt nach Löschen werden, die fehlerhaften
Daten irgendeiner Adresse wiedergewonnen und korrigiert werden.
Bei der Erfindung nach dem ersten Aspekt ist es vorzuziehen,
daß ein Adresserhöhungsmittel zum Erhöhen der auszulesenden
Adresse vorzusehen ist, wenn Übereinstimmung durch das Ver
gleichsmittel oder nach dem Wiedereinschreiben durch das Wie
dereinschreibsteuermittel festgestellt wird.
Wie oben erwähnt wird die Adresse erhöht, wenn die verglichenen
Ergebnisse übereinstimmend sind oder nach Korrektur der Daten,
damit können fehlerhafte Daten wiedergewonnen und korrigiert
werden in Bezug auf alle Speicherzellen in dem Flash-Speicher.
Ein Flash-Speicher mit Datenauffrischfunktion, entsprechend zum
zweiten Aspekt der vorliegenden Erfindung, weist ein Vergleichs
mittel zum Vergleichen eines Summenergebnisses von im Program
mierüberprüfungsmodus ausgelesenen Daten und von einem Summen
ergebnis von im Löschüberprüfungsmodus ausgelesenen Daten von
allen Speicherzellen von einem der mehreren Blöcke und zum Ver
gleichen der im Programmierüberprüfungsmodus ausgelesenen Daten
in Antwort auf die Zuordnung der Ausleseadresse und im Lösch
überprüfungsmodus ausgelesenen Daten in Antwort auf die Zuord
nung derselben Adresse wie die Ausleseadresse, in dem Block in
dem die Unstimmigkeit der Summenergebnisse festgestellt wurde,
und Wiedereinschreibsteuermittel zum Steuern des Datenwieder
einschreibens in eine Speicherzelle entsprechend den un
stimmigen Daten, wenn die unstimmigen Daten durch das Ver
gleichsmittel festgestellt werden.
Wie oben erwähnt, können in dem Flash-Speicher mit Datenauf
frischfunktion nach dem zweiten Aspekt der vorliegenden Erfin
dung, da die fehlerhaften Daten in jedem Block wiedergewonnen
bzw. wiederaufgefunden werden und die fehlerhaften Daten von
einer Adresse in dem fehlerhaften Block wiedergewonnen und kor
rigiert werden, die fehlerhaften Daten in einer kurzen Zeit im
Vergleich mit der Erfindung nach dem ersten Aspekt von irgend
einer Adresse gewonnen und weiter korrigiert werden.
Bei der Erfindung nach dem zweiten Aspekt ist es vorzuziehen,
daß das Leseadresserhöhungsmittel zum Erhöhen der auszulesenen
Adresse, wenn Übereinstimmung durch das Vergleichsmittel oder
nach dem Wiedereinschreiben durch das Wiedereinschreibsteuer
mittel festgestellt wird, vorgesehen ist, und ein Blockadressen
erhöhungsmittel zum Erhöhen der Blockadresse, wenn Übereinstim
mung der Summenergebnisse durch das Vergleichsmittel oder nach
dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel
festgestellt wird, vorgesehen ist.
Wie oben erwähnt wird die Adresse erhöht, wenn die verglichenen
Ergebnisse übereinstimmen oder nach der Korrektur des Wertes,
und die Blockadresse wird erhöht, wenn die Summenergebnisse
innerhalb des Blocks übereinstimmen oder nach der Korrektur des
Wertes, damit können im Vergleich mit der Erfindung ent
sprechend dem ersten Aspekt die fehlerhaften Werte in Bezug auf
alle Speicherzellen innerhalb des Flash-Speichers weiter inner
halb einer kurzen Zeit wiedergewonnen und korrigiert werden.
Bei der Erfindung nach dem ersten oder zweiten Aspekt ist es
vorzuziehen, daß von dem ersten Speichermittel und dem zweiten
Speichermittel jedes Daten speichert, die ein oder mehrere Bits
aufweisen, und daß das Wiedereinschreibsteuermittel nur das
Wiedereinschreiben der Daten von der Speicherzelle, die den
inkonsistenten Bits entspricht, steuert.
Wie oben erwähnt werden Daten, die ein oder mehrere Bits auf
weisen, in Reaktion auf ein Ausleseadreßsignal verglichen, und
nur Daten von der Speicherzelle entsprechend den inkonsistenten
Bits werden wieder eingeschrieben, und die fehlerhaften Daten
können effizient wiedergewonnen und korrigiert werden.
Weiter ist es vorzuziehen, daß das Wiedereinschreibsteuermittel
Daten der Speicherzelle entsprechend den inkonsistenten Bits im
Informationsschreibzustand wieder einschreibt.
Wie oben erwähnt können fehlerhafte Daten, wenn die korrekten
Daten im Informationsschreibzustand oder im Informationslösch
zustand sind, im Informationsschreibzustand wieder eingeschrie
ben werden, damit können die fehlerhaften Daten einfach korri
giert werden.
Im dritten Aspekt der vorliegenden Erfindung wird ein Daten
auffrischverfahren eines Flash-Speichers mit den folgenden
Schritten zur Verfügung gestellt: Ein Schritt des Lesens von
Daten im Programmierüberprüfmodus in Reaktion auf die Zuwei
sung der auszulesenden Adresse; ein Schritt des Lesens von
Daten im Löschüberprüfungsmodus in Reaktion auf die Zuweisung
derselben Adresse wie die auszulesende Adresse; ein Schritt des
Vergleichens der ausgelesenen Daten; und ein Schritt des Wieder
einschreibens der Daten der Speicherzelle entsprechend der in
konsistenten Daten, wenn die inkonsistenten Daten beim Ver
gleich festgestellt werden.
Wie oben erwähnt, können entsprechend dem Datenauffrischverfahren
des Flash-Speichers nach dem dritten Aspekt der vorliegenden
Erfindung, da die im Programmierüberprüfungsmodus und die im
Löschüberprüfungsmodus ausgelesenen Daten in jeder Adresse
verglichen werden und es festgestellt wird, ob die Daten in
konsistent sind oder nicht, sogar wenn die Daten verändert
werden und fehlerhafte Daten werden nach dem Überprüfen direkt
nach dem Schreiben in die Speicherzelle oder direkt nach dem
Löschen, die fehlerhaften Daten von jeder Adresse wiederge
wonnen und korrigiert werden.
Es ist vorzuziehen, daß die Erfindung nach dem dritten Aspekt
weiter den Schritt des Erhöhens der auszulesenden Adresse, wenn
Übereinstimmung beim Vergleich festgestellt wird oder nach dem
Wiedereinschreiben, aufweist.
Wie oben erwähnt können bei der Erfindung nach dem dritten
Aspekt, da die auszulesende Adresse nach dem Wiedereinschreiben
der fehlerhaften Daten erhöht wird, fehlerhafte Daten in Bezug
auf alle Speicherzellen innerhalb des Flash-Speichers wieder
gewonnen werden.
Der vierte Aspekt der vorliegenden Erfindung stellt ein Daten
auffrischverfahren eines Flash-Speichers mit den folgenden
Schritten zur Verfügung: Ein Schritt des Vergleichens eines
Summenergebnisses der ausgelesenen Daten im Programmierüber
prüfungsmodus und eines Summenergebnisses ausgelesen im Lösch
überprüfungsmodus von allen Speicherzellen eines der mehreren
Blöcke, und Vergleichen der im Programmierüberprüfungsmodus
ausgelesenen Daten in Reaktion auf die Zuweisung der auszu
lesenden Adresse und der im Löschüberprüfungsmodus ausgelesenen
Daten in Reaktion auf die Zuordnung derselben Adresse wie die
auszulesende Adresse innerhalb des Blocks in dem die Inkonsis
tens der Summenergebnisse festgestellt wird, und einen Schritt
des Wiedereinschreibens der Daten von der Speicherzelle ent
sprechend den inkonsistenten Daten, wenn die inkonsistenten
Daten beim Vergleich festgestellt werden.
Wie oben erwähnt können entsprechend dem Datenauffrischverfahren
des Flash-Speichers im vierten Aspekt der vorliegenden Erfin
dung, da fehlerhafte Daten in jedem Block wiedergewonnen bzw.
aufgefunden werden und die fehlerhaften Daten von jeder Adresse
innerhalb des fehlerhaften Blocks wiedergewonnen und korrigiert
werden die fehlerhaften Daten von jeder Adresse im Vergleich mit
der Erfindung nach dem dritten Aspekt weiter in einer kurzen
Zeit wiedergewonnen und korrigiert werden.
Es ist vorzuziehen, daß die Erfindung nach dem vierten Aspekt
weiter einen Schritt des Erhöhens der auszulesenden Adresse,
wenn Übereinstimmung der Daten durch das Vergleichen in der zu
gewiesenen Ausleseadresse festgestellt wird oder nach dem Wie
dereinschreiben durch das Wiedereinschreibsteuermittel, und
einen Schritt des Erhöhens der Blockadresse, wenn Übereinstim
mung beim Vergleich der Summenergebnisse festgestellt wird oder
nach dem Wiedereinschreiben, aufweist.
Wie oben erwähnt wird die Adresse erhöht, wenn die verglichenen
Ergebnisse übereinstimmen oder nach der Korrektur der Daten,
und die Blockadresse wird erhöht, wenn die Summenergebnisse in
dem Block übereinstimmen oder nach der Korrektur der Daten,
damit können fehlerhafte Daten im Vergleich mit der Erfindung
mit dem dritten Aspekt weiter in einer kurzen Zeit in Bezug auf
alle Speicherzellen in dem Flash-Speicher wiedergewonnen und
korrigiert werden.
Bei der Erfindung nach dem dritten Aspekt oder vierten Aspekt
ist es vorzuziehen, daß im Speicherschritt Daten, die ein oder
mehrere Bits aufweisen, in Reaktion auf eine Ausleseadresse ge
speichert werden, und im Wiedereinschreibschritt nur Daten der
Speicherzelle entsprechend den inkonsistenten Bits wiedereinge
schrieben werden, wenn die inkonsistenten Bits beim Vergleich
festgestellt werden.
Wie oben erwähnt werden Daten, die ein oder mehrere Bits auf
weisen, verglichen und nur Daten der Speicherzelle entsprechend
den inkonsistenten Bits werden wieder eingeschrieben, damit
können zusätzlich zu den Handlungen nach dem dritten oder
vierten Aspekt fehlerhafte Daten effizient wiedergewonnen und
korrigiert werden.
Bei der Erfindung nach dem vierten Aspekt ist es vorzuziehen,
daß beim Wiedereinschreibschritt Daten der Speicherzelle ent
sprechend den inkonsistenten Bits im Informationsschreibzustand
wiedereingeschrieben werden.
Wie oben erwähnt, werden, ob die korrigierten Daten im Infor
mationsschreibzustand oder im Informationslöschzustand sind,
die fehlerhaften Daten im Informationsschreibzustand wiederein
geschrieben, damit können die fehlerhaften Daten einfach korri
giert werden.
Der fünfte Aspekt der vorliegenden Erfindung stellt ein Daten
auffrischverfahren eines Flash-Speichers zur Verfügung, bei dem
die Reihenfolge des Programmierüberprüfungsmodus und des Lösch
überprüfungsmodus der Erfindung nach dem dritten Aspekt umge
dreht ist.
Sogar wenn die Reihenfolge des Programmierüberprüfungsmodus und
des Löschüberprüfungsmodus der Erfindung nach dem dritten
Aspekt umgedreht ist, wie oben erwähnt, können die fehlerhaften
Daten in einer ähnlichen Art wie bei der Erfindung nach dem
dritten Aspekt wiedergewonnen und korrigiert werden.
Der sechste Aspekt der vorliegenden Erfindung stellt ein Daten
auffrischverfahren eines Flash-Speichers zur Verfügung, bei dem
die Reihenfolge des Programmierüberprüfungsmodus und des Lösch
überprüfungsmodus der Erfindung nach dem vierten Aspekt umge
dreht ist.
Sogar wenn die Reihenfolge des Programmierüberprüfungsmodus und
des Löschüberprüfungsmodus umgedreht ist, wie oben erwähnt,
können fehlerhafte Daten in einer ähnlichen Art wie bei der Er
findung nach dem vierten Aspekt wiedergewonnen und korrigiert
werden.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich
aus der Beschreibung von Ausführungsbeispielen anhand der
Figuren.
Von den Figuren zeigen
Fig. 1 ein Blockdiagramm, das den Aufbau eines Flash-
Speichers entsprechend zu der ersten Ausführungsform der
Erfindung zeigt;
Fig. 2 ein Diagramm, das die Charakteristika zwischen VGS und
IDS einer Speicherzelle zeigt, die das Prinzip des
Wiedergewinnens von fehlerhaften Daten entsprechend zu
der Erfindung erklärt;
Fig. 3 einen Programmablaufplan, der den Datenauffrischbetrieb
des in Fig. 1 gezeigten Flash-Speichers zeigt;
Fig. 4 ein Blockdiagramm, das den Aufbau eines Flash-Speichers
entsprechend zu der zweiten Ausführungsform der Erfin
dung zeigt;
Fig. 5 einen Programmablaufplan, der den Datenauffrischbetrieb
des in Fig. 4 gezeigten Flash-Speichers erklärt;
Fig. 6 einen Programmablaufplan, der einen Datenkorrekturbe
trieb in Fig. 5 erklärt;
Fig. 7 ein Blockdiagramm eines Flash-Speichers des Standes der
Technik;
Fig. 8 eine Querschnittsansicht einer Speicherzelle (Speicher
transistor), die die Speicherzelle in Fig. 7 bildet;
Fig. 9 ein Schaltungsdiagramm der Speichermatrix und ihrer
peripheren Schaltung in Fig. 7;
Fig. 10 einen Programmablaufplan, der den Programmierbetrieb
mit Überprüfbetrieb des Standes der Technik erklärt;
Fig. 11 einen Programmablaufplan, der den Löschbetrieb mit
Überprüfbetrieb des Standes der Technik erklärt;
Fig. 12A-Fig. 12G Zeitsteuerungsdiagramm bzw. Timingdiagramme,
die den Programmierbetrieb mit Überprüfbetrieb des
Standes der Technik erklären; und
Fig. 13A-Fig. 13G Zeitsteuerungsdiagramme, die den Löschbetrieb
mit Überprüfbetrieb des Standes der Technik erklären.
Eine Ausführungsform der vorliegenden Erfindung wird mit Bezug
zu den begleitenden Zeichnungen wie folgt beschrieben.
Fig. 1 ist ein Blockdiagramm, daß den Aufbau eines Flash-
Speichers entsprechend der ersten Ausführungsform der vorlie
genden Erfindung zeigt. In Fig. 1 wird eine Steuerschaltung
(Steuermittel) 31 aktiviert, wenn ein von einem I/O Puffer 9
eingegebener und durch einen Befehlsdekoder 13 dekodierter Be
fehl ein Auffrischbefehl von fehlerhaften Daten ist, und steuert
eine Registergruppe 32 und eine Vergleichsschaltung 33, und
weist eine auszulesende Adresse zu, und setzt einen Programmier
überprüfungsmodus und einen Löschüberprüfungsmodus in verschie
denen Zeitsteuerungen im Überprüfungsbetriebszustand. Wenn
durch die Vergleichsschaltung 33 inkonsistente Daten festge
stellt werden, steuert ein Wiedereinschreibsteuermittel 31a,
das nur Daten einer Speicherzelle entsprechend zu den inkonsis
tenten Daten wiedereingeschrieben werden. Wenn durch die Ver
gleichsschaltung 33 Übereinstimmung festgestellt wird oder nach
dem Wiedereinschreiben von Daten, steuert ein Adressenerhöhungs
mittel 31b, daß die auszulesende Adresse erhöht wird. Die
Registergruppe 32 weist zwei Register auf, ein Register A
(erstes Speichermittel) 32a und ein Register B (zweites
Speichermittel) 32b, beide zum Verwenden wenn überprüft wird,
ob in der Speicherzelle gespeicherte Daten fehlerhaft sind oder
nicht. Das Register A 32a speichert im Programmierüberprüfungs
modus und in Reaktion auf ein Ausleseadreßsignal ausgelesene
Daten, und das Register B 32b speichert im Löschüberprüfungs
modus und in Reaktion auf das gleiche Ausleseadreßsignal, wie
das oben beschriebene, ausgelesene Daten. Die Vergleichsschal
tung (Vergleichsmittel) 33 vergleicht die in den zwei Registern 32a
und 32b gespeicherten Daten und überträgt die Vergleichs
ergebnisse zur Steuerschaltung 31.
Die anderen Teile 1 bis 14 in Fig. 1 sind dieselben wie die in
dem Flash-Speicher des Standes der Technik, der in Fig. 7 ge
zeigt ist, und die Beschreibung wird nicht wiederholt. Zusätz
lich ist in dieser Ausführungsform die Speichermatrix 1 auch
aus zum Beispiel 32 Blöcken BK1-BK32 in der gleichen Art wie
bei dem in Fig. 9 gezeigten Stand der Technik gebildet, und
jeder Block weist acht Datenblöcke DB1-DB8 auf, jedoch kann
natürlich die Anzahl der Blöcke und die Anzahl der Datenblöcke
in Abhängigkeit des Designs frei gewählt werden.
Das Wiedereinschreibsteuermittel 31a und das Adressenerhöhungs
mittel 31b sind in dem gezeigten Beispiel in der Steuerschaltung
31 angeordnet, können aber auch von der Steuerschaltung 31 ge
trennt angeordnet werden.
Um fehlerhafte Daten zu korrigieren, müssen die fehlerhaften
Daten wiedergewonnen bzw. wiederaufgefunden werden, daß heißt
die Adresse mit den fehlerhaften Daten und die fehlerhaften Bits
gespeichert in der Adresse müssen bestimmt werden. Um dies zu
verwirklichen, werden der Programmierüberprüfungsmodus und der
Löschüberprüfungsmodus entsprechend zu der Ausführungsform der
vorliegenden Erfindung verwendet.
Fig. 2 ist ein Diagramm, daß das Prinzip des Wiedergewinnens
von fehlerhaften Daten entsprechend zu der Ausführungsform der
vorliegenden Erfindung erklärt, daß die Charakteristika bzw.
den Zusammenhang zwischen der Spannung VGS zwischen dem Steuer
gate und Source einer Speicherzelle und dem Strom IDS zwischen
Drain und Source zeigt.
Wenn die Speicherzelle in Ordnung ist, ist die Einsatzspannung
Vth der Speicherzelle höher als die Programmierüberprüfungs
spannung PBV, wenn die in der Speicherzelle gespeicherten Daten
"0" sind, und die Einsatzspannung Vth der Speicherzelle ist
niedriger als die Löschüberprüfungsspannung EBV, wenn die in
der Speicherzelle gespeicherten Daten "1" sind.
Wenn die Speicherzelle in diesen normalen Zustand ausgelesen
wird, werden, ob der Auslesemodus ein Programmierüberprüfungs
modus oder ein Löschüberprüfungsmodus ist, Daten "0" als "0"
ausgelesen und Daten "1" als "1" ausgelesen.
Wenn die Speicherzelle fehlerhaft wird, wird die Einsatzspannung
wie die in Fig. 2 gezeigten NG Werte werden. Als ein Ergebnis
wird, wenn die in der Speicherzelle gespeicherten Daten "0"
sind, die verschobene Einsatzspannung der Speicherzelle nied
riger als die Programmierüberprüfungsspannung PBV werden, und
wenn die in der Speicherzelle gespeicherten Daten "1" sind, die
verschobene Einsatzspannung der Speicherzelle höher als die
Löschüberprüfungsspannung EBV werden.
Folglich wird, wenn die Einsatzspannung der Speicherzelle, in
der "0" oder "1" gespeichert ist, zu dem als NG Werten gezeigten
Einsatzspannungswerten verändert wird, die Speicherzelle im
Programmierüberprüfungsmodus ausgelesen wird, da die verscho
bene Einsatzspannung niedriger als PBV ist, die Speicherzelle
als "1" ausgelesen, und wenn die Speicherzelle im Löschüber
prüfungsmodus ausgelesen wird, da die verschobene Einsatzspan
nung höher als EBV ist, die Speicherzelle als "0" ausgelesen.
Daher werden, wenn die Speicherzelle fehlerhaft wird, die im
Programmierüberprüfungsmodus ausgelesenen Daten und die im
Löschüberprüfungsmodus ausgelesenen Daten unterschiedlich.
Daher werden in dieser Ausführungsform der vorliegenden Erfin
dung fehlerhafte Daten unter Verwendung dieses Phänomens wieder
aufgefunden.
Als nächstes wird der Betrieb beschrieben. Fig. 3 ist ein Pro
grammablaufplan, der einen Datenauffrischbetrieb in dem in
Fig. 1 gezeigten Flash-Speichers erklärt. In Fig. 1 und Fig. 3
wird zuerst ein Datenauffrischbefehl von dem I/O Puffer 9 in den
Befehlsdekoder 13 eingegeben (Schritt ST101). Der Befehlsdekoder
13 dekodiert den Datenauffrischbefehl und gibt ihn der Steuer
schaltung 31 ein. Damit setzt die Steuerschaltung 31 den Be
triebsmodus in den Auffrischmodus. Der folgende Betrieb wird
durch die Steuerschaltung 31 gesteuert.
Die Steuerschaltung 31 steuert zuerst das Adressenregister 6
und initialisiert die Leseadresse, z. B. zur ersten Adresse des
Flash-Speichers (Schritt ST102).
Als nächstes wird der Inhalt des Registers A 32a und des Regis
ters B 32b gelöscht (Schritt ST103).
Danach wird der Betriebsmodus in den Programmierüberprüfungs
modus gesetzt (Schritt ST104). Damit erzeugt die Überprüfungs
spannungserzeugungsschaltung 11 die Programmierüberprüfungs
spannung PBV und legt sie an den Dekoder 4 an.
Als nächstes wird ein Adressensignal, daß die erste Adresse
auswählt, von dem Adressenregister 6 an den X-Dekoder 4 und den
Y-Dekoder 5 angelegt, und in mehreren Speicherzellen gespeicher
ten raten werden, in diesem Beispiel acht Speicherzellen, ausge
wählt durch die erste Adresse der Speichermatrix 1, gleich
zeitig ausgelesen (Schritt ST105). Dann wird die Programmier
überprüfungsspannung PBV durch den X-Dekoder 4 an das Steuer
gate der Speicherzelle von jedem ausgelesenen Block angelegt.
Die ausgelesenen Daten werden durch den Leseverstärker 8 ver
stärkt und werden Lesedaten RD, und die Lesedaten RD werden in
dem Register A 32a in Reaktion auf ein Taktsignal CL von der
Steuerschaltung 31 gespeichert (Schritt ST106).
Dann setzt die Steuerschaltung 31 den Betriebsmodus in den
Löschüberprüfungsmodus (Schritt ST107). Damit erzeugt die
Überprüfungsspannungserzeugungsschaltung 11 eine Löschüber
prüfungsspannung EBV und lebt diese an den X-Dekoder 4 an. In
dem Löschüberprüfungsmodus erzeugt die Programmierspannungs
erzeugungsschaltung keine Spannung, oder zumindest erzeugt sie
nur eine Spannung die niedriger als die Löschüberprüfungsspan
nung EBV ist.
Danach werden die in derselben Adresse, wie die Leseadresse in
dem Programmierüberprüfungsmodus, gespeicherten Daten ausgele
sen (Schritt ST108). Dann wird die Löschüberprüfungsspannung
EBV über den X-Dekoder 4 an das Steuergate der auszulesenden
Speicherzelle angelegt.
Die ausgelesenen Daten werden durch den Leseverstärker 8 ver
stärkt und werden Lesedaten RD, und die Lesedaten RD werden in
dem Register B 32b in Reaktion auf ein Taktsignal CL von der
Steuerschaltung 31 gespeichert (Schritt ST109).
Als nächstes vergleicht die Vergleichsschaltung 33 in Reaktion
auf ein Taktsignal CL von der Steuerschaltung 31 den Inhalt des
Registers A 32a und den Inhalt des Registers B 32b entsprechend
den Bits (ST110). Als ein Ergebnis des Vergleichs wird, wenn
der Inhalt des Registers A 32a und der Inhalt des Registers B
32b gleich sind, die Verarbeitung zum Schritt ST113 weiterge
bracht, und wenn beide unterschiedliche Daten sind, wird die
Verarbeitung zum Schritt ST112 gebracht (Schritt ST111).
Als ein Ergebnis der Entscheidung in Schritt ST111 wird, wenn
der Inhalt des Registers A 32a und der Inhalt des Registers B
32b unterschiedlich sind, daß unterschiedliche Bit als von "0"
zu "1" aufgrund von störender Beanspruchung geändert betrach
tet, und ein "0" wird durch das Wiedereinschreibsteuermittel
31a in das Bit eingeschrieben (Schritt ST112), und die Verar
beitung wird zum Schritt ST113 weitergeführt. Die Schreibope
ration wird so ausgeführt, daß die Steuerschaltung 31 die Pro
rammierspannungserzeugungsschaltung 10 steuert die Schreib
spannung zu erzeugen, und "0" wird in das entsprechende Bit der
entsprechenden Adresse geschrieben. Als fehlerhafte Daten ist
der Fall des Änderns von "1" zu "0" möglich, aber da ein
solcher Fall so unwahrscheinlich ist, daß eine Hochspannung an
das Steuergate oder Drain einer nicht-ausgewählten Zelle ange
legt wird, damit wird Ladung, von einem schwebenden Gate ent
nommen und die gespeicherten Daten werden von "1" zu "0" geän
dert, werden in der Ausführungsform der vorliegenden Erfindung,
wenn ein fehlerhaftes Bit festgestellt wird, die Daten des Bits
alle mit "0" wiedereingeschrieben. Wenn fehlerhafte Daten wieder
beim Testen der Daten vor dem entgültigen Verschicken an den
Anwender festgestellt werden, wird der Speicher aussortiert.
Im Schritt ST113 wird es bestätigt, ob eine durch die Steuer
schaltung 31 in dem Adressenregister 6 gesetzte Adresse eine
letzte Adresse der Speichermatrix 1 ist oder nicht. Wenn es
keine letzte Adresse ist, wird die Adresse durch das Adressen
erhöhungsmittel 31b erhöht (Schritt ST114), und die Bearbeitung
wird zum Schritt ST104 zurückgeführt. Wenn es eine letzte
Adresse ist, ist der Datenauffrischbetrieb der Speichermatrix 1
beendet (Schritt ST115).
Damit werden im Bezug auf alle Adressen der Speichermatrix 1 im
Programmierüberprüfungsmodus ausgelesene Daten und im Löschüber
prüfungsmodus ausgelesene Daten verglichen, und damit werden
fehlerhafte Daten festgestellt und korrigiert und die Daten in
dem Flash-Speicher als ganzes können aufgefrischt werden.
Zusätzlich kann, wenn irgendeine Adresse durch die Steuerschal
tung 31 ausgewählt ist, festgestellt werden, ob in der Speicher
zelle gespeicherte Daten fehlerhaft sind oder nicht. Wenn die
Daten fehlerhaft sind, können sie korrigiert werden.
Obwohl in dem in Fig. 3 gezeigten Programmablaufplan der Pro
grammierüberprüfungsmodus gesetzt wird und dann der Löschüber
prüfungsmodus gesetzt wird, können fehlerhafte Daten sogar wenn
diese Reihenfolge umgedreht ist in einer zu der oberen Be
schreibung ähnlichen Art wiedergewonnen und korrigiert werden.
In der obigen ersten Ausführungsform wird die Zeitdauer für das
Auffrischen der Daten lang werden, da im Programmierüberprü
fungsmodus ausgelesene Daten und im Löschüberprüfungsmodus aus
gelesene Daten von jeder Ausleseadresse bezüglich der Speicher
matrix als Ganzes verglichen werden. In der im folgenden be
schriebenen zweiten Ausführungsform wird die zum Auffrischen
der Daten benötigte Zeit verringert.
Eine andere Ausführungsform der vorliegenden Erfindung wird im
folgenden beschrieben. Fig. 4 ist ein Blockdiagramm, daß den
Aufbau eines Flash-Speichers entsprechend der zweiten Ausfüh
rungsform der vorliegenden Erfindung zeigt. In Fig. 4 wird eine
Steuerschaltung (Steuermittel) 34 aktiviert, wenn ein von einem
I/O Puffer 9 eingegebener und durch einen Befehlsdekoder 13 de
kodierter Befehl ein Auffrischbefehl von fehlerhaften Daten
ist, und steuert eine Registergruppe 35, eine Summierungsschal
tung 34 und eine Vergleichsschaltung 37, und wählt Blockadres
sen von mehreren Blöcken der Reihe nach aus und wählt eine Aus
leseadresse in dem ausgewählten Block aus, und setzt den Pro
grammierüberprüfungsmodus und den Löschüberprüfungsmodus in
verschiedenen Zeitsteuerung bzw. Timings im Überprüfungsbe
triebszustand. Wenn zwischen den im Programmierüberprüfungs
modus von einer ausgewählten Adresse in dem Block, der fehler
haften Bits aufweist, ausgelesenen Daten und den im Löschüber
prüfungsmodus von derselben Adresse ausgelesenen Daten durch
die Vergleichsschaltung 37 eine Inkonsistens festgestellt wird,
steuert das Wiedereinschreibsteuerungsmittel 34a so daß nur
Daten einer Speicherzelle entsprechend zu den inkonsistenten
Daten wiedereingeschrieben werden. Das Leseadresserhöhungs
mittel 34b erhöht eine Leseadresse, um Daten von allen Speicher
zellen in jedem Block zu lesen. Ein Blockadresserhöhungsmittel
34c erhöht eine Blockadresse, wenn Übereinstimmung von Summie
rungsergebnissen der in jedem Block ausgelesenen Daten durch
die Vergleichsschaltung (Vergleichsmittel) 37 festgestellt wird
oder nach dem Wiedereinschreiben durch das Wiedereinschreib
steuermittel 34a. Die Registergruppe 35 weist drei Register
auf, ein Register A 35a, ein Register B 35b (erstes Speicher
mittel) und ein Register C 35c (zweites Speichermittel), die
alle verwendet werden wenn überprüft wird, ob in dem Speicher
gespeicherte Daten fehlerhaft sind oder nicht. Das Register B
35b speichert Summierungsergebnisse von im Programmierüberprü
fungsmodus von allen Speicherzellen in jeder durch die Steuer
schaltung 34 ausgewählten Blockadresse ausgelesenen Daten, und
das Register C 35c speichert Summierungsergebnisse von im Lösch
überprüfungsmodus von allen Speicherzellen in dem gleichen
Block, der oben beschrieben ist, ausgelesenen Daten. Die Sum
mierungsschaltung 36 summiert in jedem Block der Speichermatrix 1
den Inhalt des Registers A 35a und des Registers B 35b und
speichert das Summierungsergebnis in dem Register B 35b im
Programmierüberprüfungsmodus, und summiert den Inhalt des Re
gisters A 35a und des Registers C 35c und speichert das Sum
mierungsergebnis in dem Register C 35c im Löschüberprüfungs
modus. Die Vergleichsschaltung 37 vergleicht in jedem Block der
Speichermatrix 1 den Inhalt des Registers B 35b und den Inhalt
des Registers C 35c und erfaßt einen Block mit fehlerhaften
Bits, und vergleicht im Programmierüberprüfungsmodus von einer
ausgewählten Adresse in dem Block mit den fehlerhaften Bits
ausgelesenen Daten und im Löschüberprüfungsmodus von derselben
Adresse ausgelesenen Daten. Die anderen Teile in Fig. 4 sind
dieselben wie in Fig. 1 und werden nicht mehr beschrieben.
Auch in dieser Ausführungsform können das Wiedereinschreib
steuerungsmittel 34a, das Leseadressenerhöhungsmittel 34b und
das Blockadressenerhöhungsmittel 34c außerhalb der Steuerschal
tung 34 angeordnet werden.
Als nächstes wird der Betrieb beschrieben. Fig. 5 ist ein Pro
grammablaufplan, der ein Datenauffrischbetrieb des in Fig. 4
gezeigten Flash-Speichers erklärt. In Fig. 4 und Fig. 5 wird
zuerst von dem I/O Puffer 9 an den Befehlsdekoder 13 ein Daten
auffrischbefehl eingegeben (Schritt ST121). Der Befehlsdekoder
13 dekodiert den Datenauffrischbefehl und gibt ihn zu der
Steuerschaltung 34. Damit setzt die Steuerschaltung 34 den Be
triebsmodus in den Datenauffrischmodus. Der folgende Betrieb
wird durch die Steuerschaltung 34 gesteuert.
Die Steuerschaltung 34 steuert zuerst das Adressenregister 6
und setzt die Blockadresse, z. B., zu dem ersten Block der
Speichermatrix 1, und initialisiert die Ausleseadresse, z. B.,
zu der ersten Adresse in dem Block (Schritt ST122).
Als nächstes wird der Inhalt des Registers A 35a, des Registers
B 35b und des Registers C 35c gelöscht (Schritt ST123).
Als nächstes wird der Betriebsmodus in dem Programmierüberprü
fungsmodus gesetzt (Schritt ST124). Damit erzeugt die
Überprüfungsspannungserzeugungsschaltung 11 eine Programmierüberprü
fungsspannung PBV und legt diese an den X-Dekoder 4 an.
Dann wird ein Adressensignal, daß die erste Adresse auswählt,
von dem Adressenregister 6 an den X-Dekoder 4 und den Y-Dekoder
5 angelegt, und in einer oder mehreren Speicherzellen, ausge
wählt durch die erste Adresse der Speichermatrix 1, gespeicherte
Daten werden ausgelesen (Schritt ST125). Zum Beispiel, wenn ein
Wort in dem Speicher acht Bits ist, werden die Daten von acht
Bits gleichzeitig ausgelesen. Dann wird die Programmierüber
prüfungsspannung PBV über den X-Dekoder 4 an das Steuergate der
auszulesenden Speicherzelle angelegt.
Die ausgelesenen Daten werden durch den Leseverstärker 8 ver
stärkt und werden Lesedaten RD, und die Lesedaten RD werden in
Reaktion auf ein Taktsignal CL der Steuerschaltung 34 in dem
Register A 35a gespeichert (Schritt ST126).
Als nächstes summiert die Summierungsschaltung 36 in Reaktion
auf ein Taktsignal CL der Steuerschaltung 34 den Inhalt des Re
gisters A 35a und den Inhalt des Registers B 35b, und speichert
das Summierungsergebnis in dem Register B 35b (Schritt ST127).
Als nächstes wird im Schritt ST128 eine Entscheidung herbeige
führt, ob die Ausleseadresse die letzte Adresse in dem Block
ist oder nicht. Wenn sie nicht die letzte Adresse ist, wird
die Ausleseadresse erhöht (Schritt ST129), und die Verarbeitung
kehrt zum Schritt ST125 zurück. Wenn die Ausleseadresse die
letzte Adresse in dem Block ist, wird die Verarbeitung zum
Schritt ST130 bewegt. Damit wird entsprechend den Schritten
ST124 bis ST129 die Summierung der im Programmierüberprüfungs
modus ausgelesenen Daten in Bezug auf einen Block durchgeführt
und der Summierungswert wird in dem Register B 35b gespeichert.
Als nächstes wird die Ausleseadresse in den anfänglich gesetzten
Wert gesetzt (Schritt ST130), nachfolgend wird der Betriebsmodus
in den Löschüberprüfungsmodus gesetzt. Damit erzeugt die Über
prüfungsspannungserzeugungsschaltung 11 eine Löschüberprüfungsspannung EBV
und legt diese an den X-Dekoder 4 an. In dem Lösch
überprüfungsmodus erzeugt die Programmierspannungserzeugungs
schaltung 10 keine Spannung, oder erzeugt eine Spannung, die
kleiner ist als die Löschüberprüfungsspannung EBV.
Danach werden Daten von der an die Speichermatrix 1 gesetzten
Ausleseadressen ausgelesen (Schritt ST132). Dann wird die
Löschüberprüfungsspannung EBV über den Dekoder 4 an das Steuer
gate der auszulesenden Speicherzelle angelegt.
Die ausgelesenen Daten werden durch den Leseverstärker 8 ver
stärkt und werden Lesedaten RD, und die Lesedaten werden in
Reaktion auf ein Taktsignal von der Steuerschaltung 34 in dem
Register A 35a gespeichert (Schritt ST133).
Als nächstes summiert die Summierungsschaltung 36 in Reaktion
auf ein Taktsignal CL von der Steuerschaltung 34 den Inhalt des
Registers A 35a und den Inhalt des Registers C 35c, und
speichert das Summierungsergebnis in dem Register C 35c (Schritt
ST134).
Anschließend im Schritt ST135 wird ein Entscheidung bewirkt, ob
die Ausleseadresse die letzte Adresse in dem Block ist oder
nicht. Wenn sie nicht die letzte Adresse ist, wird die Auslese
adresse erhöht (Schritt ST136), und die Bearbeitung wird zum
Schritt ST132 zurückgeführt. Wenn die Ausleseadresse die letzte
Adresse in dem Block ist, wird die Bearbeitung zum Schritt
ST137 bewegt.
Somit werden entsprechend den Schritten ST131 bis ST136 die im
Löschüberprüfungsmodus ausgelesenen Daten in Bezug auf einen
Block summiert, und das Summierungsergebnis wird in dem Regis
ter C 35c gespeichert.
Im Schritt ST138 werden der im Programmierüberprüfungsmodus im
Bezug auf einen Block erhaltene Summierungswert und der im
Löschüberprüfungsmodus in Bezug auf denselben Block erhaltene
Summierungswert verglichen. Das heißt, der Inhalt des Registers
B 35b und der Inhalt des Registers C 35c werden verglichen
(Schritt ST137). Wenn beide dieselben Daten sind, wird die Be
arbeitung zum Schritt ST140 bewegt, und wenn beide verschie
dene Daten sind, wird die Bearbeitung zum Schritt ST139 bewegt
und die Daten werden korrigiert.
Im Schritt ST140 wird bestätigt, ob die Blockadresse der letzte
Block der Speichermatrix 1 ist oder nicht. Wenn es nicht der
letzte Block ist, wird die Blockadresse erhöht (ST141), und die
Bearbeitung wird zum Schritt ST122 zurückgeführt und der
nächste Block wird überprüft und fehlerhafte Daten werden kor
rigiert. Wenn es der letzte Block ist, ist der Betrieb des
Wiedergewinnens und Korrigierens der fehlerhaften Daten beendet.
Fig. 6 ist ein Programmablaufplan, der den Betrieb der Korrek
tur der Daten im Schritt ST139 von Fig. 5 erklärt. Diese Aus
führungsform ist ähnlich zu der Art der Erfassung von fehler
haften Bits und Programmierung der ersten Ausführungsform, die
im Zusammenhang in Fig. 1 und Fig. 3 beschrieben wurde. Beide
Ausführungsformen unterscheiden sich dadurch, daß in der ersten
Ausführungsform die fehlerhaften Bits im Bezug zu der Speicher
matrix als Ganzes wiedergewonnen und korrigiert werden, wobei
in der in Fig. 6 gezeigten zweiten Ausführungsform fehlerhafte
Bits nur in dem Block, in dem das Vorhandensein von fehlerhaften
Daten klar ist, wiedergewonnen und korrigiert werden.
In Fig. 6 wird dieser Betrieb ausgeführt, wenn fehlerhafte Daten
in einem Block vorhanden sind (Schritt ST151). Zuerst wird eine
Ausleseadresse zu der ersten Adresse des Blocks, in dem das Vor
handensein von fehlerhaften Daten klar ist, im Schritt ST139 von
Fig. 5 gesetzt (Schritt ST152). Als nächstes wird der Inhalt
der Registergruppe 35 gelöscht (Schritt ST153).
Als nächstes wird der Betriebsmodus in dem Programmiermodus ge
setzt (Schritt ST154). Danach werden in einer oder mehrerer
Speicherzellen, ausgewählt durch eine gesetzte Adresse, Daten
ausgelesen (Schritt ST155). Die ausgelesenen Daten werden über
den Leseverstärker 8 in dem Register A 35a gespeichert (Schritt
ST156). Dann setzt die Steuerschaltung 31 den Betriebsmodus in
den Löschüberprüfungsmodus (Schritt ST157). Danach werden in
derselben Adresse wie die Ausleseadresse im Programmierüberprü
fungsmodus Daten ausgelesen (Schritt ST158). Die ausgelesenen
Daten werden über den Leseverstärker 8 in dem Register B 35b
gespeichert (Schritt ST159).
Als nächstes vergleicht die Vergleichsschaltung 37 den Inhalt
des Registers A 35a und den Inhalt des Registers B 35b ent
sprechend den Bits (Schritt ST160). Als ein Ergebnis des Ver
gleichs wird, wenn der Inhalt des Registers A 35a und der In
halt des Registers B 35b übereinstimmen, die Verarbeitung zum
Schritt ST163 weitergeführt, und wenn beide verschiedene Daten
sind, wird die Verarbeitung zum Schritt ST162 bewegt (Schritt
ST161).
Als ein Ergebnis der Entscheidung in Schritt ST161 wird, wenn
der Inhalt des Registers A 35a und der Inhalt des Registers B
35b unterschiedlich sind, in das Bit "0" geschrieben (Schritt
ST162), und die Verarbeitung wird zum Schritt ST163 geführt.
Auch werden in der zweiten Ausführungsform der vorliegenden
Erfindung, wenn ein fehlerhaftes Bit festgestellt wird, die
Daten des Bits alle zu "0" geschrieben, und wenn fehlerhafte
Daten beim Test vor dem endgültigen Versenden zum Anwender
wieder festgestellt werden, wird die Speicherzelle aussortiert.
Im Schritt ST163 bestätigt die Steuerschaltung 34, ob die in
dem Adressenregister 6 gesetzte Adresse die letzte Adresse in
dem Block ist oder nicht. Wenn sie nicht die letzte Adresse
ist, wird die Adresse erhöht (Schritt ST164), und die Verar
beitung wird zum Schritt ST154 zurückgeführt. Wenn es die
letzte Adresse ist, ist der Datenauffrischbetrieb in dem Block
beendet (Schritt ST165).
Somit werden im Programmierüberprüfungsmodus ausgelesene Daten
und im Löschüberprüfungsmodus ausgelesene Daten in Blockeinheit
der Speichermatrix 1 verglichen, damit können fehlerhafte Daten
festgestellt und korrigiert werden und das Auffrischen von
Daten kann im Vergleich mit der ersten Ausführungsform in einer
kurzen Zeit durchgeführt werden. Zusätzlich kann in Fig. 5 und
Fig. 6, sogar wenn die Setzreihenfolge des Programmierüberprü
fungsmodus und des Löschüberprüfungsmodus umgedreht ist, der
gleiche Effekt in zu der ersten Ausführungsform ähnlicher Art
erhalten werden.
In der ersten und zweiten Ausführungsform ist, wenn die
Speichermatrix 1 ein Chip von 4M Bits ist, gebildet durch 32
Blöcke, und ein Block ist 16K Bits und fehlerhafte Daten exis
tieren nur in einem Bit von diesen, ein Vergleich der benötigten
Zeit zum Feststellen und Korrigieren der fehlerhaften Daten wie
folgt. Die Lesezeit für eine Adresse ist 150 nsec, und die Zeit,
die zum Ändern vom Programmierüberprüfungsmodus zum Löschüber
prüfungsmodus benötigt wird, ist 2 msec.
In der ersten Ausführungsform ist die Lesezeit für alle Adressen
150 Nanosekunden x 512K Bytes x 2 = ungefähr 0,12 Sekunden, und
die Modusänderungszeit in allen Adressen ist 2 Mikrosekunden x
512K Bytes = ungefähr 2,1 Sekunden. Folglich ist die benötigte
Zeit zum Durchführen des Datenauffrischens im Bezug auf alle
Adressen die Summe der Lesezeit von allen Adressen und die
Modusänderungszeit und daher wird diese ungefähr 2,3 Sekunden.
In der zweiten Ausführungsform ist die Lesezeit von allen
Adressen in einem Block 150 Nanosekunden x 16K Bytes x 2 = 4,8
Millisekunden, und die Modusänderungszeit in einem Block ist 2
Mikrosekunden x 2 = 4 Millisekunden. Folglich wird die gemessene
Zeit von allen Blöcken (4,8 Millisekunden + 4 Milisekunden) x
32 Blöcke = ungefähr 281,6 Millisekunden.
Andererseits ist die Lesezeit in einem Block mit einem exis
tierenden fehlerhaften Bit (Modusänderungszeit) x 2 x 16K Bytes
+ Lesen eines Taktes x 16K Bytes x 2 = 2 Mikrosekunden x 2 x 16K
Bytes + 150 Nanosekunden x 16K Bits x 2, und wird zu ungefähr
68,8 Millisekunden gerechnet. Folglich wird die benötigte Zeit
zum Lesen der gesamten Einrichtung ungefähr 350,4 Millisekunden,
und die benötigte Zeit zum Feststellen und Korrigieren des feh
lerhaften Bits ist im Vergleich mit der ersten Ausführungsform
erheblich reduziert.
In den obigen Ausführungsformen ist, obwohl die Speichermatrix
durch 32 Blöcke gebildet ist und in jeden Block acht Daten
blöcke sind, die vorliegenden Erfindungen nicht durch diese
Beispiele beschränkt, sondern es können ähnliche Effekte erhal
ten werden, sogar wenn die Anzahl der Blöcke, die die Speicher
matrix bilden, und die Anzahl der Datenblöcke in jedem Block ge
ändert werden.
Obwohl in den obigen Ausführungsformen der erhöhte Zustand der
Einsatzspannung der Speicherzellen als Information "0" definiert
ist, und der erniedrigte Zustand der Einsatzspannung als Infor
mation "1" definiert ist, kann natürlich diese Definition auch
umgedreht werden.
Entsprechend zu dem ersten Aspekt der vorliegenden Erfindung
ist ein Vorteil in einem Flash-Speicher mit Datenauffrischfunk
tion, da Vergleichsmittel im Programmierüberprüfungsmodus
ausgelesene Daten und im Löschüberprüfungsmodus ausgelesene
Daten vergleichen und feststellen, ob beide Daten inkonsistent
sind oder nicht, daß sogar wenn Daten verändert werden und
fehlerhafte Daten nach Überprüfung direkt nach dem Schreiben in
die Speicherzelle oder direkt nach dem Löschen werden, die
fehlerhaften Daten in einer Adresse festgestellt und korrigiert
werden können.
Da die Ausleseadresse bei der Erfindung nach dem ersten Aspekt
nach dem Wiedereinschreiben durch das Wiedereinschreibsteuer
mittel erhöht wird, können fehlerhafte Daten in Bezug auf alle
Speicherzellen in dem Flash-Speicher wiedergewonnen und korri
giert werden, und die Anzahl der Flash-Speicher, die beim Test
vor dem Verladen der Flash-Speicher zwangsläufig aussortiert
werden müssen, kann deutlich verringert werden. Ein Ergebnis
ist der Vorteil, daß Verschwendung in der Herstellung eines
Flash-Speichers verringert wird, und damit der Preis des
Flash-Speichers verringert werden kann.
Entsprechend der Erfindung nach dem zweiten Aspekt können, da
das Summierungsergebnis von den im Programmierüberprüfungs
modus von allen Speicherzellen in einem Block ausgelesenen
Daten und das Summierungsergebnis von den im Löschüberprüfungs
modus von allen Speicherzellen im denselben Block, wie der oben
beschriebene, ausgelesenen Daten verglichen werden, und wenn
Inkonsistenz festgestellt werden, die Daten der Speicherzelle
entsprechend den inkonsistenten Daten wiedereingeschrieben
werden, Daten in jeden Block wiederhergestellt werden. Folglich
ist ein Vorteil, daß die fehlerhaften Daten im Vergleich mit
der Erfindung nach dem ersten Aspekt in einer kürzeren Zeit
wiederhergestellt werden und korrigiert werden können.
Bei der Erfindung nach dem zweiten Aspekt ist ein Vorteil, da
eine Adresse erhöht wird, wenn die verglichenen Ergebnisse kon
sistent sind oder nach der Korrektur, und eine Blockadresse
erhöht wird, wenn die Summierungsergebnisse in dem Block kon
sistent sind oder nach der Korrektur von Daten, daß eine
Speicherzelle, die fehlerhafte Daten speichert unter allen
Speicherzellen in jedem Block wiederaufgefunden und korrigiert
werden kann, und daß die fehlerhaften Daten im Vergleich mit
der Erfindung nach dem ersten Aspekt in einer kürzeren Zeit
wiedergewonnen und korrigiert werden können im Bezug auf alle
Speicherzellen des Flash-Speichers.
Bei der Erfindung nach dem ersten oder zweiten Aspekt wird in
Reaktion auf ein Ausleseadreßsignal, da die Daten mit einem
oder mehreren Bits verglichen werden, nur die Daten der
Speicherzelle entsprechend zu den inkonsistenten Bits zusätz
lich zu der Erfindung nach dem ersten oder zweiten Aspekt
wiedereingeschrieben, mit dem Vorteil, daß die fehlerhaften
Daten effizient wiedergewonnen und korrigiert werden können.
Ferner ist ein Vorteil, egal ob die korrekten Daten im Infor
mationslöschungszustand sind, da die fehlerhaften Daten im In
formationsschreibzustand wiedereingeschrieben werden, daß die
fehlerhaften Daten einfach korrigiert werden können.
Entsprechend zu der Erfindung nach dem dritten Aspekt ist ein
Vorteil, da die im Programmierüberprüfungsmodus ausgelesenen
Daten und die im Löschüberprüfungsmodus ausgelesenen Daten ver
glichen werden und es festgestellt wird, ob die Daten inkonsis
tent sind oder nicht, daß, sogar wenn die Daten verändert
werden und fehlerhafte Daten werden nach der Überprüfung direkt
nach dem Schreiben in die Speicherzelle oder direkt nach dem
Löschen, die fehlerhaften Daten von irgendeiner Adresse wieder
gewonnen und korrigiert werden können.
Bei der Erfindung nach dem dritten Aspekt ist ein weiterer Vor
teil, da eine Ausleseadresse nach dem Wiedereinschreiben von
fehlerhaften Daten erhöht wird, daß die fehlerhaften Daten in
Bezug auf alle Speicherdaten in dem Flash-Speicher wiederge
wonnen und korrigiert werden können.
Nach dem vierten Aspekt der vorliegenden Erfindung ist ein Vor
teil, da fehlerhafte Daten in jedem Block wiedergewonnen werden
und die fehlerhaften Daten von irgendeiner Adresse in dem feh
lerhaften Block wiedergewonnen und korrigiert werden, daß die
fehlerhaften Daten im Vergleich mit der Erfindung nach dem
dritten Aspekt in einer kürzeren Zeit wiedergewonnen und korri
giert werden können.
Bei der Erfindung nach dem vierten Aspekt ist ein Vorteil, da
eine Adresse erhöht wird, wenn die verglichenen Ergebnisse in
konsistent sind oder nach der Korrektur der Daten, und eine
Blockadresse erhöht wird, wenn die Summierungsergebnisse in dem
Block inkonsistent sind oder nach der Korrektur der Daten, daß
die fehlerhaften Daten im Vergleich mit der Erfindung nach dem
dritten Aspekt in einer kürzeren Zeit in Bezug auf alle
Speicherzellen in dem Flash-Speicher wiedergewonnen und korri
giert werden können.
Auch ist bei der Erfindung nach dem dritten oder vierten Aspekt,
da die Daten, die ein oder mehrere Bits aufweisen, verglichen
werden und nur Daten der Speicherzelle entsprechend den inkon
sistenten Bits wiedereingeschrieben werden, zusätzlich zu den
Aktion des dritten und vierten Aspekts der Vorteil vorhanden,
daß die fehlerhaften Daten effizient wiedergewonnen und korri
giert werden können.
Ein weiterer Vorteil bei der Erfindung nach dem vierten Aspekt
ist, egal ob die korrekten Daten im Informationsschreibzustand
oder Informationslöschzustand sind, da die fehlerhaften Daten
im Informationsschreibzustand wiedereingeschrieben werden, daß
die fehlerhaften Daten einfach korrigiert werden können.
Weiter ist entsprechend zu dem fünften Aspekt der vorliegenden
Erfindung ein Vorteil, wenn die Reihenfolge des Programmierüber
prüfungsmodus und des Löschüberprüfungsmodus bei der Erfindung
nach dem dritten Aspekt umgedreht wird, daß die fehlerhaften
Daten in einer ähnlichen Art zu der in der Erfindung nach dem
dritten Aspekt wiedergewonnen und korrigiert werden können.
Weiter ist es ein Vorteil entsprechend zu dem sechsten Aspekt
der vorliegenden Erfindung, wenn die Reihenfolge des Program
mierüberprüfungsmodus und des Löschüberprüfungsmodus der Er
findung nach dem vierten Aspekt umgedreht ist, daß die fehler
haften Daten in einer ähnlichen Art zu der in der Erfindung
nach dem vierten Aspekt wiedergewonnen und korrigiert werden
können.
Claims (14)
1. Ein Flash-Speicher mit Datenauffrischfunktion, der einen
Überprüfbetrieb von Schreiben und Löschen von Daten in und
aus einer Speicherzelle unter Verwendung eines Programmierüber
prüfungsmodus und eines Löschüberprüfungsmodus erlaubt, mit
einem Vergleichsmittel (33, 37) zum Vergleichen von im Program
mierüberprüfungsmodus in Reaktion auf das Zuweisen einer Aus
leseadresse ausgelesene Daten und im Löschüberprüfungsmodus in
Reaktion auf das Zuweisen derselben Adresse wie die Auslese
adresse ausgelesenen Daten; und
einem Wiedereinschreibsteuermittel (31a, 34a) zum Steuern des Wiedereinschreibens von Daten einer Speicherzelle entsprechend inkonsistenten Daten, wenn die inkonsistenten Daten durch das Vergleichsmittel (33, 37) erfaßt wurden.
einem Wiedereinschreibsteuermittel (31a, 34a) zum Steuern des Wiedereinschreibens von Daten einer Speicherzelle entsprechend inkonsistenten Daten, wenn die inkonsistenten Daten durch das Vergleichsmittel (33, 37) erfaßt wurden.
2. Der Flash-Speicher mit Datenauffrischfunktion nach An
spruch 1, dadurch gekennzeichnet, daß
ein Steuermittel (31, 34) zum Zuweisen einer Ausleseadresse und zum Setzen des Programmierüberprüfungsmodus und des Lösch überprüfungsmodus in verschiedenen Lesezeitsteuerungen;
ein erstes Speichermittel (32a, 35b) zum Speichern von im Programmierüberprüfungsmodus in Reaktion auf das Zuweisen einer Ausleseadresse durch das Steuermittel (31, 34) aus gelesenen Daten, und zum Anlegen der Daten an das Vergleichs mittel (33, 37);
ein zweites Speichermittel (32b, 35c) zum Speichern von im Löschüberprüfungsmodus in Reaktion auf das Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Daten, und zum Anlegen der gespeicherten Daten an das Vergleichsmittel, und ein Adressenerhöhungsmittel (31b; 34b, 34c) zum Erhöhen der Ausleseadresse, wenn durch das Vergleichsmittel (33, 37) Koinzi denz festgestellt wird oder nach dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel (31a, 34a), vorgesehen ist.
ein Steuermittel (31, 34) zum Zuweisen einer Ausleseadresse und zum Setzen des Programmierüberprüfungsmodus und des Lösch überprüfungsmodus in verschiedenen Lesezeitsteuerungen;
ein erstes Speichermittel (32a, 35b) zum Speichern von im Programmierüberprüfungsmodus in Reaktion auf das Zuweisen einer Ausleseadresse durch das Steuermittel (31, 34) aus gelesenen Daten, und zum Anlegen der Daten an das Vergleichs mittel (33, 37);
ein zweites Speichermittel (32b, 35c) zum Speichern von im Löschüberprüfungsmodus in Reaktion auf das Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Daten, und zum Anlegen der gespeicherten Daten an das Vergleichsmittel, und ein Adressenerhöhungsmittel (31b; 34b, 34c) zum Erhöhen der Ausleseadresse, wenn durch das Vergleichsmittel (33, 37) Koinzi denz festgestellt wird oder nach dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel (31a, 34a), vorgesehen ist.
3. Ein Flash-Speicher mit Datenauffrischfunktion, der einen
Überprüfbetrieb von Schreiben und Löschen von Daten unter Ver
wendung eines Programmierüberprüfungsmodus und eines Löschüber
prüfungsmodus erlaubt, mit mehreren Blöcken, wobei jeder eine
Mehrzahl von Speicherzellen aufweist, und der Flash-Speicher
weist ein Vergleichsmittel (37) zum Vergleichen von einem Sum
mierungsergebnis von im Programmierüberprüfungsmodus von allen
Speicherzellen in einem Block von der Mehrzahl der Blöcke aus
gelesenen Daten und einem Summierungsergebnis von im Löschüber
prüfungsmodus von allen Speicherzellen in demselben Block wie
der eine Block ausgelesenen Daten, und zum Vergleichen von
im Programmierüberprüfungsmodus in Reaktion auf ein Zuweisen
einer Ausleseadresse ausgelesenen Daten und vom im Löschüber
prüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse
wie die Ausleseadresse ausgelesenen Daten in einem Block in dem
eine Inkonsistenz der Summierungsergebnisse festgestellt wird,
und
ein Wiedereinschreibsteuermittel (34a) zum Steuern des Wieder
einschreibens von Daten einer Speicherzelle entsprechend den in
konsistenten Daten, wenn die inkonsistenten Daten durch das Ver
gleichsmittel (37) festgestellt werden, auf.
4. Ein Flash-Speicher mit Datenauffrischfunktion, der einen
Überprüfbetrieb von Schreiben und Löschen von Daten unter Ver
wendung eines Programmierüberprüfungsmodus und eines Löschüber
prüfungsmodus erlaubt, mit mehreren Blöcken, wobei jeder meh
rere Speicherzellen aufweist, und der Flash-Speicher weist auf
ein Steuermittel (31, 34) zum nacheinander Zuweisen von Adres
sen der mehreren Blöcke und zum Zuweisen einer Ausleseadresse
in dem zugewiesenen Block, und zum Setzen des Programmierüber
prüfungsmodus und des Löschüberprüfungsmodus in unterschied
lichen Lesezeitsteuerungen während eines Datenauffrischbe
triebs;
ein erstes Speichermittel (32a; 35b) zum Speichern eines Sum mierungsergebnisses von von allen Speicherzellen in einem Block entsprechend einer Blockadresse, zugewiesen durch das Steuer mittel im Programmierüberprüfungsmodus, ausgelesenen Daten;
ein zweites Speichermittel (32b; 35c) zum Speichern eines Summierungsergebnisses von von allen Speicherzellen in dem einen Block im Löschüberprüfungsmodus ausgelesenen Daten; und
ein Vergleichsmittel (37) zum Vergleichen der in dem ersten und zweiten Speichermittel gespeicherten Ergebnissen, das erste Speichermittel (35b) speichert weiter im Programmier überprüfungsmodus in einem Block in dem eine Inkonsistenz fest gestellt wird ausgelesene Daten und in Reaktion auf ein Zuweisen einer Ausleseadresse, wenn die Inkonsistenz des Summierungser gebnisses durch das Vergleichsmittel (37) festgestellt wird, das zweite Speichermittel (35c) speichert weiter im Löschüber prüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse, ausgelesene Daten,
der Flash-Speicher weist weiter auf ein Wiedereinschreibsteuermittel (34a) zum Steuern des Wieder einschreibens von Daten von einer Speicherzelle entsprechend zu Daten bei denen eine Inkonsistenz durch das Vergleichsmittel (37) festgestellt wird;
ein Leseadressenerhöhungsmittel (34b) zum Erhöhen der Auslese adresse, wenn eine Übereinstimmung durch das Vergleichsmittel (37) festgestellt wird oder nach dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel (34a); und
ein Blockadressenerhöhungsmittel (34c) zum Erhöhen der Block adresse, wenn eine Übereinstimmung der Summierungsergebnisse durch das Vergleichsmittel (37) festgestellt wird oder nach dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel (34a).
ein erstes Speichermittel (32a; 35b) zum Speichern eines Sum mierungsergebnisses von von allen Speicherzellen in einem Block entsprechend einer Blockadresse, zugewiesen durch das Steuer mittel im Programmierüberprüfungsmodus, ausgelesenen Daten;
ein zweites Speichermittel (32b; 35c) zum Speichern eines Summierungsergebnisses von von allen Speicherzellen in dem einen Block im Löschüberprüfungsmodus ausgelesenen Daten; und
ein Vergleichsmittel (37) zum Vergleichen der in dem ersten und zweiten Speichermittel gespeicherten Ergebnissen, das erste Speichermittel (35b) speichert weiter im Programmier überprüfungsmodus in einem Block in dem eine Inkonsistenz fest gestellt wird ausgelesene Daten und in Reaktion auf ein Zuweisen einer Ausleseadresse, wenn die Inkonsistenz des Summierungser gebnisses durch das Vergleichsmittel (37) festgestellt wird, das zweite Speichermittel (35c) speichert weiter im Löschüber prüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse, ausgelesene Daten,
der Flash-Speicher weist weiter auf ein Wiedereinschreibsteuermittel (34a) zum Steuern des Wieder einschreibens von Daten von einer Speicherzelle entsprechend zu Daten bei denen eine Inkonsistenz durch das Vergleichsmittel (37) festgestellt wird;
ein Leseadressenerhöhungsmittel (34b) zum Erhöhen der Auslese adresse, wenn eine Übereinstimmung durch das Vergleichsmittel (37) festgestellt wird oder nach dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel (34a); und
ein Blockadressenerhöhungsmittel (34c) zum Erhöhen der Block adresse, wenn eine Übereinstimmung der Summierungsergebnisse durch das Vergleichsmittel (37) festgestellt wird oder nach dem Wiedereinschreiben durch das Wiedereinschreibsteuermittel (34a).
5. Der Flash-Speicher mit Datenauffrischfunktion nach Anspruch
2 oder 4, dadurch gekennzeichnet, daß
eine Mehrzahl von Speicherzellen vorgesehen sind, und daß das
erste Speichermittel (35b) Daten speichert, die ein oder mehrere
von einer oder mehreren Speicherzellen im Programmierüberprü
fungsmodus in Reaktion auf eine Ausleseadresse ausgelesene Bits
aufweist, und daß das zweite Speichermittel (35c) Daten
speichert, die einen oder mehrere von einer oder mehreren
Speicherzellen im Löschüberprüfungsmodus in Reaktion auf die
eine Ausleseadresse ausgelesene Bits aufweist, und daß das
Wiedereinschreibsteuermittel (34a) nur das Wiedereinschreiben
von Daten in eine Speicherzelle entsprechend zu inkonsistenten
Bits steuert, wenn die inkonsistenten Bits durch das Vergleichs
mittel (37) festgestellt werden.
6. Der Flash-Speicher mit Datenauffrischfunktion nach einem
der Ansprüche 1-5, dadurch gekennzeichnet, daß
das Wiedereinschreibsteuermittel (34a) Daten einer Speicherzelle
entsprechend den inkonsistenten Bits im Informationsschreibzu
stand wiedereinschreibt.
7. Ein Datenauffrischverfahren eines Flash-Speichers zum
Wiederauffinden und Korrigieren fehlerhafter Daten, daß einen
Überprüfbetrieb von Schreiben und Löschen von Daten in einer
Speicherzelle unter Verwendung eines Programmierüberprüfmodus
und eines Löschüberprüfmodus erlaubt, und das Verfahren
einen Schritt des Lesens von Daten im Programmierüberprüfungs
modus in Reaktion auf ein Zuweisen einer Ausleseadresse;
einen Schritt des Lesens von Daten im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Auslese adresse;
einen Schritt des Vergleichens der ausgelesenen Daten; und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend den inkonsistenten Daten, wenn die inkonsis tenten Daten durch den Vergleichsschritt festgestellt werden, aufweist.
einen Schritt des Lesens von Daten im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Auslese adresse;
einen Schritt des Vergleichens der ausgelesenen Daten; und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend den inkonsistenten Daten, wenn die inkonsis tenten Daten durch den Vergleichsschritt festgestellt werden, aufweist.
8. Das Datenauffrischverfahren eines Flash-Speichers nach
Anspruch 7, dadurch gekennzeichnet, daß
ein Schritt des Speicherns von im Programmierüberprüfungsmodus in Reaktion auf ein Zuweisen einer Ausleseadresse ausgelesene Daten vor dem Vergleichsschritt;
ein Schritt des Speicherns von im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Auslese adresse ausgelesenen Daten vor dem Vergleichsschritt; und
ein Schritt des Erhöhens der Ausleseadresse, wenn Übereinstim mung beim Vergleich festgestellt wird oder nach dem Wiederein schreiben, vorgesehen sind.
ein Schritt des Speicherns von im Programmierüberprüfungsmodus in Reaktion auf ein Zuweisen einer Ausleseadresse ausgelesene Daten vor dem Vergleichsschritt;
ein Schritt des Speicherns von im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Auslese adresse ausgelesenen Daten vor dem Vergleichsschritt; und
ein Schritt des Erhöhens der Ausleseadresse, wenn Übereinstim mung beim Vergleich festgestellt wird oder nach dem Wiederein schreiben, vorgesehen sind.
9. Ein Datenauffrischverfahren eines Flash-Speichers, das
einen Überprüfbetrieb von Schreiben und Löschen von Daten unter
Verwendung eines Programmierüberprüfungsmodus und eines Lösch
überprüfungsmodus erlaubt, mit mehreren Blöcken, wobei jeder
mehrere Speicherzellen aufweist, und das Verfahren einen Schritt
des Summierens von von allen Speicherzellen in einem Block der
mehreren Blöcke im Programmierüberprüfungsmodus ausgelesenen
Daten,
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie der eine Block im Löschüberprüfungsmodus ausgelesenen Daten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von im Programmierüberprüfungs modus in Reaktion auf ein Zuweisen einer Ausleseadresse aus gelesenen Daten und von im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse aus gelesenen Daten, in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend den inkonsistenten Daten, wenn die inkonsis tenten Daten durch den Vergleich festgestellt werden, aufweist.
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie der eine Block im Löschüberprüfungsmodus ausgelesenen Daten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von im Programmierüberprüfungs modus in Reaktion auf ein Zuweisen einer Ausleseadresse aus gelesenen Daten und von im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse aus gelesenen Daten, in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend den inkonsistenten Daten, wenn die inkonsis tenten Daten durch den Vergleich festgestellt werden, aufweist.
10. Ein Datenauffrischverfahren eines Flash-Speichers, das
einen Überprüfbetrieb von Schreiben und Löschen von Daten unter
Verwendung eines Programmierüberprüfungsmodus und eines Lösch
überprüfungsmodus erlaubt, mit mehreren Blöcken, wobei jeder
mehrere Speicherzellen aufweist, und das Verfahren
einen Schritt des nacheinander Zuweisens von Blockadressen von
den mehreren Blöcken und des Zuweisens einer Ausleseadresse in
dem zugewiesenen Block und des Setzens des Programmierüberprü
fungsmodus und des Löschüberprüfungsmodus in verschiedenen
Lesezeitsteuerungen während des Datenauffrischbetriebes,
einen Schritt des Speicherns eines Summierungsergebnisses von von allen Speicherzellen in einem Block entsprechend der zuge wiesenen Blockadresse im Programmierüberprüfungsmodus ausgele senen Daten,
einen Schritt des Speicherns eines Summierungsergebnisses von von allen Speicherzellen in dem einen Block im Löschüberprü fungsmodus ausgelesenen Daten,
einen Schritt des Vergleichens der gespeicherten Summierungs ergebnisse,
einen Schritt des Speicherns von im Programmierüberprüfungsmodus in Reaktion auf ein Zuweisen einer Ausleseadresse durch das Steuermittel (31, 34) ausgelesenen Daten, in einem Block in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird,
einen Schritt des Speicherns von im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse als Ausleseadresse ausgelesenen Daten,
einen Schritt des Vergleichens der gespeicherten Daten,
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend zu Daten bei denen eine Inkonsistenz durch den Vergleich festgestellt wird,
einen Schritt des Erhöhens der Ausleseadresse, wenn Überein stimmung beim Vergleichsschritt festgestellt wird oder nach dem Wiedereinschreibschritt, und
einen Schritt des Erhöhens der Blockadresse, wenn eine Überein stimmung der Summierungsergebnisse beim Vergleich festgestellt wird oder nach dem Wiedereinschreiben durch den Wiederein schreibschritt, aufweist.
einen Schritt des Speicherns eines Summierungsergebnisses von von allen Speicherzellen in einem Block entsprechend der zuge wiesenen Blockadresse im Programmierüberprüfungsmodus ausgele senen Daten,
einen Schritt des Speicherns eines Summierungsergebnisses von von allen Speicherzellen in dem einen Block im Löschüberprü fungsmodus ausgelesenen Daten,
einen Schritt des Vergleichens der gespeicherten Summierungs ergebnisse,
einen Schritt des Speicherns von im Programmierüberprüfungsmodus in Reaktion auf ein Zuweisen einer Ausleseadresse durch das Steuermittel (31, 34) ausgelesenen Daten, in einem Block in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird,
einen Schritt des Speicherns von im Löschüberprüfungsmodus in Reaktion auf ein Zuweisen derselben Adresse als Ausleseadresse ausgelesenen Daten,
einen Schritt des Vergleichens der gespeicherten Daten,
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend zu Daten bei denen eine Inkonsistenz durch den Vergleich festgestellt wird,
einen Schritt des Erhöhens der Ausleseadresse, wenn Überein stimmung beim Vergleichsschritt festgestellt wird oder nach dem Wiedereinschreibschritt, und
einen Schritt des Erhöhens der Blockadresse, wenn eine Überein stimmung der Summierungsergebnisse beim Vergleich festgestellt wird oder nach dem Wiedereinschreiben durch den Wiederein schreibschritt, aufweist.
11. Das Datenauffrischverfahren eines Flash-Speichers nach
Anspruch 8 oder 10, dadurch gekennzeichnet, daß
beim Speicherschritt Daten, die ein oder mehrere Bits auf weisen, von einer oder mehreren Speicherzellen in Reaktion auf eine Ausleseadresse gespeichert werden,
und beim Wiedereinschreibschritt, wenn inkonsistente Bits beim Vergleich festgestellt werden, nur Daten einer Speicherzelle entsprechend den inkonsistenten Bits wiedereingeschrieben werden.
beim Speicherschritt Daten, die ein oder mehrere Bits auf weisen, von einer oder mehreren Speicherzellen in Reaktion auf eine Ausleseadresse gespeichert werden,
und beim Wiedereinschreibschritt, wenn inkonsistente Bits beim Vergleich festgestellt werden, nur Daten einer Speicherzelle entsprechend den inkonsistenten Bits wiedereingeschrieben werden.
12. Das Datenauffrischverfahren eines Flash-Speichers nach
einem der Ansprüche 8-11, dadurch gekennzeichnet, daß
beim Wiedereinschreibschritt Daten einer Speicherzelle ent
sprechend den inkonsistenten Bits im Informationsschreibzustand
wiedereingeschreiben werden.
13. Ein Datenauffrischverfahren eines Flash-Speichers, das
einen Überprüfbetrieb von Schreiben und Lesen von Daten einer
Speicherzelle unter Verwendung eines Programmierüberprüfungs
modus oder eines Löschüberprüfungsmodus erlaubt, das Verfahren
weist
einen Schritt des Lesens von Daten im Löschüberprüfungsmodus in
Reaktion auf ein Zuweisen einer Ausleseadresse,
einen Schritt des Lesens von Daten im Programmierüberprüfungs modus in Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse,
einen Schritt des Vergleichens der ausgelesenen Daten, und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend inkonsistenten Daten, wenn die inkonsistenten Daten beim Vergleichsschritt festgestellt werden, auf.
einen Schritt des Lesens von Daten im Programmierüberprüfungs modus in Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse,
einen Schritt des Vergleichens der ausgelesenen Daten, und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend inkonsistenten Daten, wenn die inkonsistenten Daten beim Vergleichsschritt festgestellt werden, auf.
14. Ein Datenauffrischverfahren eines Flash-Speichers, das
einen Überprüfbetrieb von Schreiben und Löschen von Daten unter
Verwendung eines Programmierüberprüfungsmodus und eines Lösch
überprüfungsmodus erlaubt, mit mehreren Blöcken, wobei jeder
mehrere Speicherzellen aufweist, daß Verfahren
einen Schritt des Summierens von von allen Speicherzellen in einem Block von den mehreren Blöcken im Löschüberprüfungsmodus ausgelesenen Daten,
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie dem einen Block im Programmierüberprüfungs modus ausgelesenen Daten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von im Löschüberprüfungsmodus in Reaktion auf eine Zuweisung von einer Ausleseadresse ausgele senen Daten und von im Programmierüberprüfungsmodus in Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse der ausgelesenen Daten, in einem Block in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend den inkonsistenten Daten, wenn die inkonsis tenten Daten beim Vergleich festgestellt werden, aufweist.
einen Schritt des Summierens von von allen Speicherzellen in einem Block von den mehreren Blöcken im Löschüberprüfungsmodus ausgelesenen Daten,
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie dem einen Block im Programmierüberprüfungs modus ausgelesenen Daten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von im Löschüberprüfungsmodus in Reaktion auf eine Zuweisung von einer Ausleseadresse ausgele senen Daten und von im Programmierüberprüfungsmodus in Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse der ausgelesenen Daten, in einem Block in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von Daten einer Speicher zelle entsprechend den inkonsistenten Daten, wenn die inkonsis tenten Daten beim Vergleich festgestellt werden, aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP130395A JPH08190796A (ja) | 1995-01-09 | 1995-01-09 | データリフレッシュ機能を有するフラッシュメモリ及びフラッシュメモリのデータリフレッシュ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19531683A1 true DE19531683A1 (de) | 1996-07-18 |
DE19531683C2 DE19531683C2 (de) | 1997-10-30 |
Family
ID=11497721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19531683A Expired - Fee Related DE19531683C2 (de) | 1995-01-09 | 1995-08-29 | Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers |
Country Status (3)
Country | Link |
---|---|
US (1) | US5574684A (de) |
JP (1) | JPH08190796A (de) |
DE (1) | DE19531683C2 (de) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5361227A (en) | 1991-12-19 | 1994-11-01 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and memory system using the same |
US6781895B1 (en) * | 1991-12-19 | 2004-08-24 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and memory system using the same |
US5724289A (en) * | 1993-09-08 | 1998-03-03 | Fujitsu Limited | Nonvolatile semiconductor memory capable of selectively performing a pre-conditioning of threshold voltage before an erase self-test of memory cells and a method related therewith |
JP3584338B2 (ja) * | 1994-03-03 | 2004-11-04 | ローム・ユーエスエー・インク | 電気的に消去及びプログラム可能なデバイスの消去方法 |
EP0741387B1 (de) * | 1995-05-05 | 2000-01-12 | STMicroelectronics S.r.l. | Nichtflüchtige Speicheranordnung mit Sektoren, deren Grösse und Anzahl bestimmbar sind |
JP3562043B2 (ja) * | 1995-07-19 | 2004-09-08 | ソニー株式会社 | 不揮発性記憶装置 |
JPH09204367A (ja) * | 1996-01-25 | 1997-08-05 | Mitsubishi Electric Corp | フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法 |
US5805794A (en) * | 1996-03-28 | 1998-09-08 | Cypress Semiconductor Corp. | CPLD serial programming with extra read register |
US5835503A (en) * | 1996-03-28 | 1998-11-10 | Cypress Semiconductor Corp. | Method and apparatus for serially programming a programmable logic device |
US5768288A (en) * | 1996-03-28 | 1998-06-16 | Cypress Semiconductor Corp. | Method and apparatus for programming a programmable logic device having verify logic for comparing verify data read from a memory location with program data |
US5815510A (en) * | 1996-03-28 | 1998-09-29 | Cypress Semiconductor Corp. | Serial programming of instruction codes in different numbers of clock cycles |
US5777923A (en) * | 1996-06-17 | 1998-07-07 | Aplus Integrated Circuits, Inc. | Flash memory read/write controller |
JPH1011996A (ja) * | 1996-06-24 | 1998-01-16 | Advantest Corp | メモリ試験装置 |
KR100193898B1 (ko) * | 1996-06-29 | 1999-06-15 | 김영환 | 플래쉬 메모리 장치 |
JPH1064294A (ja) * | 1996-08-20 | 1998-03-06 | Advantest Corp | メモリデバイスの不良救済解析方法 |
US5928370A (en) * | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US5974499A (en) * | 1997-04-23 | 1999-10-26 | Micron Technology, Inc. | Memory system having read modify write function and method |
US6320945B1 (en) | 1997-06-05 | 2001-11-20 | Ronald J. Honick | Line-powered pay telephone |
JP3599541B2 (ja) * | 1997-11-27 | 2004-12-08 | シャープ株式会社 | 不揮発性半導体記憶装置 |
KR100744103B1 (ko) * | 1997-12-30 | 2007-12-20 | 주식회사 하이닉스반도체 | 플래쉬메모리장치의로우디코더 |
JP3138688B2 (ja) * | 1998-07-24 | 2001-02-26 | 日本電気アイシーマイコンシステム株式会社 | 不揮発性半導体記憶装置及びプログラムベリファイ方法 |
EP0991081B1 (de) * | 1998-09-30 | 2005-11-30 | STMicroelectronics S.r.l. | Emulierte EEPROM Speicheranordnung und entsprechendes Verfahren |
JP2000132981A (ja) * | 1998-10-26 | 2000-05-12 | Nec Corp | 不揮発性半導体記憶装置の書込み装置とその書込み方法 |
JP2000228094A (ja) | 1999-02-04 | 2000-08-15 | Toshiba Corp | 不揮発性半導体記憶装置 |
US6208558B1 (en) * | 1999-04-16 | 2001-03-27 | Advanced Micro Devices, Inc. | Acceleration circuit for fast programming and fast chip erase of non-volatile memory |
US6304486B1 (en) * | 1999-12-20 | 2001-10-16 | Fujitsu Limited | Sensing time control device and method |
JP2002074999A (ja) | 2000-08-23 | 2002-03-15 | Sharp Corp | 不揮発性半導体記憶装置 |
US6928607B2 (en) * | 2000-10-19 | 2005-08-09 | Oracle International Corporation | Data integrity verification mechanism |
EP1233421B1 (de) * | 2001-02-19 | 2007-07-11 | STMicroelectronics S.r.l. | Verfahren zur Auffrischung der gespeicherten Daten in einem elektrisch lösch- und programmierbaren nichtflüchtigen Speicher |
US6542407B1 (en) * | 2002-01-18 | 2003-04-01 | Sandisk Corporation | Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells |
US6633500B1 (en) * | 2002-04-26 | 2003-10-14 | Macronix International Co., Ltd. | Systems and methods for refreshing a non-volatile memory using a token |
US7010644B2 (en) | 2002-08-29 | 2006-03-07 | Micron Technology, Inc. | Software refreshed memory device and method |
KR100521364B1 (ko) * | 2002-11-18 | 2005-10-12 | 삼성전자주식회사 | 플레쉬 메모리 셀들의 프로그램 오판을 방지하고 균일한문턱 전압 산포를 가질 수 있는 플레쉬 메모리 장치 및 그프로그램 검증 방법 |
JP3914869B2 (ja) * | 2002-12-20 | 2007-05-16 | スパンション インク | 不揮発性メモリ及びその書き換え方法 |
US7289363B2 (en) * | 2005-05-19 | 2007-10-30 | Micron Technology, Inc. | Memory cell repair using fuse programming method in a flash memory device |
TWI271620B (en) * | 2005-06-16 | 2007-01-21 | Ememory Technology Inc | Method and apparatus for performing multi-programmable function with one-time programmable memories |
US7385855B2 (en) * | 2005-12-26 | 2008-06-10 | Ememory Technology Inc. | Nonvolatile memory device having self reprogramming function |
US8645793B2 (en) * | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
KR100771520B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
US7539062B2 (en) * | 2006-12-20 | 2009-05-26 | Micron Technology, Inc. | Interleaved memory program and verify method, device and system |
JP5105351B2 (ja) * | 2007-04-10 | 2012-12-26 | 株式会社メガチップス | 不揮発性半導体記憶装置 |
US7808834B1 (en) | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
US8031526B1 (en) | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
US8189381B1 (en) | 2007-08-28 | 2012-05-29 | Marvell International Ltd. | System and method for reading flash memory cells |
US8085605B2 (en) | 2007-08-29 | 2011-12-27 | Marvell World Trade Ltd. | Sequence detection for flash memory with inter-cell interference |
US7768847B2 (en) | 2008-04-09 | 2010-08-03 | Rambus Inc. | Programmable memory repair scheme |
US7917803B2 (en) * | 2008-06-17 | 2011-03-29 | Seagate Technology Llc | Data conflict resolution for solid-state memory devices |
TW201011761A (en) * | 2008-09-15 | 2010-03-16 | Amic Technology Corp | Refresh method for a non-volatile memory |
US8161355B2 (en) | 2009-02-11 | 2012-04-17 | Mosys, Inc. | Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process |
KR101654030B1 (ko) * | 2011-12-29 | 2016-09-05 | 인텔 코포레이션 | Nand 메모리 내구성을 개선하는 동적 윈도우 |
KR20130104287A (ko) * | 2012-03-13 | 2013-09-25 | 삼성전자주식회사 | 센싱 검증부를 포함하는 반도체 메모리 장치 |
JP5853906B2 (ja) * | 2012-08-24 | 2016-02-09 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 |
US9147501B2 (en) | 2013-03-13 | 2015-09-29 | Macronix International Co., Ltd. | Retention logic for non-volatile memory |
US9910730B2 (en) | 2015-10-21 | 2018-03-06 | Sandisk Technologies Llc | System for handling erratic word lines for non-volatile memory |
US10228998B2 (en) * | 2016-08-04 | 2019-03-12 | Taiwan Semiconductor Manufacturing Company Limited | Systems and methods for correcting data errors in memory susceptible to data loss when subjected to elevated temperatures |
US10026488B2 (en) | 2016-08-18 | 2018-07-17 | Sandisk Technologies Llc | Non-volatile memory with read disturb detection for open blocks |
EP4004742A4 (de) * | 2019-07-31 | 2023-04-19 | Hewlett-Packard Development Company, L.P. | Aktualisierungen eines flash-speichers basierend auf bestimmungen von bits zum löschen |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365486A (en) * | 1992-12-16 | 1994-11-15 | Texas Instruments Incorporated | Method and circuitry for refreshing a flash electrically erasable, programmable read only memory |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960002004B1 (ko) * | 1991-02-19 | 1996-02-09 | 가부시키가이샤 도시바 | 기록검증 제어회로를 갖춘 전기적으로 소거 및 프로그램가능한 독출전용 기억장치 |
US5245572A (en) * | 1991-07-30 | 1993-09-14 | Intel Corporation | Floating gate nonvolatile memory with reading while writing capability |
JP2632104B2 (ja) * | 1991-11-07 | 1997-07-23 | 三菱電機株式会社 | 不揮発性半導体記憶装置 |
JPH0664918A (ja) * | 1992-08-21 | 1994-03-08 | Asahi Glass Co Ltd | アルミナ水和物およびアルミナゾルの製造方法 |
US5414664A (en) * | 1993-05-28 | 1995-05-09 | Macronix International Co., Ltd. | Flash EPROM with block erase flags for over-erase protection |
-
1995
- 1995-01-09 JP JP130395A patent/JPH08190796A/ja active Pending
- 1995-06-05 US US08/463,802 patent/US5574684A/en not_active Expired - Fee Related
- 1995-08-29 DE DE19531683A patent/DE19531683C2/de not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365486A (en) * | 1992-12-16 | 1994-11-15 | Texas Instruments Incorporated | Method and circuitry for refreshing a flash electrically erasable, programmable read only memory |
Also Published As
Publication number | Publication date |
---|---|
US5574684A (en) | 1996-11-12 |
DE19531683C2 (de) | 1997-10-30 |
JPH08190796A (ja) | 1996-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19531683C2 (de) | Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers | |
DE4446998C2 (de) | Halbleiterspeichereinrichtung | |
DE4433098C2 (de) | Halbleiter-Permanentspeichervorrichtung | |
DE60132830T2 (de) | Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher | |
DE60213620T2 (de) | Nichtflüchtiger speicher mit blocklöschung | |
DE102005039099B4 (de) | Löschverfahren und nichtflüchtiges Speicherbauelement | |
DE60017838T2 (de) | Nichtflüchtiger Speicher Typ NAND | |
DE60126383T2 (de) | Nichtflüchtige Halbleiterspeicheranordnung | |
DE3637682C2 (de) | ||
DE102008002083B4 (de) | Flash-Speichervorrichtung und entsprechende Programmierverfahren | |
DE4232025C2 (de) | Elektrisch löschbarer und programmierbarer nichtflüchtiger Halbleiterspeicher mit automatischem Schreibprüfungs-Controller | |
DE102005029875B4 (de) | Flash-Speichervorrichtung mit verbesserter Vorprogammierfunktion und Verfahren zum Steuern eines Vorprogrammierbetriebs darin | |
DE10037037B4 (de) | Erfassungszeit-Steuervorrichtung und -Verfahren | |
DE102006028209B4 (de) | Verfahren zum Löschen von Speicherzellen einer Flash-Speichereinrichtung und Halbleiterspeichereinrichtung | |
DE60015770T2 (de) | Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen | |
DE102008030264A1 (de) | Verfahren zum Lesen eines Flashspeichers und Speichersystem | |
DE4207934A1 (de) | Elektrisch loesch- und programmierbares, nichtfluechtiges speichersystem mit schreib-pruef-einsteller unter verwendung zweier bezugspegel | |
DE19629888A1 (de) | Verfahren zur Auffrischung von Flashspeicherdaten auf einer Flash-Festplattenspeicherkarte | |
DE102005020796B4 (de) | Halbleiterspeicherbauelement und Programmierverfahren | |
DE102007061406A1 (de) | Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte | |
DE69731255T2 (de) | Verfahren zum Löschen eines nichtflüchtigen Speichers | |
DE19615660A1 (de) | Schaltung zur Aufbringung einer Belastungsspannung in eine Blockeinheit für die Verwendung in einer Halbleiterspeichervorrichtung | |
DE60016104T2 (de) | Nichtflüchtige Halbleiterspeicheranordnung | |
DE102006028967B4 (de) | Verfahren zum Programmieren eines nichtflüchtigen Halbleiterspeicherbauelements und Verfahren zum Lesen von programmierten Speicherzellen | |
DE69821039T2 (de) | Halbleiterspeicheranordnung mit der Fähigkeit, genaue und gemeinsame Löschprüfung von allen Speicherzellen auszuführen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |