-
QUERVERWEIS AUF ZUGEHÖRIGE
ANMELDUNGEN
-
Die
vorliegende Erfindung beansprucht die Priorität der
koreanischen Patentanmeldung
mit dem Aktenzeichen Nr. 10-2007-017927 , welche am 22. Februar
2007 angemeldet wurde und welche hier durch Bezugnahme in ihrer
Gesamtheit aufgenommen ist.
-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft Flash-Speichervorrichtungen, und
insbesondere ein Leseverfahren, bei welchem Zelleninformation bzw. -daten
auch ausgelesen werden können, wenn sich eine Zellschwellenspannung
auf Grund einer Zellrückhalteeigenschaft verschoben bzw.
verändert hat.
-
Eine
NAND-Flash-Speichervorrichtung weist Speicherzellen auf, deren Source-
und Drainanschlüsse in Serie zu einer Bitleitung zur Bildung
eines Strings verbunden sind. Die Speicherzelle weist im Allgemeinen
einen Transistoraufbau auf, in welchem ein Floating-Gate und ein
Steuergate gestapelt sind. Ein Speicherzellarray ist direkt innerhalb
einer N-Typ-Senke oder P-Typ-Senke gebildet, welche in einem P-Typ-Substrat
oder N-Typ-Substrat gebildet sind. Die Drainseite eines NAND-Zellstrings
ist mit der Bitleitung über ein Auswahlgate verbunden,
und die Sourceseite ist ebenfalls mit einer Sourceleitung über
ein Auswahlgate verbunden. Die Steuergates von Speicherzellen in
benachbarten Zellstrings sind hintereinander in einer Zeilenrichtung
verbunden und werden zu einer Wortleitung.
-
Ein
Betrieb der NAND-Flash-Speichervorrichtung wird unten beschrieben.
Ein Datenschreibvorgang wird sequenziell durchgeführt,
indem von einer Speicherzelle an begonnen wird, welche am weitesten
von der Bitleitung entfernt ist. Ein Steuergate einer ausgewählten Speicherzelle
wird mit einer hohen Spannung Vpp beaufschlagt, ein Steuergate und ein
Auswahlgate einer Speicherzelle auf der Bitleitungsseite der ausgewählten
Speicherzelle werden mit einem Zwischenpotenzial beaufschlagt, und
auf eine Bitleitung werden 0 V oder ein Zwischenpotenzial in Abhängigkeit
von den Daten aufgebracht. Wenn die Bitleitung mit 0 V beaufschlagt
ist, wird ein Potenzial zwischen der Drain und dem Gate der ausgewählten
Speicherzelle erzeugt, derart, dass Elektronen in das Floating-Gate
injiziert werden. Auf Grund dessen wird die Schwellenspannung der
ausgewählten Speicherzelle erhöht.
-
In
den zurückliegenden Jahren wurde zur weiteren Verbesserung
des Integrationsgrades eines Flash-Speichers viel Forschung für
eine Multi-Bit-Zelle betrieben, welche dazu geeignet ist, eine Vielzahl von
Datenbits in einer Speicherzelle abzuspeichern. Diese Art einer
Speicherzelle wird als „Multi-Level-Zelle (MLC)" bezeichnet.
Eine Speicherzelle für ein einzelnes Bit korrespondierend
zu der MLC wird als „Single-Level-Zelle (SLC)" bezeichnet.
-
Die
MLC weist vier oder mehr Schwellenspannungsverteilungen auf, und
vier oder mehr Datenspeicherzustände, welche zu den Schwellenspannungsverteilungen
korrespondieren. Die MLC, in welcher 2-Bit Datenbits programmierbar
sind, besitzt vier Datenspeicherzustände: [11], [10], [00]
und [01]. Die Zustände korrespondieren zu den Schwellenspannungsverteilungen
der MLC.
-
Angenommen,
dass zum Beispiel Schwellenspannungsverteilungen einer Speicherzelle
folgender Einteilung entsprechen: –2,7 V oder weniger; 0,3
V bis 0,7 V; 1,3 V bis 1,7 V und 2,3 V bis 2,7 V, dann korrespondieren
der Zustand [11] zu –2,7 V oder weniger, der Zustand [10]
zu 0,3 V bis 0,7 V, der Zustand [00] zu 1,3 V bis 1,7 V und der
Zustand [01] zu 2,3 V bis 2,7 V. Mit anderen Worten, wenn die Schwellenspannung
der MLC zu einer der vier Schwellenspannungsverteilungen korrespondieren, werden
bzw. sind 2-Bit Dateninformationen korrespondierend zu einem der
Zustände [11], [10], [00] und [01] in der MLC gespeichert.
-
Wie
oben beschrieben weist die MLC Schwellenspannungsverteilungen korrespondierend zu
dem Quadrat von 2 in Bezug auf die Anzahl von Bits auf, die gespeichert
werden können. Das heißt, eine zur Speicherung
von m Bits geeignete MLC besitzt 2m Zellenspannungsverteilungen
auf.
-
Die
Zellenspannung der Zellenspannungsverteilungen der MLC wird verschoben
wie die Speicherperioden zunehmen. Dies wird eine „Datenrückhalteeigenschaft"
genannt. Das heißt, während Daten gespeichert
und dann über eine lange Zeitperiode ausgelesen werden,
wird die Zellenspannung verschoben bzw. verändert, was
einen Lesefehler verursachen kann.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Dementsprechend
betrifft die vorliegende Erfindung ein Leseverfahren einer Speichervorrichtung, bei
welchem der Datenlesevorgang exakter durchgeführt werden
kann, indem eine Lesespannung in Reihe mit einer Veränderung
der Zellenspannung abhängig von der Rückhalteeigenschaft
einer MLC verändert wird.
-
In
einem Aspekt weist ein Leseverfahren einer Speichervorrichtung mit
einer MLC die folgenden Verfahrensschritte auf: Durchführen
eines Datenlesevorgangs gemäß einem ersten Lesebefehl;
Festlegen, ob eine Fehlerkorrektur der gelesenen Daten möglich
ist; Durchführen eines Datenlesevorgangs gemäß einem
zweiten Lesebefehl, wenn als Ergebnis des Festlegens eine Fehlerkorrektur
schwierig ist; Festlegen, ob eine Fehlerkorrektur der gelesenen Daten
gemäß dem zweiten Lesebefehl möglich
ist; und Durchführen eines Datenlesevorgangs gemäß einem
N-ten (N ≥ 3, N ist eine ganze Zahl) Lesebefehl, wenn als
Ergebnis des Festlegens eine Fehlerkorrektur schwierig ist.
-
In
einem weiteren Aspekt weist ein Leseverfahren einer Speichervorrichtung
mit einer MLC die folgenden Verfahrensschritte auf: Eingeben eines
Lesebefehls von einer Vielzahl von gemäß Prioritäten festgelegten
Lesebefehlen; Eingeben von Adressdaten der MLC, an welchen ein Lesen
von Daten durchzuführen ist; Laden von mit Bezug auf den
eingegebenen Lesebefehl gespeicherten Lesespannungsgruppen; und
Durchführen des Lesens von Daten unter Verwendung der geladenen
Lesespannungsgruppen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1A illustriert
das Blockdiagramm der NAND-Flash-Speichervorrichtung.
-
1B illustriert
die Verteilungen der Zellenspannung einer MLC;
-
1C illustriert
die Verteilungen einer Veränderung in der in 1B gezeigten
Zellenspannung;
-
1D illustriert
die Verteilungen der Zellenspannung und der Lesespannung einer MLC
gemäß einer ersten Ausführung der vorliegenden
Erfindung;
-
1E illustriert
die Verteilungen der Zellenspannung und der Lesespannung einer MLC
gemäß einer zweiten Ausführung der vorliegenden
Erfindung;
-
1F illustriert
die Verteilungen der Zellenspannung und der Lesespannung einer MLC
gemäß einer dritten Ausführung der vorliegenden
Erfindung; und
-
2 ist
ein Flussdiagramm, welches ein Leseverfahren der MLC gemäß einer
Ausführung der vorliegenden Erfindung illustriert.
-
BESCHREIBUNG VON BESTIMMTEN
AUSFÜHRUNGEN
-
Mit
Bezug auf die begleitenden Zeichnungen werden bestimmte Ausführungen
gemäß dem vorliegenden Patent beschrieben.
-
Mit
Bezugnahme auf 1a weist eine Flash-Speichervorrichtung 100 ein
Speicherzellarray 110, eine Seitenpuffereinheit 120,
einen x-Dekoder 140, einen Y-Dekoder 130 und eine
Steuereinrichtung 150 auf.
-
Das
Speicherzellarray 110 weist eine Vielzahl von Speicherstrings
auf, von denen jeder eine Vielzahl von Speicherzellen besitzt und
mit den jeweiligen Bitleitungen BL verbunden ist. Jede Speicherzelle
in Zeilenrichtung ist an eine Wortleitung WL angeschlossen.
-
Von
der Seitenpuffereinheit 120, welche eine Vielzahl von Seitenpuffern
aufweist, wird ein Programmier- oder ein Lesevorgang durchgeführt.
-
Jeder
Seitenpuffer ist mit zwei Bitleitungen gekoppelt und wird von dem
Y-Dekoder 130 ausgewählt. Die Wortleitung wird
durch X-Dekoder 140 ausgewählt. Der X-Dekoder 140,
der Y-Dekoder 130 und die Seitenpuffereinheit 120 werden
von der Steuereinrichtung 150 gesteuert.
-
Mit
Bezugnahme auf 1B weist eine MLC, die zur Speicherung
einer Vielzahl von Datenbits geeignet ist, N Schwellenspannungsverteilungen 1,
2, 3, ..., N auf.
-
Eine
Schwellenspannungsverteilung von 0 V oder weniger gibt an, dass
die Zellen in einem Block nicht programmiert sind. Geeignete Lesespannungen
muss zur Festlegung gewählt werden, ob bestimmte Zellen
programmiert worden sind oder nicht. Eine erste Schwellenspannungsverteilung
1 ist zwischen einer ersten Prüfspannung PV_1 und einer zweiten
Prüfspannung PV_2 vorhanden. Wenn eine erste Lesespannung
R_1 ausgewählt wird, würden die Zellen mit der
ersten Schwellenspannungsverteilung 1 als Zellen erkannt werden,
die programmiert worden sind. Wenn jedoch eine zweite Lesespannung
R_2 benutzt wird, würden die Zellen als nicht programmiert
erkannt werden.
-
Das
bedeutet, wenn ein Lesevorgang basierend auf der ersten Lesespannung
R_1 durchgeführt wird, dass durch die Bitleitung kein Strom
fließt, und die Zellen würden als programmierte
erkannt werden. Andererseits, wenn die zweite Lesespannung R_2 aufgebracht
wird, fließt Strom durch die Bitleitung, und die Zellen
würden als programmierte erkannt werden.
-
Auf
diese Art und Weise ist in einer MLC jeder Schwellenspannungsverteilung
eine Prüfspannung PV und eine Lesespannung R so zugeordnet, dass
eine richtige Festlegung getroffen werden kann, was den korrekten
Zustand oder Level bzw. Pegel der Zellen betrifft.
-
1C illustriert
eine Änderung oder Verschiebung in der Verteilung der in 1B dargestellten
Zellenspannung auf Grund einer Rückhalteeigenschaft.
-
Mit
Bezugnahme auf 1C ist zu sehen, dass die Verschiebung
der Schwellenspannungsverteilungen von 1B durch
gestrichelte Linien angegeben sind. Wenn die Verschiebung der Schwellenspannungsverteilungen
signifikant ist, wird ein korrektes Lesen der Zustände
oder Pegel der Zellen unter Verwendung der vorher festgelegten Lesespannungen
R_1 bis R_N schwierig.
-
In
der vorliegenden Ausführung wird der Datenlesevorgang durchgeführt,
indem die Spannung des Lesevorgangs verändert wird, um
die Verschiebung in der Schwellenspannung zu kompensieren.
-
Mit
anderen Worten, ein Lesebefehl wird in einen A-Lesebefehl, einen
B-Lesebefehl und einen C-Lesebefehl geteilt, wobei jeder Lesebefehl
einen Satz von Lesespannungen (eine A-Lesespannungsgruppe R_1A–R_NA,
eine B-Lesespannungsgruppe R_1B–R_NB und eine C-Lesespannungsgruppe R_1C–R_NC)
beinhaltet, welcher in einer Steuereinrichtung 150 einer
Speichervorrichtung festgelegt und gespeichert ist.
-
Bei
Ausführung eines Lesebefehls wird, wenn eine Fehlerkorrektur
schwierig ist, ein Algorithmus zur Durchführung des Datenlesevorgangs
ausgeführt, indem der Lesebefehl geändert wird.
-
Im
Allgemeinen wird in dem Fall der MLC-Flash-Speichervorrichtung gemäß einer
Ausführung der vorliegenden Erfindung ein Fehlerkorrekturkode-Verfahren
(ECC = Error Correction Code) als ein Verfahren zur Fehlerkorrektur
in Bezug auf die gelesenen Daten verwendet. Das ECC-Verfahren ist ein
Verfahren zum Durchführen einer Fehlerkorrektur, wenn ein
Fehler in einer vorher festgelegten Anzahl oder kleiner auftritt.
Wenn ein Fehler in einer vorher festgelegten Anzahl oder größer
auftritt, ist es schwierig, die Fehlerkorrektur durchzuführen.
-
Wenn
eine Fehlerkorrektur unter Verwendung des ECC-Verfahrens auf Grund
von Fehlern, die in einer größeren als in einer
vorher festgelegten Anzahl auftreten, schwierig durchzuführen
ist, wird in der vorliegenden Ausführung die Lesespannungsgruppe
geändert und dann das Lesen ausgeführt, so dass
der Datenlesevorgang präzise durchgeführt werden
kann. Das heißt, die Lesespannung wird nach Kompensieren
der Verschiebung der Spannungsverteilung ausgeführt.
-
1D illustriert
die Verteilungen der Zellenspannung und der Lesespannung einer MLC
gemäß einer ersten Ausführung der vorliegenden
Erfindung.
-
Die
anfänglichen Schwellenspannungsverteilungen von MLC, wie
in 1B illustriert ist, haben sich nach einem ersten
Zeitabschnitt verschoben, nachdem die Daten programmiert worden
sind. Das bedeutet, dass die Schwellenspannungsverteilungen 1 bis
N als A-Schwellenspannungsverteilungen 1A...NA verschoben sind. Die gestrichelten Linien
geben die anfänglichen Spannungsverteilungen an.
-
In
den A-Schwellenspannungsverteilungen 1A...NA wird ein Lesevorgang basierend auf A-Lesespannungsgruppe
R1A...RNA durchgeführt.
Bei der A-Lesespannungsgruppe wird der Lesevorgang ausgelöst
durch den A-Lesebefehl ausgeführt. Der Lesevorgang der
MLC-Flash-Speichervorrichtung ist im Stand der Technik wohlbekannt
und wird der Einfachheit halber nicht im Detail erläutert.
In diesem Fall wird die A-Lesespannungsgruppe R1A...RNA als ein Lesespannungssatz für
den Lesevorgang verwendet.
-
1E illustriert
die Verteilungen der Zellenspannung und der Lesespannung einer MLC
gemäß einer zweiten Ausführung der vorliegenden
Erfindung.
-
1E illustriert
Schwellenspannungsverteilungen nach einem zweiten Zeitabschnitt,
nachdem die Daten programmiert worden sind. Aus 1E ist ersichtlich,
dass sich die anfänglichen Spannungsverteilungen zur B-Schwellenspannungsverteilungen 1B...NB verschoben
haben. Weiterhin, wie in 1E illustriert
ist, treten in den B-Schwellenspannungsverteilungen 1B...NB in dem Fall, in welchem ein Lesevorgang
basierend auf der A-Lesespannungsgruppe R1A...RNA durchgeführt wird, in Bereichen
b der Schwellenspannungsverteilungen Lesefehler auf. In diesem Fall,
wenn viele Zellen in den Bereichen b verteilt sind, ist es schwierig,
eine Fehlerkorrektur unter Verwendung des ECC-Verfahrens auszuführen. Dementsprechend
wird ein Lesevorgang durchgeführt, indem die B-Lesespannungsgruppe
R1B...RNB in 1E benutzt
wird. Die B-Lesespannungsgruppe R1B...RNB weist Lesespannungen auf, welche niedriger
sind als diejenigen der A-Lesespannungsgruppe R1A...RNA, um die größere Verschiebung
in den Spannungsverteilungen zu kompensieren. Der Lesevorgang wird
unter Verwendung der B-Lesespannungsgruppe durchgeführt,
indem der B-Lesebefehl eingegeben oder initiiert wird.
-
1F illustriert
die Verteilungen der Zellenspannung und der Lesespannung einer MLC
gemäß einer dritten Ausführung der vorliegenden
Erfindung.
-
1F illustriert
Schwellenspannungsverteilungen nach einem dritten Zeitabschnitt
nach der Programmierung. Der dritte Zeitabschnitt ist länger als
der zweite Zeitabschnitt. Die anfänglichen Spannungsverteilungen
haben sich um einen größeren Betrag als nach dem
zweiten Zeitabschnitt verschoben. Weiterhin, wie in 1F illustriert
ist, treten mit den C-Schwellenspannungsverteilungen 1C...NC in Bereichen c der Schwellenspannungsverteilungen Lesefehler
auf, wenn ein Lesevorgang basierend auf der B-Lesespannungsgruppe
R1B...RNB durchgeführt. Wenn
viele Zellen in den Bereichen c verteilt sind, ist in diesem Fall
eine Fehlerkorrektur unter Verwendung des ECC-Verfahrens schwierig
auszuführen. Dementsprechend wird ein Lesevorgang durchgeführt,
indem die C-Lesespannungsgruppe R1C...RNC in verwendet wird. In diesem Fall weist
die C-Lesespannungsgruppe R1C...RNC Lesespannungen auf, welche niedriger sind
als diejenigen der B-Lesespannungsgruppe R1B...RNB. Zusätzlich wird zur Durchführung
des Lesevorgangs wird unter Verwendung der C-Lesespannungsgruppe
der C-Lesebefehl eingegeben.
-
In
dieser Ausführung der vorliegenden Erfindung führt
die Steuereinrichtung den Lesevorgang durch, indem der Befehl von
dem A-Lesebefehl in den B-Lesebefehl und dann in den C-Lesebefehl
geändert wird. Die Steuereinrichtung wählt den
geeigneten Lesebefehl basierend auf der Anzahl von Fehlern aus,
die unter Verwendung des ECC-Verfahrens erhalten wurden, das heißt,
wenn das ECC-Verfahren schwierig auszuführen ist. In einer
weiteren Ausführung kann die Steuereinrichtung einen geeigneten Lesebefehl
(A, B oder C) unter Verwendung von Verfahren auswählen,
die sich von dem ECC-Verfahren unterscheiden.
-
Die
Lesespannungsdaten, welche die Lesespannungsgruppen A bis C mit
Bezug auf die A- bis C-Lesebefehle betreffen, können gemäß den
Eigenschaften einer MLC-Flash-Speichervorrichtung voreingestellt
und bezüglich der Durchführung eines Betriebsbefehls
der Steuereinrichtung 150 gespeichert werden. Die im Speicher
abgelegten Lesebefehlgruppen können durch ein Programm
modifiziert werden. Dementsprechend können die Lesebefehlgruppen
eingestellt werden, indem eher ein Algorithmus modifiziert wird,
als dass die Hardwarekomponenten geändert werden.
-
2 ist
ein Flussdiagramm, welches ein Leseverfahren der MLC gemäß einer
Ausführung der vorliegenden Erfindung illustriert.
-
Mit
Bezug auf 2 wird bei dem Leseverfahren
der MLC gemäß einer Ausführung der vorliegenden
Erfindung ein A-Lesebefehl in Verfahrensschritt S211 in die Steuereinrichtung 150 eingegeben,
und dann wird in Verfahrensschritt S212 eine Leseadresse in die
Steuereinrichtung 150 eingegeben.
-
In
einer Umsetzung wird ein allgemeiner Lesebefehl eingegeben, und
die Steuereinrichtung wird zur Ausführung vorher festgelegter
Gruppen von Befehlen konfiguriert, wobei mit dem A-Lesebefehl begonnen
wird. Alternativ kann ein bestimmter Befehl, zum Beispiel A-Lesebefehl,
der B-Lesebefehl oder der C-Lesebefehl so eingegeben werden, dass
die Steuereinrichtung mit dem bestimmten Befehl beginnt.
-
Beim
Durchführen des Lesevorgangs mit Beginn von der eingegebenen
Adresse an, kann die Steuereinrichtung in Verfahrensschritt S213
den Lesevorgang unter Verwendung der A-Lesespannungsgruppe R1A...RNA ausführen.
In Verfahrensschritt S214 werden gelesene Daten von der Steuereinrichtung
ausgegeben. Die ausgegebenen Daten mit einem Fehler werden durch
das ECC-Verfahren korrigiert. In der vorliegenden Realisierung kann
das ECC-Verfahren zum Korrigieren des Fehlers durchgeführt
werden, wenn die Fehlerrate 10% oder weniger beträgt. Wenn
die Fehlerrate mehr als 10% der evaluierten Daten ausmacht, ist
es schwierig, die Fehlerkorrektur unter Verwendung des ECC-Verfahrens
durchzuführen.
-
In
Verfahrensschritt S215 legt die Steuereinrichtung fest, ob eine
Korrektur in Verfahrensschritt S215 möglich ist. In der
vorliegenden Ausführung wird die Fehlerrate festgelegt,
indem die Zellen mit einem Fehler gezählt werden. Dies
kann durch die Steuereinrichtung erfolgen. Wenn die Zellen mit Fehlern
eine vorher festgelegten Anzahl (zum Beispiel 10 Prozent der Zellen,
welche ausgewertet werden) übersteigen, legt die Steuereinrichtung
fest, dass das Fehlerkorrekturverfahren nicht wirksam durchgeführt werden
kann.
-
Wenn
festgelegt wird, dass eine wirksame Fehlerkorrektur möglich
ist, erfolgt eine Fehlerkorrektur falls nötig, und die
Steuereinrichtung legt fest, ob die Adresse der in Betracht kommenden
Seite die letzte Adresse eines Blocks ist (Verfahrensschritt 216).
Wenn die Adresse nicht die Adresse der letzten Seite ist, erhöht
die Steuereinrichtung die Adresse in Verfahrensschritt S217, führt
in Verfahrensschritt S213 einen Datenlesevorgang aus und gibt dann
in Verfahrensschritt S214 Daten aus.
-
Andererseits
wird der Lesevorgang abgeschlossen, wenn die Steuereinrichtung festlegt,
dass die bearbeitete Seite die letzte Adresse des Blocks aufweist.
-
Wird
in Verfahrensschritt S215 festgelegt, dass eine wirksame Fehlerkorrektur
schwierig zu erlangen ist (zum Beispiel bei Auftreten einer Fehlerrate
von 10% oder mehr), wird der Lesebefehl von dem A-Lesebefehl in
den B-Lesebefehl geändert (Verfahrensschritt S221). In
diesem Fall hat eine Schwellenspannungsverschiebung den Fehlerkorrekturbereich überschritten
(siehe 1E). Eine Adresse einer Seite
wird ausgelöst durch den B-Lesebefehl (Verfahrensschritt
S222) eingegeben. Die Steuereinrichtung führt einen Lesevorgang
gemäß der B-Lesespannungsgruppe R1B...RNB (Verfahrensschritt S223) durch und gibt
Daten aus (Verfahrensschritt S224).
-
In
der einen Umsetzung (oder erstes Verfahren) ist die Adresseneingabe
in Verfahrensschritt S222 die Adresse einer Seite, deren Fehlerkorrektur im
Verfahrensschritt S214 schwierig war. Mit anderen Worten, die Steuereinrichtung
wird konfiguriert, um Adressen der Seiten zu speichern, für
welche eine schwierige Fehlerkorrekturausführung bei Ausführung
des A-Lesebefehls bestand. Wenn zum Beispiel von 32 ausgelesenen
Seiten die erste und dritte Seite zu hohe Fehlerraten aufgewiesen
haben und die Fehlerkorrektur nicht wirksam erfolgen konnte, speichert
die Steuereinrichtung die Adressen der ersten und dritten Seite
vorübergehend und liest die erste und dritte Seite unter
Verwendung des B-Lesebefehls in Verfahrensschritt S223 aus.
-
In
einer weiteren Realisierung (oder zweites Verfahren) kann die Steuereinrichtung,
wenn eine Fehlerkorrektur in Bezug auf eine bestimmte Seite schwierig
ist, während der Lesevorgang auf einer Seitenbasis durchgeführt
wird, einen Lesevorgang auf den Seiten des verbleibenden Blöcke
sequenziell durchführen, indem die B-Lesespannungsgruppe R1B...RNB benutzt
wird, beginnend bei der Adresse einer korrespondierenden Seite nach Änderung
des Lesebefehls in den B-Lesebefehl.
-
Im
Allgemeinen wird das zweite Verfahren eher als das erste Verfahren
benutzt. So ist die in Verfahrensschritt S222 eingegebene Adresse
eine Adresse einer Seite, deren Fehlerkorrektur als Ergebnis des
Auslesens gemäß dem A-Lesebefehl als schwierig
festgelegt worden ist. Ein anschließender Datenlesevorgang
wird gemäß dem B-Lesebefehl ausgeführt.
-
Wenn
gelesene Daten gemäß dem B-Lesebefehl ausgegeben
werden, legt die Steuereinrichtung fest, ob eine Fehlerkorrektur
möglich ist (Verfahrensschritt S225). Wenn eine wirksame
Fehlerkorrektur als möglich erachtet wird, erfolgt eine
Fehlerkorrektur, falls nötig. Die Steuereinrichtung legt
fest, ob die bearbeitete Adresse die Adresse der letzten Seite ist (Verfahrensschritt
S226). Wenn das nicht der Fall ist, wird die Adresse erhöht,
um die nächste Seite zu lesen (Verfahrensschritt S227).
-
Andererseits,
wenn eine wirksame Fehlerkorrektur bei den gemäß dem
B-Lesebefehl gelesenen Daten als schwierig auszuführen
erachtet wird, wird der Befehl in den C-Lesebefehl geändert
(Verfahrensschritt S231). Adressen der unter Verwendung des C-Lesebefehls
zu lesenden Seiten werden eingegeben (Verfahrensschritt S232). Diese
Adressen korrespondieren zu den in Verfahrensschritt S222 eingegebenen
Adressen.
-
Unter
Verwendung der C-Lesespannungsgruppe R1C...RNC werden Daten gelesen (Verfahrensschritt
S233). Die gelesenen Daten werden in Verfahrensschritt S234 n ausgegeben.
Dann wird festgelegt, ob eine wirksame Fehlerkorrektur in Bezug
auf die ausgegebenen Daten möglich ist (Verfahrensschritt
S235). Wenn eine wirksame Fehlerkorrektur möglich ist,
wird die Fehlerkorrektur ausgeführt, falls nötig.
Eine Festlegung wird getroffen, ob die bearbeitete Adresse die Adresse
der letzten Seite ist oder nicht (Verfahrensschritt S236). Wenn
die Adresse nicht die Adresse der letzten Seite ist, wird die Adresse
erhöht und Daten werden unter Verwendung des C-Lesebefehls
ausgelesen.
-
Wenn
in Verfahrensschritt S236 die Adresse die Adresse der letzten Seite
ist, wird eine Kopie des Blocks in Bezug auf einen korrespondierenden Speicherblock
erstellt (Verfahrensschritt S238). Danach wird der Lesevorgang abgeschlossen.
Die Blockkopie wird ausgeführt, um die Daten zu einem anderen
Speicherblock zur Aufbewahrung der Daten zu verschieben, damit die
Daten vor Veränderung geschützt sind, da eine
Wiederherstellung der Daten unmöglich ist, wenn die Schwellenspannung
einer Zelle auf Grund weiterer Rückhaltung verändert
ist, nachdem ein Auslesen gemäß dem C-Lesebefehl vorgenommen
worden ist.
-
Wenn
sogar nach Ausführung des C-Lesebefehls eine wirksame Fehlerkorrektur
schwierig ist, wird ein Blockausfallprozess für den Block
ausgelöst (Verfahrensschritt S240). Die Blöcke
mit einer Blockausfallmarkierung werden im Allgemeinen nicht zum Speichern
von Daten benutzt. Derartige Blöcke können jedoch
nach einem globalen Löschvorgang verwendet werden.
-
Wenn
eine Fehlerrate festgelegt ist, ein gegebenes Niveau, zum Beispiel
10 Prozent, zu überschreiten, kann ein Lesebefehl aus einem
Satz von Lesebefehlen ausgewählt werden. Jeder Lesebefehl verwendet
einen Satz von Lesespannungen, welcher niedrigere Spannungen als
die anfänglichen Lesespannungen aufweist, um die Schwellenspannungsverschiebung über
der Zeit zu kompensieren. In der vorliegenden Ausführung
benutzen der A-Lesebefehl, der B-Lesebefehl und der C-Lesebefehl
die Lesespannungen, welche stufenweise niedrigere Lesespannungen
aufweisen.
-
Indem
die Lesespannungsgruppen mit Bezug auf die jeweiligen Lesebefehle
durch deren Teilung in den ersten Lesebefehl bis zu einem M-ten
(M ≥ 2, M ist eine ganze Zahl) Lesebefehl eingestellt werden,
kann weiterhin gemäß einer Ausführung
der vorliegenden Erfindung der Datenlesevorgang durch den M-fachen
Lesevorgang exakt durchgeführt werden. Nachdem der M-te
Lesebefehl ausgeführt worden ist, wird eine Blockkopie
erstellt, so dass der Fehler, welcher auftreten kann, nachfolgend
reduziert werden kann.
-
Weiterhin
werden, wie oben erwähnt ist, die Lesespannungsgruppen
abhängig von den jeweiligen Lesebefehlen in der Steuereinrichtung
gespeichert, und abhängig von der Vorgangssequenz gemäß 2 wird
ein Algorithmus für den Lesevorgang in der Steuereinrichtung
gespeichert.
-
Wie
oben beschrieben ist, werden in Übereinstimmung mit dem
Leseverfahren einer Speichervorrichtung gemäß der
vorliegenden Erfindung, nachdem sich Zellenschwellenspannungen auf Grund
einer Rückhalteeigenschaft geändert haben, Lesespannungen
ebenfalls geändert. Es ist deshalb möglich, einen
exakten Datenlesevorgang durchzuführen.
-
Obwohl
die vorstehende Beschreibung mit Bezugnahme auf die bestimmten Ausführungen
gemacht worden ist, ist es selbstverständlich, dass Änderungen
und Modifikationen des vorliegenden Patents vom Fachmann ausgeführt
werden können, ohne den Sinn und Rahmen des vorliegenden
Patents und der beigefügten Ansprüche zu verlassen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - KR 10-2007-017927 [0001]