-
HINTERGRUND
DER ERFINDUNG
-
1. GEBIET DER ERFINDUNG:
-
Die
Erfindung betrifft einen Halbleiterspeicher mit einer Mehrzahl von
Speicherzellen und ein Verfahren zum Steuern des Schreibens von
Daten in den Halbleiterspeicher.
-
2. BESCHREIBUNG DES STANDES
DER TECHNIK:
-
In
einem Halbleiterspeicher mit einer Mehrzahl von Speicherzellen,
die jeweils wenigstens 1-Bit Daten speichern, wie einem MLC (Multi
Level Cell) Flash-Speicher oder dergleichen, kennzeichnen die Schwellspannungen
der Speicherzelle verschiedene darin gespeicherte Daten. Somit ist
eine Datenumwandlung auf die eine oder andere Weise erforderlich,
um Daten in die Speicherzellen zu schreiben und Daten aus diesen
auszulesen.
-
In
einem MLC Flash-Speicher kann jede Speicherzelle üblicherweise
drei oder vier Schwellspannungen einnehmen (oder sich in drei oder
noch mehr Zuständen
befinden). Im Vergleich mit einem binären Speicher mit lediglich
einer Schwellspannung ist hierbei eine komplexere Steuerung erforderlich,
um Daten entsprechend der jeweiligen Schwellspannung zu schreiben
und zu lesen.
-
Nachfolgend
wird ein Datenschreibvorgang eines Halbleiterspeichers, der ein
MLC Flash-Speicher ist, mit einer Mehrzahl von in einer Matrix angeordneten
Speicherzellen erläutert.
-
Zunächst wird
ein Verfahren zum Speichern von MLC Daten in einem herkömmlichen
MLC Flash-Speicher im Vergleich zu einem Verfahren zum Speichern
von MLC Daten in einem herkömmlichen binären Flash-Speicher
erläutert.
-
Ein
MLC Flash-Speicher, der einen nichtflüchtigen Halbleiterspeicher
darstellt, enthält
eine Mehrzahl von üblicherweise
aus MOSFETs ausgebildeten Speicherzellen. Daten werden dadurch gespeichert,
dass die Schwellspannung jeder Speicherzelle entsprechend der in
einem Floating-Gate des zugeordneten MOSFETs angesammelten Ladungsmenge verändert wird.
-
10 zeigt
eine Darstellung einer Verteilung von Schwellspannungen einer Mehrzahl
von Speicherzellen, die in einem herkömmlichen binären Flash-Speicher
vorliegen. Die horizontale Achse kennzeichnet die Schwellspannung
und die vertikale Achse kennzeichnet die Anzahl von Speicherzellen. Die
Referenz-Schwellspannung in der Mitte der horizontalen Achse kennzeichnet
die Spannung, bei der Daten gelesen werden.
-
Üblicherweise
ist ein repräsentativer
binärer NOR
Flash-Speicher in einem Zustand mit gelöschten Daten, falls ein Floating-Gate
einer Speicherzelle keine angesammelten Daten aufweist. Dieser Zustand
wird durch Daten „1" gekennzeichnet.
Der binäre
NOR Flash-Speicher ist einem Zustand mit geschriebenen Daten, falls
ein Floating-Gate einer Speicherzelle darin injizierte negative
Ladungen (Elektronen) aufweist. Dieser Zustand wird durch Daten „0" gekennzeichnet.
-
Das
Gebiet von 10, das unterhalb der Referenz-Schwellspannung liegt,
zeigt eine Verteilung von Schwellspannungen in dem Zustand mit gelöschten Daten
und das Gebiet von 10, das oberhalb der Referenz-Schwellspannung
liegt, zeigt eine Verteilung von Schwellspannungen in dem Zustand
mit geschriebenen Daten.
-
Die
Schwellspannung einer Speicherzelle ist im Zustand mit gelöschten Daten
kleiner als im Zustand mit geschriebenen Daten. Solange die an das Steuer-Gate
einer Speicherzelle angelegte Spannung auf demselben Niveau liegt,
fließt
in eine Speicherzelle im Zustand mit gelöschten Daten ein größerer Strom
als in eine Speicherzelle im Zustand mit geschriebenen Daten. Somit
ist die in eine Speicherzelle fließende Stromgröße im Zustand
mit gelöschten Daten
verschieden von derjenigen im Zustand mit geschriebenen Daten. Ob
sich Daten in der Speicherzelle befinden oder nicht („Datenspeicherzustand") wird über die
Differenz der Stromgrößen geprüft. Dies
wird als Datenlesevorgang zur Überprüfung bezeichnet
(ein unten beschriebener Datenüberprüfungsvorgang
entspricht im Wesentlichen dem Datenlesevorgang zur Überprüfung).
-
Ein
Lesevorgang wird durch Detektieren der Größe des in eine Referenzzelle
fließenden
Stromes ausgeführt,
wobei die obige Referenz-Schwellspannung
in der Referenzzelle eingestellt ist und ebenso wird die in eine
Speicherzelle, aus der Daten ausgelesen werden sollen, fließende Stromgröße detektiert,
wonach die Stromgrößen miteinander
verglichen werden.
-
Die
Stromgrößen werden
speziell mittels eines Leseverstärkers
durch Detektieren der Stromgröße einer
mit der gewünschten
Speicherzelle verbundenen Bitleitung und einer mit der Referenzzelle verbundenen
Bitleitung verglichen.
-
11 zeigt
eine Darstellung einer Verteilung von Schwellspannungen einer Mehrzahl
von Speicherzellen, die in einem gewöhnlichen quaternären Flash-Speicher
vorgesehen sind. In diesem Beispiel speichert jede der Speicherzellen
in dem quaternären
Flash-Speicher 2-Bit Daten. Die horizontale Achse kennzeichnet die
Schwellspannung und die vertikale Achse kennzeichnet die Anzahl
von Speicherzellen. Die Referenz-Schwellspannungen 1, 2 und 3 entlang
der horizontalen Achse kennzeichnen jeweils die Spannung, bei der
Daten gelesen werden.
-
Jede
Speicherzelle kann in einem quaternären Flash-Speicher vier Zustände einnehmen,
d. h. einen Zustand mit gelöschten
Daten und drei Zustände
mit geschriebenen Daten. Die Schwellspannung einer Speicherzelle
ist im Zustand mit gelöschten
Daten am geringsten. Die Schwellspannungen der drei Zustände mit
geschriebenen Daten sind verschieden voneinander. Zum Ausführen eines
Datenlesevorgangs aus einer Speicherzelle, die sich wahlweise in vier
Zuständen
befinden kann, werden drei Referenz-Spannungen 1, 2 und 3 eingestellt, siehe 11.
-
2-Bit
Daten, die in die Speicherzellen des in 11 gezeigten
Flash-Speichers
geschrieben sind, werden als „11", „10", „01" oder „00" definiert. Die Daten „11" speichernde Speicherzelle
weist die niedrigste Schwellspannung auf und die Daten „00" speichernde Speicherzelle
weist die höchste
Schwellspannung auf. Daten „11" entsprechen dem
Zustand mit gelöschten
Daten. In den Zuständen
mit geschriebenen Daten, welche Daten „10", „01" und „00" wiedergeben, werden
die Referenzspannungen derart eingestellt, dass die Streuung der
Verteilung von Schwellspannungen unter der Mehrzahl von Speicherzellen
so klein als möglich
ist.
-
Ein
Steuervorgang zum Schreiben von Daten in ein MLC Flash-Speicher, wie dem
in 11 gezeigten quaternären Flash-Speicher, weist die
folgenden Probleme auf.
-
Ein
Datenschreibvorgang ist derart auszuführen, dass die den Daten einer
Mehrzahl von Speicherzellen entsprechende Verteilung der Schwellspannungen
innerhalb eines vergleichsweise engen Bereichs liegt (d. h. so dass
die Streuung der Verteilung vergleichsweise klein ist).
-
Insbesondere
wird der Bereich der Verteilung der den Daten der Mehrzahl von Speicherzellen entsprechenden
Schwellspannungen beim Lesen von Daten aus den Speicherzellen zur
Wiedergabe vergrößert im
Vergleich zu dem Bereich der Verteilung der Schwellspannungen beim
Datenschreibvorgang. Dadurch wird das Fenster für die kleinstmögliche Schwellspannung
und die größtmögliche Schwellspannung
im Hinblick auf die Referenz-Spannung beim Schreiben von Daten reduziert.
-
Zusätzlich müssen die
Daten zur Wiedergabe effizient aus den Speicherzellen, in denen
drei Referenz-Spannungen eingestellt sind, gelesen werden.
-
12 zeigt
einen beispielhaften Algorithmus zur Schreiben von Daten in einen
quaternären Flash-Speicher.
Bei dem in 12 gezeigten Algorithmus wird
das Schreiben von Daten in drei Schritten durchgeführt, d.h.
den Schritten 1 bis 3.
-
In
jedem der Schritte 1 bis 3 werden Zieldaten, die in einer Speicherzelle
gespeichert werden sollen, und die gegenwärtig in der Speicherzelle gespeicherten
Daten überprüft, um zu
ermitteln, ob ein Datenschreibvorgang in die Speicherzelle ausgeführt werden
soll oder nicht. Beim Datenschreibvorgang wird die Schwellspannung
unter strengeren Anforderungen im Vergleich zur Referenz-Schwellspannung beim
Datenlesevorgang eingestellt, um nach dem Schreiben von Daten ein
Fenster für
eine im Zeitablauf erfolgende Datenschädigung und ebenso ein Fenster
zum Lesen von Daten zu gewährleisten.
Die Schwellspannung wird ebenso für einen Datenüberprüfungsvorgang
genutzt.
-
In
den Schritten 1 bis 3 wird ein vorgegebener Schreibdatenpuls an
ein Steuer-Gate und an ein Drain jeder Speicherzelle angelegt. Dann
wird ein Datenüberprüfungsvorgang
durchgeführt
(d. h. die Referenzspannung wird überprüft und ein Datenlesevorgang
ausgeführt)
um zu überprüfen, ob
die Schwellspannung der Speicherzelle ein gewünschtes Niveau erreicht hat
oder nicht. Hat die Schwellspannung das gewünschte Niveau erreicht, wird
das Anlegen des Schreibdatenpulses gestoppt. Hat die Schwellspannung
das gewünschte
Niveau nicht erreicht, liegt der Schreibdatenpuls weiter an. Das
Anlegen des Schreibdatenpulses und der Überprüfungsvorgang werden auf diese
Weise wiederholt, so dass die gewünschte Schwellspannung in der
Speicherzelle eingestellt wird.
-
Insbesondere
wird ein Schreiben von Daten in Einklang damit ausgeführt, ob
die Daten in die Speicherzellen geschrieben werden müssen oder nicht,
siehe rechter Teil der Tabelle von 12.
-
In
Schritt 1 erfolgt der Datenschreibvorgang in die Speicherzellen,
in denen die gegenwärtigen Daten „11" entsprechen (gelöschter Datenzustand) und
die Zieldaten "10", "01" und "00" entsprechen.
-
Der
Datenschreibvorgang wird fortgesetzt bis die Schwellspannung all
der Speicherzellen, in die Daten geschrieben werden sollen, der
Referenz-Schwellspannung
1' entspricht, welche
dem niedrigst möglichen
Wert der Zieldaten "10" gleichkommt oder
darüber
liegt (die Referenz-Schwellspannung
1' stellt einen
zur Überprüfung genutzten Wert
dar, der unter strengeren Bedingungen eingestellt wird als die Referenz-Schwellspannung 1,
welche für
den niedrigstmöglichen
Wert der Daten "10" (11)
zum Lesen von Daten genutzt wird. Ebenso werden die Referenz-Schwellspannungen
2' und 2'' unter strengeren Bedingungen als die
Referenz-Schwellspannung 2 eingestellt und die Referenz-Schwellspannungen
3' und 3'' werden unter strengeren Bedingungen
eingestellt als die Referenz-Schwellspannung
3).
-
Die
Referenz-Schwellspannung 1' wird
höher eingestellt
als die zum Lesen von Daten verwendete Referenz-Schwellspannung
1, um ein Fenster mit einer Sicherheit im Hinblick auf die Detektionspräzision eines
zum Lesen der Daten verwendeten Leseschaltkreises sowie ein Fenster
für Änderungen der
Schwellspannung, welche von einer durch den Zeitablauf verur sachten
Schädigung
der in der Speicherzelle gespeicherten Daten herrührt, zu
erzielen. Aus demselben Grund wird die Referenz-Schwellspannung
2', welche den höchstmöglichen
Wert der Zieldaten "10" darstellt, niedriger
eingestellt als die Referenz-Schwellspannung 2, die zum Lesen der Daten
verwendet wird.
-
Erhält beispielsweise
eine Speicherzelle eine Schwellspannung, welche die Referenz-Schwellspannung
2' der Zieldaten "10" während des
Datenschreibvorgangs übersteigt,
befindet sich die Speicherzelle in einem überprogrammierten Zustand,
der außerhalb
des Schwellspannungsbereichs liegt, in dem das Lesen von Zieldaten "10" gewährleistet
ist. Wird deshalb ein Datenschreibvorgang in einem MLC Flash-Speicher
durchgeführt,
ist es wichtig, Speicherzellen vom überprogrammierten Zustand fernzuhalten,
z. B. durch Steuern der Datenschreibspannung.
-
In
Schritt 2 wird der Datenschreibvorgang in die Speicherzellen durchgeführt, in
denen die Zieldaten "01" oder "00" entsprechen und
die gegenwärtigen
Daten unterhalb von "01" liegen. Die Details
des Datenschreibvorgangs stimmten im Wesentlichen mit dem Schritt
1 überein.
-
In
Schritt 2 wird die Referenz-Schwellspannung 2'',
welche dem niedrigstmöglichen
Wert der Zieldaten "01" entspricht, höher als
die Referenz-Schwellspannung
2 (11) eingestellt, welche dem niedrigstmöglichen
Wert der Daten „01" beim Lesen von Daten
entspricht. Die Referenz-Schwellspannung
3', welche dem höchstmöglichen
Wert der Zieldaten „01" entspricht, wird
niedriger als die Referenz-Schwellspannung 3 (11)
eingestellt, welche dem höchstmöglichen
Wert der Daten "01" beim Lesen der Daten
entspricht.
-
Der
Datenschreibvorgang wird derart durchgeführt, dass all die Speicherzellen,
in die Daten geschrieben werden sollen, einen Schwellspannungswert
innerhalb des Bereichs von der Referenz-Schwellspannung 2'' (dem niedrigstmöglichen Wert der Zieldaten "01") bis zur Referenz-Schwellspannung 3' (dem höchstmöglichen
Wert der Zieldaten "01") erhalten.
-
In
Schritt 3 wird der Datenschreibvorgang in die Speicherzellen durchgeführt, in
denen die Zieldaten "00" entsprechen und
die gegenwärti gen
Daten unterhalb von "00" liegen. Die Details
des Datenschreibvorgangs stimmen im Wesentlichen mit dem Schritt
1 überein.
-
In
Schritt 3 wird die Referenz-Schwellspannung 3'',
welche dem niedrigstmöglichen
Wert der Zieldaten "00" entspricht, höher als
die Referenz-Schwellspannung
3 (11) eingestellt, welche dem niedrigstmöglichen
Wert der Daten "00" beim Lesen von Daten
entspricht.
-
Der
Datenschreibvorgang wird derart durchgeführt, dass all die Speicherzellen,
in die Daten geschrieben werden sollen, eine Schwellspannung erhalten,
die größer als
oder gleich zur Referenz-Schwellspannung 3'' (der
niedrigstmögliche Wert
der Zieldaten "00") ist.
-
Wie
oben beschrieben ist, können
Daten in einem quaternären
Flash-Speicher über den
in 12 gezeigten Algorithmus geschrieben werden.
-
Nachfolgend
wird eine als „Array
Noise" bezeichnete
Erscheinung erläutert. „Array
Noise" verursacht
ein beträchtliches
Problem im Hinblick auf den überprogrammierten
Zustand des Datenschreibvorgangs.
-
Array
Noise entspricht der folgenden Erscheinung. Es sei beispielsweise
angenommen, dass eine vorgegebene Speicherzelle und eine weitere
Speicherzelle an eine vorgegebene Wortleitung in einem Speicherfeld
angeschlossen sind. Werden Daten in die vorgegebene Speicherzelle
geschrieben und die Schwellspannung der vorgegebenen Speicherzelle
geändert,
so wird die Schwellspannung der anderen Speicherzelle, in die keine
Daten geschrieben wurden, offenbar auch geändert.
-
13 zeigt
einen Teil eines Speicherfeldes eines MLC NOR Flash-Speichers. 13 zeigt
vier Wortleitungen WL1 bis WL4, vier Bitleitungen BL1 bis BL4, eine
Sourceleitung SRC und Speicherzellen CELL11 bis CELL44.
-
Die
Sources aller Speicherzellen sind gemeinsam an die Sourceleitung
SRC angeschlossen. Die Wortleitungen WL und die Bitleitungen BL
liegen senkrecht zueinander.
-
Die
Wortleitungen WL1 bis WL4 sind an ein Steuer-Gate der mit diesen
verbundenen Speicherzellen angeschlossen. Die Bitleitungen BL1 bis BL4 sind
an ein Drain der mit diesen verbundenen Speicherzellen angeschlossen.
Somit sind die Speicherzellen in einer Matrix angeordnet.
-
Die
Drains zweier benachbarter und an eine der Bitleitungen BL1 bis
BL4 angeschlossenen Speicherzellen sind miteinander verbunden und
die Sources zweier benachbarter Speicherzellen sind ebenso miteinander
verbunden. Beispielsweise sind die Drains der Speicherzellen CELL11
und CELL21 miteinander verbunden und die Drains sind an die Bitleitung
BL1 angeschlossen. Die Sources der Speicherzellen CELL21 und CELL31
sind miteinander verbunden und diese sind an die Sourceleitung SRC
angeschlossen. Die Drains der Speicherzellen CELL31 und CELL41 sind
miteinander verbunden und diese sind an die Bitleitung BL1 angeschlossen.
-
Ein
Vorgang zum Schreiben beliebiger Daten in die Speicherzellen CELL21
bis CELL23, die an die Wortleitungen WL2 angeschlossen sind, wird
ausgehend von dem Zustand, in dem all die Speicherzellen gelöscht sind,
beschrieben. In die an die Wortleitung WL2 angeschlossene Speicherzelle
CELL24 werden keine Daten geschrieben und diese wird in dem Zustand
mit gelöschten
Daten gehalten.
-
Bevor
der Datenschreibvorgang ausgeführt wird,
befinden sich alle Speicherzellen in dem Zustand mit gelöschten Daten.
Die Schwellspannung ist in all den Speicherzellen so niedrig als
möglich.
Wird somit ein Datenlesevorgang zur Überprüfung der Speicherzellen CELL21
bis CELL24 durchgeführt, fließt ein verhältnismäßig großer Strom
in die Speicherzellen CELL21 bis CELL24.
-
Aufgrund
des parasitären
Widerstands der Sourceleitung SRC und eines Anstiegs des Ausgangswiderstands
eines Ausgangstransistors in einer Ansteuerschaltung und dergleichen
floatet die Spannung der Sourceleitung SRC verhältnismäßig stark gegenüber der
anfänglichen
Spannung (z. B. Massespannung).
-
Schreitet
der Datenschreibvorgang in die Speicherzellen CELL21 bis CELL23
voran, nimmt die Schwellspannung in den Speicherzellen CELL21 bis CELL23
zu. Dadurch nimmt die Größe des in
die Speicherzellen CELL21 bis CELL23 fließenden Stroms ab und damit
nimmt auch der floatende Pegel der Spannung der Sourceleitung SRC
in Bezug auf die Massespannung nach und nach ab.
-
Nimmt
der floatende Pegel der Spannung der Sourceleitung SRC ab, steigt
die Drain-Source-Spannung der Speicherzellen CELL21 bis CELL23 an
und damit nimmt die Größe des Stroms zu,
der von dem Datenlesevorgang zur Überprüfung verursacht wird. Somit
detektiert der Leseverstärker fälschlicherweise
eine Abnahme der Schwellspannung der Speicherzellen CELL21 bis CELL23.
-
Die
Speicherzelle CELL24, die keinem Schreiben von Daten unterzogen
wird und deshalb keine Änderung
der Schwellspannung erfahren hat, ist an die Sourceleitung SRC und
die Speicherzellen CELL21 bis CELL23 angeschlossen. Dadurch fließt infolge
des Datenlesevorgangs zur Überprüfung zunehmend
mehr Strom in die Speicherzelle CELL24 und der Leseverstärker detektiert
fälschlicherweise, dass
die Schwellspannung der Speicherzelle CELL24 kleiner geworden ist.
-
Diese
Erscheinung wird als „Array
Noise" bezeichnet.
Tritt Array Noise auf, so kann eine Speicherzelle, in der der Datenschreibvorgang
und der Überprüfungsvorgang
abgeschlossen sind, infolge des nachfolgenden Datenlesevorgangs
zur Überprüfung fälschlicherweise
als Speicherzelle mit erniedrigter Schwellspannung ermittelt werden
und dadurch werden die Daten erneut in die Speicherzelle geschrieben.
-
Eine
derartige Fehlfunktion aufgrund von Array Noise verursacht ein ernsthaftes
Problem in einem MLC Flash-Speicher, bei dem die Schwellspannung
jeder Speicherzelle präzise
gesteuert werden muss, um die Streuung in der Verteilung der Schwellspannungen
zu reduzieren.
-
Dies
führt jedoch
in einem binären Flash-Speicher
aus folgenden Gründen
zu keinem gravierenden Problem. In einem binären Flash-Speicher wird die
Schwellspannung beim erneuten Schreiben einer Speicherzelle vergrößert verglichen mit
der Schwellspannung in einem gewöhnlichen
Zustand mit geschriebenen Daten. Jedoch ist in dem binären Flash-Speicher
das Fenster der niedrigstmöglichen
Schwellspannung und der höchstmöglichen Schwellspannung
in Bezug auf die Referenz-Spannung größer als das Fenster in einem
MLC Flash-Speicher, siehe 10. Deshalb
besteht im Wesentlichen kein Risiko, dass der binäre Flash-Speicher
eine Fehlfunktion beim Lesen von Daten zur Wiedergabe verursacht.
-
Im
Gegensatz hierzu ist in einem MLC Flash-Speicher das Fenster für die niedrigstmögliche Schwellspannung
und die höchstmögliche Schwellspannung
in Bezug auf die Referenz-Spannung geringer. Werden deshalb die
den Daten „10" und „01" (11)
zugeordneten Schwellspannungen zu hoch („Überprogrammierung"), können die
tatsächlich
geschriebenen Daten von den Zieldaten abweichen.
-
Selbst
falls die Daten konstant unter denselben Bedingungen geschrieben
werden, kann der floatende Pegel der Schwellspannung gegenüber der anfänglichen
Spannung nach und nach abnehmen.
-
Um
diese Probleme zu lösen,
ist es erforderlich, die Amplitude (Spannungswert) und den Zyklus (Anwendungsdauer)
von in eine Speicherzelle zu schreibenden Datenpulsen abzustimmen.
Selbst falls jedoch eine derartige Abstimmung erfolgt, kann eine Speicherzelle,
in die Daten verhältnismäßig einfach geschrieben
werden können,
fälschlicherweise
als im Hinblick auf den Datenschreibvorgang nicht vollständig verarbeitete
Speicherzelle befunden werden, nachdem diese Speicherzelle einmal
in einer anfänglichen
Stufe eines Datenschreibvorgangs als vollständig mit Daten beschriebene
Speicherzelle befunden wurde. In diesem Fall werden Datenpulse mit
einer hohen Spannung für
eine lange Zeitspanne angelegt, was mit großer Wahrscheinlichkeit zu einem überprogrammierten
Zustand führt.
-
Eine ähnliche
Erscheinung kann beispielsweise durch eine Änderung der Leseeigenschaften des
Leseverstärkers
verursacht werden, wobei eine solche Änderung auf eine Änderung
der Versorgungsspannung zurückzuführen sein
kann.
-
Nachfolgend
wird ein Datenschreibvorgang in einen weiteren MLC Flash-Speicher
mit Bezug auf 14 beschrieben.
-
Ein
Datenschreibvorgang in einem MLC Flash-Speicher, bei dem die Schwellspannungen
der Speicherzellen präzise
zu steuern sind, erfordert üblicherweise
eine größere Zeitspanne
im Vergleich zu einem binären
Flash-Speicher.
-
Um
die für
den Datenschreibvorgang erforderliche Zeitspanne zu verkürzen, enthält ein MLC Flash-Speicher üblicherweise
einen Seitenpufferschaltkreis zum vorübergehenden Speichern von in die
Speicherzellen zu schreibenden Daten. 14 zeigt
einen Teil eines MLC Flash-Speichers 400 mit einer Seitenpufferschaltung.
-
Der
MLC Flash-Speicher 400 enthält einen Nutzerschnittstellenschaltkreis
(nachfolgend als „UI Schaltkreis" bezeichnet) 410,
einen Steuerbus 401, einen Adressbus 402 und einen
Datenbus 403. Der MLC Flash-Speicher 400 wird extern über den
Steuerbus 401, den Adressbus 402 und den Datenbus 403 betrieben,
die an den UI Schaltkreis 410 angeschlossen sind.
-
Der
UI Schaltkreis 410 empfängt
extern ein Signal über
den Steuerbus 401, den Adressbus 402 und den Datenbus 403 und
analysiert das Signal zur Steuerung der Vorgänge in dem MLC Flash-Speicher 400.
Der UI Schaltkreis 410 ist mit einem Seitenpufferschaltkreis 420 über einen
Steuerbus 411, einen Adressbus 412 und einen Datenbus 413 verbunden und
dieser ist ebenso mit einem Schreibzustandsmaschinenschaltkreis
(Write State Machine, nachfolgend als „WSM Schaltkreis" bezeichnet) 430 über einen
Steuerbus 414 verbunden.
-
Der
Seitenpufferschaltkreis 420 speichert in die Speicherzellen
zu schreibende Daten vorübergehend
und wird hinsichtlich des Schreibens von Daten durch den UI Schaltkreis 410 über den
Steuerbus 411, den Adressbus 412 und den Datenbus 413 gesteuert.
-
Der
WSM Schaltkreis 430 steuert nach Empfang einer Anweisung
Vorgänge
in z.B. einem Speicherfeld 460, um z.B. Daten erneut in
die Speicherzellen zu schreiben. Der WSM Schaltkreis 430 empfängt eine
Anweisung durch ein Steuersignal von dem UI Schaltkreis 410 über den
Steuerbus 414 und informiert den UI Schaltkreis 410 über ein
Signal 431 über
den Zustand desselben. Der WSM Schaltkreis 430 ist mit
einem Leseschaltkreis (Leseverstärker) 440,
einem Schreibschaltkreis (Programmierschaltkreis) 450,
und dem Speicherfeld 460 über die Steuerbusse 434, 435 und 436 verbunden.
Der Leseschaltkreis 440, der Schreibschaltkreis 450 und
das Speicherfeld 460 sind miteinander über einen Lesebus 461 verbunden.
-
Falls
eine Anweisung zum Schreiben von Daten seitens des UI Schaltkreises 410 erfolgt,
gibt der WSM Schaltkreis 430 ein Steuersignal und Adresssignale
an den Seitenpufferschaltkreis 420 über einen Steuerbus 432 und
einen Adressbus 433 aus, um den Seitenpufferschaltkreis 420 anzuwei sen,
spezielle Daten, die in die Speicherzellen zu schreiben sind, auszugeben.
Der Seitenpufferschaltkreis 420 gibt die angewiesenen speziellen
Daten an den WSM Schaltkreis 430 über einen Datenbus 421 aus.
-
Der
Leseschaltkreis 440 empfängt ein Steuersignal von dem
WSM Schaltkreis 430 über
den Steuerbus 434 und liest damit Daten von den Speicherzellen
im Speicherfeld 460. Die Speicherzellen, aus denen die
Daten gelesen werden, werden basierend auf einem Steuersignal und
Adresssignalen ausgewählt,
welche von dem WSM Schaltkreis 430 über den Steuerbus 436 und
den Adressbus 433 ausgegeben werden. Die ausgewählten Speicherzellen werden
durch den WSM Schaltkreis 430 aktiviert.
-
Die
Drains der ausgewählten
Speicherzellen sind mit dem Lesebus 461 verbunden. Der
Leseschaltkreis 440 bestätigt die Schwellspannung (die den
Datenspeicherzustand kennzeichnet) jeder ausgewählten Speicherzelle über den
Lesebus 461 und gibt dann die aus den ausgewählten Speicherzellen gelesenen
Daten an den WSM Schaltkreis 430 über den Datenbus 441 aus.
-
Der
WSM Schaltkreis 430 empfängt die zu schreibenden speziellen
Daten (Zieldaten) von dem Seitenpufferschaltkreis 420 über den
Datenbus 421 und dieser empfängt ebenso Daten von dem Leseschaltkreis 440 über den
Datenbus 441. Basierend auf der gegenwärtigen Schwellspannung der
jeweils ausgewählten
Speicherzelle ermittelt der WSM Schaltkreis 430, ob Daten
in die ausgewählte
Speicherzelle zu schreiben sind oder nicht. Ein Schreibdatenpuls
wird dem Schreibschaltkreis 450 als Ermittlungsergebnis über einen
Datenbus 437 ausgegeben.
-
Der
WSM Schaltkreis 430 gibt ein Steuersignal an das Speicherfeld 460 über den
Steuerbus 436 aus, so dass das Speicherfeld 460 Daten
empfangen kann. Dann gibt der WSM Schaltkreis 430 ein Steuersignal
an den Schreibschaltkreis 450 über den Steuerbus 435 aus,
um den Schreibdatenpuls an das Speicherfeld 460 anzulegen.
Der Schreibschaltkreis 450 schreibt dem Schreibdatenpuls
entsprechende Daten in die ausgewählten Speicherzellen, in dem ein
Signal hoher Spannung an eine Bitleitung angelegt wird, die mit
einem Drain der ausgewählten
Speicherzellen über
den Lesebus 461 sequenziell verbunden ist.
-
15 zeigt
einen Teil eines weiteren MLC Flash-Speichers 500, der
einen im Vergleich zum in 14 gezeigten
MLC Flash-Speicher 400 effizienteren Datenschreibvorgang
ermöglicht.
-
Der
MLC Flash-Speicher 500 weist eine Seitenmoduslesefunktion
zum simultanen Lesen von Daten auf, die durch eine Mehrzahl von
Adressen gekennzeichnet sind, sowie zum Auswählen erforderlicher Daten aus
den gelesenen Daten.
-
Wie
bei dem in 14 gezeigten MLC Flash-Speicher 400 enthält der MLC
Flash-Speicher 500 einen UI Schaltkreis 510, einen
Steuerbus 501, einen Adressbus 502 und einen Datenbus 503.
Der MLC Flash-Speicher 500 wird extern über den Steuerbus 501,
den Adressbus 502 und den Datenbus 503 betrieben,
die mit dem UI Schaltkreis 510 verbunden sind.
-
Der
UI Schaltkreis 510 empfängt
extern ein Signal über
den Steuerbus 501, den Adressbus 502 und den Datenbus 503 und
analysiert das Signal zur Steuerung der Vorgänge in dem MLC Flash-Speicher 500.
Der UI Schaltkreis 510 ist mit einem Seitenpufferschaltkreis 520 über einen
Steuerbus 511, einen Adressbus 512 und einen Datenbus 513 verbunden und
dieser ist ebenso mit einem Schreibzustandsmaschinenschaltkreis
(Write State Machine, nachfolgend als „WSM Schaltkreis" bezeichnet) 530 über einen
Steuerbus 514 verbunden.
-
Der
Seitenpufferschaltkreis 520 speichert in die Speicherzellen
zu schreibende Daten vorübergehend
und wird hinsichtlich des Schreibens von Daten durch den UI Schaltkreis 510 über den
Steuerbus 511, den Adressbus 512 und den Datenbus 513 gesteuert.
-
Der
WSM Schaltkreis 530 steuert nach Empfang einer Anweisung
Vorgänge
in z. B. einem Speicherfeld 560, um z. B. Daten erneut
in die Speicherzellen zu schreiben. Der WSM Schaltkreis 530 empfängt eine
Anweisung durch ein Steuersignal von dem UI Schaltkreis 510 über den
Steuerbus 514 und informiert den UI Schaltkreis 510 über ein
Signal 531 über
den Zustand desselben. Der WSM Schaltkreis 530 ist mit
einem MLC Logikschaltkreis 580, einem Leseschaltkreis (Leseverstärker) 540,
einem Schreibschaltkreis (Programmierschaltkreis) 550 und dem
Speicherfeld 560 über
die Steuerbusse 533, 534, 535 und 536 verbunden.
Der Leseschaltkreis 540, der Schreib schaltkreis 550 und
das Speicherfeld 560 sind untereinander über einen
Lesebus 561 verbunden.
-
Ein
Adresserzeugungsschaltkreis (Adresscontroller) 570 empfängt ein
Steuersignal und Adresssignale von dem WSM Schaltkreis 530 über einen
Steuerbus 538 und einen Adressbus 539, um interne
Adressen zu erzeugen. Falls eine Schlüsseladresse, in die Daten zu
schreiben sind, an den Adressbus 539 ausgegeben wird, stellt
der Adresserzeugungsschaltkreis 570 eine an einen Adressbus 571 auszugebende
Adresse basierend auf einem von dem Steuerbus 538 empfangenen
Initialisierungssignal als Schlüsseladresse
ein. Dann erhöht der
Adresserzeugungsschaltkreis 570 basierend auf einem von
dem Steuerbus 538 empfangenen Taktsignal die Adresse und
gibt die erhöhte
Adresse an den Adressbus 571 aus.
-
Der
Leseschaltkreis 540 empfängt ein Steuersignal von dem
WSM Schaltkreis 530 über
den Steuerbus 534 und liest damit Daten aus den Speicherzellen
im Speicherfeld 560. Die Speicherzellen, aus denen Daten
gelesen werden, werden basierend auf einem Steuersignal ausgewählt, das
von dem WSM Schaltkreis 530 ausgegeben wird, als auch basierend
auf Adresssignalen, die von dem Adresserzeugungsschaltkreis 570 ausgegeben
werden, wobei die Ausgaben über
den Steuerbus 536 und den Adressbus 571 erfolgen.
Die ausgewählten
Speicherzellen werden von dem WSM Schaltkreis 530 aktiviert.
-
Die
Drains der ausgewählten
Speicherzellen sind mit dem Lesebus 561 verbunden. Der
Leseschaltkreis 540 bestätigt die Schwellspannung (welche
den Datenspeicherzustand kennzeichnet) jeder ausgewählten Speicherzelle über den
Lesebus 561 und gibt dann die von den ausgewählten Speicherzellen
gelesenen Daten an einen Datenmultiplexschaltkreis (nachfolgend
als „MUX
Schaltkreis" bezeichnet) 545 über den
Datenbus 541 aus.
-
Der
MUX Schaltkreis 545 empfängt ein Adresssignal von dem
Adresserzeugungsschaltkreis 570 über den Adressbus 571.
Basierend auf dem Adresssignal wählt
der MUX Schaltkreis 545 unter den von dem Leseschaltkreis 540 empfangenen
Daten auszugebende Daten aus und gibt die ausgewählten Daten an den MLC Logikschaltkreis 580 über einen
Datenbus 546 aus.
-
Der
MLC Logikschaltkreis 580 empfängt ein Steuersignal, das von
dem WSM Schaltkreis 530 über einen Steuerbus 533 ausgegeben
wird, Zieldaten, welche von dem Seitenpufferschaltkreis 520 über einen
Datenbus 521 ausgegeben werden, und die Daten, welche von
dem MUX Schaltkreis 545 ausgewählt werden und über den
Datenbus 546 ausgegeben werden. Basierend auf der gegenwärtigen Schwellspannung
der jeweils ausgewählten
Speicherzelle bestimmt der MLC Logikschaltkreis 580, ob Daten
in die jeweils ausgewählte
Speicherzelle zu schreiben sind oder nicht. Ein Schreibdatenpuls
wird als Ermittlungsergebnis an den WSM Schaltkreis 530 über einen
Datenbus 581 ausgegeben. Basierend auf dem Schreibdatenpuls
gibt der WSM Schaltkreis 530 Daten an den Schreibschaltkreis 550 über einen Datenbus 537 aus,
die darauf hinweisen, ob Daten in die jeweils ausgewählte Speicherzelle
geschrieben werden sollen oder nicht.
-
Der
WSM Schaltkreis 530 gibt ein Steuersignal an das Speicherfeld 560 über den
Steuerbus 536 aus, so dass das Speicherfeld 560 Daten
empfangen kann. Dann gibt der WSM Schaltkreis 530 ein Steuersignal
an den Schreibschaltkreis 550 über den Steuerbus 535 aus
zum Anlegen des Schreibdatenpulses an das Speicherfeld 560.
Der Schreibschaltkreis 550 schreibt dem Schreibdatenpuls
entsprechende Daten in die ausgewählten Speicherzellen, in dem
ein Signal hoher Spannung an eine Bitleitung angelegt wird, die
mit einem Drain der jeweils ausgewählten Speicherzellen über den
Lesebus 561 sequenziell verbunden ist.
-
Der
Seitenpufferschaltkreis 520 des in 5 gezeigten
MLC Flash-Speichers 500 weist
eine wie folgt beschriebene Rückmeldefunktion
auf. Basierend auf dem Steuersignal, das von dem WSM Schaltkreis 530 über einen
Steuerbus 532 ausgegeben wird, kann der Seitenpufferschaltkreis 520 die über das
Adresssignal gekennzeichneten Daten aktualisieren, wobei das Adresssignal
von der Adresserzeugungsschaltung 570 über den Adressbus 571 ausgegeben
wird und die Aktualisierung auf seitens des MLC Logikschaltkreises 580 erzeugte Rückmeldedaten
erfolgt. Die Rückmeldedaten
werden dem Seitenpufferschaltkreis 520 von dem MLC Logikschaltkreis 580 über einen
Datenbus 582 ausgegeben.
-
16 zeigt
eine Wahrheitstabelle zu einem beispielhaften Betrieb des MLC Logikschaltkreises 580 während eines
Datenschreibvorgangs eines quaternären Flash-Speichers.
-
16 zeigt
eine Logik pro Speicherzelle, die von dem MLC Logikschaltkreis 580 verwendet wird.
Die Logik entspricht der Logik, die in dem dreistufigen Datenschreibvorgang
in 12 verwendet wird. Die Schritte 1, 2 und 3 von 16 entsprechen den
jeweiligen Schritten 1, 2 und 3, welche oben mit Bezug auf 12 beschrieben
sind. In 16 kennzeichnet „Ziel" die Zieldaten und „gegenwärtig" kennzeichnet die
gegenwärtigen
Daten. „Schreiben" kennzeichnet, ob
Daten in die jeweiligen Speicherzellen geschrieben werden sollen
oder nicht. „L" weist darauf hin,
dass keine Daten geschrieben werden sollen und „H" weist darauf hin, dass Daten geschrieben
werden sollen.
-
17 zeigt
einen beispielhaften Logikschaltkreis zur Realisierung der in 16 gezeigten Wahrheitstabelle.
Der in 17 gezeigte Logikschaltkreis
enthält
NAND Schaltkreise, NOR Schaltkreise, AND Schaltkreise und einen
OR Schaltkreis. Signale, die in den in 17 gezeigten
Logikschaltkreis eingespeist werden und von diesem ausgegeben werden,
werden wie folgt eingestellt.
-
STP[1:0]
ist ein Signal zur Kennzeichnung des gegenwärtigen Schrittes (16).
Entspricht der gegenwärtige
Schritt dem Schritt 1, entspricht STP[1:0] 01. Entspricht der gegenwärtige Schritt
dem Schritt 2, so entspricht STP[1:0] 10. Entspricht der gegenwärtige Schritt
dem Schritt 3, so ist STP[1:0] 11. STP1 entspricht dem oberen Bit
und STP0 entspricht dem unteren Bit. Entspricht beispielsweise der
gegenwärtige
Schritt dem Schritt 1, so entspricht STP[1:0] 01 und deshalb nimmt
STP1 den Wert 0 und STP0 den Wert 1 ein.
-
TGH
und TGL entsprechen jeweils dem oberen und unteren Bit der Zieldaten
(„Ziel" in 16). Entsprechen
die Zieldaten beispielsweise 01, so ist TGH0 und TGL entspricht
1.
-
RDH
und RDL kennzeichnen jeweils das obere Bit und das untere Bit der
gegenwärtigen
Daten („gegenwärtig" in 16).
Entsprechen die gegenwärtigen
Daten beispielsweise 01, so beträgt RDH0
und RDL entspricht 1.
-
PROG
kennzeichnet die Ausgabe und entspricht „Schreiben" in Tabelle 16. Entspricht PROG L, werden
keine Daten geschrieben und falls PROG H entspricht, werden Daten
geschrieben.
-
Der
in 14 gezeigte MLC Flash-Speicher 400 und
der in 15 gezeigte MLC Flash-Speicher 500 unterscheiden
sich hauptsächlich
hinsichtlich folgender vier Punkte voneinander.
- (1)
Ein Vorgang zum Ermitteln, ob Daten in eine Speicherzelle zu schreiben
sind oder nicht, wird von dem WSM Schaltkreis 430 in dem
MLC Flash-Speicher 400 durchgeführt, jedoch von dem MLC Logikschaltkreis 580 in
dem MLC Flash-Speicher 500.
- (2) Der zum Auswählen
der Speicherzellen, in die Daten zu schreiben sind, verwendete Adressbus wird
von dem WSM Schaltkreis 430 in dem MLC Flash-Speicher 400 gesteuert,
jedoch von dem Adresserzeugungsschaltkreis 570 in dem MLC Flash-Speicher 500.
- (3) Der MLC Flash-Speicher 500 weist eine Rückmeldefunktion
zum erneuten Schreiben der Daten in den Seitenpufferschaltkreis 520 auf,
wobei der MLC Flash-Speicher 400 keine derartige Funktion aufweist.
- (4) Der MLC Flash-Speicher 500 weist eine Seitenmoduslesefunktion
zum Auswählen
erforderlicher Daten auf, wobei der MLC Flash-Speicher 400 keine
derartige Funktion aufweist.
-
Der
Unterschied (1) wird detailliert beschrieben. Wie oben mit Bezug
auf 16 und 17 erläutert ist,
erfordert der Vorgang zur Ermittlung, ob Daten in eine Speicherzelle
zu schreiben sind oder nicht, eine komplizierte Logik und einen
Logikschaltkreis zum Ausführen
der Logik. Selbst falls der WSM Schaltkreis 430 des MLC
Flash-Speichers 400 einen Mehrzweckschaltkreis enthält, ist
eine sehr lange Verarbeitungszeit erforderlich, um basierend auf
einer Kombination herkömmlicher
Vorgänge
(z. B. AND, OR, NOR und NAND) zu ermitteln, ob Schreibdaten zu schreiben
sind oder nicht. Der MLC Flash-Speicher 500 führt den
Ermittlungsvorgang über
den MLC Logikschaltkreis 580 aus, welcher speziell für diesen
Zweck vorgesehen ist und veranlasst den WSM Schaltkreis 530,
das Ergebnis des Betriebs des MLC Logikschaltkreis 580 zu
verarbeiten.
-
Der
Unterschied (2) wird detailliert beschrieben. Um Daten zu schreiben,
die in einer der Mehrzahl von Adressen entsprechenden Mehrzahl von Speicherzellen
gespeichert sind, ist es erforderlich, die internen Adressen in dem
Speicherfeld über
den Steuerbus und den Adressbus zu steuern. Eine derartige Steuerung
wird beispielsweise durch Erhöhen der
Schlüsseladresse
durchgeführt.
Der MLC Flash-Speicher 400 setzt voraus, dass der WSM Schaltkreis 430 einen
zusätzlichen
Schaltkreis sowie eine Einrichtung zum Steuern des zusätzlichen Schaltkreises
zur Durchführung
einer derartigen Steuerung des Adressbusses mit dem WSM Schaltkreis 430 (z.
B. zum Erhöhen
der Adresse) enthält. Der
MLC Flash-Speicher 500 führt eine derartige Steuerung
der Adressen mittels dem Adresserzeugungsschaltkreis 570 durch,
der speziell für
diesen Zweck vorgesehen ist.
-
Der
Unterschied (3) wird detailliert beschrieben. In dem MLC Flash-Speicher 500 weist
der Seitenpufferschaltkreis 520 die obige Rückmeldefunktion
auf. Dies verhindert einen überprogrammierten Zustand,
der ansonsten durch eine Änderung
der Schwellspannung der Speicherzellen bei einem Datenlesevorgang
zur Überprüfung verursacht
wird. Aufgrund des obigen Array Noise kann selbst eine Speicherzelle,
bei der einmal ein Erreichen der Referenz-Schwellspannung als Ergebnis
des Datenschreibvorgangs festgestellt wurde, derart bewertet werden,
dass diese die Referenz-Schwellspannung durch
einen nachfolgenden Datenlesevorgang zur Überprüfung nicht erreicht hat. Um
zu verhindern, dass erneut Daten in die Speicherzelle, bezüglich der einmal
festgestellt wurde, dass diese die Referenz-Schwellspannung erreicht
hat, geschrieben werden, werden die in dem Seitenpufferschaltkreis 520 gespeicherten
Daten erneut geschrieben.
-
Wie
aus 16 ersichtlich ist, werden in die Speicherzellen " in dem MLC Flash-Speicher 500 mit Zieldaten „11" keine Daten geschrieben.
-
Somit
werden beispielsweise die Daten in der Seitenpufferschaltung 520,
die einer Speicherzelle entsprechen, die im Hinblick auf den Datenschreibvorgang
als vollständig
verarbeitet gilt, als "11" erneut beschrieben.
Aufgrund dieses erneuten Schreibens wird in dem nachfolgenden Datenschreibvorgang
zur Überprüfung kein
Schreibdatenpuls zusätzlich
an die Speicherzelle angelegt und damit kann die Erzeugung des überprogrammierten
Zustandes durch Array Noise vermieden werden.
-
Wie
oben beschrieben ist, weist der MLC Flash-Speicher 500 eine
Funktion zum Aktualisieren der in dem Seitenpufferschaltkreis 520 gespeicherten Daten
auf. Die aktualisierten Daten (Rückmeldedaten)
werden von dem MLC Logikschaltkreis 580 erzeugt.
-
Die
aktualisierten Daten werden von dem MLC Logikschaltkreis 580 erzeugt,
da das Signal zum Erzeugen der aktualisierten Daten dem Signal entspricht,
das zur Ermittlung, ob Daten geschrieben werden sollen oder nicht,
dient. Die aktualisierten Daten können auch von einem anderen
Schaltkreis erzeugt werden.
-
Der
Unterschied (4) wird detailliert beschrieben. Gewöhnlich ist
ein Datenlesevorgang in einem MLC Flash-Speicher verhältnismäßig langsam.
Um eine Verlangsamung des gesamten Betriebs zu verhindern, wird
eine Datenausgabesektion zum Ausgeben von Daten an einen externen
Schaltkreis mit einer zusätzlichen
Funktion wie einer Seitenmoduslesefunktion, einer synchronen Burst-Funktion
oder dergleichen versehen. Mit einer derartigen Spezifikation ist
die Anzahl von Speicherzellen, aus denen Daten zu einer bestimmten
Zeit gelesen werden, größer als
die Anzahl von Speicherzellen, aus denen Daten bei gewöhnlicher
Spezifikation gelesen werden. Bei Verwendung der Seitenmoduslesefunktion,
der synchronen Burst-Funktion oder dergleichen zum Steuern des Datenschreibvorgangs
wird die Geschwindigkeit des Datenschreibvorgangs vergrößert.
-
18 zeigt
eine Wahrheitstabelle zu einem beispielhaften Betrieb des MLC Logikschaltkreises 580 während eines
Datenschreibvorgangs in einen quaternären Flash-Speicher, insbesondere
zum Erzeugen aktualisierter Daten unter Verwendung der Rückmeldefunktion. 19 zeigt
einen beispielhaften Logikschaltkreis zum Realisieren der in 18 gezeigten
Logik.
-
In
der in 18 gezeigten Logikstruktur werden,
falls erforderlich, in dem Seitenpufferschaltkreis 520 gespeicherte
Daten als "11" erneut geschrieben, wodurch
der Zustand, in dem keine Daten geschrieben sind, gekennzeichnet
wird.
-
Die
in dem Seitenpufferschaltkreis 520 gespeicherten Daten
können
als "11" in dem Zustand erneut
geschrieben werden, in dem ein Datenschreibvorgang in die Speicherzelle
abgeschlossen ist; d. h. in Schritt 1 entsprechen die Zieldaten "10", jedoch wurden "10" oder darüber hinausgehende
Daten bereits geschrieben; in Schritt 2 entsprechen die Daten "01", jedoch wurden die
Daten entsprechend "01" oder darüber hinaus
bereits ge schrieben; in Schritt 3 entsprechen die Zieldaten "00", jedoch wurden Daten
entsprechend "00" bereits geschrieben.
-
In
der Speicherzelle eines solchen Zustands wurde die Ziel-Schwellspannung bereits
erzielt und es ist kein zusätzliches
Schreiben von Daten erforderlich.
-
Somit
liegt kein Problem vor, die in dem Seitenpufferschaltkreis 520 gespeicherten
Daten mit "11" erneut zu schreiben.
Ein derartiges erneutes Schreiben verringert das Risiko des überprogrammierten
Zustands.
-
Der
in 19 gezeigte Logikschaltkreis enthält einen
NAND Schaltkreis, NOR Schaltkreise, AND Schaltkreise und OR Schaltkreise.
Signale, die in den in 19 gezeigten Logikschaltkreis
eingespeist werden oder von diesem ausgegeben werden, werden wie
oben mit Bezug auf 16 und 17 erläutert eingestellt,
abgesehen von den Rückmeldesignalen
FBK1 und FBK0, welche von dem Logikschaltkreis ausgegeben werden.
-
FBK
[1:0] beträgt
nach einem erneuten Scheiben von Daten (Aktualisieren) "11", sofern ein erneutes
Schreiben von Daten auf "11" erfolgt. Unter anderen
Bedingungen wird FBK [1:0] nicht geändert. FBK1 entspricht dem
oberen Bit und FBK0 entspricht dem unteren Bit.
-
Mit
Bezug auf 20 und 21 wird
ein Datenschreibvorgang über
den WSM Schaltkreis 430 des MLC Flash-Speichers 400 (14)
ausgeführt und
der WSM Schaltkreis 530 des MLC Flash-Speichers 500 (15)
wird erläutert.
-
Zunächst wird
mit Bezug auf 20 ein von dem WSM Schaltkreis 430 des
MLC Flash-Speichers 400 (14) ausgeführter Datenschreibvorgang
erläutert.
-
In
dem MLC Flash-Speicher 400 sind die für das Schreiben von Daten verwendeten
Elemente einfach strukturiert und damit nimmt der WSM Schaltkreis 430 im
Hinblick auf die Steuerung des Schreibens von Daten eine verhältnismäßig wichtige
Rolle ein.
-
20 zeigt
ein Flussdiagramm zur Erläuterung
des Schreibens von einem Wort entsprechenden Daten. In 20 ist
lediglich die für
einen Vergleich mit dem vom MLC Flash-Speicher 500 und
einem erfindungsgemäßen MLC
Flash-Speicher notwendige Verarbeitung gezeigt. Tatsächlich führt der WSM
Schaltkreis 430 ebenso weitere Verarbeitungen durch. Ein
Teil dieser Vorgänge
kann von 20 abweichen.
-
Im
Schritt S4000 verarbeitet der WSM Schaltkreis 430 Adressen
von Speicherzellen, in die Daten geschrieben werden sollen. Entsprechend
der einfachsten Vorgehensweise wird die Adresse der ersten Speicherzelle
der Mehrzahl von Speicherzellen, in die Daten geschrieben werden
sollen, als Schlüsseladresse
im ersten Betriebszyklus festgelegt und dann wird die Adresse erhöht.
-
In
Schritt 4001 gibt der WSM Schaltkreis 430 die
resultierende Adresse an das Speicherfeld 460 als interne
Adresse aus. Dann wird das Speicherfeld 460 in einen Zustand
versetzt, in dem Daten gelesen werden können (S4002). Die über die
interne Adresse gekennzeichnete Speicherzelle im Speicherfeld 460 wird
aktiviert und Daten werden aus dieser gelesen (Schritt S4003).
-
Falls
eine spezielle Steuerung zum Lesen der in dem Seitenpufferschaltkreis 420 gespeicherten Daten
erforderlich ist, wird eine derartige Steuerung zu diesem Zeitpunkt
durchgeführt.
In dem Beispiel von 20 wird der Einfachheit halber
angenommen, dass der Seitenpufferschaltkreis 420 den internen
Adressen entsprechende Daten ausgibt. Dasselbe trifft auf 21 (unten)
zu.
-
In
Schritt S4004 ermittelt der WSM Schaltkreis 430 basierend
auf dem Ergebnis des Lesens von Daten von dem Seitenpufferschaltkreis 420 und dem
Ergebnis des Lesens von Daten aus der Speicherzelle, ob Daten in
die Speicherzelle durch Ausführen
eines auf z. B. der in 16 gezeigten Wahrheitstabelle
basierenden Vorgangs geschrieben werden sollen oder nicht.
-
Der
Vorgang ist trotz seiner Komplexität von dem WSM Schaltkreis 430 in
dem MLC Flash-Speicher 400 auszuführen, da der MLC Flash-Speicher 400 keinen
speziell für
diesen Zweck vorgesehenen Schaltkreis enthält (wie etwa den Adresserzeugungsschaltkreis 570 in
dem MLC Flash-Speicher 500).
-
In
Schritt S4005 gibt der WSM Schaltkreis 430 zu schreibende
Daten, welche basierend auf dem Ermittlungsergebnis in Schritt S4004
erzeugt wurden, an den Schreibschaltkreis 450 aus. Das Speicherfeld 460 wird
in einen Zustand versetzt, in dem Daten geschrieben werden können (S4006)
und die Schreibsteuerung 450 wird zum Scheiben von Daten
in die Speicherzelle gesteuert (Schritt S4007).
-
Dadurch
werden Daten in die Speicherzellen des Speicherfeldes 460 geschrieben.
Alle Daten werden durch Wiederholung einer solchen Verarbeitung mit
einer der zu schreibenden Daten entsprechenden Anzahl geschrieben.
-
Mit
Bezug auf 21 wird ein von dem WSM Schaltkreis 530 des
MLC Flash-Speichers 500 (15) ausgeführter Datenschreibvorgang
erläutert. 21 zeigt
ein Flussdiagramm zum Speichern von Daten, die einer Seite entsprechen.
-
In
Schritt S5000 stellt der WSM Schaltkreis 530 eine interne
Adresse als Schlüsseladresse
der Seitenadresse ein.
-
In
Schritt S5001 versetzt der WSM Schaltkreis 530 das Speicherfeld 560 in
einen Zustand, in dem Daten gelesen werden können. In Schritt S5002 werden
Daten aus einer Speicherzelle im Speicherfeld 560 gelesen.
Beim Lesen im Seitenmodus können
all die den Adressen in einer Seite entsprechende Daten simultan
gelesen werden. Somit werden nach diesem Schritt Daten, die unter
all den Adressen den vom Adresserzeugungsschaltkreis 570 gekennzeichneten
Adressen entsprechen, sequenziell von dem MUX Schaltkreis 575 ausgegeben.
-
In
Schritt S5003 versetzt der WSM Schaltkreis 530 das Speicherfeld 560 in
einen Zustand, in dem Daten geschrieben werden können. Dann werden zu schreibende
Daten, welche von dem MLC Logikschaltkreis 580 erzeugt
wurden, gelesen (Schritt S5004) und an den Schreibschaltkreis 550 ausgegeben
(Schritt S5005). Dadurch werden Daten in die Speicherzelle im Speicherfeld 560 geschrieben (Schritt
S5006). In Schritt S5007 wird ermittelt, ob alle einer zu schreibenden
Seite entsprechende Daten geschrieben wurden oder nicht. Wurden
alle Daten geschrieben, so ist der Datenschreibvorgang abgeschlossen.
Sind noch nicht alle Daten geschrieben, wird die Adresse aktualisiert
(Schritt S5008). Falls es nicht erforderlich ist, den Da tenlesevorgang
für dieselbe
Seite zu wiederholen, kehrt die Verarbeitung nach dem Aktualisieren
der Adresse zu Schritt S5004 zurück,
und der Datenschreibvorgang wird wiederholt.
-
Dadurch
werden die einer Seite entsprechenden Daten in die Speicherzellen
im Speicherfeld 560 geschrieben. Alle Daten werden durch
Wiederholen dieser Verarbeitung gemäß der Anzahl der zu schreibenden
Daten geschrieben.
-
Vergleicht
man die Flussdiagramme in 20 und 21,
so ist es im Falle des MLC Flash-Speichers 500 nicht erforderlich
zu ermitteln, ob Daten über
den WSM Schaltkreis 530 geschrieben werden sollen oder
nicht. Deshalb ist der Vorgang verhältnismäßig einfach.
-
Die
Häufigkeit
des Umschaltens zwischen Zuständen,
in denen Daten im Speicherfeld 560 gelesen oder geschrieben
werden können,
ist kleiner im Vergleich zum Speicherfeld 460. Damit kann
eine verhältnismäßig zeitaufwändige Verarbeitung
wie z. B. das Umschalten der an das Speicherfeld 560 in dem
MLC Flash-Speicher 500 angelegten Spannung verringert werden.
Dadurch nimmt die Geschwindigkeit des Datenschreibvorgangs zu.
-
Eine
Verarbeitung im Hinblick auf Adressen besteht hauptsächlich im
Erhöhen
der Adressen und kann deshalb von einem speziell für diesen
Zweck vorgesehenen Schaltkreis durchgeführt werden (wie dem Adresserzeugungsschaltkreis 570).
-
Wie
oben beschrieben ist, ermöglicht
der MLC Flash-Speicher 500 in 15 eine
Erhöhung der
Geschwindigkeit des Datenschreibvorgangs und der Aufbau des WSM
Schaltkreises 530 kann somit verglichen mit dem in 14 gezeigten
MLC Flash-Speicher 400 vereinfacht werden.
-
Wie
obigen Ausführungen
entnommen werden kann, ist es mit den herkömmlichen MLC Flash-Speichern
möglich,
die Geschwindigkeit des Datenschreibvorgangs in beschränktem Maße zu vergrößern und
den Aufbau des WSM Schaltkreises in beschränktem Maße zu vereinfachen.
-
Jedoch
erfordert der Datenschreibvorgang in herkömmlichen MLC Flash-Speichern
eine Erzeugung von internen Adressen und eine Eingangs/Ausgangssteuerung
von notwendigen Daten. Dadurch ist der WSM Schaltkreis weiterhin
groß und
komplex und deshalb lässt
sich die Geschwindigkeit des Datenschreibvorgangs nicht erheblich
erhöhen.
Das Risiko der Erzeugung von Array Noise ist nicht vollständig ausgeräumt.
-
ÜBERSICHT ÜBER DIE ERFINDUNG
-
Gemäß einem
Aspekt der Erfindung wird ein Halbleiterspeicher angegeben mit einem
Speicherfeld einschließlich
einer Mehrzahl von Speicherzellen zum Speichern von Daten aus wenigstens
1 Bit, wobei der Halbleiterspeicher aufweist: eine Datenschreibsteuersektion
zum Steuern eines Datenschreibvorgangs in die Mehrzahl von Speicherzellen; eine
Adresssignalerzeugungssektion zum Erzeugen eines Adresssignals,
das eine Adresse einer bestimmten Speicherzelle unter der Mehrzahl
von Speicherzellen, in die Daten geschrieben werden sollen, kennzeichnet;
eine Datenlesesektion zum Lesen von Daten aus der bestimmten Speicherzelle;
eine Puffersektion zum vorübergehenden
Speichern von in die bestimmte Speicherzelle zu schreibenden Daten; eine
Ermittlungssektion zum Ermitteln, ob Daten in die bestimmte Speicherzelle
geschrieben werden sollen oder nicht und zum Ausgeben eines ersten Schreibsignals
basierend auf dem Ermittlungsergebnis; eine Datenregistersektion
zum Speichern von durch das erste Schreibsignal gekennzeichneten
Daten und Ausgeben eines zweiten Schreibsignals basierend auf den
gespeicherten Daten; und eine Datenschreibsektion zum Schreiben
von Daten in die bestimmte Speicherzelle basierend auf dem zweiten Schreibsignal,
wobei die Datenregistersektion die durch das erste Schreibsignal
gekennzeichneten Daten basierend auf einem Steuersignal, welches
von der Datenschreibsteuersektion ausgegeben wird, speichert, dadurch
gekennzeichnet, dass die Datenregistersektion eine Mehrzahl von
Registern enthält und
die durch das erste Schreibsignal gekennzeichneten Daten in ein
Register unter der Mehrzahl von Registern speichert, das der durch
das Adresssignal gekennzeichneten Adresse entspricht.
-
In
einer Ausführungsform
der Erfindung fixiert die Datenregistersektion die gespeicherten
Daten auf einen vorgeschriebenen Wert, um zu verhindern, dass die
Daten in die vorgeschriebene Speicherzelle geschrieben werden, falls
es nicht erforderlich ist, Daten in die vorgeschriebene Speicherzelle zu
schreiben.
-
Gemäß einer
Ausführungsform
der Erfindung liest die Datenlesesektion Daten von wenigstens zwei
Speicherzellen unter der Mehrzahl von Speicherzellen gleichzeitig
aus.
-
In
einer Ausführungsform
der Erfindung gibt die Ermittlungssektion Rückmeldedaten zum Aktualisieren
der in der Puffersektion gespeicherten Daten aus und die Puffersektion
aktualisiert die darin gespeicherten Daten basierend auf den Rückmeldedaten
entsprechend einem Steuersignal, das von der Datenschreibsteuersektion
ausgegeben wird.
-
In
einer Ausführungsform
der Erfindung aktualisiert die Puffersektion die gespeicherten Daten mit
einem vorgeschriebenen Wert, um zu verhindern, dass Daten in die
vorgeschriebene Speicherzelle geschrieben werden, falls es nicht
erforderlich ist, Daten in die vorgeschriebene Speicherzelle zu
schreiben.
-
In
einer Ausführungsform
der Erfindung liest die Datenlesesektion Daten von wenigstens zwei Speicherzellen
unter der Mehrzahl der Speicherzellen gleichzeitig aus.
-
In
einer Ausführungsform
der Erfindung werden die in der Puffersektion gespeicherten Daten
gemäß den in
der vorgeschriebenen Speicherzelle gespeicherten Daten basierend
auf den Rückmeldedaten
vor dem Schreiben der Daten in die vorgeschriebene Speicherzelle
aktualisiert.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Verfahren zum Schreiben von
Daten in ein in einem Halbleiterspeicher enthaltenen Speicherfeld
angegeben, wobei das Speicherfeld eine Mehrzahl von Speicherzellen
zum Speichern von wenigstens 1 Bit enthält und das Verfahren die Schritte aufweist:
Erzeugen eines Adresssignals, das eine Adresse einer vorgeschriebenen
Speicherzelle unter der Mehrzahl von Speicherzellen, in die Daten
zu schreiben sind, kennzeichnet; Lesen von Daten aus der vorgeschriebenen
Speicherzelle; vorübergehendes
Speichern von in die vorgeschriebene Speicherzelle zu schreibenden
Daten; Ermitteln, ob Daten in die vorgeschriebene Speicherzelle
zu schreiben sind oder nicht und Ausgeben eines ersten Schreibsignals basierend
auf dem Ermittlungsergebnis; Speichern der durch das erste Schreibsignal
gekennzeichneten Daten und Ausgeben eines zweiten Schreibsignals basierend
auf den gespeicherten Daten; und Schreiben von Daten in die vorgeschriebene
Speicherzelle basierend auf dem zweiten Schreibsignal, dadurch gekennzeichnet,
dass der durch das erste Schreibsignal dargestellte Schritt des
Speicherns von Daten in einer Datenregistersektion durchgeführt wird,
welche eine Mehrzahl von Registern enthält, und die durch das erste
Schreibsignal gekennzeichneten Daten in ein Register aus der Mehrzahl
von Registern schreibt, das der durch das Adresssignal gekennzeichneten
Adresse entspricht.
-
In
einer Ausführungsform
der Erfindung weist das Verfahren zusätzlich die Schritte auf: Ausgeben
von Rückmeldedaten
zum Aktualisieren der vorübergehend
gespeicherten Daten; und Aktualisieren der vorübergehend gespeicherten Daten
basierend auf den Rückmeldedaten.
-
Gemäß einem
Halbleiterspeicher der Erfindung gibt eine Datenschreibsteuersektion
ein erstes Steuersignal aus, um eine Datenregistersektion anzuweisen,
ein erstes Schreibsignal zu speichern. Basierend auf der von dem
zweiten Steuersignal, das von der Datenschreibsteuersektion ausgegeben wird,
vorgegebenen Zeitverlauf speichert die Datenregistersektion das
erste Schreibsignal in einer vorgegebenen Registerzelle, welche über das
Adresssignal gekennzeichnet ist. Die Datenregistersektion gibt ein
zweites Schreibsignal, das basierend auf dem gespeicherten ersten
Schreibsignal erzeugt wurde, direkt an die Datenschreibsektion aus.
Mit einem solchen Aufbau kann eine Datenverarbeitung zwischen dem
MLC Logikschaltkreis, der Datenregistersektion und der Datenschreibsektion
für einen
Datenschreibvorgang ohne Einsatz des WSM Schaltkreises (der Datenschreibsteuersektion)
ausgeführt werden.
Dadurch kann der Aufbau des WSM Schaltkreises vereinfacht werden
und die Datenverarbeitungsdauer verkürzt werden.
-
Somit
ermöglicht
die Erfindung einen Halbleiterspeicher mit einem vereinfachten WSM
Schaltkreis zur Erhöhung
der Geschwindigkeit eines Datenschreibvorgangs bei ausreichend unterdrücktem Einfluss
von Array Noise sowie ein Verfahren zum Steuern des Schreibens von
Daten in den Halbleiterspeicher.
-
Diese
und weitere Vorteile der Erfindung werden einem Fachmann beim Lesen
und Verstehen der nachfolgenden detaillierten Beschreibung mit Bezug
zu den begleitenden Abbildungen ersichtlich.
-
KURZBESCHREIBUNG
DER ABBILDUNGEN
-
1 zeigt
ein Blockdiagramm eines Halbleiterspeichers gemäß einem Beispiel der Erfindung;
-
2 zeigt
einen Datenregisterschaltkreis des in 1 gezeigten
Halbleiterspeichers;
-
3 zeigt
eine Registerzelle in dem in 2 gezeigten
Datenregisterschaltkreis;
-
4 zeigt
einen Registersteuerschaltkreis in dem in 2 gezeigten
Datenregisterschaltkreis;
-
5 zeigt
ein Zeitablaufdiagramm von Signalen bei einem Datenschreibvorgang
des in 1 gezeigten Halbleiterspeichers;
-
6 zeigt
ein Flussdiagramm zum Datenschreibvorgang des in 1 gezeigten
Halbleiterspeichers;
-
7 zeigt
eine weitere Registerzelle, die in dem in 2 gezeigten
Datenregister enthalten sein kann;
-
8 zeigt
eine Wahrheitstabelle zur Kompatibilität zwischen Daten eines MLC
Flash-Speichers und eines binären
Flash-Speichers beim Datenschreibvorgang;
-
9 zeigt
einen Logikschaltkreis zur Realisierung der in 8 gezeigten
Logik;
-
10 zeigt
ein Diagramm mit einer Verteilung von Schwellspannungen für einen
herkömmlichen
Halbleiterspeicher;
-
11 zeigt
ein Diagramm mit einer Verteilung von Schwellspannungen für einen
zweiten herkömmlichen
Halbleiterspeicher;
-
12 zeigt
einen Algorithmus zum Schreiben von Daten in den zweiten herkömmlichen
Halbleiterspeicher;
-
13 zeigt
ein Speicherfeld des zweiten herkömmlichen Halbleiterspeichers;
-
14 zeigt
einen Aufbau des zweiten herkömmlichen
Halbleiterspeichers;
-
15 zeigt
einen Aufbau eines dritten herkömmlichen
Halbleiterspeichers;
-
16 zeigt
eine Wahrheitstabelle einer Logik, die zum Schreiben von Daten in
den dritten herkömmlichen
Halbleiterspeicher verwendet wird;
-
17 zeigt
einen beispielhaften Logikschaltkreis zur Realisierung der in 16 gezeigten Logik.
-
18 zeigt
eine weitere Wahrheitstabelle einer Logik, die zum Schreiben von
Daten in den dritten herkömmlichen
Halbleiterspeicher verwendet wird;
-
19 zeigt
einen beispielhaften Logikschaltkreis zur Realisierung der in 18 gezeigten Logik;
-
20 zeigt
ein Flussdiagramm zur Darstellung eines Datenschreibvorgangs des
zweiten herkömmlichen
Halbleiterspeichers; und
-
21 zeigt
ein Flussdiagramm zur Darstellung eines Datenschreibvorgangs des
dritten herkömmlichen
Halbleiterspeichers.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Nachfolgend
wird die Erfindung anhand anschaulicher Beispiele mit Bezug auf
die begleitenden Abbildungen erläutert.
-
1 zeigt
ein Blockdiagramm eines MLC Flash-Speichers 100 als Halbleiterspeicher
gemäß einem
Beispiel dieser Erfindung. 1 zeigt
Elemente des MLC Flash-Speichers 100, die in einen Datenschreibvorgang
eingebunden sind.
-
Der
MLC Flash-Speicher 100 enthält einen Datenregisterschaltkreis 190.
Der verbleibende Aufbau entspricht im Wesentlichen dem in 15 gezeigten
MLC Flash-Speicher 500. Der MLC Flash-Speicher 100 enthält ein Speicherfeld 160,
das im Wesentlichen dem in 13 gezeigten
Speicher feld entspricht. Das Speicherfeld 160 enthält eine Mehrzahl
von Speicherzellen, von der jede wenigstens einem Bit entsprechende
Daten speichern kann.
-
In
dem MLC Flash-Speicher 100 weist ein Seitenpufferschaltkreis 120 eine
Seitenpufferschreibfunktion auf und ein Leseschaltkreis (Leseverstärker) 140 weist
eine Schreibmoduslesefunktion auf.
-
Ein
Aufbau und ein Datenschreibvorgang des MLC Flash-Speichers 100 werden
nachfolgend erläutert.
-
Der
MLC Flash-Speicher 100 enthält einen Nutzerschnittstellenschaltkreis
(nachfolgend als „UI Schaltkreis" bezeichnet) 110,
einen Steuerbus 101, einen Adressbus 102 und einen
Datenbus 103. Der MLC Flash-Speicher 100 wird extern über den
Steuerbus 101, den Adressbus 102 und den Datenbus 103 betrieben,
welche mit dem UI Schaltkreis 110 verbunden sind.
-
Der
UI Schaltkreis 110 empfängt
ein externes Signal über
den Steuerbus 101, den Adressbus 102 und den Datenbus 103 und
analysiert das Signal, um den Betrieb in dem MLC Flash-Speicher 100 zu steuern.
Der UI Schaltkreis 110 ist mit einem Seitenpufferschaltkreis 120 über einen
Steuerbus 111, einen Adressbus 112 und einen Datenbus 113 verbunden
und dieser ist ebenso mit einem Schreibzustandsmaschinenschaltkreis
(nachfolgend als „WSM Schaltkreis" bezeichnet) 130 über einen
Steuerbus 114 verbunden.
-
Ein
Seitenpufferschaltkreis 120 speichert vorübergehend
in die Speicherzellen zu schreibende Daten und dieser wird hinsichtlich
des Schreibens von Daten von dem UI Schaltkreis 110 über den Steuerbus 111,
den Adressbus 112 und den Datenbus 113 gesteuert.
-
Der
WSM Schaltkreis 130 wirkt als Datenschreibsteuersektion
zum Steuern des Schreibens von Daten in die Mehrzahl von Speicherzellen.
Beispielsweise steuert der WSM Schaltkreis 130 Vorgänge eines
Speicherfeldes 160 nach Empfang einer Anweisung zum z.
B. erneuten Schreiben von Daten in die Speicherzellen. Der WSM Schaltkreis 130 empfängt eine
Anweisung über
ein Steuersignal von dem UI Schaltkreis 110 über den
Steuerbus 114 und informiert den UI Schaltkreis 110 über ein
Signal 131 über
dessen Zustand.
-
Der
WSM Schaltkreis 130 ist mit einem MLC Logikschaltkreis 180,
dem Leseschaltkreis (Leseverstärker) 140,
einem Schreibschaltkreis (Programmierschaltkreis) 150,
dem Speicherfeld 160 und dem Datenregisterschaltkreis 190 über die
Steuerbusse 133, 134, 135, 136 und 137 verbunden.
Der Leseschaltkreis 140, der Schreibschaltkreis 150 und
das Speicherfeld 160 sind miteinander über einen Lesebus 161 verbunden.
-
Ein
Adressversorgungsschaltkreis (Adresscontroller) 170 empfängt ein
Steuersignal und Adresssignale von dem WSM Schaltkreis 130 über einen
Steuerbus 138 und einen Adressbus 139, um eine
interne Adresse zu erzeugen. Der Adresserzeugungsschaltkreis 170 gibt
eine Schlüsseladresse
an einen Adressbus 171 aus, in die Daten zu schreiben sind.
Dann erhöht
der Adresserzeugungsschaltkreis 170 die Adresse über ein
Steuertaktsignal CLK (Adresssteuersignal), das vom Steuerbus 138 empfangen
wird und gibt die erhöhte
Adresse an den Adressbus 171 aus. Das Adresssignal kennzeichnet die
Adresse der Speicherzelle, in die Daten zu speichern sind.
-
Der
Leseschaltkreis 140 weist eine Seitenmoduslesefunktion
auf. Der Leseschaltkreis 140 empfängt ein Steuersignal von dem
WSM Schaltkreis 130 über
den Steuerbus 134 und liest somit Daten von den Speicherzellen
in dem Speicherfeld 160. Die Speicherzellen, aus denen
Daten gelesen werden, werden basierend auf einem Steuersignal ausgewählt, das
von dem WSM Schaltkreis 130 über den Steuerbus 136 ausgegeben
wird sowie basierend auf Adresssignalen, welche von dem Adresserzeugungsschaltkreis 170 über den
Adressbus 171 ausgegeben werden. Die ausgewählten Speicherzellen werden
von dem WSM Schaltkreis 130 aktiviert. In dem Speicherfeld 160 sind
Speicherzellen, Referenzzellen, Dummyzellen und dergleichen in einem Feld
angeordnet.
-
Drains
der ausgewählten
Speicherzellen sind an den Lesebus 161 angeschlossen. Der
Leseschaltkreis 140 bestätigt die Schwellspannung (die den
Datenspeicherzustand kennzeichnet) jeder ausgewählten Speicherzelle über den
Lesebus 161 und gibt dann die von den ausgewählten Speicherzellen gelesenen
Daten an einen Datenmultiplexschaltkreis (nachfolgend als „MUX Schaltkreis" bezeichnet) 145 über den
Datenbus 141 aus.
-
Der
MUX Schaltkreis empfängt
ein Adresssignal von dem Adresserzeugungsschaltkreis 170 über den
Adressbus 171. Basierend auf dem Ad resssignal wählt der
MUX Schaltkreis 145 auszugebende Daten aus den von dem
Leseschaltkreis 140 empfangenen Daten aus (und verarbeitet
diese) und gibt die ausgewählten
Daten an den MLC Logikschaltkreis 180 über einen Datenbus 146 aus.
-
Der
MLC Logikschaltkreis 180 (Ermittlungssektion) empfängt ein
Steuersignal, welches von dem WSM Schaltkreis 130 über einen
Steuerbus 133 ausgegeben wird, Zieldaten, welche von dem
Seitenpufferschaltkreis 120 über einen Datenbus 121 ausgegeben
werden, und die von dem MUX Schaltkreis 145 über den
Datenbus 146 ausgewählten
und ausgegebenen Daten. Basierend auf der gegenwärtigen Schwellspannung der
jeweils ausgewählten
Speicherzelle ermittelt der MLC Logikschaltkreis 180, ob Daten
in die jeweils ausgewählte
Speicherzelle geschrieben werden sollen oder nicht. Ein Schreibdatenpuls
PRG wird an den Datenregisterschaltkreis 190 über einen
Datenbus 181 als Ermittlungsergebnis ausgegeben.
-
Der
Datenregisterschaltkreis 190 wird angewiesen, den Schreibdatenpuls
PRG über
ein Schreibsteuersignal WRT, welches von dem WSM Schaltkreis 130 über den
Steuerbus 137 ausgegeben (erteilt) wird, zu latchen. Hierbei
wird ein Steuertaktsignal CLK, welches von dem WSM Schaltkreis 130 über den
Steuerbus 138 zum Steuern des Adresserzeugungsschaltkreises 170 ausgegeben
wird, ebenso in den Datenregisterschaltkreis 190 eingespeist. Basierend
auf dem Steuertaktsignal CLK speichert der Datenregisterschaltkreis 190 den
von dem MLC Logikschaltkreis 180 empfangenen Schreibdatenpuls PRG
in einer Registerzelle im Datenregisterschaltkreis 190,
welche durch ein Adresssignal ADD von dem Adresserzeugungsschaltkreis 170 über den Adressbus 171 gekennzeichnet
wird.
-
Der
Datenregisterschaltkreis 190 gibt ein Datensignal PLS einschließlich des
Inhalts des in der Registerzelle gespeicherten Schreibdatenpulses PRG
an den Schreibschaltkreis 150 über einen Datenbus 191 aus.
-
Der
WSM Schaltkreis 130 gibt ein Steuersignal an das Speicherfeld 160 über den
Steuerbus 136 aus, so dass das Speicherfeld 160 Daten
empfangen kann. Dann gibt der WSM Schaltkreis 130 ein Steuersignal
an den Schreibschaltkreis 150 über den Steuerbus 135 aus,
um den Schreibdatenpuls an das Speicherfeld 160 anzulegen.
Der Schreibschaltkreis 150 schreibt dem Schreibdatenpuls
entsprechende Daten in die ausgewählten Speicherzellen, indem
ein Signal hoher Spannung an eine Bitleitung angelegt wird, die
mit einem Drain jeder der ausgewählten Speicherzellen über den
Lesebus 161 sequenziell verbunden ist.
-
Der
Seitenpufferschaltkreis 120 des in 1 gezeigten
MLC Flash-Speichers 100 weist
wie folgt eine Rückmeldefunktion
auf. Falls eine Anweisung zur Durchführung einer Rückmeldung über das
von dem WSM Schaltkreis 130 über einen Steuerbus 132 ausgegebene
Steuersignal erfolgt, kann der Seitenpufferschaltkreis 120 die
Daten, auf die das von dem Adresserzeugungsschaltkreis 170 über den
Adressbus 171 ausgegebene Adresssignal hinweist, auf Rückmeldedaten
aktualisieren, die von dem MLC Logikschaltkreis 180 erzeugt
wurden, basierend auf dem von dem WSM Schaltkreis 130 über den
Steuerbus 138 ausgegebenen Steuertaktsignal CLK. Die Rückmeldedaten
werden von dem MLC Logikschaltkreis 180 an den Seitenpufferschaltkreis 120 über einen
Datenbus 182 ausgegeben. Falls es nicht notwendig ist,
Daten in die über
das Adresssignal gekennzeichnete Speicherzelle zu speichern, kann
der Seitenpufferschaltkreis 120 die gespeicherten Daten auf
einen vorgegebenen Wert aktualisieren um zu verhindern, dass die
Daten in die Speicherzelle geschrieben werden.
-
Basierend
auf dem Steuertaktsignal CLK speichert der Datenregisterschaltkreis 190 den Schreibdatenpuls
PRG in der über
das Adresssignal ADD gekennzeichneten Registerzelle. Dann werden die
Daten PLS einschließlich
des Inhalts des gespeicherten Schreibdatenpulses PRG direkt an den Schreibschaltkreis 150 ausgegeben.
-
Wie
oben beschrieben ist, kann die Datenverarbeitung zwischen dem MLC
Logikschaltkreis 180, dem Datenregisterschaltkreis 190 und
dem Schreibschaltkreis 150 für den Datenschreibvorgang ohne
Einsatz des WSM Schaltkreises 130 durchgeführt werden.
Dadurch kann der Aufbau des WSM Schaltkreises 130 vereinfacht
und die Datenverarbeitungsdauer verkürzt werden.
-
2 zeigt
einen beispielhaften Aufbau des Datenregisterschaltkreises 190.
In diesem Beispiel sind vier Speicherzellen einer Adresse zugeordnet und
vier Adressen entsprechen einer Seite.
-
Wie
in 2 gezeigt ist, enthält der Datenregisterschaltkreis 190 einen
Registersteuerschaltkreis 192, Registerzellen Reg und Inverter 193 zum
Invertieren und Ausgeben von Daten.
-
Der
Registerschaltkreis 192 empfängt ein Adresssignal ADD, welches
von dem Adresserzeugungsschaltkreis 170 ausgegeben wird,
ein Schreibsteuersignal WRT, welches von dem WSM Schaltkreis 130 ausgegeben
wird und ein Taktsignal CLK, welches ebenso von dem WSM Schaltkreis 130 ausgegeben
wird, und gibt Schreibsteuersignale WR0 bis WR3 und Lesesteuersignale
RD0 bis RD3 an die entsprechenden Registerzellen Reg aus. Jede Registerzelle
Reg ist aus einem Latch-Schaltkreis wie beispielsweise einem Flip-Flop-Schaltkreis
aufgebaut.
-
Die
Registerzelle Reg, welche über
das entsprechende Signal der Schreibsteuersignale WR0 bis WR3 aktiviert
wird, empfängt
einen entsprechenden Puls der Schreibdatenpulse PRG0 bis PRG3, welche
von dem MLC Logikschaltkreis 180 über den Datenbus 181 ausgegeben
werden und latcht den empfangenen Schreibdatenpuls.
-
Jede
Registerzelle Reg wird ebenso von dem entsprechenden der Lesesteuersignale
RD0 bis RD3 aktiviert und invertiert den gelatchten Schreibdatenpuls
und gibt diesen aus (entsprechend einem der Schreibdatenpulse PRG0
bis PRG3). Jeder Inverter 193 invertiert zudem den empfangenen Schreibdatenpuls
(entsprechend einem der Schreibdatenpulse PRG0 bis PRG3) und gibt
den invertierten Schreibdatenpuls als eines von Datensignalen PLS0
bis PLS3 an den Datenbus 191 aus (1). Die
Datensignale PLS0 bis PLS3 entsprechen jeweils den Schreibdatenpulsen
PRG0 bis PRG3, welche dem Datenregisterschaltkreis 190 eingespeist werden.
-
Wie
oben beschrieben ist, erzeugt der Registersteuerschaltkreis 192 die
Schreibsteuersignale WR0 bis WR3 und die Lesesteuersignale RD0 bis RD3
basierend auf den drei Steuersignalen, die dem Datenregisterschaltkreis 190 eingespeist
werden, d. h. dem Adresssignal ADD, dem Schreibsteuersignal WRT
und dem Steuertaktsignal CLK. Der Registerschaltkreis 192 stellt
diese Signale jeder Registerzelle Reg bereit und jede Registerzelle
Reg wird basierend auf den Schreibsteuersignalen WR0 bis WR3 und
den Lesesteuersignalen RD0 bis RD3 betrieben. Die Schreibdatenpulse
PRG0 bis PRG3, welche dem Datenregisterschaltkreis 190 eingespeist
werden, werden wie vorgeschrieben für jede Registerzelle Reg und
für jeden
Inverter 193 umgewandelt, so dass Datensignale PLS0 bis
PLS3 von den Invertern 193 ausgegeben werden.
-
3 zeigt
ein Schaltungsdiagramm mit einem beispielhaften Aufbau der in 2 gezeigten Registerzelle
Reg.
-
Die
in 3 gezeigte Registerzelle Reg stellt einen Latch-Schaltkreis
einschließlich
NAND Schaltkreisen und Invertern dar. Ein Schreibdatenpuls PRG wird
als Eingangssignal basierend auf einem Lesesteuersignal RD und einem
Schreibsteuersignal WR umgewandelt und die umgewandelten Daten werden als
Datensignal PLS# ausgegeben.
-
Das
Lesesteuersignal RD stellt ein Leseaktivierungssignal dar, welches
eine Datenausgabe freigibt. Somit wird ein durch Invertieren des
gelatchten Schreibdatenpulses PRG erhaltenes Signal als Datensignal
PLS# ausgegeben. Das Datensignal PLS# entspricht jedem der Datensignale
PLS0 bis PLS3, welche von den in 2 gezeigten
Registerzellen Reg ausgegeben werden.
-
Das
Schreibsteuersignal WR stellt ein Schreibaktivierungssignal dar,
das ein Schreiben von Daten ermöglicht.
Dadurch werden Daten, welche über
den Schreibdatenpuls PRG gekennzeichnet werden, von dem Flip-Flop-Schaltkreis gelatcht.
-
4 zeigt
ein Schaltkreisdiagramm eines beispielhaften Aufbaus des in 2 gezeigten
Registersteuerschaltkreises 192.
-
Der
Registersteuerschaltkreis 192 enthält Inverter und AND Schaltkreise.
Der Registersteuerschaltkreis 192 dekodiert eingespeiste
2-Bit Adresssignale ADD0 und ADD1 und gibt eines der Lesesteuersignale
RD0 bis RD3 aus.
-
Falls
das Schreibsteuersignal WRT freigegeben ist, gibt der Registersteuerschaltkreis 192 eines der
Schreibsteuersignale WR0 bis WR3 basierend auf dem Steuertaktsignal
CLK an jede Registerzeile Reg aus.
-
5 zeigt
ein Zeitablaufdiagramm eines beispielhaften Zeitablaufs des Datenschreibvorgangs
im MLC Flash-Speicher 100 (1).
-
Das
in 5 gezeigte Zeitablaufdiagramm kennzeichnet den
Verlauf des Datenschreibvorgangs, gibt jedoch die für jeden
Schritt erforderliche tatsächliche
Zeitspanne nicht korrekt wieder. In diesem Beispiel sind zwei Adressen
in einer Seite enthalten und der Seitenpufferschaltkreis 120 und
der Datenregisterschaltkreis 190 können vier oder mehr Adressen
entsprechende Daten speichern.
-
Zur
Zeit t0 wird ein an den Adressbus 171 ausgegebenes Adresssignal
(„Address") mit Hilfe eines
Adressinitialisierungssignals („Address Initialize"), welches von dem
WSM Schaltkreis 130 an den Steuerbus 139 ausgegeben
wird, als Adresse der ersten Speicherzelle eingestellt, in die Daten
zu schreiben sind. Hierbei wird das Adresssignal als Adresssignal
ADD0 eingestellt.
-
Zum
Zeitpunkt t1 werden die einer Seite entsprechenden Daten basierend
auf dem Lesefreigabesignal (Lesefreigabe), welches von dem WSM Schaltkreis 130 an
den Steuerbus 134 ausgegeben wird, aus den über die
beiden Adressen gekennzeichneten Speicherzellen gelesen.
-
Daten
RDAT0, welche in der über
das Adresssignal ADD0 in dem Speicherfeld 160 gekennzeichneten
Speicherzelle gespeichert sind und Daten RDAT1, welche in der über das
Adresssignal ADD1 gekennzeichneten Speicherzelle derselben Seite
gespeichert sind, werden von dem Leseschaltkreis 140 gelesen
und an den Datenbus 141 ausgegeben.
-
Der
MUX Schaltkreis 145 empfängt die Daten für zwei Adressen,
welche von dem Leseschaltkreis 140 über den Datenbus 141 ausgegeben
werden und gibt die dem Adresssignal ADD0 entsprechenden Daten an
den MLC Logikschaltkreis 180 über den Datenbus 146 aus.
-
Der
Seitenpufferschaltkreis 120 gibt Daten an den MLC Logikschaltkreis 180 über den
Datenbus 121 aus, wobei die Daten in die über das
Adresssignal ADD0 gekennzeichnete Speicherzelle zu schreiben sind.
-
Der
MLC Logikschaltkreis 180 empfängt die Lesedaten RDAT0 und
die in dem Seitenpufferschaltkreis 120 gespeicherten Daten
PB0 und ermittelt, ob Daten zu schreiben sind oder nicht und gibt
einen Schreibdatenimpuls PRG0 als Ermittlungsergebnis an den Datenregisterschaltkreis 190 über den
Datenbus 181 aus.
-
Der
MLC Logikschaltkreis 180 gibt ebenso Rückmeldedaten FBK0 an den Seitenpufferschaltkreis 120 über den
Datenbus 182 aus.
-
Nachfolgend
wird zum Zeitpunkt t2 ein Adresssteuersignal („Address Control") zum Steuern des
Adresserzeugungsschaltkreises 170 ausgegeben.
-
In 5 wird
die Adresse bei der fallenden Flanke des Adresssteuersignals aktualisiert.
In der unmittelbar vorhergehenden Periode, in der das Adresssteuersignal
auf HIGH liegt, latcht der Datenregisterschaltkreis 190 den
Schreibdatenpuls PRG basierend auf einem Datenregistersteuersignal.
Basierend auf dem Rückmeldesignal
wird eine Rückmeldung
der in dem Seitenpufferschaltkreis 120 gespeicherten Daten
ausgeführt.
Falls das Adresssteuersignal auf HIGH geht, latcht der Datenregisterschaltkreis 190 den
Schreibdatenpuls PRG0 („Data Register
0"), der dem Adresssignal
ADD0 entspricht.
-
Das
dem Adresssignal ADD0 entsprechende Rückmeldesignal FBK0 wird von
dem Seitenpufferschaltkreis 120 („Page Buffer 0") gelatcht. Zu diesem Zeitpunkt
kann der Seitenpufferschaltkreis 120 z.B. die darin gespeicherten
Daten PB0 basierend auf dem Rückmeldesignal
FBK0 auf Daten aktualisieren, die denselben Inhalt wie die Daten
RDAT0 haben.
-
Zum
Zeitpunkt t3 wird das Adresssignal ADD0 bei der fallenden Flanke
des Adresssteuersignals auf das Adresssignal ADD1 geändert, welches eine
weitere Adresse auf derselben Seite kennzeichnet. Hiermit übereinstimmend
gibt der MUX Schaltkreis 145 die Daten RDAT1, die aus der über das Adresssignal
ADD1 gekennzeichneten Speicherzelle gelesen wurden, an den MLC Logikschaltkreis 180 über den
Datenbus 146 aus.
-
Der
Seitenpufferschaltkreis 120 gibt Daten PB1 aus, die in
die über
das Adresssignal ADD1 gekennzeichnete Adresse gespeichert werden
sollen. Der MLC Logikschaltkreis 180 empfängt die
Daten RDAT1 sowie die Daten PB1 und gibt einen neuen Schreibdatenpuls
PRG1 und neue Rückmeldedaten FBK1
aus. Entspricht das Adresssignal dem Adresssignal ADD1, so entspricht
der Betrieb des MLC Flash-Speichers 100 im Wesentlichen
demjenigen Betrieb, bei dem das Adresssignal dem Adresssignal ADD0
entspricht.
-
Falls
Adressen einer anderen Seite verarbeitet werden sollen wird ein
Datenlesevorgang benötigt.
Auch in diesem Fall erfolgt eine Aktualisierung der Adresse, Speicherung
von Daten in dem Datenregisterschaltkreis 190 und Rückmeldung
der in dem Seitenpufferschaltkreis 120 gespeicherten Daten
auf im Wesentlichen oben erläuterte
Weise.
-
6 zeigt
ein Ablaufdiagramm eines von dem WSM Schaltkreis 130 während des
Datenschreibvorgangs im MLC Flash-Speicher 100 (1) durchgeführten Steuervorgangs.
-
Die
Schritte S1000 bis S1004 in 6 entsprechen
jeweils dem oben mit Bezug auf 5 beschriebenen
Steuervorgang.
-
In 6 wird
lediglich die Verarbeitung erläutert,
die für
einen Vergleich mit einer herkömmlichen
Verarbeitung erforderlich ist. Tatsächlich führt der WSM Schaltkreis 130 weitere
Verarbeitungen durch. Die Reihenfolge der Verarbeitung kann von der
in 6 gezeigten Reihenfolge verschieden sein.
-
In
Schritt S1000 stellt der WSM Schaltkreis 130 eine interne
Adresse als Schlüsseladresse
der Seitenadresse ein. In Schritt 1001 versetzt der WSM Schaltkreis 130 das
Speicherfeld in einen Zustand, in dem Daten gelesen werden können.
-
In
Schritt S1002 werden Daten aus einer Speicherzelle in dem Speicherfeld 160 gelesen. Beim
Lesen im Seitenmodus können
Daten, die allen Adressen einer Seite entsprechen, simultan gelesen werden.
-
In
Schritt S1003 wird die interne Adresse aktualisiert und es werden
Daten in dem Datenregisterschaltkreis 190 gespeichert und
eine Rückmeldung der
in dem Seitenpufferschaltkreis 120 gespeicherten Daten
wird entsprechend zur Aktualisierung der internen Adresse ausgeführt.
-
Die
Aktualisierung der internen Adresse wird entsprechend der Anzahl
der in einer Seite enthaltenden Adressen wiederholt. In Schritt
S1004 werden ein Lesen von Daten aus der Speicherzelle und eine Aktualisierung
der Adresse gleichzeitig für
alle Seiten durchgeführt,
in die Daten zu schreiben sind. Erfolgt dies in Schritt S1004 nicht
für alle
Seiten, in die Daten gleichzeitig zu schreiben sind, wird die Verarbeitung der
Schritte S1002 und S1003 für
die nächste
Seite durchgeführt.
Sobald das Lesen von Daten aus der Speicherzelle und die Aktualisierung
der Adresse für alle
Seiten in Schritt 1004 durchgeführt sind (d. h. falls die Vorbereitung
des Schreibens von Daten abgeschlossen ist), wird die Verarbeitung
in Schritt S1005 ausgeführt.
-
Ist
die Vorbereitung zum Schreiben von Daten abgeschlossen, wird das
Speicherfeld 160 in einen Zustand versetzt, in dem Daten
geschrieben werden können
(Schritt S1005) und Daten werden in das Speicherfeld 160 geschrieben (Schritt S1006).
-
Wie
oben beschrieben ist, ermöglicht
es der erfindungsgemäße MLC Flash-Speicher 100 dem WSM
Schaltkreis 130, eine erheblich einfachere Steuerung im
Vergleich zu einer herkömmlichen
Datenschreibsteuerung durchzuführen.
-
Der
WSM Schaltkreis 130 in dem MLC Flash-Speicher 100 weist
eine kleinere Anzahl von zu steuernden Signalen auf und deshalb
werden die Geschwindigkeit des Datenschreibvorgangs auf einfache
Weise vergrößert und die Schaltkreisdimensionen reduziert.
-
In
obigem Beispiel weist der erfindungsgemäße MLC Flash-Speicher 100 eine
Seitenmoduslesefunktion auf. Selbst ohne die Seitenmoduslesefunktion
wird im Wesentlichen dieselbe Wirkung erzielt, indem bei jeder Änderung
der internen Adresse 171 ein Datenlesevorgang ausgeführt wird.
-
Das
Latchen des Schreibdatenpulses in dem Datenregisterschaltkreis 190 und
die Rückmeldung der
in dem Seitenpufferschaltkreis 120 gespeicherten Daten
wird basierend auf einem Adresssignal gesteuert. Es ist nicht erforderlich,
beide Vorgänge
basierend auf einem Adresssignal zu steuern und es kann durch Steuerung
eines der Vorgänge
basierend auf einem Adresssignal im Wesentlichen dieselbe Wirkung
erzielt werden.
-
Selbst
falls lediglich einer der Vorgänge,
d.h. Latchen oder Rückmeldung,
aufgrund eines speziellen Aufbaus des Datenregisterschaltkreises 190 oder des
Seitenpufferschaltkreises 120 oder aufgrund einer speziellen
Art der Verdrahtung des Datenbusses oder des Steuerbusses gesteuert
werden kann, lässt sich
im Wesentlichen dieselbe Wirkung erzielen.
-
7 zeigt
ein Schaltkreisdiagramm eines weiteren beispielhaften Aufbaus der
Registerzelle Reg, die in dem in 2 gezeigten
Datenregisterschaltkreis 190 enthalten sein kann. In 7 stellt die
Registerzelle Reg einen Latch-Schaltkreis einschließlich NAND
Schaltkreisen und Invertern dar. Der in 7 gezeigte
Schaltkreis stimmt mit dem in 3 gezeigten Schaltkreis überein,
abgesehen davon, dass Letzterer ein Reset-Signal RSTB von dem WSM
Schaltkreis 130 empfängt.
-
Der
Aufbau der Registerzelle Reg (Latch-Schaltkreis) in 7 unterdrückt den überprogrammierten
Zustand in der Speicherzelle, welcher durch die offensichtliche Änderung
der Schwellspannung der Speicherzelle wie z.B. durch Array Noise, das
von einem Datenlesevorgang zur Überprüfung hervorgerufen
wird, verursacht wird.
-
Die
von dem WSM Schaltkreis 130 gesteuerte Registerzelle Reg
in 7 latcht zu schreibende Daten. Die Registerzelle
Reg weist einen Betriebsmodus auf, in dem die zu schreibenden gelatchten Daten
zurückgesetzt,
jedoch nicht eingestellt werden können.
-
In
einem solchen Modus wird das Reset-Signal RSTB als Steuersignal
auf LOW eingestellt.
-
In
diesem Fall kann der aus einem Flip-Flop Schaltkreis aufgebaute
Latch-Schaltkreis Daten zurücksetzen,
diese jedoch nicht einstellen. Ist das Reset-Signal RSTB auf HIGH,
kann der aus einem Flip-Flop Schaltkreis aufgebaute Latch-Schaltkreis Daten
sowohl einstellen als auch zurücksetzen
und arbeitet auf im Wesentlichen dieselbe Weise wie der in 3 gezeigte
Lacht-Schaltkreis.
-
Werden
Daten zum ersten Mal in den Datenregisterschaltkreis 190 geschrieben,
wird das Reset-Signal RSTB auf HIGH gesetzt. Danach wird das Reset-Signal
RSTB auf LOW gesetzt. Um zu verhindern, dass Daten in eine Speicherzelle
geschrieben werden, in der ein Schreiben von Daten nicht notwendig
ist, können
die in der entsprechenden Registerzelle Reg gespeicherten Daten
auf einen bestimmten Wert fixiert werden. Der Betrieb des in 7 gezeigten
Latch-Schaltkreises stimmt mit dem in 3 gezeigten
Latch-Schaltkreis überein,
abgesehen von dem Betrieb zum Speichern von Daten in den Datenregisterschaltkreis 190.
-
Werden,
wie oben beschrieben, Daten zum ersten Mal in den Datenregisterschaltkreis 190 geschrieben,
wird das Reset-Signal RSTB auf HIGH gesetzt. Hierbei wird die der
Speicherzelle, in die Daten geschrieben werden sollen, entsprechende
Registerzelle Reg eingestellt. Die der Speicherzelle, in die keine
Daten geschrieben werden sollen, entsprechende Registerzelle Reg
wird zurückgesetzt.
-
Liegt
somit das Reset-Signal RSTB auf HIGH, kann der Datenregisterschaltkreis 190 einschließlich des
Latch-Schaltkreises von 7 festlegen, ob Daten auf einer
Speicherzelle-zu-Speicherzelle Basis geschrieben werden sollen,
wie dies beim Datenregisterschaltkreis 190 einschließlich des Latch-Schaltkreises in 3 der
Fall ist.
-
Bei
dem den Latch-Schaltkreis enthaltenden Datenregisterschaltkreis 190 in 7 wird
das Reset-Signal RSTB auf LOW gesetzt, so dass keine Daten in der
Registerzelle Reg, in die Daten bereits in demselben Schreibzyklus
geschrieben wurden, angesammelt werden.
-
In
dem den Latch-Schaltkreis enthaltenden Datenregisterschaltkreis 190 in 7 wird
die Registerzelle Reg derjenigen Speicherzelle, bei der die Referenzspannung
im ersten Zyklus des Datenlesevorgangs nicht erreicht wurde, eingestellt.
Sind alle Registerzellen Reg, die einmal eingestellt wurden zurückgesetzt,
so kann bestimmt werden, dass der Betrieb eines Schreibzyklus abgeschlossen
ist.
-
Die
Erscheinung, dass eine Registerzelle Reg, welche einmal zurückgesetzt
wurde, erneut eingestellt wird, wird durch die Änderung des Detektionsergebnisses
vom Leseverstärker
verursacht, was auf den Einfluss von Array Noise und eine Änderung in
der Versorgungsspannung zurückzuführen ist. Dies
führt zu
einem überprogrammierten
Zustand in einem MLC Flash-Speicher und ist somit nicht erwünscht.
-
Der
den Latch-Schaltkreis enthaltende Datenregisterschaltkreis 190 in 7 stellt
keine Daten in der Registerzelle Reg ein, abgesehen von dem ersten
Zyklus des Datenschreibvorgangs. Dadurch wird ein falscher Schreibvorgang
aufgrund von Array Noise oder desgleichen unterdrückt und
der überprogrammierte
Zustand der Speicherzelle vermieden.
-
Die
Rückmeldefunktion
der in dem Seitenpufferschaltkreis 120 des MLC Flash-Speichers 100 gespeicherten
Daten wird zur Reduzierung der offensichtlichen Änderung der Schwellspannung
der Speicherzellen beim Datenlesevorgang zur Überprüfung verwendet. Wird der den
Latch- Schaltkreis
enthaltende Datenregisterschaltkreis 190 in 7 verwendet, kann
auf die Rückmeldefunktion
verzichtet werden.
-
Der
MLC Flash-Speicher 100 (1) kann die
Daten auf offensichtlich dieselbe Weise wie ein binärer Flash-Speicher
verarbeiten, indem lediglich der in 3 oder 7 gezeigte
Latch-Schaltkreis in dem Datenregisterschaltkreis 190 bereitgestellt
wird und Teile des Schaltkreises geändert werden (z. B. ein MLC
Logikschaltkreis).
-
Üblicherweise
wird ein Datenschreibvorgang in Speicherzellen eines Flash-Speichers
in einer Richtung ausgeführt.
In einem herkömmlichen
binären
Flash-Speicher wird ein Schreiben von Daten lediglich von einer
niedrigeren Schwellspannung zu einer höheren Schwellspannung ausgeführt. Beispielsweise
wird ein Schreiben von Daten lediglich von Daten „1" auf Daten „0" ausgeführt. Ein
erneutes Schreiben in einer entgegengesetzten Richtung erfordert
z. B. ein Block-um-Block Löschen
von Daten.
-
Bezüglich des Überschreibens
von in einer Speicherzelle gespeicherten Daten kann ein binärer Flash-Speicher
Daten „1" mit Daten „0" überschreiben, jedoch nicht
Daten „0" mit Daten „1". Damit entsprechen
die Daten nach dem Schreiben einem AND (logische Summe) der Daten
vor dem Schreiben und der zu schreibenden Daten.
-
8 zeigt
eine beispielhafte Wahrheitstabelle, welche die Kompatibilität zwischen
Daten eines MLC Flash-Speichers und eines binären Flash-Speichers in einem Datenschreibvorgang
darlegt.
-
Wie
in 8 gezeigt ist, kann der MLC Flash-Speicher Daten „10" mit Daten „01" überschreiben und ist somit
hinsichtlich des Überschreibens von
Daten flexibel. Um es dem Nutzer zu ermöglichen, den MLC Flash-Speicher auf eine ähnliche Weise
wie den binären
Flash-Speicher zu verwenden, ist es wünschenswert, dass die Daten
nach dem Schreiben einem AND (logische Summe) der Daten vor dem
Schreiben und der zu schreibenden Daten wie beim binären Flash-Speicher
entsprechen.
-
Wie
oben beschrieben ist, kann der MLC Flash-Speicher gemäß der Erfindung
die in dem Seitenpufferschaltkreis gespeicherten Daten auf in einer Speicherzelle
gespeicherte Daten aktualisieren.
-
Unter
Verwendung dieser Funktion können die
Daten auf einfache Weise erneut geschrieben werden, so dass die
Logik des Überschreibens
von Daten ähnlich
zu derjenigen des binären
Flash-Speichers ist.
-
Die
oben erwähnte 19 zeigt
einen beispielhaften Logikschaltkreis zum Erzeugen von Rückmeldedaten. 9 zeigt
zusätzlich
zum Aufbau des in 19 gezeigten Logikschaltkreises
einen Logikschaltkreis mit einer Funktion zum Erzeugen einer Logik
zum Überschreiben
von Daten.
-
Der
in 9 gezeigte Logikschaltkreis enthält einen
NAND Schaltkreis, NOR Schaltkreise, AND Schaltkreise, OR Schaltkreise
und einen Inverter. Die Ausgangssignale FBK1 und FBK0, die Eingangssignale
und dergleichen entsprechen denjenigen des in 19 gezeigten
Logikschaltkreises.
-
Zur
Erzeugung einer Logik zum Überschreiben
von Daten in dem in 9 gezeigten Logikschaltkreis
wird STP1 = STP0 = L (L: LOW Pegel oder 0) eingestellt, so dass
der Schritt zum Erzeugen der Logik zum Überschreiben von Daten von
den weiteren Schritten zum Schreiben von Daten unterschieden werden
kann.
-
Der
in 9 gezeigte Logikschaltkreis unterscheidet sich
von dem in 19 gezeigten Logikschaltkreis
dadurch, dass Ersterer die ausgegebenen Daten FBK[1:0] auf einen
LOW Pegel fixieren kann, was auf die AND Schaltkreise (AND Gatter), die
in der Endstufe vorgesehen sind, zurückzuführen ist.
-
Somit
wird in dem in 9 gezeigten Logik-Schaltkreis
ein ausgegebenes LOW Signal erzielt, falls STP1 = STP0 = L ist und
die von der gegenwärtigen
Speicherzelle gelesenen Daten weisen den LOW Pegel auf.
-
Wie
mit Bezug auf 8 und 9 beschrieben
wurde, kann die Schaltkreiskonfiguration zur Datenschreibsteuerung
des in 1 gezeigten MLC Flash-Speichers 100 ebenso
zum Überschreiben
von Daten verwendet werden.
-
Entsprechend
einem erfindungsgemäßen Halbleiterspeicher
gibt eine Datenschreibsteuersektion ein erstes Steuersignal aus,
um eine Datenregistersektion anzuweisen, ein erstes Schreibsignal
zu speichern. Basierend auf dem über
ein zweites Steuersignal, das von der Datenschreibsteuersektion ausgegeben
wird, gekennzeichneten Zeitverlauf speichert die Datenregistersektion
das erste Schreibsignal in einer vorgeschriebenen Registerzelle,
welche durch ein Adresssignal gekennzeichnet ist. Die Datenregistersektion
gibt direkt an die Datenschreibsektion ein zweites Schreibsignal
aus, das basierend auf dem gespeicherten ersten Schreibsignal erzeugt wird.
Mit einem solchen Aufbau kann eine Datenverarbeitung zwischen dem
MLC Logikschaltkreis, der Datenregistersektion und der Datenschreibsektion für einen
Datenschreibvorgang ohne Einbeziehen des WSM Schaltkreises (der
Datenschreibsteuersektion) erfolgen. Dadurch können der Aufbau des WSM Schaltkreises
vereinfacht und die Datenverarbeitungsdauer reduziert werden.
-
Ein
Fachmann wird verschiedene weitere Modifikationen erkennen und umsetzen
können
ohne vom Schutzbereich dieser Erfindung, der in den Ansprüchen definiert
ist, abzuweichen. Der Schutzbereich der Patentansprüche ist
somit nicht auf die hierin gegebene Beschreibung beschränkt.