DE19531683C2 - Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers - Google Patents
Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-SpeichersInfo
- Publication number
- DE19531683C2 DE19531683C2 DE19531683A DE19531683A DE19531683C2 DE 19531683 C2 DE19531683 C2 DE 19531683C2 DE 19531683 A DE19531683 A DE 19531683A DE 19531683 A DE19531683 A DE 19531683A DE 19531683 C2 DE19531683 C2 DE 19531683C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- address
- check mode
- read
- 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.)
- Expired - Fee Related
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,5 V ange
legt, und eine Spannung Vpp (12 V) 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 Spaltenrichtung sind die Drains
mit den Bitleitungen BL, jeweils (BL1-BL3), verbunden, und in
Zeilenrichtung 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 Datenein
gangsregister 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 Elektronen von dem schwebenden Gate
entnommen, und die Einsatzspannung des Speichertransistors wird
nicht ungefähr 1 V 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 Steuergate 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 Ein
gangsdaten (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,0 V) 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 5 V 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 (AOH) 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,2 V) 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 (5 V) 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 des Flash-Speichers nur zu einer Erhöhung des Speicherprei
ses führt, da der Flash-Speicher zwangsläufig aussortiert werden
muß.
Aus der US 5 365 486 ist ein Auffrisch-Verfahren für einen
Flash-EEPROM bekannt. Bei diesem Verfahren wird mit Hilfe einer
angehobenen sowie einer reduzierten Auslesespannung überprüft,
ob die Zellen ausreichend programmiert wurden.
Es ist Aufgabe der vorliegenden Erfindung, einen Flash-Speicher
mit Datenauffrischfunktion und ein Datenauffrischverfahren für
einen Flash-Speicher zur Verfügung zu stellen, bei denen jeweils
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 korrigiert werden kann.
Die Aufgabe wird durch den Flash-Speicher der Ansprüche 1 oder 3
und durch das Verfahren der Ansprüche 7, 9, 13 oder 14 gelöst.
Weiterbildungen der Erfindung sind in den Unteransprüchen ange
geben.
Bei dem Flash-Speicher mit Datenauffrischfunktion wird der Pro
grammierüberprüfungsmodus und der Löschüberprüfungsmodus verwen
det und als erstes wird ein Block mit einem fehlerhaften Daten
wert bestimmt, danach kann die oben erwähnte Speicherzelle be
stimmt werden und der fehlerhafte Datenwert korrigiert werden.
Damit kann der fehlerhafte Datenwert wiedergewonnen und in einer
kurzen Zeit korrigiert werden.
Bei dem Datenauffrischverfahren eines Flash-Speichers werden der
Programmierüberprüfungsmodus und der Löschüberprüfungsmodus ver
wendet und zuerst kann ein Block mit einem fehlerhaften Daten
wert festgelegt werden, darauf folgend kann die oben erwähnte
Speicherzelle festgelegt werden und der fehlerhafte Datenwert
korrigiert werden. Damit kann der fehlerhafte Datenwert in einer
kurzen Zeit wiedergewonnen und korrigiert werden.
Bei dem Flash-Speicher mit Datenauffrischfunktion des Anspruches
1 werden im Programmierüberprüfungsmodus ausgelesene Daten und
im Löschüberprüfungsmodus ausgelesene Daten für jede Adresse
verglichen, damit können, sogar wenn Daten direkt nach Schreiben
in die Speicherzelle oder direkt nach Löschen verändert werden
und fehlerhafte Daten nach Überprüfen werden, die fehlerhaften
Daten irgendeiner Adresse wiedergewonnen und korrigiert werden.
Es wird bevorzugt ein Adressenerhöhungsmittel zum Erhöhen der
auszulesenden Adresse, wenn Übereinstimmung durch das Ver
gleichsmittel oder nach dem Wiedereinschreiben durch das Wieder
einschreibsteuermittel festgestellt wird, vorgesehen.
Die Adresse wird erhöht, wenn die verglichenen Ergebnisse über
einstimmend sind oder nach Korrektur des Datenwertes, damit kann
der fehlerhafte Datenwert wiedergewonnen und korrigiert werden
in Bezug auf alle Speicherzellen in dem Flash-Speicher.
Da die Ausleseadresse bei dem Flash-Speicher nach dem Wiederein
schreiben durch das Wiedereinschreibsteuermittel erhöht wird,
können fehlerhafte Daten in Bezug auf alle Speicherzellen in dem
Flash-Speicher wiedergewonnen und korrigiert werden, und die An
zahl 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 verrin
gert wird, und damit der Preis des Flash-Speichers verringert
werden kann.
Bei dem Flash-Speicher mit Datenauffrischfunktion des Anspruches
3 können, da die fehlerhaften Daten in jedem Block wiedergewon
nen 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 dem Flash-Speicher des Anspruches 1 von irgend
einer Adresse gewonnen und weiter korrigiert werden.
Es wird bevorzugt ein Leseadressenerhöhungsmittel zum Erhöhen
der auszulesenden Adresse, wenn Übereinstimmung durch das Ver
gleichsmittel oder nach dem Wiedereinschreiben durch das Wieder
einschreibsteuermittel festgestellt wird, 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.
Die Adresse wird erhöht, wenn die verglichenen Ergebnisse über
einstimmen oder nach der Korrektur des Wertes, und die Block
adresse wird erhöht, wenn die Summenergebnisse innerhalb des
Blocks übereinstimmen oder nach der Korrektur des Wertes. Damit
können im Vergleich mit dem Flash-Speicher des Anspruches 1 die
fehlerhaften Werte in Bezug auf alle Speicherzellen innerhalb
des Flash-Speichers weiter innerhalb einer kurzen Zeit wiederge
wonnen und korrigiert werden.
Da eine Adresse erhöht wird, wenn die verglichenen Ergebnisse
konsistent sind oder nach der Korrektur, und eine Blockadresse
erhöht wird, wenn die Summierungsergebnisse in dem Block konsi
stent sind oder nach der Korrektur des Datenwertes, kann bei dem
Flash-Speicher des Anspruches 3 eine Speicherzelle, die einen
fehlerhaften Datenwert speichert, unter allen Speicherzellen in
jedem Block wiederaufgefunden und korrigiert werden und kann der
fehlerhafte Datenwert im Vergleich mit dem Flash-Speicher des
Anspruches 1 in einer kürzeren Zeit wiedergewonnen und korri
giert werden im Bezug auf alle Speicherzellen des Flash-Spei
chers.
Bei dem Flash-Speicher der Ansprüche 2 und 4 ist es bevorzugt,
daß das erste Speichermittel und das zweite Speichermittel Daten
speichern, die ein oder mehrere Bits aufweisen, und daß das Wie
dereinschreibsteuermittel nur das Wiedereinschreiben der Daten
von der Speicherzelle, die den inkonsistenten Bits entspricht,
steuert.
Es werden Daten, die ein oder mehrere Bits aufweisen, als Reak
tion auf ein Ausleseadreßsignal verglichen, und nur Daten von
der Speicherzelle entsprechend den inkonsistenten Bits werden
wieder eingeschrieben, und die fehlerhaften Daten können effi
zient wiedergewonnen und korrigiert werden.
Es ist bevorzugt, daß das Wiedereinschreibsteuermittel Daten der
Speicherzelle entsprechend den inkonsistenten Bits im Informa
tionsschreibzustand wieder einschreibt.
Es können fehlerhafte Daten, wenn die korrekten Daten im Infor
mationsschreibzustand oder im Informationslöschzustand sind, im
Informationsschreibzustand wieder eingeschrieben werden. Damit
können die fehlerhaften Daten einfach korrigiert werden.
Entsprechend dem Datenauffrischverfahren des Flash-Speichers
nach Anspruch 7 können, da die im Programmierüberprüfungsmodus
und die im Löschüberprüfungsmodus ausgelesenen Datenwerte in
jeder Adresse verglichen werden und festgestellt wird, ob die
Daten inkonsistent sind oder nicht, sogar wenn die Daten verän
dert 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.
Das Verfahren des Anspruches 7 weist bevorzugt den Schritt des
Erhöhens der auszulesenden Adresse auf, wenn Übereinstimmung
beim Vergleich festgestellt wird oder nach dem Wiedereinschrei
ben.
Da die auszulesende Adresse nach dem Wiedereinschreiben der feh
lerhaften Daten erhöht wird, können fehlerhafte Daten in Bezug
auf alle Speicherzellen innerhalb des Flash-Speichers wiederge
wonnen werden.
Entsprechend dem Datenauffrischverfahren des Flash-Speichers des
Anspruches 9 können, da fehlerhafte Daten in jedem Block wieder
gewonnen 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 dem Verfahren des Anspruches 7 in einer kürze
ren Zeit wiedergewonnen und korrigiert werden.
Das Verfahren des Anspruches 9 weist bevorzugt einen Schritt des
Erhöhens der auszulesenden Adresse auf, wenn Übereinstimmung der
Daten durch das Vergleichen in der zugewiesenen Ausleseadresse
festgestellt wird oder nach dem Wiedereinschreiben durch das
Wiedereinschreibsteuermittel, und einen Schritt des Erhöhens der
Blockadresse, wenn Übereinstimmung beim Vergleich der Summener
gebnisse festgestellt wird oder nach dem Wiedereinschreiben.
Die Adresse wird erhöht, wenn die verglichenen Ergebnisse über
einstimmen oder nach der Korrektur der Daten, und die Block
adresse wird erhöht, wenn die Summenergebnisse in dem Block
übereinstimmen oder nach der Korrektur der Daten. Damit können
fehlerhafte Daten im Vergleich mit dem Verfahren des Anspruches
7 in einer kürzeren Zeit in Bezug auf alle Speicherzellen in dem
Flash-Speicher wiedergewonnen und korrigiert werden.
Bei den Verfahren der Ansprüche 7 und 9 ist es vorzuziehen, daß
im Speicherschritt Daten, die ein oder mehrere Bits aufweisen,
als Reaktion auf eine Ausleseadresse gespeichert werden, und im
Wiedereinschreibschritt nur Daten der Speicherzelle entsprechend
den inkonsistenten Bits wiedereingeschrieben werden, wenn die
inkonsistenten Bits beim Vergleich festgestellt werden.
Es werden Daten, die ein oder mehrere Bits aufweisen, verglichen
und nur Daten der Speicherzelle entsprechend den inkonsistenten
Bits werden wieder eingeschrieben. Damit können fehlerhafte
Daten effizient wiedergewonnen und korrigiert werden.
Bei dem Verfahren des Anspruches 9 ist es bevorzugt, daß beim
Wiedereinschreibschritt Daten der Speicherzelle entsprechend den
inkonsistenten Bits im Informationsschreibzustand wiedereinge
schrieben werden.
Wie oben erwähnt, werden, ob die korrigierten Daten im Informa
tionsschreibzustand oder im Informationslöschzustand sind, die
fehlerhaften Daten im Informationsschreibzustand wiedereinge
schrieben. Damit können die fehlerhaften Daten einfach korri
giert werden.
Bei dem Verfahren des Anspruches 13 ist die Reihenfolge des Pro
grammierüberprüfungsmodus und des Löschüberprüfungsmodus des
Verfahrens des Anspruches 7 umgedreht.
Sogar wenn die Reihenfolge des Programmierüberprüfungsmodus und
des Löschüberprüfungsmodus des Verfahrens des Anspruches 7 umge
dreht ist, wie oben erwähnt, können die fehlerhaften Daten in
einer ähnlichen Art wie bei dem Verfahren des Anspruches 7 wie
dergewonnen und korrigiert werden.
Bei dem Verfahren des Anspruches 14 ist die Reihenfolge des Pro
grammierüberprüfungsmodus und des Löschüberprüfungsmodus des
Verfahrens des Anspruches 9 umgedreht.
Sogar wenn die Reihenfolge des Programmierüberprüfungsmodus und
des Löschüberprüfungsmodus umgedreht ist, wie oben erwähnt, kön
nen fehlerhafte Daten in einer ähnlichen Art wie bei dem Verfah
ren des Anspruches 9 wiedergewonnen und korrigiert werden.
Es folgt die 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,
daß 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-Speicher 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 Daten 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, das unterschiedliche Bit als von "0"
zu "1" aufgrund von störender Beanspruchung geändert betrach
tet, und eine "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
grammierspannungserzeugungsschaltung 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 endgü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 36 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 Blockadressen 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 besetzt. Damit erzeugt die Über
prüfungsspannungserzeugungsschaltung 11 eine Löschüberprüfungs
spannung 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 Programmierüberprüfungsmodus 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 × 512K Bytes × 2 = ungefähr 0,12 Sekunden, und
die Modusänderungszeit in allen Adressen ist 2 Mikrosekunden ×
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 × 16K Bytes × 2 = 4,8
Millisekunden, und die Modusänderungszeit in einem Block ist 2
Millisekunden × 2 = 4 Millisekunden. Folglich wird die gemessene
Zeit von allen Blöcken (4,8 Millisekunden + 4 Millisekunden) ×
32 Blöcke = ungefähr 281,6 Millisekunden.
Andererseits ist die Lesezeit in einem Block mit einem exis
tierenden fehlerhaften Bit (Modusänderungszeit) × 2 × 16K Bytes
+ Lesen eines Taktes × 16K Bytes × 2 = 2 Mikrosekunden × 2 × 16K
Bytes + 150 Nanosekunden × 16K Bits × 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.
Claims (14)
1. Flash-Speicher mit Datenauffrischfunktion, der einen Über
prüfbetrieb von Schreiben und Löschen eines Datenwertes 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 einem im Programmierüberprüfungsmodus als Reaktion auf das Zuweisen einer Ausleseadresse ausgelesenen Datenwert und einem im Löschüberprü fungsmodus als Reaktion auf das Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwertes und
einem Wiedereinschreibsteuermittel (31a, 34a) zum Steuern des Wiedereinschreibens eines Datenwertes einer Speicherzelle ent sprechend den inkonsistenten Datenwerten, wenn die inkonsisten ten Datenwerte durch das Vergleichsmittel (33, 37) erfaßt wurden.
einem Vergleichsmittel (33, 37) zum Vergleichen von einem im Programmierüberprüfungsmodus als Reaktion auf das Zuweisen einer Ausleseadresse ausgelesenen Datenwert und einem im Löschüberprü fungsmodus als Reaktion auf das Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwertes und
einem Wiedereinschreibsteuermittel (31a, 34a) zum Steuern des Wiedereinschreibens eines Datenwertes einer Speicherzelle ent sprechend den inkonsistenten Datenwerten, wenn die inkonsisten ten Datenwerte durch das Vergleichsmittel (33, 37) erfaßt wurden.
2. Flash-Speicher mit Datenauffrischfunktion nach Anspruch 1,
dadurch gekennzeichnet, daß
ein Steuermittel (31, 34) zum Zuweisen einer Ausleseadresse und zum Setzen des Programmierüberprüfungsmodus und des Löschüber prüfungsmodus in verschiedenen Lesezeitsteuerungen;
ein erstes Speichermittel (32a, 35b) zum Speichern von einem im Programmierüberprüfungsmodus als Reaktion auf das Zuweisen einer Ausleseadresse durch das Steuermittel (31, 34) ausgelesenen Datenwertes und zum Anlegen des Datenwertes an das Vergleichs mittel (33, 37);
ein zweites Speichermittel (32b, 35c) zum Speichern von einem im Löschüberprüfungsmodus als Reaktion auf das Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwert und zum Anlegen des gespeicherten Datenwertes 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über prüfungsmodus in verschiedenen Lesezeitsteuerungen;
ein erstes Speichermittel (32a, 35b) zum Speichern von einem im Programmierüberprüfungsmodus als Reaktion auf das Zuweisen einer Ausleseadresse durch das Steuermittel (31, 34) ausgelesenen Datenwertes und zum Anlegen des Datenwertes an das Vergleichs mittel (33, 37);
ein zweites Speichermittel (32b, 35c) zum Speichern von einem im Löschüberprüfungsmodus als Reaktion auf das Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwert und zum Anlegen des gespeicherten Datenwertes 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. Flash-Speicher mit Datenauffrischfunktion, der einen Über
prüfbetrieb von Schreiben und Löschen von einem Datenwert unter
Verwendung eines Programmierüberprüfungsmodus und eines Lösch
überprüfungsmodus erlaubt, mit mehreren Blöcken, wobei jeder
eine Mehrzahl von Speicherzellen aufweist und der Flash-Speicher ein Vergleichsmittel (37) zum Vergleichen von einem Summierungs ergebnis von im Programmierüberprüfungsmodus von allen Speicher zellen in einem Block von der Mehrzahl der Blöcke ausgelesenen Daten und einem Summierungsergebnis von im Löschüberprüfungs modus von allen Speicherzellen in demselben Block wie der eine Block ausgelesenen Daten und zum Vergleichen von im Programmier überprüfungsmodus als Reaktion auf ein Zuweisen einer Auslese adresse ausgelesenen Datenwertes und von im Löschüberprüfungs modus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwertes in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse festgestellt wird, und
ein Wiedereinschreibsteuermittel (34a) zum Steuern des Wieder einschreibens von einem Datenwert einer Speicherzelle entspre chend den inkonsistenten Daten, wenn die inkonsistenten Daten durch das Vergleichsmittel (37) festgestellt werden, enthält.
eine Mehrzahl von Speicherzellen aufweist und der Flash-Speicher ein Vergleichsmittel (37) zum Vergleichen von einem Summierungs ergebnis von im Programmierüberprüfungsmodus von allen Speicher zellen in einem Block von der Mehrzahl der Blöcke ausgelesenen Daten und einem Summierungsergebnis von im Löschüberprüfungs modus von allen Speicherzellen in demselben Block wie der eine Block ausgelesenen Daten und zum Vergleichen von im Programmier überprüfungsmodus als Reaktion auf ein Zuweisen einer Auslese adresse ausgelesenen Datenwertes und von im Löschüberprüfungs modus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwertes in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse festgestellt wird, und
ein Wiedereinschreibsteuermittel (34a) zum Steuern des Wieder einschreibens von einem Datenwert einer Speicherzelle entspre chend den inkonsistenten Daten, wenn die inkonsistenten Daten durch das Vergleichsmittel (37) festgestellt werden, enthält.
4. Flash-Speicher mit Datenauffrischfunktion nach Anspruch 3
mit
einem 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überprü fungsmodus und des Löschüberprüfungsmodus in unterschiedlichen Lesezeitsteuerungen während eines Datenauffrischbetriebs;
einem ersten Speichermittel (32a; 35b) zum Speichern eines Sum mierungsergebnisses von von allen Speicherzellen in einem Block entsprechend einer Blockadresse, zugewiesen durch das Steuermit tel im Programmierüberprüfungsmodus, ausgelesenen Daten;
einem zweiten Speichermittel (32b; 35c) zum Speichern eines Sum mierungsergebnisses von von allen Speicherzellen in dem einen Block im Löschüberprüfungsmodus ausgelesenen Daten;
dem Vergleichsmittel (37) zum Vergleichen der in dem ersten und zweiten Speichermittel gespeicherten Ergebnissen,
wobei das erste Speichermittel (35b) weiter im Programmierüber prüfungsmodus in einem Block, in dem eine Inkonsistenz festge stellt wird, ausgelesene Daten als Reaktion auf ein Zuweisen einer Ausleseadresse speichert, wenn die Inkonsistenz des Sum mierungsergebnisses durch das Vergleichsmittel (37) festgestellt wird,
wobei das zweite Speichermittel (35c) weiter im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse, ausgelesene Daten speichert,
wobei der Flash-Speicher weiter
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), enthält.
einem 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überprü fungsmodus und des Löschüberprüfungsmodus in unterschiedlichen Lesezeitsteuerungen während eines Datenauffrischbetriebs;
einem ersten Speichermittel (32a; 35b) zum Speichern eines Sum mierungsergebnisses von von allen Speicherzellen in einem Block entsprechend einer Blockadresse, zugewiesen durch das Steuermit tel im Programmierüberprüfungsmodus, ausgelesenen Daten;
einem zweiten Speichermittel (32b; 35c) zum Speichern eines Sum mierungsergebnisses von von allen Speicherzellen in dem einen Block im Löschüberprüfungsmodus ausgelesenen Daten;
dem Vergleichsmittel (37) zum Vergleichen der in dem ersten und zweiten Speichermittel gespeicherten Ergebnissen,
wobei das erste Speichermittel (35b) weiter im Programmierüber prüfungsmodus in einem Block, in dem eine Inkonsistenz festge stellt wird, ausgelesene Daten als Reaktion auf ein Zuweisen einer Ausleseadresse speichert, wenn die Inkonsistenz des Sum mierungsergebnisses durch das Vergleichsmittel (37) festgestellt wird,
wobei das zweite Speichermittel (35c) weiter im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse, ausgelesene Daten speichert,
wobei der Flash-Speicher weiter
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), enthält.
5. 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 als Reaktion auf eine Ausleseadresse ausgelesene Bits
aufweist, und daß das zweite Speichermittel (35c) Daten spei
chert, die einen oder mehrere von einer oder mehreren Speicher
zellen im Löschüberprüfungsmodus als Reaktion auf die eine Aus
leseadresse ausgelesene Bits aufweist, und daß das Wiederein
schreibsteuermittel (34a) nur das Wiedereinschreiben von Daten
in eine Speicherzelle entsprechend zu inkonsistenten Bits
steuert, wenn die inkonsistenten Bits durch das Vergleichsmittel
(37) festgestellt werden.
6. Flash-Speicher mit Datenauffrischfunktion nach einem der
Ansprüche 1 bis 5, dadurch gekennzeichnet, daß
das Wiedereinschreibsteuermittel (34a) den Datenwert einer Spei
cherzelle entsprechend den inkonsistenten Bits im Informations
schreibzustand wiedereinschreibt.
7. Datenauffrischverfahren eines Flash-Speichers zum Wieder
auffinden und Korrigieren fehlerhafter Datenwerte, das einen
Überprüfbetrieb von Schreiben und Löschen eines Datenwertes in
einer Speicherzelle unter Verwendung eines Programmierüberprü
fungsmodus und eines Löschüberprüfungsmodus erlaubt, wobei das
Verfahren
einen Schritt des Lesens eines Datenwertes im Programmierüber prüfungsmodus als Reaktion auf ein Zuweisen einer Ausleseadres se,
danach einen Schritt des Lesens eines Datenwertes im Löschüber prüfungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse;
einen Schritt des Vergleichens der ausgelesenen Datenwerte und
einen Schritt des Wiedereinschreibens eines Datenwertes einer Speicherzelle entsprechend den inkonsistenten Daten, wenn die inkonsistenten Daten durch den Vergleichsschritt festgestellt werden,
aufweist.
einen Schritt des Lesens eines Datenwertes im Programmierüber prüfungsmodus als Reaktion auf ein Zuweisen einer Ausleseadres se,
danach einen Schritt des Lesens eines Datenwertes im Löschüber prüfungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse;
einen Schritt des Vergleichens der ausgelesenen Datenwerte und
einen Schritt des Wiedereinschreibens eines Datenwertes einer Speicherzelle entsprechend den inkonsistenten Daten, wenn die inkonsistenten Daten durch den Vergleichsschritt festgestellt werden,
aufweist.
8. Datenauffrischverfahren eines Flash-Speichers nach Anspruch
7, dadurch gekennzeichnet, daß
ein Schritt des Speicherns von im Programmierüberprüfungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse ausgelesenen Datenwertes vor dem Vergleichsschritt;
ein Schritt des Speicherns von im Löschüberprüfungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Auslese adresse ausgelesenen Datenwertes 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 als Reaktion auf ein Zuweisen einer Ausleseadresse ausgelesenen Datenwertes vor dem Vergleichsschritt;
ein Schritt des Speicherns von im Löschüberprüfungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Auslese adresse ausgelesenen Datenwertes 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. Datenauffrischverfahren eines Flash-Speichers, das
einen Überprüfbetrieb von Schreiben und Löschen eines Datenwer
tes 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 Datenwerten,
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie der eine Block danach im Löschüberprüfungs modus ausgelesenen Datenwerten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von einem im Programmierüberprü fungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse ausgelesenen Datenwertes und von einem danach im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwertes, in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Ver gleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von einem Datenwert einer Speicherzelle entsprechend den inkonsistenten Datenwerten, wenn die inkonsistenten Datenwerte durch den Vergleich festgestellt werden, aufweist.
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie der eine Block danach im Löschüberprüfungs modus ausgelesenen Datenwerten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von einem im Programmierüberprü fungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse ausgelesenen Datenwertes und von einem danach im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen derselben Adresse wie die Ausleseadresse ausgelesenen Datenwertes, in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Ver gleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von einem Datenwert einer Speicherzelle entsprechend den inkonsistenten Datenwerten, wenn die inkonsistenten Datenwerte durch den Vergleich festgestellt werden, aufweist.
10. Datenauffrischverfahren eines Flash-Speichers nach Anspruch
9 mit
einem 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 Lese zeitsteuerungen während des Datenauffrischbetriebes,
einem Schritt des Speicherns des Summierungsergebnisses von von allen Speicherzellen in einem Block entsprechend der zugewiese nen Blockadresse im Programmierüberprüfungsmodus ausgelesenen Datenwerten,
einem Schritt des Speicherns des Summierungsergebnisses von von allen Speicherzellen in dem einen Block danach im Löschüberprü fungsmodus ausgelesenen Datenwerten,
einem Schritt des Vergleichens der gespeicherten Summierungser gebnisse,
einem Schritt des Speicherns von einem im Programmierüberprü fungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird, durch das Steuermittel (31, 34) ausgelesenen Datenwertes,
einem Schritt des Speicherns von einem danach im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen derselben Adresse als Ausleseadresse ausgelesenen Datenwertes,
einem Schritt des Vergleichens der gespeicherten Datenwerte,
einem Schritt des Erhöhens der Ausleseadresse, wenn Übereinstim mung beim Vergleichsschritt festgestellt wird oder nach dem Wie dereinschreibschritt, und
einem Schritt des Erhöhens der Blockadresse, wenn eine Überein stimmung der Summierungsergebnisse beim Vergleich festgestellt wird oder nach dem Wiedereinschreiben durch den Wiederein schreibschritt.
einem 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 Lese zeitsteuerungen während des Datenauffrischbetriebes,
einem Schritt des Speicherns des Summierungsergebnisses von von allen Speicherzellen in einem Block entsprechend der zugewiese nen Blockadresse im Programmierüberprüfungsmodus ausgelesenen Datenwerten,
einem Schritt des Speicherns des Summierungsergebnisses von von allen Speicherzellen in dem einen Block danach im Löschüberprü fungsmodus ausgelesenen Datenwerten,
einem Schritt des Vergleichens der gespeicherten Summierungser gebnisse,
einem Schritt des Speicherns von einem im Programmierüberprü fungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Vergleich festgestellt wird, durch das Steuermittel (31, 34) ausgelesenen Datenwertes,
einem Schritt des Speicherns von einem danach im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen derselben Adresse als Ausleseadresse ausgelesenen Datenwertes,
einem Schritt des Vergleichens der gespeicherten Datenwerte,
einem Schritt des Erhöhens der Ausleseadresse, wenn Übereinstim mung beim Vergleichsschritt festgestellt wird oder nach dem Wie dereinschreibschritt, und
einem Schritt des Erhöhens der Blockadresse, wenn eine Überein stimmung der Summierungsergebnisse beim Vergleich festgestellt wird oder nach dem Wiedereinschreiben durch den Wiederein schreibschritt.
11. Datenauffrischverfahren eines Flash-Speichers nach Anspruch
8 oder 10, dadurch gekennzeichnet, daß
beim Speicherschritt Daten, die ein oder mehrere Bits aufweisen, von einer oder mehreren Speicherzellen als 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 aufweisen, von einer oder mehreren Speicherzellen als 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. Datenauffrischverfahren eines Flash-Speichers nach einem der
Ansprüche 8 bis 11, dadurch gekennzeichnet, daß
beim Wiedereinschreibschritt Daten einer Speicherzelle entspre
chend den inkonsistenten Bits im Informationsschreibzustand wie
dereingeschrieben werden.
13. Datenauffrischverfahren eines Flash-Speichers, das einen
Überprüfbetrieb von Schreiben und Lesen von einem Datenwert
einer Speicherzelle unter Verwendung eines Programmierüberprü
fungsmodus oder eines Löschüberprüfungsmodus erlaubt, wobei das
Verfahren
einen Schritt des Lesens von einem Datenwert im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse, danach einen Schritt des Lesens von einem Datenwert im Program mierüberprüfungsmodus als Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse,
einen Schritt des Vergleichens der ausgelesenen Datenwerte und
einen Schritt des Wiedereinschreibens von einem Datenwert einer Speicherzelle entsprechend inkonsistenten Datenwerten, wenn die inkonsistenten Datenwerte beim Vergleichsschritt festgestellt werden, aufweist.
einen Schritt des Lesens von einem Datenwert im Löschüberprü fungsmodus als Reaktion auf ein Zuweisen einer Ausleseadresse, danach einen Schritt des Lesens von einem Datenwert im Program mierüberprüfungsmodus als Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse,
einen Schritt des Vergleichens der ausgelesenen Datenwerte und
einen Schritt des Wiedereinschreibens von einem Datenwert einer Speicherzelle entsprechend inkonsistenten Datenwerten, wenn die inkonsistenten Datenwerte beim Vergleichsschritt festgestellt werden, aufweist.
14. Datenauffrischverfahren eines Flash-Speichers, das einen
Überprüfbetrieb von Schreiben und Löschen von einem Datenwert
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 von den mehreren Blöcken im Löschüberprüfungsmodus ausgelesenen Datenwerten,
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie dem einen Block danach im Programmierüber prüfungsmodus ausgelesenen Datenwerten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von einem im Löschüberprüfungs modus als Reaktion auf eine Zuweisung von einer Ausleseadresse ausgelesenen Datenwert und von einem danach im Programmierüber prüfungsmodus als Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse ausgelesenen Datenwert in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Ver gleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von einem Datenwert einer Speicherzelle entsprechend den inkonsistenten Datenwerten, wenn die inkonsistenten Daten beim Vergleich festgestellt werden, aufweist.
jeder mehrere Speicherzellen aufweist und das Verfahren einen Schritt des Summierens von von allen Speicherzellen in einem Block von den mehreren Blöcken im Löschüberprüfungsmodus ausgelesenen Datenwerten,
einen Schritt des Summierens von von allen Speicherzellen in demselben Block wie dem einen Block danach im Programmierüber prüfungsmodus ausgelesenen Datenwerten,
einen Schritt des Vergleichens der Summierungsergebnisse,
einen Schritt des Vergleichens von einem im Löschüberprüfungs modus als Reaktion auf eine Zuweisung von einer Ausleseadresse ausgelesenen Datenwert und von einem danach im Programmierüber prüfungsmodus als Reaktion auf eine Zuweisung derselben Adresse wie die Ausleseadresse ausgelesenen Datenwert in einem Block, in dem eine Inkonsistenz der Summierungsergebnisse durch den Ver gleich festgestellt wird, und
einen Schritt des Wiedereinschreibens von einem Datenwert einer Speicherzelle entsprechend den inkonsistenten Datenwerten, wenn die inkonsistenten 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 DE19531683A1 (de) | 1996-07-18 |
DE19531683C2 true 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10037037B4 (de) * | 1999-12-20 | 2008-04-03 | Fujitsu Ltd., Kawasaki | Erfassungszeit-Steuervorrichtung und -Verfahren |
Families Citing this family (56)
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 | ローム・ユーエスエー・インク | 電気的に消去及びプログラム可能なデバイスの消去方法 |
DE69514502T2 (de) * | 1995-05-05 | 2000-08-03 | St Microelectronics Srl | 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 | フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法 |
US5815510A (en) * | 1996-03-28 | 1998-09-29 | Cypress Semiconductor Corp. | Serial programming of instruction codes in different numbers of clock cycles |
US5835503A (en) * | 1996-03-28 | 1998-11-10 | Cypress Semiconductor Corp. | Method and apparatus for serially programming a programmable logic device |
US5805794A (en) * | 1996-03-28 | 1998-09-08 | Cypress Semiconductor Corp. | CPLD serial programming with extra read register |
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 |
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 | 日本電気アイシーマイコンシステム株式会社 | 不揮発性半導体記憶装置及びプログラムベリファイ方法 |
DE69832609D1 (de) * | 1998-09-30 | 2006-01-05 | St Microelectronics Srl | 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 |
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 |
DE60129294D1 (de) * | 2001-02-19 | 2007-08-23 | St Microelectronics Srl | 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 |
US9330784B2 (en) * | 2011-12-29 | 2016-05-03 | Intel Corporation | Dynamic window to improve NAND endurance |
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 |
CN114175000A (zh) * | 2019-07-31 | 2022-03-11 | 惠普发展公司,有限责任合伙企业 | 基于要擦除的比特的确定而对闪速存储器的更新 |
Family Cites Families (6)
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 | アルミナ水和物およびアルミナゾルの製造方法 |
US5365486A (en) * | 1992-12-16 | 1994-11-15 | Texas Instruments Incorporated | Method and circuitry for refreshing a flash electrically erasable, programmable read only memory |
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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10037037B4 (de) * | 1999-12-20 | 2008-04-03 | Fujitsu Ltd., Kawasaki | Erfassungszeit-Steuervorrichtung und -Verfahren |
Also Published As
Publication number | Publication date |
---|---|
US5574684A (en) | 1996-11-12 |
JPH08190796A (ja) | 1996-07-23 |
DE19531683A1 (de) | 1996-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19531683C2 (de) | Flash-Speicher mit Datenauffrischfunktion und Datenauffrischverfahren eines Flash-Speichers | |
DE4446998C2 (de) | Halbleiterspeichereinrichtung | |
DE4433098C2 (de) | Halbleiter-Permanentspeichervorrichtung | |
DE60213620T2 (de) | Nichtflüchtiger speicher mit blocklöschung | |
DE3637682C2 (de) | ||
DE60132830T2 (de) | Neuartiges verfahren und struktur zur effizienten datenverifizierungsoperation für nichtflüchtige speicher | |
DE102006028209B4 (de) | Verfahren zum Löschen von Speicherzellen einer Flash-Speichereinrichtung und Halbleiterspeichereinrichtung | |
DE102008002083B4 (de) | Flash-Speichervorrichtung und entsprechende Programmierverfahren | |
DE102005039099B4 (de) | Löschverfahren und nichtflüchtiges Speicherbauelement | |
DE60126383T2 (de) | Nichtflüchtige Halbleiterspeicheranordnung | |
DE10037037B4 (de) | Erfassungszeit-Steuervorrichtung und -Verfahren | |
DE4207934C2 (de) | Nichtflüchtige Halbleiterspeichervorrichtung und Programmierverfahren für eine nichtflüchtige Halbleiterspeichervorrichtung | |
DE60017838T2 (de) | Nichtflüchtiger Speicher Typ NAND | |
DE102006020180B3 (de) | Verfahren zum Programmieren eines Blocks von Speicherzellen, nicht-flüchtiger Speicher und Speicherkarte | |
DE102005063166B4 (de) | Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement | |
DE10301458A1 (de) | Speicherbaustein und zugehöriges Lösch-, Programmier- und Rückkopierverfahren | |
DE4119394A1 (de) | Nichtfluechtige halbleiterspeichereinrichtung und datenloeschungsverfahren hierfuer | |
DE102005057112B4 (de) | Nichtflüchtiges Speicherbauelement und Programmierverfahren | |
DE60015770T2 (de) | Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen | |
DE102008030264A1 (de) | Verfahren zum Lesen eines Flashspeichers und Speichersystem | |
DE19615660A1 (de) | Schaltung zur Aufbringung einer Belastungsspannung in eine Blockeinheit für die Verwendung in einer Halbleiterspeichervorrichtung | |
DE69731255T2 (de) | Verfahren zum Löschen eines nichtflüchtigen Speichers | |
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 |