-
QUERVERWEISE AUF VERWANDTE
ANMELDUNGEN
-
Die
vorliegende Anmeldung beansprucht die Priorität der
koreanischen Patentanmeldung
Nr. 10-2007-12258 , welche am 29. November 2007 eingereicht
wurde, und die in vollem Umfang durch Bezugnahme umfasst ist.
-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft eine Flash-Speichereinrichtung und
ein Verfahren zum Programmieren derselben, und insbesondere eine Flash-Speichervorrichtung
und ein Verfahren zum Programmieren derselben, in dem eine Prüfoperation während
einer Programmoperation ausgeführt werden kann.
-
In
letzter Zeit hat es eine steigende Nachfrage für Halbleiterspeichervorrichtungen
gegeben, welche ohne eine Aktualisierungsfunktion zum Neuschreiben
von Daten in regelmäßigen Zeitabständen elektrisch
programmiert und gelöscht werden können. Rege
Untersuchungen wurden ebenfalls betrieben, um hochintegrierte Speichervorrichtungen
und Großraumspeichervorrichtungen zu entwickeln, die eine
große Menge von Daten speichern können.
-
Für
eine hochintegrierte Speicherzelle wurde eine NAND-Flash-Speichervorrichtung
entwickelt, in der eine Vielzahl von Speicherzellen in Reihe geschaltet
ist, um eine Reihe zu bilden. Die NAND-Flash-Speichervorrichtung
wird durch Injizieren oder Ableiten von Elektronen in oder aus dem Floating-Gate
der NAND-Flash-Speichervorrichtung durch das Fowler-Nordheim Tunnelverfahren
programmiert oder gelöscht.
-
Die
NAND-Flash-Speichervorrichtung verwendet einen Seitenzwischenspeicher,
um eine große Menge an Informationen in kurzen Signalfolgen
zu speichern und zu prüfen, ob Daten bestimmungsgemäß programmiert
oder gelöscht wurden. Der Seitenzwischenspeicher umfasst üblicherweise
ein Single Register zum vorübergehenden Speichern von Daten.
In letzter Zeit wurde der Seitenzwischenspeicher erweitert, um ein
Dual Register zu umfassen, und um die Programmiergeschwindigkeit
von Daten zu erhöhen.
-
1 zeigt
ein Blockdiagramm eines Seitenzwischenspeichers mit einer Dual Register
Anordnung einer gewöhnlichen NAND-Flash-Speichervorrichtung.
Ein Programmiervorgang und ein Copyback-Vorgang bzw. Rückkopierbetrieb
werden unter Verwenden eines Main Registers 24 bzw. eines
Cache Registers 25 ausgeführt. Das Hauptregister 24 wird
verwendet, um Lese- und Programmlöschprüfvorgänge
auszuführen. Eine Operation des Seitenzwischenspeichers
auf eine Programmprüfung wird nachfolgend beschrieben.
-
Falls
Entladungssignale DISCHe, DISCHo an eine Prüfsignalversorgungseinheit 21 angelegt werden,
wird ein Prüfsignal VIRPWR, welches einen Spannungspegel
von 0 Volt aufweist, an eine der geraden und ungeraden Bitleitungen
BLe, BLo angelegt. Das Main Register 24 umfasst einen Latch 27. Ein
Ausgangsknoten des Latch 27 wird als Antwort auf ein Rücksetzungssignal
zurückgesetzt. Falls ein Vorladungssignal eines niedrigen
Pegels an eine Vorladungseinheit 23 angelegt wird, wird
eine Stromversorgungsspannung Vcc an einen Abtastungsknoten SU angelegt,
der einen hohen Pegel aufweist. Danach wird ein gerades Bitleitungsauswahlsignal BSLe
mit einem Spannungspegel einer ersten Spannung V1 an eine Bitleitungsauswahleinheit 22 angelegt
und folglich wird die gerade Bitleitung BLe auf V1–Vt vorgeladen.
An die Bitleitungsauswahleinheit 22 wird dann das gerade
Bitleitungsauswahlsignal BSLe eines niedrigen Pegels angelegt, um
die Zelle zu bewerten. Das Vorladungssignal mit einem hohen Pegel
wird an die Vorladungseinheit 23 angelegt, so dass der
Knoten der den Abtastungsknoten SO mit der Stromversorgungsspannung
Vcc versorgt, geblockt wird. Infolgedessen wird an die Bitleitungsauswahleinheit 22 das
gerade Bitleitungsauswahlsignal BSLe mit einem Spannungspegel einer
zweiten Spannung V2 angelegt. Danach wird an das Main Register 24 ein
Lesesignal angelegt und folglich werden die Spannungspegel der Eingangs-
und Aus gangsknoten des Latches 27 gemäß dem
Spannungspegel des Abtastungsknotens SO geändert, was gemäß dem
programmierten oder gelöschten Zustand der Zelle geändert
wird. Das heißt in dem Fall einer programmierten Zelle
weist der Abtastungsknoten SO einen hohen Spannungspegel auf und
im Fall einer gelöschten Zelle wird der Abtastungsknoten
SO auf einen niedrigen Spannungspegel entladen. Wenn der Abtastungsknoten
SO einen hohen Spannungspegel aufweist, wird der Spannungspegel
des Eingangsknotens des Abtastungsknotens SO ein niedriger Pegel
und der Ausgangsknoten davon wird ein hoher Pegel. Ein Detektionssignalanschluss
wird aufgrund des hohen Spannungspegels des Ausgangsknotens in einen
hochohmigen Zustand versetzt. Wenn der Abtastungsknoten SO einen
niedrigen Spannungspegel aufweist, werden in dessen die Spannungspegel
des Eingangsknotens und des Ausgangsknotens der Abtastungsknoten
SO nicht geändert, so dass der Ausgangsknoten einen niedrigen
Spannungspegel beibehält. Der Spannungspegel des Detektionssignals
wird ein hoher Pegel aufgrund des niedrigen Spannungspegels des Ausgangsknotens.
Dementsprechend wird in dem Fall einer programmierten Zelle der
Spannungspegel des Detektionssignals in den hochohmigen Zustand versetzt,
und in dem Fall einer gelöschten Zelle wird der Spannungspegel
des Detektionssignals ein hoher Pegel.
-
Ein
wie oberhalb beschrieben ausgebildeter Seitenzwischenspeicher ist
an jedes Bitleitungspaar (das heißt eine gerade Bitleitung
und eine ungerade Bitleitung) einer Flash-Speichervorrichtung gekoppelt.
Ferner sind wie in 2 dargestellt die Detektionssignalknoten
nWDO_L von jedem Seitenzwischenspeicher mit einer Leitung und einem
Ausgang verbunden. In anderen Worten sind in dem Fall einer aus
512 Bitleitungen bestehenden Flash-Speichervorrichtung 512 Detektionssignalknoten
nWDO_L von 512 Seitenzwischenspeichern in eine Leitung und einen
Ausgang integriert. Da somit ein Ein-Bitdetektionssignal nWDO auf
einer 512-Seitenzwischenspeicherbasis ausgegeben wird, werden Pass
oder Fail-Bits durch Verwenden eines 16-Bit Detektionssignals nWDO
erzeugt.
-
Das
herkömmliche Prüfverfahren der Flash-Speichervorrichtung
kann nur einen Pass- oder Fail-Zustand nachprüfen, aber
kann nicht überprüfen wie viele Fail-Bits aufgetreten
sind.
-
KURZE ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung ist gerichtet auf eine Flash-Speichervorrichtung
und ein Verfahren zum Programmieren derselben, in der während
einer Programmieroperation der Flash-Speichervorrichtung Daten in
die Flash-Speichervorrichtung einprogrammiert wird. Eine Spalten-Scan-Operation
zum überprüfen der Daten wird dann ausgeführt,
um Bits zu überprüfen wo Programmfehler aufgetreten
sind und um die Anzahl von Fail-Bits zu berechnen. Fail-Bits werden
durch Verwenden eines ECC (Error correction code) korrigiert, und
somit die Wirksamkeit der Flash-Speichervorrichtung verbessert.
-
In
einer Ausführungsform der vorliegenden Erfindung umfasst
eine Flash-Speichervorrichtung ein Speicherzellenfeld, umfassend
eine Vielzahl von Speicherzellen; eine Seitenzwischenspeicherungseinheit
umfassend eine Vielzahl von Seitenzwischenspeichern, die an Bitleitungen
des Speicherzellenfelds angeschlossen sind; eine Datenleitungsmultiplexereinheit,
die zwischen der Seitenzwischenspeichereinheit und einer Datenleitung
angeschlossen ist und eingerichtet ist, um Überprüfungsdaten
durch einen Seitenzwischenspeicher während einer Prüfoperation
zu empfangen; und eine Fail-Bit-Berechnungseinheit zum Berechnen
der Prüfdaten, welche die berechneten Fail-Bits und die
Anzahl von zulässigen ECC Bits vergleicht, und ein Pass-
oder Fail-Bitsignal einer Programmoperation gemäß dem
Vergleichsergebnis ausgibt.
-
Die
Seitenzwischenspeichereinheit kann eingerichtet sein, um in die
Speicherzelle programmierte Daten während der Prüfoperation
zu lesen und die gelesenen Daten als die Prüfdaten zu speichern.
-
Die
Fail-Bit Berechnungseinheit kann ferner einen ersten Komparator
zum Vergleichen der Prüfdaten und der Eingabedaten umfassen,
welche während der Programmieroperation eingegeben werden; ein
Zähler zum Zählen von Ausgangssignalen des ersten
Komparators und Ausgeben des gezählten Ausgangsignals als
ein Zählsignal; ein Register zum Speichern der Anzahl von
zulässigen ECC Fail-Bits; und einen zweiten Komparator
zum Vergleichen der Anzahl von zulässigen ECC Fail-Bits
und dem Zählsignal, und zum Ausgeben des Pass- oder Fail-Signals.
-
Die
Datenleitungsmultiplexereinheit kann eine Spaltendecodierungseinheit
zum Auswählen irgend einer der Vielzahl von Seitenzwischenspeichern
als Antwort auf eine Speicheradresse während der Prüfoperation
umfassen, und einer Datenleitungsmultiplexereinheit zum Empfangen
der Prüfdaten von der Spaltendecodierungseinheit während
der Prüfoperation und zum Ausgeben der empfangenen Prüfdaten
an die Fail-Bit Berechnungseinheit.
-
In
einer weiteren Ausführungsform der vorliegenden Erfindung
umfasst ein Verfahren zum Programmieren einer Flash-Speichervorrichtung
das Eingeben einer Vielzahl von Programmierdaten an eine Vielzahl
von Seitenzwischenspeichern, die an ein Speicherzellenfeld entsprechend
angeschlossen sind; Programmieren der Vielzahl von Programmdaten
in das Speicherzellenfeld; Überprüfen der Vielzahl
von Daten, die in das Speicherzellenfeld programmiert sind und Ausgeben
einer Vielzahl von Überprüfungsdaten; Berechnen
von Fail-Bits durch Verwenden der Vielzahl von Überprüfungsdaten; Vergleichen
der Anzahl der berechneten Fail-Bits und der Anzahl von zulässigen
Bits; und Ausgeben eines Programm Pass- oder Fail-Signals.
-
Wenn
die Anzahl der berechneten Fail-Bits größer ist
als die Anzahl der zulässigen Bits wird das Fail Signal
ausgegeben, und wenn die Anzahl der berechneten Fail-Bits gleich
oder kleiner als die Anzahl der zulässigen Bits ist wird
das Pass-Signal ausgegeben.
-
In
einer noch weiteren Ausführungsform der vorliegenden Erfindung
umfasst ein Verfahren zum Programmieren einer Flash-Speichervorrichtung
ein Eingeben von ersten Programmierdaten an einen Seitenzwischenspeicher;
Programmieren der ersten Programmdaten in ein Speicherzellenfeld
und im wesentlichen zur gleichen Zeit Eingeben von zweiten Programmierdaten
an den Seitenzwischenspeicher; Überprüfen der
in das Speicherzellenfeld einprogrammierten ersten Programmierdaten;
Ausgeben von Überprüfungsdaten; Berechnen der
Anzahl von Fail-Bits durch Verwenden der Überprüfungsdaten; Vergleichen
der Anzahl von berechneten Fail-Bits und der Anzahl von zulässigen
Bits; und Ausgeben eines Programm Pass- oder Fail-Signals gemäß dem Vergleichsergebnis.
-
Wenn
die Anzahl von berechneten Fail-Bits größer ist
als die Anzahl von zulässigen Bits wird das Fail Signal
ausgegeben, und wenn die Anzahl von berechneten Fail-Bits gleich
oder kleiner als die Anzahl von zulässigen Bits ist wird
das Pass-Signal ausgegeben.
-
Die
ersten Programmdaten können an die Seitenzwischenspeicher
durch eine ausgewählte Datenleitung als Antwort auf eine
Spaltenadresse eingegeben werden.
-
Beim
Berechnen der Fail-Bits, bis die Überprüfungsdaten
entsprechend einer letzten Spaltenadresse durch sequentielles Erhöhen
der Spaltenadresse ausgegeben werden können, werden Daten, bei
denen die Programmoperation nicht bestimmungsgemäß ausgeführt
wird, als Fail-Bits berechnet.
-
Die
Ausgabe des Programm Pass- oder Fail-Signals kann ausgeführt
werden nachdem eine Operation abgeschlossen ist, in der die zweiten
Programmdaten an den Seitenzwischenspeicher eingegeben sind.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 und 2 stellen
eine herkömmliche Pass- oder Fail-Prüffunktion
einer Flash-Speichervorrichtung dar;
-
3 zeigt
ein Blockdiagramm einer Flash-Speichervorrichtung gemäß einer
Ausführungsform der vorliegenden Erfindung;
-
4 zeigt
ein ausführliches Blockdiagramm einer in 3 gezeigten
Berechnungseinheit;
-
5 zeigt
ein Flussdiagramm, das eine Pass- oder Fail-Prüfoperation
einer Flash-Speichervorrichtung gemäß einer Ausführungsform
der vorliegenden Erfindung darstellt; und
-
6 zeigt
ein Flussdiagramm, das eine Pass- oder Fail-Prüfoperation
einer Flash-Speichervorrichtung gemäß einer weiteren
Ausführungsform der vorliegenden Erfindung darstellt.
-
BESCHREIBUNG VON BESTIMMTEN AUSFÜHRUNGSFORMEN
-
Bestimmte
Ausführungsformen gemäß der vorliegenden
Erfindung werden mit Bezug auf die beigefügten Zeichnungen
beschrieben. Jedoch ist die vorliegende Erfindung nicht auf die
offenbarten Ausführungsformen beschränkt, sondern
kann in verschiedenster Art und Weise ausgeführt sein.
Die Ausführungsformen sind vorgesehen, um die Offenbarung
der vorliegenden Erfindung zu vervollständigen und es dem
Fachmann zu ermöglichen, den Umfang der vorliegenden Erfindung
zu verstehen. Die vorliegende Erfindung wird durch den Umfang der
beigefügten Ansprüche bestimmt.
-
3 zeigt
ein Blockdiagramm einer Flash-Speichervorrichtung gemäß einer
Ausführungsform der vorliegenden Erfindung.
-
Mit
Bezug auf 3 umfasst eine Flash-Speichervorrichtung
ein Speicherzellenfeld 110, eine Seitenzwischenspeichereinheit 120,
eine Spaltendecodierungseinheit 130, eine Datenleitungsmultiplexereinheit 140,
und eine Fail-Bit Berechnungseinheit 160.
-
Das
Speicherzellenfeld 110 umfasst eine Vielzahl von Reihen.
In jeder Reihe sind eine Vielzahl von Speicherzellen in Reihe geschaltet.
Eine Reihe kann 16 oder 32 Speicherzellen, einen Drain-Auswahltransistor
und einen Source-Auswahltransistor umfassen. Der Drain-Auswahltransistor
weist eine Drain-Region auf, die an die Bitleitungen BLe, BLo gekoppelt
ist, und der Source-Auswahltransistor weist eine Source-Region auf,
die an eine gemeinsame Source-Leitung gekoppelt ist.
-
Die
Seitenzwischenspeichereinheit 120 umfasst eine Vielzahl
von Seitenzwischenspeichern (Seitenzwischenspeicher 1 bis Seitenzwischenspeicher
n). Jeder Seitenzwischenspeicher ist an ein Bitleitungs-(BLe, BLo)Paar
des Speicherzellenfelds 110 gekoppelt.
-
Die
Spaltendecodierungseinheit 130 ist an die Seitenzwischenspeichereinheit 120 angeschlossen.
Die Spaltendecodierungseinheit 130 verbindet eine Datenleitung
DL und irgendeine der Vielzahl von Seitenzwischenspeichern (Seitenzwischenspeicher 1
bis Seitenzwischenspeicher n) als Antwort auf eine Spaltenadresse
CA.
-
Die
Datenleitungsmultiplexereinheit 140 verbindet eine allgemeine
Datenleitung GDL und die Datenleitung DL während einer
Programmier- oder Leseoperation der Vorrichtung. Die Datenleitungsmultiplexereinheit 140 gibt
Prüfdaten VD<31:0>, welche durch die
Datenleitung DL eingegeben werden, an die Fail-Bit Berechnungseinheit 160 während
einer Prüfoperation der Vorrichtung aus.
-
Die
Fail-Bit Berechnungseinheit 160 berechnet Fail-Bits der
Prüfdaten VD<31;0>, welche von der Datenleitungsmultiplexereinheit 140 eingegeben werden,
während einer Prüfoperation der Flash-Speichervorrichtung.
Die Fail-Bit Berechnungseinheit 160 vergleicht die Anzahl
von berechneten Fail-Bits und die Anzahl von Fail-Bits, die in einer
ECC Einheit zulässig sind. Als Ergebnis des Vergleichs
wenn die Anzahl von berechneten Fail-Bits größer
ist als die Anzahl von in der ECC Einheit zulässigen Fail-Bits
gibt die Fail-Bit Berechnungseinheit 160 ein Fail Signal FAIL
aus. Wenn die Anzahl von berechneten Fail-Bits jedoch gleich oder
kleiner ist als die Anzahl von in der ECC Einheit zulässigen
Fail-Bits gibt die Fail-Bit Berechnungseinheit 160 ein
Pass-Signal PASS aus.
-
4 zeigt
ein ausführliches Blockdiagramm der in 3 gezeigten
Fail-Bit Berechnungseinheit 160.
-
Mit
Bezug auf 4 umfasst die Fail-Bit Berechnungseinheit 160 einen
ersten Komparator 161 zum Vergleichen der Prüfdaten
VD<31:0> und Eingabedaten IN_DATA<31:0>, die während
einer Programmieroperation eingegeben werden, einen Zähler 162 zum
Zählen von Ausgabesignalen FD<31:0> des
ersten Komparators 161 und Ausgeben der gezählten
Signale als Zählsignale FN<31:0>,
ein Register 163 zum Speichern der Anzahl von zulässigen ECC
Fail-Bits, und einen zweiten Komparator 164 zum Vergleichen
der Anzahl von zulässigen ECC Fail-Bits EFN<3:0>, die in dem Register 163 gespeichert
sind und der Zählsignale FN<3:0>,
und Ausgeben eines Pass- oder Fail-Signals PASS oder FAIL.
-
Das
Register 163 kann ein Fuse Satz sein und kann die Anzahl
von zulässigen ECC Fail-Bits gemäß dem
Schwellwert einer Fuse des Fuse Satzes speichern.
-
5 zeigt
ein Flussdiagramm, das eine Prüfoperation einer Flash-Speichervorrichtung
gemäß einer Ausführungsform der vorliegenden
Erfindung darstellt.
-
Eine
Prüfoperation einer Flash-Speichervorrichtung wird nachfolgend
mit Bezug auf die 3 bis 5 beschrieben.
-
1) Dateneingabeschritt (510)
-
Wenn
die Flash-Speichervorrichtung programmiert wird, werden Programmdaten
an die Spaltendecodierungseinheit durch die allgemeine Datenleitung
GDL und die Datenleitung DL eingegeben. Demzufolge wird eine Spaltenadresse
von einer zu programmierenden Spalte eingegeben und ein Seitenzwischenspeicher
(irgendeiner der Seitenzwischenspeicher 1 bis Seitenzwischenspeicher
n) der Seitenzwischenspeichereinheit 120 wird an die Datenleitung
DL angeschlossen, damit die Programmdaten an die Seitenzwischenspeichereinheit 120 eingegeben
wird.
-
2) Datenprogrammierschritt (520)
-
Die
an die Seitenzwischenspeichereinheit 120 eingegebenen Programmdaten
werden durch eine ausgewählte Bitleitung (irgendeine von
BLe, BLo) übertragen. Folglich wird eine Programmspannung
an die Wortleitung angelegt, die an eine ausgewählte Speicherzelle
des Speicherzellenfelds 110 angeschlossen ist, so dass
die Programmdaten in die ausgewählten Speicherzelle einprogrammiert
wird.
-
3) Spalten Scann Schritt (530)
-
Um
eine Prüfoperation der programmierten Speicherzelle auszuführen,
wird der Status (Überprüfungsdaten) der Speicherzelle
gelesen und dann in einem Seitenzwischenspeicher (irgendeiner der
Seitenzwischenspeicher 1 bis Seitenzwischenspeicher n) gespeichert.
-
Die
Spaltenadresse, die angelegt wird wenn die Programmierdaten eingegeben
werden, wird dann an die Spaltendecodierungseinheit 130 angelegt,
so dass die Prüfdaten an die Datenleitungsmultiplexereinheit 140 ausgegeben
werden. Die Datenleitungsmultiplexereinheit 140 bestimmt
den Durchgang oder Fehler der Prüfdaten, und bei einem
Fehler gibt sie als ein Ergebnis der Bestimmung die Prüfdaten
VD<31:0> an die Fail-Bit Berechnungseinheit 160 aus.
-
4) Fail-Bit Berechnung
-
Der
erste Komparator 161 der Fail-Bit Berechnungseinheit 160 vergleicht
die Prüfdaten VD<31:0>, die während
der Spalten Scann Operation eingegeben werden, und der eingegebenen
Daten IN_DATA, die während der Programmieroperation eingegeben
werden, und gibt Informationen über falsche Daten als ein
Ergebnis des Vergleichs (das heißt Daten bei denen die
Programmieroperation nicht bestimmungsgemäß ausgeführt
worden ist) als das Vergleichssignal FD<31:0> aus.
-
Der
Zähler 162 empfängt das Vergleichssignal
FD<31:0>, zählt die
Daten bei denen die Programmoperation nicht bestimmungsgemäß ausgeführt
worden ist, und gibt das Zählsignal FN<3:0> aus.
Der zweite Komparator 164 vergleicht die Anzahl von zulässigen
ECC Fail-Bits EFN<3:0>, die in dem Register 163 gespeichert
werden, und das Zählsignal FN<3:0> und
gibt das Pass- oder Fail-Signal PASS oder FAIL gemäß dem
Vergleichsergebnis aus.
-
Wie
oberhalb beschrieben wird nach dem Programmdaten in eine Speicherzelle
einprogrammiert sind die Programmoperation unter Verwendung eines
Spalten Scann Verfahrens durch Lesen der programmierten Daten überprüft.
Dementsprechend werden die Anzahl von Fail-Bits während
einer Programmoperation einer Vielzahl von Speicherzellen berechnet
und das Pass- oder Fail-Signal PASS oder FAIL wird dann ausgegeben.
-
Eine
weitere Ausführungsform der vorliegenden Erfindung wird
nachfolgend beschrieben unter Verwendung eines Cache Programms einer
Programmoperation einer Flash-Speichervorrichtung als ein Beispiel
-
6 zeigt
ein Flussdiagramm, das eine Prüfoperation einer Flash-Speichervorrichtung
gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung darstellt.
-
1) Erster Dateneingabeschritt (610)
-
Wenn
ein Cache Programm an einer Flash-Speichervorrichtung ausgeführt
wird, werden erste Daten an die Spaltendecodierungseinheit 130 durch
die allgemeine Datenleitung GDL und die Datenleitung DL eingegeben.
Infolgedessen wird eine Spaltenadresse einer zu programmierenden
Spalte eingegeben und daher wird ein Seitenzwischenspeicher (irgendeiner
der Seitenzwischenspeicher 1 bis Seitenzwischenspeicher n) der Seitenzwischenspeichereinheit 120 an
die Datenleitung DL angeschlossen, damit die ersten Daten an die
Seitenzwischenspeichereinheit 120 eingegeben werden.
-
2) Erstes Datenprogramm und zweiter Dateneingabeschritt
(620)
-
Die
ersten Daten, die an einen Seitenzwischenspeicher (irgendeiner der
Seitenzwischenspeicher 1 bis Seitenzwischenspeicher n) der Seitenzwischenspeichereinheit 120 werden
an die zu programmierenden Speicherzelle durch die Bitleitung BLe oder
Blo des Speicherzellenfelds 110 übertragen. Infolgedessen
wird eine Programmierspannung an die Wortleitung der zu programmierenden
Speicherzelle angelegt, damit die Speicherzelle programmiert wird. Zur
gleichen Zeit werden zweite Daten an die Seitenzwischenspeichereinheit 120 in
der gleichen Art und Weise eingegeben wie die ersten Daten eingegeben worden
sind.
-
3) Erster Datenprogrammabschluss (630)
-
Falls
die Programmierspannung für ein vorbestimmtes Zeitintervall
angelegt wird und die Speicherzelle programmiert wird, wird die
Programmierspannung geblockt und daher ist die Programmieroperation
der Zelle abgeschlossen.
-
Spalten Scann Schritt (640)
-
Um
eine Prüfoperation der programmierten Speicherzelle auszuführen
wird der Status (Prüfdaten) der Speicherzelle gelesen und
dann in einem Seitenzwischenspeicher (irgendeiner der Seitenzwischenspeicher
1 bis Seitenzwischenspeicher n) gespeichert.
-
Die
Spaltenadresse, die angelegt wird wenn die Programmierdaten eingegeben
werden, wird dann die Spaltendecodierungseinheit 130 angelegt, so
dass die Prüfdaten an die Datenleitungsmultiplexereinheit 140 ausgegeben
wird. Die Datenleitungsmultiplexereinheit 140 bestimmt
den Durchgang oder Fehler der Prüfdaten, und gibt zum Zeitpunkt
eines Fehlers als ein Ergebnis der Bestimmung die Prüfdaten
VD<31:0> an die Fail-Bit Berechnungseinheit 160 aus.
-
5) Fail-Bit Berechnung (650)
-
Der
erste Komparator 161 der Fail-Bit Berechnungseinheit 160 vergleicht
die Prüfdaten VD<31:0>, die während
der Spalten Scann Operation eingegeben werden und der eingegebenen
Daten IN_DATA, die während der Programmieroperation eingegeben
werden, und gibt Information über falsche Daten als ein
Ergebnis des Vergleichs (das heißt Daten bei denen die
Programmieroperation nicht bestimmungsgemäß ausgeführt
worden sind) als das Vergleichssignal FD<31:0> aus.
-
Der
Zähler 162 empfängt das Vergleichssignal
FD<31:0>, zählt die
Daten bei denen die Programmoperation nicht bestimmungsgemäß ausgeführt
worden ist, und gibt das Zählsignal FN<3:0> aus.
Der zweite Komparator 164 vergleicht die Anzahl von zulässigen
ECC Fail-Bits EFN<3:0>, die in dem Register 163 gespeichert
sind und das Zählsignal FN<3:0> und
gibt das Pass- oder Fail-Signal PASS oder FAIL gemäß dem
Vergleichsergebnis aus.
-
Wenn
das Pass-Signal PASS ausgegeben wird, können Fehler von
Programm Fail Zellen der Flash-Speichervorrichtung durch Verwenden
einer ECC Schaltung korrigiert werden.
-
Nachdem
die erste Spalten Scann Operation beendet ist werden die zweiten
Daten an die Spalten Decodierungseinheit 130 durch die
allgemeine Datenleitung GDL und die Datenleitung DL eingegeben. Somit
wird eine Spaltenadresse von ei ner zu programmierenden Spalte eingegeben
und folglich wird ein Seitenzwischenspeicher (irgendeiner der Seitenzwischenspeicher
1 bis Seitenzwischenspeicher n) der Seitenzwischenspeichereinheit 120 an
die Datenleitung DL angeschlossen, damit die zweiten Daten in die
Seitenzwischenspeichereinheit 120 eingegeben werden.
-
Die
an einen Seitenzwischenspeicher eingegebenen zweiten Daten (irgendeiner
der Seitenzwischenspeicher 1 bis Seitenzwischenspeicher n) der Seitenzwischenspeichereinheit 120 werden
an eine zu programmierende Speicherzelle durch die Bitleitung BLe
oder BLo des Speicherzellenfelds 110 übertragen.
Infolgedessen wird eine Programmspannung an die Wortleitung einer
zu programmierenden Speicherzelle angelegt, so dass die Speicherzelle
programmiert wird. Zum gleichen Zeitpunkt werden dritte Daten in
der Seitenzwischenspeichereinheit 120 in der gleichen Art
und Weise gespeichert wie die ersten oder zweiten Daten eingegeben
werden.
-
Eine
Prüfoperation wird dann mit den zweiten Daten ausgeführt
und eine zweite Spalten Scann Operation wird dementsprechend ausgeführt.
Die obige Spalten Scann Operation wird sequentiell durch Erhöhen
der Adresse bis zu der letzten Spalte ausgeführt.
-
Wie
oberhalb beschrieben werden gemäß einer Ausführungsform
der vorliegenden Erfindung während einer Programmoperation
einer Flash-Speichervorrichtung Daten in die Flash-Speichervorrichtung
programmiert, eine Spalten Scann Operation zum Überprüfen
der Daten wird dann ausgeführt, um zu überprüfen
wo Programmfehler aufgetreten sind und um die Anzahl von Fail-Bits
zu berechnen, und Fail-Bits werden durch Verwenden einer ECC korrigiert.
Infolgedessen kann die Effizienz der Flash-Speichervorrichtung verbessert
werden.
-
Die
vorliegende Erfindung ist nicht auf die offenbarten Ausführungsformen
beschränkt, sondern kann in verschiedener Art und Weise
angewandt werden. Die Ausführungsformen sind vorgesehen,
um die Offenbarung der vorliegenden Erfindung zu vervollständigen
und dem Fachmann zu erlauben, den Umfang der vorliegenden Erfindung
zu verstehen. Die vor liegende Erfindung wird durch den Umfang der
beigefügten Ansprüche festgelegt.
-
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-12258 [0001]