-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Treiben
eines nichtflüchtigen Speicherelements
und auf ein nichtflüchtiges
Speicherelement. Insbesondere bezieht sich die Erfindung auf ein
nichtflüchtiges
Speicherelement, welches einen Pegel einer Lesespannung in Reaktion auf
Variationen einer Schwellwertspannungsverteilung einer Speicherzelle
variiert, sowie auf zugehörige
Verfahren zum Treiben des nichtflüchtigen Speicherelements.
-
Mit
der Entwicklung von mobilen elektronischen Geräten und einer Vielzahl von
zugehörigen Applikationen
hat der Bedarf an Flashspeichern, einer gebräuchlichen Form von nichtflüchtigen
Speichern, zugenommen. Ein Flashspeicher ist ein elektrisch löschbares
und programmierbares nichtflüchtiges
Speicherelement, welches in der Lage ist, gespeicherte Daten zu
erhalten, auch wenn eine Energieversorgung unterbrochen wird. Eine
vorgegebene Menge von Daten kann in einem Flashspeicher unter Verwendung
von weniger Energie gespeichert werden als in anderen herkömmlichen
Speichermedien, wie beispielsweise magnetische Plattenspeichern,
d. h. Festplattenlaufwerke bzw. HDDs, zur Speiche rung der gleichen
Datenmenge erforderlich ist. Zudem ist ein Flashspeicher in der
Lage, auf gespeicherte Daten schneller als ein HHD-basiertes Speichersystem zuzugreifen.
-
Herkömmliche
Flashspeicher sind entsprechend einer logischen Verbindung zwischen
einzelnen Speicherzellen und Bitleitungen in NOR-Typ- und NAND-Typ-Flashspeicher
klassifiziert. Ein NOR-Flashspeicher wird durch paralleles Verbinden von
wenigstens zwei Zellentransistoren mit jeder Bitleitung ausgebildet
und speichert Daten unter Verwendung eines Heiß-Kanal-Elektronenverfahrens und
löscht
Daten unter Verwendung eines Fowler-Nordheim(F-N)-Tunnelverfahrens.
Ein NAND-Flashspeicher
wird durch serielles Verbinden von wenigstens zwei Zellentransistoren
mit jeder Bitleitung ausgebildet und speichert und löscht Daten unter
Verwendung des F-N-Tunnelverfahrens. Generell können NOR-Flashspeicher nicht
so hoch integriert werden und verbrauchen relativ mehr Strom, stellen
aber auch eine relativ höhere
Betriebsgeschwindigkeit zur Verfügung.
Andererseits können NAND-Flashspeicher
sehr hoch integriert werden und verbrauchen weniger Zellenstrom
als NOR-Flashspeicher.
-
Unterschiedliche
Mehrpegelzellen(MLC)-Architekturen und zugehörige Betriebsverfahren wurden
vorgeschlagen, um die Gesamtdatenspeicherkapazität eines Flashspeichers zu erhöhen. Die
Verwendung von MLC ermöglicht
es einer einzelnen Speicherzelle gemäß definierten Schwellwertspannungen
programmiert zu werden, so dass die Speicherzelle in der Lage ist,
wenigstens zwei Datenbits zu speichern. Im Gegensatz dazu können Flashspeicher,
welche Einzelpegelspeicherzellen (SLC) verwenden, nur ein Bit je
Speicherzelle speichern.
-
1A ist
eine Kennlinie, welche eine beispielhafte Schwellwertspannungsverteilung
für eine SLC
zeigt. Da die SLC nur ein Datenbit speichert, müssen die definierten Schwellwertspannungen
nur zwei Da tenzustände
[0] und [1] anzeigen. Um den von einer Speicherzelle eines SLC-Typ-Flashspeichers
gespeicherten Datenwert zu lesen, kann eine einzelne Lesespannung
an eine Wortleitung angelegt werden, die der Speicherzelle zugeordnet
ist. Die Lesespannung weist einen Wert auf, welcher irgendwo zwischen
den zwei Schwellwertspannungsverteilungen liegt und welcher ausreicht,
die gespeicherten Datenzustände
zu unterscheiden.
-
1B ist
eine Kennlinie, welche eine beispielhafte Schwellwertspannungsverteilung
für eine MLC
zeigt. Insbesondere zeigt 1B einen
Fall, in welchem zwei Datenbits in einer einzelnen Speicherzelle
gespeichert sind. Da die MLC 2-Bitdaten speichert, müssen die
definierten Schwellwertspannungen vier Datenzustände [00],[01], [10] und [11]
anzeigen. Daraus resultiert, dass drei Lesespannungen erforderlich
sind, um Daten aus einer Speicherzelle in einem MLC-Typ-Flashspeicher
zu lesen.
-
In
einem SLC-Typ-Flashspeicher kann jede Speicherzelle unter Verwendung
von Schwellwertspannungsverteilungen, welche ein großes Unterscheidungsvermögen oder
einen Lesespielraum zwischen den Datenzuständen gewährleisten, mit einem von zwei
Zuständen
programmiert werden. Im Gegensatz dazu sind die Lesespielräume zwischen
entsprechenden Datenzuständen
für Speicherzellen
in einem MLC-Typ-Flashspeicher
stark eingeschränkt. Das
bedeutet, dass entsprechende benachbarte Schwellwertspannungsverteilungen,
welche unterschiedliche Datenzustände anzeigen, relativ nahe nebeneinander
liegen.
-
Allgemein
variiert die Schwellwertspannung einer Flashspeicherzelle in Übereinstimmung
mit der Quantität
von elektrischen Ladungen, d. h. Elektronen, welche im zugehörigen floatenden
Gate gespeichert sind. Leider tendieren im floatenden Gate gespeicherte
Elektronen dazu mit der Zeit zu verschwinden oder „abzufließen". In Extremfällen kann ein Ladungsabfluss
aktuell die Schwellwertspannung einer programmierten Speicherzelle
verändern,
wodurch der gespeicherte Datenwert verändert wird. Aufgrund des oben
genannten reduzierten Lesespielraums sind MLC-Speichersysteme besonders
empfindlich für
Probleme, welche den Ladungsabfluss betreffen. Die Fähigkeit
einer bestimmten Speicherzelle die Ladung über die Zeit zu erhalten, wird
als Erhaltungscharakteristik bezeichnet. Die Erhaltungscharakteristik
einer Speicherzelle ist ein Typenzuverlässigkeitsindex.
-
2 ist
eine Kennlinie, welche mögliche Veränderungen
der beispielhaften Schwellwertspannungsverteilungen gemäß 1B als
Ergebnis des Ladungsabflusses zeigt. Wenn gespeicherte Elektronen
mit der Zeit von einem floatenden Gate abfließen, neigen die Schwellwertspannungsverteilungen dazu
sich zu verschieben oder zu verbreitern. Ab einem bestimmten Punkt
erhöhen
solche Verschiebungen oder Verbreiterungen die Wahrscheinlichkeit
einer falschen Datenverteilung. Wenn beispielsweise eine feste Lesespannung
Vread[1], welche zwischen den Datenwerten [10] und [01] unterscheiden
soll, an die MLC gemäß 2 angelegt
wird, kann ein unteres Ende der verbreiterten Schwellwertspannungsverteilung
des Datenwerts [01] aufgrund des Ladungsabflusses unter die Lesespannung
Vread[1] fallen. Speicherzellen, welche durch verschobene oder verbreiterte
Schwellwertspannungen gekennzeichnet sind, führen wahrscheinlicher zu fehlerhaften
Dateninterpretationen. In herkömmlichen
Flashspeichern wird gewöhnlich
eine feste Lesespannung verwendet, um zwischen gespeicherten Datenwerten zu
unterscheiden, auch wenn die Verteilungen von einer oder mehreren
Schwellwertspannungen für
die Speicherzelle aufgrund des Ladungsabflusses verändert ist.
Dieser Ansatz führt
leicht zu fehlerhaften Datenlesevorgängen.
-
Der
Erfindung liegt das technische Problem zugrunde, ein Verfahren zum
Treiben eines nichtflüchtigen
Speicherelements und ein nichtflüch tiges Speicherelement
bereitzustellen, welche eine verbesserte Datenerhaltung für Speicherzellen
aufweisen und die Erzeugung von Datenlesefehlern minimieren.
-
Die
Erfindung löst
dieses Problem durch Bereitstellung eines Verfahrens zum Treiben
eines nichtflüchtigen
Speicherelements mit den Merkmalen des Patentanspruchs 1 oder 11
und eines nichtflüchtigen
Speicherelements mit den Merkmalen des Patentanspruchs 16.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben,
deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen
wird, um unnötige
Textwiederholungen zu vermeiden.
-
Vorteilhafte,
nachfolgend im Detail beschriebene Ausführungsformen der Erfindung
sowie die zu deren besserem Verständnis oben erläuterten,
herkömmlichen
Ausführungsbeispiele
sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
-
1A eine
Kennlinie zur Darstellung einer Schwellwertspannungsverteilung einer
Einpegelzelle,
-
1B eine
Kennlinie zur Darstellung einer Schwellwertspannungsverteilung einer
Mehrpegelzelle,
-
2 eine
Kennlinie zur Darstellung von Veränderungen von Schwellwertspannungen
aufgrund eines Elektronenabflusses in einer Mehrpegelzelle eines
herkömmlichen
nichtflüchtigen
Speicherelements,
-
3 ein
Blockdiagramm eines nichtflüchtigen
Speicherelements gemäß einer
Ausführungsform
der Erfindung,
-
4 eine
Kennlinie zur Darstellung eines Beispiels, in welchem eine Hauptlesespannung
in Reaktion auf eine Variation einer Schwellwertspannungsverteilung
gesetzt wird,
-
5A, 5B und 5C Blockdiagramme
von Speicherzellenfeldstrukturen, welche Überwachungsspeicherzellen umfassen,
-
6 ein
Flussdiagramm, welches ein Verfahren zum Treiben eines nichtflüchtigen
Speicherelements gemäß einer
Ausführungsform
der Erfindung zusammenfasst,
-
7 ein
Flussdiagramm, welches ein Verfahren zum Treiben eines nichtflüchtigen
Speicherelements gemäß einer
anderen Ausführungsform
der Erfindung zusammenfasst, und
-
8 ein
Flussdiagramm, welches ein Verfahren zum Treiben eines nichtflüchtigen
Speicherelements gemäß einer
weiteren Ausführungsform
der Erfindung zusammenfasst.
-
3 ist
ein Blockdiagramm eines nichtflüchtigen
Speicherelements 100 gemäß einer Ausführungsform
der Erfindung. Wie aus 3 hervorgeht, umfasst das nichtflüchtige Speicherelement 100 ein
Speicherzellenfeld 110, eine Wortleitungsspannungserzeugungseinheit 130,
eine Datenvergleichseinheit 140 und eine Steuereinheit 150.
Um die Operationen zum Programmieren, Lesen, Löschen usw. auszuführen, umfasst
das nichtflüchtige Speicherelement 100 weiter
eine Abtasteinheit 121, einen Multiplexer (MUX) 122,
eine Datenausgabeeinheit 123, eine Adressenerzeugungseinheit 124,
einen Zeilendecoder, d. h. einen X-Decoder 160, und einen
Eingabe-/Ausgabepuffer 170.
-
Das
Speicherzellenfeld 110 umfasst ein Hauptspeicherzellenfeld
und eine Überwachungsspeicherzelle.
Das Hauptspeicherzellenfeld und die korrespondierende Überwachungsspeicherzelle, welche
in der Lage sind, wenigstens zwei Datenbits je Speicherzelle zu
speichern, können
mit einer aus einer Mehrzahl von Schwellwertspannungen programmiert
werden. Wenn jede Speicherzelle im Hauptspeicherzellenfeld und die
korrespondierende Überwachungsspeicherzelle
beispielsweise MLCs sind, welche 2-Bitdaten speichern, kann jede
Speicherzelle unter Verwendung von einer von vier Schwellwertspannungen
programmiert werden.
-
Das
Speicherzellenfeld 110 umfasst wenigstens eine Überwachungsspeicherzelle.
Die Schwellwertspannungen der Speicherzellen im Speicherzellenfeld 110 können aufgrund
von Ladungsabflüssen von
entsprechenden floatenden Gates mit der Zeit variieren. Wenn die
Variation einer Schwellwertspannung für die Überwachungsspeicherzelle abgetastet wird,
kann diese Variation als Anzeige von ähnlichen Variationen der Schwellwertspannung
der Speicherzellen innerhalb des Speicherzellenfelds 110 angesehen
werden.
-
Wenn
beispielsweise eine oder mehr Hauptspeicherzellen, welche mit einer
einzelnen Wortleitung im nichtflüchtigen
Speicherelement 100 verbunden sind, als eine „Programmiereinheit" definiert sind,
kann eine korrespondierende Überwachungsspeicherzelle
in Bezug auf die Programmiereinheit identifiziert werden. Nachfolgend
wird der Begriff „Überwachungsspeicherzelle" verwendet, um eine oder
mehrere physikalische Zellen anzugeben, welche mit einer definierten
Programmiereinheit innerhalb des Hauptspeicherzellenfelds oder mit
einem beliebigen anderen Teil des Hauptspeicherzellenfelds korrespondieren.
Eine einzelne Überwachungsspeicherzelle,
welche durch eine von einer Mehrzahl von Schwellwertspannungen programmiert
ist, oder eine Mehrzahl von Überwachungsspeicherzellen, welche
durch die Schwellwertspannun gen programmiert sind, können als „Überwachungsspeicherzellen" wirken.
-
Die Überwachungsspeicherzelle
kann in einem beliebigen geeigneten Teil des Speicherzellenfelds 110 angeordnet
werden. Die Überwachungsspeicherzelle
kann beispielsweise in einem speziell partitionierten Bereich des
Speicherzellenfelds 110 angeordnet werden.
-
Die
Abtasteinheit 121 tastet Daten, welche aus dem Speicherzellenfeld 110 gelesen
werden, ab und verstärkt
sie, und gibt die abgetasteten und verstärkten Daten aus. Der MUX 122 empfängt die
abgetasteten und verstärkten
Daten von der Abtasteinheit 121, multiplext die empfangenen
Daten und gibt die gemultiplexten Daten an die Datenausgabeeinheit 123 aus.
Die Datenausgabeeinheit 123 gibt die vom MUX 122 empfangenen
Daten an den Eingabe-/Ausgabepuffer 170 aus. Der Eingabe-/Ausgabepuffer 170 puffert
die empfangenen Daten und gibt die gepufferten Daten nach Außen ab.
Die Adressenerzeugungseinheit 124 stellt der Abtasteinheit 121, dem
MUX 122, der Datenausgabeeinheit 123 usw. Adressen
zur Verfügung,
um die oben beschriebene Serie von Operationen auszuführen.
-
Die
Wortleitungsspannungserzeugungseinheit 130 erzeugt Spannungen,
welche an Wortleitungen angelegt werden, welche wenigstens mit dem Speicherzellenfeld 110 assoziiert
sind. Die von der Wortleitungsspannungserzeugungseinheit 130 erzeugten
Wortleitungsspannungen werden dem Zeilendecoder 160 zur
Verfügung
gestellt. Der Zeilendecoder 160 stellt den Wortleitungen
des Speicherzellenfelds 110 die Wortleitungsspannungen
in Reaktion auf die empfangen nicht dargestellten Adressensignale
zur Verfügung.
-
Die
Datenvergleichseinheit 140 empfängt das Ergebnis des Lesevorgangs,
welcher auf Daten gerichtet ist, welche in der Überwachungs speicherzelle gespeichert
sind, und vergleicht die gelesenen Daten mit Referenzdaten, d. h.
mit einem vorbestimmten Datenwert. Da Informationen über die
anfänglich
in der Überwachungsspeicherzelle
gespeicherten Daten erkannt werden können, kann die Datenvergleichseinheit 140 insbesondere
Informationen über
einen Referenzausgabewert umfassen, welcher mit einem idealen Ergebnis
eines Lesevorgangs der anfänglich
gespeicherten Daten korrespondiert. Die Datenvergleichseinheit 140 bestimmt
durch Vergleichen des Ergebnisses der aus der Überwachungsspeicherzelle gelesenen
Daten mit den Referenzausgabedaten, ob die aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind, und gibt ein Vergleichssignal
aus, welches mit dem Vergleichsergebnis korrespondiert.
-
Die
Steuereinheit 150 empfängt
das Vergleichssignal von der Datenvergleichseinheit 140 und
steuert die Wortleitungsspannungserzeugungseinheit 130 in
Reaktion auf das Vergleichssignal. Wenn die Wortleitungsspannungserzeugungseinheit 130 eine
Lesespannung erzeugt, welche während
eines Lesevorgangs an das Speicherzellenfeld 110 angelegt
wird, steuert die Steuereinheit 150 die Wortleitungsspannungserzeugungseinheit 130 insbesondere,
um den Pegel der Lesespannung in Reaktion auf das Vergleichssignal
zu ändern.
-
Einen
Lesevorgang für
ein nichtflüchtiges Speicherelement 100,
welches eine solche Struktur aufweist, wird nun unter Bezugnahme
auf 4 beschrieben. In einer in 4 dargestellten
Ausführungsform
der Erfindung wird vorausgesetzt, dass eine Mehrzahl von vier (4) Überwachungsspeicherzellen
in Bezug auf vier definierte Programmiereinheiten angeordnet ist,
welche entsprechend den Datenzuständen 11, 10, 01 und 00 zugeordnet
sind.
-
4 ist
eine Kennlinie zur Darstellung eines Beispiels, in welchem eine
Lesespannung in Reaktion auf eine abgetastete Variation einer Schwell wertspannungsverteilung
gesetzt wird. Es sind beispielsweise drei (3) Lesespannungen erforderlich, um
2-Bitdaten zu unterscheiden, welche in den MLCs des Speicherzellenfelds 110 gespeichert
sind. Ein Ansatz zum Setzen einer Lesespannung, welche zwischen
den Datenzuständen
10 und 01 unterscheidet, wird nachfolgend beschrieben.
-
Zuerst
wird eine vorangestellte Leseoperation mit einer Überwachungsspeicherzelle
ausgeführt bevor
eine Hauptleseoperation ausgeführt
wird. Ein Modus zum Setzen der Lesespannung in Reaktion auf eine
abgetastete Veränderung
der Schwellwertspannung der Überwachungsspeicherzelle
wird ausgeführt.
-
Wenn
in den Lesespannungssetzmodus eingetreten wird, erzeugt die Wortleitungsspannungserzeugungseinheit 130 eine
erste Lesespannung Vread[1], welche einer ersten Wortleitung des
Speicherzellenfelds 110 zur Verfügung gestellt wird. Entsprechend
wird eine Leseoperation mit den mit der ersten Wortleitung verbundenen
Speicherzellen ausgeführt.
-
Gemäß einer
von der Adressenerzeugungseinheit 124 erzeugten Adresse
wird das Ergebnis der Leseoperation, welche mit einer Überwachungsspeicherzelle
ausgeführt
wird, welche der ersten Wortleitung zugeordnet ist, der Datenvergleichseinheit 140 über die
Abtasteinheit 121, den MUX 122 und die Datenausgabeeinheit 123 zur
Verfügung
gestellt. Insbesondere wird das Ergebnis der Leseoperation, welche
mit der Überwachungsspeicherzelle
ausgeführt wird,
welche anfänglich
einen Datenwert 01 speichert, der Datenvergleichseinheit 140 zur
Verfügung gestellt.
Die Datenvergleichseinheit 140 umfasst Informationen über einen
Referenzausgabewert, welcher mit dem Datenwert 01 korrespondiert,
welcher anfänglich
in der Überwachungsspeicherzelle
gespeichert ist. Die Datenvergleichseinheit 140 bestimmt,
ob die aus der Überwachungsspeicherzelle gelesenen
Daten mit den Daten identisch sind, welche anfänglich in der Überwachungsspeicherzelle gespeichert
sind, und gibt ein Vergleichssignal, welches mit dem Vergleichsergebnis
korrespondiert, an die Steuereinheit 150 aus.
-
Wenn
die Schwellwertspannung der Überwachungsspeicherzelle,
beispielsweise aufgrund eines Ladungsabflusses, auf einen Wert wechselt,
welcher niedriger als die erste Lesespannung Vread[1] ist, wie aus 4 hervorgeht,
wird bestimmt, dass sich der ausgelesene Datenwert vom Referenzausgabewert
unterscheidet. In Reaktion auf das Vergleichssignal steuert die
Steuereinheit 150 die Wortleitungsspannungserzeugungseinheit 130.
Unter der Steuerung der Steuereinheit 150 erzeugt die Wortleitungsspannungserzeugungseinheit 130 eine zweite
Lesespannung Vread[2] mit einem Pegel, welcher sich vom Pegel der
ersten Lesespannung Vread[1] unterscheidet. Die zweite Lesespannung Vread[2]
wird der ersten Wortleitung des Speicherzellenfelds 110 zur
Verfügung
gestellt.
-
Dann
wird mit Bezug auf die mit der ersten Wortleitung verbundenen Speicherzellen
unter Verwendung der zweiten Lesespannung Vread[2] eine Leseoperation
ausgeführt.
Die Datenvergleichseinheit 140 bestimmt, ob die unter Verwendung
der zweiten Lesespannung Vread[2] aus der Überwachungsspeicherzelle gelesenen
Daten identisch mit den Daten sind, welche anfänglich in der Überwachungsspeicherzelle
gespeichert sind.
-
Wenn
die zweite Lesespannung Vread[2] niedriger als die Schwellwertspannung
der Überwachungsspeicherzelle
ist, wie in 4 dargestellt ist, wird bestimmt,
dass der ausgelesene Datenwert identisch mit dem anfänglich gespeicherten
Datenwert ist. Die Steuereinheit 150 setzt die zweite Lesespannung
Vread[2] in Reaktion auf das Vergleichssignal als Hauptlesespannung.
Die Steuereinheit 150 steuert die Wortleitungsspannungserzeugungseinheit 130 so,
dass die zweite Lesespannung Vread[2] der ersten Wortleitung des
Speicherzellenfelds 110 zur Verfü gung gestellt wird. Entsprechend
wird eine Hauptleseoperation in Bezug auf die mit der ersten Wortleitung
verbundenen Speicherzellen unter Verwendung der zweiten Lesespannung
Vread[2] ausgeführt.
-
Andererseits
wird bestimmt, dass sich der ausgelesene Datenwert vom anfänglich gespeicherten
Datenwert unterscheidet, wenn die zweite Lesespannung Vread[2] größer als
die Schwellwertspannung der Überwachungsspeicherzelle
ist, wie in 4 dargestellt ist. In diesem
Fall steuert die Steuereinheit 150 die Wortleitungsspannungserzeugungseinheit 130,
um eine nicht dargestellte dritte Lesespannung Vread[3] mit einem
Pegel zu erzeugen, welcher sich vom Pegel der zweiten Lesespannung
Vread[2] unterscheidet. Der oben beschriebene Prozess kann unter
Verwendung der dritten Lesespannung Vread[3] wiederholt werden usw.
Wenn endgültig
aus dem Ergebnis dieses iterativen Prozesses bestimmt wird, dass
die mit Bezug auf eine n-te Lesespannung Vread[n] mit der Überwachungsspeicherzelle
ausgeführte
Leseoperation identisch mit dem Datenwert ist, welcher anfänglich in
der Überwachungsspeicherzelle
gespeichert ist, setzt die Steuereinheit 150 die n-te Lesespannung
Vread[n] als die gewünschte
Lesespannung. Anschließend
wird in Bezug auf das Hauptspeicherzellenfeld eine Leseoperation
unter Verwendung der n-ten Lesespannung Vread[n] ausgeführt.
-
Wenn
andererseits die Schwellwertspannung der Überwachungsspeicherzelle aufgrund
eines Ladungsabflusses von der Überwachungsspeicherzelle
einen größeren Wert
als die erste Lesespannung Vread[1] aufweist, wird der unter Verwendung
der ersten Lesespannung Vread[1] aus der Überwachungsspeicherzelle gelesene
Datenwert als identisch zum Datenwert bestimmt, welcher anfänglich in
der Überwachungsspeicherzelle
gespeichert ist. Die Steuereinheit 150 setzt die erste
Lesespannung Vread[1] in Reaktion auf das Vergleichssignal als die
gewünschte
Lesespannung. Anschließend wird
die erste Lesespannung Vread[1], welche als die Hauptlesespannung
gesetzt ist, der ersten Wortleitung des Speicherzellenfelds 110 zur
Verfügung
gestellt, so dass eine Leseoperation in Bezug auf das mit der ersten
Wortleitung verbundene Hauptspeicherzellenfeld ausgeführt werden
kann.
-
Wenn
die Leseoperation in Bezug auf das mit der ersten Wortleitung verbundene
Hauptspeicherzellenfeld abgeschlossen ist, wird der oben beschriebene
Prozess wiederholt, um eine Leseoperation für die mit einer zweiten Wortleitung
verbundenen Speicherzellen zu ermöglichen. In anderen Worten
ausgedrückt,
die Wortleitungsspannungserzeugungseinheit 130 erzeugt
die erste Lesespannung Vread[1]. Die erste Lesespannung Vread[1]
wird der zweiten Wortleitung des Speicherzellenfelds 110 zur Verfügung gestellt.
Entsprechend wird unter Verwendung der ersten Lesespannung Vread[1]
eine Leseoperation ausgeführt,
welche auf Speicherzellen gerichtet ist, welche mit der zweiten
Wortleitung verbunden sind.
-
Wenn
das Ergebnis der Leseoperation, welche mit der Überwachungsspeicherzelle ausgeführt wird,
welche mit der zweiten Wortleitung verbunden ist, der Datenvergleichseinheit 140 zur
Verfügung
gestellt wird, bestimmt die Datenvergleichseinheit 140, ob
das Ergebnis mit dem anfänglich
in der Überwachungsspeicherzelle
gespeicherten Datenwert identisch ist. Wenn das Ergebnis der Leseoperation
als identisch mit dem Datenwert bestimmt wird, welcher anfänglich in
der Überwachungsspeicherzelle
gespeichert ist, setzt die Steuereinheit 150 die erste
Lesespannung Vread[1] in Reaktion auf das von der Datenvergleichseinheit 140 erzeugte
Vergleichssignal als die gewünschte
Lesespannung. Wenn das Ergebnis der Leseoperation andererseits als
unterschiedlich zum Datenwert bestimmt wird, welcher anfänglich in
der Überwachungsspeicherzelle
gespeichert ist, setzt die Steuereinheit 150 die Hauptlesespannung
in Reaktion auf das von der Datenvergleichseinheit 140 erzeugte
Vergleichssignal auf einen Pegel, welcher sich vom Pegel der ersten
Lesespannung Vread[1] unterscheidet. Anschließend wird unter Verwendung
der definierten Lesespannung eine Leseoperation ausgeführt, welche
auf Speicherzellen gerichtet ist, welche mit der zweiten Wortleitung
verbunden sind.
-
Wenn
das Speicherzellenfeld 110 N Wortleitungen aufweist, folgen
entsprechende Operationen zum Setzen von Lesespannungen für die dritte
bis n-te Wortleitung den vorherigen auf eine entsprechende Weise.
Anschließend
werden unter Verwendung der passenden definierten Lesespannungen Leseoperationen
ausgeführt,
welche auf Speicherzellen gerichtet sind, welche entsprechend mit
der dritten bis n-ten Wortleitung verbunden sind.
-
Daher
erfordert das nichtflüchtige
Speicherelement 100, welches MLCs umfasst, eine Mehrzahl von
passend definierten Lesespannungen. Bei einer Ausführungsform
der Erfindung wird die Hauptlesespannung für jede der erforderlichen Lesespannungen
definiert. Um dies zu erreichen, sind eine Mehrzahl von Überwachungsspeicherzellen
vorgesehen, die mit einer entsprechenden Programmiereinheit korrespondieren
und durch entsprechende Schwellwertspannungen programmiert werden,
welche die unterschiedlichen Datenzustände repräsentieren, welche in den MLCs
speicherbar sind.
-
Wenn
jede der MLCs beispielsweise 2-Bitdaten speichert, werden Überwachungsspeicherzellen, welche
anfänglich
Datenwerte von 11, 10, 01 und 00 speichern, vorgesehen, um mit einer
einzelnen Programmiereinheit zu korrespondieren. In diesem Fall wird
die Überwachungsspeicherzelle,
welche anfänglich
den Datenwert 10 speichert, einer Leseoperation unterzogen und eine
Hauptlesespannung zum Lesen der Speicherzellen im Speicherzellenfeld,
welche Datenwerte von 10 speichern, wird unter Verwendung der vorgenannten
Datenvergleichsoperation gesetzt. Die Überwachungsspeicherzelle, welche anfänglich den
Datenwert 01 speichert, wird einer Leseoperation unterzogen und
eine Hauptlesespannung, welche mit dem Datenwert 01 korrespondiert, wird
unter Verwendung der Datenvergleichsoperation gesetzt. Die Überwachungsspeicherzelle,
welche anfänglich
den Datenwert 00 speichert, wird einer Leseoperation unterzogen
und eine Hauptlesespannung, welche mit dem Datenwert 00 korrespondiert, wird
unter Verwendung der Datenvergleichsoperation gesetzt.
-
In
einer Speicherzelle, welche unter Verwendung einer relativ hohen
Schwellwertspannung programmiert ist, kann eine größere Menge
der gespeicherten Ladung vom floatenden Gate abfließen. Daher
kann in bestimmten Ausführungsformen
der Erfindung nur eine Überwachungsspeicherzelle,
welche durch die höchste
Schwellwertspannung programmiert ist, vorgesehen sein, um mit einer
einzelnen Programmiereinheit zu korrespondieren. Eine Überwachungsspeicherzelle,
welche einen anfänglichen
Datenwert von 00 speichert, kann beispielsweise vorgesehen sein,
um mit jeder Programmiereinheit zu korrespondieren. In diesem Fall
wird die Überwachungsspeicherzelle,
welche anfänglich
den Datenwert 00 speichert, einer Leseoperation unterzogen und eine
Hauptlesespannung, welche mit dem Datenwert 00 korrespondiert, wird
unter Verwendung der Datenvergleichsoperation gesetzt. Zudem wird die
gesetzte Hauptlesespannung verwendet, um den Datenwert 00 aus den
Speicherzellen des Hauptspeicherzellenfelds zu lesen.
-
Bei
der oben beschriebenen Ausführungsform
sind die Überwachungsspeicherzellen
dazu ausgebildet, mit den Programmeinheiten des Speicherzellenfelds 110 zu
korrespondieren, so dass Änderungen
der Schwellwertspannungen der Sensorzellen Änderungen der Schwellwertspannungen
der korrespondierenden Programmiereinheiten repräsentieren. Die Struktur des
Speicherzellenfelds 110 ist jedoch nicht schon an sich
auf diese Ausführungsform
beschränkt.
-
Eine Überwachungsspeicherzelle
kann beispielsweise in einem partitionierten Bereich des Speicherzellenfelds 110 angeordnet
sein, so dass eine Veränderung
der Schwellwertspannung der Überwachungsspeicherzelle
eine Veränderung
der Schwellwertspannung des gesamten Speicherzellenfelds 110 repräsentieren
kann. In diesem Fall wird eine Hauptlesespannung entsprechend einem
Ergebnis einer Leseoperation gesetzt, welche mit der Überwachungsspeicherzelle
ausgeführt
wird, und allen Wortleitungen des Speicherzellenfelds 110 zum Lesen
von vorbestimmten Daten zur Verfügung
gestellt. Daher kann die Überwachungsspeicherzelle als
eine Mehrzahl von Zellen, welche durch eine Mehrzahl von Schwellwertspannungen
programmiert sind, welche Multipegel repräsentieren, wie oben beschrieben
ist, im Speicherzellenfeld 110 angeordnet werden. Alternativ
kann die Überwachungsspeicherzelle
daher eine einzelne Zelle sein, welche mit einem Datenwert von 00
oder einem beliebigen anderen Datenzustand programmiert ist, welcher
insbesondere für
Ladungsabflüsse
anfällig
zu sein scheint.
-
5A, 5B und 5C sind
Blockdiagramme, welche unterschiedliche mögliche Strukturen für das Speicherzellenfeld 110 zeigen,
welches eine Überwachungsspeicherzelle
umfasst. 5A zeigt das Speicherzellenfeld 110,
welches eine mit der Anzahl von Programmiereinheiten korrespondierende
Anzahl von Überwachungsspeicherzellen
aufweist. Wie aus 5A hervorgeht, kann das Speicherzellenfeld 110 N
Programmiereinheiten 0 bis (N – 1)
und N Überwachungsspeicherzellen
MC0 bis MC(N – 1)
aufweisen, welche mit den N Programmiereinheiten korrespondieren.
Wortleitungen WL0 bis WL(N – 1)
sind mit entsprechenden Programmiereinheiten und Überwachungsspeicherzellen
verbunden, welche mit den Programmiereinheiten korrespondieren.
Wenn das Speicherzellenfeld 110 gemäß 5A vorgesehen
ist, wird eine Hauptlesespannung für die Wortleitung WL0 unter
Verwendung eines Ergebnisses der aus der Überwachungsspeicherzelle MC0
gelesenen Daten gesetzt und der Wortleitung WL0 zur Verfügung gestellt,
um dadurch eine Lese operation mit der Programmiereinheit 0 durchzuführen. Auf
diese Weise werden die Hauptlesespannungen für die N Programmiereinheiten
gesetzt und den korrespondierenden Wortleitungen WL0 bis WL(N – 1) zur
Verfügung
gestellt, um dadurch Leseoperationen für die N Programmiereinheiten
durchzuführen.
-
5B zeigt
ein anderes Ausführungsbeispiel
des Speicherzellenfelds 110. Wie aus 5B hervorgeht,
weist das Speicherzellenfeld 110 N Programmiereinheiten
0 bis (N – 1),
welche mit Wortleitungen WL0 bis WL(N – 1) verbunden sind, und eine Überwachungsspeicherzelle
auf, welche mit einer Überwachungswortleitung
RL verbunden ist. Wenn das Speicherzellenfeld 110 gemäß 5B vorgesehen
ist, werden Daten durch Anlegen einer Lesespannung an die Überwachungswortleitung
RL aus der Überwachungsspeicherzelle
gelesen und eine Hauptlesespannung wird unter Verwendung des Ergebnisses
dieser Leseoperation gesetzt. Die Hauptlesespannung wird an die
Wortleitungen WL0 bis WL(N – 1)
angelegt und entsprechende Leseoperationen der N Programmiereinheiten
0 bis (N – 1)
werden durchgeführt.
-
5C zeigt
ein anderes Ausführungsbeispiel
des Speicherzellenfelds 110. Wie aus 5C hervorgeht,
weist das Speicherzellenfeld 110 N Programmiereinheiten
0 bis (N – 1),
welche mit Wortleitungen WL0 bis WL(N – 1) verbunden sind, und eine Überwachungsspeicherzelle
auf, welche mit beliebigen der Wortleitungen WL0 bis WL(N – 1), beispielsweise
mit der Wortleitung WL(N – 1),
verbunden ist. In diesem Fall werden Daten durch Anlegen einer Lesespannung
an die Wortleitung WL(N – 1)
gelesen und eine Hauptlesespannung wird unter Verwendung des Ergebnisses
dieser Leseoperation gesetzt. Die Hauptlesespannung wird an die
Wortleitungen WL0 bis WL(N – 1)
angelegt und entsprechende Leseoperationen der N Programmiereinheiten
0 bis (N – 1) werden
durchgeführt.
-
6 ist
ein Flussdiagramm, welches ein Verfahren zum Treiben eines nichtflüchtigen
Speicherelements gemäß einer
Ausführungsform
der Erfindung zusammenfasst. Wie aus 6 hervorgeht, wird
im Schritt S110 zuerst ein Modus zum Setzen einer Hauptlesespannung
ausgewählt.
Um dem Modus zum Setzen der Hauptlesespannung selektiv auszuführen, können generelle
Moduswechselmittel, wie eine Sicherungsdurchtrennung, eine Bondingoption oder
ein vorbestimmter Befehl, installiert werden.
-
Wenn
der Modus ausgewählt
ist, wird im Schritt S120 eine erste Lesespannung an ein Speicherzellenfeld
angelegt. Die erste Lesespannung wird an ein Gate einer Überwachungsspeicherzelle angelegt,
welche im Speicherzellenfeld enthalten ist, und entsprechend werden
im Schritt S130 Daten aus der Überwachungsspeicherzelle
gelesen.
-
Da
Informationen über
anfänglich
in der Überwachungsspeicherzelle
gespeicherte Daten ermittelt werden können, kann auch ein Datenwert
ermittelt werden, welcher aus der unter Verwendung der vorbestimmten
Lesespannung mit der Überwachungsspeicherzelle
ausgeführten
Leseoperation resultiert. Der resultierende Datenwert ist ein Referenzausgabewert
und wird im nichtflüchtigen
Speicherelement gespeichert. Die anfänglich in der Überwachungsspeicherzelle
gespeicherten Daten werden im Schritt S140 unter Verwendung der
Referenzausgabespannung mit Daten verglichen, welche unter Verwendung
der ersten Lesespannung aus der Überwachungsspeicherzelle
gelesen werden. Aus dem Vergleich wird im Schritt S150 dann bestimmt,
ob die aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind.
-
Wenn
bestimmt wird, dass die aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind, wird die erste Lesespannung,
welche zum Lesen der Daten aus der Überwachungsspeicherzelle verwendet
wird, als eine Hauptlesespannung gesetzt und die Hauptlesespannung
wird im Schritt S161 an das Speicherzellenfeld angelegt. Daten werden
unter Verwendung der Hauptlesespannung im Schritt S162 aus einer Hauptzelle
gelesen, welche im Speicherzellenfeld 110 enthalten ist.
-
Andererseits
wird, wenn bestimmt wird, dass die aus der Überwachungsspeicherzelle gelesenen Daten
von den anfänglich
gespeicherten Daten verschieden sind, im Schritt S171 eine Lesespannung mit
einem anderen Pegel als die erste Lesespannung als eine Hauptlesespannung
gesetzt. Die Hauptlesespannung wird dann im Schritt S172 an das
Speicherzellenfeld angelegt. Dann wird im Schritt S173 unter Verwendung
der Hauptlesespannung ein Lesen von Daten aus der Hauptzelle ausgeführt.
-
Die
Lesespannung mit dem von der ersten Lesespannung unterschiedlichen
Pegel kann voreingestellt werden. Wenn bestimmt wird, dass die aus der Überwachungsspeicherzelle
gelesenen Daten von den anfänglich
gespeicherten Daten verschieden sind, kann die voreingestellte Lesespannung
als die Hauptlesespannung gesetzt werden.
-
Alternativ
können „n" Lesespannungen voreingestellt
werden und ein auf die Überwachungsspeicherzelle
gerichteter Lesevorgang unter Verwendung einer ersten Lesespannung
aus den „n" Lesespannungen und
eine Datenvergleichsoperation werden ausgeführt. Wenn bestimmt wird, dass
die aus der Überwachungsspeicherzelle
gelesenen Daten von den anfänglich
gespeicherten Daten verschieden sind, werden die Leseoperation und
die Vergleichsoperation unter Verwendung einer zweiten Lesespannung
ausgeführt.
Dieser Prozess wird wiederholt, um eine Lesespannung für eine Leseoperation
zu finden, welche in einem Datenwert resultiert, welcher identisch
zum anfänglich
gespeicherten Datenwert ist.
-
Die
identifizierte Lesespannung kann dann als eine Hauptlesespannung
gesetzt werden.
-
7 ist
ein Flussdiagramm, welches ein Verfahren zum Treiben eines nichtflüchtigen
Speicherelements gemäß einer
anderen Ausführungsform
der Erfindung zusammenfasst. Wie aus 7 hervorgeht,
wird im Schritt S210 zuerst ein Modus zum Setzen einer Hauptlesespannung
ausgewählt. Der
Wert für „n" wird im Schritt
S220 auf 1 gesetzt. Im Schritt S230 wird dann eine Lesespannung
Vread[1] an das Speicherzellenfeld angelegt.
-
Wenn
die Lesespannung Vread[1] an das Speicherzellenfeld über eine
Wortleitung angelegt wird, werden im Schritt S240 Daten aus der Überwachungsspeicherzelle
gelesen, welche mit der Wortleitung verbunden ist. Die unter Verwendung
der Lesespannung Vread[1] aus der Überwachungsspeicherzelle gelesenen
Daten werden im Schritt S250 mit den anfänglich in der Überwachungsspeicherzelle gespeicherten
Daten verglichen. Es wird dann im Schritt S260 aus dem Vergleich
bestimmt, ob die aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind.
-
Wenn
bestimmt wird, dass die aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind, wird die Lesespannung Vread[1]
im Schritt S271 als eine Hauptlesespannung gesetzt. Die Hauptlesespannung
wird im Schritt S272 an das Speicherzellenfeld angelegt. Daten werden
im Schritt S273 unter Verwendung der an das Speicherzellenfeld angelegten Hauptlesespannung
aus einer Hauptspeicherzelle gelesen, welche im Speicherzellenfeld
enthalten ist.
-
Andererseits
wird, wenn bestimmt wird, dass die aus der Überwachungsspeicherzelle gelesenen Daten
von den anfänglich
gespeicherten Daten verschieden sind, im Schritt S281 „n" inkrementiert und eine
Lesespannung Vread[2] wird an das Speicherzellenfeld angelegt. Anschließend kehrt
das dargestellte Verfahren unter Verwendung der Lesespannung Vread[2]
zu den Schritten S230 bis 260 zurück. Wenn bestimmt wird, dass
die unter Verwendung der Lesespannung Vread[2] aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind, wird die Lesespannung Vread[2]
als eine Hauptlesespannung gesetzt. Andererseits wird, wenn bestimmt
wird, dass die unter Verwendung der Lesespannung Vread[2] aus der Überwachungsspeicherzelle
gelesenen Daten von den anfänglich
gespeicherten Daten verschieden sind, der oben beschriebene Prozess
unter Verwendung der Lesespannung Vread[3] wiederholt usw.
-
8 ist
ein Flussdiagramm, welches ein Verfahren zum Treiben eines nichtflüchtigen
Speicherelements gemäß einer
weiteren Ausführungsform
der Erfindung zusammenfasst. Zuerst wird im Schritt S310 ein Modus
zum Setzen einer Hauptlesespannung ausgewählt. Der Wert für „n" wird im Schritt S320
auf 1 gesetzt. Im Schritt S330 wird eine erste Lesespannung an eine
erste Wortleitung des Speicherzellenfelds angelegt.
-
Eine
Hauptzelle, welche mit einer Programmiereinheit korrespondiert,
ist mit der ersten Wortleitung verbunden und eine Überwachungsspeicherzelle,
welche mit der Hauptzelle korrespondiert, ist mit der ersten Wortleitung
verbunden. Wenn die erste Lesespannung an die Wortleitung angelegt
wird, werden im Schritt S340 Daten aus der Hauptzelle und der Überwachungsspeicherzelle
gelesen, welche mit der Wortleitung verbunden sind.
-
Anschließend werden
aus der Überwachungsspeicherzelle
gelesene Daten im Schritt S350 mit den anfänglich in der Überwachungsspeicherzelle
gespeicherten Daten verglichen. Es wird dann im Schritt S360 aus dem
Vergleich bestimmt, ob die aus der Überwachungsspeicherzelle gelesenen
Daten mit den anfänglich
gespeicherten Daten identisch sind.
-
Wenn
bestimmt wird, dass die aus der Überwachungsspeicherzelle
gelesenen Daten mit den anfänglich
gespeicherten Daten identisch sind, werden die aus der Hauptzelle
gelesenen Daten im Schritt S371 nach Außen ausgegeben. Entsprechend
kann eine Operation zum Anlegen der ersten Lesespannung an die erste
Wortleitung und ein Operation eines erneuten Lesens von Daten aus
der Hauptzelle vermieden werden.
-
Andererseits
wird, wenn bestimmt wird, dass die aus der Überwachungsspeicherzelle gelesenen Daten
von den anfänglich
gespeicherten Daten verschieden sind, im Schritt S381 eine Lesespannung mit
einem von der ersten Lesespannung unterschiedlichen Pegel als eine
Hauptlesespannung gesetzt. Die Hauptlesespannung wird dann im Schritt
S382 an die erste Wortleitung angelegt. Entsprechend wird im Schritt
S383 eine Leseoperation für
die Hauptspeicherzellen ausgeführt,
welche mit der ersten Wortleitung verbunden sind.
-
Wenn
die Operation des Lesens von Daten aus der Hauptzelle, welche mit
der ersten Wortleitung verbunden ist, beendet ist, wird im Schritt
S390 bestimmt, ob das Lesen von Daten von allen Programmiereinheiten
beendet ist, welche im Speicherzellenfeld enthalten sind. Wenn bestimmt
wird, dass das Lesen von Daten aus allen der Programmiereinheiten
nicht beendet ist, wird der Wert von „n" im Schritt S391 inkrementiert. Dann
wird im Schritt S330 die erste Lesespannung an eine zweite Wortleitung
des Speicherzellenfelds angelegt und das dargestellte Verfahren
kehrt unter Bezug auf die zweite Wortleitung zu den Schritten S340
bis 390 zurück.
Der oben beschriebene Prozess wird mit Bezug auf die dritte bis
N-te Wortleitung wiederholt und dann wird das Lesen der Daten in
Bezug auf das gesamte Speicherzellenfeld abgeschlossen.
-
Wie
oben ausgeführt,
kann ein nichtflüchtiges
Speicherelement gemäß einer
Ausführungsform der
Erfindung die Erzeugung von Fehlern während Datenleseoperationen
minimieren, auch wenn der Pegel der Schwellwertspannung einer Speicherzelle beispielsweise
aufgrund von Ladungsabflüssen
variiert.