-
Die
Erfindung betrifft ein Flashspeicherbauelement, insbesondere ein
Flashspeicherbauelement vom Mehrpegelzellen (MLC)-Typ.
-
Flashspeicherbauelemente
werden allgemein in NAND-Flashspeicherbauelemente und NOR-Flashspeicherbauelemente
klassifiziert. Während
NOR-Flashspeicherbauelemente Speicherzellen umfassen, welche unabhängig mit
Bitleitungen und Wortleitungen verbunden sind und eine ausgezeichnete
Direktzugriffszeit aufweisen, umfassen NAND-Flashspeicherbauelemente
Speicherzellen, welche in Reihe geschaltet sind, so dass nur ein
Kontakt pro Zellenkette erforderlich ist. Deshalb haben NAND-Flashspeicherbauelemente
einen ausgezeichneten Integrationsgrad. Entsprechend werden NAND-Strukturen
hauptsächlich
in hochintegrierten Flashspeicherbauelementen verwendet.
-
Ein
allgemein bekanntes NAND-Flashspeicherbauelement umfasst ein Speicherzellenfeld, einen
Zeilendecoder und einen Seitenpuffer. Das Speicherzellenfeld umfasst
Wortleitungen, welche sich entlang Zeilen erstrecken, und Bitleitungen,
welche sich entlang Spalten erstrecken, und Zellenketten, welche
mit entsprechenden Bitleitungen korrespondieren.
-
Die
Zellenketten sind entlang den Bitleitungen mit Kettenauswahltransistoren,
Speicherzellen und Masseauswahltransistoren in dieser Reihenfolge verbunden.
Ein Strompfad des Kettenauswahltransistors in der Zellenkette ist
mit der korrespondierenden Bitleitung und einem Strompfad der Speicherzellen
verbunden. Ein Strompfad des Masseauswahltransistors ist zwischen
einer gemeinsamen Sourceleitung und einem Strompfad der Speicherzellen
eingeschleift. Eine Kettenauswahlleitung, Wortleitungen und eine
gemeinsame Sourceleitung sind mit Gates der Kettenauswahltransistoren,
Steuergates der Speicherzellentransistoren bzw. einem Gate des Masseauswahltransistors
verbunden.
-
Jede
der Speicherzellen ist mit einem Zellentransistor mit einem Steuergate,
einem floatenden Gate, einer Source und einer Drain ausgestattet.
Wie allgemein bekannt ist, führen
die Zellentransistoren einen Programmiervorgang unter Verwendung
von Fowler-Nordheim-Tunneln (F-N-Tunneln) aus.
-
Der
allgemein bekannte Zeilendecoder, der mit der Kettenauswahlleitung,
den Wortleitungen und der gemeinsamen Sourceleitung verbunden ist,
ist auf einer Seite des Speicherzellenfeldes angeordnet. Zusätzlich ist
der mit der Mehrzahl von Bitleitungen verbundene Seitenpuffer auf
der anderen Seite des Speicherzellenfeldes angeordnet.
-
In
jüngerer
Zeit sind zur Erhöhung
der Integration eines solchen Flashspeicherbauelements Entwicklungen
für eine
Mehrbitzelle gemacht worden, welche in der Lage ist, mehrere Bits
an Daten in einer Speicherzelle zu speichern. Eine solche Speicherzelle
wird gewöhnlich
als Mehrpe gelzelle (MLC) bezeichnet. Eine Einzelbitzelle wird demgegenüber als
Einzelpegelzelle (SLC) bezeichnet.
-
Allgemein
hat die Mehrpegelzelle zwei oder mehr Schwellwertspannungsverteilungen
und zwei oder mehr Datenspeicherzustände korrespondierend mit den
Spannungsverteilungen. Wie aus 11A ersichtlich
ist, hat die Mehrpegelzelle, welche zwei Bit an Daten programmieren
kann, vier Datenspeicherzustände,
die mit [11], [10], [01] und [00] bezeichnet sind. Diese Verteilungen
korrespondieren mit den Schwellwertspannungsverteilungen der Mehrpegelzelle.
Wenn beispielsweise angenommen wird, dass die entsprechenden Schwellwertspannungsverteilungen
der Speicherzelle –2,7
V oder niedriger, 0,3 V bis 0,7 V, 1,3 V bis 1,7 V bzw. 2,3 V bis
2,7 V sind, dann korrespondieren die Zustände [11], [10], [01] und [00]
mit 2,7 V oder niedriger, 0,3 V bis 0,7 V, 1,3 V bis 1,7 V bzw.
2,3 V bis 2,7 V.
-
Ein
Lesevorgang des Flashspeicherbauelements mit Mehrpegelzellen wird
durch Detektieren von Daten einer Mehrpegelzelle durch eine Differenz zwischen
Zellströmen
ausgeführt,
welche über
eine ausgewählte
Speicherzelle gemäß einer
konstanten Bitleitungsstrommenge und einer stufenförmigen Wortleitungsspannung
fließen.
Wie aus
11B ersichtlich ist, umfasst
ein herkömmliches
Datenleseverfahren die Schritte: dreimaliges Anlegen von Wortleitungsspannungen
an eine ausgewählte
Wortleitung mit gleichmäßigen Intervallen
und Anlegen von Wortleitungsspannungen gleich Vread an nicht ausgewählte Wortleitungen
während
des Lesevorgangs. Hierbei wird die an die ausgewählte Wortleitung angelegte
Spannung nacheinander von einer hohen Spannung zu einer niedrigen
Spannung angelegt. In anderen Worten ausgedrückt, eine zwischen den Zuständen [00]
und [01] angelegte Spannung Vrd3 ist 2 V, eine zwischen den Zuständen [01]
und [10] angelegte Spannung Vrd2 ist 1 V und eine zwischen den Zuständen [10]
und [11] angelegte Spannung Vrd1 ist 0 V. Hierbei wird eine Spannung,
z. B. Vread = 6 V, wel che in der Lage ist, die nicht ausgewählten Speicherzellen
leitend zu schalten, an die nicht ausgewählten Wortleitungen angelegt.
Eine detaillierte Beschreibung des Lesevorgangs wird in der
koreanischen Patentveröffentlichung
Nr. 10-0204803 gegeben.
-
Ein
Programmiervorgang des Flashspeicherbauelements mit Mehrpegelzelle
wird durch Anlegen einer vorbestimmten Programmierspannung, z. B. von
14 V bis 19 V, an das Gate der ausgewählten Speicherzelle durch Nutzung
von F-N-Tunneln und anschließendes
Anlegen einer Massespannung Vss an die Bitleitung durchgeführt. Eine
Versorgungsspannung Vcc wird an die Bitleitung angelegt, um die Programmierung
zu verhindern. Sind die Programmierspannung und die Massespannung
Vss an die Wortleitung bzw. die Bitleitung der ausgewählten Speicherzelle
angelegt, dann wird ein relativ hohes elektrisches Feld zwischen
einem floatenden Gate und einem Kanal der Speicherzelle angelegt.
Durch das elektrische Feld passieren Elektronen des Kanals eine
Oxidschicht, die zwischen dem floatenden Gate und dem Kanal ausgebildet
ist, so dass darin ein Tunneleffekt auftritt. Auf diese Weise wird
eine Schwellwertspannung der Speicherzelle erhöht, die durch ein Ansammeln
der Elektronen im floatenden Gate programmiert wird.
12 zeigt
ein Diagramm, das einen herkömmlichen
Programmiervorgang illustriert. Bei diesem Stand der Technik wird
der Programmiervorgang drei Mal ausgeführt, um den in
12 dargestellten
Datenzustand zu erreichen. Ist der gewünschte Zustand beispielsweise
[00], dann wird der Zustand über
die Stufen 1, 2 und 3 erreicht, und ist der gewünschte Zustand [01], dann wird
die Programmierung über
die Stufen 1 und 2 und die Programmierverhinderung erreicht. Eine
detaillierte Beschreibung des Programmiervorgangs ist in der
koreanischen Patentveröffentlichung
10-0204803 offenbart.
-
Die
Patentschrift
US 6.426.892
B2 offenbart ein Flashspeicherbauelement vom NAND-Typ mit Mehrpegelzellen,
wobei Zwei-Bit-Daten in Da ten einer ersten bzw. einer zweiten Seite
separiert und z. B. einer Vierzustands-Speicherzelle gespeichert
werden. Zum Programmieren einer Speicherzelle aus einem gelöschten Anfangszustand „0" in einen der anderen
möglichen
Zustände
werden spezielle ein- oder mehrschrittige Schreibvorgänge je nach
den Datenbitwerten der ersten und zweiten Seite angewendet, wobei
Verifizierungsvorgänge
nach einem jeweiligen Schreibschritt vorgesehen sein können. Zur
Durchführung
dieser Programmiervorgänge weist
das Speicherbauelement eine mit den Bitleitungen verbundene Datenspeicherschaltung
zur Speicherung sowohl der zu schreibenden als auch der aus der
jeweiligen Speicherzelle gelesenen Datenwerte und eine Steuerschaltung
auf, die nicht nur die Spannungen auf den Bitleitungen und Wortleitungen, sondern
auch den Betrieb der Datenspeicherschaltung steuert. Ähnliche
NAND-Flashspeicherbauelemente
vom Mehrpegelzellentyp und zugehörige
Programmierverfahren sind in dem Zeitschriftenaufsatz
K.
Takeuchi et al., A Multipage Cell Architecture for High-Speed Programming
Multilevel NAND Flash Memories, IEEE Journal of Solid-State Circuits,
Band 33, Nr. 8, 1998, Seite 1228 offenbart.
-
Als
technisches Problem liegt der Erfindung die Bereitstellung eines
Flashspeicherbauelements vom Mehrpegelzellentyp zugrunde, das verglichen mit
dem oben beschriebenen Stand der Technik verbesserte Eigenschaften
aufweist, insbesondere günstige
Datenlese- und Datenprogrammiervorgänge erlaubt.
-
Die
Erfindung löst
dieses Problem durch die Bereitstellung eines Flashspeicherbauelements
mit den Merkmalen des Patentanspruchs 1.
-
Die
Erfindung stellt ein Flashspeicherbauelement zur Verfügung, bei
welchem die Effektivität
von Lese- und Schreibvorgängen
verbessert ist und insbesondere die Zeitdauer von Programmiervorgängen reduziert
ist.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Vorteilhafte
Ausführungsformen
der Erfindung sowie die oben erläuterten,
herkömmlichen Ausführungsbeispiele
sind in den Zeichnungen dargestellt, und vorteilhafte Ausführungsformen
der Erfindung werden nachfolgend beschrieben. Es zeigen:
-
1 ein
Blockschaltbild eines Speicherzellenfeldes eines erfindungsgemäßen NAND-Flashspeicherbauelements,
-
2 ein
Blockschaltbild eines erfindungsgemäßen Flashspeicherbauelements
mit Mehrpegelzelle,
-
3 ein
Schaltbild eines erfindungsgemäßen Flashspeicherbauelements
mit Mehrpegelzelle,
-
4 ein
Diagramm zur Darstellung von Datenspeicherzuständen einer Mehrpegelzelle gemäß der Erfindung,
-
5 ein
Zeitablaufdiagramm zur Darstellung von während eines Lesevorgangs an
eine Wortleitung angelegten Spannungen gemäß der Erfindung,
-
6 eine
Zeitablauftabelle eines LSB-Lesevorgangs in einem Flashspeicherbauelement
gemäß der Erfindung,
-
7 eine
Zeitablauftabelle eines MSB-Lesevorgangs in einem Flashspeicherbauelement
gemäß der Erfindung,
-
8A ein
Diagramm zur Darstellung eines erfindungsgemäßen Programmierverfahrens,
-
8B ein
Zeitablaufdiagramm zur Darstellung von während eines Programmiervorgangs
an eine Wortleitung angelegten Spannungen gemäß der Erfindung,
-
9 eine
Zeitablauftabelle eines LSB-Programmiervorgangs in einem Flashspeicherbauelement
gemäß der Erfindung,
-
10 eine
Zeitablauftabelle eines MSB-Programmiervorgangs in einem Flashspeicherbauelement
gemäß der Erfindung,
-
11A ein Diagramm zur Darstellung von Datenspeicherzuständen einer
herkömmlichen Mehrpegelzelle,
-
11B ein Zeitablaufdiagramm zur Darstellung von
während
eines herkömmlichen
Lesevorgangs an eine Wortleitung angelegten Spannungen und
-
12 ein
Diagramm zur Darstellung eines herkömmlichen Programmierverfahrens.
-
1 zeigt
ein Schaltbild eines erfindungsgemäßen Speicherzellenfeldes. Wie
aus 1 ersichtlich ist, umfasst das Speicherzellenfeld
Wortleitungen WL0 bis WLm, Bitleitungen BL0 bis BLn und Speicherzellen
M0 bis Mm. Ein Zeilendecoder 300, der mit einer Kettenauswahlleitung
SSL, den Wortleitungen WL0 bis WLm und einer Masseauswahlleitung
GSL verbunden ist, ist auf einer Seite des Speicherzellenfeldes 100 angeordnet.
Der Zeilendecoder 300 wählt
eine Wortleitung durch eine Kombination eines Decodiervorgangs,
welcher einen korrespondierenden Speicherblock auswählt, und
eines Decodiervorgangs, welcher eine Wortleitung innerhalb der ausgewählten Kette
gemäß einer
dieser bereitgestellten Adresse auswählt.
-
Zusätzlich ist
ein Seitenpuffer 200, der mit der Mehrzahl von Bitleitungen
BL0 bis BLn verbunden ist, an einer anderen Seite des Speicherzellenfeldes 100 angeordnet.
Eine Seitenpuffersteuereinheit 290, welche den Seitenpuffer 200 mit
einem Steuersignal, einem Rücksetzsignal
und einem Ladesignal versorgt, und eine Spannungsgeneratorschaltung 280,
welche den Seitenpuffer 200 mit einer variablen Spannung
versorgt, sind auf beiden Seiten des Seitenpuffer angeordnet.
-
2 ist
ein Blockschaltbild des Flashspeicherbauelements gemäß einer
Ausführungsform der
Erfindung. Eine Funktion jedes Blockes wird nachfolgend unter Bezugnahme
auf 2 beschrieben.
-
Das
Speicherzellenfeld 100 speichert Datenbits, welche wenigstens
zwei Bits umfassen. Die Datenbits werden in ein unteres Datenbit
und ein oberes Datenbit klassifiziert. Hierbei werden das untere
Datenbit als „LSB" definiert und das
obere Datenbit als „MSB" definiert. Für Datenbits [10]
ist z. B. ein oberes Datenbit „1" das MSB und ein
unteres Datenbit „0" ist das LSB. Die
Datenbits werden gemäß den Schwellwertspannungsverteilungen
der Speicherzelle aufgeteilt. In dieser Beschreibung wird folgende
Korrespondenz der Spannungsverteilungen zu Datenbits angenommen:
[11] entspricht –2,7
V oder weniger, [10] entspricht 0,3 V bis 0,7 V, [00] entspricht
1,3 V bis 1,7 V und [01] entspricht 2,3 V bis 2,7 V. Selbstverständlich sind
dies nur beispielhafte Spannungsbereiche und Ausführungsformen
der Erfindung sind auch mit anderen Bereichen effektiv.
-
Eine
Wortleitungsspannung VWL, welche bei Lese- und Programmiervorgängen bestimmt
wird, wird an ausgewählte
oder nicht ausgewählte
Wortleitungen des Speicherzellenfelds 100 angelegt. Die Wortleitungsspannung
VWL wird von einer Wortleitungsspannungsversorgungsschaltung 270 angelegt.
Die Pegel der Wortleitungsspannung werden nachfolgend in einem Abschnitt
mit den Lese- und Programmiervorgängen beschrieben.
-
Eine
Vorladeschaltung 250 wird in Reaktion auf ein erstes Ladesignal
PLOAD betrieben, um eine Bitleitung oder einen Knoten E vorzuladen.
Zusätzlich
steuert die Vorladeschaltung 250 eine erste und eine zweite
Zwischenspeicherschaltung 210 und 220 gemäß einem
Pegel am Knoten E.
-
Die
erste Zwischenspeicherschaltung 210 wird von einem ersten
und einem zweiten Zwischenspeichersignal LCH_MR und LCH_MS und die
zweite Zwischenspeicherschaltung 220 wird von einem dritten
Zwischenspeichersignal LCH_S gesteuert. Durch Nutzung einer Bitleitungsspannungsversorgungsschaltung 240 werden
die zwischengespeicherten Datenbits in die Speicherzelle 100 programmiert
oder die programmierten Datenbits werden ausgelesen. Eine dritte
Zwischenspeicherschaltung 230 wird von einem zweiten Ladesignal
PCLOAD gesteuert, empfängt
das in der ersten Zwischenspeicherschaltung 210 gespeicherte
Datenbit und gibt es aus oder entlädt die eingegebenen Daten zur
ersten Zwischenspeicherschaltung 210.
-
Die
Bitleitungsspannungsversorgungsschaltung 240 wird von den
Datenbits gesteuert, welche in der ersten und zweiten Zwischenspeicherschaltung 210 und 220 zwischengespeichert
sind, oder von einem ersten und einem zweiten Steuersignal VBL1 und
VBL2. Die Bitleitungsspannungsversorgungsschaltung 240 gibt
die Versorgungsspannung Vcc oder die Massespannung Vss oder eine
variable Spannung BLPWR an die Bitleitung aus, wodurch die Programmierung
der Speicherzelle erreicht wird.
-
Die
Spannungsgeneratorschaltung 280 erzeugt die variable Spannung
BLPWR. Die variable Spannung BLPWR wird beim MSB-Programmiervorgang
verwendet und hat einen Wert zwischen der Versorgungsspannung Vcc
und der Massespannung Vss. Die Seitenpuffersteuereinheit 290 legt
die Steuersignale und dergleichen an die entsprechenden Blöcke des
Seitenpuffers an.
-
Entsprechende
interne Schaltungsstrukturen der ersten bis dritten Zwischenspeicherschaltung 210, 220 und 230,
der Bitleitungsspannungsversorgungsschaltung 240 und der
Vorladeschaltung 250 gemäß einer Ausführungsform
der vorliegenden Erfindung und ihre Funktionsprinzipien werden nachfolgend
unter Bezugnahme auf 3 detailliert beschrieben.
-
3 zeigt
im Schaltbild einen beispielhaften Seitenpuffer 200 gemäß Ausführungsformen
der vorliegenden Erfindung. Während
des Lesevorgangs wirkt der Seitenpuffer 200 als Mittel
zum Detektieren und Verstärken
von Informationen, welche an einer korrespondierenden Bitleitung
anliegen. Während des
Programmiervorgangs wirkt der Seitenpuffer 200 als Möglichkeit
zum Zwischenspeichern von externen Daten und zum Versorgen der korrespondierenden
Bitleitung mit einer Spannung, welche mit den zwischengespeicherten
Daten korrespondiert. Zusätzlich
wirkt der Seitenpuffer 200 während eines Programmierverifizierungsvorgangs
als Möglichkeit zum
Verifizieren, ob die Programmierung ordnungsgemäß ausgeführt worden ist oder nicht.
-
Wie
aus 3 ersichtlich ist, umfasst der Seitenpuffer 200 die
drei Zwischenspeicherschaltungen 210, 220 und 230,
welche voneinander verschiedene Funktionen ausführen, und die Bitleitungsspannungsversorgungsschaltung 240 zum
Versorgen der Bitleitung mit einer vorbestimmten Spannung. Die Zwischenspeicherschaltungen 210, 220 und 230 umfassen
jeweils Zwischenspeicher Q1, Q2 bzw. Q3, von denen jeder mit zwei
Invertern ausgestattet ist, die über
Kreuz miteinander verbunden sind. Möglichkeiten zur Initialisierung
von Knoten A, D und G, bevor die Lese- und Programmiervorgänge ausgeführt werden,
werden an den Knoten A, D und G der Zwischenspeicher Q1, Q2 und
Q3 zur Verfügung
gestellt. Gates der NMOS-Transistoren T2, T18 und T21 werden auf
einen niedrigen Pegel „L" initialisiert, wenn Rücksetzsignale
RESET_M, RESET_S und RESET_C einen hohen Pegel (H) annehmen. Hierbei werden
Zwischenspeicherrücksetzschaltungen
zum Setzen der anderen Knoten B, C und F auf einen niedrigen Pegel
(L) an den anderen Knoten B, C und F der Zwischenspeicherschaltungen
Q1, Q2 und Q3 zur Verfügung
gestellt. Die Zwischenspeicherrücksetzschaltungen
werden unten beschrieben.
-
Die
erste Zwischenspeicherschaltung 210 umfasst den ersten
Zwischenspeicher Q1 und die ersten Zwischenspeicherrücksetzschaltung.
Der erste Zwischenspeicher Q1 ist aus zwei Invertern und die erste
Zwischenspeicherrücksetzschaltung
ist aus NMOS-Transistoren T3 bis T7 gebildet. Ein Strompfad T5-T6-T7
oder T5-T3-T4 der NMOS-Transistoren
T3 bis T7 ist in Reihe zwischen den Knoten C des ersten Zwischenspeichers
Q1 und Masse GND eingeschleift. Ein Gate des NMOS-Transistors T5
ist mit dem Knoten E verbunden. Gates der Transistoren T3 und T6
sind mit den Knoten B bzw. A des zweiten Zwischenspeichers Q2 verbunden
und die Transistoren T3 und T6 werden gemäß jedem Knoten des zweiten
Zwischenspeichers Q2 leitend oder sperrend geschaltet. Das erste
Zwischenspeichersignal LCH_MR und das zweite Zwischenspeichersignal LCH_MS
werden an die Gates der NMOS-Transistoren T4 bzw. T7 angelegt.
-
Die
zweite Zwischenspeicherschaltung 220 umfasst den zweiten
Zwischenspeicher Q2 und die zweite Zwischenspeicherrücksetzschaltung.
Der zweite Zwischenspeicher Q2 ist aus zwei Invertern und die zweite
Zwischenspeicherrücksetzschaltung ist
aus den NMOS-Transistoren T15 bis T17 gebildet. Ein Strompfad T15-T16-T7
der NMOS-Transistoren T15 bis T17 ist in Reihe zwischen dem Knoten
B des zweiten Zwischenspeichers Q2 und Masse GND eingeschleift.
Ein Gate des NMOS-Transistors T15 ist mit dem Knoten E verbunden.
Das dritte Zwischenspeichersignal LCH_S wird an die Gates der NMOS-Transistoren
T16 und T17 angelegt.
-
Die
dritte Zwischenspeicherschaltung 230 umfasst den dritten
Zwischenspeicher Q3 und die dritte Zwischenspeicherrücksetzschaltung.
Der dritte Zwischenspeicher Q3 ist aus zwei Invertern und die dritte
Zwischenspeicherrücksetzschaltung
ist aus den NMOS-Transistoren T19 und T20 gebildet. Ein Strompfad
der Transistoren T19 und T20 ist in Reihe zwischen dem Knoten F
des dritten Zwischenspeichers Q3 und Masse GND eingeschleift. Ein
Gate des NMOS-Transistors T19 ist mit dem Knoten D der ersten Zwischenspeicherschaltung 210 verbunden und
daher wird der Transistor T19 gemäß dem Knoten D leitend oder
sperrend geschaltet. Das zweite Knotensignal PCLOAD wird an das
Gate des NMOS-Transistors T20 angelegt. Ist das zweite Ladesignal
PCLOAD in einem Zustand, in welchem der Knoten D auf einem hohen Pegel
ist, auf einem hohen Pegel, dann wird der Knoten F auf einen niedrigen
Pegel gesetzt. Die dritte Zwischenspeicherschaltung 230 unterstützt zudem
eine Cachefunktion. Die Cachefunktion wird benutzt, um als nächstes zu
programmierende Daten in den Seitenpuffer zu laden, während vorher
geladene Daten programmiert werden, oder um abgetastete Daten während eines
Datenabtastvorgangs nach extern auszugeben.
-
Wie
aus 3 ersichtlich ist, umfasst die Bitleitungsspannungsversorgungsschaltung 240 eine
erste Spannungsversorgungsleitung zum Verhindern des Programmiervorgangs
durch Bilden eines Strompfades T8-T9 zwischen dem Knoten E und der Versorgungsspannung
Vcc, eine zweite Spannungsversorgungsleitung zum Durchführen des
Programmiervorgangs durch Bilden eines Strompfades T10-T11-T12 zwischen
dem Knoten E und einer Referenzmassespannung Vss und eine dritte
Spannungsversorgungsleitung zum Durchführen des Programmiervorgangs
durch Bilden eines Strompfades T10-T13-T14 zwischen dem Knoten E
und der variablen Spannung BLPWR.
-
Die
erste Spannungsversorgungsleitung ist mit zwei PMOS-Transistoren
T8 und T9 gebildet. Der PMOS-Transistor T8 wird vom Knoten C und
der PMOS-Transistor T9 wird von einem ersten Steuersignal VBL1 gesteuert.
Wird das erste Steuersignal VBL1 auf einen niedrigen Pegel gesetzt,
wenn der Knoten C auf einem niedrigen Pegel ist, dann wird die Versorgungsspannung
Vcc an die Bitleitung angelegt, so dass die Programmierung der ausgewählten Zelle
verhindert wird. In anderen Worten ausgedrückt, die Schwellwertspannung
der Speicherzelle wird nicht verändert.
-
Die
zweite Spannungsversorgungsleitung ist mit drei NMOS-Transistoren T10,
T11 und T12 gebildet. Die NMOS-Transistoren T10, T11 und T12 werden
vom Knoten C, vom Knoten B bzw. von einem zweiten Steuersignal VBL2
gesteuert. Wird das zweite Steuersignal VBL2 in einem Zustand, in
dem die Knoten C und B beide auf einem hohen Pegel sind, auf einen
hohen Pegel gesetzt, dann wird die Massereferenzspannung Vss an
die Bitleitung angelegt, so dass die Programmierung der ausgewählten Speicherzelle
durchgeführt
wird. In anderen Worten ausgedrückt,
die Schwellwertspannung der Speicherzelle wird erhöht.
-
Die
dritte Spannungsversorgungsleitung ist mit drei NMOS-Transistoren
T10, T13 und T14 gebildet. Die NMOS-Transistoren T10, T13 und T14
werden vom Pegel am Knoten C, vom Pegel am Knoten A bzw. vom zweiten
Steuersignal VBL2 gesteuert. Wird das zweite Steuersignal VBL2 in
einem Zustand, in dem die Knoten C und A beide auf einem hohen Pegel
sind, auf einen hohen Pegel gesetzt, dann wird die variable Spannung
BLPWR an die Bitleitung angelegt, so dass die Programmierung der ausgewählten Zelle
durchgeführt
wird. In anderen Worten ausgedrückt,
die Schwellwertspannung der Speicherzelle wird erhöht. Hierbei
ist die variable Spannung BLPWR eine Spannung, welche an die Bitleitung über die
dritte Spannungsversorgungsleitung angelegt wird, und eine Spannung,
die angelegt wird, wenn die Speicherzelle während des MSB-Programmiervorgangs
vom Pegel [10] auf den Pegel [00] programmiert wird.
-
Wie
aus 3 ersichtlich ist, wird die Vorladeschaltung 250 bereitgestellt,
um die Vorladespannung an die Bitleitung oder den Knoten E anzulegen. Die
Vorladeschaltung 250 ist mit einem PMOS-Transistor T1 ausgestattet
und wird vom ersten Ladesignal PLOAD gesteuert. Nimmt das erste
Ladesignal PLOAD einen niedrigen Pegel an, dann wird die Versorgungsspannung
Vcc an den Knoten E angelegt, so dass die NMOS-Transistoren T5 und
T15 der ersten und zweiten Zwischenspeicherrücksetzschaltung leitend geschaltet
werden.
-
Nachfolgend
werden die Lese- und Programmiervorgänge des Flashspeicherbauelements
gemäß Ausführungsformen
der vorliegenden Erfindung unter Bezugnahme auf die begleitenden
Zeichnungen beschrieben, beginnend mit der Erläuterung eines MLC-Lesevorgangs.
-
4 zeigt
ein Diagramm, welches Zustände
von Datenbits korrespondierend mit den Schwellwertspannungsverteilungen
der Speicherzelle darstellt. Entsprechende Datenbits werden unterschiedlich
um ein Bit verändert,
verglichen mit ihren benachbarten Datenbits. Entsprechend nehmen
die Datenbits unter der Annahme, dass diejenigen, die der niedrigsten
Schwellwertspannungsverteilung entsprechen, den Wert [11] haben,
die Werte [11], [10], [00] und [01] an.
-
5 zeigt
ein Diagramm, welches Spannungspegel veranschaulicht, die an die
ausgewählte oder
nicht ausgewählte
Wortleitung angelegt werden. Die Wortleitungsspannung wird von der
Wortleitungsspannungsversorgungsschaltung 270 aus 2 angelegt.
So werden beispielsweise die Spannung Vrd1 von 0 V, die Spannung
Vrd2 von 1 V und die Spannung Vrd3 von 2 V während des Lesevorgangs an die ausgewählte Wortleitung
angelegt und die Spannung Vread von 6 V wird an die nicht ausgewählte Wortleitung
angelegt.
-
Ob
die Speicherzelle eine leitend geschaltete Zelle oder eine sperrend
geschaltete Zelle ist, wird durch die an die ausgewählte Wortleitung
während eines
Lesevorgangs angelegte Spannung bestimmt. Ist die Wortleitungsspannung
höher als
die Schwellwertspannung, dann wird die Speicherzelle eine gesperrt
geschaltete Speicherzelle, wodurch die Bitleitung vorgeladen wird.
Ist die Wortleitungsspannung niedriger als die Schwellwertspannung,
dann wird die Speicherzelle eine leitend geschaltete Speicherzelle, wodurch
die Bitleitung entladen wird.
-
Wie
aus 5 ersichtlich ist, wird der Lesevorgang in einen
LSB-Lesevorgang
und einen MSB-Lesevorgang aufgeteilt. Während des LSB-Lesevorgangs
wird die Spannung Vrd3, z. B. 2 V, an die ausgewählte Wortleitung angelegt,
dann wird die Spannung Vrd1 angelegt, z. B. 0 V. Gleichzeitig wird die
Spannung Vread, z. B. 6 V, an die nicht ausgewählte Wortleitung angelegt.
Während
des MSB-Lesevorgangs wird die Spannung Vrd2, z. B. 1 V, an die ausgewählte Wortleitung
und die Spannung Vread, z. B. 6 V, an die nicht ausgewählte Wortleitung
angelegt.
-
Die 6 und 7 zeigen
Zeitablaufpläne des
Lesevorgangs gemäß Ausführungsformen
der vorliegenden Erfindung. Der Lesevorgang wird durch Ausführung des
LSB-Lesevorgangs und des MSB-Lesevorgangs umgesetzt. Der LSB-Lesevorgang
wird durch einen LSB1-Lesevorgang und einen LSB2-Lesevorgang, welche
nacheinander ausgeführt
werden, und durch Ausgabe der LSB-Daten umgesetzt. Während des
LSB1-Lesevorgangs
wird die Wortleitungsspannung Vrd3 an die ausgewählte Wortleitung angelegt.
Während
des LSB2-Lesevorgangs wird die Wortleitungsspannung Vrd1 an die ausgewählte Wortleitung
angelegt. Der MSB-Lesevorgang wird nach dem LSB-Lesevorgang ausgeführt. Während des
MSB-Lesevorgangs werden die Wortleitungsspannung Vrd2 angelegt und
die MSB-Daten ausgegeben. Die MSB-Ausgabedaten und die LSB-Ausgabedaten
sind Datenbits, welche in die Speicherzelle programmiert werden.
-
6 zeigt
einen Zeitablaufplan des LSB-Lesevorgangs. Wie aus 6 ersichtlich
ist, werden zuerst die beiden Zwischenspeicher Q1 und Q2 zurückgesetzt.
In anderen Worten ausgedrückt, werden,
wenn das erste Rücksetzsignal
RESET_M und das zweite Rücksetzsignal
RESET_S einen hohen Pegel annehmen, um die NMOS-Transistoren T2 und
T18 leitend zu schalten, die Knoten A und D auf einen niedrigen
Pegel gesetzt und die Knoten B und C werden auf einen hohen Pegel
gesetzt. Da die Knoten B und C auf hohem Pegel sind, werden die NMOS- Transistoren T10
und T11 leitend geschaltet. Hierbei wird der NMOS-Transistor T12 leitend
geschaltet, wenn das zweite Steuersignal VBL2 einen hohen Pegel
annimmt, so dass die Bitleitung entladen wird. Als Konsequenz wird
der Knoten E auf einen niedrigen Pegel gesetzt.
-
Ist
das erste Ladesignal PLOAD auf einen niedrigen Pegel gesetzt, während das
zweite Steuersignal VBL2 auf einem niedrigen Pegel ist, dann ist der
PMOS-Transistor T1 leitend geschaltet und der NMOS-Transistor T12
ist sperrend geschaltet, so dass die Bitleitung vorgeladen wird.
Hierbei wird der Knoten E auf einen hohen Pegel gesetzt. Dann wird der
LSB1-Lesevorgang ausgeführt.
Die Spannung Vrd3, z. B. 2 V, wird an die ausgewählte Wortleitung angelegt und
die Spannung Vread, z. B. 6 V, wird an die nicht ausgewählte Wortleitung
angelegt.
-
Entsprechen
die Daten der ausgewählten Speicherzelle
dem Wert [01], dann liegt die Schwellwertspannungsverteilung des
Zellentransistors zwischen 2,3 V bis 2,7 V, so dass der Zellentransistor sperrend
geschaltet ist. Entsprechend wird der Knoten E auf hohem Pegel gehalten
und der NMOS-Transistor T15 wird leitend geschaltet. Hierbei werden
die NMOS-Transistoren T16 und T17 leitend geschaltet, wenn das dritte
Zwischenspeichersignal LCH_S auf einen hohen Pegel gesetzt ist,
so dass die Knoten B und A auf einen niedrigen bzw. hohen Pegel
geändert
werden.
-
Entsprechen
die Daten der ausgewählten Speicherzelle
dem Wert [00], dann liegt die Schwellwertspannungsverteilung des
Zellentransistors zwischen 1,3 V bis 1,7 V, so dass der Zellentransistor
leitend geschaltet ist. Entsprechend wird der Knoten E auf einen
niedrigen Pegel geändert.
Da hierbei der NMOS-Transistor T15 sperrend geschaltet wird, werden
die Knoten B und A auf hohem Pegel bzw. niedrigem Pegel gehalten,
auch wenn das dritte Zwischenspeichersignal LCH_S auf einen hohen Pegel gesetzt
wird. Die Fälle,
dass die Speicherzelle den Wert [10] bzw. [11] enthält, entsprechen
dem Fall mit dem Wert [00].
-
Gemäß dem LSB1-Lesevorgang
wird die Spannung Vrd3 an die ausgewählte Wortleitung angelegt und
die Daten werden im zweiten Zwischenspeicher Q2 gespeichert. Entsprechen
die Daten der ausgewählten
Speicherzellen den Werten [11], [10], [00] oder [01], dann nimmt
der Knoten B des zweiten Zwischenspeichers Q2 einen hohen Pegel,
einen hohen Pegel, einen hohen Pegel bzw. einen niedrigen Pegel
an.
-
Wie
aus 6 ersichtlich ist, wird das erste Ladesignal PLOAD
wieder auf einen niedrigen Pegel gesetzt. Hierbei wird der PMOS-Transistor
T1 leitend geschaltet, so dass die Bitleitung vorgeladen wird. Der
Knoten E wird auf einen hohen Pegel gesetzt, so dass die NMOS-Transistoren
T5 und T15 leitend geschaltet werden. Danach wird der LSB2-Lesevorgang
ausgeführt.
Die Spannung Vrd1, z. B. 0 V, wird an die ausgewählte Wortleitung angelegt und
die Spannung Vread, z. B. 6 V, wird an die nicht ausgewählte Wortleitung
angelegt.
-
Entsprechen
die Daten der ausgewählten Speicherzellen
den Werten [01], [00] oder [10], dann sind die Schwellwertspannungsverteilungen
des Zellentransistors zwischen 2,3 V bis 2,7 V, zwischen 1,3 V bis
1,7 V bzw. zwischen 0,3 V bis 07 V, so dass die Zellentransistoren
sperrend geschaltet werden. Entsprechend wird der Knoten E auf hohem
Pegel gehalten, so dass die NMOS-Transistoren T5 und T15 leitend
geschaltet werden. Hierbei wird der NMOS-Transistor T4 ebenfalls
leitend geschaltet, wenn das erste Zwischenspeichersignal LCH_MR auf
einen hohen Pegel gesetzt ist.
-
Andererseits
werden die NMOS-Transistoren T16 und T17 sperrend geschaltet, da
das dritte Zwischenspeichersignal LCH_S auf einem niedrigen Pegel
ist. Entsprechend wird der Knoten B auf dem vorherigen Zu stand gehalten.
In anderen Worten ausgedrückt,
der Knoten B ist auf einem niedrigen Pegel, wenn die Daten der ausgewählten Speicherzelle
den Wert [01] haben, und der Knoten B ist auf einem hohen Pegel,
wenn die Daten der ausgewählten
Speicherzelle den Wert [00] oder [10] haben. Ist der Knoten B auf
einem niedrigen Pegel, d. h. haben die Daten der ausgewählten Speicherzelle
den Wert [01], dann wird der NMOS-Transistor T3 sperrend geschaltet, so
dass der Knoten C seinen vorherigen Zustand, d. h. den hohen Pegel,
beibehält.
Ist der Knoten B jedoch auf einem hohen Pegel, d. h. haben die Daten
der ausgewählten
Speicherzelle den Wert [00] oder [10], dann wird der NMOS-Transistor
T3 leitend geschaltet, so dass der Knoten C auf einen niedrigen Pegel
geändert
wird.
-
Gemäß dem LSB2-Lesevorgang
wird die Spannung Vrd3 an die ausgewählte Wortleitung angelegt und
die Daten werden im ersten Zwischenspeicher Q2 gespeichert. Entsprechen
die Daten der ausgewählten
Speicherzellen den Werten [11], [10], [00] und [01], dann nimmt
der Knoten C des ersten Zwischenspeichers Q1 einen hohen Pegel,
einen niedrigen Pegel, einen niedrigen Pegel bzw. einen hohen Pegel
an. Als Konsequenz nimmt der Knoten D einen niedrigen Pegel, einen
hohen Pegel, einen hohen Pegel bzw. einen niedrigen Pegel an.
-
Wie
aus 6 ersichtlich ist, wird ein Ausgabevorgang der
LSB-Daten ausgeführt.
Zuerst nehmen, wenn das dritte Rücksetzsignal
RESET_C auf einen hohen Pegel gesetzt wird, um den NMOS-Transistor
T21 leitend zu schalten, der Knoten G einen niedrigen Pegel und
der Knoten F einen hohen Pegel an. Dann wird der NMOS-Transistor T20
leitend geschaltet, wenn das zweite Lastsignal PCLOAD auf einen
hohen Pegel gesetzt wird. Hierbei wird, wenn der Knoten D des ersten
Zwischenspeichers Q1 auf einem hohen Pegel ist, d. h. die Daten der
ausgewählten
Speicherzelle den Wert [10] oder [00] haben, der NMOS-Transistor
T19 leitend geschaltet, so dass die Knoten F und G auf einen niedrigen
Pe gel bzw. hohen Pegel geändert
werden. Ist der Knoten D des ersten Zwischenspeichers Q1 auf einem
niedrigen Pegel, d. h. die Daten der ausgewählten Speicherzelle haben den
Wert [11] oder [01], dann wird der NMOS-Transistor T19 sperrend
geschaltet, so dass die Knoten F und G auf hohem bzw. niedrigem
Pegel gehalten werden.
-
Entsprechend
nimmt, wenn die Daten der ausgewählten
Speicherzellen den Wert [11], [01], [00] oder [10] haben, der Knoten
G des dritten Zwischenspeichers Q3 jeweils einen niedrigen Pegel,
einen hohen Pegel, einen hohen Pegel bzw. einen niedrigen Pegel
an. Hierbei werden die Daten am Knoten G über die Datenleitung IO ausgegeben,
wenn ein Eingabe-/Ausgabesteuersignal DI auf einen hohen Pegel gesetzt
wird. Ein hoher Pegel, ein niedriger Pegel, ein niedriger Pegel
bzw. ein hoher Pegel wird nach extern ausgelesen, was den invertierten
Daten vom Knoten G entspricht. Diese sind gleich den entsprechenden
LSB-Daten der ausgewählten
Speicherzellen, d. h. 1, 0, 0, 1 (H, L, L, H).
-
7 zeigt
einen beispielhaften Zeitablaufplan des MSB-Lesevorgangs gemäß einer
Ausführungsform
der Erfindung. Im Gegensatz zum LSB-Lesevorgang gibt der MSB-Lesevorgang
Daten durch alleiniges Nutzen des ersten Zwischenspeichers aus.
-
Wie
aus 7 ersichtlich ist, beginnt der MSB-Lesevorgang
mit einem Rücksetzschritt
des ersten Zwischenspeichers Q1. In anderen Worten ausgedrückt, werden,
wenn das erste Rücksetzsignal
RESET_M einen hohen Pegel annimmt, um den NMOS-Transistor T2 leitend
zu schalten, der Knoten D auf einen niedrigen Pegel gesetzt und
der Knoten C auf einen hohen Pegel gesetzt. Da der Knoten C auf
hohem Pegel ist, wird der NMOS-Transistor T10 leitend geschaltet.
Hierbei werden die NMOS-Transistoren
T12 und T14 leitend geschaltet, wenn das zweite Steuersignal VBL2
einen hohen Pegel annimmt. Andererseits wird, da die Knoten A und
B des zweiten Zwischenspeichers einen unbekannten Zu stand aufweisen,
einer der NMOS-Transistoren T11 oder T13 leitend geschaltet. Entsprechend
wird die Bitleitung entladen, so dass der Knoten E auf einen niedrigen
Pegel gesetzt wird.
-
Das
erste Ladesignal PLOAD ist auf einen niedrigen Pegel gesetzt. Hierbei
wird der PMOS-Transistor T1 leitend geschaltet, so dass die Bitleitung
vorgeladen wird. Der Knoten E wechselt auf einen hohen Pegel. Dann
wird der MSB-Lesevorgang ausgeführt.
Die Spannung Vrd2, z. B. 1 V, wird an die ausgewählte Wortleitung angelegt und
die Spannung Vread, z. B. 6 V, wird an die nicht ausgewählte Wortleitung
angelegt.
-
Entsprechen
die Daten der ausgewählten Speicherzelle
dem Wert [01] oder [00], dann liegen die Schwellwertspannungsverteilungen
des Zellentransistors zwischen 2,3 V bis 2,7 V bzw. zwischen 1,3
V bis 1,7 V, so dass der Zellentransistor sperrend geschaltet ist.
Entsprechend wird der Knoten E auf hohem Pegel gehalten und der
NMOS-Transistor T5 wird leitend geschaltet. Hierbei werden die NMOS-Transistoren
T4 und T7 leitend geschaltet, wenn das erste Zwischenspeichersignal
LCH_MR und das zweite Zwischenspeichersignal LCH_MS auf einen hohen
Pegel gesetzt sind. Andererseits sind die Knoten A und B des zweiten
Zwischenspeichers Q2 in einem unbekannten Zustand, so dass einer
der NMOS-Transistoren T3 und T6 leitend geschaltet wird. Entsprechend
wechseln die Knoten C und D auf einen niedrigen bzw. einen hohen
Pegel.
-
Entsprechen
die Daten der ausgewählten Speicherzelle
dem Wert [10] oder [11] dann liegen die Schwellwertspannungsverteilungen
des Zellentransistors zwischen 0,3 V bis 0,7 V bzw. auf –2,7 V oder weniger,
so dass der Zellentransistor leitend geschaltet wird. Entsprechend
wird der Knoten E auf einen niedrigen Pegel geändert. Da hierbei der NMOS-Transistor T5 sperrend
geschaltet wird, werden die Knoten C und D auf einem hohen Pegel
bzw. niedrigen Pegelgehalten, auch wenn das erste Zwischenspeichersignal
LCH_MR und das zweite Zwischenspeichersignal LCH_MS beide auf einen
hohen Pegel gesetzt sind.
-
Gemäß dem MSB-Lesevorgang
wird die Spannung Vrd2 an die ausgewählte Wortleitung angelegt und
die Daten werden im ersten Zwischenspeicher Q1 gespeichert. Entsprechen
die Daten der ausgewählten
Speicherzellen dem Wert [11], [10], [00] oder [01], dann nimmt der
Knoten C des ersten Zwischenspeichers Q1 einen hohen Pegel, einen
hohen Pegel, einen niedrigen Pegel bzw. einen niedrigen Pegel an.
Als Konsequenz nimmt der Knoten D einen niedrigen Pegel, einen niedrigen
Pegel, einen hohen Pegel bzw. einen hohen Pegel an.
-
Wie
aus 7 ersichtlich ist, wird ein beispielhafter Ausgabevorgang
der MSB-Daten ausgeführt.
Zuerst nimmt, wenn das dritte Rücksetzsignal RESET_C
auf einen hohen Pegel gesetzt wird, um den NMOS-Transistor T21 leitend zu schalten,
der Knoten G einen niedrigen Pegel und der Knoten F einen hohen
Pegel an. Dann wird der NMOS-Transistor
T20 leitend geschaltet, wenn das zweite Ladesignal PCLOAD auf einen
hohen Pegel gesetzt wird. Hierbei wird, wenn der Knoten D des ersten
Zwischenspeichers Q1 auf einem hohen Pegel ist, d. h. die gespeicherten
Daten den Wert [00] oder [01] haben, der NMOS-Transistor T19 leitend geschaltet, so dass
die Knoten F und G auf einen niedrigen Pegel bzw. hohen Pegel geändert werden.
Ist der Knoten D des ersten Zwischenspeichers Q1 auf einem niedrigen
Pegel, d. h. die gespeicherten Daten haben den Wert [10] oder [11],
dann wird der NMOS-Transistor T19 sperrend geschaltet, so dass die
Knoten F und G auf hohem bzw. niedrigem Pegel verbleiben.
-
Entsprechend
nimmt, wenn die Daten der ausgewählten
Speicherzellen den Wert [11], [10], [00] oder [01] haben, der Knoten
G des dritten Zwischenspeichers Q3 einen niedrigen Pegel, einen
niedrigen Pegel, einen hohen Pegel bzw. einen hohen Pegel an. Hierbei
werden die Daten am Knoten G über
die Datenleitung IO ausgegeben, wenn ein Eingabe/Ausgabesteuersignal
DI auf einen hohen Pegel gesetzt wird. Ein hoher Pegel, ein hoher
Pegel, ein niedriger Pegel bzw. ein niedriger Pegel werden ausgelesen, was
den invertierten Daten des Knotens G entspricht. Diese sind gleich
den MSB-Daten der ausgewählten Speicherzellen,
d. h. 1, 1, 0 und 0 (H, H, L und L).
-
Als
Konsequenz wird der MLC-Lesevorgang durch sequentielles Ausführen des
Lesevorgangs der LSB-Daten (1, 0, 0, 1) und des Lesevorgangs der MSB-Daten
(1, 1, 0, 0) umgesetzt. Die Daten der Mehrpegelzelle können aus
den Ergebnissen detektiert werden.
-
Der
MLC-Programmiervorgang umfasst den Programmierprozess, bei dem Elektronen
in die floatenden Gates der ausgewählten Speicherzellentransistoren
injiziert werden, und einen Programmierverifizierungsprozess zum
Verifizieren, ob die programmierten Speicherzellentransistoren gewünschte Schwellwertspannungen
erreichen. Der Programmiervorgang wird wiederholend ausgeführt, bis
die ausgewählten
Speicherzellen die gewünschten Schwellwertspannungspegel
erreichen. Zur Vereinfachung wird auf eine Beschreibung des wiederholten Programmiervorgangs
verzichtet und angenommen, dass die ausgewählte Speicherzelle den gewünschten
Schwellwertspannungspegel durch einen einmaligen Programmiervorgang
erreicht.
-
Um
die ausgewählten
Speicherzellen unter Verwendung von F-N-Tunneln zu programmieren, wird eine
vorbestimmte Programmierspannung, z. B. 14 V bis 19 V, an die Gates
der korrespondierenden Speicherzellen angelegt und eine Massespannung Vss
oder eine vorbestimmte Spannung wird an die Kanäle der korrespondierenden Speicherzellen
angelegt. Entsprechend wird ein hohes elektrisches Feld zwischen
den floatenden Gates und den Kanälen
der zu programmierenden Speicherzellen ausgebildet. Durch das elektrische
Feld tritt ein Tunneln auf, bei welchem die Elektronen der Kanäle durch
die Oxidschichten zwischen den floatenden Gates und den Kanälen passieren.
Daher werden die Elektronen an den floatenden Gates der korrespondierenden
Speicherzellen gesammelt und die Schwellwertspannungen der zu programmierenden
Speicherzellen erhöhen
sich durch die Ansammlung der Elektronen an den floatenden Gates.
Hierbei wird die Versorgungsspannung Vcc an die Kanäle der korrespondierenden
Speicherzellen angelegt, um die Programmierung zu verhindern.
-
8A zeigt
graphisch ein Konzept des Programmierverfahrens gemäß Ausführungsformen
der vorliegenden Erfindung. Das beschriebene Programmierverfahren
wird in einen LSB-Programmiervorgang und einen MSB-Programmiervorgang
aufgeteilt. Zuerst wird der LSB-Programmiervorgang ausgeführt, um
nur das LSB zu verändern.
In anderen Worten ausgedrückt, ändert, wenn
die LSB-Daten mit einem Wert von „0" programmiert werden sollen, der LSB-Programmiervorgang
die gespeicherten Daten von [11] zu [10]. Ansonsten verbleiben die
gespeicherten Daten auf dem Wert [11]. Danach detektiert der MSB-Programmiervorgang
das Ergebnis des LSB-Programmiervorgangs und führt den MSB-Programmiervorgang gemäß dem Detektionsergebnis aus.
Wird ein LSB mit dem Wert „1" detektiert, und die
zu programmierenden MSB-Daten haben den Wert „0", dann ändert der MSB-Programmiervorgang den
Datenspeicherzustand von [10] zu [01]. Ansonsten verbleibt der Datenspeicherzustand
auf dem Wert [11]. Wird ein LSB mit dem Wert „0" detektiert, und die zu programmierenden
MSB-Daten haben den Wert „0", dann ändert der
MSB-Programmiervorgang den Datenspeicherzustand von [10] zu [00].
Ansonsten verbleibt der Datenspeicherzustand auf dem Wert [10].
Entsprechend diesem Programmierverfahren gemäß Ausführungsformen der Erfindung
können alle
Datenbitzustände
durch nur zwei Programmiervorgänge
programmiert werden.
-
8B zeigt
ein Diagramm, welches die Spannungspegel veranschaulicht, die an
die ausgewählten
oder nicht ausgewählten
Wortleitungen angelegt werden. Die Wortleitungsspannung wird von der
Wortleitungsspannungsversorgungsschaltung 270 aus 2 angelegt.
Beim Programmiervorgang ist die bei dem LSB-Programmiervorgang an
die Wortleitung angelegte Spannung von der bei dem MSB-Programmiervorgang
angelegten Spannung verschieden. Die Spannung VPGM1, die bei einem LSB-Vorgang
an die Wortleitung angelegt wird, beginnt beispielsweise bei 14
V und die Spannung VPGM2, die bei einem MSB-Programmiervorgang an die
Wortleitung angelegt wird, beginnt bei 16 V. Die Spannung Vpass
von 10 V wird an die nicht ausgewählte Wortleitung angelegt.
-
Die 9 und 10 zeigen
Zeitablaufpläne
eines Programmiervorgangs gemäß Ausführungsformen
der vorliegenden Erfindung.
-
Der
Programmiervorgang wird in die LSB-Programmierperiode und die MSB-Programmierperiode
aufgeteilt. Der LSB-Programmiervorgang wird durch Anlegen der ersten
Bitleitungsspannung, d. h. Vcc oder Vss, an die Bitleitung gemäß den zu
programmierenden LSB-Daten umgesetzt. Der MSB-Programmiervorgang
wird durch Auslesen der programmierten LSB-Daten und durch Anlegen
der zweiten Bitleitungsspannung, d. h. Vss oder BLPWR, an die Bitleitung
gemäß den gelesenen
LSB-Daten umgesetzt.
-
Eine
bemerkenswerte Eigenschaft des Programmiervorgangs gemäß Ausführungsformen
der vorliegenden Erfindung besteht darin, dass die variable Spannung
BLPWR beim MSB-Programmiervorgang an die Bitleitung angelegt wird
und der Programmiervorgang durch einen einmaligen LSB-Programmiervorgang
und einen einmaligen MSB-Programmiervorgang ausgeführt wird.
Der LSB-Programmiervorgang und der MSB- Programmiervorgang werden nachfolgend
unter Bezugnahme auf die 9 und 10 im
Detail beschrieben.
-
9 zeigt
einen Zeitablaufplan eines beispielhaften LSB-Programmiervorgangs.
Der LSB-Programmiervorgang beginnt mit einem Zurücksetzen des dritten Zwischenspeichers
Q3 aus 3. Ist das dritte Rücksetzsignal RESET C auf einen
hohen Pegel gesetzt, um den NMOS-Transistor
T21 leitend zu schalten, dann nehmen die Knoten G und F einen niedrigen
Pegel bzw. einen hohen Pegel an.
-
Dann
werden externe Daten in den Knoten G geladen, wenn das Eingabe-/Ausgabesteuersignal DI
auf einen hohen Pegel gesetzt ist, um den NMOS-Transistor T23 leitend
zu schalten. Entsprechen die in die ausgewählten Speicherzellen zu programmierenden
Daten beispielsweise dem Wert [11], [10], [00] oder [01], dann sind
die in den Knoten G geladenen Daten gleich [00], [01], [11] bzw.
[10]. Hierbei werden, da die LSBs 0, 1, 1 und 0 sind, ein niedriger Pegel,
ein hoher Pegel, ein hoher Pegel bzw. ein niedriger Pegel in den
Knoten G geladen. Als Konsequenz nimmt der Knoten F einen hohen
Pegel, einen niedrigen Pegel, einen niedrigen Pegel bzw. einen hohen
Pegel an.
-
Dann
wird das erste Ladesignal PLOAD auf einen niedrigen Pegel gesetzt.
Der PMOS-Transistor T1 wird leitend geschaltet, so dass die Bitleitung
vorgeladen wird. Der Knoten E wird auf einen hohen Pegel gesetzt,
so dass der NMOS-Transistor T5 leitend geschaltet wird. Hierbei
werden die NMOS-Transistoren T4 und T7 leitend geschaltet, wenn
das erste Zwischenspeichersignal LCH_MR und das zweite Zwischenspeichersignal
LCH_MS auf hohen Pegel gesetzt werden. Da die Knoten A und B des
zweiten Zwischenspeichers Q2 in einem unbekannten Zustand sind,
wird einer der NMOS-Transistoren T3 oder T6 leitend geschaltet.
Entsprechend nehmen die Knoten C und D einen niedrigen bzw. einen
hohen Pegel an.
-
Ein
Ausgabe (Dump)-Vorgang der Daten vom Knoten G zum Knoten C wird
ausgeführt.
Wird das Dump-Steuersignal PDUMP auf einen hohen Pegel gesetzt,
dann wird der Transistor T25 leitend geschaltet. Entsprechen die
in die ausgewählten
Speicherzellen zu programmierenden Daten dem Wert [00] oder [10],
dann sind die in den Knoten G geladenen LSB-Daten auf einem hohen
Pegel, so dass der NMOS-Transistor T24 leitend geschaltet wird.
Entsprechend nehmen die Knoten D und C einen niedrigen Pegel bzw.
einen hohen Pegel an. Entsprechen die in die ausgewählten Speicherzellen
zu programmierenden Daten dem Wert [01] oder [11], dann sind die
in den Knoten G geladenen LSB-Daten auf einem niedrigen Pegel, so
dass der NMOS-Transistor T24 sperrend geschaltet wird. Entsprechend
werden die Knoten D und C auf hohem Pegel bzw. niedrigem Pegel gehalten.
-
Entsprechend
dem Ergebnis des oben beschriebenen Dump-Vorgangs werden, wenn die
in die ausgewählten
Speicherzellen zu programmierenden Daten dem Wert [11], [10], [00]
oder [01] entsprechen, die Daten 0, 1, 1 bzw. 0 in den Knoten C
ausgegeben.
-
Wie
aus 9 ersichtlich ist, wird ein Programmiervorgang
der LSB-Daten ausgeführt. Sind das
erste Steuersignal VBL1 und das zweite Steuersignal VBL2 auf einen
niedrigen Pegel bzw. auf einen hohen Pegel gesetzt, dann werden
der PMOS-Transistor T19 und die NMOS-Transistoren T12 und T14 leitend geschaltet.
Da die Knoten A und B des zweiten Zwischenspeichers Q2 in einem
unbekannten Zustand sind, wird einer der NMOS-Transistoren T11 oder
T13 leitend geschaltet. Hierbei wird der NMOS-Transistor T10 leitend
geschaltet, wenn der Knoten C auf einem hohen Pegel ist, so dass
der Knoten E auf einen niedrigen Pegel geändert wird. Ist der Knoten
C jedoch auf einem niedrigen Pegel, dann wird der PMOS-Transistor
T8 leitend geschaltet, so dass der Knoten E auf hohem Pegel gehalten
wird. Entsprechend nimmt der Knoten E einen hohen Pegel, einen niedrigen
Pegel, einen niedrigen Pegel bzw. einen hohen Pegel an, wenn die
in die ausgewählten
Speicherzellen zu programmierenden Daten dem Wert [11], [10], [00]
bzw. [01] entsprechen.
-
Da
die Bitleitung auf die Versorgungsspannung aufgeladen wird, wenn
der Knoten E auf hohem Pegel ist, wird die Programmierung der Speicherzelle verhindert.
Nur wenn der Knoten E auf niedrigem Pegel ist, d. h. der Massereferenzspannung,
wird die Programmierung der korrespondierenden Speicherzelle ausgeführt. Hierbei
wird eine Spannung von ungefähr
14 V an die Wortleitung angelegt. Eine an die Wortleitung angelegte
Spannung wird gemäß dem Verifizierungsergebnis
der Programmierzustände
sequenziell um ungefähr
0,2 V bis 0,3 V erhöht.
Entsprechend wird, wenn die zu programmierenden Daten dem Wert [10]
oder [00] entsprechen, die Programmierung durchgeführt und
die Schwellwertspannung der Speicherzelle wird erhöht. Die
Schwellwertspannungsverteilungen der Speicherzellen liegen dann
beispielsweise bei 0,3 V bis 0,7 V. Entsprechen die zu programmierenden
Daten jedoch dem Wert [11] oder [01], dann wird die Programmierung
verhindert, wodurch ein Zustand beibehalten wird, in dem die Schwellwertspannungsverteilungen
gelöscht werden,
beispielsweise ein Zustand von –2,7
V oder weniger.
-
Dann
wird der Programmierverifizierungsvorgang ausgeführt. Der Detektionsvorgang
für die Programmierverifizierung
ist weitgehend ähnlich
zum oben beschriebenen Lesevorgang. Um jedoch einen Spielraum zwischen
einer Spannung der ausgewählten
Wortleitung und der Schwellwertspannung während des Lesevorgangs sicherzustellen,
wird eine um ein vorgegebenes Maß, z. B. 0,2 V bis 0,3 V, höhere Spannung
als die während
des Lesevorgangs angelegte Spannung an die ausgewählte Wortleitung
angelegt.
-
10 zeigt
einen Zeitablaufplan des MSB-Programmiervorgangs. Der MSB-Programmiervorgang
beginnt mit einem Rücksetzschritt
des dritten Zwischenspeichers Q3. Wird das dritte Rücksetzsignal
RESET_C auf einen hohen Pegel gesetzt, um den NMOS-Transistor T21
leitend zu schalten, dann nehmen die Knoten G und F einen niedrigen Pegel
bzw. einen hohen Pegel an.
-
Dann
werden externe Daten in den Knoten G geladen, wenn das Eingabe-/Ausgabesteuersignal DI
auf einen hohen Pegel gesetzt ist und dadurch der NMOS-Transistor
T23 leitend geschaltet ist. Entsprechen die in die ausgewählten Speicherzellen
zu programmierenden Daten beispielsweise dem Wert [11], [10], [00]
oder [01], dann sind die in den Knoten G geladenen Daten gleich
[00], [01], [11] bzw. [10]. Hierbei werden, da die MSBs 0, 0, 1
und 1 sind, ein niedriger Pegel, ein niedriger Pegel, ein hoher
Pegel bzw. ein hoher Pegel in den Knoten G geladen. Als Konsequenz
wird der Knoten F auf einen hohen Pegel, einen hohen Pegel, einen
niedrigen Pegel bzw. einen niedrigen Pegel gesetzt.
-
Dann
nimmt das erste Ladesignal PLOAD einen niedrigen Pegel an. Hierbei
wird der PMOS-Transistor T1 leitend geschaltet und die Bitleitung
vorgeladen. Der Knoten E wird auf einen hohen Pegel gesetzt, um
den NMOS-Transistor T5 leitend zu schalten. Hierbei werden die NMOS-Transistoren T4
und T7 leitend geschaltet, wenn das erste Zwischenspeichersignal
LCH_MR und das zweite Zwischenspeichersignal LCH_MS auf einen hohen
Pegel gesetzt werden. Da die Knoten A und B des zweiten Zwischenspeichers
Q2 in einem unbekannten Zustand sind, wird einer der NMOS-Transistoren
T3 oder T6 leitend geschaltet. Entsprechend werden die Knoten C
und D auf einen niedrigen bzw. auf einen hohen Pegel gesetzt.
-
Dann
wird ein Dump-Vorgang der Daten vom Knoten G zum Knoten C ausgeführt. Wird
das Dump-Steuersignal PDUMP auf einen hohen Pe gel gesetzt, dann
wird der Transistor T25 leitend geschaltet. Entsprechen die in die
ausgewählten
Speicherzellen zu programmierenden Daten dem Wert [01] oder [00],
dann wird der NMOS-Transistor T24 leitend geschaltet, da die in
den Knoten G geladenen MSB-Daten gleich „1". sind, d. h. hohen Pegel haben. Entsprechend
werden die Knoten D und C in einen niedrigen Zustand bzw. in einen
hohen Zustand geändert.
Entsprechen die in die ausgewählten
Speicherzellen zu programmierenden Daten dem Wert [10] oder [11],
dann wird der NMOS-Transistor T24 sperrend geschaltet, da alle in
den Knoten G geladenen MSB-Daten gleich „0" sind, d. h. niedrigen Pegel haben.
Entsprechend werden die Knoten D und C auf einem hohen Pegel bzw.
einem niedrigen Pegel gehalten.
-
Entsprechend
dem Ergebnis des oben beschriebenen Dump-Vorgangs werden, wenn die
in die ausgewählten
Speicherzellen zu programmierenden Daten den Wert [111, [10], [00]
oder [01] haben, die Daten 0, 0, 1 bzw. 1 in den Knoten C ausgegeben.
-
Wie
aus 10 ersichtlich ist, wird ein Auslesevorgang der
durch den LSB-Programmiervorgang gespeicherten Speicherzellendaten
ausgeführt. Die
Lesedaten sind im zweiten Zwischenspeicher Q2 gespeichert. Vor dem
Lesevorgang wird das zweite Rücksetzsignal
RESET S auf einen hohen Pegel gesetzt, so dass die Knoten A und
B einen niedrigen bzw. einen hohen Pegel annehmen. Ist die Speicherzelle
durch den LSB-Programmiervorgang in einem Programmierzustand, dann
nimmt der Knoten E einen hohen Zustand an. Ist die Speicherzelle
in einem gelöschten
Zustand, dann nimmt der Knoten E einen niedrigen Pegel an.
-
Wird
das dritte Zwischenspeichersignal LCH_S auf einen hohen Pegel gesetzt,
dann werden die NMOS-Transistoren T16 und T17 leitend geschaltet.
Hierbei werden die Knoten A und B gemäß den Zuständen des Knotens E bestimmt.
Ist der Knoten E auf einem hohen Pegel, dann wird der NMOS-Transistor
T15 leitend geschaltet, so dass der Knoten B auf einen niedrigen
Pegel geändert
wird. Ist der Knoten E auf einem niedrigen Pegel, dann wird der
NMOS-Transistor T15 sperrend geschaltet, so dass der Knoten B auf
hohem Pegel gehalten wird. Entsprechend nimmt der Knoten B einen
hohen Pegel, einen niedrigen Pegel, einen niedrigen Pegel bzw. einen
hohen Pegel an, wenn die zu programmierenden Daten den Wert [11],
[10], [00] oder [01] haben.
-
Dann
wird der MSB-Programmiervorgang ausgeführt. Sind das erste Steuersignal
VBL1 und das zweite Steuersignal VBL2 auf einen niedrigen Pegel
bzw. auf einen hohen Pegel gesetzt, dann werden der PMOS-Transistor
T9 und die NMOS-Transistoren T12 und T14 leitend geschaltet.
-
Erstens
ist, wenn die zu programmierenden Daten den Wert [01] haben, das
Ergebnis des LSB-Programmiervorgangs der gelöschte Zustand, z. B. ein Zustand,
an dem die Schwellwertspannungsverteilung gleich –2,7 V oder
weniger ist. Da die Knoten B und C auf hohem Pegel sind, sind die NMOS-Transistoren
T10 und T11 leitend geschaltet, so dass der Knoten E die Massereferenzspannung annimmt.
Entsprechend ist die korrespondierende Speicherzelle ausreichend
programmiert, so dass die Schwellwertspannungsverteilung auf zwischen
ungefähr
2,3 V bis 2,7 V gelangt. In anderen Worten ausgedrückt, das
Ergebnis des MSB-Programmierungsvorgangs
ist, dass die gespeicherten Daten den Zustand [01] annehmen.
-
Zweitens
ist, wenn die zu programmierenden Daten den Wert [00] haben, das
Ergebnis des LSB-Programmiervorgangs der programmierte Zustand,
z. B. ein Zustand, bei dem die Schwellwertspannungsverteilung 0,3
V bis 0,7 V ist. Da die Knoten B und A auf einem niedrigen Pegel
bzw. auf einem hohen Pegel sind, ist der NMOS-Transistor T13 leitend
ge schaltet. Da der Knoten C auf einem hohen Pegel ist, ist der NMOS-Transistor T10 leitend
geschaltet, so dass der Knoten E eine vorbestimmte Spannung BLPWR
zwischen der Versorgungsspannung Vcc und der Massespannung Vss aufweist.
Entsprechend ist die korrespondierende Speicherzelle etwas programmiert,
so dass die Schwellwertspannungsverteilung auf zwischen ungefähr 1,3 V
bis 1,7 V gelangt. In anderen Worten ausgedrückt, das Ergebnis des MSB-Programmierungsvorgangs
ist, dass die gespeicherten Daten den Zustand [00] annehmen.
-
Drittens
ist, wenn die zu programmierenden Daten den Wert [10] haben, das
Ergebnis des LSB-Programmiervorgangs der programmierte Zustand,
z. B. ein Zustand, bei dem die Schwellwertspannungsverteilung 0,3
V bis 0,7 V ist. Da der Knoten C auf einem niedrigen Pegel ist,
ist der PMOS-Transistor T8 leitend geschaltet und der NMOS-Transistor
T10 ist sperrend geschaltet. Entsprechend wird eine Programmierung
der korrespondierenden Speicherzelle verhindert, da, der Knoten
E auf die Versorgungsspannung Vcc gesetzt ist und die Schwellwertspannungsverteilung
im Zustand zwischen 0,3 V bis 0,7 V gehalten wird. In anderen Worten
ausgedrückt,
das Ergebnis des MSB-Programmierungsvorgangs ist, dass die gespeicherten
Daten den Zustand [10] annehmen.
-
Viertens
ist, wenn die zu programmierenden Daten den Wert [11] haben, das
Ergebnis des LSB-Programmiervorgangs der gelöschte Zustand, z. B. ein Zustand,
bei dem die Schwellwertspannungsverteilung gleich –2,7 V oder
weniger ist. Da der Knoten C auf einem hohen Pegel ist, ist der PMOS-Transistor
T8 leitend geschaltet und der NMOS-Transistor T10 ist sperrend geschaltet.
Entsprechend wird der Knoten E auf die Versorgungsspannung Vcc gesetzt,
so dass eine Programmierung der korrespondierenden Speicherzelle
verhindert wird und die Schwellwertspannungsverteilung weiter im
Zustand von –2,7
V gehalten wird. In anderen Worten ausgedrückt, das Ergebnis des MSB-Programmierungs vorgangs
ist, dass die gespeicherten Daten den Zustand [11] annehmen.
-
Als
Konsequenz kann die Mehrpegelzelle die Schwellwertspannungsverteilungen
von [11] (–2,7
V oder weniger), [10] (0,3 V bis 07 V), [00] (1,3 V bis 1,7 V) oder
[01] (2,3 V bis 2,7 V) durch den LSB-Programmiervorgang und den
MSB-Programmiervorgang aufweisen.
-
Gemäß einer
Ausführungsform
der Erfindung können
während
des Programmiervorgangs der Mehrpegelzelle Daten mit vier Zuständen durch zwei
Programmiervorgänge
programmiert werden, wodurch die Zeitdauer des Programmierbetriebs
reduziert wird.