-
Die
vorliegende Erfindung bezieht sich auf einen nicht-flüchtigen
Halbleiterspeicher, insbesondere auf einen Mehrebenen-NAND-Zellentyp-Flash-Speicher,
wie etwa einen Vier-Ebenen-NAND-Zellentyp-Flash-Speicher.
-
Ein
Flash-Speicher besteht aus einer Speicherzelle, die eine schwebende
Gatterelektrode und eine Steuergatterelektrode enthält, und
Datenprogrammieren/Löschen
wird durch Abstimmung eines Ladungsbetrags in der schwebenden Gatterelektrode
realisiert. Der Ladungsbetrag bestimmt eine Schwellenspannung der
Speicherzelle. Es wird z.B. ein Zustand, in dem die Speicherzelle
eine negative Schwellenspannung hat, zu einem Zustand "1" gesetzt, und ein Zustand, in dem die
Speicherzelle eine positive Schwellenspannung hat, wird zu einem
Zustand "0" gesetzt.
-
In
den letzten Jahren wurden für
einen Zweck zum Reduzieren des Preises pro Bit (Biteinheitspreis)
oder Erhöhen
einer Speicherkapazität
eines Speicherchips Forschung und Entwicklung eines Mehrebenen-Flash-Speicher
befördert,
worin eine Speicherzelle eine Vielzahl von Bitdaten speichert.
-
Wenn
eine Speicherzelle n (n ist eine natürliche Zahl von 2 oder mehr)
Bitdaten speichert, d.h. 2n Werte, hat die
Speicherzelle hier 2n Zustände (2n-Schwellenwertbänder). Wenn z.B. eine Speicherzelle
Zweibitdaten speichert, enthält
die Speicherzelle vier Schwellenwertbänder.
-
Die
Zahl von Schwellenwertbändern
erhöht sich
proportional zu einer Erhöhung
der Zahl von Bits, die in einer Speicherzelle gespeichert sind.
Andererseits tendiert eine innere Leistungsspannung des Flash-Speichers
zu einem Abfall. D.h. während sich
die Zahl von Bits erhöht,
die in einer Speicherzelle gespeichert sind, erhöht sich die Zahl von Schwellenwertbändern, und
die Breite eines Schwellenwertbandes verengt sich. Deshalb ist es
in einem Mehrebenen-Flash-Speicher wichtig, die Schwellenspannung
der Speicherzelle mit guter Genauigkeit zu steuern und Zuverlässigkeit
zu erhöhen.
-
Als
eine Technik zum Steuern der Schwellenspannung der Speicherzelle
mit der hohen Genauigkeit ist z.B. ein Verfahren zum Hochstufen
einer Schreibspannung in einem konstanten Verhältnis in Übereinstimmung mit der Zahl
von Schreibvorgängen
(Hochstufungsverfahren) bekannt (siehe z.B. Fast and Accurate Programming
Method for Multi-level NAND EEPROMs, S. 129-130, Digest of 1995 Symposium an VLSI
Technology).
-
Dieses
Verfahren wird kurz beschrieben. Das Hochstufen der Schreibspannung
wird durch Ändern
von Größen einer
Vielzahl kontinuierlicher Schreibimpulse realisiert. Z.B. erhöht sich
die Größe des Schreibimpulses
allmählich
in einem Verhältnis von
0,2V/10μsek.
Jedes Mal, wenn die Schreibimpulse an eine Vielzahl von Speicherzellen
als Objekte einer Schreiboperation angelegt werden, werden die Schwellenspannungen
der Speicherzellen verifiziert. Wenn z.B. die Schwellenspannungen
aller Speicherzellen einen vorbestimmten Verifizierungsgrad erreichen,
wird die Anwendung der Schreibimpulse beendet.
-
Selbst
in dem Mehrebenen-Flash-Speicher schreitet zum Zweck der Erhöhung der
Speicherkapazität
eines Speicherchips Miniaturisierung der Speicherzelle voran. Mit
der Miniaturisierung verengt sich ein Intervall zwischen den Speicherzellen,
und dies verursacht verschiedene Probleme.
-
Insbesondere
wenn sich das Intervall zwischen den schwebenden Gatterelektroden
der Speicherzelle verengt, erhöht
sich eine Kapazitanz unter einer Vielzahl von schwebenden Gatterelektroden, die
zueinander benachbart angeordnet sind. Wenn vorbestimmte Daten in
der ausgewählten
einen Speicherzelle geschrieben werden, ändert sich als ein Ergebnis
ein Potenzial der schwebenden Gatterelektrode der nicht-ausgewählten Speicherzelle,
die benachbart zu einer Speicherzelle angeordnet ist. Dies bedeutet,
dass die Schwellenspannung der nicht-ausgewählten Speicherzelle getrennt
von der Schreiboperation schwankt, und eine Zuverlässigkeit des
Mehrebenen-Flash-Speichers fällt
ab.
-
Als
eine Technik, die dieses Problem behandeln kann, ist ein Verfahren
zum Ausführen
der Schreiboperation mit Bezug auf eine Speicherzelle durch zwei
Schreibroutinen (Doppelschreibverfahren) bekannt. Z.B. wird das
oben beschriebene Hochstufungsverfahren auf jede Routine angewendet. Dies
kann eine Schwellwertsteuerung hoher Genauigkeit realisieren, die
durch die Schwankung der Schwellenspannung der Speicherzelle nicht
beeinflusst wird, die durch die Erhöhung der Kapazitanz unter den
schwebenden Gatterelektroden verursacht wird.
-
Wenn
jedoch ein so genanntes Doppelschreibverfahren verwendet wird, müssen Schreibdaten
von einem Start der ersten Schreibroutine bis zu einem Ende der
zweiten Schreibroutine irgendwo gehalten werden. Dies ist so, da
bestimmt wird, ob die Ladung in die schwebende Gatterelektrode zu
injizieren ist oder nicht in Übereinstimmung
mit dem Wert der Schreibdaten.
-
Deshalb
erhöht
sich in dem Mehrebenen-Flash-Speicher eine Chipgröße für eine Speicherschaltung
zum Speichern der Schreibdaten. Dies verursacht auch die Erhöhung von
Herstellungskosten.
-
EP 1 134 746 beschreibt
eine nicht-flüchtige Halbleiterspeichereinrichtung
mit einem Speicherzellenfeld mit elektrisch löschbaren programmierbaren nicht-flüchtigen
Speicherzellen, Umprogrammierungs- und Abfrageschaltungen, die Daten,
die in dem Speicherzellenfeld zu programmieren sind, zeitweilig
speichern, und Daten, die aus dem Speicherzellenfeld abgerufen werden,
abtasten, wobei jede Umprogrammierungs- und Abfrageschaltung eine erste
Verriegelung und eine zweite Verriegelung hat, die mit dem Speicherzellenfeld
selektiv verbunden sind und Daten zueinander transferieren hat,
und einer Steuervorrichtung, die die Umprogrammierungs- und Abfrageschaltungen
in einer Datenumprogrammierungsoperation zu und Datenabfrageoperation von
dem Speicherzellenfeld steuert. Jede Umprogrammierungs- und Abfrageschaltung
hat einen Mehrebenen-Logikoperationsmodus und einen Caching-Operationsmodus,
wobei in dem Mehrebenen-Logikoperationsmodus Umprogrammierung und Abfrage
von oberen und unteren Bits von Zwei-Bit-Vier-Ebenen-Daten unter Verwendung der ersten
und der zweiten Verriegelungen beim Speichern der Zwei-Bit-Vier-Ebenen-Daten
in einer der Speicherzellen in einem vorbestimmten Schwellenpegelbereich
durchgeführt
werden, in dem Caching-Operationsmodus Datentransfer zwischen einer
der Speicherzellen, die in Übereinstimmung
mit einer ersten Adresse und der ersten Verriegelung ausgewählt wird,
durchgeführt
wird, während
Datentransfer zwischen der zweiten Verriegelung und Eingangs-/Ausgangsanschlüssen in Übereinstimmung mit
einer zweiten Adresse mit Bezug auf Ein-Bit-Zwei-Ebenen-Daten durchgeführt wird,
die in einer der Speicherzellen zu speichern sind.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein nicht-flüchtiger
Halbleiterspeicher vorgesehen, umfassend: eine Speicherzelle; eine Bitleitung,
die mit einem Ende der Speicherzelle verbunden ist; und eine Datenschaltung,
in der Programmdaten oder Lesedaten betreffend die Speicherzelle
zeit weilig gespeichert sind, wobei die Datenschaltung enthält: erste,
zweite und dritte Datenspeichereinheiten; eine erste Datentransferschaltung,
die zwischen den ersten und dritten Datenspeichereinheiten verbunden
ist; und eine zweite Datentransferschaltung, die zwischen den zweiten
und dritten Datenspeichereinheiten verbunden ist, die erste Datenspeichereinheit
mit der Bitleitung verbunden ist, und die zweite Datenspeichereinheit
angepasst ist, eine Funktion zu enthalten zum zwangsweisen Ändern eines
Wertes von ersten Daten, die in der ersten Datenspeichereinheit
gespeichert sind, basierend auf zweiten Daten, die in der zweiten
Datenspeichereinheit gespeichert sind, und gekennzeichnet dadurch,
dass die dritte Datenspeichereinheit dritte Daten speichert, während die
zweite Datenspeichereinheit die Funktion zum zwangsweisen Ändern des Wertes
der ersten Daten durchführt,
und die dritten Daten nicht geändert
werden, wenn die ersten Daten geändert
werden.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein nicht-flüchtiger
Halbleiterspeicher vorgesehen, umfassend: eine nicht-flüchtige Halbleiterspeicherzelle,
die elektrisch umgeschrieben werden kann; eine Bitleitung, die mit
der Speicherzelle verbunden ist; und eine Leseschaltung, die Daten
der Speicherzelle ausliest und die enthält eine erste Datenspeichereinheit,
die mit der Bitleitung verbunden ist, eine zweite Datenspeichereinheit
mit einer Funktion zum zwangsweisen Ändern eines Wertes von ersten
Daten, die in der ersten Datenspeichereinheit gespeichert sind,
in Übereinstimmung
mit zweiten Daten, die in der zweiten Dateneinheit gespeichert sind,
eine dritte Datenspeichereinheit mit einer Funktion zum Verriegeln
von dritten Daten und eine Datentransferschaltung, um die dritten Daten,
die in der dritten Datenspeichereinheit gespeichert sind, zu der
zweiten Datenspeichereinheit zu transferieren; und gekennzeichnet
durch eine Lesesteuerschaltung, die steuert, erste Lesedaten aus der Speicherzelle
zu der dritten Datenspeichereinheit in einer ersten Leseoperation
zu speichern, und die steuert, zweite Lesedaten aus der Speicherzelle
zu der ersten Datenspeichereinheit in einer zweiten Leseoperation
zu speichern, steuert, die ersten Lesedaten als die dritten Daten
von der dritten Datenspeichereinheit zu der zweiten Datenspeichereinheit
in der zweiten Leseoperation zu transferieren, und steuert, zwangsweise
zu ändern
einen Wert der zweiten Lesedaten als die ersten Daten, die in der
ersten Datenspeichereinheit gespeichert sind, in Übereinstimmung
mit einem Wert der ersten Lesedaten als die zweiten Daten, die in
der zweiten Datenspeichereinheit gespeichert sind in der zweiten
Leseoperation, und wobei die dritte Datenspeichereinheit erste Lesedaten
als die dritten Daten speichert, während der Wert der zweiten
Lesedaten als die ersten Daten zwangsweise geändert wird, und die dritten
Daten nicht geändert
werden, wenn die ersten Daten geändert
werden.
-
Diese
Zusammenfassung der Erfindung beschreibt nicht notwendigerweise
alle notwendigen Merkmale, sodass die Erfindung auch eine Teilkombination
dieser beschriebenen Merkmale sein kann.
-
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 einen nicht-flüchtigen Halbleiterspeicher
gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ein
Diagramm ist, das ein Gestaltungsbeispiel eines Speicherzellenfeldes
zeigt;
-
3 ein
Diagramm ist, das ein Gestaltungsbeispiel des Speicherzellenfeldes
zeigt;
-
4 eine
Schnittansicht ist, die ein Beispiel eines Einrichtungsaufbaus zeigt;
-
5 eine
Schnittansicht ist, die ein Beispiel des Einrichtungsaufbaus zeigt;
-
6 eine
Schnittansicht ist, die ein Beispiel des Einrichtungsaufbaus zeigt;
-
7 eine
Schnittansicht ist, die ein Beispiel des Einrichtungsaufbaus zeigt;
-
8 ein
Schaltungsdiagramm ist, das ein Beispiel einer Mengenerfassungsschaltung
zeigt;
-
9 ein
Diagramm ist, das ein Gestaltungsbeispiel einer Datenschaltung zeigt;
-
10 ein Schaltungsdiagramm ist, das ein Beispiel
der Datenschaltung zeigt;
-
11 ein Diagramm ist, das ein Gestaltungsbeispiel
eines Taktsynchroninvertierers zeigt;
-
12 ein Diagramm ist, das ein Gestaltungsbeispiel
einer Wortleitungssteuerschaltung zeigt;
-
13 ein Diagramm ist, das ein Schaltungsbeispiel
von RADD1 von 12 zeigt;
-
14 ein Diagramm ist, das ein Schaltungsbeispiel
von RMAIN1 von 12 zeigt;
-
15 ein Diagramm ist, das ein Schaltungsbeispiel
von RADD2 von 12 zeigt;
-
16 ein Diagramm ist, das ein Schaltungsbeispiel
von RMAIN2 von 12 zeigt;
-
17 ein Diagramm ist, das eine Beziehung zwischen
Daten und einer Schwellenspannungsverteilung einer Speicherzelle
zeigt;
-
18 ein Diagramm ist, das einen Zustand einer Änderung
der Schwellenspannung in einer Programmzeit von logischen niederwertigen
Seitendaten zeigt;
-
19 ein Diagramm ist, das einen Zustand einer Änderung
der Schwellenspannung in einer Programmzeit von logischen höherwertigen
Seitendaten zeigt;
-
20 ein Diagramm ist, das ein Algorithmusbeispiel
einer Leseoperation zeigt;
-
21 ein Diagramm ist, das ein Operationswellenformbeispiel
der Leseoperation zeigt;
-
22 ein Diagramm ist, das das Operationswellenformbeispiel
einer EXCLK-Routine während
der Operation von 21 zeigt;
-
23 ein Diagramm ist, das das Operationswellenformbeispiel
der EXCLK-Routine während der
Operation von 21 zeigt;
-
24 ein Diagramm ist, das das Operationswellenformbeispiel
der EXCLK-Routine während der
Operation von 21 zeigt;
-
25 ein Diagramm ist, das einen Fluss von Daten
zu einer Lesezeit der logischen niederwertigen Seitendaten zeigt;
-
26 ein Diagramm ist, das einen Fluss von Daten
zu der Lesezeit der logischen höherwertigen
Seitendaten zeigt;
-
27 ein Diagramm ist, das ein Algorithmusbeispiel
einer Programmoperation durch Durchlaufschreiben zeigt;
-
28 ein Diagramm ist, das ein Algorithmusbeispiel
der Programmoperation durch Durchlaufschreiben zeigt;
-
29 ein Diagramm ist, das ein Algorithmusbeispiel
der Programmoperation durch Durchlaufschreiben zeigt;
-
30 ein Diagramm ist, das ein Algorithmusbeispiel
der Programmoperation durch QPW zeigt;
-
31 ein Diagramm ist, das ein Operationswellenformbeispiel
in einem Schritt der Programmoperation zeigt;
-
32 ein Diagramm ist, das den Fluss von Daten in
einem Schritt in 31 zeigt;
-
33 ein Diagramm ist, das ein Operationswellenformbeispiel
einer internen Datenladeoperation zeigt;
-
34 ein Diagramm ist, das das Operationswellenformbeispiel
der EXCLK-Routine während der
Operation von 33 zeigt;
-
35 ein Diagramm ist, das einen Fluss von Daten
in einer, internen Datenladeoperationszeit zeigt;
-
36 ein Diagramm ist, das ein Operationswellenformbeispiel
in einem Schritt der Programmoperation zeigt;
-
37 ein Diagramm ist, das den Fluss von Daten in
einem Schritt in 36 zeigt;
-
38 ein Diagramm ist, das ein Operationswellenformbeispiel
einer Schreiboperation zeigt;
-
39 ein Diagramm ist, das einen Fluss von Daten
in einer Schreiboperationszeit zeigt;
-
40 ein Diagramm ist, das ein Operationswellenformbeispiel
einer Verifizierungsleseoperation zeigt;
-
41 ein Diagramm ist, das ein Operationswellenformbeispiel
der EXCLK-Routine während der
Operation von 40 zeigt;
-
42 ein Diagramm ist, das einen Fluss von Daten
in einer Verifizierungsleseoperationszeit zeigt;
-
43 ein Diagramm ist, das einen Fluss von Daten
in der Verifizierungsleseoperationszeit zeigt;
-
44 ein Diagramm ist, das einen Fluss von Daten
in der Verifizierungsleseoperationszeit zeigt; und
-
45 ein Diagramm ist, das einen Fluss von Daten
in der Verifizierungsleseoperationszeit zeigt.
-
Hierin
nachstehend wird ein nicht-flüchtiger Halbleiterspeicher
gemäß einer
Ausführungsform
der vorliegenden Erfindung mit Bezug auf die Zeichnungen detailliert
beschrieben.
-
1. Annahme
-
Zur
Erleichterung des Verständnisses
der folgenden Beschreibung werden Voraussetzungen wie folgt definiert.
Außerdem
werden die Voraussetzungen zum einfachen Verständnis der Beschreibung gesetzt.
Die vorliegende Erfindung wird sogar unter Bedingungen außer den
Voraussetzungen hergestellt.
-
Die
vorliegende Erfindung bezieht sich auf einen Mehrebenen-Flash-Speicher, in
dem n (n ist eine natürliche
Zahl von 2 oder mehr) Bitdaten, d.h. 2n Werte,
in einer Speicherzelle gespeichert sind. In dem folgenden Beispiel
wird ein Vier-Ebenen-NAND-Zellentyp-Flash-Speicher
als ein Beispiel beschrieben.
-
Es
wird angenommen, dass vier Typen von Daten "00", "01", "10", "11" in der Speicherzelle
gespeichert sind. Ein Zustand, in dem eine Schwellenspannung der
Speicherzelle am geringsten ist, z.B. ein Zustand, in dem die Schwellenspannung
negativ ist und zu einem ersten Schwellwertband gehört, wird als
ein Zustand angenommen, in dem die Daten "11" gespeichert
sind. Ein Zustand, in dem die Schwellenspannung der Speicherzelle
am zweitniedrigsten ist, wie etwa ein Zustand, in dem die Schwellenspannung
positiv ist und zu einem zweiten Schwellwertband gehört, wird
als ein Zustand angenommen, in dem die Daten "10" gespeichert
sind. Ein Zustand, in dem die Schwellenspannung der Speicherzelle
am drittniedrigsten ist, wie etwa ein Zustand, in dem die Schwellenspannung
positiv ist und zu einem dritten Schwellwertband gehört, wird
als ein Zustand angenommen, in dem die Daten "00" gespeichert
sind. Ein Zustand, in dem die Schwellenspannung der Speicherzelle am
höchsten
ist, wie etwa ein Zustand, in dem die Schwellenspannung positiv
ist und zu einem vierten Schwellwertband gehört, wird als ein Zustand angenommen,
in dem die Daten "01" gespeichert sind.
-
Außerdem sind
in der Speicherzelle vier Typen von Daten, d.h. Vier-Ebenen-Daten,
gespeichert. Deshalb sind z.B. zu einer Datenprogramm-/Lesezeit Programm-/Leseoperationen
für logische
niederwertige und höherwertige
Seitendaten erforderlich. Hier bezeichnet in Daten "**" die rechte Seite
* die logischen niederwertigen Seitendaten und die linke Seite *
bezeichnet die logischen höherwertigen
Seitendaten.
-
Mit
Bezug auf die Speicherzelle wird außerdem ein Zustand, in dem
die Daten "11" gespeichert sind,
als ein Löschzustand
angenommen, und ein Zustand, in dem die Daten "10", "00", "01" gespeichert sind,
wird als ein Schreibzustand angenommen.
-
2. Überblick
-
(1) Gesamtes Gestaltungsbeispiel
-
1 zeigt
einen Hauptteil des Vier-Ebenen-NAND-Zellentyp-Flash-Speichers gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
Bezugszeichen 1 bezeichnet
ein Speicherzellenfeld. Z.B. enthält das Speicherzellenfeld 1 eine NAND-Zelleneinheit,
die gebildet wird durch eine Vielzahl von Speicherzellen, die in
Reihe verbunden sind, und zwei Auswahltransistoren, die mit entgegengesetzten
Enden der Speicherzelle verbunden sind. Schaltung und Aufbaubeispiele
des Speicherzellenfeldes 1 werden später beschrieben.
-
Eine
Datenschaltung 2 enthält
eine Vielzahl von Speicherschaltungen. Ein Schaltungsbeispiel der
Datenschaltung 2 wird später beschrieben. Hier wird
eine Funktion der Datenschaltung 2 kurz beschrieben.
-
Die
Datenschaltung 2 speichert zeitweilig zwei Bits (vier Ebenen)
von Schreibdaten in einer Schreibzeit, und zwei Bits (vier Ebenen)
von Lesedaten in einer Lesezeit. Deshalb sind mindestens zwei Speicherschaltungen
mit Bezug auf eine Bitleitung, die mit der Speicherzelle verbunden
ist, die als ein Objekt einer Schreib-/Leseoperation ausgewählt ist, angeordnet.
In einer der zwei Speicherschaltungen sind die logischen niederwertigen
Seitendaten gespeichert, und in der anderen Schaltung sind die logischen
höherwertigen
Seitendaten gespeichert.
-
Eine
Wortleitungssteuerschaltung 3 enthält einen Zeilenadressdecoder
und einen Wortleitungstreiber. Die Wortleitungssteuerschaltung 3 steuert Potenziale
einer Vielzahl von Wortleitungen in dem Speicherzellenfeld 1 basierend
auf einem Operationsmodus (Schreiben, Löschen, Lesen) und einer Adresse,
die durch ein Zeilenadresssignal bezeichnet wird. Ein Schaltungsbeispiel
der Wortleitungssteuerschaltung 3 wird später beschrieben.
-
Ein
Spaltendecoder 4 wählt
eine Spalte des Speicherzellenfeldes 1 basierend auf einem
Spaltenadresssignal.
-
In
einer Programmzeit werden Schreibdaten in eine Speicherschaltung
in der Datenschaltung 2, die zu einer ausgewählten Spalte
gehört, über einen Dateneingabe-/Ausgabepuffer 7 und
einen E/A-Leseverstärker 6 eingegeben.
Außerdem
werden in einer Lesezeit Lesedaten in der Speicherschaltung in der
Datenschaltung 2, die zu der ausgewählten Spalte gehört, zeitweilig
gespeichert, und anschließend zu
der Außenseite
eines Speicherchips 11 über
den E/A-Leseverstärker 6 und
den Dateneingabe-/Ausgabepuffer 7 ausgegeben.
-
Das
Zeilenadresssignal wird in die Wortleitungssteuerschaltung 3 über einen
Adresspuffer 5 eingegeben. Das Spaltenadresssignal wird
in den Spaltendecoder 4 über den Adresspuffer 5 eingegeben.
-
Eine
Wannen-(well-)/Sourceleitungspotenzial-Steuerschaltung 8 steuert
die Potenziale einer Vielzahl von Wannenregionen für eine Vielzahl
von Blöcken,
die das Speicherzellenfeld 1 bilden (z.B. eine Doppelwannenregion,
die n- und p-Wannen enthält),
und das Potenzial einer Sourceleitung basierend auf dem Operationsmodus
(Schreiben, Löschen,
Lesen).
-
Eine
Potenzialgenerierungsschaltung (Hochstufungsschaltung) 9A generiert
z.B. ein Schreibpotenzial (z.B. ungefähr 20V) Vpp oder ein Transferpotenzial
(z.B. ungefähr
10V) Vpass in der Schreibzeit. Z.B. verteilt ein Schaltkreis 9B diese
Potenziale Vpp, Vpass zu einer Vielzahl von Wortleitungen in einem Block,
der aus einer Vielzahl von Blöcken
ausgewählt ist,
die das Speicherzellenfeld 1 bilden.
-
Außerdem generiert
die Potenzialgenerierungsschaltung 9A Z.B. ein Löschpotenzial
(z.B. ungefähr
20V) VppE in einer Löschzeit,
und führt
das Potenzial VppE der einen oder zwei oder mehr Wannenregionen
(sowohl den n- als auch den p-Wannen) entsprechend einem oder zwei
oder mehr Blöcken zu,
die aus einer Vielzahl von Blöcken
ausgewählt sind,
die das Speicherzellenfeld 1 bilden.
-
Eine
Mengenerfassungsschaltung 10 verifiziert, ob vorbestimmte
Daten zu der Programmzeit in die Speicherzelle akkurat geschrieben
sind oder nicht, und verifiziert, ob die Da ten der Speicherzelle zu
der Löschzeit
akkurat gelöscht
sind oder nicht.
-
Eine
Befehlsschnittstellenschaltung 12 beurteilt, ob die Daten,
die in den Dateneingabe-/Ausgabepuffer 7 eingegeben sind,
Befehlsdaten sind oder nicht, die von einem Host-Mikrocomputer zugeführt werden,
basierend auf einem Steuersignal, das durch einen Chip (z.B. Host-Mikrocomputer)
generiert wird, der sich von dem Speicherchip 11 unterscheidet.
Wenn die Daten, die in den Dateneingabe-/Ausgabepuffer 7 eingegeben
sind, Befehlsdaten sind, transferiert die Befehlsschnittstellenschaltung 12 die
Befehlsdaten zu einer Zustandsmaschine (Steuerschaltung) 13.
-
Die
Zustandsmaschine 13 bestimmt den Operationsmodus (Schreiben,
Löschen,
Lesen) des Flash-Speichers basierend auf den Befehlsdaten, und steuert
die ganze Operation des Flash-Speichers in Übereinstimmung mit dem Operationsmodus.
Konkret steuert die Maschine die Operationen der Datenschaltung 2,
Wortleitungssteuerschaltung 3, Spaltendecoders 4,
Adresspuffers 5, E/A-Leseverstärkers 6, Dateneingabe-Ausgabepuffers 7,
Wannen-/Sourceleitungspotenzial-Steuerschaltung 8, Potenzialgenerierungsschaltung 9A,
Schaltkreises 9B und Mengenerfassungsschaltung 10.
-
(2) Gestaltungsbeispiel des Speicherzellenfeldes
-
2 zeigt
einen Gestaltungsbeispiel des Speicherzellenfeldes. 3 zeigt
ein Schaltungsbeispiel eines BLOCKi unter einer Vielzahl von Blöcken, die
in 2 gezeigt werden.
-
Das
Speicherzellenfeld 1 enthält eine Vielzahl von (1024
Blöcke
in dem vorliegenden Beispiel) Blöcken
BLOCK0 bis BLOCK1023. Eine Vielzahl von Blöcken BLOCK0 bis BLOCK1023 ist
in einer Y-Richtung angeordnet. Der Block bedeutet ein mini males Potenzial
zum Löschen,
d.h. eine minimale Zahl von Speicherzellen, die mit einmal gelöscht werden
können.
-
Ein
Block BLOCKi enthält
eine Vielzahl von NAND-Zelleneinheiten U (8512 Einheiten in dem
vorliegenden Beispiel), die in einer X-Richtung angeordnet sind.
Eine NAND-Zelleneinheit U enthält:
eine NAND-Spalte, die vier Speicherzellen M1, M2, M3, M4 enthält, die
in Reihe verbunden sind; einen Auswahlgattertransistor S1, der mit
einem Ende der NAND-Spalte verbunden ist; und einen Auswahlgattertransistor
S2, der mit dem anderen Ende der NAND-Spalte verbunden ist.
-
In
dem vorliegenden Beispiel enthält
die NAND-Spalte vier Speicherzellen M1, M2, M3, M4, kann aber auch
eine oder zwei oder mehr Speicherzellen enthalten, und die Zahl
von Zellen ist nicht auf vier begrenzt.
-
Der
Auswahlgattertransistor S1 ist mit einer Bitleitung BLek oder BLok
(k = 0, 1, ..., 4255) verbunden, und der Karte Gatterauswahltransistor
S2 ist mit einer Sourceleitungs-C-Source verbunden.
-
Wortleitungen
(Steuergatterleitungen) WL0-i, WL1-i, WL2-i, WL3-i erstrecken sich
in der X-Richtung, und sind gemeinsam mit einer Vielzahl von Speicherzellen
der X-Richtung verbunden. Eine Auswahlgatterleitung SGD-i erstreckt
sich in der X-Richtung,
und ist gemeinsam mit einer Vielzahl von Auswahlgattertransistoren
S1 der X-Richtung verbunden. Eine Auswahlgatterleitung SGS-i erstreckt sich
auch in der X-Richtung, und ist gemeinsam mit einer Vielzahl von
Auswahlgattertransistoren S2 der X-Richtung verbunden.
-
In
dem vorliegenden Beispiel werden zu einer Schreib-/Leseoperationszeit
eine Vielzahl von Bitleitungen BLe0, BLe1, ... BLe4255, die in geradzahligen
Positionen angeordnet sind, die von einem Ende des Blocks BLOCKi
gezählt
werden, und eine Vielzahl von Bitleitungen BLo0, BLo1, ... BLo4255, die
in den ungeradzahligen Positionen angeordnet sind, die von einem
Ende des Blocks gezählt
werden, unabhängig
voneinander angesteuert. Außerdem wird
von der Bitleitung angenommen, von 0 gezählt zu werden.
-
D.h.
die Schreib-/Leseoperation wird gleichzeitig mit Bezug auf 4256
Speicherzellen (gezeigt durch Δ)
ausgeführt,
die mit einer Vielzahl von Bitleitungen BLe0, BLe1, ... BLe4255
verbunden sind, die in den geradzahligen Positionen unter 8512 Speicherzellen
angeordnet sind, die mit einer Wortleitung verbunden sind, wie etwa
Wortleitung WL3-i. Außerdem
wird die Schreib-/Leseoperation gleichzeitig mit Bezug auf 4256
Speicherzellen (gezeigt durch O) ausgeführt, die mit einer Vielzahl
von Bitleitungen BLo0, BLo1, ... BLo4255 verbunden sind, die in
den ungeradzahligen Positionen unter 8512 Speicherzellen angeordnet
sind, die mit der Wortleitung WL3-i verbunden sind.
-
Wenn
eine Speicherzelle Einbitdaten speichert, bilden 4256 Speicherzellen
(gezeigt durch Δ), die
in Schnittstellen einer Wortleitung, wie etwa Wortleitung WL3-i,
und einer Vielzahl von geradzahligen Bitleitungen BLe0, BLe1, ...
BLe4255 positioniert sind, eine Einheit, die eine Seite genannt
wird. Ähnlich
bilden 4256 Speicherzellen (gezeigt durch O), die in den Schnittstellen
der Wortleitung WL3-i und einer Vielzahl von ungeradzahligen Bitleitungen
BLo0, BLo1, ... BLo4255 positioniert sind, auch die Einheit, die
die Seite genannt wird.
-
Wenn
eine Speicherzelle Zweibitdaten wie in dem vorliegenden Beispiel
speichert, speichern 4256 Speicherzellen (gezeigt durch Δ) Daten für zwei Seiten,
und 4256 Speicherzellen (gezeigt durch O) speichern auch die Daten
für zwei
Seiten.
-
(3) Einrichtungsaufbaubeispiel
-
1). Wannenaufbaubeispiel
-
4 zeigt
ein Beispiel eines Wannenaufbaus des NAND-Zellentyp-Flash-Speichers.
-
In
einem Siliziumträger
vom p-Typ (p-sub) 11-1 sind eine sogenannte Doppelwannenregion,
die eine Wannenregion vom n-Typ (Zellen-n-Wanne) 11-2 und
eine Wannenregion vom p-Typ (Zellen-p-Wanne) 11-3 enthält, eine
Wannenregion vom n-Typ (n-Wanne) 11-4 und
eine Wannenregion vom p-Typ (p-Wanne) 11-5 ausgebildet.
-
Die
Doppelwannenregion ist in einem Speicherzellenfeldabschnitt ausgebildet,
und die Wannenregion vom n-Typ 11-4 und die Wannenregion vom
p-Typ 11-5 sind in einem peripheren Schaltungsabschnitt
ausgebildet.
-
Die
Speicherzelle enthält
einen n-Kanal-MOS-Transistor, und ist in der Wannenregion vom p-Typ 11-3 angeordnet.
Die Wannenregion vom n-Typ 11-2 und die Wannenregion vom
p-Typ 11-3 sind auf das gleiche Potenzial gesetzt.
-
Ein
Hochspannungs-n-Kanal-MOS-Transistor, an den eine Spannung, die
höher als
eine Leistungsspannung ist, angelegt wird, ist in dem Siliziumträger vom
p-Typ (p-sub) 11-1 ausgebildet. Ein Niederspannungs-p-Kanal-MOS-Transistor,
an den die Leistungsspannung angelegt wird, ist in der Wannenregion
vom n-Typ (n-Wanne) 11-4 ausgebildet, und ein Niederspannungs-n-Kanal-MOS-Transistor,
an den die Leistungsspannung angelegt wird, ist in der Wannenregion
vom p-Typ (p-Wanne) 11-5 ausgebildet.
-
2). Zellenfeldaufbaubeispiel
-
5 zeigt
ein Beispiel eines Schnittaufbaus der Y-Richtung des Speicherzellenfeldabschnitts
des NAND-Zellentyp-Flash-Speichers.
-
In
dem Siliziumträger
vom p-Typ 11-1 wird die Doppelwannenregion ausgebildet,
die die Wannenregion vom n-Typ 11-2 und die Wannenregion vom
p-Typ 11-3 enthält.
-
Vier
Speicherzellen M1, M2, M3, M4, die in Reihe verbunden sind, sind
in der Wannenregion vom p-Typ 11-3 angeordnet. Jede der
vier Speicherzellen M1, M2, M3, M4 besteht aus einem N-Kanal-MOS-Transistor,
und enthält
einen Schichtgatteraufbau, der schwebende Gatterelektroden FG und Steuergatterelektroden
WL0-i, WL1-i, WL2-i, WL3-i enthält.
-
Ein
Ende der NAND-Spalte, die die Speicherzellen M1, M2, M3, M4, die
in Reihe verbunden sind, enthält,
ist mit dem Auswahlgattertransistor S1 verbunden, und das andere
Ende davon ist mit dem Auswahlgattertransistor S2 verbunden. Die
Auswahlgattertransistoren S1, S2 enthalten die N-Kanal-MOS-Transistoren,
und enthalten Aufbauten annähernd
gleich den Speicherzellen M1, M2, M3, M4, d.h. die Doppelaufbau-Auswahlgatterleitungen SGS-i,
SGD-i.
-
Ein
Ende der NAND-Zelleneinheit, d.h. eine Diffusionsschicht (Drain-Diffusionsschicht) 14 des Auswahlgattertransistors
S1 ist mit einer ersten Metallverdrahtungsschicht M0 über einen
Kontaktanschluss CB1 verbunden. Außerdem ist die erste Metallverdrahtungsschicht
M0 mit einer zweiten Metallverdrahtungsschicht M1 als eine Bitleitung
BL über einen
Anschluss V1 verbunden. Die Bitleitung BL ist mit einer Datenschaltung
verbunden.
-
Das
andere Ende der NPND-Zelleneinheit, d.h. eine Diffusionsschicht
(Source-Diffusionsschicht) 15 des Auswahlgattertransistors
S2 ist mit der ersten Metallverdrahtungsschicht M0 als eine Sourceleitungs-C-Source über einen
Kontaktanschluss CB2 verbunden. Die Sourceleitungs-C-Source ist
mit einer Sourcepotenzialsteuerschaltung verbunden.
-
Die
Wannenregion vom n-Typ (Zellen-n-Wanne) 11-2 ist mit einer
C-p-Wannenpotenzialeinstellungsleitung 18 über eine
Diffusionsschicht vom n-Typ 16 verbunden, und die Wannenregion vom
p-Typ (Zellen-p-Wanne) 11-3 ist mit der C-p-Wannenpotenzialeinstellungsleitung 18 über eine
Diffusionsschicht vom p-Typ 17 verbunden.
D.h. die Wannenregion vom n-Typ 11-2 und die Wannenregion
vom p-Typ 11-3 sind auf das gleiche Potenzial gesetzt.
Die C-p-Wannenpotenzialeinstellungsleitung 18 ist mit einer
Wannenpotenzial-Steuerschaltung verbunden.
-
Es
ist zu vermerken, dass die schwebenden Gatterelektroden FG, die
Steuergatterelektroden WL0-i, WL1-i, WL2-i, WL3-i und die Auswahlgatterleitungen
SGS-i, SGD-i aus z.B. leitendem Polysilicon, das Verunreinigungen
enthält,
ausgebildet sind. Außerdem
sind die ersten und zweiten Metallverdrahtungsschichten M0, M1 aus
z.B. Aluminium, Kupfer oder einer Legierung dieser Metalle ausgebildet.
-
6 zeigt
ein Beispiel des Schnittaufbaus der X-Richtung der Speicherzelle,
und 7 zeigt ein Beispiel des Schnittaufbaus der X-Richtung
des Auswahlgattertransistors.
-
Eine
Vielzahl von Speicherzellen (FG+WL) der X-Richtung sind voneinander
durch eine Einrichtungsisolationsschicht 19 getrennt, die
einen flachen Grabenisolations-(STI) Aufbau enthält. Die schwebenden Gatterelektroden
FG sind in der Region vom p-Typ 11-3 über einen sehr dünnen Tunneloxidfilm 20 angeordnet.
Die Steuergatterelektrode WL ist auf den schwebenden Gatterelektroden
FG über
einen Oxid-/Nitrit-/Oxid- (ONO) Film 21 angeordnet.
-
Die
Auswahlgatterleitung SGS/SGD hat einen Doppelaufbau. Untere und
obere Auswahlgatterleitungen SGS/SGD sind miteinander in einem Ende des
Speicherzellenfeldes elektrisch verbunden, und sind miteinander
sogar in dem Speicherzellenfeld in einem konstanten Intervall, z.B.
jede 512 Bitleitungen, elektrisch verbunden.
-
(4) Gestaltungsbeispiel der Mengenerfassungsschaltung
-
8 zeigt
ein Gestaltungsbeispiel der Mengenerfassungsschaltung.
-
Die
Mengenerfassungsschaltung 10 hat eine Funktion zum Prüfen, ob
die Daten vollständig
geschrieben oder gelöscht
sind oder nicht mit Bezug auf alle ausgewählten Speicherzellen nach einem
Verifizierungslesen (Programm-/Löschabschlusserfassung).
-
In
dem vorliegenden Beispiel, wie in dem Gestaltungsbeispiel des Speicherzellenfeldes
beschrieben, wird angenommen, dass eine Vielzahl von geradzahligen
und ungeradzahligen Bitleitungen unabhängig voneinander in der Schreib-/Leseoperationszeit
angesteuert werden. Deshalb ist eine Teildatenschaltung für zwei Bitleitungen
einschließlich
einer geradzahligen Bitleitung und einer ungeradzahligen Bitleitung
angeordnet.
-
Da
8512 Bitleitungen BLek, BLok (k = 0, 1, ... 4225) existieren, wird
die Datenschaltung 2 konkret aus 4256 Teildatenschaltungen
gebildet. Es ist zu vermerken, dass das Gestaltungsbeispiel jeder
Teildatenschaltung in der Datenschaltung 2 später beschrieben
wird.
-
In
dem vorliegenden Beispiel werden unter 4256 Teildatenschaltungen
nur acht Teildatenschaltungen REGR1-0, REGR1-1, REGR1-2, REGR1-3, REGR2-0,
REGR2-1, REGR2-2, REGR2-3 gezeigt.
-
Eine
Teildatenschaltung REGR1-y ist mit zwei Bitleitungen BLej+y, BLoj+y,
und einem E/A-Leitungspaar IOj+y, nIOj+y verbunden. Außerdem ist eine
Teildatenschaltung REGR2-y mit zwei Bitleitungen BLej+y+4, BLoj+y+4,
und einem E/A-Leitungspaar IOj+y+4, nIOj+y+4 verbunden. Außerdem ist
y = 0, 1, 2, 3.
-
Ausgangsknoten
RCD1 der ersten bis vierten Teildatenschaltungen REGR1-0, REGR1-1, REGR1-2,
REGR1-3 sind gemeinsam verbunden, und der Verbindungsknoten RCD1
ist mit einem Gate pf eines P-Kanal-MOS-Transistors TP2 verbunden. Ähnlich sind
Ausgangsknoten RCD2 der fünften
bis achten Teildatenschaltungen REGR2-0, REGR2-1, REGR2-2, REGR2-3
gemeinsam verbunden, und der Verbindungsknoten RCD2 ist mit dem
Gate eines P-Kanal-MOS-Transistors
TP3 verbunden.
-
P-Kanal-MOS-Transistoren
TP13, TP14 haben eine Funktion zum Vorladen der Knoten RCD1, RCD2
basierend auf Steuersignalen COMHn in einer Programm-/Löschabschlusserfassungszeit.
D.h. nachdem die Steuersignale COMHn auf "L" gesetzt sind,
und die Knoten RCD1, RCD2 auf ein Leistungspotenzial Vdd gesetzt
sind, werden die Steuersignale COMHn auf "L" gesetzt,
und die Knoten RCD1, RCD2 werden in einem schwebenden Zustand gebracht.
In diesem Zustand werden die P-Kanal-MOS-Transistoren TP2, TP3 in
einen Aus-Zustand gebracht.
-
Ein
N-Kanal-MOS-Transistor TN15 hat eine Funktion zum Setzen eines Knotens
NCOM auf ein Massepotenzial Vss in der Programm-/Löschabschlusserfassungszeit,
und anschließenden
Setzen des schwebenden Zustands. Der MOS-Transistor TN15 wird durch
ein Steuersignal NCOML gesteuert.
-
In
der Programm-/Löschabschlusserfassungszeit
wird für
die Teildatenschaltung entsprechend der Speicherzelle, in der die
Daten nicht ausreichend geschrieben/gelöscht sind, ein Potenzialpegel
des gemeinsamen Knotens RCD1 oder RCD2 von "H" auf "L" abgesenkt.
-
Mit
mindestens einer Speicherzelle, in der die Daten nicht ausreichend
geschrieben/gelöscht sind,
wird deshalb der P-Kanal-MOS-Transistor TP2 oder TP3 eingeschaltet,
der Knoten NCOM schaltet zu "H" von "L" und FLAG schaltet zu "L".
-
Mit
Bezug auf alle Speicherzellen werden andererseits die Daten ausreichend
geschrieben/gelöscht.
In diesem Fall werden in allen Teildatenschaltungen die Potenzialpegel
der gemeinsamen Knoten RCD1, RCD2 auf "H" gehalten.
Deshalb bleibt der Knoten NCOM auf "L",
und FLAG schaltet zu "H".
-
Wenn
der Potenzialpegel von FLAG auf diese Art und Weise erfasst wird,
ist es möglich
zu prüfen,
ob die Daten vollständig
geschrieben/gelöscht sind
oder nicht mit Bezug auf alle Speicherzellen.
-
In
dem vorliegenden Beispiel werden acht Teildatenschaltungen als eine
Gruppe betrachtet, und die Programm-/Löschabschlusserfassung, d.h. die
Erfassung des Spannungspegels von FLAG, wird jede acht Teildatenschaltungen
durchgeführt.
-
Ein
Grund dafür,
warum acht Teildatenschaltungen in eine Gruppe kombiniert sind,
besteht darin, dass die Speicherzellen durch eine Redundanzschaltung
durch eine Einheit von acht Spalten entsprechend diesen acht Teildatenschaltungen
ersetzt werden. D.h. wenn eine Sicherungseinrichtung (umgeben mit
einer unterbrochenen Linie) getrennt wird, sind die Speicherzellen,
die mit diesen acht Teildatenschaltungen verbunden sind, in einem
nicht-ausgewählten
Zustand, und Reservespeicherzellen einer redundanten Region werden
stattdessen ausgewählt.
-
Wenn
die Speicherzelle durch die Redundanzschaltung durch eine Einheit
von n Spalten entsprechend n (n ist eine natürliche Zahl) Teildatenschaltungen
ersetzt wird, werden die n Teildatenschaltungen in eine Gruppe kombiniert.
-
Es
ist zu vermerken, dass FLAG ein gemeinsamer Knoten für alle Spalten
ist. Wenn zum Beispiel die Datenschaltung 2 4256 Teildatenschaltungen
enthält,
und acht Teildatenschaltungen als eine Einheit von Redundanzaustausch
angenommen werden, existieren 532 Schaltungen, die in 8 gezeigt
werden, in dem Chip. Außerdem
sind diese 532 Schaltungen mit dem gemeinsamen Knoten FLAG verbunden.
-
(5) Gestaltungsbeispiel der Datenschaltung
-
9 zeigt
ein Gestaltungsbeispiel der Teildatenschaltung in der Datenschaltung.
-
In
dem vorliegenden Beispiel besteht die Datenschaltung aus einer Vielzahl
von Teildatenschaltungen (z.B. 4256 Schaltungen), und jede Teildatenschaltung
enthält
eine Gestaltung, wie in 9 gezeigt.
-
Die
Teildatenschaltung REGR enthält
vier Datenspeichereinheiten DS1, DS2, DS3, DS4. Diese Datenspeichereinheiten
DS1, DS2, DS3, DS4 werden verwendet, um Lese- und Programmoperationen von
Zweibitdaten mit Bezug auf eine ausgewählte Speicherzelle auszuführen. Die
Programmoperation enthält
Schreib- und Verifizierungsoperationen.
-
Außerdem ist
eine Teildatenschaltung mit Bezug auf insgesamt zwei Bitleitungen
angeordnet, die eine geradzahlige Bitleitung und eine ungeradzahlige
Bitleitung enthalten. Die geradzahlige Bitleitung BLek ist mit der
Teildatenschaltung REGR über einen
N-Kanal-MOS-Transistor Qn1 verbunden, und die ungeradzahlige. Bitleitung
BLok ist mit der Teildatenschaltung REGR über einen N-Kanal-MOS-Transistor
Qn2 verbunden.
-
Wenn
ein Steuersignal BLSe "H" anzeigt, und ein
Steuersignal BLSo "L" anzeigt, wird der N-Kanal-MOS-Transistor
Qn1 eingeschaltet. Deshalb ist die geradzahlige Bitleitung BLek
mit der Teildatenschaltung REGR elektrisch verbunden. Wenn das Steuersignal
BLSe "L" anzeigt, und das
Steuersignal BLSo "H" anzeigt, wird der
N-Kanal-MOS-Transistor Qn2 eingeschaltet. Deshalb ist die ungeradzahlige
Bitleitung BLok mit der Teildatenschaltung REGR elektrisch verbunden.
-
Es
ist zu vermerken, dass das Steuersignal BLSe gemeinsam in den N-Kanal-MOS-Transistor Qn1
eingegeben wird, der mit der geradzahligen Bitleitung BLek verbunden
ist, und das Steuersignal BLSo gemeinsam in den N-Kanal-MOS-Transistor Qn2
eingegeben wird, der mit der ungeradzahligen Bitleitung BLok verbunden
ist.
-
10 zeigt ein Schaltungsbeispiel der Teildatenschaltung
von 9.
-
In
dem vorliegenden Beispiel wird die Datenschaltung für eine Spalte
(einschließlich
zweier Bitleitungen Blek, BLok) entsprechend 9 gezeigt.
-
Die
Teildatenschaltung REGR enthält
vier Datenspeichereinheiten DS1, DS2, DS3, DS4.
-
Die
Datenspeichereinheit DS1 enthält
einen N-Kanal-MOS-Kondensator vom Senkungstyp C1. Die Datenspeichereinheit
DS2 enthält
einen N-Kanal-MOS-Transistor Qn8. Die Datenspeichereinheit DS3 wird
durch eine CMOS-Flip-Flop-Schaltung gebildet, die Taktsynchroninvertierer
CI1, CI2 enthält, und
die Datenspeichereinheit DS4 wird durch eine CMOS-Flip-Flop-Schaltung gebildet,
die Taktsynchroninvertierer CI3, CI4 enthält.
-
Ein
Ende des MOS-Kondensators C1 ist mit den Bitleitungen Blek, BLok über N-Kanal-MOS-Transistoren
Qn5, Qn1, Qn2 verbunden, und das andere Ende davon ist mit einem
Massepunkt Vss verbunden. Der MOS-Transistor Qn5 ist ein Klemmtransistor,
der einen Knoten N1 der Bitleitung auf einer Seite von Qn1, Qn2
und einen Knoten N2 auf einer Seite des MOS-Kondensators C1 elektrisch
verbindet/trennt.
-
Wenn
ein Steuersignal BLCLAMP "H" anzeigt, wird der
MOS-Transistor Qn5 eingeschaltet. Zum Beispiel wird die geradzahlige
Bitleitung BLek mit einem Ende des MOS-Kondensators C1 elektrisch
verbunden. Zu dieser Zeit wird das Steuersignal BLSe auf "H" gesetzt, und das Steuersignal BLSo wird
auf "L" gesetzt. Außerdem wird
zu dieser Zeit ein Steuersignal BIASe auf "L" gesetzt,
ein Steuersignal BLASo wird auf "H" gesetzt, und ein
Vorspannungspotenzial (z.B. Massepotenzial) BLCRL wird der ungeradzahligen
Bitleitung BLok zugeführt.
-
Wenn
die ungeradzahlige Bitleitung BLok mit einem Ende des MOS-Kondensators
C1 elektrisch verbunden ist, wird außerdem das Steuersignal BLSe
auf "L" gesetzt, und das
Steuersignal BLSo wird auf "H" gesetzt. Des weiteren
wird zu dieser Zeit das Steuersignal BIAse auf "H" gesetzt,
das Steuersignal BIAso wird auf "L" gesetzt, und das
Vorspannungspotenzial (z.B. Massepotenzial) BLCRL wird der geradzahligen
Bitleitung BLek zugeführt.
-
Wenn
das Steuersignal BLCLAMP "L" anzeigt, wird der
MOS-Transistor Qn5 eingeschaltet. Z.B. ist der Knoten N1 auf der
Seite Qn1, Qn2 der Bitleitung von dem Knoten N2 auf der Seite des MOS-Kondensators
C1 elektrisch getrennt.
-
Ein
N-Kanal-MOS-Transistor Qn6 ist mit einem Ende des MOS-Kondensators C1 verbunden. Der
MOS-Transistor Qn6 ist eine Einrichtung zum Laden von einem Ende
des MOS-Kondensators C1 auf ein Vorladungspotenzial VPRE. Wenn ein
Steuersignal BLPRE "H" anzeigt, wird ein
Ende des MOS-Kondensators C1 auf das Vorladungspotenzial VPRE geladen.
-
Ein
N-Kanal-MOS-Transistor Qn8 ist mit einem Ende des MOS-Kondensators C1 über einen N-Kanal-MOS-Transistor
Qn7 verbunden. Wenn ein Steuersignal REF "H" anzeigt,
d.h. wenn der MOB-Transistor Qn7 eingeschaltet ist, setzt der MOS-Transistor
Qn8 das Potenzial von einem Ende des MOS-Kondensators C1 zwangsweise
auf VREG basierend auf dem Wert der Daten, die in der Datenspeichereinheit
DS2 gespeichert sind.
-
Wenn
z.B. die Daten, die in der Datenspeichereinheit DS2 gespeichert
sind, "1" sind, d.h. der Pegel
des Gate des MOS-Transistors "H" anzeigt, schaltet das Steuersignal
REG auf "H", und ein Ende des
MOS-Kondensators C1 wird zwangsweise auf VREG gesetzt. Wenn die
Daten, die in der Datenspeichereinheit DS2 gespeichert sind, "0" sind, d.h. der Pegel des Gate des MOB-Transistors "L" anzeigt, wird außerdem das Potenzial von einem
Ende des MOS-Kondensators C1 nicht durch VREG beeinflusst.
-
Beide
Datenspeichereinheiten DS3, DS4 sind aus einer CMOS-Flip-Flop-Schaltung
gebildet.
-
Ein
N-Kanal-MOS-Transistor Qn11 ist eine Einrichtung zum Ausgleichen
der Potenziale von zwei Eingangsanschlüssen der CMOS-Flip-Flop-Schaltung
in der Datenspeichereinheit DS3, d.h. der Eingangsanschlüsse der
Taktsynchroninvertierer CI1, CI2. Außerdem ist ein N-Kanal-MOS-Transistor
Qn13 eine Einrichtung zum Ausgleichen der Potenziale von zwei Eingangsanschlüssen der
CMOS-Flip-Flop-Schaltung in der Datenspeichereinheit DS4, d.h. der
Eingangsanschlüsse
der Taktsynchroninvertierer CI3, CI4.
-
Der
MOS-Transistor Qn11 wird durch ein Steuersignal EQ1 gesteuert, und
der MOS-Transistor Qn13 wird durch ein Steuersignal EQ2 gesteuert.
-
Der
Taktsynchroninvertierer CI1 arbeitet in Synchronisation mit Taktsignalen
SEN1, SEN1n, der Taktsynchroninvertierer CI2 arbeitet in Synchronisation
mit Taktsignalen LATZ, LAT1n, der Taktsynchroninvertierer CI3 arbeitet
in Synchronisation mit Taktsignalen LAT2, LAT2n und der Taktsynchroninvertierer
CI4 arbeitet in Synchronisation mit Taktsignalen SEN2, SEN2n.
-
Es
ist zu vermerken, das ein Signal "***n" ein Umkehrsignal
bedeutet, das durch Umkehrung des Pegels eines Signals "***" erhalten wird. Gestaltungsbeispiele
der Taktsynchroninvertierer CI1, CI2, CI3, CI4 werden z.B. in 11 gezeigt.
-
Der
Taktsynchroninvertierer von 11 arbeitet
als ein CMOS-Invertierer, wenn ein Taktsignal CLK "H" anzeigt und ein Taktsignal CLKn "L" anzeigt. Wenn das Taktsignal CLK "L" anzeigt, und das Taktsignal CLKn "H" anzeigt, hat ein Eingangssignal IN mit
einem Ausgangssignal OUT nichts zu tun.
-
Ein
N-Kanal-MOS-Transistor Qn10 ist als eine Schaltereinrichtung zwischen
den Datenspeichereinheiten DS1 und DS3 verbunden, d.h. zwischen
einem Ende (Knoten N2) des MOS-Kondensa tors C1 und dem Eingangsanschluss
(Knoten N3) des Taktsynchroninvertierers CI1. Der MOS-Transistor
Qn10 wird durch ein Steuersignal BLC1 gesteuert, und wird verwendet,
um Daten zwischen den Datenspeichereinheiten DS1 und DS3 zu transferieren.
-
Ein
N-Kanal-MOS-Transistor Qn9 ist als die Schaltereinrichtung zwischen
den Datenspeichereinheiten DS2 und DS3 verbunden, d.h. zwischen
dem Gate des N-Kanal-MOS-Transistors Qn8 und dem Eingangsanschluss
des Taktsynchroninvertierers CI1. Der MOS-Transistor Qn9 wird durch
ein Steuersignal DTG gesteuert, und wird verwendet, die Daten, die
in der Datenspeichereinheit DS3 gespeichert sind, zu der Datenspeichereinheit
DS2 zu transferieren.
-
Ein
N-Kanal-MOS-Transistor Qn12 ist als die Schaltereinrichtung zwischen
den Datenspeichereinheiten DS1 und DS4 verbunden, d.h. zwischen
einem Ende (Knoten N2) des CMOS-Kondensators C1 und dem Eingangsanschluss
(Knoten N4) des Taktsynchroninvertierers CI4. Der MOS-Transistor
Qn12 wird durch ein Steuersignal BLC2 gesteuert, und wird verwendet,
Daten zwischen den Datenspeichereinheiten DS1 und DS4 zu transferieren.
-
Ein
N-Kanal-MOS-Transistor Qn14 ist eine Einrichtung zum Rücksetzen
der Daten der Datenspeichereinheit DS4. In einer Schreiboperationszeit setzt
der MOS-Transistor Qn14 z.B. den Zustand der Datenspeichereinheit
DS4 in "1", was einen Zustand von
Datenhaltung anzeigt, d.h. setzt den Knoten N4 auf einen Zustand
von "H", bevor die Schreibdaten
in die Datenspeichereinheit DS4 eingegeben werden.
-
Wenn
ein Steuersignal PRST zu "H" schaltet, schaltet
konkret ein Ausgangsanschluss des Taktsynchroninvertierers CI4 auf "L", und der Knoten N4 schaltet auf "H".
-
Die
Datenspeichereinheit DS4 ist mit E/A-Leitungen (Datenleitungen)
IO, nIO über
N-Kanal-MOS-Transistoren Qn15, Qn16 als Spaltenauswahlschalter verbunden.
-
Da
ein Spaltenauswahlsignal CSLk (k = 0, 1, ..., 4255) auf "H" in der Spalte schaltet, die durch das Spaltenadresssignal
ausgewählt
ist, ist die Datenspeichereinheit DS4 mit den E/A-Leitungen IO, nIO
in der ausgewählten
Spalte elektrisch verbunden.
-
Ein
N-Kanal-MOS-Transistor Qn17 ist eine Einrichtung zum Bestimmen eines
Pegels eines gemeinsamen Knotens PCD basierend auf den Daten, die
in der Datenspeichereinheit DS3 gespeichert sind.
-
Es
sind z.B. in einer Programmierungszeit von "0" Daten "0" in der Datenspeichereinheit DS3 gespeichert.
D.h. da der Knoten N4 einen Zustand "L" hat,
und ein Knoten N5 einen Zustand "H" hat, wird der N-Kanal-MOS-Transistor
Qn17 eingeschaltet, und der Pegel des gemeinsamen Knotens PCD wird
auf "L" gesetzt. Wenn die
Daten "0" vollständig in
der Speicherzelle in einer Verifizierungslesezeit geschrieben sind,
sind Lesedaten "1". Deshalb sind Daten "1" in der Datenspeichereinheit DS4 gespeichert.
D.h. da sich der Zustand des Knotens N4 auf "H" ändert, und
sich der des Knotens N5 auf "L" ändert, wird der N-Kanal-MOS-Transistor
Qn17 ausgeschaltet, und der Pegel des gemeinsamen Knotens PCD wird
auf "H" gesetzt.
-
Es
ist zu vermerken, dass die detaillierte Operation später beschrieben
wird.
-
In
der obigen Beschreibung existieren für die Daten "0" und "1".
Für den
Pegel des Knotens existieren "L" und "H". Für
eine Beziehung entspricht "0" "L",
und "1" entspricht "H".
-
Außerdem sind
in dem vorliegenden Beispiel zwei Bitleitungen BLek, BLok in einer
Spalte angeordnet, und diese zwei Bitleitungen BLek, BLok sind mit
einer Teildatenschaltung verbunden. Ein Grund, warum die zwei Bitleitungen
BLek, BLok mit einer Teildatenschaltung verbunden sind, besteht
darin, dass Ziele erreicht werden: 1). Es wird verhindert, dass
ein Rauschen durch eine kapazitive Kopplung zwischen den Bitleitungen
generiert wird, die einander benachbart sind (Verwendung von Schirmungsbitleitungsleseverfahren);
und 2). Die Zahl von Datenschaltungen wird verringert und eine Chipfläche wird
reduziert.
-
(6) Gestaltungsbeispiel der Wortleitungssteuerschaltung
-
12 zeigt ein Gestaltungsbeispiel einer Wortleitungssteuerschaltung.
-
Das
Speicherzellenfeld 1 wird aus einer Vielzahl von Speicherzellenblöcken gebildet,
die in der Y-Richtung angeordnet sind. Jeder Speicherzellenblock
enthält
eine Vielzahl von NAND-Zelleneinheiten, die in der X-Richtung angeordnet
sind. Für
das Schaltungsbeispiel des Speicherzellenfeldes und der NAND-Zelleneinheit
siehe 3.
-
Außerdem wird
in dem vorliegenden Beispiel die Zahl von Wortleitungen WL1, ...,
WL16 in einem Block angenommen, 16 zu sein, was sich von dem oben
beschriebenen Beispiel (3) unterscheidet. Da diese
Hinsicht nicht besonders wichtig ist, wird jedoch die Hinsicht als
solche beschrieben.
-
In
dem vorliegenden Beispiel sind ein Zeilenadressdecoder und ein Wortleitungstreiber
für einen Speicherzellenblock
angeordnet.
-
Z.B.
sind die Wortleitungen WL1, ..., WL16 und Auswahlgatterleitungen
SG1, SG2 mit einem ersten Wortleitungstreiber RMAIN1 verbunden,
und der erste Wortleitungstreiber RMAIN1 empfängt das Ausgangssignal (Dekodierungsergebnis)
eines ersten Zeilenadressdecoders RADD1, der Auswahl/Nicht-Auswahl
des ersten Speicherzellenblocks bestimmt.
-
Auf
diese Art und Weise werden die Wortleitungen WL1, ..., WL16 und
Auswahlgatterleitungen SG1, SG2 in einem i-ten (i = 1, 2, ...) Speicherzellenblock
mit einem i-ten Wortleitungstreiber RMAINi verbunden, und der i-te
Wortleitungstreiber RMAINi empfängt
das Ausgangssignal (Dekodierungsergebnis) eines i-ten Zeilenadressdecoders
RADD1, der die Auswahl/Nicht-Auswahl
des i-ten Speicherzellenblocks bestimmt.
-
In
dem vorliegenden Beispiel sind hier die Wortleitungstreiber auf
entgegengesetzten Seiten (zwei Enden der X-Richtung) des Speicherzellenfeldes 1 angeordnet.
-
Konkret
sind die Wortleitungstreiber RMAIN1, RMAIN3, ... entsprechend dem
ungeradzahligen Speicherzellenfeldblock in einem (linken Ende) der
zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet,
und die Wortleitungstreiber RMAIN2, RMAIN4, ... entsprechend dem
geradzahligen Speicherzellenfeldblock sind in dem anderen Ende (rechtes
Ende) der zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet.
-
Wenn
die Wortleitungstreiber RMAINi in den entgegengesetzten Enden des
Speicherzellenfeldes 1 auf diese Art und Weise angeordnet
sind, können die
Wortleitungstreiber RMAINi einfach gestaltet werden (oder der Freiheitsgrad
vom Layout kann vergrößert werden).
D.h. in dem vorliegenden Beispiel kann ein Wortleitungstreiber einen
Layoutraum für
zwei Speicherzellenblöcke
in der Y-Richtung sichern.
-
Da
die Wortleitungen WL1, ..., WL16 und Auswahlgatterleitungen SG1,
SG2 in einem Speicherzellenblock immer von einer Seite (oder der
anderen Seite) des Speicherzellenfeldes 1 durch den Wortleitungstreiber
entsprechend dem Speicherzellenblock angesteuert werden, weicht
außerdem
eine Zeitsteuerung zum Zuführen
eines Ansteuersignals mit Bezug auf die Speicherzelle und den Auswahltransistor
in einer vorbestimmten NAND-Zelleneinheit in dem ausgewählten Block
nicht ab.
-
Andererseits
sind Zeilenadressdecoder RADDi (i= 1, 2, ...) nur in einem (eine
Seite) von zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet.
Da eine Signalleitung (Adressbus) zum Zuführen von Zeilenadresssignalen
zu den Zeilenadressdecodern RADDi nur auf einer Seite des Speicherzellenfeldes 1 angeordnet
sein kann, kann in diesem Fall eine Fläche des Adressbusses reduziert werden.
Als ein Ergebnis kann dies zu der Reduzierung der Chipfläche beitragen.
-
D.h.
falls die Zeilenadressdecoder RADDi in zwei Enden der X-Richtung des Speicherzellenfeldes 1 ähnlich wie
die Wortleitungstreiber RMAINi angeordnet sind, muss der Adressbus
in zwei Enden der X-Richtung des Speicherzellenfeldes 1 angeordnet sein.
Dies ist für
die Reduzierung der Chipfläche
von Nachteil.
-
Die
Zeilenadressdecoder RADDi sind nur in einem von zwei Enden (eine
Seite) der X-Richtung des Speicherzellenfeldes 1 angeordnet.
Als ein Ergebnis ist in dem vorliegenden Beispiel eine Signalleitung 22 in
dem Speicherzellenfeld 1 angeordnet. Die Signalleitung 22 wird
verwendet, um Ausgangssignale (Dekodierungsergebnisse) RDECADS der Zeilenadressdecoder
RADD2, RADD4, ... für
die geradzahligen Speicherzellenfeldblöcke den Wortleitungstreibern
RMAIN2, RMAIN4, ... zuzuführen.
-
In
einer gewöhnlichen
Operationszeit werden die Signale RDECADS durch die Signalleitung 22 geführt. Deshalb
ist es notwendig zu verhindern, dass das Potenzial der Signalleitung 22 die
Operation der Speicherzelle in der gewöhnlichen Operationszeit negativ
beeinflusst. Es ist zu vermerken, dass die Zeilenadressdecoder RADDi
und Wortleitungstreiber RMAINi zum Verhindern dessen, dass das Potenzial
der Signalleitung 22 die Operation der Speicherzelle negativ
beeinflusst, später
beschrieben werden.
-
Die
Potenzialgenerierungsschaltung 9A enthält eine Hochstufungsschaltung
(Ladepumpenschaltung), und generiert z.B. ein Schreibpotenzial Vpp
oder Transferpotenzial Vpass zur Verwendung in der Schreiboperation.
Die Potenzialgenerierungsschaltung 9A ist mit dem Schaltkreis 9B verbunden. Der
Schaltkreis 9B hat eine Funktion zum Verteilen der Potenziale,
wie etwa des Schreibpotenzials Vpp, des Transferpotenzials Vpass,
des Leistungspotenzials Vdd in dem Chip und des Massepotenzials
Vss zu Signalleitungen CG1, ... CG16 entsprechend den Wortleitungen
WL1, ... WL16.
-
Die
Signalleitungen CG1, ... CG16 sind mit den Wortleitungstreibern
RMAINi verbunden. D.h. die Signalleitungen CG1, ... CG16 sind mit
den Wortleitungen WL1, ... WL16 über
Transistoren HNt1, HNt2, ..., HNt16 (später beschrieben) zum Potenzialtransfer
in den Wortleitungstreibern RMAINi verbunden.
-
(7) Schaltungsbeispiel des Zeilenadressdecoders und
Wortleitungstreibers.
-
13 zeigt einen Hauptteil des Zeilenadressdecoders,
der für
den ungeradzahligen Speicherzellenblock angeordnet ist.
-
Der
Zeilenadressdecoder RADD1 funktioniert genau wie der Blockdecoder.
D.h. wenn der erste Speicherzellenblock ausge wählt ist, schalten alle Zeilenadresssignale
AROWi, ... AROWj auf "H", und das Ausgangssignal
RDECAD schaltet auf "H".
-
14 zeigt einen Hauptteil des Wortleitungstreibers,
der für
den ungeradzahligen Speicherzellenblock angeordnet ist.
-
Hauptbestandteile
des Wortleitungstreibers RMAIN1 enthalten einen Hochspannungsschaltkreis 26 und
MOS-Transistoren für
einen Transfer HN5, HN6, HNt1, ..., HNt16.
-
Der
Hochspannungsschaltkreis 26 enthält: eine erste Hochstufungseinheit,
die einen MOS-Kondensator DHN4 und einen MOS-Transistor IHN1 enthält; und eine zweite Hochstufungseinheit,
die einen MOS-Kondensator DHN5 und einen MOB-Transistor IHN2 enthält.
-
Das
Gate eines MOS-Transistors HN3 ist mit einem Verbindungsknoten B
der MOS-Transistoren IHN1, IHN2 verbunden. Da die Potenzialpegel
von Gate und Source des MOB-Transistors HN3 eine umgekehrte Phase
unterhalten, und das Potenzial von jedem Knoten A, B, TransferG1
in Synchronisation mit einem Taktsignal Owc allmählich ansteigt, wird in diesem
Fall eine Hochstufungseffizienz gesteigert.
-
Der
Hochspannungsschaltkreis 26 wird in einen Operationszustand
gebracht, wenn das Ausgangssignal RDECAD des Zeilenadressdecoders RADD1 "H" anzeigt. D.h. wenn das Ausgangssignal RDECAD "H" anzeigt, ist das Ausgangssignal einer NAND-Schaltung
NAND1 ein Taktsignal mit einer Phase, die zu der des Taktsignals
Owc entgegengesetzt ist. Das Ausgangssignal der NAND-Schaltung NAND1
wird an ein Ende der MOS-Kondensatoren DHN4, DHN5 angelegt.
-
Als
ein Ergebnis wird ein Hochstufungspotenzial an das Gate der MOS-Transistoren
für einen Transfer
HN5, HN6, HNt1, ..., HNt16 angelegt, und die MOS-Transistoren für einen
Transfer HN5, HN6, HNt1, ..., HNt16 werden eingeschaltet.
-
Wenn
das Ausgangssignal RDECAD des Zeilenadressdecoders RADD1 "H" anzeigt, werden MOS-Transistoren HN7,
HN8 ausgeschaltet. Zu dieser Zeit zeigen Signalleitungen SGD, SGS
z.B. das Leistungspotenzial Vdd in dem Chip an, und dieses Vdd wird
den Auswahlgatterleitungen SG1, SG2 über die MOS-Transistoren für einen
Transfer HN5, HN6 zugeführt.
-
Außerdem sind
die Signalleitungen CG1, CG2, ..., CG16 auf vorbestimmte Potenziale
durch den Schaltkreis 9B (siehe 1) in Übereinstimmung
mit dem Operationsmodus gesetzt. Des weiteren werden die Potenziale
der Signalleitungen CG1, CG2, CG16 den Wortleitungen WL1, WL2, ...,
WL16 über
die MOB-Transistoren
für einen
Transfer HNt1, ..., HNt16 zugeführt.
-
15 zeigt einen Hauptteil des Zeilenadressdecoders,
der für
den geradzahligen Speicherzellenblock angeordnet ist.
-
Der
Zeilenadressdecoder RADD2 enthält
die gleiche Schaltung wie die des Zeilenadressdecoders RADD1 von 13. D.h. eine Schaltung, die mit einer unterbrochenen
Linie X1 umgeben ist, ist die gleiche wie die des Zeilenadressdecoders
RADD1 von 13. Es ist zu vermerken, dass
in 15 der gleiche Teil wie der von 13 mit den gleichen Bezugszeichen bezeichnet ist.
-
Der
Zeilenadressdecoder RADD2 enthält
einen Invertierer I4, getaktete Invertierer CINV3, CINV4 und Hochspannungs-N-Kanal-MOS-Transistoren
vom Senkungstyp DHN6, DHN7.
-
Der
getaktete Invertierer CINV4 hat eine Funktion zum Setzen des Ausgangssignals
RDECADS (Potenzial der Signalleitung 22 von 12) des Zeilenadressdecoders für den ausgewählten Speicherzellenblock
auf das Massepotenzial Vss, und Setzen des Ausgangssignals RDECADS
des Zeilenadressdecoders für
den nicht-ausgewählten Speicherzellenblock
auf das Leistungspotenzial Vdd in dem Chip in einem Löschungszeitpunkt.
-
Der
MOS-Transistor DHN6 hat eine Funktion zum Bringen der Signalleitung 22 (siehe 12) in den schwebenden Zustand zusammen mit einem Transistor
DHN9 von 16, was später beschrieben wird.
-
In
dem Löschungszeitpunkt
schaltet in dem ausgewählten
Speicherzellenblock ein Signal RDECADS1 auf "H (Vdd)", und in dem nicht-ausgewählten Speicherzellenblock
schaltet das Signal RDECADS1 auf "L (Vss)".
-
Falls
das Signal RDECADS1 zu der Signalleitung 22 in dem Speicherzellenfeld
gegeben wird (siehe 12), schaltet die Signalleitung 22 in
dem Speicherzellenfeld auf "L
(Vss)" (siehe 12) in dem nicht-ausgewählten Speicherzellenblock.
-
Wenn
ein Löschpotenzial
Vera an eine Zellenwanne durch die kapazitive Rückkopplung der Zellenwanne
und der Wortleitung zugeführt
wird, und wenn das Potenzial der Wortleitung in dem nicht-ausgewählten Speicherzellenblock
angehoben wird, steigt in diesem Fall das Potenzial der Wortleitung durch
den Einfluss der Signalleitung 22 (12)
als das Massepotenzial Vss nicht ausreichend an.
-
Da
der getaktete Invertierer CINV4 angeordnet ist, schaltet das Ausgangssignal
RDECADS in dem vorliegenden Beispiel in dem ausgewählten Speicherzellenblock
auf "L (Vss)", und das Signal RDECADS
schaltet in der Löschzeit
in dem nicht-ausgewählten
Speicherzellenblock auf "H (Vdd)".
-
D.h.
in dem nicht-ausgewählten
Speicherzellenblock schaltet die Signalleitung 22 in dem
Speicherzellenfeld (siehe 12)
auf "H (Vdd)", und wird durch
Abschalten der MOS-Transistoren DHN6 und DHN9 in den schwebenden
Zustand gebracht (16).
-
Wenn
das Potenzial der Wortleitung in dem nicht-ausgewählten Speicherzellenblock
durch die kapazitive Kopplung der Zellenwanne und der Wortleitung
angehoben wird, wird deshalb der Einfluss der Signalleitung 22 (12) als das Leistungspotenzial Vdd in dem Chip
reduziert, und das Potenzial der Wortleitung steigt ausreichend
an.
-
16 zeigt einen Hauptteil des Wortleitungstreibers,
der für
den geradzahligen Speicherzellenblock angeordnet ist.
-
Unter
den Hauptbestandteilen des Wortleitungstreibers RMAIN2 sind der
Hochspannungsschaltkreis 26 und die MOS-Transistoren für einen Transfer
HN5, HN6, HNt1, ..., HNt16 die gleichen wie jene des Wortleitungstreibers
RMAIN1, der in 14 gezeigt wird. D.h. eine
Schaltung, die durch eine unterbrochene Linie X2 umgeben ist, ist
die gleiche wie die des Zeilenadressdecoders RADD1 von 14. Es ist zu vermerken, dass in 16 der gleiche Teil wie der von 14 durch die gleichen Bezugszeichen bezeichnet
ist.
-
Der
Wortleitungstreiber RMAIN2 enthält
getaktete Invertierer CINV5, CINV6, CINV7, Hochspannungs-N-Kanal-MOS-Transistoren
vom Senkungstyp DHN8, DHN9 und P-Kanal-MOS-Transistoren vom Verstärkungstyp
TP6, TP7.
-
Der
getaktete Invertierer CINV7 hat eine Funktion zum Rückführen des
Ausgangssignals RDECADS (Potenzial der Signalleitung 22 von 12) des Zeilenadressdecoders für den ausgewählten Speicherzellenblock
zurück
auf das Leistungspotenzial Vdd in dem Chip von dem Massepotenzial
Vss, Rückführen des
Ausgangssignals RDECADS des Zeilenadressdecoders für den nicht-ausgewählten Speicherzellenblock
zurück
zu dem Massepotenzial Vss von dem Leistungspotenzial Vdd in dem
Chip und Zuführen
eines Signals REDCADS2 zu der Schaltung in der unterbrochenen Linie
X2 in der Löschzeit.
-
Der
MOS-Transistor DHN9 hat eine Funktion zum Bringen der Signalleitung 22 (siehe 12) in den schwebenden Zustand zusammen mit dem
Transistor DHN6 von 15.
-
Wie
oben beschrieben, werden der Invertierer I4, die getakteten Invertierer
CINV3, CINV4 und die Hochspannungs-N-Kanal-MOS-Transistoren vom Senkungstyp DHN6,
DHN7 in dem Zeilenadressdecoder RADD2 von 15,
und die getakteten Invertierer CINV5, CINV6, CINV7, die Hochspannungs-N-Kanal-MOS-Transistoren
vom Senkungstyp DHN8, DHN9 und die P-Kanal-MOS-Transistoren vom
Verstärkungstyp
TP6, TP7 in dem Wortleitungstreiber RMAIN2 von 16 in Paaren verwendet, um das gleiche Ziel zu
erreichen.
-
Es
ist zu vermerken, dass in 13 bis 16 Vdd
(Leistungspotenzial in dem Chip, das geringer als ein externes Leistungspotenzial
Vcc ist) als das Leistungspotenzial zu diesen Schaltungen zugeführt wird.
Es kann jedoch z.B. das externe Leistungspotenzial Vcc an Stelle
dessen zugeführt
werden.
-
(8) Betrachtung vom Potenzialpegel von
Signalleitung 22
-
Der
Potenzialpegel der Signalleitung 22 (siehe 12) in jedem Operationsmodus wird als Nächstes beschrieben.
Es ist zu vermerken, dass nur der Potenzialpegel der Signalleitung 22 hier
beschrieben wird.
-
In
dem vorliegenden Beispiel ist die Signalleitung 22 (12) mit dem Zeilenadressdecoder (15) und Wortleitungstreiber (16) entsprechend dem geradzahligen Speicherzellenblock
verbunden. Deshalb wird der Potenzialpegel des Wortleitungstreiber-Auswahlsignals
RDECADS, das durch die Signalleitung 22 (12) geführt
wird, mit Bezug auf 15 und 16 beschrieben.
-
Der
Potenzialpegel des Ausgangssignals RDECADS des Zeilenadressdecoders
RADD2 unterscheidet sich mit dem Operationsmodus.
-
In
den Operationen (Schreiben, Lesen, verifizierendes Lesen) außer der
Löschoperation
sind ROWERASE1B, ROWPROG1, ROWERASE2B, ROWERASE3n, ROWGATE auf das
Leistungspotenzial Vdd (das Leistungspotenzial in dem Chip, das geringer
als das externe Leistungspotenzial Vcc ist gesetzt. Außerdem kann
das Potenzial auch das externe Leistungspotenzial Vcc sein), und ROWERASE1,
ROWPROG1B, ROWERASE2 sind auf das Massepotenzial Vss gesetzt.
-
Zu
dieser Zeit werden die getakteten Invertierer CINV3, CINV5, CINV6
in einen Operationszustand gebracht, und die getakteten Invertierer CINV4,
CINV7 werden in einen nicht betriebsfähigen Zustand gebracht. Außerdem wird
der MOS-Transistor TP6 ausgeschaltet.
-
In
dem ausgewählten
Speicherzellenblock zeigt das Ausgangssignal RDECADS1 eines Abschnitts,
der mit einer unterbrochenen Linie X1 umgeben ist, "H" an, d.h. das Leistungspotenzial Vdd
in dem Chip, und das Ausgangssignal RDECADS des Zeilenadressdecoders
RADD2 zeigt auch "H" an, d.h. das Leistungspotenzial
Vdd in dem Chip.
-
Andererseits
zeigt in dem nich-tausgewählten
Speicherzellenblock das Ausgangssignal RDECADS1 eines Abschnitts,
der mit einer unterbrochenen Linie X1 umgeben ist, "L" an, d.h. das Massepotenzial Vss, und
das Ausgangssignal RDECADS des Zeilenadressdecoders RADD2 zeigt
auch "L" an, d.h. das Massepotenzial
Vss.
-
Deshalb
hat in den Operationen außer
der Löschoperation
die Signalleitung 22 (siehe 12), die
in dem Speicherzellenfeld in den nicht-ausgewählten Speicherzellenblock angeordnet
ist, das Massepotenzial Vss, die Auswahlgatterleitungen SG1, SG2
in dem nicht-ausgewählten
Speicherzellenblock haben auch das Massepotenzial Vss, und diese
Signalleitungen 22, SG1, SG2 funktionieren als Abschirmungsleitungen
zwischen den Bit- und
Wortleitungen. Als ein Ergebnis kann Kopplungsrauschen, das in den
Daten generiert wird, die durch die Bitleitung geführt werden,
reduziert werden.
-
In
der Löschoperation
werden ROWERASE1B, ROWPROG1, ROWERASE2B, ROWERASE3n, ROWGATE auf
das Massepotenzial Vss gesetzt, und ROWERASE1, ROWPROG1B, ROWERASE2
werden auf das Leistungspotenzial im Chip Vdd (kann auch das Leistungspotenzial
Vcc sein) gesetzt.
-
Zu
dieser Zeit werden die getakteten Invertierer CINV4, CINV7 in den
Operationszustand gebracht, und die getakteten Invertierer CINV3,
CINV5, CINV6 werden in den nicht betriebsfähigen Zustand gebracht. Außerdem wird
der MOS-Transistor TP6 eingeschaltet.
-
In
dem ausgewählten
Speicherzellenblock zeigt das Ausgangssignal RDECADS1 des Abschnitts,
der mit der unterbrochenen Linie X1 umgeben ist, "H" an, d.h. das Leistungspotenzial im
Chip Vdd, und das Ausgangssignal RDECADS des Zeilenadressdecoders
RADD2 zeigt "L" an, d.h. das Massepotenzial
Vss.
-
Andererseits
zeigt in dem nicht-usgewählten Speicherzellenblock
das Ausgangssignal RDECADS1 des Abschnitts, der mit der unterbrochenen
Linie X1 umgeben ist, "L" an, d.h. das Massepotenzial
Vss, und das Ausgangssignal RDECADS des Zeilenadressdecoders RADD2
zeigt "H" an, d.h. das Leistungspotenzial
im Chip Vdd.
-
Außerdem zeigt
ROWGATE das Massepotenzial Vss an. Deshalb wird die Signalleitung 22 in dem
nicht-ausgewählten
Speicherzellenblock (siehe 12)
in den schwebenden Zustand durch Abschalten der MOS-Transistoren
DHN6, DHN9 gebracht, wenn das Potenzial der Leitung (Potenzial von
RDECADS) in dem Bereich von 1 bis 1,5V ist.
-
Wie
oben beschrieben, ist in der Löschoperation
die Signalleitung 22, die in dem Speicherzellenfeld in
den nicht-ausgewählten
Speicherzellenblock angeordnet ist (siehe 12),
in einem Bereich von 1 bis 1,5V, und in dem schwebenden Zustand. D.h.
wenn das Löschpotenzial
Vera der Zellenwanne zugeführt
wird, steigt auch das Potenzial der Signalleitung 22 (12) durch die kapazitive Kopplung ähnlich wie
die Wortleitung. Deshalb wird verhindert, dass die Signalleitung 22 (12) den Anstieg des Potenzials der Wortleitung
unterdrückt.
-
Mit
der Zufuhr des Löschpotenzials
Vera zu der Zellenwanne kann deshalb ein Effekt erhalten werden,
dass das Potenzial der Wortleitung in dem nicht-ausgewählten Speicherzellenblock
durch die kapazitive Kopplung zwischen der Zellenwanne und der Wortleitung
leicht ansteigt.
-
Da
ein großes
elektrisches Feld nicht an den Tunneloxidfilm der Speicherzelle
in dem nicht-ausgewählten
Speicherzellenblock angelegt wird, kann außerdem entsprechend eine fehler hafte
Löschung
in dem nicht-ausgewählten
Speicherzellenblock verhindert werden.
-
Außerdem ist
die Sicherungseinrichtung (ähnlich
wie die Sicherungseinrichtung von 13) in
der unterbrochenen Linie X von 15 nicht
getrennt, wenn der Speicherzellenblock entsprechend der Sicherungseinrichtung
(Zeilenadressdecoder) als eine gewöhnliche Speicherregion für einen
Benutzer verwendet wird.
-
Wenn
jedoch der Speicherzellenblock entsprechend der Sicherungseinrichtung
(Zeilenadressdecoder) verwendet wird, z. B. als eine ROM·BLOCK-Region
zum Speichern eines Einrichtungscodes, wird die Sicherungseinrichtung
getrennt, um zu verhindern, dass das Schreiben/Löschen mit Bezug auf die ROM·BLOCK-Region frei durchgeführt wird.
-
Diese
ROM·BLOCK-Region
hat die folgende Bedeutung.
-
In
den letzten Jahren wurde der Flash-Speicher vom NAND-Typ in Speichern
verschiedener elektronischer Vorrichtungen verwendet. Der Flash-Speicher
vom NAND-Typ, wie etwa ein Speicher zum Speichern von Musikinformation
durch Telefonkommunikation, wird jedoch manchmal als ein Speicher
von Daten betreffend Urheberschutz verwendet.
-
Deshalb
wird eine Chipnummer, d.h. der Einrichtungscode, in dem Flash-Speicherform NAND-Typ
gespeichert, um illegales Kopieren zu verhindern.
-
Dieser
Einrichtungscode ist jedem Flash-Speicher vom NAND-Typ eigen. Falls
jedoch der Benutzer den Einrichtungscode frei umschreiben kann,
kann ein ursprünglicher
Zweck des Einrichtungscodes nicht erreicht werden.
-
Deshalb
wird der Einrichtungscode in der ROM·BLOCK-Region des Flash-Speichers
vom NAND-Typ vor Versendung eines Produktes geschrieben, sodass
der Benutzer das Schreiben/Löschen
mit Bezug auf die ROM·BLOCK-Region
nicht durchführen
kann. D.h. die Sicherungseinrichtung ist in dem Speicherzellenblock
als die ROM·BLOCK-Region
getrennt.
-
Wenn
z.B. die Musikinformation in den Flash-Speicher vom NAND-Typ auf
einer Informationsempfangsseite von dem Flash-Speicher vom NAND-Typ auf einer Informationsbereitstellungsseite kopiert
wird, wird dadurch der Einrichtungscode von dem Flash-Speicher vom
NAND-Typ auf der Informationsbereitstellungsseite gelesen. Wenn
sich dieser Code von dem des Flash-Speichers vom NAND-Typ auf der Informationsempfangsseite
unterscheidet, kann das Kopieren nicht durchgeführt werden.
-
Die
Sicherungseinrichtung wird getrennt, unmittelbar nach dem der Einrichtungscode
in dem Speicherzellenblock als die ROM·BLOCK-Region programmiert
ist.
-
Falls
die Sicherungseinrichtung Gegenstand eines Tests vor Versendung
in einem nicht-getrennten Zustand ist, wird der Einrichtungscode
in dem Test gelöscht.
-
D.h.
in dem Test vor Versendung werden alle Blöcke gleichzeitig ausgewählt und
geschrieben/gelöscht,
um so eine Testzeit zu reduzieren. D.h. alle Zeilenadresssignale
AROWi, ..., AROWj zeigen "H" an. Wenn die Sicherungseinrichtung
nicht getrennt ist, und selbst wenn CMD ROMBA "L" anzeigt,
zeigt deshalb RDECADS1 "H" an (RDECADS zeigt "H" in 13 an),
und der Speicherzellenblock als die ROM·BLOCK-Region wird ausgewählt.
-
Selbst
wenn alle Zeilenadresssignale AROWi, ..., AROWj "H" in
dem Test vor Versendung anzeigen, und wenn die Sicherungsein richtung
getrennt ist, zeigt andererseits CMD ROMBA "L" an.
Deshalb schaltet RDECADS1 auf "L" (RDECADS zeigt "L" in 13 an),
und der Speicherzellenblock als die ROM·BLOCK-Region wird nicht ausgewählt.
-
Selbst
wenn die Sicherungseinrichtung getrennt ist, ist es notwendig, den
Einrichtungscode auszulesen, der in der ROM·BLOCK-Region gespeichert
ist.
-
Die
Daten können
aus der ROM·BLOCK-Region
ausgelesen werden, wenn CMD ROMBA auf "H" gesetzt
ist. D.h. wenn CMD ROMBA auf "H" schaltet, und AROWi,
..., AROWj in der ROM·BLOCK-Region auf "H" schaltet, wird der Speicherzellenblock
als die ROM·BLOCK-Region
ausgewählt.
-
Selbst
nachdem die Sicherungseinrichtung getrennt ist, wird außerdem ein
spezieller Befehl eingegeben, um CMD ROMBA und AROWi, ..., AROWj in
der ROM·BLOCK-Region
auf "H" zu setzen, und es ist
dann möglich,
die Daten in der ROM·BLOCK-Region
umzuschreiben. In diesem Fall ist ein Befehl zum Setzen von CMD
ROMBA auf "H" für übliche Benutzer
nicht offen, und es wird verhindert, dass die Daten in der ROM·BLOCK-Region
illegal umgeschrieben werden.
-
Es
ist zu vermerken, dass die Trennung der Sicherung der ROM·BLOCK-Region
in dem vorliegenden Beispiel beschrieben wurde. Die Sicherung von 13 und die Sicherung in der unterbrochenen Linie
X von 15 sind getrennt, wenn der
Speicherzellenblock ein defekter Block ist. In diesem Fall wird der
defekte Block durch einen Ersatzblock durch die Redundanzschaltung
ersetzt.
-
3. Beschreibung der Basisoperation
-
Hierin
nachstehend wird eine Operation eines Hauptteils, besonders die
Datenschaltung (10) des Vier-Ebenen-NAND-Zellentyp-Flash-Speichers
(1) in den jeweiligen Operationsmodi, wie etwa
den Lese- und Programmmodi, detailliert beschrieben.
-
Vor
der Beschreibung der Operation wird zuerst kurz ein Beispiel eines
Schwellenspannungs- und Programmierungs-/Leseverfahrens der Speicherzelle
beschrieben.
-
(1) Schwellenspannungs- und Programmierungs-/Leseverfahren
der Speicherzelle
-
17 zeigt eine Verteilung der Schwellenspannung
(Vth) der Speicherzelle des Vier-Ebenen-NAND-Zellentyp-Flash-Speichers.
-
In
einer Speicherzelle werden Zweibitdaten (Vierebenendaten) gespeichert.
In dem vorliegenden Beispiel sind, wie oben beschrieben, die Zweibitdaten "11", "10", "00", "01". Ein Bit der Zweibitdaten
ist als logische niederwertige Seitendaten (gezeigt durch 0) gespeichert,
und das andere Bit wird als logische höherwertige Seitendaten (gezeigt
durch 0) in der gleichen Speicherzelle gespeichert.
-
Die
Zweibitdaten ("11", "10", "00", "01") und die Schwellenspannung
der Speicherzelle haben eine Beziehung, die in 17 gezeigt wird.
-
"11" zeigt einen Löschzustand
an. In dem Löschzustand
sind die Werte der logischen niederwertigen und höherwertigen
Seitendaten beide "1". Die Speicherzelle
in dem Löschzustand
hat eine negative Schwellenspannung Vth.
-
"10", "00", "01" zeigen einen Schreibzustand an.
Die Speicherzelle in dem Schreibzustand hat eine positive Schwellen spannung
Vth. In dem Schreibzustand hat jedoch Zustand "10" eine
geringste Schwellenspannung, Zustand "01" hat
eine höchste
Schwellenspannung und Zustand "00" hat eine Schwellenspannung
zwischen jenen der Zustände "10" und "01".
-
Wie
oben beschrieben, enthalten die Zweibitdaten die logischen niederwertigen
und höherwertigen
Seitendaten, und werden in der Speicherzelle durch zwei Schreiboperationen
geschrieben.
-
Zuerst
wird die Programmierung der logischen niederwertigen Seitendaten
durchgeführt.
-
Es
wird zuerst angenommen, dass alle Speicherzellen in dem Löschzustand
sind, d.h. dem Zustand "11". Danach wird, wie
in 18 gezeigt, wenn die logischen niederwertigen
Seitendaten programmiert werden, die Verteilung der Schwellenspannung Vth
der Speicherzelle in Übereinstimmung
mit dem Wert ("1", "0") der Schreibdaten (logische niederwertige
Seitendaten) in zwei geteilt.
-
D.h.
wenn die logischen niederwertigen Seitendaten "1" sind,
wird die Bitleitung auf "H" gesetzt (die Wortleitung
hat ein Schreibpotenzial), dadurch wird verhindert, dass ein hohes
elektrisches Feld an den Tunneloxidfilm der Speicherzelle angelegt
wird, und es wird verhindert, dass die Schwellenspannung Vth ansteigt.
Als ein Ergebnis behält
die Speicherzelle den Löschzustand
bei (Zustand "11") (Programmierung
der logischen niederwertigen Seitendaten "11").
-
Wenn
andererseits die logischen niederwertigen Seitendaten "0" sind, wird die Bitleitung auf "L" gesetzt (die Wortleitung hat das Schreibpotenzial), dadurch
wird das hohe elektrische Feld an den Tunneloxidfilm der Speicherzelle
angelegt, ein Elektron wird in die schwebende Gatterelektrode inji ziert,
und die Schwellenspannung Vth der Speicherzelle wird um einen vorbestimmten
Betrag angehoben. Als ein Ergebnis wechselt die Speicherzelle zu
dem Schreibzustand (Zustand "10") (Programmierung
der logischen niederwertigen Seitendaten "0").
-
Danach
werden die logischen höherwertigen Seitendaten
programmiert.
-
Die
logischen höherwertigen
Seitendaten werden programmiert basierend auf den Schreibdaten,
die von der Außenseite
des Chips eingegeben werden (d.h. die logischen höherwertigen
Seitendaten), und den logischen niederwertigen Seitendaten, die
bereits in der Speicherzelle programmiert sind.
-
Es
ist zu vermerken, dass die logischen niederwertigen Seitendaten
in die Datenschaltung von der Speicherzelle vor der Programmierung
der logischen höherwertigen
Seitendaten gelesen und gehalten werden (internes Datenladen).
-
Wie
in 19 gezeigt wird, wenn die logischen höherwertigen
Seitendaten "1" sind, wird die Bitleitung
auf "H" gesetzt (die Wortleitung
hat das Schreibpotenzial), dadurch wird verhindert, dass das hohe
elektrische Feld an den Tunneloxidfilm der Speicherzelle angelegt
wird, und es wird verhindert, dass die Schwellenspannung Vth ansteigt.
Als ein Ergebnis unterhält
die Speicherzelle in dem Zustand "11" (Löschzustand),
in dem die logischen niederwertigen Seitendaten "1" sind,
den Zustand "11" als solches (Programmierung
der logischen höherwertigen Seitendaten "1"). Außerdem unterhält die Speicherzelle
in dem Zustand "10", in dem die logischen
niederwertigen Seitendaten "0" sind, den Zustand "10" als solches (Programmierung
der logischen höherwertigen
Seitendaten "1").
-
Wenn
andererseits, wie in 19 gezeigt, die logischen höherwertigen
Seitendaten "0" sind, wird die Bitleitung
auf "L" gesetzt, dadurch
wird das hohe elektrische Feld an den Tunneloxidfilm der Speicherzelle
angelegt, das Elektron wird in die schwebende Gatterelektrode injiziert
und die Schwellenspannung Vth der Speicherzelle wird um den vorbestimmten
Betrag angehoben. Als ein Ergebnis wechselt die Speicherzelle in
dem Zustand "11" (Löschzustand),
in dem die logischen niederwertigen Seitendaten "1" sind,
zu dem Zustand "01" (Programmierung
der logischen höherwertigen
Seitendaten "0"). Außerdem wechselt
die Speicherzelle in dem Zustand "10",
in dem die logischen niederwertigen Seitendaten "0" sind,
zu dem Zustand "00" (Programmierung
der logischen höherwertigen
Seitendaten "0").
-
D.h.
wenn in dem vorliegenden Beispiel die logischen niederwertigen Seitendaten "1" sind, und die logischen höherwertigen
Seitendaten "1" sind, werden die
Daten "11" in der Speicherzelle
geschrieben. Wenn die logischen niederwertigen Seitendaten "0" sind, und die logischen höherwertigen
Seitendaten "1" sind, werden die
Daten "10" in der Speicherzelle
geschrieben. Wenn außerdem
die logischen niederwertigen Seitendaten "1" sind,
und die logischen höherwertigen
Seitendaten "0" sind, werden die
Daten "01" in der Speicherzelle
geschrieben. Wenn die logischen niederwertigen Seitendaten "0" sind, und die logischen höherwertigen
Seitendaten "0" sind, werden die
Daten "00" in der Speicherzelle geschrieben.
-
Die
Verteilung der Schwellenspannung Vth der Speicherzelle wird durch
zwei Programmierungsoperationen in vier geteilt ("11", "10", "00", "01").
-
Wenn
in dem vorliegenden Beispiel die logischen höherwertigen Seitendaten "0" sind, wechselt die Speicherzelle in
dem Zu stand "11" zu dem Zustand "01", und die Speicherzelle
in dem Zustand "10" wechselt zu dem
Zustand "00" (siehe 19).
-
Wie
aus 19 offensichtlich ist, ist
ein Schwankungsbetrag der Schwellenspannung in einem Fall, in dem
der Zustand "11" zu dem Zustand "01" wechselt, größer als
der Schwankungsbetrag der Schwellenspannung in einem Fall, wo der
Zustand "10" zu dem Zustand "00" wechselt. D.h. ein Schreibimpuls
wird unter der gleichen Bedingung jeweils an die Speicherzellen
angelegt, die die "00"-Programmierung und
die "01"-Programmierung durchführen. Deshalb
endet die "00"-Programmierung früher als
die "01"-Programmierung.
-
In
diesem Fall wird "00"-Verifizierungslesen nach
der "00"-Programmierung weggelassen. Danach kann
nur ein "01"-Verifizierungslesen
durchgeführt
werden, um so eine Programmzeit zu reduzieren.
-
Es
ist zu vermerken, dass in 17 Vcgv10 ein
Lesepotenzial zur Verwendung beim "10"-Verifizierungslesen
ist, und zeigt Z.B. 0,4V an. Vcgv00 ist ein Lesepotenzial (z.B.
1,4V) zur Verwendung beim "00"-Verifizierungslesen,
und Vcgv01 ist ein Lesepotenzial (z.B. 2,4V) zur Verwendung beim "01"-Verifizierungslesen.
Vread ist ein Transferpotenzial, das der nicht-ausgewählten Wortleitung zugeführt wird.
-
Wenn
die Schwellenspannung der Speicherzelle kleiner als Vcgr10 ist,
sind die Daten der Speicherzelle "11",
und die Schwellenspannung der Speicherzelle überschreitet Vcgr10. Wenn die
Spannung kleiner als Vcgr00 ist, sind die Daten der Speicherzelle "10". Wenn die Schwellenspannung
der Speicherzelle Vcgr00 überschreitet
und unter Vcgr01 ist, sind die Daten der Speicherzelle "00". Wenn die Schwellenspannung
der Speicherzelle Vcgr01 überschreitet, sind
die Daten der Speicherzelle "01".
-
Das
gewöhnliche
Lesen der logischen niederwertigen Seitendaten kann durch zwei Leseoperationen
realisiert werden ("READ01", "READ10"). READ01 (LESEN01)
bezeichnet die Leseoperation, die Vcgr01 (z.B. 2V) als ein Lesepotenzial
verwendet, und READ10 bezeichnet die Leseoperation, die Vcgr10 (z.B.
0V) als das Lesepotenzial verwendet. Außerdem kann das Lesen der logischen
höherwertigen
Seitendaten durch eine Leseoperation realisiert werden (READ "00"). READ00 zeigt die
Leseoperation an, die Vcgr00 (z.B. 1V) als das Lesepotenzial verwendet.
-
Zweibitdaten
können
auf diese Art und Weise durch insgesamt drei Leseoperationen in
dem vorliegenden Beispiel gelesen werden, sodass die Lesezeit reduziert
wird oder eine Leseoperation hoher Geschwindigkeit erreicht werden
kann.
-
(2) Leseoperation
-
Zuerst wird eine Leseoperation beschrieben.
-
1.) Algorithmus
-
20 zeigt einen Algorithmus der Leseoperation.
-
Zuerst
bestätigt
eine Befehlsschnittstellenschaltung einen Lesebefehl, der von einem
Host-Mikrocomputer bereitgestellt wird, und der empfangene Lesebefehl
wird in einer Zustandsmaschine (Steuerschaltung) gesetzt (Schritt
S1).
-
Wenn
ein Adresssignal in einen Speicherchip von dem Host-Mikrocomputer
zugeführt
wird, wird außerdem
eine Adresse zum Auswählen
einer Leseseite in der Zustandsmaschine als Reaktion auf das Adresssignal
gesetzt (Schritt S2).
-
Wenn
der Lesebefehl und das Adresssignal in der Zustandsmaschine gesetzt
sind, wird eine Operation von Schritten S3 bis S6 unter der Steuerung
der Zustandsmaschine automatisch ausgeführt.
-
Wenn
die logischen niederwertigen Seitendaten gelesen werden, werden
zwei Leseoperationen ("READ01", "READ10") wie oben beschrieben ausgeführt (Schritte
S3 bis S5). Wie später
detailliert beschrieben wird, werden Lesedaten, die durch READ01
(Vcgr01 = 2V) gelesen werden, in der Datenspeichereinheit DS3 über die
Datenspeichereinheit DS1 gespeichert. In READ10 (Vcgr10 = 0V) werden
Daten abhängig
von den Lesedaten und den Daten der Datenspeichereinheit DS3 zu
der Datenspeichereinheit DS4 von der Datenspeichereinheit DS1 transferiert.
-
Wenn
die logischen höherwertigen
Seitendaten gelesen werden, wird eine Leseoperation (READ "00") ausgeführt (Schritte
S3, S6). Wie später
detailliert beschrieben wird, werden die Lesedaten, die durch READ00
gelesen werden (Vcgr00 = 1V) zu der Datenspeichereinheit DS4 über die
Datenspeichereinheit DS1 transferiert.
-
Die
Lesedaten, die in der Datenspeichereinheit DS4 gespeichert sind,
werden zu der Außenseite des
Speicherchips über
die E/A-Leitungen IO, nIO, den Leseverstärker und Dateneingabe-/Ausgabepuffer
ausgegeben.
-
2). Operationsbeschreibung durch Operationswellenform
-
Mit
Bezug auf eine Operationszeitsteuerungsdiagramm von 21 wird eine Operation hierin nachstehend konkret
beschrieben.
-
Die
Leseoperation enthält
Leseoperationen der logischen niederwertigen und höherwertigen
Seitendaten.
-
Es
ist zu vermerken, dass da in dem Operationszeitsteuerungsdiagramm
von 21 nicht besonders gezeigt,
der "L"-Pegel Vss bezeichnet
(z.B. 0V), und der "H"-Pegel Vdd bezeichnet
(z.B. 3V). Außerdem
wird in dem Operationszeitsteuerungsdiagramm ein Block BLOCKi ausgewählt, und
es werden eine Wortleitung WL2-i und eine ungeradzahlige Bitleitung
BLek in dem Block BLOCKi ausgewählt (siehe 3).
-
[1] Leseoperation der logischen niederwertigen
Seitendaten
-
Die
Leseoperation der logischen niederwertigen Seitendaten enthält zwei
Leseoperationen, d.h. "READ01" und "READ10". Zuerst wird "READ01" durchgeführt, und
dann wird "READ10" durchgeführt.
-
Jede
von "READ01" und "READ10" wird aus einem Teil
(RCLK 1-E, SCLK 1-E, RRCV 1-E) betreffend Daten, die gemeinsam zu
diesen zwei Leseoperationen gelesen werden, und einem Teil (Routine EXCLK)
betreffend Datentransfer, der jeder Leseoperation eigen ist, gebildet.
-
[1]-1 "READ01"
-
Eine
Operation "READ01" umfasst: Setzen eines
Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf
Vcrg01 (z.B. 2V); und Prüfen, ob
die Daten der Speicherzelle "01", oder andere Daten "11", "10", "00" sind.
-
[1]-1-1 Datenlesen
-
Zuerst
wird ein Transferpotenzial Vread (z.B. 4,5V) an eine Auswahlgatterleitung
SGD auf einer Bitleitungsseite und nicht-ausgewählte Wortleitungen WL0-i, WL1-i,
WL3-i angelegt, und ein Lesepotenzial Vcgr01 wird an die ausgewählte Wortleitung
WL2-i (RCLK 1-2) angelegt.
-
Ein
Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal
BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh
anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf
ein vorbestimmtes Potenzial vorgeladen (z.B. ungefähr 1V).
Da andererseits ein Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V),
wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V),
und funktioniert als eine Abschirmungsbitleitung (RCLK 2-4).
-
Danach
zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V), das Steuersignal
BLPRE zeigt "L" an und die ungeradzahlige
Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
-
Wenn
das Potenzial der Auswahlgatterleitung SGS auf einer Source-Leitungsseite
auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial
der Bitleitung BLek durch den Zustand der ausgewählten Speicherzelle beeinflusst,
d.h. den Wert der Daten, die in der Speicherzelle gespeichert sind.
-
D.h.
wenn die Daten der ausgewählten
Speicherzelle "11", "10", "00" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr01 eingeschaltet. Deshalb wird die Ladung
der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek fällt auf
0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block
wird durch Vread eingeschaltet).
-
Wenn
andererseits die Daten der ausgewählten Speicherzelle "01" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr01 nicht eingeschaltet. Deshalb wird
die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung
BLek unterhält
ein Vorladungspotenzial (ungefähr
1V) (RCLK 6-E).
-
Wenn
das Steuersignal BLPRE ungefähr 4,5V
anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein
Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der
Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense
anzeigt (z.B. 1,8V), ändert
sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit
DS1 wie folgt.
-
D.h.
wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial
bleibt (ungefähr
1V) (wenn die Daten der Speicherzelle "01" sind),
wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem
Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd
("H") gehalten.
-
Wenn
andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger
ist (wenn die Daten der Speicherzelle "11", "10", "00" sind), wird der
N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des
Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung
BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
-
Als
ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr01
in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators
C1). D.h. wenn die Daten der Speicherzelle "11", "10", "00" sind, wird "L", d.h. "0"-Daten
gespeichert. Wenn die Daten der Speicherzelle "01" sind, wird "H", d.h. "1"-Daten
gespeichert.
-
[1]-1-2 Datentransfer
-
Nachdem
die Daten der Speicherzelle in der Datenspeichereinheit DS1 in der
Operation "READ01" ausgelesen sind,
wird Datentransfer ausgeführt,
um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind, zu der Datenspeichereinheit DS3 zu transferieren. Die Operation
folgt einer Routine EXCLK, die in 22 gezeigt
wird.
-
Wenn
beide Steuersignale SEN1, LAT2 zu "L" schalten
(EXCLK 6), und ein Steuersignal EQ1 zu "H" schaltet
(EXCLK 7-8), wird zuerst der Zustand einer Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS3 bildet,
zurückgesetzt.
-
Danach
zeigt das Steuersignal BLC1 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor
Qn10 schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten
DS1 und DS3 miteinander elektrisch verbunden (10).
-
Wenn
das Taktsignal SEN1 zu "H" schaltet (EXCLK
10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer
CI1, der die Datenspeichereinheit DS3 bildet, über den MOS-Transistor Qn10
abgetastet. Wenn das Steuersignal LATZ zu "H" schaltet
(EXCLK 11), werden die Lesedaten in der Datenspeichereinheit DS3
gespeichert (10).
-
Es
ist zu vermerken, dass die Operation "READ01" gleichzeitig mit Bezug auf 4256 Speicherzellen
durchgeführt
wird, die mit der ausgewählten Wortleitung
WL2-i verbunden sind.
-
[1]-2 "READ10"
-
Eine
Operation "READ10" umfasst: Setzen des
Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf
Vcgr01 (z.B. 0V); und Prüfen, ob
die Daten der Speicherzelle "11", oder andere Daten "10", "00", "01" sind.
-
[1]-2-1 Datenlesen
-
Zuerst
wird ein Transferpotenzial Vread (z.B. 4,5V) an eine Auswahlgatterleitung
SGD auf der Bitleitungsseite und nicht-ausgewählte Wortleitungen WL0-i, WL1-i,
WL3-i angelegt, und das Lesepotenzial Vcgr10 wird an die ausgewählte Wortleitung
WL2-i (RCLK 1-2) angelegt.
-
Das
Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal
BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh
anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf
das vorbestimmte Potenzial vorgeladen (z.B. ungefähr 1V).
Da andererseits das Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V),
wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V),
und funktioniert als eine Abschirmungsbitleitung (RCLK 2-4).
-
Danach
zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V), das Steuersignal
BLPRE zeigt "L" an und die ungeradzahlige
Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
-
Wenn
das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite
auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial
der Bitleitung BLek durch den Zustand der ausgewählten Speicherzelle beeinflusst,
d.h. den Wert der Daten, die in der Speicherzelle gespeichert sind.
-
D.h.
wenn die Daten der ausgewählten
Speicherzelle "11" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr01 eingeschaltet. Deshalb wird die Ladung
der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek
fällt auf 0,8V
oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block
wird durch Vread eingeschaltet).
-
Wenn
andererseits die Daten der ausgewählten Speicherzelle "10", "00", "01" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr10 nicht eingeschaltet. Deshalb wird
die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek
unterhält
ein Vorladungspotenzial (ungefähr 1V)
(RCLK 6-E).
-
Wenn
das Steuersignal BLPRE ungefähr 4,5V
anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein
Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der
Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense
anzeigt (z.B. 1,8V), ändert
sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit
DS1 wie folgt.
-
D.h.
wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial
bleibt (ungefähr
1V) (wenn die Daten der Speicherzelle "10", "00", "01" sind), wird der
N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem
Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd
("H") gehalten.
-
Wenn
andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger
ist (wenn die Daten der Speicherzelle "11" sind),
wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des
Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung
BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
-
Als
ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr10
in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators
C1). D.h. wenn die Daten der Speicherzelle "11" sind,
wird "L", d.h. "0"-Daten gespeichert. Wenn die Daten der
Speicherzelle "10", "00", "01" sind, wird "H", d.h. "1"-Daten
gespeichert.
-
[1]-2-2 Datentransfer
-
Nachdem
die Daten der Speicherzelle in der Datenspeichereinheit DS1 in der
Operation "READ10" ausgelesen sind,
wird eine Operation zum Unterhalten oder zwangsweisen Ändern der
Daten der Datenspeichereinheit DS1 basierend auf den Daten der Datenspeichereinheit
DS3, d.h. dem Wert der Lesedaten, die aus der Speicherzelle durch "READ01" ausgelesen werden,
durchgeführt.
Anschließend
wird der Datentransfer ausgeführt,
um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind, zu der Datenspeichereinheit DS4 zu transferieren. Die Operation
folgt der Routine EXCLK, die in 23 gezeigt
wird.
-
Zuerst
zeigt das Steuersignal DTG 4,5V an, der N-Kanal-MOS-Transistor Qn9 (10) schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten DS2
und DS3 miteinander elektrisch verbunden, und die Daten der Datenspeichereinheit
DS3 werden zu der Datenspeichereinheit DS2, d.h. dem Gate des N-Kanal-MOS-Transistors Qn8
transferiert (EXCLK 2-4).
-
Wenn
das Steuersignal REG zu "H" schaltet, werden
danach die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind, d.h. die Lesedaten, die aus der Speicherzelle durch "READ10" gelesen werden,
in Übereinstimmung
mit dem Wert der Daten, die in der Datenspeichereinheit DS3 gespeichert
sind, unterhalten oder zwangsweise geändert (EXCLK 3-4).
-
Wenn
z.B. die Daten, die in der Datenspeichereinheit DS3 gespeichert
sind, "0" sind, schaltet der
Potenzialpegel des Gate des N-Kanal-MOS-Transistors Qn8 auf "L", und der N-Kanal-MOS-Transistor Qn8
wird deshalb ausgeschaltet (10).
Deshalb unterhält
die Datenspeichereinheit DS1 als solche den Wert der Lesedaten,
die aus der Speicherzelle durch "READ10" gelesen werden.
-
Wenn
die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "1" sind, schaltet außerdem der Potenzialpegel des
Gate des N-Kanal-MOS-Transistors Qn8 auf "H",
und der N-Kanal-MOS-Transistor
Qn8 wird deshalb eingeschaltet ( 10).
Deshalb werden die Daten der Datenspeichereinheit DS1 ungeachtet
des Wertes der Lesedaten, die aus der Speicherzelle durch "READ10" gelesen werden,
zwangsweise auf "0" gesetzt.
-
Wenn
beide Steuersignale SEN2, LAT2 auf "L" schalten
(EXCLK 6), und ein Steuersignal EQ2 auf "H" schaltet
(EXCLK 7-8), wird danach der Zustand einer Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS4 bildet,
zurückgesetzt.
-
Danach
zeigt das Steuersignal BLC2 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor
Qn12 schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten
DS1 und DS4 miteinander elektrisch verbunden (10).
-
Wenn
das Taktsignal SEN2 auf "H" schaltet (EXCLK
10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer
CI4, der die Datenspeichereinheit DS4 bildet, über den MOS-Transistor Qn12
abgetastet. Wenn das Steuersignal LAT2 auf "H" schaltet
(EXCLK 11), werden außerdem
die Lesedaten in der Datenspeichereinheit DS4 gespeichert (10).
-
Es
ist zu vermerken, dass die Operation "READ10" gleichzeitig mit Bezug auf 4256 Speicherzellen
durchgeführt
wird, die mit der ausgewählten Wortleitung
WL2-i verbunden sind.
-
[1]-3 Schlussfolgerung
-
25 zeigt kurz einen Fluss von Lesedaten in der
Leseoperation der logischen niederwertigen Seitendaten.
-
In "READ01" wird Vcgr01 (z.B.
2V) als das Lesepotenzial verwendet, um die Leseoperation auszuführen, und
die Lesedaten in diesem Zeitpunkt werden in der Datenspeichereinheit
DS1 gespeichert. D.h. wenn die Daten der ausgewählten Speicherzelle "11", "10", "00" sind, schaltet das
Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "L". Wenn die Daten der ausgewählten Speicherzelle "01" sind, schaltet das
Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "H" (Pfeil (1)).
-
Danach
werden die Daten der Datenspeichereinheit Ds1 zu der Datenspeichereinheit
DS3 transferiert und gespeichert (Pfeil (1))
-
Wenn "READ01" endet, und die Daten
der Datenspeichereinheit DS3 "H" sind, sind die Daten der
Speicherzelle "01". D.h. es wird herausgefunden, dass
die logischen niederwertigen Seitendaten "1" sind.
Wenn jedoch die Daten der Datenspeichereinheit DS3 "L" sind, sind die Daten der Speicherzelle beliebiges
von "11", "10", "00", und der Wert der
logischen niederwertigen Seitendaten kann nicht spezifiziert werden.
-
Um
das Problem zu lösen,
wird folgend "READ01" das "READ10" durchgeführt.
-
In "READ10" wird Vcgr10 (z.B.
0V) als das Lesepotenzial verwendet, um die Leseoperation auszuführen, und
die Lesedaten in diesem Zeitpunkt werden in der Datenspeichereinheit
DS1 gespeichert. D.h. wenn die Daten der ausgewählten Speicherzelle "11" sind, schaltet das
Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "L". Wenn die Daten der ausgewählten Speicherzelle "10", "00", "01" sind, schaltet das
Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf Wenn
die Daten der Datenspeichereinheit DS3 "H" sind,
d.h. wenn die Daten der Speicherzelle "01" sind, wird
außerdem
der N-Kanal-MOS-Transistor Qn8 eingeschaltet, und das Potenzial
von einem Ende (Knoten N2) des Kondensators C1 wird zwangsweise zu "L" geändert
(Pfeil (2)).
-
Wenn
die Daten der ausgewählten
Speicherzelle "11", "01" sind, schalten als
ein Ergebnis die Daten der Datenspeichereinheit DS1 auf "L", und deshalb wird "1" als
die logischen niederwertigen Seitendaten der ausgewählten Speicherzelle
bestätigt. Wenn
die Daten der ausgewählten
Speicherzelle "10", "00" sind, schalten außerdem die
Daten der Datenspeichereinheit DS1 auf "H",
und deshalb wird "0" als die logischen
niederwertigen Seitendaten der ausgewählten Speicherzelle bestätigt (Pfeil
(2)).
-
Es
ist zu vermerken, dass zu diesem Zeitpunkt eine Beziehung von "L" = "0" und "H" = "1" umgekehrt wird.
D.h. es wird eine Beziehung von "L" = "1" und "H" = "0" erhalten.
-
Danach
werden die Daten der Datenspeichereinheit DS1 zu der Datenspeichereinheit
DS4 transferiert und gespeichert. Wenn ein Spaltenauswahlsignal
CSLk (10) auf "H" schaltet,
werden die Daten der Datenspeichereinheit DS4 zu den E/A-Lei tungen
(IO, nIO) ausgegeben, und zu der Außenseite des Speicherchips über den
Dateneingabe-/Ausgabepuffer ausgegeben.
-
[2]
Leseoperation von logischen höherwertigen
Seitendaten Die Leseoperation der logischen höherwertigen Seitendaten enthält eine
Leseoperation, d.h. "READ00". Die "READ00" wird aus dem Teil (RCLK
1-E, SCLK 1-E, RRCV 1-E) betreffend das Datenlesen, und dem Teil
(Routine EXCLK) betreffend den Datentransfer gebildet.
-
[2]-1 "READ00"
-
Eine
Operation "READ00" umfasst: Setzen des
Lesepotenzials (Potenzial der ausgewählten Wortleitung WL2-i) auf
Vcrg00 (z.B. 1V); und Prüfen, ob
die Daten der Speicherzelle "11", "10" (logische höherwertige
Seitendaten sind "1"), oder "00", "0l" (logischen höherwertige
Seitendate sind "0") sind.
-
[2]-1-1 Datenlesen
-
Zuerst
wird das Transferpotenzial Vread (z.B. 4,5V) an die Auswahlgatterleitung
SGD auf der Bitleitungsseite und nicht-ausgewählten Wortleitungen WL0-i,
WL1-i, WL3-i angelegt, und das Lesepotenzial Vcgr00 wird an die
ausgewählte
Wortleitung WL2-i (RCLK 1-2) angelegt.
-
Das
Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal
BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh
anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf
das vorbestimmte Potenzial vorgeladen (z.B. ungefähr 1V).
Da andererseits das Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V),
wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V),
und funktioniert als die Abschirmungsbitleitung (RCLK 2-4).
-
Danach
zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V), das Steuersignal
BLPRE zeigt "L" an und die ungeradzahlige
Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
-
Wenn
das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite
auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial
der Bitleitung BLek durch den Zustand der ausgewählten Speicherzelle beeinflusst,
d.h. den Wert der Daten, die in der Speicherzelle gespeichert sind.
-
D.h.
wenn die Daten der ausgewählten
Speicherzelle "11", "10" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr00 eingeschaltet. Deshalb wird die Ladung
der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek
fällt auf
0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block
wird durch Vread eingeschaltet).
-
Wenn
andererseits die Daten der ausgewählten Speicherzelle "00", "01" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr00 nicht eingeschaltet. Deshalb wird
die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung BLek
behält
ein Vorladungspotenzial bei (ungefähr 1V) (RCLK 6-E).
-
Wenn
das Steuersignal BLPRE ungefähr 4,5V
anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein
Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der
Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense
anzeigt (z.B. 1,8V), ändert
sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit
DS1 wie folgt.
-
D.h.
wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial
bleibt (ungefähr
1V) (wenn die Daten der Speicherzelle "00", "01" sind), wird der
N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem
Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd
("H") gehalten.
-
Wenn
andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger
ist (wenn die Daten der Speicherzelle "11", "10" sind), wird der
N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des
Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung
BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
-
Als
ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr00
in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators
C1). D.h. wenn die Daten der Speicherzelle "11", "10" sind, wird "L", d.h. "1"-Daten
gespeichert. Wenn die Daten der Speicherzelle "00", "01" sind, wird "H", d.h. "0"-Daten
gespeichert.
-
Es
ist zu vermerken, dass in diesem Zeitpunkt die Beziehung von "L" = "0" und "H" = "1" umgekehrt wird.
D.h. es wird die Beziehung von "L" = "1" und "H" = "0" erhalten.
-
[2]-1-2 Datentransfer
-
In
der Operation "READ00" wird, nachdem die
Daten der Speicherzelle in die Datenspeichereinheit DS1 ausgelesen
sind, der Datentransfer ausgeführt,
um die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind, zu der Datenspei chereinheit DS4 zu transferieren. Diese Operation
folgt der in 24 gezeigten Routine EXCLK.
-
Zuerst
schalten beide Steuersignale SEN2, LAT2 zu "L" (EXCLK
6), und das Steuersignal EQ2 schaltet zu "H" (EXCLK
7-8), sodass der Zustand der Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS3 bildet,
zurückgesetzt
wird.
-
Danach
zeigt das Steuersignal BLC2 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor
Qn12 schaltet ein. Als ein Ergebnis sind die Datenspeichereinheiten
DS1 und DS4 miteinander elektrisch verbunden (10).
-
Wenn
das Taktsignal SEN2 zu "H" schaltet (EXCLK
10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer
CI4, der die Datenspeichereinheit DS4 bildet, über den MOS-Transistor Qn12
abgetastet. Wenn das Steuersignal LAT2 zu "H" schaltet
(EXCLK 11), werden außerdem
die Lesedaten in der Datenspeichereinheit DS4 gespeichert (10).
-
Es
ist zu vermerken, dass die Operation "READ00" gleichzeitig mit Bezug auf 4256 Speicherzellen
durchgeführt
wird, die mit der ausgewählten Wortleitung
WL2-i verbunden sind.
-
[2]-3 Schlussfolgerung
-
26 zeigt kurz einen Fluss von Lesedaten in der
Leseoperation der logischen höherwertigen Seitendaten.
-
In "READ00" wird Vcgr00 (z.B.
1V) als das Lesepotenzial verwendet, um die Leseoperation auszuführen, und
die Lesedaten in diesem Zeitpunkt werden in der Datenspeichereinheit
DS1 gespeichert. D.h. wenn die Daten der ausgewählten Speicher zelle "11", "10" sind (wenn die logischen
höherwertigen
Daten "1" sind), schaltet
das Potenzial von einem Ende (Knoten N2) des Kondensators C1 auf "L". Wenn die Daten der ausgewählten Speicherzelle "00", "01" sind (wenn die logischen
höherwertigen Daten "0" sind), schaltet das Potenzial von einem Ende
(Knoten N2) des Kondensators C1 auf "H".
-
Es
ist zu vermerken, dass zu diesem Zeitpunkt die Beziehung von "L" = "0" und "H" = "1" umgekehrt wird.
D.h. es wird die Beziehung von "L" = "1" und "H" = "0" erhalten.
-
Danach
werden, wenn das Steuersignal BLC2 4,5V anzeigt, die Daten der Datenspeichereinheit
DS1 zu der Datenspeichereinheit DS4 transferiert und gespeichert.
Wenn das Spaltenauswahlsignal CSLk (10)
auf "H" schaltet, werden
die Daten der Datenspeichereinheit DS4 zu den E/A-Leitungen (IO,
nIO) ausgegeben, und zu der Außenseite
des Speicherchips über
den Dateneingabe-/Ausgabepuffer ausgegeben.
-
[3] Programmoperation
-
Als
Nächstes
wird eine Programmoperation beschrieben.
-
1). Algorithmus
-
[1] Programmoperation 1
-
27 bis 29 zeigen
ein Beispiel eines Algorithmus einer Programmoperation.
-
Dieses
Beispiel bezieht sich auf den Algorithmus in einem Zeitpunkt, wenn
ein Schreibprinzip, das Durchgangsschreiben genannt wird, verwendet
wird. Das Durchgangsschreiben ist ein Verfahren (doppeltes Schreiben)
zum erneuten Ausführen
der Programmoperation mit Bezug auf die Speicherzelle, die Pro grammverifizieren
durchlaufen hat, und Steuern der Schwellenspannung mit hoher Genauigkeit,
d.h. Reduzieren der Breite der Schwellwertverteilung, und enthält erste
und zweite Programme.
-
Es
ist zu vermerken, dass das erste Programm als der 1. Durchlauf bezeichnet
wird, und das zweite Programm als der 2. Durchlauf bezeichnet wird.
-
Zuerst
empfängt
die Befehlsschnittstellenschaltung einen Dateneingabebefehl, der
von dem Host-Mikrocomputer bereitgestellt wird, und der empfangene
Dateneingabebefehl wird in der Zustandsmaschine (Steuerschaltung)
gesetzt (Schritt S1).
-
Wenn
das Adresssignal in den Speicherchip von dem Host-Mikrocomputer
zugeführt
wird, wird außerdem
die Adresse zum Auswählen
der Seite als ein Objekt des Programms in der Zustandsmaschine als
Reaktion auf das Signal gesetzt (Schritt S2).
-
Wenn
die Programmdaten für
eine Seite in den Speicherchip über
den Dateneingabe-/Ausgabepuffer eingegeben sind, werden anschließend die Programmdaten
für eine
Seite in der Datenspeichereinheit DS4 gespeichert (Schritt S3).
Es ist zu vermerken, dass die Datenspeichereinheiten DS4 für eine Seite
existieren.
-
Wenn
die Befehlsschnittstellenschaltung einen Schreibbefehl bestätigt, der
von dem Host-Mikrocomputer bereitgestellt wird, wird danach der empfangene
Schreibbefehl in der Zustandsmaschine gesetzt (Schritt S4). Unter
der Steuerung durch die Zustandsmaschine wird als ein Ergebnis die
Operation von Schritt S5 von 28 zu
Schritt S28 von 29 automatisch ausgeführt.
-
[1]-1 1. Durchlauf
-
Zuerst
wird das erste Programm (1. Durchlauf), das in 28 gezeigt wird, ausgeführt.
-
Die
Programmdaten, die in der Datenspeichereinheit DS4 gespeichert sind,
werden zu den Datenspeichereinheiten DS2, DS3 kopiert (Schritt S5).
-
Falls
die Seite als das Objekt des Programms die logische höherwertige
Seite ist, wird internes Datenladen vor einer Schreiboperation ausgeführt (Schritt
S6). Das interne Datenladen ist eine Operation zum Auslesen der
Daten, die in der logischen niederwertigen Seite der ausgewählten Speicherzelle
gespeichert sind, die die logische höherwertige Seite als das Objekt
des Programms enthält.
-
Als
ein Grund, warum das interne Datenladen erforderlich ist, selbst
wenn die Daten, die in der logischen höherwertigen Seite der ausgewählten Speicherzelle
geschrieben sind, die gleichen sind, unterscheidet sich die Schwellenspannung
als ein Ziel in der Schreiboperation in Übereinstimmung mit dem Wert
der Daten, die in der logischen niederwertigen Seite der ausgewählten Speicherzelle
gespeichert sind (siehe 19).
-
Die
logischen niederwertigen Seitendaten, die durch das interne Datenladen
ausgelesen werden, werden in der Datenspeichereinheit DS4 über die
Datenspeichereinheit DS1 gespeichert.
-
Hier
ist zu vermerken, dass mit den logischen niederwertigen Seitendaten
von "1" die Lesedaten durch
das interne Datenladen "0" (= "L") sind, und die "0"-Daten
in der Datenspeichereinheit DS4 gespeichert werden (Knoten N4).
Wenn die logischen niederwertigen Seitendaten "0" sind,
sind außerdem die Lesedaten
durch das interne Datenladen "1" (= "H"), und die "1"-Daten
werden in der Datenspeichereinheit DS4 gespeichert (Knoten N4).
-
Diese
Erscheinung hat jedoch kein Problem in der Operation, und ist zum
Ausführen
von "Verify00 (Verifizieren00)
(2. Durchlauf)" in
dem später
beschriebenen 2. Durchlauf von Vorteil.
-
Danach
wird mit dem Programm für
die logische niederwertige Seite eine Schreibspannung Vpgm auf 12V
gesetzt. Wenn das Programm für
die logische höherwertige
Seite, wird die Schreibspannung Vprm auf 13V gesetzt. Außerdem wird
ein Wert PC eines Programmzählers
in der Zustandsmaschine auf Null gesetzt (Schritt S7). Es ist zu
vermerken, dass der Wert PC des Programmzählers die Zahl von Schreiboperationen
darstellt.
-
Als
Nächstes
wird die Schreiboperation ausgeführt
(Schritt 58).
-
Wenn
die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert
sind, z.B. "0" sind, wird die hohe
Spannung an den Träger
und die schwebende Gatterelektrode angelegt, das Elektron wird in
die schwebende Gatterelektrode injiziert und die Schwellenspannung
der Speicherzelle wird angehoben ("0"-Programmierung).
Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert
sind, z.B. "1" sind, wird verhindert,
dass die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode
angelegt wird, es wird verhindert, dass das Elektron in die schwebende
Gatterelektrode injiziert wird, und die Schwellenspannung der Speicherzelle
wird nicht geändert
("i"-Programmierung).
-
Nachdem
die Schreiboperation durchgeführt wird,
wird "1" zu dem Wert PC des
Programmzählers hinzugefügt (Schritt
S8).
-
Danach
wird beurteilt, ob das Programmverifizieren in einem Durchlaufzustand
ist (ein Zustand, in dem das Programm abgeschlossen ist), oder in
einem NG-Zustand (ein Zustand, in dem das Programm nicht abgeschlossen
ist) (Schritt S9).
-
Hier
werden unmittelbar nach der ersten Schreiboperation "Verify00 (1. Durchlauf)" und "Verify10 (1. Durchlauf)" nicht einmal durchgeführt, und
deshalb speichert die Datenspeichereinheit DS3 die Programmdaten
selbst.
-
Wenn
die Datenspeichereinheiten DS3 in allen Spalten (z.B. 4256 Einheiten) "1"-Daten speichern, d.h. wenn alle Programmdaten
mit Bezug auf die logische niederwertige oder höherwertige Seite "1" sind, ist der N-Kanal-MOS-Transistor
Qn17 von 10 in dem Aus-Zustand in allen
Spalten. Z.B. unterhält
FLAG von 8 "H".
-
Deshalb
wird beurteilt, dass das Programmverifizieren in einem Durchlaufzustand
ist (ein Zustand, in dem das Programm abgeschlossen ist), und verlagert
sich zu dem 2. Durchlauf (Schritt S15).
-
Wenn
andererseits die Datenspeichereinheit DS3 in mindestens einer Spalte "0"-Daten speichert, d.h. wenn mindestens
eine Programmdaten mit Bezug auf die logische niederwertige oder
höherwertige Seite "0" sind, ist der N-Kanal-MOS-Transistor
Qn17 (10) mit der Datenspeichereinheit
DS3 zum Speichern der "0"-Daten in dem Ein-Zustand.
Z.B. schaltet FLAG von 8 zu "L".
-
Deshalb
wird beurteilt, dass das Programmverifizieren in dem NG-Zustand
(Zustand, in dem das Programm nicht abgeschlossen ist) ist, und
verlagert sich zu "Verify00
(1. Durchlauf)" oder "Verify10 (2. Durchlauf)".
-
Mit
dem Programm für
die logische niederwertige Seite wird "Verify10 (1. Durchlauf)" ausgeführt (Schritt
S12).
-
Das "Verify10 (1. Durchlauf)" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv10 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes
der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
-
Mit
dem Programm für
die logische niederwertige Seite sind zuerst alle ausgewählten Speicherzellen
als die Objekte des Programms in einem Zustand "11".
Deshalb schwankt für
die Speicherzelle als das Objekt der "1"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern der "1"-Daten)
die Schwellenspannung nicht. Deshalb sind die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden,
immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Wie später
beschrieben, werden jedoch, wenn "1" in
der Datenspeichereinheit DS2 gespeichert ist, die Daten der Datenspeichereinheit DS1
ungeachtet der Lesedaten zwangsweise zu "1" geändert. D.h.
die "1"-Daten werden von
der Datenspeichereinheit DS1 erneut in die Datenspeichereinheit
DS3 gespeichert.
-
Andererseits
sind für
die Speicherzelle als das Objekt der "0"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern von "0"-Daten),
wenn die Schwellenspannung durch die Schreiboperation ausreichend
ansteigt (das Programm ist abgeschlossen) (Schritt S8), die Lesedaten,
die durch "Verify10
(1. Durchlauf)" gelesen
werden, "1".
-
Deshalb
wird "1" in der Datenspeichereinheit DS1
gespeichert. Diese "1"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
-
Außerdem sind
für die
Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle
für die
Datenspeichereinheit DS3 zum Speichern von "0"-Daten),
wenn die Schwellenspannung durch die Schreiboperation nicht ausreichend
ansteigt (das Programm ist nicht abgeschlossen) (Schritt S8), die Lesedaten,
die durch "Verify10
(1. Durchlauf)" gelesen
werden, "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Diese "0"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
-
Mit
dem Programm für
die logische höherwertige
Seite wird "Verify00
(1. Durchlauf)" ausgeführt (Schritt
S11).
-
Das "Verfiy00 (1. Durchlauf)" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv00 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes
der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
-
Mit
dem Programm für
die logische höherwertige
Seite ist die ausgewählte
Speicherzelle als das Objekt des Programms in dem Zustand "11" oder "10". Deshalb schwankt
für die
Speicherzelle als das Objekt der "1"-Programmierung
(Speicherzelle für die
Datenspeichereinheit DS3 zum Speichern der "1"-Daten) die
Schwellenspannung nicht. Deshalb sind die Lesedaten, die durch "Verify00 (1. Durchlauf)" gelesen werden,
immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Wie später
beschrieben, werden jedoch, wenn "1" in
der Datenspeichereinheit DS2 gespeichert ist, die Daten der Datenspeichereinheit DS1
ungeachtet der Lesedaten zwangsweise zu "1" geändert. D.h.
die "1"-Daten werden von
der Datenspeichereinheit DS1 erneut in die Datenspeichereinheit
DS3 gespeichert.
-
Andererseits
sind für
die Speicherzelle als das Objekt der "0"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern der "0"-Daten),
wenn die Schwellenspannung durch die Schreiboperation ausreichend
ansteigt (das Programm ist abgeschlossen) (Schritt S8), die Lesedaten,
die durch "Verify00
(1. Durchlauf)" gelesen
werden, "1".
-
Deshalb
wird "1" in der Datenspeichereinheit DS1
gespeichert. Diese "1"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
-
Es
ist zu vermerken, dass alle Speicherzellen als die Objekte der "0"-Programmierung in dieser Stufe in dem
Zustand "0" sind. Da jedoch "Verify00 (2. Durchlauf)" in dem 2. Durchlauf
basierend auf den logischen niederwertigen Seitendaten (gespeichert
in der Datenspeichereinheit DS4), die durch das interne Datenladen
ausgelesen werden (Schritt S6), durchgeführt wird (unterteilt in die
Zustände "00" und "01"), können die
logischen höherwertigen
Seitendaten ohne Zusammenbruch der logischen niederwertigen Seitendaten
programmiert werden.
-
Außerdem sind
für die
Speicherzelle als das Objekt der "0"-Programmierung (Speicherzelle
für die
Datenspeichereinheit DS3 zum Speichern der "0"-Daten),
wenn die Schwellenspannung durch die Schreiboperation (Schritt S8)
nicht ausreichend ansteigt (das Programm ist nicht abgeschlossen),
die Lesedaten, die durch "Verify00
(1. Durchlauf)" gelesen
werden, "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Diese "0"-Daten werden von
der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS3 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
-
Falls
der Wert PC des Programmzählers eine
voreingestellte maximale Schreibzahl PC max 1. erreicht, wird Fehler
(Programmfehler) in einem Statusregister in der Zustandsmaschine
gesetzt, und die Programmoperation endet (Schritte S13, S16).
-
Falls
der Wert PC des Programmzählers
kleiner als die voreingestellte maximale Schreibzahl PC max 1. ist,
wird die Schreibspannung Vpgm hochgestuft, z.B. um ungefähr 0,2V,
und anschließend
wird die Schreiboperation erneut ausgeführt (Schritte S13, S14, S8).
-
Danach
wird Programmverifizieren durchgeführt (Schritt S9). Wie oben
beschrieben, sind jedoch mit der "1"-Programmierung
die Daten der Datenspeichereinheit DS3 immer "1".
Außerdem
werden für
die "0"-Programmierung,
wenn die "0"-Programmierung abgeschlossen
ist, die Daten der Datenspeichereinheit DS3 von "0" zu "1" geändert.
Nur wenn die "0"-Programmierung nicht
abgeschlossen ist, bleiben die Daten der Datenspeichereinheit DS3 "0".
-
Wenn
die Programmierung ("1"-Programmierung oder "0"-Programmierung) mit Bezug auf alle
ausgewählten
Speicherzellen als die Objekte des Programms abgeschlossen ist,
speichern deshalb alle Datenspeichereinheiten DS3 die "1"-Daten. D.h. der N-Kanal-MOS-Transistor
Qn17 von 10 wird in allen Spalten ausgeschaltet,
FLAG von 8 schaltet zu "H" (das Programm verifizieren ist in dem Durchlaufzustand)
und der Schritt verlagert sich zu dem 2. Durchlauf (Schritt S15).
-
Wenn
die Programmierung ("0"-Programmierung)
mit Bezug auf mindestens eine ausgewählte Speicherzelle als das
Objekt des Programms nicht abgeschlossen ist, speichert außerdem mindestens eine
der Datenspeichereinheiten DS3 die "0"-Daten. D.h.
der N-Kanal-MOS-Transistor Qn17 von 10 wird
in mindestens einer Spalte eingeschaltet, FLAG von 8 schaltet
zu "L" (das Programmverifizieren hat
den NG-Zustand) und das Verifizierungslesen und die Schreiboperation
werden erneut wiederholt (Schritte S10 bis S14, S16, S8).
-
Basierend
auf den Daten, die in der Datenspeichereinheit DS3 gespeichert sind,
kann beurteilt werden, das Programm abgeschlossen ist oder nicht.
-
[1]-2 2. Durchlauf
-
In
dem Schritt S9 des ersten Programms (1. Durchlauf) wird anschließend, wenn
das Programmverifizieren durchlaufen ist, das zweite Programm (2. Durchlauf)
ausgeführt.
-
In
dem 2. Durchlauf werden die Programmdaten, die in der Datenspeichereinheit
DS2 gespeichert sind, zuerst zu der Datenspeichereinheit DS3 zurück kopiert
(Schritt S17).
-
Dieses
Kopieren zurück
hat die folgende Bedeutung.
-
Zuerst
werden die Programmdaten in den Datenspeichereinheiten DS2, DS3
gespeichert (Schritt S5). In dem 1. Durchlauf ändern sich jedoch, wie oben
beschrieben, die Daten der Datenspeichereinheit DS3 in Übereinstimmung
mit dem Ergebnis von "Verify10
(1. Durchlauf)" oder "Verify00(1. Durchlauf)". Schließlich sind,
d.h. in dem Schritt S9 des 1. Durchlaufs, wenn das Programmverifizieren
durchlaufen ist, die Werte aller Datenspeichereinheiten DS3 "1".
-
Dann
werden in dem 2. Durchlauf die Programmdaten zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS2 transferiert, um die Programmdaten
in der Datenspeichereinheit DS3 erneut zu speichern. Dies ist die
Bedeutung des Kopierens zurück
des Schrittes S17.
-
Danach
wird mit dem Programm für
die logische niederwertige Seite die Schreibspannung Vpgm erneut
auf 12V gesetzt. Mit dem Programm für die logische höherwertige
Seite wird die Schreibspannung Vpgm erneut auf 13V gesetzt. Außerdem wird
der Wert PC des Programmzählers
in der Zustandsmaschine erneut auf Null gesetzt (Schritt S7).
-
Als
Nächstes
wird "Verify10 (2.
Durchlauf)" oder
Verify01" ausgeführt.
-
Mit
dem Programm für
die logischen niederwertigen Seitendaten wird "Verify10 (2. Durchlauf)" ausgeführt (Schritte
ST19 und ST20).
-
Das "Verify10 (2. Durchlauf)" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv10 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes
der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
-
Da
in dem 2. Durchlauf der Zustand "11" mit Bezug auf die
Speicherzelle als das Objekt der "1"-Programmierung
beibehalten wird (Speicherzelle für die Datenspeichereinheit
DS3 zum Speichern der "1"-Daten), sind die
Lesedaten, die durch "Verify10 (2.
Durchlauf)" gelesen
werden, immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Da "1" in der Datenspeichereinheit DS2
gespeichert ist, werden außerdem
die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise
zu "1" geändert. Deshalb
werden die "1"-Daten von der Datenspeichereinheit
DS1 zu der Datenspeichereinheit DS3 transferiert.
-
Andererseits
wird für
die Speicherzelle als das Objekt der "0"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern der "0"-Daten)
im wesentlichen angenommen, dass der "10"-Zustand
durch den 1. Durchlauf erhalten wird.
-
Für die Speicherzelle,
in der die Schwellenspannung ausreichend ansteigt (das Programm
ist abgeschlossen), sind die Lesedaten, die durch "Verify10 (2. Durchlauf)" gelesen werden, "1".
-
Deshalb
wird "1" in der Datenspeichereinheit DS1
gespeichert. Diese "1"-Daten werden von
der Datenspeichereinheit DS1 zu der Datenspeichereinheit DS3 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
-
Für die Speicherzelle,
in der die Schwellenspannung nicht ausreichend ansteigt (das Programm ist
nicht abgeschlossen), sind die Lesedaten, die durch "Verify10 (1. Durchlauf)" gelesen werden, "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Diese "0"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
-
Mit
dem Programm für
die logische höherwertige
Seite werden "Verify01" und "Verify00 (2. Durchlauf)" kontinuierlich ausgeführt (Schritte
ST12 und ST22).
-
Das "Verify01" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv01 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes der
Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
-
Das "Verify02 (2. Durchlauf)" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv00 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes
der Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2,
und den Daten (logischen niederwertigen Seitendaten) der Datenspeichereinheit
DS4).
-
In
dem 2. Durchlauf sind, da der Zustand "11" oder "10" mit Bezug auf die
Speicherzelle als das Objekt der "1"-Programmierung
beibehalten wird (Speicherzelle für die Datenspeichereinheit
DS3 zum Speichern der "1"-Daten), die Lesedaten,
die durch "Verify01" gelesen werden,
immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Da "1" in der Datenspeichereinheit DS2
gespeichert ist, werden deshalb die Daten der Datenspeichereinheit
DS1 ungeachtet der Lesedaten zwangsweise auf "1" geändert. Deshalb
werden die "1"-Daten von der Datenspeichereinheit
DS1 zu der Datenspeichereinheit DS3 transferiert.
-
Außerdem sind
die Lesedaten, die durch "Verify00
(2. Durchlauf)" gelesen
werden, immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Da "1" in der Datenspeichereinheit DS2
gespeichert ist, werden jedoch die Daten der Datenspeichereinheit
DS1 ungeachtet der Lesedaten und der logischen niederwertigen Seitendaten
der Datenspeichereinheit DS4 zwangsweise auf "1" geändert. Deshalb
werden die "1"-Daten zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert.
-
Andererseits
wird für
die Speicherzelle als das Objekt der "0"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern der "0"-Daten)
der "00"-Zustand angenommen,
durch den 1. Durchlauf erhalten zu sein.
-
Deshalb
sind zuerst die Lesedaten, die durch "Verify01" gelesen werden, "0".
Deshalb wird "0" in der Datenspeichereinheit
DS1 gespeichert. Diese "0"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
-
D.h.
die Daten der Datenspeichereinheit DS3 behalten "0" bei.
-
Danach
wird anschließend
zu "Verify01" "Verify00 (2. Durchlauf)" ausgeführt.
-
Für die Speicherzelle,
in der die Schwellenspannung ausreichend ansteigt ("00"-Programm ist abgeschlossen),
sind die Lesedaten, die durch "Verify00
(2. Durchlauf)" gelesen
werden "1".
-
Deshalb
wird "1" in der Datenspeichereinheit DS1
gespeichert.
-
Hier
werden jedoch die Daten der Datenspeichereinheit DS1 durch die logischen
niederwertigen Seitendaten beeinflusst, die in der Datenspeichereinheit
DS4 gespeichert sind.
-
D.h.
mit den logischen niederwertigen Seitendaten von "1" wird "0" (= "L") in der Datenspeichereinheit DS4 (Knoten
N4) gespeichert. Deshalb werden die Daten der Datenspeichereinheit
DS1 zwangsweise zu "0" geändert. Dies
bedeutet, dass mit den logischen niederwertigen Seitendaten von "1" die Speicherzelle in den "01"-Zustand gebracht
wird (siehe 19), um "0" als
die logischen höherwertigen
Seitendaten zu programmieren.
-
Diese "0"-Daten werden zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten
der Datenspeichereinheit DS3 bleiben auf "0".
-
Wenn
die logischen niederwertigen Seitendaten "0" sind,
speichert die Datenspeichereinheit DS4 (Knoten N4) "1" (= "H"). Deshalb bleiben
die Daten der Datenspeichereinheit DS1 auf "1".
-
Diese "1"-Daten werden zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten
der Datenspeichereinheit DS3 ändern
sich von "0" zu "1".
-
Wie
oben beschrieben, wird außerdem,
um "0" als die logischen
höherwertigen
Daten zu programmieren, wenn die logischen niederwertigen Seitendaten "0" sind, die Speicherzelle in den "00"-Zustand gebracht.
Wenn die logischen niederwertigen Seitendaten "1" sind,
muss die Speicherzelle in den "01"-Zustand gebracht
werden.
-
In
einem Abschlusszeitpunkt des 1. Durchlaufs wird außerdem die
Speicherzelle, in der "0" als die logischen
höherwertigen Seitendaten
programmiert ist, in den "00"-Zustand ungeachtet
des Wertes der logischen niederwertigen Seitendaten gebracht.
-
In
der Sequenz des vorliegenden Beispiels wird, da "Verify00 (2. Durchlauf)" kontinuierlich unmittelbar
nach "Verify01" durchgeführt wird,
die Schwellenspannung nur der Speicherzelle, die die logischen niederwertigen
Seitendaten von "1" enthält, durch
die Schreiboperation und "Verify01" angehoben, und kann
in den "01"-Zustand gebracht
werden. Mit anderen Worten kann für die Speicherzelle, in der
die logischen niederwertigen Seitendaten "0" sind,
die Schreiboperation (Injektion des Elektrons zu der schwebenden
Gatterelektrode) durch "Verify00
(2. Durchlauf)" in
einem Zeitpunkt gestoppt werden, wenn der "00"-Zustand
erhalten ist.
-
Falls
der Wert PC des Programmzählers
die voreingestellte maximale Schreibzahl PC max 2. erreicht, wird
Fehler (Programmfehler) in dem Statusregister in der Zustandsmaschine
gesetzt, und die Programmoperation endet (Schritte S23, S28).
-
Falls
der Wert PC des Programmzählers
kleiner als die voreingestellte maximale Schreibzahl PC max 2. ist,
wird außerdem
die Schreibspannung Vpgm z.B. um ungefähr 0,2V hochgestuft, und anschließend wird
die Schreiboperation erneut ausgeführt (Schritte S23, S24, S25).
-
Wenn
die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert
sind, z.B. "0" sind, wird die hohe
Spannung zwischen dem Träger
und der schwebende Gatterelektrode angelegt, das Elektron wird in
die schwebenden Gatterelektrode injiziert und die Schwellenspannung
der Speicherzelle wird angehoben ("0"-Programmierung).
Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert
sind, z.B. "1" sind, wird verhindert,
dass die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode
angelegt wird, es wird verhindert, dass das Elektron in die schwebende
Gatterelektrode injiziert wird, und die Schwellenspannung der Speicherzelle
wird nicht geändert
("i"-Programmierung).
-
Nachdem
die Schreiboperation durchgeführt ist,
wird "1" zu dem Wert PC des
Programmzählers hinzugefügt (Schritt
S25).
-
Danach
wird das Programmverifizieren basierend auf den Daten ausgeführt, die
in der Datenspeichereinheit DS3 gespeichert sind, und es wird beurteilt,
ob das Programmverifizieren in dem Durchlaufzustand (Zustand, in
dem das Programm abgeschlossen ist) oder in dem NG-Zustand (Zustand,
in dem das Programm nicht abgeschlossen ist), ist (Schritt S26).
-
Wenn
die Programmdaten mit Bezug auf die logischen höherwertigen Seitendaten "1" sind ("1"-Programmierung),
sind die Daten der Datenspeichereinheit DS3 immer "1".
-
Wenn
die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen
Seitendaten "0" sind ("00"-Programmierung),
und die "00"-Programmierung abgeschlossen
ist, werden außerdem
die Daten der Datenspeichereinheit DS3 zu "1" von "0" durch "Verify00 (2. Durchlauf)" geändert.
-
Wenn
die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen
Seitendaten "1" sind ("01"-Programmierung)
und die "01"-Programmierung abgeschlossen
ist, werden des weiteren die Daten der Datenspeichereinheit DS3
zu "1" von "0" durch "Verify01" geändert.
-
Wenn
die Programmierung ("00"-Programmierung oder "01"-Programmierung)
mit Bezug auf alle Speicherzellen, die als die Objekte des Programms
ausgewählt
sind, abgeschlossen ist, speichern deshalb alle Datenspeichereinheiten
DS3 die "1"-Da ten. D.h. in allen
Spalten wird der N-Kanal-MOS-Transistor Qn17 von 10 ausgeschaltet, und FLAG von 8 schaltet
zu "H" (Programmverifizieren
ist in dem Durchlaufzustand). Anschließend wird Durchlauf (Programmabschluss)
in dem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation
endet (Schritte S26, S27).
-
Wenn
die Programmierung ("01"-Programmierung)
mit Bezug auf mindestens eine ausgewählte Speicherzelle als das
Objekt des Programms nicht abgeschlossen ist, speichert außerdem mindestens eine
Datenspeichereinheit DS3 die "0"-Daten. D.h. in mindestens
einer Spalte wird der N-Kanal-MOS-Transistor Qn17 von 10 eingeschaltet, FLAG von 8 schaltet
zu "L" (Programmverifizieren
ist in dem NG-Zustand), und das Verifizierungslesen und die Schreiboperation
werden erneut wiederholt (Schritte S19 bis S25, S28).
-
Wie
oben beschrieben kann beurteilt werden, ob das Programm abgeschlossen
ist oder nicht, basierend auf den Daten, die in der Datenspeichereinheit
DS3 gespeichert sind.
-
[2] Programmoperation 2
-
30 zeigt ein anderes Beispiel des Algorithmus
der Programmoperation.
-
Dieses
Beispiel bezieht sich auf den Algorithmus in einem Zeitpunkt, wenn
ein Schreibprinzip, das schnelles Durchlaufschreiben (QPW, quick
pass Write) genannt wird, verwendet wird. Das schnelle Durchlaufschreiben
ist ein verbessertes Beispiel des Durchlaufschreibens (doppeltes
Schreiben), und ist dadurch gekennzeichnet, dass die 1. und 2. Durchläufe in dem
Durchlaufschreiben parallel miteinander verarbeitet werden und eine
Schreibzeit reduziert wird.
-
Zuerst
empfängt
die Befehlsschnittstellenschaltung den Dateneingabebefehl, der von
dem Host-Mikrocomputer bereitgestellt wird, und der empfangene Dateneingabebefehl
wird in der Zustandsmaschine (Steuerschaltung) gesetzt (Schritt
S1).
-
Wenn
das Adresssignal in den Speicherchip von dem Host-Mikrocomputer
zugeführt
wird, wird außerdem
die Adresse zum Auswählen
der Seite als das Objekt des Programms in der Zustandsmaschine als
Reaktion auf das Signal gesetzt (Schritt S2).
-
Wenn
die Programmdaten für
eine Seite in den Speicherchip über
den Dateneingabe-/Ausgabepuffer eingegeben sind, werden anschließend die Programmdaten
für eine
Seite in der Datenspeichereinheit DS4 gespeichert (Schritt S3).
-
Wenn
die Befehlsschnittstellenschaltung den Schreibbefehl bestätigt, der
von dem Host-Mikrocomputer zugeführt
wird, wird anschließend
der empfangene Schreibbefehl in der Zustandsmaschine gesetzt (Schritt
S4). Als ein Ergebnis wird unter der Steuerung durch die Zustandsmaschine
die Operation von Schritten S5 bis S17 automatisch ausgeführt.
-
Zuerst
werden die Programmdaten, die in der Datenspeichereinheit DS4 gespeichert
sind, jeweils zu DS2, DS3 kopiert (Schritt S5).
-
Falls
die Seite als das Objekt des Programms die logische höherwertige
Seite ist, wird danach das interne Datenladen vor der Schreiboperation
ausgeführt
(Schritt S6). Die logischen niederwertigen Seitendaten, die durch
das interne Datenladen gelesen werden, werden in der Datenspeichereinheit DS4 über die
Datenspeichereinheit DS1 gespeichert.
-
Wenn
die logischen niederwertigen Seitendaten "1" sind,
schalten die Lesedaten durch das interne Datenladen zu "0" (= "L"), und die "0"-Daten werden in der Datenspeichereinheit
DS4 (Knoten N4) gespeichert. Wenn die logischen niederwertigen Seitendaten "0" sind, schalten die Lesedaten durch
das interne Datenladen zu "1" (= "H"), und die "1"-Daten werden
in der Datenspeichereinheit DS4 gespeichert (Knoten N4).
-
Mit
dem Programm für
die logische niederwertige Seite wird die Schreibspannung Vpgm auf 12V
gesetzt. Mit dem Programm für
die logische höherwertige
Seite wird die Schreibspannung Vpgm auf 13V gesetzt. Außerdem wird
der Wert PC des Programmzählers
in der Zustandsmaschine auf Null gesetzt (Schritt S7). Es ist zu
vermerken, dass der Wert PC des Programmzählers die Zahl von Schreiboperationen
anzeigt.
-
Die
Schreiboperation wird als Nächstes
ausgeführt
(Schritt S8).
-
Wenn
die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert
sind, z.B. "0" sind, wird die hohe
Spannung zwischen dem Träger
und der schwebenden Gatterelektrode angelegt, das Elektron wird
in die schwebende Gatterelektrode injiziert und die Schwellenspannung
der Speicherzelle wird angehoben ("0"-Programmierung).
Wenn die Programmdaten, die in der Datenspeichereinheit DS3 gespeichert
sind, z.B. "1" sind, wird verhindert, dass
die hohe Spannung zwischen dem Träger und der schwebenden Gatterelektrode
angelegt wird, es wird verhindert, dass das Elektron in die schwebende Gatterelektrode
indiziert wird, und die Schwellenspannung der Speicherzelle wird
nicht geändert ("i"-Programmierung).
-
Nachdem
die Schreiboperation durchgeführt ist,
wird "1" zu dem Wert PC des
Programmzählers hinzugefügt (Schritt
S8).
-
Danach
wird basierend auf den Daten, die in der Datenspeichereinheit DS3
gespeichert sind, beurteilt, ob das Programmverifizieren in dem
Durchlaufzustand (Zustand, in dem das Programm abgeschlossen ist)
oder in dem NG-Zustand (Zustand, in dem das Programm nicht abgeschlossen
ist) ist (Schritt S9).
-
Unmittelbar
nach der ersten Schreiboperation werden "Verify01", "Verify00", "Verify10" nicht einmal durchgeführt, und
deshalb speichert die Datenspeichereinheit DS3 die Programmdaten.
-
Wenn
die Datenspeichereinheiten DS3 in allen Spalten (z.B. 4256 Einheiten)
die "1"-Daten speichern,
d.h. wenn alle Programmdaten mit Bezug auf die logische niederwertige
oder höherwertige
Seite "1" sind, ist der N-Kanal-MOS-Transistor
Qn17 von 16 in dem Aus-Zustand in allen
Spalten. Z.B. behält
FLAG von 8 "H" bei.
-
Deshalb
wird das Programmverifizieren beurteilt, in dem Durchlaufzustand
zu sein (Zustand, in dem das Programm abgeschlossen ist). Als ein
Ergebnis wird der Durchlauf in dem Statusregister gesetzt, und die
Programmoperation endet (Schritt S16).
-
Wenn
andererseits die Datenspeichereinheit DS3 in mindestens einer Spalte "0"-Daten speichert, d.h. wenn mindestens
eine Programmdaten mit Bezug auf die logische niederwertige oder
höherwertige Seite "0" sind, ist der N-Kanal-MOS-Transistor
Qn17 (10), der mit der Datenspeichereinheit
DS3 verbunden ist zum Speichern der "0"-Daten,
in dem Ein-Zustand. Z.B. schaltet FLAG von 8 zu "L".
-
Deshalb
wird das Programmverifizieren beurteilt, in dem NG-Zustand zu sein (Zustand,
in dem das Programm nicht abge schlossen ist). Als ein Ergebnis verlagert
sich der Prozess zu "Verify10" oder "Verify01".
-
Mit
dem Programm für
die logische niederwertige Seite wird "Verify10" ausgeführt (Schritt S11).
-
Das "Verify10" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv10 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes der
Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
-
Mit
dem Programm für
die logische niederwertige Seite sind zuerst alle ausgewählten Speicherzellen
als die Objekte des Programms in einem Zustand "11".
Deshalb schwankt für
die Speicherzelle als das Objekt der "1"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern der "1"-Daten)
die Schwellenspannung nicht. Deshalb sind die Lesedaten, die durch "Verify10" gelesen werden,
immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Wenn jedoch "1" in der Datenspeichereinheit
DS2 gespeichert ist, werden die Daten der Datenspeichereinheit DS1
ungeachtet der Lesedaten zwangsweise zu "1" geändert. D.h.
die "1"-Daten werden von
der Datenspeichereinheit DS1 erneut in die Datenspeichereinheit
DS3 gespeichert.
-
Andererseits
sind für
die Speicherzelle als das Objekt der "0"-Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern von "0"-Daten),
wenn die Schwellenspannung durch die Schreiboperation ausreichend
ansteigt (das Programm ist abgeschlossen) (Schritt S8), die Lesedaten,
die durch "Verify10
(1. Durchlauf)" gelesen
werden, "1".
-
Deshalb
wird "1" in der Datenspeichereinheit DS1
gespeichert. Diese "1"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 ändern sich von "0" zu "1".
-
Außerdem sind
für die
Speicherzelle als das Objekt der "0" Programmierung
(Speicherzelle für
die Datenspeichereinheit DS3 zum Speichern von "0"-Daten),
wenn die Schwellenspannung durch die Schreiboperation nicht ausreichend
ansteigt (das Programm ist nicht abgeschlossen) (Schritt S8), die Lesedaten,
die durch "Verify10" gelesen werden, "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Diese "0"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
D.h. die Daten der Datenspeichereinheit DS3 behalten "0" bei.
-
Mit
dem Programm für
die logische höherwertige
Seite werden "Verify01" und "Verify00" kontinuierlich ausgeführt (Schritte
S12, S13).
-
Das "Verfiy01" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv01 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes der
Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, und den Daten (Programmdaten) der Datenspeichereinheit DS2.
-
Das "Verfiy00" ist eine Operation,
die umfasst: Verwenden des Lesepotenzials Vcgv00 (siehe 17), um die Leseoperation mit Bezug auf die ausgewählte Speicherzelle
als das Objekt des Programms auszuführen; und Bestimmen des Wertes der
Daten, die in der Datenspeichereinheit DS3 neu gespeichert sind,
basierend auf den Lesedaten, die durch die Leseoperation erhalten
werden, den Daten (Programmdaten) der Datenspeichereinheit DS2, und
den Daten (logische niederwertige Seitendaten) der Datenspeichereinheit
DS4.
-
Da
der Zustand "11" oder "10" mit Bezug auf die
Speicherzelle als das Objekt der Programmierung ("1"-Programmierung) der logischen höherwertigen
Seitendaten "1" (Speicherzelle für die Datenspeichereinheit
DS3 zum Speichern der "1"-Daten) beibehalten
wird, sind die Lesedaten, die durch "Verify01" gelesen werden, immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Da "1" in der Datenspeichereinheit DS2
gespeichert ist, werden außerdem
die Daten der Datenspeichereinheit DS1 ungeachtet der Lesedaten zwangsweise
zu "1" geändert. Deshalb
werden die "1"-Daten zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert.
-
Außerdem sind
die Lesedaten, die durch "Verify00" gelesen werden,
immer "0".
-
Deshalb
wird "0" in der Datenspeichereinheit DS1
gespeichert. Da jedoch "1" in der Datenspeichereinheit
DS2 gespeichert ist, werden die Daten der Datenspeichereinheit DS1
ungeachtet der Lesedaten und der logischen niederwertigen Seitendaten
der Datenspeichereinheit DS4 zwangsweise zu "1" geändert. Deshalb
werden die "1"-Daten zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert.
-
Andererseits ändert sich
für die
Speicherzelle als das Objekt der Programmierung ("0"-Programmierung) der logischen höher wertigen
Seitendaten "0" (Speicherzelle für die Datenspeichereinheit
DS3 zum Speichern der "0"-Daten) der Zustand "11" oder "10" zu dem Zustand "00", und ferner zu dem
Zustand "01".
-
Deshalb
sind zuerst die Lesedaten, die durch "Verify01" gelesen werden, "0".
Deshalb wird "0" in der Datenspeichereinheit
DS1 gespeichert. Diese "0"-Daten werden zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS1 transferiert.
-
D.h.
die Daten der Datenspeichereinheit DS3 behalten "0" bei.
-
Danach
wird anschließend
zu "Verify01" "Verify00" ausgeführt.
-
Für die Speicherzelle,
in der die Schwellenspannung ausreichend ansteigt ("00"-Programmierung ist
abgeschlossen), sind die Lesedaten, die durch "Verify00" gelesen werden, "1".
-
Deshalb
wird "1" in der Datenspeichereinheit DS1
gespeichert.
-
Hier
werden jedoch die Daten der Datenspeichereinheit DS1 durch die logischen
niederwertigen Seitendaten beeinflusst, die in der Datenspeichereinheit
DS4 gespeichert sind.
-
D.h.
mit den logischen niederwertigen Seitendaten von "1" wird "0" (= "L") in der Datenspeichereinheit DS4 (Knoten
N4) gespeichert. Deshalb werden die Daten der Datenspeichereinheit
DS1 zwangsweise zu "0" geändert. Dies
bedeutet, dass mit den logischen niederwertigen Seitendaten von "1" die Speicherzelle in den Zustand "01" gebracht wird (siehe 19), um "0" als die logischen
höherwertigen
Seitendaten zu programmieren.
-
Diese "0"-Daten werden zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten
der Datenspeichereinheit DS3 bleiben auf "0".
-
Wenn
die logischen niederwertigen Seitendaten "0" sind,
speichert die Datenspeichereinheit DS4 (Knoten N4) "1" (= "H"). Deshalb bleiben
die Daten der Datenspeichereinheit DS1 auf "1".
Dies bedeutet, dass mit den logischen niederwertigen Seitendaten
von "0" die Schwellenspannung
der Speicherzelle in dem Zustand "00" gestoppt
wird (siehe 19), um "0" als
die logischen höherwertigen
Daten zu programmieren.
-
Diese "1"-Daten werden zu der Datenspeichereinheit
DS3 von der Datenspeichereinheit DS1 transferiert. D.h. die Daten
der Datenspeichereinheit DS3 ändern
sich von "0" zu "1".
-
Falls
der Wert PC des Programmzählers
die voreingestellte Schreibzahl PC max erreicht, wird Fehler (Programmfehler)
in dem Statusregister in der Zustandsmaschine gesetzt, und die Programmoperation
endet (Schritte S14, S17).
-
Falls
der Wert PC des Programmzählers
kleiner als die vorangestellte maximale Schreibzahl PC max ist,
wird außerdem
die Schreibspannung Vpgm um z.B. 0,2V hochgestuft, und anschließend wird
die Schreiboperation ausgeführt
(Schritte S14, S15, S8).
-
Danach
wird das Programmverifizieren basierend auf den Daten, die in der
Datenspeichereinheit DS3 gespeichert sind, ausgeführt um zu
beurteilen, ob das Programmverifizieren in dem Durchlaufzustand
(Zustand, in dem das Programm abgeschlossen ist) oder in dem NG-Zustand
(Zustand, in dem das Programm nicht abgeschlossen ist) ist (Schritt
S9).
-
Wenn
die Programmdaten mit Bezug auf die logischen höherwertigen Seitendaten "1" sind ("1"-Programmierung),
sind die Daten der Datenspeichereinheit DS3 immer "1".
-
Wenn
außerdem
die Programmdaten mit Bezug auf die logische höherwertige Seite "0" sind, die logischen niederwertigen
Seitendaten "0" ("00"-Programmierung)
sind, und die "00"-Programmierung abgeschlossen
ist, werden die Daten der Datenspeichereinheit DS3 durch "Verify00" von "0" zu "1" geändert.
-
Wenn
des weiteren die Programmdaten mit Bezug auf die logische höherwertige
Seite "0" sind, die logischen
niederwertigen Seitendaten "1" sind ("01"-Programmierung)
und die "01"-Programmierung abgeschlossen ist, werden
die Daten der Datenspeichereinheit DS3 durch "Verify01" von "0" zu "1" geändert.
-
Wenn
die Programmierung ("00"-Programmierung oder "01"-Programmierung)
mit Bezug auf alle Speicherzellen abgeschlossen ist, die als die
Objekte des Programms ausgewählt
sind, speichern alle Datenspeichereinheiten DS3 die "1"-Daten. D.h. in allen Spalten wird der
N-Kanal-MOS-Transistor Qn17 von 10 ausgeschaltet,
und FLAG von 8 schaltet zu "H" (Programmverifizieren ist in dem Durchlaufzustand).
Anschließend
wird Durchlauf (Programmabschluss) in dem Statusregister in der Zustandsmaschine
gesetzt, und die Programmoperation endet (Schritt S16).
-
Wenn
die Programmierung ("00"-Programmierung, "01"-Programmierung)
mit Bezug auf mindestens eine ausgewählte Speicherzelle als das
Objekt des Programms nicht abgeschlossen ist, speichert außerdem mindestens
eine Datenspeichereinheit DS3 die "0"-Daten.
D.h. in mindestens einer Spalte ist der N-Kanal-MOS-Transistor Qn17
von 10 eingeschaltet, FLAG von 8 schaltet
zu "L" (Programmverifizieren
ist in dem NG-Zustand), und
das Verifizierungslesen und die Schreiboperation werden erneut wiederholt
(Schritte S8 bis S17).
-
Wie
oben beschrieben kann beurteilen werden, ob das Programm abgeschlossen
ist oder nicht basierend auf den Daten, die in der Datenspeichereinheit
DS3 gespeichert sind.
-
2). Operationsbeschreibung durch Wellenform
-
Die
Operation wird hierin nachstehend mit Bezug auf ein Operationszeitsteuerungsdiagramm konkret
beschrieben.
-
Ein
Hauptteil der Programmoperation (Durchlaufschreiben) enthält: eine
Kopieroperation der Programmdaten zu den Datenspeichereinheiten DS2,
DS3 von der Datenspeichereinheit DS4; eine interne Datenladeoperation;
eine Kopieroperation der Programmdaten zu der Datenspeichereinheit DS3
von der Datenspeichereinheit DS2; eine Schreiboperation; und eine
Verifizierungsoperation (Verifizieren 10/00/01).
-
Außerdem enthält ein Hauptteil
der Programmoperation (schnelles Durchlaufschreiben): die Kopieroperation
der Programmdaten zu den Datenspeichereinheiten DS2, DS3 von der
Datenspeichereinheit DS4; die interne Datenladeoperation; die Schreiboperation
(Schreiben); und die Verifizierungsoperation (Verifizieren 10/00/01).
-
Dann
werden diese Operationen beschrieben.
-
Es
ist zu vermerken, dass da in dem nachstehend beschriebenen Operationszeitsteuerungsdiagramm
nicht besonders gezeigt, der "L"-Pegel Vss (z.B.
0V) bezeichnet, und der "H"-Pegel Vdd (z.B.
3V) bezeichnet. Außerdem
ist in dem Operationszeitsteuerungsdiagramm ein Block BLOCKi ausgewählt, und die
Wortleitung WL2-i und die ungeradzahlige Bitleitung BLek in dem
Block BLOCKi sind ausgewählt (siehe 3).
-
[1] Kopieroperation zu DS2, DS3 von DS4
-
31 zeigt ein Operationswellenformdiagramm der
Kopieroperation der Programmdaten zu den Datenspeichereinheiten
DS2, DS3 von der Datenspeichereinheit DS4. 32 zeigt
den Fluss von Daten in der Kopieroperation der Programmdaten zu den
Datenspeichereinheiten DS2, DS3 von der Datenspeichereinheit DS4.
-
Die
Kopieroperation entspricht dem Schritt S5 von 28 und 30.
-
Zuerst
schaltet ein Steuersignal VPRE zu "H" in
einer Zeitsteuerung CPCLK1, und ein Steuersignal BLPRE schaltet
zu 4,5V in einer Zeitsteuerung CPCLK2. Als ein Ergebnis wird der
N-Kanal-MOS-Transistor
Qn6 eingeschaltet (10), und die Datenspeichereinheit
DS1 (Knoten N2) wird auf den "H"-Pegel (Vdd) geladen.
-
Wenn
ein Steuersignal BLC2 zu "H" in einer Zeitsteuerung
CPCLK6 schaltet, wird der N-Kanal-MOS-Transistor Qn12 eingeschaltet,
und die Datenspeichereinheit DS1 wird mit der Datenspeichereinheit
DS4 elektrisch verbunden.
-
Falls
die Datenspeichereinheit DS4 (Knoten N4) "1" (= "H") als die Programmdaten speichert, unterhält ein Ende
der Datenspeichereinheit DS1, d.h. Kondensator C1 (Knoten N2) den "H"-Pegel (Vdd). Falls die Datenspeichereinheit
DS4 (Knoten N4) "0" (= "L") als die Programmdaten speichert, wird
die Ladung von einem Ende der Datenspeichereinheit DS1, d.h. Kondensator
C1 (Knoten N2) entladen, und die Daten der Datenspeichereinheit
DS1 ändern
sich von "H" zu "L".
-
Wenn
andererseits die Steuersignale SEN1, LATZ zu "L" in
einer Zeitsteuerung CPCLK8 schalten, und das Steuersignal EQ1 zu "H" schaltet, wird der Zustand der Datenspeichereinheit
DS3 zurückgesetzt.
-
Wenn
das Steuersignal BLC1 zu "H" in einer Zeitsteuerung
CPCLK11 schaltet, wird der N-Kanal-MOS-Transistor Qn10 eingeschaltet,
und die Datenspeichereinheiten DS1 und Ds3 sind elektrisch verbunden.
Wenn das Steuersignal SEN1 zu "H" schaltet, werden
die Daten der Datenspeichereinheit DS1, d.h. ein Ende (Knoten N2)
des Kondensators C1 durch den Taktsynchroninvertierer C11 abgetastet.
-
Wenn
das Steuersignal LATZ zu "H" in der Zeitsteuerung
CPCLK13 schaltet, werden danach die Daten der Datenspeichereinheit
DS1 in der Datenspeichereinheit DS3 gespeichert. Wenn das Steuersignal
DTG 4,5V in der Zeitsteuerung CPCLK14 anzeigt, wird schließlich der
N-Kanal-MOS-Transistor Qn9 eingeschaltet, und die Daten der Datenspeichereinheit
DS3 werden zu der Datenspeichereinheit DS2 transferiert. Wenn das
Steuersignal DTG zu "L" in der Zeitsteuerung
CPCLK15 schaltet, werden außerdem
die Daten der Datenspeichereinheit DS3 in der Datenspeichereinheit
DS2 gespeichert.
-
Wenn
z.B. die Daten der Datenspeichereinheiten DS1, DS4 (Knoten N2, N4
zeigen "H" an) "1" sind, schalten auch die Daten der Datenspeichereinheiten
DS2, DS3 zu "1" (Knoten N3, N6 schalten
zu "H"). Wenn die Daten
der Datenspeichereinheiten DS1, DS4 "0" sind
(Knoten N2, N4 zeigen "L" an), schalten auch
die Daten der Datenspeichereinheiten DS2, DS3 zu "0" (Knoten N3, N6 schalten zu "L").
-
Es
ist zu vermerken, dass die Kopieroperation zu DS2, DS3 von DS4 in
den Datenschaltungen aller Spalten (z.B. 4256 Spalten) gleichzeitig
durchgeführt
wird.
-
[2] Interne Datenladeoperation
-
33 und 34 zeigen
Operationswellenformdiagramme einer internen Datenladeoperation,
und 35 zeigt einen Fluss von Daten
in der internen Datenladeoperation.
-
Die
interne Datenladeoperation entspricht dem Schritt S6 von 28 und 30.
-
Die
interne Datenladeoperation umfasst: Lesen der logischen niederwertigen
Seitendaten im voraus, um die Schwellenspannung zu bestimmen als ein
Ziel in dem Programm der logischen höherwertigen Seitendaten, wenn
das Programm der logischen höherwertigen
Seitendaten durchgeführt
wird.
-
Konkret
umfasst die Operation: Setzen des Lesepotenzials (Potenzial der
ausgewählten
Wortleitung WL2-i) auf Vcgr10 (z.B. 0V); und Prüfen, ob die Daten der Speicherzelle "11" (logische niederwertige Seitendaten
sind "1") oder "10" (logische niederwertige
Seitendaten sind "0") sind.
-
Die
interne Datenladeoperation besteht aus einem Teil betreffend Datenlesen
(RCLK 1-E, SCLK-E, RRCV 1-E) und einem Teil betreffend Datentransfer
(Routine EXCLK).
-
[2]-1 Datenlesen
-
Zuerst
werden die Transferpotenziale Vread (z.B. 4,5V) der Auswahlgatterleitung
SGD auf der Bitleitungsseite und nicht-ausgewählten Wortleitungen WL0-i,
WL1-i, WL3-i zugeführt,
und das Lesepotenzial Vcgr10 (z.B. 0V) wird an die ausgewählte Wortleitung
WL2-i (RCLK 1-2) angelegt.
-
Das
Steuersignal BLPRE schaltet auf "H", und der N-Kanal-MOS-Transistor Qn6 (10) wird eingeschaltet. Wenn das Steuersignal
BLCLAMP Vclamp anzeigt (z.B. 2V), und das Steuersignal BLSe Vsghh
anzeigt (z.B. 4,5V), wird die ungeradzahlige Bitleitung BLek auf
das vorbestimmte Potenzial vorgeladen (z.B. ungefähr 1V).
Da andererseits das Steuersignal BIASo Vsghh anzeigt (z.B. 4,5V),
wird die geradzahlige Bitleitung BLok auf Vss fixiert (z.B. 0V),
und funktioniert als eine Abschirmungsbitleitung (RCLK 2-4).
-
Danach
zeigt das Steuersignal BLCLAMP Vss an (z.B. 0V) und das Steuersignal
BLPRE schaltet zu "L", und die ungeradzahlige
Bitleitung BLek wird in den schwebenden Zustand gebracht (RCLK 5-7).
-
Wenn
das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite
auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial
der Bitleitung BLek in Übereinstimmung
mit dem Zustand der ausgewählten
Speicherzelle beeinflusst, d.h. dem Wert der Daten, die in der Speicherzelle
gespeichert sind.
-
D.h.
wenn die Daten der ausgewählten
Speicherzelle "11" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr10 eingeschaltet. Deshalb wird die Ladung
der Bitleitung BLek entladen, und das Potenzial der Bitleitung BLek
fällt auf 0,8V
oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block
wird durch Vread eingeschaltet).
-
Wenn
andererseits die Daten der ausgewählten Speicherzelle "10" sind, wird die ausgewählte Speicherzelle
durch das Lesepotenzial Vcgr10 nicht eingeschaltet. Deshalb wird
die Ladung der Bitleitung BLek nicht entladen, und die Bitleitung
BLek unterhält
ein Vorladungspotenzial (ungefähr
1V) (RCLK 6-E).
-
Wenn
das Steuersignal BLPRE ungefähr 4,5V
anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V), wird ein
Ende des Kondensators C1 der Datenspeichereinheit DS1, d.h. der
Knoten N2, auf Vdd geladen. Wenn das Steuersignal BLCLAMP Vsense
anzeigt (z.B. 1,8V), ändert
sich danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit
DS1 wie folgt.
-
D.h.
wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial
bleibt (ungefähr
1V) (wenn die Daten der Speicherzelle "10" sind),
wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) ausgeschaltet, und das Potenzial von einem
Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd
("H") gehalten.
-
Wenn
andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger
ist (wenn die Daten der Speicherzelle "11" sind),
wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 ( 10) eingeschaltet, die Ladung von einem Ende des
Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung
BLek entladen und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK 4-5).
-
Als
ein Ergebnis werden die Lesedaten durch das Lesepotenzial Vcgr10
in der Datenspeichereinheit DS1 gespeichert (ein Ende des Kondensators
C1). D.h. wenn die Daten der Speicherzelle "11" sind,
wird "L", d.h. "1"-Daten gespeichert. Wenn die Daten der
Speicherzelle "10" sind, wird "H", d.h. "0"-Daten
gespeichert.
-
Es
ist zu vermerken, dass in der internen Datenladeoperation die Beziehung
von "L" = "0" und "H" = "1" umgekehrt wird. D.h. die Beziehung
von "L" = "1" und "H" = "0" wird erhalten.
-
[2]-2 Datentransfer
-
Nachdem
in der internen Datenladeoperation die Daten der Speicherzelle in
die Datenspeichereinheit DS1 ausgelesen sind, wird der Datentransfer ausgeführt, um
die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert sind,
zu der Datenspeichereinheit DS4 zu transferieren. Diese Operation folgt
einer Routine EXCLK, die in 34 gezeigt wird.
-
Wenn
beide Steuersignale SEN2, LAT2 zu "L" schalten
(EXCLK 6), und das Steuersignal EQ2 zu "H" schaltet
(EXCLK 7-8), wird zuerst der Zustand der Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS4 bildet,
zurückgesetzt.
-
Danach
zeigt das Steuersignal BLC2 4,5V an (EXCLK 9), und der N-Kanal-MOS-Transistor
Qn12 wird eingeschaltet. Als ein Ergebnis sind die Datenspeichereinheiten
DS1 und DS4 miteinander elektrisch verbunden.
-
Wenn
das Taktsignal SEN2 zu "H" schaltet (EXCLK
10), werden die Lesedaten, die in der Datenspeichereinheit DS1 gespeichert
sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer
CI4, der die Datenspeichereinheit DS4 bildet, über den MOS-Transistor Qn12
abgetastet. Wenn das Steuersignal LAT2 zu "H" schaltet
(EXCLK 11), werden die Lesedaten in der Datenspeichereinheit DS4
gespeichert.
-
Es
ist zu vermerken, dass die interne Datenladeoperation gleichzeitig
mit Bezug auf alle Spalten (z.B. 4256 Zellen) durchgeführt wird.
-
[3] Operation zum Kopieren (Zurückkopieren)
zu DS3 von DS2
-
36 zeigt ein Operationswellenformdiagramm einer
Kopieroperation der Programmdaten zu der Datenspeichereinheit DS3
von der Datenspeichereinheit DS2. 37 zeigt
den Fluss von Daten in der Kopieroperation der Programmdaten zu
der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2.
-
Diese
Kopieroperation entspricht Schritt S17 von 29.
-
Wenn
das Steuersignal BLPRE zu "H" in der Zeitsteuerung
CPCLK3 schaltet, wird zuerst der N-Kanal-MOS-Transistor Qn6 (10) eingeschaltet. Da das Steuersignal VPRE auf
Vss (0V) bleibt, wird in diesem Zeitpunkt die Datenspeichereinheit DS1
(Knoten N2) auf den "L"-Pegel (Vss) geladen.
-
Danach
schaltet das Steuersignal VREG auf "H" in
der Zeitsteuerung CPCLK5. Wenn das Steuersignal REG 4,5V anzeigt,
wird außerdem
der N-Kanal-MOS-Transistor Qn7 eingeschaltet, und die Datenspeichereinheiten
DS1, DS2 sind elektrisch verbunden.
-
Falls
die Datenspeichereinheit DS2 (Knoten N6) "1" (= "H") als die Programmdaten speichert, steigt
außerdem
das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 auf ungefähr 5V von
ungefähr
Vdd durch eine Boot-strap-Erscheinung. Als ein Ergebnis wird VREG
(= Vdd) zu der Datenspeichereinheit DS1 über die N-Kanal-MOS-Transistoren Qn7,
Qn8 transferiert. D.h. der Pegel der Datenspeichereinheit DS1, d.h.
ein Ende (Knoten N2) des Kondensators C1 wechselt von "L" zu "H".
-
Falls
die Datenspeichereinheit DS2 (Knoten N6) "0" (= "L") als die Programmdaten speichert, zeigt
außerdem
das Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 Vss (= 0V) an.
Als ein Ergebnis wird VREG (= Vdd) nicht zu der Datenspeichereinheit
DS1 transferiert, und die Datenspeichereinheit DS1, d.h. ein Ende
(Knoten N2) des Kondensators behält
den "L"-Pegel bei.
-
Wenn
die Steuersignale SEN1, LATZ zu "L" in der Zeitsteuerung
CPCLK8 schalten, und das Steuersignal EQ1 zu "H" in
der Zeitsteuerung CPCLK9 schaltet, wird der Zustand der Datenspeichereinheit
DS3 zurückgesetzt.
-
Wenn
das Steuersignal BLC1 zu "H" in der Zeitsteuerung
CPCLK11 schaltet, wird der N-Kanal-MOS-Transistor Qn10 eingeschaltet,
und die Datenspeichereinheiten DS1 und DS3 sind elektrisch verbunden.
Wenn das Steuersignal SEN1 zu "H" in der Zeitsteuerung
CPCLK12 schaltet, werden außerdem
die Daten der Datenspeichereinheit DS1, d.h. ein Ende (Knoten N2)
des Kondensators C1 durch den Taktsynchroninvertierer CI1 abgetastet.
-
Wenn
das Steuersignal LATZ zu "H" in der Zeitsteuerung
CPCLK13 schaltet, werden danach die Daten der Datenspeichereinheit
DS1 in der Datenspeichereinheit DS3 gespeichert.
-
Durch
die oben beschriebene Operation endet die Kopieroperation der Programmdaten
zu der Datenspeichereinheit DS3 von der Datenspeichereinheit DS2,
das sogenannte Kopieren zurück.
-
Es
ist zu vermerken, dass die Kopieroperation zu DS3 von DS2 in den
Datenschaltungen aller Spalten (z.B. 4256 Spalten) gleichzeitig
durchgeführt wird.
-
[4] Schreiboperation (Schreiben)
-
38 zeigt ein Operationswellenformdiagramm einer
Schreiboperation. 39 zeigt einen Fluss von Daten
in der Schreiboperation.
-
Es
ist zu vermerken, dass der "L"-Pegel 0V anzeigt,
und der "H"-Pegel Vdd (z.B.
3V) anzeigt, da nicht gezeigt. Außerdem ist in dem ausgewählten Block
die ausgewählte
Wortleitung WL2, und die ausgewählte
Bitleitung ist BLe.
-
Die
Schreiboperation entspricht Schritt S8 von 28 und 30,
und Schritt S25 von 29.
-
Zuerst
zeigen in einer Zeitsteuerung PCLK1 die Steuersignale BLCLAMP, BLC1
4,5V an. Wenn BLSe 4,5V in einer Zeitsteuerung PCLK3 anzeigt, sind
außerdem
die Bitleitung BLek und die Datenspeichereinheit DS3 elektrisch
verbunden.
-
Wenn
die Daten der Datenspeichereinheit DS3 (Knoten N3) "1" sind, ist die Bitleitung BLek in Vdd
geladen. Wenn die Daten der Datenspeichereinheit DS3 (Knoten N3) "0" sind, ist außerdem die Bitleitung BLek
in Vss (0V) geladen.
-
Außerdem schaltet
in der Zeitsteuerung PCLK3 das Steuersignal BLCRL auf "H", und das Steuersignal BIASo zeigt 4,5V
an. Als ein Ergebnis ist die Bitleitung BLeo in Vdd geladen.
-
Danach
wird 10V an die nicht-ausgewählten Wortleitungen
WL0-1, WL1-i, WL3-i
in einer Zeitsteuerung PCLK6 angelegt, und Vpgm (zeigt zuerst 12V oder
13V an, und steigt jede 0,2V in Übereinstimmung
mit der Zahl von Schreibvorgängen)
wird an die ausgewählte
Wortleitung WL2-i angelegt. Als ein Ergebnis wird die Programmierung
mit Bezug auf die Speicherzelle ausgeführt.
-
Wenn
z.B. die Daten, die in der Datenspeichereinheit DS3 gespeichert
sind, "1" sind, zeigt die Bitleitung
BLek Vdd an. Eine Potenzialdifferenz zwischen der Wortleitung (Steuergatterelektrode)
WL2-i und dem Kanal der Speicherzelle zeigt nicht einen Wert an,
der zum Injizieren des Elektrons in die schwebende Gatterelektrode
der Speicherzelle ausreichend ist.
-
Wenn
andererseits die Daten, die in der Datenspeichereinheit DS3 gespeichert
sind, "0" sind, zeigt die
Bitleitung BLek 0V an. Die Potenzialdifferenz zwischen der Wortleitung
(Steuergatterelektrode) WL2-i und dem Kanal der Speicherzelle zeigt den Wert
an, der zum Injizieren des Elektrons in die schwebende Gatterelektrode
der Speicherzelle ausreichend ist.
-
Wenn
die Daten, die in der Datenspeichereinheit DS3 gespeichert sind, "1" sind, steigt deshalb die Schwellenspannung
der Speicherzelle nicht an. Wenn die Daten, die in der Datenspeichereinheit
DS3 gespeichert sind, "0" sind, steigt die
Schwellenspannung der Speicherzelle an.
-
In
einem Zeitpunkt des schnellen Durchlaufschreibens (QPW) zeigt das
Steuersignal VREG Vdd in einer Zeitsteuerung PCLK4 an, das Steuersignal BLC1
schaltet zu "L" in einer Zeitsteuerung
PCLK5, und das Steuersignal REG wird auf 2,0V in einer Zeitsteuerung
PCLK6 gesetzt.
-
Falls
die Daten (Programmdaten) der Datenspeichereinheit DS2 "1" sind, steigt deshalb das Gatterpotenzial
des N-Kanal-MOS-Transistors
Qn8 auf ungefähr
5V von ungefähr
Vdd durch die Boot-strap-Erscheinung. Deshalb wird VREG (= Vdd) durch
das Steuersignal REG (= 2,0V) begrenzt und zu der Bitleitung BLek
transferiert.
-
Als
ein Ergebnis zeigt das Potenzial der Bitleitung BLek z.B. ungefähr 1V ungeachtet
der Daten an, die in der Datenspeichereinheit DS3 gespeichert sind.
-
Falls
die Daten (Programmdaten) der Datenspeichereinheit DS2 "0" sind, ist das Gatterpotenzial des N-Kanal-MOS-Transistors
Qn8 0V. Deshalb behält
das Potenzial der Bitleitung BLek Vdd (Daten der Datenspeichereinheit
DS3 sind "1") oder 0V (Daten der
Datenspeichereinheit DS3 sind "0") bei.
-
Es
ist zu vermerken, dass die Schreiboperation mit Bezug auf 4256 Speicherzellen
gleichzeitig durchgeführt
wird, die mit der ausgewählten
Wortleitung WL2-i verbunden sind.
-
[5] Verifizierungsoperation (Verifizieren
10/00/01)
-
40 und 41 zeigen
Operationswellenformdiagramme des Verifizierungslesens in einer Verifizierungsoperation. 42 bis 45 zeigen
einen Fluss von Daten in dem Verifizierungslesen.
-
Es
ist zu vermerken, dass der "L"-Pegel 0V anzeigt,
und der "H"-Pegel Vdd (z.B.
3V) anzeigt, da nicht gezeigt. Außerdem ist in den ausgewählten Block
die ausgewählte
Wortleitung WL2, und die ausgewählte
Bitleitung ist BLe.
-
Eine
Verifizierungsoperation enthält
das Verifizierungslesen und Abschlusserfassung. Die Abschlusserfassung
ist ein Operation, die umfasst: Erfassen, ob das Datenprogramm abgeschlossen
ist oder nicht mit Bezug auf alle ausgewählten Speicherzellen basierend
auf den Daten, die durch das Verifizierungslesen gelesen werden.
Hier wird hauptsächlich
das Verifizierungslesen beschrieben.
-
Das
Verifizierungslesen entspricht den Schritten S11, S12 von 28, Schritten S20, S21, S22 von 29 und Schritten S11, S12, S13 von 30.
-
Das
Verifizierungslesen ist ein Operation, die nach der Schreiboperation
durchgeführt
wird, und die umfasst: Lesen von Daten zum Beurteilen (Abschlusserfassung),
ob die Schwellenspannung der Speicherzelle einen vorbestimmten Pegel
erreicht hat oder nicht von der Speicherzelle.
-
In
dem vorliegenden Beispiel wird das Verifizierungslesen, das Durchlaufschreiben
(doppeltes Schreiben) verwendet, beschrieben. Wie oben beschrieben,
wird das erste Programm als der 1. Durchlauf bezeichnet, und das
zweite Programm wird als der 2. Durchlauf bezeichnet. Ein Programmverfahren zum
parallelen Verarbeiten der 1. und 2. Durchläufe wird als ein schnelles
Durchlaufschreiben (QPW) bezeichnet. In einem QPW-Zeitpunkt zeigt z.B.
ein QPW-Register in der Zustandsmaschine (Steuerschaltung) "1" an. In einem gewöhnlichen Durchlaufschreiben
schaltet das QPW-Register in der Zustandsmaschine zu "0".
-
Zuerst
wird das Transferpotenzial Vread (z.B. 4,5V) an die Auswahlgatterleitung
SGD auf der Bitleitungsseite und nicht-ausgewählte Wortleitungen WL0-i, WL1-i,
WL3-i angelegt, und ein Verifizierungslesepotenzial Vcgvxx wird
an die ausgewählte
Wortleitung WL2-i in einer Zeitsteuerung RCLK 1-2 angelegt.
-
Das
Verifizierungslesepotenzial Vcgvxx ändert sich z.B. wie folgt in Übereinstimmung
mit den Typ des Verifizierungslesens.
-
[Durchlaufschreibzeitpunkt]
-
VERIFY10
1. Durchlauf → Vcgvxx
= 0.25 V, VERIFY10 2. Durchlauf → Vcgvxx
= 0.40 V, VERIFY00 1. Durchlauf → Vcgvxx
= 1.25 V, VERIFY00 2. Durchlauf → Vcgvxx
= 1.40 V, VERIFY01 → Vcgvxx
= 2.40 V
-
[QPW-Zeitpunkt]
-
VERIFY10 → Vcgvxx
= 0.25 V, VERIFY00 → Vcgvxx
= 1.25 V, VERIFY01 → Vcgvxx
= 2.25 V
-
In
einer Zeitsteuerung RCLK 2-4 schaltet das Steuersignal BLPRE zu "H", und der N-Kanal-MOS-Transistor Qn6
(10) wird eingeschaltet. Wenn das Steuersignal
BLCLAMP Vclamp (z.B. 2V) anzeigt, und das Steuersignal BLSe Vsghh
(z.B. 4,5V) anzeigt, wird außerdem
die ungeradzahlige Bitleitung BLek mit VPRE (= Vdd) elektrisch verbunden.
-
Als
ein Ergebnis wird die Bitleitung BLek in dem vorbestimmten Potenzial
vorgeladen, das durch die Schwellenspannung des N-Kanal-MOS-Transistors
Qn5 begrenzt wird, z.B. ungefähr
1V. Da das Steuersignal BIASo Vsghh (z.B. 4,5V) anzeigt, ist außerdem die
geradzahlige Bitleitung BLok in Vss (z.B. 0V) begrenzt, und funktioniert
als die Abschirmungsbitleitung.
-
Im
Prinzip ist, wie oben beschrieben, eine vorgeladene Quelle mit Bezug
auf die Bitleitung BLek VPRE. Für "Verify00 (2. Durchlauf)" in einem 2. Durchlaufzeitpunkt
in der Durchlaufschreiboperation und "Verify00" in der QPW-Operation ist jedoch die Vorladungsquelle
mit Bezug auf die Bitleitung die Datenspeichereinheit DS4.
-
Deshalb
schaltet das Steuersignal BLC2 zu "H" in
einer Zeitsteuerung RCLK2 in "Verify00
(2. Durchlauf)" und "Verify00". Andererseits bleibt
das Steuersignal BLPRE auf "L" in einer Zeitsteuerung RCLK2-6.
-
Als
ein Ergebnis ist die Bitleitung BLek mit der Datenspeichereinheit
DS4 elektrisch verbunden. Wenn die Daten der Datenspeichereinheit
DS4 (Knoten N3) "1" sind, ist außerdem die
Bitleitung BLek in dem vorbestimmten Potenzial vorgeladen, das durch die
Schwellenspannung des N-Kanal-MOS-Transistors Qn5 begrenzt wird,
z.B. ungefähr
1V. Wenn die Daten der Datenspeichereinheit DS4 (Knoten N3) "0" sind, ist außerdem die Bitleitung BLek
auf 0V vorgeladen.
-
Danach
zeigt in einer Zeitsteuerung RCLK 5-7 das Steuersignal BLCLAMP Vss
(z.B. 0V) an, das Steuersignal BLPRE schaltet zu "L", und die Bitleitung BLek wird in den
schwebenden Zustand gebracht.
-
Wenn
das Potenzial der Auswahlgatterleitung SGS auf der Source-Leitungsseite
auf das Transferpotenzial Vread gesetzt ist, wird das Potenzial
der Bitleitung BLek in Übereinstimmung
mit dem Zustand der ausgewählten
Speicherzellen beeinflusst, d.h. der vorliegenden Schwellenspannung
der Speicherzelle.
-
D.h.
wenn die Schwellenspannung der ausgewählten Speicherzelle geringer
als das Potenzial (Verifizierungslesepotenzial) Vcgvxx der ausgewählten Wortleitung
WL2-i ist, wird die ausgewählte
Speicherzelle durch das Verifizierungslesepotenzial Vcgvxx eingeschaltet.
Deshalb wird die Ladung der Bitleitung BLek entladen, und das Potenzial
der Bitleitung BLek fällt
auf 0,8V oder weniger ab (die nicht-ausgewählte Speicherzelle in dem ausgewählten Block wird
durch Vread eingeschaltet).
-
Wenn
andererseits die Schwellenspannung der ausgewählten Speicherzelle höher als
das Verifizierungslesepotenzial Vcgvxx ist, wird die ausgewählte Speicherzelle
durch das Verifizierungslesepotenzial Vcgvxx nicht eingeschaltet.
Deshalb wird die Ladung der Bitleitung BLek nicht entladen, und
die Bitleitung BLek behält
das Vorladungspotenzial (ungefähr
1V) bei.
-
Es
ist zu vermerken, dass in "Verify00
(2. Durchlauf)" und "Verify00" die Bitleitung BLek
in 0V vorgeladen ist, und die Bitleitung BLek deshalb immer 0V ungeachtet
des Zustands der ausgewählten Speicherzelle
anzeigt.
-
Wenn
das Steuersignal BLPRE zu "H" in einer Zeitsteuerung
RCLK 8-E schaltet, wird ein Ende des Kondensators C1 der Datenspeichereinheit
DS1, d.h. der Knoten N2, auf VPRE (= 0V) geladen. Wenn die Operation
nicht die QPW-Operation ist (Wert des QPW-Registers = "0"), wird außerdem danach die Routine EXCLK,
die in 41 gezeigt wird, ausgeführt (SCLK-2).
-
Zuerst
schaltet das Steuersignal VREG zu "H" in
einer Zeitsteuerung EXCLK2. Wenn das Steuersignal REG 4,5V anzeigt,
wird außerdem
der N-Kanal-MOS-Transistor Qn7 eingeschaltet, und das Potenzial
von einem Ende (Knoten N2) des Kondensators C1 der Datenspeichereinheit
DS1 wird durch die Daten beeinflusst, die in der Datenspeichereinheit DS2
gespeichert sind.
-
Wenn
z.B. die Daten (Programmdaten), die in der Datenspeichereinheit
DS2 gespeichert sind, "1" sind, steigt das
Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 auf ungefähr 5V von
ungefähr
Vdd durch die Boot-strap-Erscheinung an, und VREG (= Vdd) wird zu
einem Ende (Knoten N2) des Kondensators C1 der Datenspeichereinheit
DS1 transferiert.
-
Wenn
die Daten (Programmdaten), die in der Datenspeichereinheit DS2 gespeichert
sind, "0" sind, zeigt außerdem das
Gatterpotenzial des N-Kanal-MOS-Transistors Qn8 0V an, und VREG
(= Vdd) wird nicht zu einem Ende (Knoten N2) des Kondensators C1
der Datenspeichereinheit DS1 transferiert. D.h. das Potenzial von
einem Ende des Kondensators C1 der Datenspeichereinheit DS1 ändert sich nicht.
-
Wenn
das Steuersignal DTG 4,5V in einer Zeitsteuerung EXCLK 4-5 anzeigt,
werden des weiteren die Daten der Datenspeichereinheit DS3 zu der Datenspeichereinheit
DS2 transferiert.
-
Wenn
beide Steuersignale SEN2, LATZ zu "L" (EXCLK
6) schalten, und das Steuersignal EQ1 zu "H" (EXCLK
7-8) schaltet, wird danach der Zustand der Flip-Flop-Schaltung (10), die die Datenspeichereinheit DS3 bildet,
zurückgesetzt.
-
Danach
zeigt das Steuersignal BLC1 4,5V (EXCLK 9) an, und der N-Kanal-MOS-Transistor Qn10
wird eingeschaltet. Als ein Ergebnis sind die Datenspeichereinheiten
DS1 und DS3 miteinander elektrisch verbunden.
-
Wenn
das Taktsignal SEN1 zu "H" (EXCLK 10) schaltet,
werden die Daten, die in der Datenspeichereinheit DS1 gespeichert
sind (ein Ende des Kondensators C1), durch den Taktsynchroninvertierer CI1,
der die Datenspeichereinheit DS3 bildet, über den MOS-Transistor Qn10
abgetastet. Wenn das Steuersignal LATZ zu "H" (EXCLK
11) schaltet, werden außerdem
die Daten in der Datenspeichereinheit DS3 gespeichert.
-
Wenn
das Steuersignal BLPRE ungefähr 4,5V
anzeigt, und das Steuersignal VPRE Vdd (z.B. 3V) in einer Zeitsteuerung
SCLK2 anzeigt, ist ein Ende des Kondensators C1 der Datenspeichereinheit
DS1, d.h. der Knoten N2, in Vdd geladen. Wenn das Steuersignal BLCLAMP
Vsense (z.B. 1,8V anzeigt), ändert
sich danach das Potenzial von einem Ende des Kondensators C1 der
Datenspeichereinheit DS1 wie folgt.
-
D.h.
wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial
(ungefähr
1V) bleibt (wenn die Schwellenspannung der Speicherzelle höher als
Vcgvxx ist), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5
(10) ausgeschaltet, und das Potenzial von einem
Ende des Kondensators C1 der Datenspeichereinheit DS1 wird auf Vdd
("H") gehalten.
-
Wenn
andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger
ist (wenn die Schwellenspannung der Speicherzelle geringer als Vcgvxx ist),
wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des
Kondensators C1 der Datenspeichereinheit DS1 wird zu der Bitleitung
BLek entladen, und das Potenzial fällt auf den Wert ("L") ab, der geringer als Vdd ist (SCLK
4-5).
-
Als
ein Ergebnis werden die Lesedaten durch das Verifizierungslesepotenzial
Vcgvxx in der Datenspeichereinheit DS1 (ein Ende des Kondensators
C1) gespeichert. D.h. wenn die Schwellenspannung der Speicherzelle
geringer als Vcgvxx ist, wird "L", d.h. "0"-Daten in der Datenspeichereinheit DS1 gespeichert.
Wenn die Schwellenspannung der Speicherzelle höher als Vcgvxx ist, wird "H", d.h. "1"-Daten
in der Datenspeichereinheit DS1 gespeichert.
-
Danach
wird die Routine EXCLK, die in 41 gezeigt
wird, ausgeführt
(SCLK5-E). Da die Routine EXCLK von 41 bereits
beschrieben wurde, wird ihre Beschreibung hier weggelassen.
-
Falls
die Operation in einer Zeitsteuerung QPWCLK 1-E nicht die QPW-Operation
ist (der Wert des QPW-Registers = "0"),
wird die Operation weggelassen.
-
Mit
der QPW-Operation (der Wert des QPW-Registers = "1")
wird eine QPWCLK-Routine durch die Zustandsmaschine ausgeführt (QPWCLK1-E).
-
In
einem QPW-Zeitpunkt wird das Potenzial (Verifizierungslesepotenzial)
Vcgvxx der ausgewählten
Wortleitung WL2-i um ungefähr
0,15V in einer Zeitsteuerung SCLK 6 angehoben. D.h. Vcgvxx ist 4,5V
+ 0,15V.
-
Wenn
das Steuersignal BLPRE ungefähr 4,5V
anzeigt, und das Steuersignal VPRE Vdd anzeigt (z.B. 3V) in einer
Zeitsteuerung QPWCLK2, wird ein Ende des Kondensators C1 der Datenspeichereinheit
DS1, d.h. der Knoten N2, in Vdd geladen. Wenn das Steuersignal BLCLAMP
Vsense (z.B. 1,8V) in einer Zeitsteuerung QPWCLK4 anzeigt, ändert sich
danach das Potenzial von einem Ende des Kondensators C1 der Datenspeichereinheit
DS1 wie folgt.
-
D.h.
wenn das Potenzial der Bitleitung BLek auf dem Vorladungspotenzial
bleibt (ungefähr
1V) (wenn die Schwellenspannung der Speicherzelle höher als
Vcgvxx ist), wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5
(10) ausgeschaltet, und das Potenzial von einem
Ende des Kondensators C1 der Datenspeichereinheit DS1 wird in Vdd
("H") gehalten.
-
Wenn
andererseits das Potenzial der Bitleitung BLek 0,8V oder weniger
ist (wenn die Schwellenspannung der Speicherzelle geringer als Vcgvxx ist),
wird der N-Kanal-MOS-Transistor (Klemmtransistor) Qn5 (10) eingeschaltet, die Ladung von einem Ende des
Kondensators C1 wird zu der Bitleitung BLek entladen, und das Potenzial
fällt auf
den Wert ("L") ab, der geringer
als Vdd ist (QPWCLK 4-5).
-
Als
ein Ergebnis werden die Lesedaten durch das Verifizierungslesepotenzial
Vcgvxx in der Datenspeichereinheit DS1 (ein Ende des Kondensators
C1) gespeichert. D.h. wenn die Schwellenspannung der Speicherzelle
geringer als Vcgvxx ist, wird "L", d.h. "0"-Daten in der Datenspeichereinheit DS1 gespeichert.
Wenn die Schwellenspannung der Speicherzelle höher als Vcgvxx, "H", ist, werden "1"-Daten
in der Datenspeichereinheit DS1 gespeichert.
-
Danach
wird die Routine EXLCK, die in 41 gezeigt
wird, ausgeführt
(QPWCLK5-E). Da die EXCLK-Routine von 41 bereits
beschrieben wurde, wird ihre Beschreibung hier weggelassen.
-
Es
ist zu vermerken, dass die Verifizierungsoperation mit Bezug auf
4256 Speicherzellen gleichzeitig durchgeführt wird, die mit der ausgewählten Wortleitung
WL2-i verbunden sind.
-
4. Andere
-
In
dem vorliegenden Beispiel wurde ein Mehrebenen-NAND-Zellentyp-Flash-Speicher
als das Beispiel beschrieben, aber die vorliegende Erfindung kann
natürlich
auf einen anderen Typ des Mehrebenenspeichers angewendet werden.
Beispiele eines Speicherzellenfeldes können enthalten: NDR-Typ; ADD-Typ
(A. Nozoe: ISSCC, Digest of Technical Papers, 1995); DINOR-Typ (S.
Kobayashi: ISSCC, Digest of Technical Papers, 1995); Virtual-Ground-Array-Typ
(Lee, et al.: Symposium an VLSI Circuits, Digest of Technical Papers,
1994); 3-tr NAND-Typ; und 4-tr NAND-Typ.
-
Außerdem ist
die vorliegende Erfindung nicht auf den Flash-Speicher begrenzt, und kann auch auf z.B.
nicht-flüchtige
Halbleiterspeicher angewendet werden, wie etwa Masken-ROM und EPROM.
-
Wie
oben beschrieben, ist es gemäß dem Beispiel
der vorliegenden Erfindung möglich,
die Datenschaltung des Mehrebenen-Flash-Speichers vorzusehen, auf den
ein Doppelschreibverfahren angewendet werden kann. Selbst wenn die
Daten, die in der Speicherzelle zu speichern sind, in Mehrebene vorliegen,
erhöht
sich in dem Verfahren eine Chipfläche nicht extrem, und die Schwellenspannung
der Speicherzelle kann mit hoher Genauigkeit gesteuert werden.