-
Die
vorliegende Erfindung bezieht sich auf einen Mehrstufenspeicher
(multi-level memory), insbesondere auf eine Halbleiterspeichereinrichtung
zum Speichern einer Mehrstufe, wie etwa einen Mehrstufen-Flash-Speicher,
einen Mehrstufen-EEPROM und einen Mehrstufen-EPROM.
-
Als
eine Speicherzelle des EEPROM sind jene mit einer MOSFET-Struktur, wo eine
Ladungsspeicherschicht (schwebendes Gatter, floating gate) und ein
Steuergatter laminiert und auf einem Halbleitersubstrat gebildet
sind, bekannt. Im allgemeinen speichert die Speicherzelle Daten
von einem Bit in einer Zelle durch Speichern eines Kennwertes "0" oder "1" durch
die Ladungsmenge, die in dem schwebenden Gatter gespeichert wird.
Um einen EEPROM einer höheren
Dichte zu realisieren, ist ein Mehrstufen-Speicherverfahren bekannt, wo
Daten von vielen Bits in einer Zelle gespeichert werden. Da z.B.
Daten "0", "1", "2", "3" in einer Zelle in dem Vierstufen-Speicherverfahren
gespeichert werden, werden vier Ladungsmengen entsprechend den Daten
in dem schwebenden Gatter gespeichert.
-
Mit
einem Beispiel des Vierstufen-Speicherverfahrens wird eine Konfiguration
des Speicherzustands von Daten erläutert.
-
Mit
der Ladungsmenge vom schwebenden Gatter von 0, definiert als der
neutrale Zustand, wird ein Zustand mit einer positiven Ladung in
Bezug auf den neutralen Zustand definiert, der Löschungszustand zu sein. Der
Löschungszustand
entspricht den Daten "0". Durch Anlegen einer
hohen Spannung (bis 20V) an ein Substrat mit einem Steuergatter
bei 0V kann z.B. die Löschung
ausgeführt
werden. Ein Zustand mit einer negativen Ladungsmenge in Bezug auf
den neutralen Zustand ist definiert, der Zustand mit Daten "1" zu sein. Der Zustand mit Daten "2" ist auch ein Zustand, wo eine negative
Ladung in Bezug auf den neutralen Zustand gespeichert ist, aber
die negative Ladungsmenge ist größer als
die negative Ladungsmenge in dem Zustand mit Daten "1". Der Zustand mit Daten "3" hat eine weitere große negative
Ladungsmenge.
-
Z.B.
wird in der Programmierungsoperation, wobei das Substrat, Source,
Drain 0V haben und das Steuergatter eine hohe Spannung (bis 20V)
hat, eine negative Ladung in dem schwebenden Gatter so gespeichert,
um die Daten "1", "2", "3" zu programmieren.
In der Programmierungsoperation wird, wobei das Substrat 0V hat,
die Source und Drain 10V haben und das Steuergatter eine hohe Spannung
(bis 20V) hat, eine Ladung in dem schwebenden Gatter so beibehalten,
um die Daten "0" in der Speicherzelle
zu speichern. Entsprechend können
vier Programmierungszustände
("0", "1", "2", "3") mit Schwellenpegeln, die sich voneinander
in dem Speicherzellentransistor unterscheiden, in der Speicherzelle
realisiert werden.
-
Als
ein Beispiel eines Mehrstufenspeicher-EEPROM ist einer bekannt,
wo Daten von vielen Bits in einer Speicherzelle gleichzeitig als
Mehrspeicherstufendaten programmiert werden. Um die Programmierungszeit
zu verkürzen,
werden Daten von vielen Bits gleichzeitig programmiert. In diesem
Fall ist eine Vielzahl von Datenspeicherschaltungen zum Programmieren
von Mehrstufendaten in den einzelnen Speicherzellen vorgesehen.
-
Um
den Programmierungszustand akkurat zu steuern, werden z.B. die Steuerdaten
in der Datenspeicherschaltung derart konvertiert, dass der Programmierungszustand
der Speicherzellen nach der Programmierungsoperation (Programmierungsverifizie rung)
erfasst wird, und falls es eine Speicherzelle mit unzureichender
Programmierung gibt, wird eine Programmierungsspannung so angelegt,
um Programmierung nur in der Speicherzelle zu befördern. Durch
Verwenden der konvertierten Steuerdaten wird die Programmierungsoperation
erneut ausgeführt,
und bis alle ausgewählten
Speicherzellen ausreichend programmiert sind, werden die Programmierungsoperation
und die Verifizierungsoperation ausgeführt.
-
Der
konventionelle Mehrstufenspeicher-EEPROM, wie oben erwähnt, involviert
jedoch ein Problem wegen der Programmierungsverifizierungsoperation
zusätzlich
zu der Zeit, die zum tatsächlichen
Speichern einer Ladung in dem schwebenden Gatter benötigt wird,
was die Gesamtzeit verlängert,
die für
Programmierung notwendig ist. Insbesondere wird in dem Fall, wo
unabhängig
erfasst wird, ob jede Speicherzelle den Programmierungszustand erreicht
hat, wie etwa zuerst, ob die Speicherzelle den Programmierungszustand "1" erreicht hat, und dann erfasst wird,
ob die Speicherzelle den Programmierungszustand "2" erreicht
hat, die Programmierungszeit durch Erfassen aller Programmierungszustände für jedes
Mal extrem lang. Außerdem
unterscheiden sich die Zeiten voneinander, die zum Erreichen des
Programmierungszustands für
die Speicherzellen benötigt
werden, d.h. da die Programmierungsoperation in einer Reihenfolge
von "1", "2", "3" fortfährt, selbst
wenn die dazu am leichtesten zu programmierende Zelle den Zustand "1" erreicht, erreichen die anderen Speicherzellen
nicht den Zustand "2" oder "3", und somit ist es vollständig bedeutungslos
zu erfassen, ob sie den Zustand "2" oder "3" erreichen oder nicht. D.h. in den Programmierungsverifizierungsoperationen
wird in dem Anfangszustand einer Programmierung eine unnötige Verifizierungsoperation
ausgeführt,
wobei dadurch die Programmierungszeit verlängert wird.
-
Da
die Steuerdaten durch Ausführen
der Programmierung und Verifizierung konvertiert werden, hat eine
Datenspeicherschaltung eine Vielzahl von Abtastungsschaltungen.
Bei Erfassung eines gewünschten Programmierungszustands
mit einer Vielzahl von Abtastungsschaltungen zur gleichen Zeit erfasst
eine Abtastungsschaltung manchmal, dass die Programmierung ausreichend
ist, und eine andere Abtastungsschaltung erfasst, dass die Programmierung
unzureichend ist. Dies geschieht wegen der Empfindlichkeitsdifferenz,
die durch die Unregelmäßigkeit
des Transistorleistungsverhaltens umfassend die Abtastungsschaltungen
verursacht wird. Deshalb können
die Steuerdaten manchmal nicht normal konvertiert werden.
-
Wie
bisher erwähnt
wird, obwohl das Mehrstufenspeicherverfahren ein effektives Mittel
zum Erreichen einer hohen Dichte ist, wegen der Differenz in der
Zeit, die für
jede Speicherzelle notwendig ist, um den Programmierungszustand
zu erreichen, die Programmierungszeit zu lang, da eine unnötige Verifizierungslesung ausgeführt wird,
wobei dadurch auch die Programmierungszeit für die Programmierungsverifizierung
verlängert
wird. Durch Erfassen des Programmierungszustands einer Speicherzelle
mit einer Vielzahl von Abtastungsschaltungen zur gleichen Zeit können die
Ergebnisse wegen der Empfindlichkeitsdifferenz differieren, wobei
dadurch die Zuverlässigkeit
zerstört
wird.
-
Es
wird auf verwiesen das 1996 Symposium on VLSI Circuits, Digest of
Technical Papers Honolulu, 13.-15. Juni 1996, auf Seiten 170 bis
171, auf denen die Präambel
von Anspruch 1 basiert und wo ein Programmierungsschema hoher Geschwindigkeit
für Mehrstufen-Nand-Flash-Speicher
durch Young-Joon Choi et al erörtert
wird. Es wird auch auf das IEEE Journal of Solid-State Circuits, Vol. 31, Nr. 11, November
1996 auf Seiten 1575 bis 1583 verwiesen, wo "A 117-mm2 3.3-v only 128-mb Mul tilevel
Nand Flash memory for Mass Storage Applications" im Namen von Jung T-S et al erörtert wird.
-
Ein
Ziel der vorliegenden Erfindung besteht darin, einen Mehrstufenspeicher
vorzusehen, der zum Verkürzen
der Programmierungsverifizierungszeit fähig ist.
-
Ein
anderes Ziel der vorliegenden Erfindung besteht darin, einen Mehrstufenspeicher
mit einer hohen Zuverlässigkeit
vorzusehen, der zum Vorsehen stabiler Programmierungsverifizierungsergebnisse
fähig ist.
-
In
der vorliegenden Erfindung wird die nachstehend erwähnte Konfiguration
angenommen, um die oben erwähnten
Probleme zu lösen.
-
Ein
erster Mehrstufenspeicher gemäß der vorliegenden
Erfindung umfasst eine elektrisch programmierbare Speicherzelle
mit mindestens einem gelöschten
Zustand, einem ersten Programmierungszustand und einem zweiten Programmierungszustand,
und eine Programmierungsschaltung zum Programmieren von Daten durch
Wiederholen einer Programmierungsoperation durch Anlegen einer Programmierungsspannung an
die Speicherzelle, und Durchführen
einer ersten Programmierungsverifizierungsoperation, die bestätigt, ob die
Speicherzelle den ersten Programmierungszustand nach der Programmierungsoperation
erreicht hat oder nicht, oder einer zweiten Programmierungsverifizierungsoperation,
die bestätigt,
ob die Speicherzelle den zweiten Programmierungszustand nach der
Programmierungsoperation erreicht hat oder nicht, wobei die Programmierungsschaltung
mindestens zwei Speicherzellen zur gleichen Zeit programmiert und
die Programmierungsoperation und die erste Programmierungsverifizierungsoperation
mit Ausnahme der zweiten Programmierungsverifizierungsoperation
in einer ersten Periode der Datenprogrammierung wiederholt, und
wobei die Programmie rungsschaltung die Programmierungsoperation,
die erste Programmierungsverifizierungsoperation und die zweite
Programmierungsverifizierungsoperation in einer zweiten Periode
nach der ersten Periode der Datenprogrammierung wiederholt.
-
Bevorzugte
Methoden des ersten Mehrstufenspeichers der vorliegenden Erfindung
sind wie folgt.
- (1) Die Programmierungsschaltung
wiederholt die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation
mit Ausnahme der ersten Programmierungsverifizierungsoperation in
einer dritten Periode nach der zweiten Periode.
- (2) Die Programmierungsschaltung ändert die Programmierungsspannung,
die an die Speicherzelle anzulegen ist, wenn von der Speicherzelle
bestätigt
wird, den vorbestimmten Programmierungszustand erreicht zu haben.
- (3) Die Programmierungsschaltung ändert die Programmierungsspannung,
die an die Speicherzelle anzulegen ist, die in dem ersten Programmierungszustand
zu sein hat, wenn von der Speicherzelle, die in dem ersten Programmierungszustand
zu sein hat, bestätigt
wird, den ersten Programmierungszustand erreicht zu haben, und ändert die
Programmierungsspannung, die an die Speicherzelle anzulegen ist,
die in dem zweiten Programmierungszustand zu sein hat, wenn von
der Speicherzelle, die in dem zweiten Programmierungszustand zu
sein hat, bestätigt
wird, den zweiten Programmierungszustand erreicht zu haben.
- (4) Die erste Periode wird vorausgehend bestimmt.
- (5) Die Programmierungsschaltung wiederholt die Programmierungsoperation
und die zweite Programmierungsverifizierungs operation mit Ausnahme
der ersten Programmierungsverifizierungsoperation, wenn von allen
Speicherzellen, die in dem ersten Programmierungszustand zu sein
haben, bestätigt
wird, den ersten Programmierungszustand erreicht zu haben.
- (6) Die Programmierungsschaltung erfasst gleichzeitig, ob alle
Speicherzellen, die in dem ersten Programmierungszustand zu sein
haben, den ersten Programmierungszustand erreicht haben oder nicht.
- (7) Die Programmierungsschaltung erfasst gleichzeitig, ob alle
Speicherzellen, die in dem zweiten Programmierungszustand zu sein
haben, den zweiten Programmierungszustand erreicht haben oder nicht.
- (8) Die Programmierungsschaltung legt eine gleiche Programmierungsspannung
an die Speicherzelle, die in dem ersten Programmierungszustand zu
sein hat, und an die Speicherzelle, die in den zweiten Programmierungszustand
zu sein hat, an.
- (9) Die Programmierungsschaltung schließt die Programmierungsoperation
nach einer Bestätigung
ab, dass alle Speicherzellen, an die Programmierung angewendet wird,
einen gewünschten
Programmierungszustand erreicht haben.
- (10) Die Programmierungsschaltung erfasst gleichzeitig, dass
alle Speicherzellen, an die Programmierung angewendet wird, den
gewünschten
Programmierungszustand erreicht haben.
-
Ein
Mehrstufenspeicher gemäß der vorliegenden
Erfindung führt
die Programmierungsverifizierung basierend nur auf dem Programmierungszustand
aus, wo die Programmierungsverifizierung, die nach Programmierung
auszuführen
ist, notwendig ist. D.h. es wird Verifizierungslesen von Daten "1", "2", "3" ausgewählt und ausgeführt. Da
sich die Zeit, die zum Erreichen des Programmierungszustands für jede Speicherzelle
notwendig ist, unterscheidet, wird das Verifizierungslesen in Anbetracht
dessen nur ausgeführt,
wenn es notwendig ist. Dadurch kann eine unnötige Programmierungsverifizierungszeit
weggelassen werden, und somit kann ein Mehrstufenspeicher, der bei
einer hohen Geschwindigkeit programmierbar ist, realisiert werden.
-
Die
Erfindung kann aus der folgenden detaillierten Beschreibung vollständiger verstanden
werden, wenn in Verbindung mit den begleitenden Zeichnungen aufgenommen,
in denen:
-
1 ein
Blockdiagramm ist, das eine schematische Konfiguration eines Mehrstufenspeichers
der vorliegenden Erfindung zeigt;
-
2 ein
Schaltungsdiagramm ist, das eine Konfiguration einer Speicherzellenanordnung
und einer Bitleitungssteuerschaltung einer ersten Ausführungsform
der vorliegenden Erfindung zeigt, die in 1 gezeigt
wird;
-
3A und 3B Querschnittsansichten
der Speicherzelle und eines Auswahltransistors, gezeigt in 2,
sind;
-
4 eine
Querschnittsansicht einer Zelleneinheit vom NAND-Typ, gezeigt in 2, ist;
-
5 ein
Schaltungsdiagramm zum Erläutern
einer weiteren konkreten Konfiguration der Speicherzellenanordnung
und einer Datenspeicherschaltung, gezeigt in 2, ist;
-
6 ein
Diagramm ist, das eine Konfiguration einer Datenerfassungsschaltung,
gezeigt in 1, zeigt;
-
7 ein
Zeitsteuerdiagramm ist, das die Leseoperation von Vier-Stufen-Daten
zeigt, die in der Speicherzelle in der ers ten Ausführungsform
der vorliegenden Erfindung gespeichert sind;
-
8 ein
Zeitsteuerdiagramm ist, das die anfängliche Einstellung von Steuerdaten
zu der Datenspeicherschaltung und die Programmierungsoperation in
der ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
9 ein
Zeitsteuerdiagramm ist, das die Programmierungsverifizierungsoperation
in der ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
10 ein
Flussdiagramm ist, das den Programmfluss eines Mehrstufenspeichers
in der ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
11 ein
Diagramm ist, das die Programmierungscharakteristik einer Speicherzelle
in der ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
12 ein
Diagramm ist, das eine Modifikation der Datenerfassungsschaltung,
gezeigt in 1, zeigt;
-
13 ein
Flussdiagramm ist, das eine Modifikation eines Programmflusses eines
Mehrstufenspeichers in der ersten Ausführungsform der vorliegenden
Erfindung zeigt;
-
14 ein
Schaltungsdiagramm zum Erläutern
einer konkreten Konfiguration der Speicherzellenanordnung und der
Bitleitungssteuerschaltung der zweiten Ausführungsform der vorliegenden
Erfindung, gezeigt in 1, ist;
-
15A und 15B ein
Symboldiagramm eines Taktsynchroninverters, gezeigt in 14,
und ein detailliertes Schaltungsdiagramm davon sind;
-
16A und 16B Zeitsteuerdiagramme
sind, die die Leseoperation von Vier-Stufen-Daten zeigen, die in
der Speicherzelle in der zweiten Ausführungsform der vorliegenden
Erfindung gespeichert sind;
-
17 ein
Zeitsteuerdiagramm ist, das die anfängliche Einstellung von Steuerdaten
zu der Datenspeicherschaltung und die Programmierungsoperation in
der zweiten Ausführungsform
der vorliegenden Erfindung zeigt;
-
18A bis 18C Zeitsteuerdiagramme
sind, die die Programmierungsverifizierungsoperation in der zweiten
Ausführungsform
der vorliegenden Erfindung zeigen;
-
19 ein
Flussdiagramm ist, das den Programmfluss vom Mehrstufenspeicher
in der zweiten Ausführungsform
der vorliegenden Erfindung zeigt;
-
20 ein
Flussdiagramm ist, das eine Modifikation des Programmflusses vom
Mehrstufenspeicher in der zweiten Ausführungsform der vorliegenden
Erfindung zeigt; und
-
21 ein
Diagramm ist, das eine Modifikation der Datenerfassungsschaltung,
gezeigt in 1, zeigt.
-
Hierin
nachstehend werden Ausführungsformen
der vorliegenden Erfindung mit Bezug auf begleitende Zeichnungen
erläutert.
-
1 ist
ein Blockdiagramm, das die schematische Konfiguration eines Mehrstufenspeichers
der vorliegenden Erfindung, speziell eines NAND-Flash-Speichers
vom Mehrstufen-Speichertyp, zeigt.
-
Eine
Speicherzellenanordnung 1 umfasst eine Vielzahl von Speicherzellen,
wo Daten elektrisch neu programmiert werden können, die auf eine Art und
Weise einer Matrix angeordnet sind. Die Speicherzellenanordnung 1 inkludiert
eine Vielzahl von Bitleitungen, die mit jeder Speicherzelle pro
Zeile zu verbinden sind, und eine Vielzahl von Wortleitungen, die
mit jeder Speicherzelle pro Spalte zu verbinden sind. Eine Bitleitungssteuerschaltung 2 zum
Steuern der Bitleitungen, und eine Wortleitungssteuerschaltung 6 sind
für die
Speicherzellenanordnung 1 vorgesehen.
-
Die
Bitleitungssteuerschaltung 2 liest Daten in den Speicherzellen
der Speicherzellenanordnung 1 über die Bitleitungen aus, erfasst
den Zustand der Speicherzellen in der Speicherzellenanordnung 1 über die Bitleitungen
oder programmiert die Speicherzellen durch Anlegen einer Programmierungssteuerspannung
an die Speicherzellen in der Speicherzellenanordnung 1 über die
Bitleitungen. Die Bitleitungssteuerschaltung 2 inkludiert
eine Vielzahl von Datenspeicherschaltungen. Daten der Speicherzellen,
die aus einer Datenspeicherschaltung ausgelesen werden, ausgewählt durch
einen Spaltendecoder 3, werden nach außen von einem Dateneingangs-/Ausgangsanschluss 5 über einen
Dateneingangs-/Ausgangspuffer 4 ausgegeben. Programmierungsdaten,
die von außerhalb
zu dem Dateneingangs-/Ausgangsanschluss 5 eingegeben
werden, werden zu einer Datenspeicherschaltung, die durch den Spaltendecoder 3 ausgewählt wird,
als die Anfangssteuerdaten über
den Dateneingangs-/Ausgangspuffer 4 eingegeben. Um den
Inhalt zu erfassen, der in der Vielzahl von Datenspeicherschaltungen
gespeichert ist, die in der Bitleitungssteuerschaltung 2 inkludiert
sind, ist eine Datenerfassungsschaltung 9 vorgesehen.
-
Die
Wortleitungssteuerschaltung 6 wählt eine Wortleitung in der
Speicherzellenanordnung 1, liest, programmiert oder legt
eine Spannung dazu an, die für
eine Löschung
notwendig ist.
-
Die
Speicherzellenanordnung 1, die Bitleitungssteuerschaltung 2,
der Spaltendecoder 3, der Dateneingangs-/Ausgangspuffer 4,
die Wortleitungssteuerschaltung 6 und die Datenerfassungsschaltung 9 werden durch
eine Steuersignal- und Steuerspannungsgenerierungsschaltung 7 gesteuert.
Die Steuersignal- und Steuerspannungsgenerierungsschaltung 7 wird
durch ein Steuersignal gesteuert, das von außerhalb zu einem Steuersignaleingangsanschluss 8 eingegeben
wird. Ferner reagiert sie auf den Inhalt der Vielzahl von Datenspeicherschaltungen,
die in der Bitleitungssteuerschaltung 2 inkludiert sind,
erfasst durch die Datenerfassungsschaltung 9.
-
2 zeigt
eine Konfiguration der Speicherzellenanordnung 1 und der
Bitleitungssteuerschaltung 2, die in 1 der
ersten Ausführungsform
der vorliegenden Erfindung gezeigt werden.
-
Ein
Ende einer Zelleneinheit vom NAND-Typ, wo vier Speicherzellen M
seriell verbunden sind, ist mit einer Bitleitung BL über einen
Auswahltransistor S verbunden, und das andere Ende ist mit einer
gemeinsamen Source-Leitung SRC über
einen Auswahltransistor 5 verbunden. Eine Steuergatter-Elektrode
der Speicherzelle M ist mit einer Wortleitung WL verbunden. Die
zwei Auswahltransistoren S sind mit Auswahlgattern SG1 bzw. SG2
verbunden. Die Speicherzellen M, die eine Wortleitung WL gemeinsam
nutzen, bilden eine Einheit, die Seite genannt wird. Ein Block wird
mit vier Seiten gebildet. Hier wird ein Beispiel von zwei Blöcken gezeigt,
aber die Zahl kann eine optionale ganze Zahl sein, z.B. 1024 Blöcke. Es
werden 4224 Bitleitungen BL von BL0 bis BL4223 gezeigt, aber die
Zahl kann eine optionale ganze Zahl sein, z.B. 2112 Bitleitungen.
-
Die
Bitleitungssteuerschaltung 2 inkludiert eine Vielzahl von
Datenspeicherschaltungen 10. Hier ist eine Datenspeicher schaltung 10 für zwei Stücke von
Bitleitungen BL vorgesehen, aber die Zahl kann eine optionale ganze
Zahl sein, z.B. kann eine für
eine, vier, sechs oder neun Bitleitungen vorgesehen sein. Ein Signal CSL
ist ein Ausgangssignal von dem Spaltendecoder 3. Z.B. werden
Daten der Speicherzellen, die in der Datenspeicherschaltung 10 gespeichert
sind, die mit den Bitleitungen BL0, BL1 verbunden ist, zu dem Dateneingangs-/Ausgangspuffer 4 durch
CSL0 und CSL1 ausgegeben. Z.B. werden Steuerdaten anfangs von dem
Dateneingangs-/Ausgangspuffer 4 zu der Datenspeicherschaltung 10,
die mit den Bitleitungen BL2, BL3 verbunden ist, durch CSL2 und
CSL3 transferiert. Die Datenspeicherschaltung 10 liest
die Daten einer Speicherzelle, die mit einer der Bitleitungen verbunden
ist, zum Zeitpunkt des Lesens. Ferner legt sie ein Programmierungssteuersignal
gemäß den Steuerdaten,
die in einer Speicherzelle gespeichert sind, die mit einer der Bitleitungen verbunden
ist, zur Zeit einer Programmierung an. Sie erfasst den Programmierungszustand
einer Speicherzelle, die mit einer der Bitleitungen verbunden ist
zur Zeit der Programmierungszustandserfassung.
-
3A und 3B sind
Querschnittsansichten der Speicherzelle M und des Auswahltransistors
S, die in 2 gezeigt werden. Eine Diffusionsschicht
vom n-Typ 12 wird auf der Fläche eines Halbleitersubstrats vom
p-Typ 11 gebildet. In der Speicherzelle M wird ein schwebendes
Gatter 14 auf dem Halbleitersubstrat 11 über einen
Isolationsfilm 13 gebildet, und es wird ein Steuergatter 16,
das als eine Wortleitung WL dient, darauf über einen Isolationsfilm 15 gebildet.
In dem Auswahltransistor S wird ein Auswahlgatter 18, das
als ein Auswahlgatter SG dient, auf einem Halbleitersubstrat 11 über einen
Isolationsfilm 17 gebildet.
-
4 ist
eine Querschnittsansicht der Zelleneinheit vom NAND-Typ, die in 2 gezeigt
wird, mit zwei Auswahltran sistoren an beiden Enden. Vier Speicherzellen
M sind seriell mit einem Ende verbunden, das mit einer gemeinsamen
Source-Leitung SRC über einen
Auswahltransistor S verbunden ist. Das andere Ende ist mit einer
Bitleitung BL über
einen Auswahltransistor S verbunden. Zur Zeit einer Programmierung
werden z.B. 20V an eine ausgewählte
Wortleitung WL angelegt. Andererseits werden 10V an nicht-ausgewählte Wortleitungen
WL1, WL3 und WL4 angelegt. Eine Energieversorgungsspannung VCC wird
an ein Auswahlgatter SG1 angelegt. 0V werden an ein Auswahlgatter
SG2 angelegt.
-
In
dem Fall einer Vier-Stufen-Speichereinrichtung wird bei Programmierung
von Daten "1", "2", "3" die Bitleitung BL
auf 0V gesetzt. Entsprechend werden Elektronen in ein schwebendes
Gatter in der ausgewählten Speicherzelle
injiziert, um eine positive Schwellenspannung aufzuweisen. Bei Programmierung
von Daten "0" wird die Energieversorgungsspannung
VCC an die Bitleitung BL angelegt. In diesem Fall werden Elektronen nicht
in das schwebende Gatter injiziert. Die Spannung von Bitleitung
BL bei Programmierung der Daten "1", "2", "3" kann nicht 0V sein.
Es ist z.B. möglich,
die Spannung der Bitleitung BL zum Programmieren der Daten "1" auf 0,8V zu setzen, und die Bitleitung
BL zum Programmieren der Daten "2", "3" auf 0V zu setzen. Dies ist so, da die
Elektronenmenge, die zu dem schwebenden Gatter der Speicherzelle
M zum Speichern der Daten "1" zu injizieren ist,
kleiner als die Elektronenmenge sein kann, die zum Speichern der
Daten "2", "3" zu injizieren ist. Die Spannung der
Bitleitung BL zum Programmieren der Daten "1", "2", "3" kann voneinander
verschieden sein. Z.B. können
sie jeweils 0,8V, 0,4V und 0V sein.
-
Zur
Zeit einer Löschung
wird die Substratspannung Vsub auf 20V gesetzt. Die Auswahlgatter
SG1 und SG2, die gemeinsame Source-Leitung SRC, die Bitleitung BL
werden auch auf 20V gesetzt. Mit den Wortleitungen WL1 bis WL4 des
Blockes, der zu löschen
ist, auf 0V gesetzt, werden Elektronen von dem schwebenden Gatter
entladen, um eine negative Schwellenspannung zu haben (Daten "0" Zustand). Mit den Wortleitungen WL1
bis WL4 eines Blockes, der nicht zu löschen ist, auf 20V gesetzt,
werden Elektronen von dem schwebenden Gatter nicht entladen.
-
In
dem Fall eines Vier-Stufenspeichers wird die Schwellenspannung der
Speicherzelle entsprechend den Daten "0" auf
0V oder weniger gesetzt, die Schwellenspannung der Speicherzelle
entsprechend den Daten "1" wird auf 0,4V bis
0,8V gesetzt, die Schwellenspannung der Speicherzelle entsprechend
den Daten "2" wird auf 1,2V bis
1,6V gesetzt und die Schwellenspannung der Speicherzelle entsprechend
den Daten "3" wird auf 2,0V bis
2,4V gesetzt. Zur Zeit des Lesens wird die ausgewählte Wortleitung
WL2 auf Vread gesetzt. Die nicht-gewählten Wortleitungen WL1, WL3
und WL4 werden auf die Energieversorgungsspannung VCC (z.B. 3,3V)
gesetzt. Die Auswahlgatter SG1 und SG2 werden auch auf VCC gesetzt.
Die gemeinsame Source-Leitung
SRC wird auf 0V gesetzt.
- (1) Mit Vread auf
0V gesetzt, bleibt, falls die gewählte Speicherzelle die Daten "1", "2" oder "3" speichert, die Spannung der Bitleitung,
die auf VCC geladen ist in dem schwebenden Zustand auf VCC. Falls
die gewählte
Speicherzelle die Daten "0" speichert, senkt
sich die Spannung der Bitleitung, die auf VCC geladen ist in dem
schwebenden Zustand auf 0V ab.
- (2) Mit Vread auf 1V gesetzt, bleibt, falls die gewählte Speicherzelle
die Daten "2" oder "3" speichert, die Spannung der Bitleitung,
die auf VCC geladen ist in dem schwebenden Zustand auf VCC. Falls
die gewählte
Speicherzelle die Daten "0" oder "1" speichert, senkt sich die Spannung
der Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand
auf 0V ab.
- (3) Mit Vread auf 1,8V gesetzt, bleibt, falls die gewählte Speicherzelle
die Daten "3" speichert, die Spannung der
Bitleitung, die auf VCC geladen ist in dem schwebenden Zustand auf
VCC. Falls die gewählte
Speicherzelle die Daten "1", "2" oder "3" speichert,
senkt sich die Spannung der Bitleitung, die auf VCC geladen ist in
dem schwebenden Zustand auf 0V ab.
-
Wie
die oben erwähnten
(1) bis (3), können
durch Erfassen der Spannung der Bitleitung, wenn die Spannung Vread
geändert
wird, die Daten, die in der Speicherzelle M gespeichert sind, beurteilt
werden.
-
5 dient
zur Erläuterung
einer weiteren konkreten Konfiguration der Speicherzellenanordnung 1 und
der Datenspeicherschaltung 10, die in 2 gezeigt
werden. Es wird eine Teilschaltungskonfiguration gezeigt, wobei
der Bitleitung BLi und BLi+1 Aufmerksamkeit geschenkt wird. Hier
wird eine Konfiguration eines Vier-Stufen-Speicher-Flash-Speichers
präsentiert.
-
Die
Datenspeicherschaltung 10 umfasst erste und zweite Teildatenschaltungen 20 und 21,
inkludierend jeweils eine Flip-Flop-Schaltung.
Speziell umfasst die erste Teildatenschaltung 20 p-Kanal-MOS-Transistoren
Qp1 und Qp2, und n-Kanal-MOS-Transistoren
Qn1, Qn2, Qn4, Qn5 und Qn8. Die zweite Teildatenschaltung 21 umfasst
p-Kanal-MOS-Transistoren Qp4 und Qp5, und n-Kanal-MOS-Transistoren
Qn12, Qn13, Qn15, Qn16 und Qn19. Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern
erste und zweite Teildaten zur Zeit einer Programmierung, und speichern
erste und zweite Leseteildaten zur Zeit des Lesens. P-Kanal-MOS-Transistoren
Qp3 und Qp6 dienen zum Rücksetzen
der ersten und zweiten Teildatenschaltungen 20 bzw. 21.
Wenn zurückgesetzt,
wird ein Knoten Nai in der ersten Teildatenschaltung 20 "H"-Pegel. Dies ist der Zustand, wo die
erste Teildatenschaltung 20 die ersten Leseteildaten von "1" oder die ersten Teildaten von "1" speichert. Wenn zurückgesetzt, wird ein Knoten
Nai+1 in der zweiten Teildatenschaltung 21 "H"-Pegel. Dies ist der Zustand, wo die
zweite Teildatenschaltung 21 die zweiten Leseteildaten
von "1" oder die zweiten Teildaten
von "1" speichert. Wenn
der Knoten Nai in der ersten Teildatenschaltung 20 "L"-Pegel ist, ist dies der Zustand, wo
die erste Teildatenschaltung 20 die ersten Leseteildaten
von "0" oder die ersten
Teildaten von "0" speichert. Wenn
der Knoten Nai+1 in der zweiten Teildatenschaltung 21 "L"-Pegel ist, ist dies der Zustand, wo die
zweite Teildatenschaltung 21 die zweiten Leseteildaten
von "0" oder die zweiten
Teildaten von "0" speichert.
-
Die
n-Kanal-MOS-Transistoren Qn6 und Qn17 dienen zum elektrischen Verbinden
der ersten und zweiten Teildatenschaltungen 20 und 21 mit
Dateneingangs-/Ausgangsleitungen IOL und IOU. An jede Gatterelektrode
wird die Ausgabe CSLi und CSLi+1 von dem Spaltendecoder 3 angelegt.
Mit z.B. CSLi auf "H" werden die erste
Teildatenschaltung 20 der Datenspeicherschaltung 10,
die für
die Bitleitungen BLi und BLi+1 vorgesehen ist, und die Dateneingangs-/Ausgangsleitung
IOL elektrisch verbunden. Die Dateneingangs-/Ausgangsleitungen IOL
und IOU werden mit dem Dateneingangs-/Ausgangspuffer 4 verbunden,
sodass Teildaten in der ersten Teildatenschaltung 20 gesetzt
werden können.
Oder Leseteildaten der ersten Teildatenschaltung 20 können zu
dem Dateneingangs-/Ausgangspuffer 4 ausgegeben werden.
N-Kanal-MOS-Transistoren Qn3 und Qn14 dienen für eine Voreinstellung von Teildaten
von "0" in den ersten und
zweiten Teildatenschaltungen 20 und 21. Wenn gerade
voreingestellt, wird der Knoten Nai in der ersten Teildatenschaltung 20 "L"-Pegel. Wenn gerade voreingestellt,
wird der Knoten Nai+1 in der zweiten Teildatenschaltung 21 "L"-Pegel.
-
N-Kanal-MOS-Transistoren
Qn7 und Qn8 steuern die Spannung der Bitleitung BLi oder BLi+1 gemäß den ersten
Teildaten, die in der ersten Teildatenschaltung 20 gespeichert
sind. N-Kanal-MOS-Transistoren Qn18
und Qn19 steuern die Spannung der Bitleitung BLi oder BLi+1 gemäß den zweiten
Teildaten, die in der zweiten Teildatenschaltung 21 gespeichert
sind.
-
N-Kanal-MOS-Transistoren
Qn7 und Qn9 setzen die Spannung der Bitleitung BLi oder BLi+1 auf
0V, wenn die ersten Teildaten von "1" in
der ersten Teildatenschaltung 20 gespeichert sind. N-Kanal-MOS-Transistoren
Qn18 und Qn20 setzen die Spannung der Bitleitung BLi oder BLi+1
auf 0V, wenn die zweiten Teildaten von "1" in
der zweiten Teildatenschaltung 21 gespeichert sind.
-
N-Kanal-MOS-Transistoren
Qn10 und Qn21 steuern die elektrische Verbindung der ersten und
zweiten Teildatenschaltungen 20 und 21, und die
Bitleitung BLi oder BLi+1. Wenn das Signal BLC1 "H" ist
und das Signal BLC2 "L" ist, sind die erste
und zweite Teildatenschaltung 20 und 21, und die
Bitleitung BLi elektrisch verbunden. Wenn das Signal BLC1 "L" ist und das Signal BLC2 "H" ist, sind die ersten und zweiten Teildatenschaltungen 20 und 21,
und die Bitleitung BLi+1 elektrisch verbunden.
-
N-Kanal-MOS-Transistoren
Qn11 und Qn22 steuern die elektrische Verbindung der Bitleitung
BLi und der Spannung VBL1, und die elektrische Verbindung der Bitleitung
BLi+1 und der Spannung VBL2. Wenn das Signal PRE1 "H" ist, sind die Bitleitung BL1 und die
Spannung VBL1 elektrisch verbunden. Wenn das Signal PRE2 "H", sind die Bitleitung BLj+1 und die
Spannung VBL2 elektrisch verbunden.
-
Signale
RST, SEN1, RD1, RD2, PRO1, PRO2, PRST, BLC1, BLC2, PRE1, PRE2, Spannungen
VRP, VBL1, VBL2 sind Ausgangssignale der Steuersignal- und Steuerspannungsgenerierungsschaltung 7,
die allen Datenspeicherschaltungen 10 gemeinsam sind, die
in 2 gezeigt wird. Die Dateneingangs-/Ausgangsleitungen
IOL und IOU sind mit dem Dateneingangs-/Ausgangspuffer 4 verbunden,
die allen Datenspeicherschaltungen 10 gemeinsam sind, die
in 2 gezeigt wird. Die Spannung VCC ist eine Energieversorgungsspannung,
und ist z.B. 3,3V.
-
Die
ersten und zweiten Teildatenschaltungen 20 und 21 speichern
Teildaten von "0" oder "1". Andererseits ändert jede von ihnen die gespeicherten
Teildaten von "1" reagierend auf den "H"-Pegel des Bitleitungssignals auf Teildaten
von "0" als eine Abtastschaltung,
und speichert die Teildaten von "0". Die ersten und
zweiten Teildatenschaltungen 20 und 21 speichern
Leseteildaten von "0" oder "1", und jede von ihnen ändert die gespeicherten
Leseteildaten von "1" reagierend auf den "H"-Pegel des Bitleitungssignals auf Leseteildaten
von "0", und speichert die
Teildaten von "0".
-
Wenn
das Signal SEN1 oder SEN2, gezeigt in 5, "H" wird, wobei der "H"-Pegel
der Bitleitung BL zu der Gatterelektrode des n-Kanal-MOS-Transistors
Qn5 oder Qn16 transferiert wird, wird der n-Kanal-MOS-Transistor
Qn5 oder Qn16 ausgeführt,
und der Knoten Nai oder Nai+1 wird der "L"-Pegel.
Entsprechend werden die Teildaten oder Leseteildaten von "1" zu den Teildaten oder Leseteildaten
von "0" geändert. Da
die Teildaten oder Leseteildaten von "0" den
Knoten Nai oder Nai+1 des "L"-Pegels haben, werden sie nicht geändert. Ferner
werden die Teildaten oder Leseteildaten nicht durch den "L"-Pegel der Bitleitung BL geändert, da
der n-Kanal-MOS-Transistor Qn5 oder Qn16 nicht ausgeführt wird.
Die ersten und zweiten Teildatenschaltungen können nicht nur in der Konfiguration
realisiert werden, die in 5 gezeigt
wird, sondern auch in verschiedenen Schaltungen mit den oben erwähnten Funktionen.
-
6 zeigt
eine konkrete Konfiguration der Datenerfassungsschaltung 9,
die in 1 gezeigt wird. Durch eine Schaltung, umfassend
einen Inverter I1, NAND-Logikschaltungen G1, G2, G3, wird erfasst,
ob Steuerdaten von "1" in den Datenspeicherschaltungen 10 existieren
oder nicht. Wenn selbst eine der Datenspeicherschaltungen 10 Steuerdaten
von "1" hat, wird das Signal
FR1 "H". Durch eine Schaltung,
umfassend einen Inverter I2, NAND-Logikschaltungen G4, G5, G6, wird
erfasst, ob Steuerdaten von "2" in den Datenspeicherschaltungen 10 existieren
oder nicht. Selbst wenn eine der Datenspeicherschaltungen 10 Steuerdaten
von "2" hat, wird das Signal
FR2 "H". Durch eine Schaltung,
umfassend einen Inverter I3, NAND-Logikschaltungen G7, G8, G9, wird erfasst,
ob Steuerdaten von "3" in den Datenspeicherschaltungen 10 existieren
oder nicht. Wenn selbst eine der Datenspeicherschaltungen 10 Steuerdaten
von "1" hat, wird das Signal
FR3 "H". Wenn das Signal
DT "H" ist, werden die
Steuerdaten der Datenspeicherschaltungen 10 über die
Dateneingangs-/Ausgangsleitungen IOL und IOU erfasst. Wenn das Signal
DRSTB "L" wird, werden die
Signale FR1, FR2, FR3 auf "L" zurückgesetzt.
Die Signale DT, DRSTB sind Ausgangssignale der Steuersignal- und
Steuerspannungsgenerierungsschaltung 7. Die Signale FR1,
FR2, FR3 werden zu der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 zurückgekoppelt.
-
7 zeigt
die Leseoperation von Vier-Stufen-Daten, die in einer Speicherzelle
gespeichert sind. Hier wird ein Beispiel gezeigt, wo Bitleitungen
BL0, BL2,..., BLi,..., BL4222 ausgewählt sind (BLi wird als der
Repräsentant
davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe
definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher
leicht realisiert werden. Die Spannungen VBL1, VBL2 sind während der
Leseoperation 0V.
-
Das
Signal BLC1 wird "H", sodass die Bitleitung
BLi ausgewählt
wird (t1). Durch das Signal RST werden die ersten und zweiten Leseteildaten
von "1" in den ersten und
zweiten Teildatenschaltungen 20 bzw. 21 gesetzt
(t1 bis t2). Die Spannung VRP wird die Energieversorgungsspannung
VCC (t1).
-
Das
Signal PRE1 wird "L", sodass die Bitleitung
BLi und die Spannung VBL1 getrennt werden (t3). Das Signal PRO2
wird "H" (t3), und die Bitleitung
BLi wird auf den Pegel "H" durch die zweite
Teildatenschaltung 21 geladen (t3 bis t4). Dann werden
die Auswahlgatter SG1 und SG2 des gewählten Blocks und die nicht-gewählten Wortleitungen
WL1, WL3, WL4 gesetzt, die Energieversorgungsspannung VCC zu sein,
sodass die ausgewählte
Wortleitung WL2 1,8V wird (t4). Die Beziehung zwischen den Daten,
die in der Speicherzelle M gespeichert sind, und den Schwellen wird
in Tabelle 1 gezeigt.
-
-
Mit
der gewählten
Wortleitung WL2 auf 1,8V verbleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten
von "3" speichert (7(1)). In den anderen Fällen wird
die Bitleitung BLi "L" (7(2)).
Dann wird mit den Signalen SEN1 und SEN2 auf "H" die
Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen
(t5 bis t6). Nur in dem Fall, dass die Speicherzelle die Daten von "3" speichert, werden die ersten und zweiten
Leseteildaten der ersten und zweiten Teildatenschaltungen 20 und 21 "0". In den anderen Fällen verbleiben die ersten
und zweiten Leseteildaten "1".
-
Das
Signal PRE1 wird "H" (t6 bis t7), sodass
die Bitleitung BLi auf 0V zurückgesetzt
wird. Dann wird das Signal PRO2 "H" (t7 bis t8), sodass
nur, wenn die zweiten Leseteildaten "1" sind,
die Bitleitung BLi durch die Spannung VRP auf den Pegel "H" geladen wird (t7 bis t8). Die Bitleitung
BLi verbleibt auf dem Pegel "L", wenn die zweiten
Leseteildaten, die in der zweiten Teildatenschaltung 21 gespeichert
sind, "0" sind (7(5)). Die gewählten Gatter SG1 und SG2 des
gewählten
Blocks und die nicht-gewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, sodass die gewählte
Wortleitung WL2 auf 1,0V gesetzt wird (t8).
-
Mit
der gewählten
Wortleitung WL2 auf 1,0V verbleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten
von "2" speichert (7(3)). In diesem Fall speichert die Speicherzelle
die Daten von "1" oder "0", die Bitleitung BLi wird "L" (7(4)).
Dann wird mit dem Signal SEN2 auf "H" die
Spannung der modulierten Bitleitung BLi abgetastet und ausgelesen
(t9 bis t10). Nur in dem Fall, dass die Speicherzelle die Daten
von "2" speichert, ändern sich
die zweiten Leseteildaten von "1" zu "0". In dem Fall, dass die Speicherzelle
die Daten von "1" oder "0" speichert, bleiben die zweiten Leseteildaten "1". In dem Fall, dass die Speicherzelle
die Daten von "3" speichert, sind
die zweiten Leseteildaten bereits "0".
-
Das
Signal PRE1 wird "H" (t10 bis t11), sodass
die Bitleitung BLi auf 0V zurückgesetzt
wird. Dann wird das Signal PRO2 "H" (t11 bis t12), sodass
nur, wenn die zweiten Leseteildaten "1" sind,
die Bitleitung BLi durch die Spannung VRP auf den Pegel "H" geladen wird (t11 bis t12). Die Bitleitung
BLi bleibt auf dem Pegel "L", wenn die zweiten
Leseteildaten, die in der zweiten Teildatenschaltung 21 gespeichert
sind, "0" sind (7(8)). Die Auswahlgatter SG1 und SG2 des
ausgewählten
Blocks und die nicht-gewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, sodass die gewählte
Wortleitung WL2 auf 1,0V gesetzt wird (t12).
-
Mit
der gewählten
Wortleitung WL2 auf 1,0V bleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten
von "1" speichert (7(6)). In dem Fall, dass die Speicherzelle
die Daten von "0" speichert, wird
die Bitleitung BLi "L" (7(7)).
Mit dem Signal SEN1 auf "H" wird dann die Spannung
der modulierten Bitleitung BLi abgetastet und ausgelesen (t13 bis
t14). Nur in dem Fall, dass die Speicherzelle die Daten von "1" speichert, ändern sich die zweiten Leseteildaten
von "1" zu "0". In dem Fall, dass die Speicherzelle
die Daten von "0" speichert, bleiben
die ersten Leseteildaten "1". In dem Fall, dass
die Speicherzelle die Daten von "3" speichert, sind
die ersten Leseteildaten bereits "0".
In dem Fall, dass die Speicherzelle die Daten von "2" speichert, bleiben, da die Spannung
der Bitleitung BLi ungeachtet der Speicherzelle "L" ist,
die ersten Leseteildaten "1".
-
Mit
den Signalen CSLi und CSLi+1 auf "H" werden
die ersten Leseteildaten zu der Dateneingangs-/Ausgangsleitung IOL
so ausgegeben, um nach außen
von der Dateneingangs-/Ausgangsleitung IOU über den Datenausgangspuffer 4 ausgegeben
zu werden. Die zweiten Leseteildaten werden zu der Dateneingangs-/Ausgangsleitung
IOL so ausgegeben, um nach außen
von der Dateneingangs-/Ausgangsleitung IOU über den Datenausgangspuffer 4 ausgegeben
zu werden. Gemäß dem Signal
CSL, das durch den Spaltendecoder 3 ausgewählt wird,
können
erste und zweite Leseteildaten einer optionalen Spaltenadresse ausgegeben werden.
-
Während der
Leseoperation ist die nicht-gewählte
Bitleitung BLi+1 auf der Spannung VBL2 fixiert. Sie ist hierin 0V.
-
Die
Beziehung zwischen den Vier-Stufen-Daten der Speicherzelle und den
ersten und zweiten Leseteildaten wird in Tabelle 2 gezeigt.
-
-
8 zeigt
die anfängliche
Einstellung der Steuerdaten und die Programmierungsoperation zu
der Datenspeicherschaltung 10. Hier wird ein Beispiel gezeigt,
wo Bitleitungen BL0, BL2, ..., BLi,..., BL4222 ausgewählt sind
(BLi wird als der Repräsentant
davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe
definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher
leicht realisiert werden.
-
Die
Anfangseinstellung der Steuerdaten zu der Datenspeicherschaltung 10 umfassend
die Bitleitung BLi kann wie nachstehend erwähnt ausgeführt werden. Wenn die anfänglichen
Teildaten der ersten Teildatenschaltung 20 zu der Dateneingangs-/Ausgangsleitung
IOL übertragen
werden und das Signal CSL1 "H" wird, werden die
anfänglichen
Teildaten in der ersten Teildatenschaltung 20 gespeichert.
Zur gleichen Zeit werden, wenn die anfänglichen Teildaten der zweiten
Teildatenschaltung 21 zu der Dateneingangs-/Ausgangsleitung IOU
transferiert werden und das Signal CSLi+1 "H" wird,
die anfänglichen
Teildaten in der zweiten Teildatenschaltung 21 gespeichert.
-
Die
Beziehung zwischen den anfänglichen
Steuerdaten und den anfänglichen
Teildaten wird in Tabelle 3 gezeigt.
-
-
Hier
ist es wünschenswert,
das Signal PRST auf "H" zu setzen, sodass
die Steuerdaten von allen Datenspeicherschaltungen 10 auf "0" voreingestellt sind, bevor alle anfänglichen
Steuerdaten gesetzt werden. Wie später beschrieben wird, kann,
da der Zustand der Speicherzelle durch die Steuerdaten "0" nicht geändert werden kann, die anfängliche
Steuerung von außen
nur auf gewünschte
Datenspeicherschaltungen 10 unter den 2112 Stücken der
Datenspeicherschaltungen 10 gesetzt werden. Natürlich können die
anfänglichen
Steuerdaten von außerhalb
zu allen 2112 Stücken
der Datenspeicherschaltungen 10 gesetzt werden.
-
In
der Programmierungsoperation wird das Signal BLC1 "H", sodass die Bitleitung BLi ausgewählt wird (t1).
Wenn das Signal DRSTB "L" wird, wird die Datenerfassungsschaltung 9 zurückgesetzt
(t1 bis t2). Mit der Spannung VBL1 auf VCC wird die gewählte Bitleitung
BLi auf die VCC über
den n-Kanal-MOS-Transistor Qn11 geladen. Dann wird mit dem Signal
PRE1 auf "L" die gewählte Bitleitung
BLi schwebend (t2 bis t3). Mit der Spannung VBL2 auf VCC wird die
gewählte
Bitleitung BLi+1 auf die VCC über
den n-Kanal-MOS-Transistor Qn22 geladen (t2 bis t3). Ferner werden
das Auswahlgatter SG1 und die Wortleitungen WL1 bis 4 VCC (t2 bis t3).
-
Wenn
die Signale PRO1 und PRO2 "H" sind und eine der
ersten und zweiten Teildaten "1" sind, wird die ausgewählte Bitleitung
BLi durch den n-Kanal-MOS-Transistor Qn9 oder Qn20 auf 0V gesetzt
(t3). Als ein Ergebnis wird die Bitleitung BLi die VCC, wenn die
Steuerdaten "0" sind, und wird 0V,
wenn die Steuerdaten "1", "2" oder "3" sind.
Mit der gewählten
Wortleitung WL2 auf 20V, der nicht-gewählten Wortleitung auf 10V, wird
Elektroneninjektion von der Speicherzelle zu dem schwebenden Gatter
gemäß den Steuerdaten
gestartet (t3). Wenn die Bitleitung BL auf der VCC ist, tritt, da
die Potenzialdifferenz zwischen dem Kanal der Speicherzelle und
der Wortleitung klein ist, Elektroneninjektion im wesentlichen nicht
auf.
-
Während die
ausgewählte
Wortleitung WL2 auf 20V gesetzt ist (t3 bis t7), werden die Steuerdaten
erfasst, die in der Datenspeicherschaltung 10 gespeichert
sind. Von CSL0 und CSL1 bis CSL4222 und CSL4223 werden aufeinanderfolgend
durch den Spaltendecoder ausgewählt.
Die Steuerdaten werden zu der Datenerfassungsschaltung 9 über die
Eingangs-/Ausgangsleitungen IOL und IOU transferiert. Ein Beispiel
des Falls, wo CSLi und CSLi+1 ausgewählt sind, wird in 8 gezeigt.
Mit CSLi und CSLi+1 auf "H" (t4 bis t5), den
Steuerdaten, die zu den Dateneingangs-/Ausgangsleitungen IOL und
IOU ausgegeben werden, und dem Signal DT auf "H" werden
die Steuerdaten durch die Datenerfassungsschaltung 9 erfasst
(t5 bis t6). Wenn selbst eine der Datenspeicherschaltungen 10 die
Daten "1" speichert, wird
das Signal FR1 "H". Wenn selbst eine
der Datenspeicherschaltungen 10 die Daten "2" speichert, wird das Signal FR2 "H". Wenn selbst eine der Datenspeicherschaltungen 10 die
Daten "3" speichert, wird
das Signal FR3 "H".
-
Nachdem
die Wortleitungen WL1 bis WL4 auf VCC abgefallen sind (t7 bis t8),
wird die Spannung VBL2 0V, und das Signal PRE1 wird "H", sodass die Bitleitungen BLi, BLi+1
auf 0V zurückgesetzt
werden (t8 bis t9). Die Spannung VBL1 ist 0V. Die Wortleitungen
WL1 bis WL4 werden auch auf 0V zurückgesetzt (t8 bis t9).
-
9 zeigt
die Programmierungsverifizierungsoperation zum Erfassen des Programmierungszustands
der Speicherzelle, nachdem die Programmierungsoperation in der Zeit
von t1 bis t9, gezeigt in 8, geschehen
ist. Hier wird ein Beispiel gezeigt, wo Bitleitungen BL0, BL2,...,
BLi,..., BL4222 ausgewählt
sind (BLi wird als der Repräsentant
davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Die Spannungen VBL1
und VBL2 sind 0V. Falls die Speicherstufe definiert ist, drei Stufen
zu sein, kann ein Drei-Stufen-Speicher leicht realisiert werden.
-
Das
Signal PRE1 wird "L", sodass die Bitleitung
BLi und die Spannung VBL1 getrennt werden, und die Bitleitung BLi
ist in dem schwebenden Zustand von 0V (t1). Zur gleichen Zeit wird
das Signal BLC1 "H", sodass die Bitleitung
BLi ausgewählt
wird (t1).
-
Mit
der Spannung VRP auf der Energieversorgungsspannung VCC (t2) und
dem Signal PRO2 auf "H" (t3), wird die Bitleitung
BLi entsprechend der Datenspeicherschaltung 10, die die
Steuerdaten von "3" und "2" speichert, auf den Pegel "H" durch den n-Kanal-MOS-Transistor Qn20
geladen (t3 bis t4). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "1" und "0" speichert, bleibt auf dem Pegel "L". Die Auswahlgatter SG1 und SG2 des
ausgewählten
Blocks und die nicht-ausgewählten
Wortleitungen WL1, WL2, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, und die ausgewählte
Wortleitung WL2 wird auf 2,0V gesetzt (t4).
-
Mit
der ausgewählten
Wortleitung WL2 auf 2,0V bleibt, falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung
der Daten "3" erreicht hat, die
Bitleitung BLi auf "H" (9(1)).
Mit der ausgewählten
Wortleitung WL2 auf 2,0V wird, falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung
der Daten "3" nicht erreicht,
die Bitleitung BLi "L" (9(2)).
Da die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "3" nicht erreicht,
wird die Bitleitung BLi "L" (9(3)).
Mit den Signalen SEN1 und SEN2 auf "H" wird
dann die Spannung der modulierten Bitleitung BLi abgetastet und
ausgelesen (t5 bis t6). Nur wenn die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten "3" speichert, den Zustand einer Speicherung
der Daten "3" erreicht, werden
die ersten und zweiten Teildaten der ersten und zweiten Teildatenschaltungen 20 und 21 "0", um die Steuerdaten zu "0" zu ändern.
In anderen Fällen
werden die ersten und zweiten Teildaten beibehalten. Die Zeit von
t2 bis t6 ist die Verifizierungslesung der Daten "3".
-
Mit
den Signalen PRO1 und RD1 auf "H" (t7), wird die Bitleitung
BLi entsprechend der Datenspeicherschaltung 10, die die
Steuerdaten von "2" und "0" speichert, auf den Pegel "H" durch die erste Teildatenschaltung 20 geladen
(t7 bis t8). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "3" und "1" speichert, wird durch die erste Teildatenschaltung 20 auf
den Pegel "L" gesetzt (t7 bis
t8).
-
Dann
werden die Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen
WL1, WL3, WL4 auf die Energieversorgungsspannung VCC gesetzt, und
die aus gewählte
Wortleitung WL2 wird auf 1,2V gesetzt (t8). Mit der ausgewählten Wortleitung
WL2 auf 1,2V bleibt, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Daten "2" speichert, den Zustand
einer Speicherung der Daten "2" erreicht, die Bitleitung
BLi auf "H" (9(4)).
Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "2" nicht erreicht,
wird die Bitleitung BLi "L" (9(5)).
Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Daten "0" speichert, den Zustand
einer Speicherung der Daten "2" oder "3" nicht erreicht, bleibt die Bitleitung
BLi auf "H" (9(4)).
Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "0" speichert, den Zustand
einer Speicherung der Daten "2" nicht erreicht,
wird die Bitleitung BLi "L" (9(5)).
Die Speicherzelle entsprechend der Datenspeicherschaltung 10, die
die Steuerdaten von "3" und "1" speichert, bleibt auf "L" (9(6)).
-
Mit
dem Signal SEN2 auf "H" wird die Spannung
der modulierten Bitleitung BLi abgetastet und ausgelesen (t9 bis
t10). Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "2" erreicht hat, werden
die zweiten Teildaten der zweiten Teildatenschaltung 21 "0", sodass die Steuerdaten zu "0" geändert
werden. In den anderen Fällen werden
die zweiten Teildaten beibehalten. Die Zeit von t7 bis t10 ist die
Verifizierungslesung der Daten "2".
-
Mit
den Signalen PRO2 und RD2 auf "H" (t11) wird die Bitleitung
BLi entsprechend der Datenspeicherschaltung 10, die die
Steuerdaten von "1" und "0" speichert, durch die zweite Teildatenschaltung 21 auf
den Pegel "H" geladen (t11 bis
t12). Die Bitleitung BLi entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "3" und "2" speichert, werden durch die zweite
Teildatenschaltung 21 auf den Pegel "L" gesetzt (t11
bis t12).
-
Die
Auswahlgatter SG1 und SG2 des ausgewählten Blocks und die nicht-ausgewählten Wortleitungen WL1,
WL3, WL4 werden auf die Energieversorgungsspannung VCC gesetzt,
und die ausgewählte
Wortleitung WL2 wird auf 0,4V gesetzt (t12). Mit der ausgewählten Wortleitung
WL2 auf 0,4V bleibt, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die Steuerdaten von "1" speichert, den Zustand
einer Speicherung der Daten "1" erreicht hat, die
Bitleitung BLi auf "H" (9(7)).
Falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "1" speichert, den Zustand
einer Speicherung der Daten "1" nicht erreicht,
wird die Bitleitung BLi auf "L" gesetzt (9(8)). Falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "0" speichert, den Zustand einer Speicherung
der Daten "1" oder "2" oder "3" erreicht
hat, bleibt die Bitleitung BLi auf "H" (9(7)). Falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "0" speichert, den Zustand einer Speicherung der
Daten "1" nicht erreicht,
wird die Bitleitung BLi auf "L" gesetzt (9(8)). Die Bitleitung BLi entsprechend der
Datenspeicherschaltung 10, die die Steuerdaten von "3" und "2" speichert,
bleibt auf "L" (9(9)).
-
Mit
dem Signal SEN1 auf "H" wird dann die Spannung
der modulierten Bitleitung BLi abgetastet und ausgelesen (t13 bis
t14). Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "1" speichert, den Zustand
einer Speicherung der Daten "1" erreicht hat, werden
die ersten Teildaten der ersten Teildatenschaltung 20 "0", sodass die Steuerdaten zu "0" geändert
werden. In den anderen Fällen
werden die ersten Teildaten beibehalten. Die Zeit von t11 bis t14
ist die Verifizierungslesung der Daten "1".
-
Durch
Setzen des Signals PRE1 auf "H" und BLC1 auf "L" im Zeitpunkt t15 ist die Programmierungsverifizierung
abgeschlossen. Durch die Programmierungsverifizierungsoperation
werden die Steuerdaten, die in der Datenspeicherschaltung 10 gespeichert
sind, gemäß dem Programmierungszustand
der Speicherzelle geändert,
wie in Tabelle 4 gezeigt.
-
-
Entsprechend
kann durch Wiederholen der Programmierungsoperation, die in t1 bis
t9 von 8 gezeigt wird, und der Programmierungsverifizierungsoperation,
die in 9 gezeigt wird, bis alle Steuerdaten "0" werden, die Datenprogrammierung (Programm)
für die
Speicherzelle M ausgeführt
werden. In der Realität
werden jedoch die Verifizierungslesung der Daten "3", die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" selektiv ausgeführt, wie nachstehend erwähnt wird.
- (1) Um alle der Verifizierungslesung der Daten "3", der Verifizierungslesung der Daten "2" und der Verifizierungslesung der Daten "1" auszuführen, wird die Programmierungsverifizierungsoperation
ausgeführt,
wie in 9 gezeigt wird.
- (2) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "2" auszuführen, wird Zeit t11 bis t14
von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt
wird.
- (3) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "1" auszuführen, wird Zeit t7 bis t10
von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt
wird.
- (4) Um nur die Verifizierungslesung der Daten "3" auszuführen, wird Zeit t7 bis t14
von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt
wird.
- (5) Um nur die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" auszuführen, wird Zeit t2 bis t6 von
dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt
wird.
- (6) Um nur die Verifizierungslesung der Daten "2" auszuführen, werden Zeit t2 bis t6
und Zeit t11 bis t14 von dem Zeitsteuerungsdiagramm weggelassen,
das in 9 gezeigt wird.
- (7) Um nur die Verifizierungslesung der Daten "1" auszuführen, wird Zeit t2 bis t10
von dem Zeitsteuerungsdiagramm weggelassen, das in 9 gezeigt
wird.
-
10 zeigt
den detaillierten Fluss des Programms in Bezug auf den Mehrstufenspeicher
in der ersten Ausführungsform
der Erfindung. Dieser Programmfluss wird durch die Steuersignal- und Steuerspannungsgenerierungsschaltung 7 gesteuert,
die in 1 gezeigt wird.
-
Durch
den Befehl des Programmstarts, der zu dem Steuersignaleingangsanschluss 8 eingegeben wird,
wird das Programm gestartet. Die Zählerschaltung zum Zählen der
Variablen IWT, die in der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 vorgesehen
ist, wird zurückgesetzt,
um IWT auf 0 zu haben (S1). Die Anfangssteuerdaten für 4224 Bits,
die zu dem Dateneingangs-/Ausgangsanschluss 5 eingegeben werden,
werden in die Datenspeicherschaltung geladen (S2).
-
Nach
Laden der Daten wird die Programmierungsoperation ausgeführt, wobei
die Variable IWT um 1 erhöht
wird (S3). Es wird geprüft,
ob der Ausgang FR3 der Datenerfassungsschaltung 9 "H" ist oder nicht (S4). Falls der Ausgang
FR3 der Datenerfassungsschaltung 9 "H" ist
und die Daten "3" in der Datenspeicherschaltung 10 verbleiben,
kann geprüft
werden, ob die Variable IWT nicht kleiner als das vorbestimmte W3
ist (S5). Falls die Variable IWT nicht kleiner als W3 ist, wird
die Verifizierungslesung der Daten "3" ausgeführt (S6).
Falls der FR3 auf "L" ist oder die Variable
IWT kleiner als W3 ist, wird die Verifizierungslesung der Daten "3" weggelassen.
-
Es
wird geprüft,
ob der Ausgang FR2 der Datenerfassungsschaltung 9 "H" ist oder nicht (S7). Falls der Ausgang
FR2 der Datenerfassungsschaltung 9 "H" ist
und die Daten "2" in der Datenspeicherschaltung 10 verbleiben,
kann geprüft
werden, ob die Variable IWT nicht kleiner als das vorbestimmte W2
ist oder nicht (S8). Falls die Variable IWT nicht kleiner als W2
ist, wird die Verifizierungslesung der Daten "2" ausgeführt (S9).
Falls der FR2 auf "L" ist oder die Variable
IWT kleiner als W2 ist, wird die Verifizierungslesung der Daten "2" weggelassen.
-
Es
wird geprüft,
ob der Ausgang FR1 der Datenerfassungsschaltung 9 "H" ist oder nicht (S10). Falls der Ausgang
FR1 der Datenerfassungsschaltung 9 "H" ist
und die Daten "1" in der Datenspeicherschaltung 10 verbleiben,
kann geprüft
werden, ob die Variable IWT nicht kleiner als das vorbestimmte W1
ist oder nicht (S11). Falls die Variable IWT nicht kleiner als W1
ist, wird die Verifizierungslesung der Daten "1" ausgeführt (S12).
Falls der FR1 auf "L" ist oder die Variable
IWT kleiner als W1 ist, wird die Verifizierungslesung der Daten "1" weggelassen.
-
Falls
alle Ausgänge
FR3, FR2, FR1 der Datenerfassungsschaltung 9 "L" sind, ist das Programm abgeschlossen
(S13, S14, S15). Falls selbst einer der Ausgänge FR3, FR2, FR1 "H" ist, wird die Programmierungsoperation
erneut ausgeführt
(S3). Jedes Mal wird die Variable IWT um 1 erhöht, die Spannung, die an die ausgewählte Wortleitung
zur Zeit der Programmierung angelegt wird (die Spannung der ausgewählten Wortleitung
in der Zeit t3 bis t7, gezeigt in 8), wird
um 0,4V erhöht,
und die Schwellenspannung der Speicherzelle M für die Programmierung "1", "2", "3" wird um 0,4V angehoben. Die vorbestimmten
W1, W2, W3 werden bestimmt, wie nachstehend erwähnt wird.
-
11 zeigt
ein Beispiel der Programmierungscharakteristik der Speicherzelle
M. Die horizontale Achse repräsentiert
die Programmierungsoperationszahl IWT. Die vertikale Achse repräsentiert
die Schwellenspannungen der einfachsten Speicherzelle, die zu programmieren
ist (weißer
Punkt), und der schwersten Speicherzelle, die zu programmieren ist
(schwarzer Punkt) nach der Programmierungsoperationszahl IWT. Die Schwellenspannung
der einfachsten programmierten Speicherzelle erreicht 0,1V nach
der ersten Programmierungsoperation. Zu der Zeit ist die Schwellenspannung
der schwersten programmierten Speicherzelle –1,5V. Da sich jedes Mal die
Programmierungsoperationszahl um 1 erhöht, sich die Spannung der ausgewählten Wortleitung
zu der Zeit der Programmierung um 0,4V er höht, wird die Schwellenspannung
der Speicherzelle im wesentlichen entsprechend um 0,4V angehoben.
-
Da
keine der Schwellenspannungen der Speicherzellen 0,4V nach der ersten
Programmierungsoperation erreicht, ist die gesamte Verifizierungslesung
für die
Daten "3", die Daten "2" und die Daten "1" nicht
erforderlich. von dem zweiten Mal und später ist die Verifizierungslesung
der Daten "1" notwendig, da die Schwellenspannung
der einfachsten programmierten Speicherzelle 0,4V überschreitet.
Deshalb kann das vorbestimmte W1 im voraus als 2 bestimmt werden.
Von dem vierten Mal und später
ist die Verifizierungslesung der Daten "2" notwendig,
da die Schwellenspannung der einfachsten programmierten Speicherzelle
1,2V überschreitet.
Deshalb kann das vorbestimmte W2 im voraus als 4 bestimmt werden.
Von dem sechsten Mal und später
ist die Verifizierungslesung der Daten "3" notwendig,
da die Schwellenspannung der einfachsten programmierten Speicherzelle
2,0V überschreitet.
Deshalb kann das W3 im voraus als 6 bestimmt werden.
-
Nach
der Programmierungsoperation dem sechsten Mal überschreitet sogar die Schwellenspannung der
schwersten programmierten Speicherzelle 0,4V. Deshalb wird der Ausgang
FR1 der Datenerfassungsschaltung "L" mindestens
von IWT = 7 oder später,
und somit ist die Verifizierungslesung der Daten "1" unnötig. Nach
der Programmierungsoperation des achten Mals überschreitet sogar die Schwellenspannung
der schwersten programmierten Speicherzelle 1,2V. Deshalb wird der
Ausgang FR2 der Datenerfassungsschaltung "L" mindestens
von IWT = 9 oder später,
und somit ist die Verifizierungslesung der Daten "2" unnötig. Nach
der Programmierungsoperation des zehnten Mals überschreitet sogar die Schwellenspannung
der schwersten programmierten Speicherzelle 2,0V. Deshalb wird der
Ausgang FR3 der Datenerfassungsschaltung "L" mindestens
von IWT = 11 oder später.
Falls alle von FR1, FR2, FR3 "L" werden, ist das
Programm abgeschlossen, wie in 10 gezeigt.
-
12 zeigt
eine Modifikation der Datenerfassungsschaltung 9, die in 1 gezeigt
wird. Benachbart zu jeder der Datenspeicherschaltungen 10,
die in 2 gezeigt werden, sind n-Kanal-MOS-Transistoren Qn23, Qn24, Qn25,
Qn26, Qn27, Qn28, Qn29, Qn30 vorgesehen. Mit der Gatterelektrode
von Qn23 ist der Knoten Nai+1 der zweiten Teildatenschaltung 21,
gezeigt in 5, verbunden. Mit der Gatterelektrode
von Qn24 ist der Knoten Nai der ersten Teildatenschaltung 20,
gezeigt in 5, verbunden. Mit der Gatterelektrode von
Qn25 ist der Knoten Nbi+1 der zweiten Teildatenschaltung 21,
gezeigt in 5, verbunden. Mit der Gatterelektrode
von Qn26 ist der Knoten Nai der ersten Teildatenschaltung 20,
gezeigt in 5, verbunden. Mit der Gatterelektrode
von Qn27 ist der Knoten Nai+1 der zweiten Teildatenschaltung 21,
gezeigt in 5, verbunden. Mit der Gatterelektrode
von Qn28 ist der Knoten Nbi der zweiten Teildatenschaltung 21,
gezeigt in 5, verbunden. Mit der Gatterelektrode
von Qn29 ist der Knoten Nai+1 der zweiten Teildatenschaltung 21, gezeigt
in 5, verbunden. Mit der Gatterelektrode von Qn30
ist der Knoten Nai der ersten Teildatenschaltung 20, gezeigt
in 5, verbunden.
-
Falls
DECB, eingegeben zu dem Inverter I3, "L" wird,
und der Ausgang PT der Inverter I4, I5 "H" ist, sind
die Steuerdaten aller Datenspeicherschaltungen 10 "0". Falls DECB1B, eingegeben zu dem Inverter
I6, "L" wird, und der Ausgang
FR1 des Inverters I7 "H" ist, sind die Steuerdaten
von mindestens einer der Datenspeicherschaltungen 10 "1". Falls DECB2B, eingegeben zu dem Inverter 28, "L" wird, und der Ausgang FR2 des Inverters
I9 "H" ist, sind die Steuerdaten
von mindestens einer der Datenspeicherschaltungen 10 "2". Falls DECB3B, eingegeben zu dem Inverter
I10, "L" wird, und der Ausgang
FR3 des Inver ters I11 "H" ist, sind die Steuerdaten
von mindestens einer der Datenspeicherschaltungen 10 "3". Die Signale DECB, DEC1B, DEC2B, DEC3B
sind Signale von der Steuersignal- und Steuerspannungsgenerierungsschaltung 7.
Die Signale PT, FR1, FR2, FR3 werden zu der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 zurückgekoppelt. Durch
die Datenerfassungsschaltung 9, die in 12 gezeigt
wird, kann Datenerfassung gleichzeitig bei einer hohen Geschwindigkeit
ausgeführt
werden. Wie in 8 gezeigt, kann deshalb nicht
zu der Zeit der Programmierungsoperation, sondern unmittelbar vor
der Verifizierungslesung der Daten "3" (Zeit
t1 bis t2, gezeigt in 9) das Signal FR3 geprüft werden,
wobei das Signal DEC3B auf "L" gesetzt ist. Ähnlich kann
unmittelbar vor der Verifizierungslesung der Daten "2" (Zeit t6 bis t7, gezeigt in 9)
das Signal FR2 geprüft
werden, wobei das Signal DEC2B auf "L" gesetzt
ist. Unmittelbar vor der Verifizierungslesung der Daten "1" (Zeit t10 bis t11, gezeigt in 9)
kann das Signal FR1 geprüft
werden, wobei das Signal DEC1B auf "L" gesetzt
ist. Nach der Programmierungsverifizierungsoperation, die in 9 gezeigt
wird, können
durch Prüfen
des Signals PT, wobei das Signal DECB auf "L" gesetzt
ist, die Schritte S13, S14, S15 von 10 in
einem Schritt ausgeführt werden.
Deshalb kann die unnötige
Programmierungsoperation für
eine Zeit weggelassen werden, sodass Programmierung bei einer höheren Geschwindigkeit
ausgeführt
werden kann.
-
13 zeigt
den Programmfluss des Falls, wo die Datenerfassungsschaltung 9,
gezeigt in 12, verwendet wird. Die Schritte
S4, S7, S10 können
durch Prüfen
der Signale FR3, FR2, FR1 ausgeführt
werden, wobei die Signale DEC3B, DEC2B, DEC1B auf "L" sind. Der Schritt S13 kann durch Prüfen des
Signals PT ausgeführt
werden, wobei das Signal DECB auf "L" ist.
Da die anderen Fälle
die gleichen sind wie der Fluss, der in 10 gezeigt
wird, ist die Erläuterung
hier nicht vorgesehen.
-
14 ist
ein Schaltungsdiagramm zum Erläutern
der konkreten Konfiguration der Speicherzellenanordnung 1 und
der Bitleitungssteuerschaltung 2, die in 1 gezeigt
werden. Es wird ein Beispiel eines Vier-Stufen-Speicher-EEPROM als
ein Mehrstufenspeicher gezeigt.
-
In
dem Mehrstufenspeicher gemäß der zweiten
Ausführungsform
der vorliegenden Erfindung umfasst die erste Teildatenschaltung 20 in
der Datenspeicherschaltung 10 die Taktsynchroninverter
CI1 und CI2, und die n-Kanal-MOS-Transistoren Qn33, Qn34, Qn35.
Die zweite Teildatenschaltung 21 umfasst die Taktsynchroninverter
CI3 und CI4, und die n-Kanal-MOS-Transistoren Qn40, Qn41, Qn42.
Die ersten und zweiten Teildatenschaltungen 20 und 21 speichern
die ersten bzw. zweiten Teildaten zur Zeit der Programmierung, und
speichern die ersten bzw. zweiten Leseteildaten zur Zeit vom Lesen.
Der Zustand, wo der Knoten Nai in der ersten Teildatenschaltung 20 auf
dem Pegel "H" ist, ist der Zustand,
wo die erste Teildatenschaltung 20 die ersten Leseteildaten
von "1" oder die ersten
Teildaten von "1" speichert. Der Zustand,
wo der Knoten Nai+1 in der zweiten Teildatenschaltung 21 auf
dem Pegel "H" ist, ist der Zustand,
wo die zweite Teildatenschaltung 21 die zweiten Leseteildaten
von "1" oder die zweiten
Teildaten von "1" speichert. Der Zustand,
wo der Knoten Nai in der ersten Teildatenschaltung 20 auf
dem Pegel "L" ist, ist der Zustand,
wo die erste Teildatenschaltung 20 die ersten Leseteildaten
von "0" oder die ersten
Teildaten von "0" speichert. Der Zustand,
wo der Knoten Nai+1 in der zweiten Teildatenschaltung 21 auf
dem Pegel "L" ist, ist der Zustand,
wo die zweite Teildatenschaltung 21 die zweiten Leseteildaten
von "0" oder die zweiten
Teildaten von "0" speichert.
-
Die
n-Kanal-MOS-Transistoren Qn32 und Qn39 dienen zum elektrischen Verbinden
der ersten und zweiten Teildatenschaltungen 20 und 21,
und der Dateneingangs-/Ausgangsleitungen IOL und IOU. Zu der jeweiligen
Gatterelektrode sind die Ausgänge
CSLi und SCLi+1 von dem Spaltendecoder 3 vorgesehen. Wenn z.B.
CSLi "H" erreicht, sind die
erste Teildatenschaltung 20 der Datenspeicherschaltung 10,
vorgesehen zu den Bitleitungen BLi und BLi+1 und die Dateneingangs-/Ausgangsleitung
IOL elektrisch verbunden. Die Dateneingangs-/Ausgangsleitungen IOL
und IOU sind mit dem Dateneingangs-/Ausgangspuffer 4 verbunden,
sodass Teildaten in der ersten Teildatenschaltung 20 gesetzt
werden können.
Oder die Leseteildaten der ersten Teildatenschaltung können zu
dem Dateneingangs-/Ausgangspuffer 4 ausgegeben werden.
-
Die
n-Kanal-MOS-Transistoren Qn36 und Qn43 steuern die elektrische Verbindung
zwischen den ersten und zweiten Teildatenschaltungen 20 und 21,
und der Bitleitung BLi oder BLi+1. Falls das Signal BLC1 "H" ist und BLC2 "L" ist,
sind die ersten und zweiten Teildatenschaltungen 20 und 21,
und die Bitleitung BLi elektrisch verbunden. Falls das Signal BLC1 "L" ist und BLC2 "H" ist,
sind die ersten und zweiten Teildatenschaltungen 20 und 21,
und die Bitleitung BLi+1 elektrisch verbunden.
-
Die
n-Kanal-MOS-Transistoren Qn37 und Qn44 steuern die elektrische Verbindung
zwischen der Bitleitung BLi und der Spannung VBL1, und die elektrische
Verbindung zwischen der Bitleitung BLi+1 und der Spannung VBL2.
Falls das Signal PRE1 "H" ist, sind die Bitleitung
BLi und die Spannung VBL1 elektrisch verbunden. Falls das Signal
PRE2 "H" ist, sind die Bitleitung
BLi+1 und die Spannung VBL2 elektrisch verbunden.
-
Die
n-Kanal-MOS-Transistoren Qn31 und Qn38 dienen zum Setzen des Signals
PRST auf "H" und Einstellen der
Teildaten von "0" in den ersten und
zweiten Teildatenschaltungen 20 und 21.
-
Das
Signal zum Anzeigen der Daten oder des Programmierungszustands der
Speicherzelle wird über die
Bitleitung BLi oder BLi+1 transferiert. Der Taktsynchroninverter
CI1 in der ersten Teildatenschaltung 20 und der Taktsynchroninverter
CI3 in der zweiten Teildatenschaltung 21 funktionieren
auch als der Abtastungsverstärker
zum Abtasten des Logikpegels des Signals der Bitleitung BL. Obwohl
der Taktsynchroninverter den Absolutwert der Spannung der Bitleitung
BL als den Logikpegel in diesem Beispiel abtastet, kann auch ein
Differenzialabtastungsverstärker
verwendet werden. In diesem Fall wird die Differenz in Hinsicht
auf die Bezugsspannung als der Logikpegel erfasst.
-
Die
konkrete Konfiguration des Taktsynchroninverters CI, gezeigt in 14,
wird in 15A und 15B gezeigt. 15A ist ein Symboldiagramm, und 15B ist ein detailliertes Schaltungsdiagramm davon.
Der Eingangsanschluss der Inverterschaltung, umfassend den n-Kanal-MOS-Transistor
Qn45 und den p-Kanal-MOS-Transistor Qp8, ist IN (EIN) und der Ausgangsanschluss
ist OUT (AUS). Um die Inverterschaltung durch das Signal CLOCK (TAKT)
und das Umkehrsignal CLOCK davon zu aktivieren oder zu deaktivieren, sind
der n-Kanal-MOS-Transistor Qn46 und der p-Kanal-MOS-Transistor Qp7
vorgesehen. Das Signal CLOCK wird bei "H" aktiviert,
und das Signal CLOCKB wird bei "L" aktiviert, das Signal
CLOCK wird bei "L" deaktiviert und
das Signal CLOCKB wird bei "H" deaktiviert.
-
Die
Signale SEN1, LAT1, SEN2, LAT2, PRO1, PRO2, BLC1, BLC2, PRE1, PRE2,
VRFY1, VRFY2, PRST, die Spannungen VBL1, VBL2, VREG, VFF sind Ausgangssignale
von der Steuersignal- und Steuerspannungsgenerierungsschaltung 7,
die allen Datenspeicherschaltungen gemeinsam sind, gezeigt in 2. Die
Spannung VCC ist die Energieversorgungsspannung, z.B. 3,3V.
-
Die
ersten und zweiten Teildatenschaltungen 20 und 21 speichern
die Teildaten von "0" oder "1", ändern
die gespeicherten Teildaten von "1" reagierend auf den
Pegel "H" des Bitleitungssignals
zu den Teildaten von "0", und bewahren die
Teildaten von "0". D.h. bevor das
Signal PRO1 oder PRO2 "H" wird, sodass der Spannungspegel
der Bitleitung BL durch den Taktsynchroninverter CI1 oder CI3 abgetastet
wird, wird der Spannungspegel der Bitleitung BL durch die n-Kanal-MOS-Transistoren
Qn34, Qn35 oder Qn41, Qn42 gemäß den ersten
oder zweiten Teildaten abgestimmt. Nur wenn die ersten oder zweiten
Teildaten "0" sind, wird der Spannungspegel
der Bitleitung BL gesetzt, "H" zu sein. Mit dem
Signal PRO1 oder PRO2 auf "H", und dem Pegel "H" der Bitleitung, transferiert zu dem
Eingangsanschluss des Taktsynchroninverters CI1 oder CI3, wird der
Knoten Nai oder Nai+1 auf den Pegel "L" gesetzt.
Ferner werden durch den Taktsynchroninverter CI2 oder CI4 die Teildaten
von "0" gespeichert.
-
Deshalb
werden die ursprünglich
gespeicherten Teildaten von "0" nicht geändert. Andererseits
werden sie, mit den ursprünglich
gespeicherten Teildaten von "1", falls der Pegel
der Bitleitung BL "H" ist, zu den Teildaten
von "0" geändert und
gespeichert. Falls der Pegel der Bitleitung BL "L" ist,
werden die Teildaten von "1" gespeichert. Die
ersten und zweiten Teildatenschaltungen 20 und 21 sind
nicht auf die Konfiguration begrenzt, die in 14 gezeigt
wird, sondern können
in verschiedenen Schaltungen mit den oben erwähnten Funktionen realisiert
werden.
-
16A und 16B zeigen
die Leseoperation der Vier-Stufen-Daten, die in der Speicherzelle
gespeichert sind. Hier wird ein Beispiel gezeigt, wo Bitleitungen
BL0, BL2,..., BLi,..., BL4222 ausgewählt sind (BLi wird als der
Repräsentant
davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe
definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher
einfach realisiert werden. Da die Spannung VBL2 0V ist, BLC2 "L" ist, PRE2 "H" ist,
PRST "L" ist und die Bitleitung
BLi+1 auf 0V bleibt, werden sie in 16A und 16B nicht gezeigt.
-
Mit
der Spannung VBL1 auf 1,3V wird die Bitleitung BLi auf "H" geladen (t1). Mit dem Signal BLC1 auf "H", wird die Bitleitung BLi ausgewählt (t1).
Die Spannung VFF ist auf 2V zum Stabilisieren der Abtastungsempfindlichkeit
der Taktsynchroninverter CI1 und CI3 fixiert, um als die Abtastungsverstärker zu
dienen. Mit dem Signal PRE1 auf "L" werden die Bitleitung
BLi und die Spannung VBL1 getrennt. Dann werden die Auswahlgatter
SG1 und SG2 des ausgewählten
Blocks und die nichtausgewählte
Wortleitung WL1, WL3, WL4 auf die Energieversorgungsspannung VCC
gesetzt, und die ausgewählte
Wortleitung WL2 wird auf 1,8V gesetzt (t2).
-
Hier
wird die Beziehung zwischen den Daten und der Schwellenspannung,
gespeichert in der Speicherzelle, in Tabelle 5 gezeigt.
-
-
Mit
der ausgewählten
Wortleitung WL2 auf 1,8V bleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten "3" speichert. In den anderen Fällen wird
die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1
und SG2, die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt
sind (t3), werden die Signale SEN2 und LAT2 "L",
sodass die Taktsynchroninverter CI3 und CI4 deaktiviert werden (t4).
Mit dem Signal PRO2 auf "H" (t5) und dem Signal
SEN2 auf "H" (t6), wird der Taktsynchroninverter
CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet.
Mit dem Signal LAT1 auf "H" (t7) wird der Taktsynchroninverter
CI4 aktiviert und der abgetastete Logikpegel des Signals der Bitleitung
BLi wird verriegelt. Mit dem Signal PRO1 auf "L" (t8)
ist die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle
M nicht kleiner als 1,8V ist oder nicht, abgeschlossen. Nur wenn
die Speicherzelle die Daten "3" speichert, werden
die ersten Leseteildaten der ersten Teildatenschaltung 21 "0". In den anderen Fällen sind die zweiten Leseteildaten "1".
-
Dann
wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle
M nicht kleiner als 0,0V ist oder nicht, ausgeführt. Mit der Spannung VBL1
auf 1,2V (t8) und dem Signal PRE1 auf "H" wird
die Bitleitung BLi auf "H" geladen (t9). Mit
dem Signal PRE1 auf "L" werden die Bitleitung
BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2
des ausgewählten
Blocks und die nicht-ausgewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, und die ausgewählte Wortleitung
WL2 bleibt auf 0,0V (t10). Zur gleichen Zeit wird das Signal VRFY2
auf 1,3V gesetzt, und der n-Kanal-MOS-Transistor Qn41 wird ausgeführt. Nur
wenn die zweiten Leseteildaten "0" sind, wird das Potenzial
der Bitleitung BLi entsprechend auf "L" durch
die n-Kanal-MOS-Transistoren Qn41, Qn42 geändert (t10 bis t11).
-
Mit
der ausgewählten
Wortleitung WL2 auf 0,0V bleibt; nur wenn die Speicherzelle die
Daten von "1" oder "2" speichert, die Bitleitung BLi auf "H". In den anderen Fällen wird die Bitleitung BLi "L". Nachdem die Auswahlgatter SG1 und
SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt
sind (t11), werden die Signale SEN1 und LAT1 "L",
sodass die Taktsynchroninverter CI1 und CI2 deaktiviert werden (t12).
Mit dem Signal PRO1 auf "H" (t13) und dem Signal
SEN1 auf "H" (t14), wird der
Taktsynchroninverter CI1 aktiviert, sodass die Spannung der Bitleitung
BLi abgetastet wird. Mit dem Signal LAT1 auf "H" (t15)
wird der Taktsynchroninverter CI2 aktiviert, sodass der Logikpegel
des abgetasteten Signals der Bitleitung BLi verriegelt wird. Mit dem
Signal PRO1 auf "L" (t16) wird die Operation
zum Erfassen, ob die Schwellenspannung der Speicherzelle M nicht
kleiner als 0,0V ist oder nicht, abgeschlossen. Nur wenn die Speicherzelle
die Daten von "1" oder "2" speichert, werden die ersten Leseteildaten
der ersten Teildatenschaltung 20 "0".
In den anderen Fällen
sind die ersten Leseteildaten "1".
-
Dann
wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle
M nicht kleiner als 1,0V ist oder nicht, ausgeführt. Mit der Spannung VBL1
auf 1,2V (t16) und dem Signal PRE1 auf "H" wird die
Bitleitung BLi auf "H" geladen (t17). Dann
wird das Signal PRE1 "L", sodass die Bitleitung
BLi und die Spannung VBL1 getrennt werden. Die Auswahlgatter SG1
und SG2 des ausgewählten
Blocks und die nicht-ausgewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, und die ausgewählte
Wortleitung WL2 wird auf 1,0V gesetzt (t18).
-
Mit
der ausgewählten
Wortleitung WL2 auf 1,0V bleibt die Bitleitung BLi auf "H", nur wenn die Speicherzelle die Daten
von "3" oder "2" speichert. In den anderen Fällen wird
die Bitleitung BLi "L". Nachdem die Auswahlgatter
SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt
sind (t19), werden die Signale SEN2 und LAT2 "L",
sodass die Taktsynchroninverter CI3 und CI4 deaktiviert werden (t20).
Mit dem Signal PRO2 auf "H" (t21) und dem Signal
SEN2 auf "H" (t22) wird der Taktsynchroninverter
CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet.
Mit dem Signal LAT2 auf "H" (t23) wird der Taktsynchroninverter
CI4 aktiviert, und der Logikpegel des abgetasteten Signals der Bitleitung
BLi wird verriegelt. Mit dem Signal PRO2 auf "L" (t24)
wird die Operation zum Erfassen, ob die Schwellenspannung der Speicherzelle
M nicht kleiner als 1,0V ist oder nicht, abgeschlossen. Nur wenn
die Speicherzelle die Daten "3" oder "2" speichert, werden die zweiten Leseteildaten
der zweiten Teildatenschaltung 21 "0".
In den anderen Fällen
sind die zweiten Leseteildaten "1".
-
Mit
dem Signal BLC1 auf "L", dem Signal PRE1
auf "H" und der Spannung
VFF auf VCC ist die Operation zum Speichern der Daten der Speicherzelle
M in der Datenspeicherschaltung 10 als die Lesedaten abgeschlossen.
-
Mit
den Signalen CSLi, CSLi+1 auf "H" (t26) werden die
ersten Leseteildaten zu der Dateneingangs-/Ausgangsleitung IOL ausgegeben,
und die zweiten Leseteildaten werden zu der Dateneingangs-/Ausgangsleitung
IOU ausgegeben. Dann werden sie nach außen von dem Dateneingangs-/Ausgangsanschluss 5 über den
Dateneingangspuffer 4 ausgegeben. Die Beziehung zwischen
den Vier-Stufen-Daten der Speicherzelle und den ersten und zweiten
Leseteildaten wird in Tabelle 6 gezeigt.
-
-
17 zeigt
die Anfangseinstellung der Steuerdaten in der Datenspeicherschaltung 10 und
die Programmierungsoperation. Hier wird ein Beispiel gezeigt, wo
Bitleitungen BL0, BL2, ..., BLi,..., BL4222 ausgewählt sind
(BLi wird als der Repräsentant
davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe
definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher
einfach realisiert werden.
-
Die
Anfangseinstellung der Steuerdaten zu der Datenspeicherschaltung 10,
vorgesehen für
die Bitleitung BLi, wird ausgeführt,
wie nachstehend erwähnt
wird. Mit den anfänglichen
Teildaten der ersten Teildatenschaltung 20, transferiert
zu der Dateneingangs-/Ausgangsleitung IOL, den anfänglichen
Teildaten der zweiten Teildatenschaltung 21, transferiert
zu der Dateneingangs-/Ausgangsleitung IOU, und dem Signal CSLi+1
auf "H" werden die anfänglichen
Teildaten in den ersten und zweiten Teildatenschaltungen 20 und 21 gespeichert. Durch Ändern der
Auswahl des Signals CSL können
die anfänglichen
Steuerdaten in einer optionalen Zahl der Datenspeicherschaltungen 10 gesetzt
werden. In diesem Fall wird die Beziehung zwischen den anfänglichen Steuerdaten
und den anfänglichen
Teildaten in Tabelle 7 gezeigt, wie nachstehend erwähnt.
-
-
Hierin
ist es wünschenswert,
die Steuerdaten aller Datenspeicherschaltungen 10 durch
Setzen des Signals PRST auf "H" vor einer Einstellung
der anfänglichen
Steuerdaten auf "0" zurückzusetzen.
Wie später speziell
erläutert
wird, können,
da der Zustand der Speicherzelle durch die Steuerdaten "0" nicht geändert werden kann, unter 2112
Stücken
der Datenspeicherschaltungen 10 die anfänglichen Steuerdaten von außerhalb nur
zu gewünschten
Datenspeicherschaltungen 10 gesetzt werden. Natürlich können die
anfänglichen
Steuerdaten von außerhalb
zu allen der 2112 Stücke
der Datenspeicherschaltungen 10 gesetzt werden. Da das Signal
SEN1 auf "H", LAT1 auf "H", VRFY1 auf "L",
SEN2 auf "H", LAT2 auf "H", VRFY2 auf "L",
die Spannung VREG auf 0V und VFF auf VCC bleiben, werden sie in 17 nicht
gezeigt.
-
In
der Programmierungsoperation werden, mit dem Signal PRE1 auf "L", die Bitleitung BLi und die Spannung
VBL1 getrennt (t1). Zur gleichen Zeit wird, mit dem Signal BLC1
auf "H", die Bitleitung
BLi ausgewählt
(t1). Mit dem Signal DRSTB auf "L" wird die Datenauswahlschaltung 9 zurückgesetzt
(t1 bis t2). Mit der Spannung VBL2 auf VCC wird die ausgewählte Bitleitung
BLi+1 dann auf VCC über
den n-Kanal-MOS-Transistor Qn44 geladen (t2 bis t3). Mit dem Signal
PRO1 auf "H" wird die ausgewählte Bitleitung
BLi gemäß den ersten
Teildaten geladen (t2 bis t3). Zu der Zeit wird die Bitleitung BLi
auf VCC geladen, wenn die Steuerdaten "0" oder "3" sind, und wird auf 0V gesetzt, wenn
die Steuerdaten "1" oder "2" sind. Das Auswahlgatter SG1 und die
Wortleitungen WL1 bis WL4 werden auf VCC gesetzt (t2 bis t3). Das
Auswahlgatter SG2 verbleibt auf 0V. Mit dem Signal PRO2 auf 1,8V
wird dann die Spannung der ausgewählten Bitleitung BLi gemäß den zweiten Teildaten
geändert
(t3). Falls die zweiten Teildaten "0" sind,
wird die Bitleitung BLi, die im voraus auf 0V gesetzt ist, auf 0,8V
geladen, was kleiner als 1,8V ist durch die Schwellenspannung (z.B.
1V) des n-Kanal-MOS-Transistors Qn4. Falls die zweiten Teildaten "0" sind, bleibt die Bitleitung BLi, die
im voraus auf VCC gesetzt ist, auf VCC, da der n-Kanal-MOS-Transistor
Qn40 nicht ausgeführt
wird. Falls die zweiten Teildaten "1" sind,
ist die Bitleitung BLi 0V, da der n-Kanal-MOS-Transistor Qn40 leitend
ist.
-
Als
eine Folge wird die Bitleitung BLi VCC, wenn die Steuerdaten "0" sind, 0,8V, wenn die Steuerdaten "1" sind, 0V, wenn die Steuerdaten "2" sind und 0V, wenn die Steuerdaten "3" sind. Mit der gewählten Wortleitung WL2 auf 20V,
und der nicht-gewählten
Wortleitung auf 10V wird Elektroneninjektion von der Speicherzelle zu
dem schwebenden Gatter gemäß den Steuerdaten
gestartet (t3 bis t7). Falls die Bitleitung BL 0V ist, wird die
Elektroneninjektion mit der Potenzialdifferenz zwischen dem Kanal
der Speicherzelle und der Wortleitung auf 20V ausgeführt. Falls
die Bitleitung BL 0,8V ist, wird die Elektroneninjektion mit der
Potenzialdifferenz zwischen dem Kanal der Speicherzelle und der
Wortleitung auf 19,2V ausgeführt,
aber die Potenzialdifferenz zwischen dem Kanal der Speicherzelle
und der Wortleitung ist kleiner als der Fall der Potenzialdifferenz
von 20V. In dem Fall, dass die Bitleitung BL VCC ist, tritt die
Elektroneninjektion im wesentlichen nicht auf, da die Potenzialdifferenz
zwischen dem Kanal der Speicherzelle und der Wortleitung klein ist.
-
Während die
ausgewählte
Wortleitung WL2 auf 20V gesetzt ist (t3 bis t7), werden die Steuerdaten,
die in der Datenspeicherschaltung 10 gespeichert sind,
erfasst. Durch den Spaltendecoder werden von CSL0 und CSL1 bis CSL4222
und CSL4223 aufeinanderfolgend ausgewählt, sodass die Steuerdaten
zu der Datenerfassungsschaltung 9 über die Dateneingangs-/Ausgangsleitungen
IOL und IOU transferiert werden. Ein Beispiel, wo CSLi und CSLi+1
ausgewählt
sind, wird in 17 gezeigt. Mit CSLi und CSLi+1
auf "H" (t4), Daten; die
zu den Dateneingangs-/Ausgangsleitungen IOL und IOU ausgegeben werden,
und dem Signal DT auf "H" werden die Steuerdaten
durch die Datenerfassungsschaltung 9 erfasst (t5 bis t6).
Wenn selbst eine der Datenspeicherschaltungen 10 die Daten "1" speichert, wird das Signal FR1 "H". Wenn selbst eine der Datenspeicherschaltungen 10 die
Daten "2" speichert, wird
das Signal FR2 "H". Wenn selbst eine
der Datenspeicherschaltungen die Daten "3" speichert,
wird das Signal FR3 "H".
-
Nachdem
die Wortleitungen WL1 bis WL4 auf VCC abgefallen sind (t7 bis t8),
wobei die Spannung VBL2 auf 0V ist, und das Signal PRE1 auf "H" ist, werden die Bitleitungen BLi und
BLi+1 auf 0V zurückgesetzt (t8
bis t9). Die Spannung VBL1 ist 0V. Die Wortleitungen WL1 bis WL4
werden auf 0V zurückgesetzt
(t8 bis t9).
-
18A bis 18C zeigen
die Programmierungsverifizierungsoperation zum Erfassen des Programmierungszustands
der Speicherzelle nach der Programmierungsoperation in Zeit t1 bis
t9, gezeigt in 17. Hier wird ein Beispiel gezeigt,
wo Bitleitungen B10, BL2,..., BLi,..., BL4222 ausgewählt sind
(BLi wird als der Repräsentant
davon gezeigt), und die Wortleitung WL2 ausgewählt ist. Falls die Speicherstufe
definiert ist, drei Stufen zu sein, kann ein Drei-Stufen-Speicher
einfach realisiert werden. Da die Spannung VBL2 auf 0V, BLC2 auf "L", PRE2 auf "H",
PRST auf "L", CSL1 auf "L", CSLi+1 auf "L" und
die Bitleitung BLi+1 auf 0V bleiben, werden sie in 18A bis 18C nicht
gezeigt.
-
Mit
der Spannung VBL1 auf 1,3V, wird die Bitleitung BLi auf "H" geladen (t1). Die Spannung VFF ist auf
2,0V fixiert. Mit dem Signal PRE1 auf "L" werden
die Bitleitung BLi und die Spannung VBL1 getrennt. Die Auswahlgatter
SG1 und SG2 des ausgewählten
Blocks und die nicht-ausgewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, und die ausgewählte
Wortleitung WL2 wird auf 2,0V gesetzt (t2).
-
Mit
der ausgewählten
Wortleitung WL2 auf 2,0V verbleibt die Bitleitung BLi auf "H", falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert hat, den Zustand einer Speicherung
der Daten "3" erreicht. Falls
die Speicherzelle entsprechend der Datenspeicherschaltung 10, die
die Steuerdaten von "3" speichert, den Zustand
einer Speicherung der Daten "3" nicht erreicht,
wird die Bitleitung BLi "L". Da die Speicherzelle
entsprechend der Datenspeicherschaltung 10, die die Steuerdaten
von "2" oder "1" speichert, den Zustand einer Speicherung
der Daten "3" nicht erreicht,
wird die Bitleitung BLi "L". Nachdem die Auswahlgatter
SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt
sind (t3), wird die Bitleitung BLi auf "H" gesetzt
(t4), nur wenn das Signal VRFY2 "H" wird und die zweiten
Teildaten "0" sind. Hier ist die
Spannung VREG VCC. Mit dem Signalen SEN2 und LAT2 auf "L" werden die Taktsynchroninverter CI3
und CI4 deaktiviert (t6). Mit dem Signal PRO2 auf "H" (t7) und dem Signal SEN2 auf "H" (t8) wird der Taktsynchroninverter
CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet.
Mit dem Signal LAT2 auf "H" (t9) wird der Taktsynchroninverter
CI4 aktiviert und der Logikpegel des abgetasteten Signals der Bitleitung
BLi wird verriegelt. Mit dem Signal PRO2 auf "L" (t10)
wird die Erfassung, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten "3" speichert, den Zustand
einer Speicherung der Daten "3" erreicht hat oder
nicht (Verifizierungslesung der Daten "3"),
abgeschlossen. Zu der Zeit werden nur wenn die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten "3" speichert, erfasst wird, den Zustand
einer Speicherung der Daten "3" erreicht zu haben,
die Steuerdaten der Datenspeicherschaltung 10, die die
Steuerdaten "3" speichert, zu den
Daten "0" geändert. In
den anderen Fällen
werden die Steuerdaten beibehalten (nicht geändert).
-
Es
wird die Operation zum Erfassen, ob die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung
der Daten "2" erreicht hat oder
nicht, ausgeführt.
Mit der Spannung VBL1 auf 1,3V (t10) und dem Signal PRE1 auf "H" wird die Bitleitung BLi auf "H" geladen (t11). Mit dem Signal PRE1
auf "L" werden die Bitleitung
BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2
des ausgewählten
Blocks und die nicht-ausgewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, und die ausgewählte
Wortleitung WL2 wird auf 1,2V gesetzt (t12). Zu der gleichen Zeit
wird das Signal VFRFY1 auf 1,3V gesetzt, und der n-Kanal-MOS-Transistor
Qn34 wird ausgeführt.
Entsprechend wird nur, wenn die ersten Teildaten "0" sind, das Potenzial der Bitleitung
BLi durch die n-Kanal-MOS-Transistoren Qn34, Qn35 auf "L" gesetzt (t12 bis t13).
-
Mit
der ausgewählten
Wortleitung WL2 auf 1,2V verbleibt die Bitleitung BLi auf "H", falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "2" speichert, den Zustand einer Speicherung
der Daten "2" erreicht hat. Falls
die Speicherzelle entsprechend der Datenspeicherschaltung 10, die
die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "2" nicht erreicht,
wird die Bitleitung BLi "L". Da die Speicherzelle
entsprechend der Datenspeicherschaltung 10, die die Steuerdaten
von "1" speichert, den Zustand
einer Speicherung der Daten "2" nicht erreicht,
wird die Bitleitung BLi "L". Nachdem die Auswahlgatter
SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt
sind (t13), wird die Bitleitung BLi auf "H" gesetzt
(t14), nur wenn das Signal VRFY2 "H" wird
und die zweiten Teildaten "0" sind. Hier ist die
Spannung VGRE VCC.
-
Mit
den Signalen SEN2 und LAT2 auf "L" werden die Taktsynchroninverter
CI3 und CI4 deaktiviert (t16). Mit dem Signal PRO2 auf "H" (t17) und dem Signal SEN2 auf "H" (t18) wird der Taktsynchroninverter
CI3 aktiviert und die Spannung der Bitleitung BLi wird abgetastet.
Mit dem Signal LAT2 auf "H" (t19) wird der Taktsynchroninverter
CI4 aktiviert, und der Logikpegel des abgetasteten Signals der Bitleitung
BLi wird verriegelt. Mit dem Signal PRO2 auf "L" (t20)
wird die Erfassung, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "2" erreicht hat oder
nicht (Verifizierungslesung der Daten "2"),
abgeschlossen.
-
Zu
der Zeit werden, falls die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "3" speichert, den Zustand
einer Speicherung der Daten "3" erreicht hat, die
Steuerdaten der Datenspeicherschaltung 10 zu den Daten "0" geändert.
Nur wenn die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "2" erreicht hat, werden
die Steuerdaten der Datenspeicherschaltung 10 zu den Daten "1" geändert.
In den anderen Fällen werden
die Steuerdaten beibehalten (nicht geändert).
-
Es
wird die Operation zum Erfassen, ob die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung
der Daten "1" erreicht hat oder
nicht, ausgeführt.
Mit der Spannung VBL1 auf 1,3V (t20) und dem Signal PRE1 auf "H" wird die Bitleitung BLi auf "H" geladen (t21). Mit dem Signal PRE1
auf "L" werden die Bitleitung
BLi und die Spannung VBL1 getrennt. Die Auswahlgatter SG1 und SG2
des ausgewählten
Blocks und die nicht-ausgewählten
Wortleitungen WL1, WL3, WL4 werden auf die Energieversorgungsspannung
VCC gesetzt, und die ausgewählte
Wortleitung WL2 wird auf 0,4V gesetzt (t22).
-
Mit
der ausgewählten
Wortleitung WL2 auf 0,4V verbleibt die Bitleitung BLi auf "H", falls die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "1" speichert, den Zustand einer Speicherung
der Daten "1" erreicht hat. Falls
die Speicherzelle entsprechend der Datenspeicherschaltung 10, die
die Steuerdaten von "1" speichert, den Zustand
einer Speicherung der Daten "1" nicht erreicht,
wird die Bitleitung BLi "L". Nachdem die Auswahlgatter
SG1 und SG2, und die Wortleitungen WL1 bis WL4 auf 0V zurückgesetzt
sind (t23), wenn das Signal PRO2 1,3V wird (t24) und die zweiten
Teildaten "1" sind, wird die Bitleitung
BLi auf "L" gesetzt. In dem
Fall, dass die zweiten Teildaten "0" sind
und die Bitleitung BLi ursprünglich "H" ist, verbleibt die Bitleitung BLi auf "H". In dem Fall, dass die zweiten Teildaten "0" sind und die Bitleitung BLi ursprünglich "L" ist, kann die Bitleitung BLi höchstens
nur 0,3V durch das Signal PRO2 von 1,3V mit der Schwellenspannung
des n-Kanal-MOS-Transistors Qn40 von 1V erreichen. Falls der Taktsynchroninverter
CI1 derart gesetzt ist, dass die Spannung der Bitleitung BLi von
0,3V erfasst wird, "L" zu sein, verbleibt
die Bitleitung BLi auf "L". Nur wenn das Signal
VRFY1 "H" wird und die ersten
Teildaten "0" sind, wird die Bitleitung
BLi auf "H" geändert (t26).
Mit den Signalen SEN1 und LAT1 auf "L" werden
die Taktsynchroninverter CI1 und CI2 deaktiviert (t28). Mit den
Signalen SEN1 und LAT1 auf "L" werden die Taktsynchroninverter
CI1 und CI2 deaktiviert (t28). Mit dem Signal PRO1 auf "H" (t29) und dem Signal SEN1 auf "H" (t30) wird der Taktsynchroninverter
CI1 aktiviert, sodass die Spannung der Bitleitung BLi abgetastet
wird. Mit dem Signal LAT1 auf "H" (t31) wird der Taktsynchroninverter
CI2 aktiviert und der Logikpegel des Signals der Bitleitung BLi
wird verriegelt. Mit dem Signal PRO1 auf "L" (t32)
wird die Erfassung, ob die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "1" speichert, den Zustand
einer Speicherung der Daten "1" erreicht hat oder
nicht (Verifizierungslesung der Daten "1"),
abgeschlossen. Zu der Zeit werden, nur wenn die Speicherzelle entsprechend
der Datenspeicherschaltung 10, die die Steuerdaten von "3" speichert, den Zustand einer Speicherung
der Daten "3" erreicht hat, die
Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "2" speichert, den Zustand
einer Speicherung der Daten "2" erreicht hat, und
die Speicherzelle entsprechend der Datenspeicherschaltung 10,
die die Steuerdaten von "1" speichert, den Zustand einer
Speicherung der Daten "1" erreicht hat, die
Steuerdaten der Datenspeicherschaltung 10 zu den Daten "0" geändert.
In den anderen Fällen
werden die Steuerdaten beibehalten (nicht geändert).
-
Mit
dem Signal BLC1 auf "L", dem Signal PRE1
auf "H" und der Spannung
VFF auf VCC ist die Programmierungsverifizierungsoperation abgeschlossen.
-
Durch
die Programmierungsverifizierungsoperation werden die Steuerdaten,
die in der Datenspeicherschaltung 10 gespeichert sind,
durch den Programmierungszustand der Speicherzelle geändert, wie
in Tabelle 8 gezeigt wird.
-
-
Entsprechend
kann durch Wiederholen der Programmierungsoperation, gezeigt in
t1 bis t9 von 17, und der Programmierungsverifizierungsoperation,
gezeigt in 18A bis 18C bis
alle Steuerdaten "0" werden, die Datenprogrammierung
(Programm) zu der Speicherzelle M ausgeführt werden. Wie in der oben
erwähnten
ersten Ausführungsform
beschrieben, werden jedoch vorzugsweise die Verifizierungslesung der
Daten "3", die Verifizierungslesung
der Daten "2" und die Verifizierungslesung
der Daten "1" selektiv ausgeführt, wie
nachstehend erwähnt
wird.
- (1) Um alle der Verifizierungslesung
der Daten "3", der Verifizierungslesung
der Daten "2" und der Verifizierungslesung
der Daten "1" auszuführen, kann
die Prozedur, die in 18A bis 18C gezeigt
wird, ausgeführt
werden.
- (2) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "2" auszuführen, kann die Prozedur, die
in 18A bis 18C gezeigt
wird, ausgeführt
werden.
- (3) Um nur die Verifizierungslesung der Daten "3" und die Verifizierungslesung der Daten "1" auszuführen, können nur Zeit t11 bis t21 aus
der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird.
- (4) Um nur die Verifizierungslesung der Daten "3" auszuführen, können Zeit t11 bis t34 aus der
Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung
VBL1 auf 0V, VFF auf VCC, das Signal PRE1 auf "H" und
BLC1 auf "L" zurückgesetzt.
- (5) Um nur die Verifizierungslesung der Daten "2" und die Verifizierungslesung der Daten "1" auszuführen, kann Zeit t1 bis t11
aus der Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung
VBL1 auf 1,3V, VFF auf 2,0V und BLC1 auf "H" gesetzt.
- (6) Um nur die Verifizierungslesung der Daten "2" auszuführen, können Zeit t1 bis t11 aus der
Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung
VBL1 auf 1,3V, VFF auf 2,0V und BLC1 auf "H" gesetzt.
- (7) Um nur die Verifizierungslesung der Daten "1" auszuführen, können Zeit t1 bis t21 aus der
Prozedur weggelassen werden, die in 18A bis 18C gezeigt wird. In t11 werden jedoch die Spannung
VBL1 auf 1,3V, VFF auf 2,0V und BLC1 auf "H" gesetzt.
-
Hier
in der Programmierungsverifizierungsoperation in der zweiten Ausführungsform
der vorliegenden Erfindung tastet bei Ausführung der Verifizierungslesung
der Daten "2" nur die zweite Teildatenschaltung 21 das
Bitleitungspotenzial ab. Das heißt falls die Abtastungsempfindlichkeiten
der ersten Teildatenschaltung 20 und der zweiten Teildatenschaltung 21 umfassend
die Datenspeicherschaltung 10 nicht identisch sind, ist
es in dem Fall, dass die Speicherzelle den Zustand einer Speicherung
der Daten "2" erreicht, möglich, dass
sich die Steuerdaten ändern,
z.B. von "2" zu "3", selbst wenn die Verwendung versucht,
die Steuerdaten der Datenspeicherschaltung 10 von "2" zu "0" durch Verwenden
beider Teildatenschaltungen zu ändern.
Deshalb ist es möglich,
dass die Speicherzelle, zu der die Daten "2" gewünscht werden
programmiert zu werden, mit den Daten "3" programmiert
werden kann.
-
Um
derartige Probleme zu verhindern, tastet in der zweiten Ausführungsform
der vorliegenden Erfindung in der Verifizierungslesung der Daten "2" unter den Programmierungsverifizierungsoperationen
nur die zweite Teildatenschaltung 21 das Bitleitungspotenzial
ab. In dem Fall, dass die Speicherzelle den Zustand einer Speicherung
der Daten "2" erreicht hat, werden
die Steuerdaten der Datenspeicherschaltung 10 von "2" zu "1" zu der Zeit der
Verifizierungslesung geändert.
Falls die Verifizierungslesung der Daten "1" nach
der Verifizierungslesung derartiger Daten "2" ausgeführt wird,
werden die ursprünglich
geänderten
Steuerdaten von "2" zu "1" stets "0".
D.h. die Steuerdaten der Datenspeicherschaltung 10 können korrekt
konvertiert werden, sodass stabile Programmierungsverifizierungsergebnisse
erhalten werden können.
-
19 zeigt
den detaillierten Fluss des Programms in Bezug auf den Mehrstufenspeicher
in der zweiten Ausführungsform
der vorliegenden Erfindung. Der Programmfluss wird durch die Steuersignal-
und Steuerspannungsgenerierungsschaltung 7 gesteuert, die
in 1 gezeigt wird. Anders als in dem Programmfluss, der
in 10 gezeigt wird, wird, wenn die Verifizierungslesung
der Daten "2" gestartet ist, die
Verifizierungslesung der Daten "1" gesetzt, stets ausgeführt zu werden.
-
Durch
den Befehl zum Starten des Programms, der in dem Steuersignaleingangsanschluss 8 eingegeben
wird, wird das Programm gestartet. Die Zählerschaltung zum Zählen der
Variablen IWT, die in der Steuersignal- und Steuerspannungsgenerierungsschaltung 7 vorgesehen
ist, wird zurückgesetzt,
IWT auf 0 zu haben (S1). Die anfänglichen
Steuerdaten für
4224 Bits, die zu dem Dateneingangs-/Ausgangsanschluss 5 eingegeben
werden, werden zu der Datenspeicherschaltung geladen (S2).
-
Nach
Laden der Daten wird die Programmierungsoperation ausgeführt, wobei
die Variable IWT um 1 inkrementiert wird (S3). Es wird geprüft, ob der
Ausgang FR3 der Datenerfassungsschaltung 9 "H" ist (S4). Falls der Ausgang FR3 der
Datenerfassungsschaltung 9 "H" ist
und die Daten "3" in der Datenspei cherschaltung 10 verbleiben,
kann geprüft
werden, ob die Variable IWT nicht kleiner als das vorbestimmte W3
ist oder nicht (S5). Falls die Variable IWT nicht kleiner als W3
ist, wird die Verifizierungslesung der Daten "3" ausgeführt (S6).
Falls der FR3 auf "L" ist oder die Variable
IWT kleiner als W3 ist, wird die Verifizierungslesung der Daten "3" weggelassen.
-
Es
wird geprüft,
ob der Ausgang FR2 der Datenerfassungsschaltung 9 "H" ist (S7). Falls der Ausgang FR2 der
Datenerfassungsschaltung 9 "H" ist
und die Daten "2" in der Datenspeicherschaltung 10 verbleiben, kann
geprüft
werden, ob die Variable IWT nicht kleiner als das vorbestimmte W2
ist oder nicht (S8). Falls die Variable IWT nicht kleiner als W2
ist, wird die Verifizierungslesung der Daten "2" ausgeführt (S9).
Falls der FR2 auf "L" ist oder die Variable
IWT kleiner als W2 ist, wird die Verifizierungslesung der Daten "2" weggelassen.
-
Es
wird geprüft,
ob der Ausgang FR1 der Datenerfassungsschaltung 9 "H" ist (S10). Falls der Ausgang FR1 der
Datenerfassungsschaltung 9 "H" ist
und die Daten "1" in der Datenspeicherschaltung 10 verbleiben, kann
geprüft
werden, ob die Variable IWT nicht kleiner als das vorbestimmte W1
ist oder nicht (S11). Falls die Variable IWT nicht kleiner als W1
ist, wird die Verifizierungslesung der Daten "1" ausgeführt (S12).
Falls der FR1 auf "L" ist oder die Variable
IWT kleiner als W1 ist, wird die Verifizierungslesung der Daten "1" weggelassen. In dem Fall jedoch, dass
die Verifizierungslesung der Daten "2" (S9)
ausgeführt
wird, wird die Verifizierungslesung der Daten "1" stets
ausgeführt
(S12).
-
Falls
alle Ausgänge
FR3, FR2, FR1 der Datenerfassungsschaltung 9 "L" sind, ist das Programm abgeschlossen
(S13, S14, S15). Wenn selbst einer der Ausgänge FR3, FR2, FR1 "H" ist, wird die Programmierungsoperation
erneut ausgeführt
(S3). Jedes Mal wird die Variable IWT um 1 inkrementiert, die Spannung,
die an die ausgewählte
Wortleitung zur Zeit der Programmierung angelegt wird (die Spannung
der ausgewählten Wortleitung
in der Zeit t3 bis t7, gezeigt in 16B),
wird um 0,4V erhöht
und die Schwellenspannung der Speicherzelle M für die Programmierung "1", "2", "3" wird um 0,4V angehoben. Die vorbestimmten
W1, W2, W3 werden bestimmt, die nachstehend erwähnt wird.
-
Die
Erläuterung
wird erneut mit Bezug auf 11 vorgesehen. 11 zeigt
ein Beispiel der Programmierungscharakteristik der Speicherzelle.
Die horizontale Achse repräsentiert
die Programmierungsoperationszahl IWT. Die vertikale Achse repräsentiert
die Schwellenspannungen der leichtesten Speicherzelle, die zu programmieren
ist (weißer
Punkt) und der schwersten Speicherzelle, die zu programmieren ist
(schwarzer Punkt) nach der Programmierungsoperationszahl IWT. Die
Schwellenspannung der leichtesten programmierten Speicherzelle erreicht
0,1V nach der ersten Programmierungsoperation. Zu der Zeit ist die
Schwellenspannung der schwersten programmierten Speicherzelle –1,5V. Da
sich jedes Mal die Programmierungsoperationszahl um 1 erhöht, sich
die Spannung der ausgewählten
Wortleitung zur Zeit der Programmierung um 0,4V erhöht, wird
die Schwellenspannung der Speicherzelle entsprechend im wesentlichen
um 0,4V angehoben. Die Schwellenspannung der Speicherzelle M, die
mit der Datenspeicherschaltung 10 verbunden ist, die Steuerdaten
von "1" speichert, ist jedoch
um 0,8V kleiner.
-
Da
keine der Schwellenspannungen der Speicherzellen 0,4V in der anfänglichen
Programmierungsoperation erreicht, ist die gesamte Verifizierungslesung
für die
Daten "3", die Daten "2" und die Daten "1" nicht erforderlich.
Von dem vierten Mal und später
ist, da die Schwellenspannung der leichtesten program mierten Speicherzelle
1,2V überschreitet,
die Verifizierungslesung der Daten "2" notwendig.
Da die Schwellenspannung der Speicherzelle M, die mit der Datenspeicherschaltung 10 verbunden
ist, die die Steuerdaten von "1" speichert, 0,4V überschreitet,
wird auch die Verifizierungslesung der Daten "1" notwendig.
Deshalb können
die W1, W2 im voraus als 4 bestimmt werden. Von dem sechsten Mal
und später
ist, da die Schwellenspannung der leichtesten programmierten Speicherzelle
2,0V überschreitet,
die Verifizierungslesung der Daten "3" notwendig.
Deshalb kann das W3 im voraus als 6 bestimmt werden.
-
Nach
der Programmierungsoperation des neunten Mals, d.h. IWT = 9 oder
später,
werden die Ausgänge
FR1 und FR2 der Datenerfassungsschaltung "L".
Nach der Programmierungsoperation des zehnten Mals überschreitet
selbst die Schwellenspannung der schwersten programmierten Speicherzelle
0,4V. Deshalb wird der Ausgang FR3 der Datenerfassungsschaltung "L" mindestens von IWT = 11 oder später.
-
20 zeigt
den Programmfluss in dem Fall, dass die Datenerfassungsschaltung 9 verwendet
wird, die in 12 gezeigt wird. Die Schritte
S4, S7, S10 können
jeweils mit den Signalen DEC3B, DEC2B, DEC1B auf "L" und Prüfen der Signale FR3, FR2, FR1
ausgeführt
werden. Der Schritt S13 kann mit dem Signal DECB auf "L" und Prüfen des Signals PT ausgeführt werden.
In den anderen Fällen
wird das Programm in dem gleichen Fluss ausgeführt, wie in 19 gezeigt.
-
In
der zweiten Ausführungsform
der vorliegenden Erfindung ist es möglich, die Datenprogrammierung durch
Wiederholen der Programmierungsoperation, die in Zeit t1 bis t9
von 17 gezeigt wird, und der Programmierungsverifizierungsoperation,
die in 18A bis 18C gezeigt
wird, auszuführen,
bis alle Steuerdaten "0" werden. In diesem
Fall ist es möglich,
eine mit der Schaltungskonfiguration, die in 21 gezeigt wird, als
die Datenerfassungsschaltung 9, die in 1 gezeigt
wird, zu verwenden.
-
In
der Datenerfassungsschaltung, die in 21 gezeigt
wird, werden mit dem Knoten Nai in der ersten Teildatenschaltung 20 die
Gatterelektrode des n-Kanal-MOS-Transistors Qn47 und ein Ende des
Strompfades des n-Kanal-MOS-Transistors Qn49 verbunden. Mit dem
Knoten Nai+1 in der zweiten Teildatenschaltung 21 werden
die Gatterelektrode des n-Kanal-MOS-Transistors Qn48 und ein Ende
des Strompfades des n-Kanal-MOS-Transistors Qn50 verbunden. Die
n-Kanal-MOS-Transistoren Qn47, Qn48 sind Schaltungen zum Erfassen,
ob alle Teildatenschaltungen die Teildaten von "0" speichern
oder nicht. In dem Fall, dass alle Teildatenschaltungen die Teildaten
von "0" speichern, werden
die Signalleitung PT und der Massepegel nicht ausgeführt, und
wenn selbst eines der 4224 Stücke
der Teildatenschaltungen die Teildaten von "1" speichert,
werden die Signalleitung PT und der Massepegel ausgeführt. Die
n-Kanal-MOS-Transistoren
Qn49, Qn50 dienen zum Speichern der Teildaten von "0" in allen Teildatenschaltungen. Mit
dem Signal PRST auf "H" werden die Teildaten
von "0" in allen der 4224
Stücke
der Teildatenschaltungen gesetzt.
-
Bezüglich der
Schaltungskonfiguration der Datenspeicherschaltung kann eine mit
der ersten Ausführungsform,
die in 5 gezeigt wird, leicht realisiert werden. Im Gegensatz
dazu kann in der ersten Ausführungsform
eine mit der Datenspeicherschaltung, die den Taktsynchroninverter,
der in 15 gezeigt wird, als den Abtastungsverstärker verwendet,
leicht realisiert werden.
-
Wie
bisher erwähnt,
umfasst ein Mehrstufenspeicher gemäß dem ersten Aspekt der vorliegenden
Erfindung eine elektrisch programmierbare Speicherzelle (M) mit
mindestens einem gelöschten
Zustand, einem ersten Programmierungszustand und einem zweiten Programmierungszustand,
und Programmierungsschaltungen (2, 3, 6, 7, 9)
zum Programmieren von Daten durch Wiederholen einer Programmierungsoperation
für ein
gewisses Programm durch Anlegen einer Programmierungsspannung an
die Speicherzelle (M), einer ersten Programmierungsverifizierungsoperation
zum Bestätigen,
ob die Speicherzelle (M) den ersten Programmierungszustand nach
der Programmierungsoperation erreicht hat oder nicht, oder einer
zweiten Programmierungsverifizierungsoperation zum Bestätigen, ob
die Speicherzelle (M) den zweiten Programmierungszustand nach der
Programmierungsoperation erreicht hat oder nicht, wobei die Programmierungsschaltung
(2, 3, 6, 7, 9) die
Programmierungsoperation und die erste Programmierungsverifizierungsoperation
wiederholt, während die
zweite Programmierungsverifizierungsoperation in der ersten Periode
der Datenprogrammierung weggelassen wird, und die Programmierungsoperation,
die erste Programmierungsverifizierungsoperation und die zweite
Programmierungsverifizierungsoperation in der zweiten Periode nach
der ersten Periode der Datenprogrammierung wiederholt.
-
Als
weitere bevorzugte Ausführungsformen
können
die nachstehend erwähnten
präsentiert
werden.
- (1) Die Programmierungsschaltungen
(2, 3, 6, 7, 9) wiederholen
die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation,
während
die erste Programmierungsverifizierungsoperation in der dritten
Periode nach der zweiten Periode weggelassen wird.
- (2) Die Programmierungsschaltungen (2, 3, 6, 7, 9) ändern die
Programmierungsspannung, die an die Speicherzelle (M) anzulegen
ist, wenn von der Speicherzelle (M) bestätigt wird, den ersten Programmierungszustand
oder den zweiten Programmierungszustand erreicht zu haben.
-
Oder
ein Mehrstufenspeicher gemäß dem ersten
Aspekt der vorliegenden Erfindung umfasst eine Vielzahl von elektrisch
programmierbaren Speicherzellen (M) mit mindestens einem gelöschten Zustand,
einem ersten Programmierungszustand und einem zweiten Programmierungszustand,
und Programmierungsschaltungen (2, 3, 6, 7, 9)
zum Programmieren von Daten durch Wiederholen einer Programmierungsoperation
für ein
gewisses Programm durch Anlegen einer Programmierungsspannung an
die Vielzahl der Speicherzellen (M), einer ersten Programmierungsverifizierungsoperation
zum Bestätigen,
ob die Speicherzelle (M), die in dem ersten Programmierungszustand
zu sein hat, den ersten Programmierungszustand erreicht hat oder nicht,
unter der Vielzahl der Speicherzellen (M) nach der Programmierungsoperation,
oder einer zweiten Programmierungsverifizierungsoperation zum Bestätigen, ob
die Speicherzelle (M), die in dem zweiten Programmierungszustand
zu sein hat, unter der Vielzahl der Speicherzellen (M) den zweiten
Programmierungszustand nach der Programmierungsoperation erreicht
hat oder nicht, wobei die Programmierungsschaltungen (2, 3, 6, 7, 9)
die Programmierungsoperation und die erste Programmierungsverifizierungsoperation
wiederholen, während
die zweite Programmierungsverifizierungsoperation in der ersten
Periode der Datenprogrammierung weggelassen wird, und die Programmierungsoperation,
die erste Programmierungsverifizierungsoperation und die zweite
Programmierungsverifizierungsoperation in der zweiten Periode nach
der ersten Periode der Datenprogrammierung wiederholen.
-
Als
weitere bevorzugte Ausführungsformen
können
die nachstehend erwähnten
präsentiert
werden.
- (1) Die Programmierungsschaltungen
(2, 3, 6, 7, 9) wiederholen
die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation,
während
die erste Programmie rungsverifizierungsoperation in der dritten
Periode nach der zweiten Periode weggelassen wird.
- (2) Die Programmierungsschaltungen (2, 3, 6, 7, 9) ändern die
Programmierungsspannung, die an die Speicherzelle (M) anzulegen
ist, die in dem ersten Programmierungszustand zu sein hat, wenn
von der Speicherzelle (M), die in dem ersten Programmierungszustand
zu sein hat, bestätigt
wird, den ersten Programmierungszustand erreicht zu haben, und ändern die
Programmierungsspannung, die an die Speicherzelle (M) anzulegen
ist, die in dem zweiten Programmierungszustand zu sein hat, wenn
von der Speicherzelle (M), die in dem zweiten Programmierungszustand
zu sein hat, bestätigt
wird, den zweiten Programmierungszustand erreicht zu haben.
- (3) Die erste Periode wird im voraus bestimmt.
- (4) Die Programmierungsschaltungen (2, 3, 6, 7, 9)
wiederholen die Programmierungsoperation und die zweite Programmierungsverifizierungsoperation,
während
die erste Programmierungsverifizierungsoperation weggelassen wird,
wenn von allen Speicherzellen (M), die in dem ersten Programmierungszustand
zu sein haben, bestätigt
wird, den ersten Programmierungszustand erreicht zu haben.
- (5) Die Programmierungsschaltungen (2, 3, 6, 7, 9)
erfassen, ob alle Speicherzellen (M), die in dem ersten Programmierungszustand
zu sein haben, den ersten Programmierungszustand gleichzeitig erreicht
haben oder nicht.
- (6) Die Programmierungsschaltungen (2, 3, 6, 7, 9)
erfassen, ob alle Speicherzellen (M), die in dem zweiten Programmierungszustand
zu sein haben, den zweiten Programmierungszustand gleichzeitig erreicht
haben oder nicht.
- (7) Die Programmierungsspannung, die an die Speicherzelle (M)
anzulegen ist, die in dem ersten Programmierungszustand zu sein
hat, und die Programmierungsspannung, die an die Speicherzelle (M)
anzulegen ist, die in dem zweiten Programmierungszustand zu sein
hat, sind gleich.
- (8) Die Programmierungsschaltungen (2, 3, 6, 7, 9)
schließen
die Programmierungsoperation nach Bestätigung ab, dass alle Speicherzellen
(M), auf die Programmierung angewendet wurde, einen gewünschten Programmierungszustand
erreicht haben.
- (9) Die Programmierungsschaltungen (2, 3, 6, 7, 9)
erfassen, dass alle Speicherzellen (M), auf die Programmierung angewendet
wurde, einen gewünschten
Programmierungszustand gleichzeitig erreicht haben.
-
Ein
Mehrstufenspeicher gemäß dem zweiten
Aspekt der vorliegenden Erfindung umfasst eine Speicherzellenanordnung
(1) umfassend eine Vielzahl von nicht-flüchtigen
Speicherzellen (M), von denen jede Daten eines Wertes n (n ≥ 3) speichern
kann, und Datenspeicherschaltungen (10) zum Speichern von
Steuerdaten zum Bestimmen einer Programmierungssteuerspannung, die
an eine ausgewählte
Speicherzelle (M) in der Speicherzellenanordnung (1) in
der Programmierungsoperation anzulegen ist, wobei die Datenspeicherschaltungen
(10) die Programmierungssteuerspannung an die ausgewählte Speicherzelle
(M) basierend auf den Steuerdaten, die in den Datenspeicherschaltungen
(10) gespeichert sind, anlegen, die Datenspeicherschaltungen
(10), die erste Steuerdaten speichern, erfassen, ob die
ausgewählte
Speicherzelle (M) den ersten Zustand von dem Programmierungszustand
erreicht hat oder nicht und wann er erreicht wurde, die Steuerdaten
zu zweiten Steuerdaten geändert
werden, die Datenspeicherschaltungen (10), die die zweiten
Steuerdaten speichern, erfassen, ob die ausgewählte Speicherzelle (M) den
zweiten Zustand erreicht hat oder nicht und wann er erreicht wurde,
die Steuerdaten zu dritten Steuerdaten geändert werden.
-
Als
weitere bevorzugte Ausführungsformen
können
die nachstehend erwähnten
präsentiert
werden.
- (1) Der erste Zustand hat eine erste
Schwellenspannungsstufe, und der zweite Zustand hat eine zweite Schwellenspannungsstufe,
die kleiner als die erste Schwellenspannungsstufe ist.
- (2) Die Datenspeicherschaltungen (10) umfassen erste
Teildatenschaltungen (CI1, CI2, Qn33, Qn34, Qn35) und zweite Teildatenschaltungen
(CI3, CI4, Qn40, Qn41, Qn42), wobei die ersten Teildatenschaltungen
(CI1, CI2, Qn33, Qn34, Qn35) Teildaten eines ersten Logikpegels
speichern und die zweiten Teildatenschaltungen (CI3, CI4, Qn40,
Qn41, Qn42) Teildaten eines ersten Logikpegels zum Speichern der
ersten Steuerdaten speichern, die ersten Teildatenschaltungen (CI1,
CI2, Qn33, Qn34, Qn35) Teildaten eines ersten Logikpegels speichern
und die zweiten Teildatenschaltungen (CI3, CI4, Qn40, Qn41, Qn42)
Teildaten eines zweiten Logikpegels zum Speichern der zweiten Steuerdaten
speichern, und die ersten Teildatenschaltungen (CI1, CI2, Qn33,
Qn34, Qn35) Teildaten des zweiten Logikpegels speichern und die
zweiten Teildatenschaltungen (CI3, CI4, Qn40, Qn41, Qn42) Teildaten
des zweiten Logikpegels zum Speichern der dritten Steuerdaten speichern.
- (3) Die Datenspeicherschaltungen (10) erfassen, ob
der Programmierungszustand der ausgewählten Speicherzelle (M) den
ersten Zustand erreicht hat oder nicht durch eine der ersten und
zweiten Teildatenschaltungen, und ob der Programmierungszustand
der ausgewählten
Speicherzelle (M) den zweiten Zustand erreicht hat oder nicht durch
die andere eine der ersten und zweiten Teildatenschaltungen:
- (4) Es wird ferner eine Schaltung zum gleichzeitigen Erfassen,
ob alle Teildaten, die in den ersten und zweiten Teildatenschaltungen
gespeichert sind, umfassend alle Datenspeicherschaltungen (10)
auf dem zweiten Logikpegel sind oder nicht, vorgesehen.
- (5) Die Speicherzelle (M) kann vier Stufen speichern, und die
ersten und zweiten Teildatenschaltungen inkludieren eine jede Flip-Flop-Schaltung.
- (6) Die Speicherzelle (M) kann dreifache Werte speichern, und
die ersten und zweiten Teildatenschaltungen inkludieren eine jede
Flip-Flop-Schaltung.
-
Die
Erfindung ist nicht auf die oben erwähnten ersten und zweiten Ausführungsformen
begrenzt. Z.B. kann die vorliegende Erfindung auch in einer nicht-flüchtigen
Halbleiterspeichereinrichtung eines Mehrstufenspeichers mit einer
Speicherzellenanordnung vom NOR-Typ oder einer nicht-flüchtigen
Halbleiterspeichereinrichtung eines Typs eines Mehrstufenspeichers
mit heißer
Elektronenladeprogrammierung realisiert werden. Es können andere Änderungen
und Modifikationen innerhalb des Bereichs angenommen werden, die
nicht von der vorliegenden Erfindung abweichen, wie in den Ansprüchen definiert.