-
Die
Erfindung bezieht sich auf ein nichtflüchtiges Speicherbauelement, wie
ein Flash-Speicherbauelement, sowie auf ein zugehöriges Programmierverfahren
und ein zugehöriges
Schreibverfahren.
-
Halbleiterspeicher
sind grundlegende Bestandteile der meisten digitalen Logiksysteme.
Fortschritte in der Herstellung von Halbleiterspeichern, die höhere Integrationsdichten
und größere Betriebsgeschwindigkeiten
bereitstellen, können
die Leistungsstandards vieler digitaler Logikfamilien erhöhen. Halbleiterspeicherbauelemente
umfassen flüchtige
Speicher mit wahlfreiem Zugriff (RAMs) und nichtflüchtige Speicherbauelemente.
In RAMs können
Daten gespeichert werden, indem ein bistabiles Flip-Flop-Element,
wie in einem statischen Speicher mit wahlfreiem Zugriff (SRAM),
verwendet wird oder indem eine Kapazität aufgeladen wird, wie in einem dynamischen
Speicher mit wahlfreiem Zugriff (DRAM). In jedem Fall können die
Daten nur ausgelesen werden, solange der Speicherbaustein mit Strom
versorgt wird, hingegen sind die Daten verloren, wenn der Strom
ausgeschaltet wird.
-
Nichtflüchtige Speicher,
wie z. B. MROM-, PROM-, EPROM- und EEPROM-Bauelemente, sind in der
Lage, Daten auch dann zu speichern, wenn die Stromversorgung des
Bauelementes ausgeschaltet ist. Die Datenspeicherung in nichtflüchtigen
Speichern kann dauerhaft oder wiederprogrammierbar sein, abhängig von
der benutzten Herstellungstechnologie. Nichtflüchtige Speicher werden für das Speichern
von Programm- und Mikrocode in einer großen Vielfalt von Anwendungen
in der Computer-, Avionik-, Telekommunikations- und Verbraucherelektronikindustrie
benutzt. Eine Kombination der Speicherarten flüchtiger und nichtflüchtiger
Einzelchip-Speicher ist ebenfalls in Bauelementen wie nichtflüchtigen SRAMs
(nvRAMs) verfügbar,
die in Systemen verwendet werden, die schnelle, programmierbare, nichtflüchtige Speicher
benötigen.
Darüber
hinaus sind Dutzende von Spezialspeicherarchitekturen entwickelt
worden, die zusätzliche
Logikschaltungen beinhalten, um ihre Leistung für anwendungsspezifische Aufgaben
zu optimieren.
-
Es
ist typischerweise für
allgemeine Benutzer von Systemen mit Mesh-ROMs (MROMs), programmierbaren ROMs
(PROMs) oder löschbaren programmierbaren
ROMs (EPROMs) schwierig oder sogar unmöglich, die Information, die
auf den Speicherbauelementen gespeichert ist, zu löschen oder
zu überschreiben.
Auf der anderen Seite können
elektrisch löschbare
programmierbare ROMs (EEPROMs) gelöscht werden und neue Daten
können
darin gespeichert werden. So werden EEPROM-Bausteine heutzutage häufig als
Hilfsspeicher und/oder zum Speichern von Systemprogrammierungen
benutzt, die regelmäßige Aktualisierungen
benötigen.
Flash-EEPROM-Bauelemente haben in der Regel einen höheren Integrationsgrad
als herkömmliche
EEPROM-Bauelemente und werden deshalb oft in Anwendungen benutzt,
die einen großen Hilfsspeicher
benötigen.
Flash-EEPROM-Bauelemente vom NAND-Typ, im Weiteren auch als NAND-Flashspeicher
bezeichnet, haben im Allgemeinen einen höheren Integrationsgrad als Flash-EEPROM-Bauelemente
vom NOR-Typ.
-
1 zeigt
im Blockdiagramm eine Speicherzellenfeldstruktur eines herkömmlichen
nichtflüchtigen
Flashspeicherbauelementes. Wie in
1 gezeigt,
beinhaltet das Speicherzellenfeld des Flashspeicherbauelementes
ein Speichergebiet, um Informationen zu speichern, welches in ein
Hauptfeld
10 und ein Hilfsfeld
20 unterteilt ist.
Während
1 nur einen
einzigen Speicherblock oder einen Teil davon zeigt, weiß der Fachmann,
dass typischerweise ein Speicherzellenfeld mehrere derartige Speicherblöcke enthält. Das
Hilfsfeld
20 kann benutzt werden, um Informationen bezüglich des
Hauptfeldes
10 sowie Informationen wie Fehlerkorrekturcodes,
Bauelementcodes, andere Codes, Seiteninformationen und ähnliches
zu speichern. Das Haupt- und das Hilfsfeld
10 und
20 im
Speicherzellenfeld beinhalten, wie in
1 gezeigt,
jeweils eine Mehrzahl von Zellenketten
1, die auch als
NAND-Ketten bezeichnet werden. Eine in
1 nicht
gezeigte Seitenpufferschaltung ist in dem Flashspeicherbauelement
vorhanden, um Daten in das Speicherzellenfeld einzuspeichern und
aus diesem auszulesen. Es ist bekannt, dass Speicherzellen eines
NAND-Flash-Speicherbauelementes programmiert und gelöscht werden
können,
indem ein Fowler-Nordheim-Tunnelstrom benutzt wird, wie z. B. in
den Patentschriften
US 5.473.563 und
US 5.696.717 offenbart.
-
Um
Daten in das Hauptfeld 10 zu speichern, wird ein Datenladebefehl
an das Flashspeicherbauelement angelegt, und Adressen und Daten
werden dem Flashspeicherbauelement sukzessive zur Verfügung gestellt.
Im Allgemeinen werden in dem Bauelement zu speichernde Daten sequentiell
zu der Seitenpufferschaltung in Byte- oder Worteinheiten transferiert.
Sobald eine Datenseite in die Seitenpufferschaltung geladen ist,
werden die Daten in Antwort auf einen Programmierbefehl in das Speicherzellenfeld
programmiert, das heißt
in Speicherzellen der ausgewählten
Seite.
-
Nachdem
die Speicherzellen einer ausgewählten
Seite programmiert sind, wird eine Information, die anzeigt, ob
die Speicherzellen der ausgewählten
Seite normal programmiert wurden, in einer spezifischen Region,
z. B. einem Hilfsfeld, des Speicherzellenfeldes gespeichert. Solche
Informationen werden oft als Seiteninformation oder als eine Bestätigungsmarkierung
bezeichnet. Die Seiteninformation, die sich auf Seiten bzw. Wortleitungen
WL0 bis WLm bezieht, kann z. B. in einer spezifischen Kette des Hilfsfeldes 20 gespeichert
werden. Zum Beispiel kann die Seiteninformation, die zu einer ersten
Seite WL0 gehört,
in einer Speicherzelle M0' einer
Kette gespeichert werden, die mit einer Hilfsbitleitung SBL0 verbunden
ist. Die Seiteninformation, die zu einer zweiten Seite WL1 gehört, kann
in einer Speicherzelle M1' der
Kette gespeichert werden, die mit der Hilfsbitleitung SBL0 verbunden
ist, und die Information, die zu einer letzten Seite WLm gehört, kann in
einer Speicherzelle Mm' der
Kette gespeichert werden, die mit der Hilfsbitleitung SBL0 verbunden
ist.
-
Wie
sich aus der vorstehenden Beschreibung ergibt, sind zwei Programmieroperationen
nötig,
um Seitendaten zu speichern. Daher wer den, wenn ein Speicherzellenfeld
32 Seiten bzw. Wortleitungen hat, 64 Programmieroperationen benötigt, um alle
32 Datenseiten zu speichern.
-
Die
Offenlegungsschrift
JP
10-040691 A offenbart ein Funktionstestverfahren für ein Halbleiterspeicherbauelement,
bei dem in zwei Schritten jeweils alle geradzahligen bzw. alle ungeradzahligen Wortleitungen
gemäß einer
spezifischen Kombination zweier zugehöriger Steuersignale aktiviert
werden, um ein Schachbrettmuster von Testdaten in einfacher Weise
mit hoher Geschwindigkeit zu erhalten.
-
Aufgabe
der Erfindung ist es, ein nichtflüchtiges Speicherbauelement
und zugehörige
Programmier- und Schreibverfahren bereitzustellen, die eine vergleichsweise
hohe Leistungsfähigkeit
bzw. Betriebsgeschwindigkeit ermöglichen.
-
Diese
Aufgabe wird durch ein Programmierverfahren mit den Merkmalen des
Anspruchs 1, ein nichtflüchtiges
Speicherbauelement mit den Merkmalen des Anspruchs 13 und ein Schreibverfahren mit
den Merk malen des Anspruchs 30 gelöst. Vorteilhafte Weiterbildungen
der Erfindung sind in den Unteransprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie das zu deren besserem Verständnis oben erläuterte herkömmliche Ausführungsbeispiel
sind in den Zeichnungen dargestellt, in denen zeigen:
-
1 ein
Schaltbild einer Speicherzellenfeldstruktur eines herkömmlichen
nichtflüchtigen Speicherbauelementes,
-
2 ein
schematisches Blockdiagramm eines nichtflüchtigen Speicherbauelementes
gemäß der Erfindung,
-
3 ein
schematisches Blockdiagramm einer im Speicherbauelement von 2 verwendbaren
Zeilendecoderschaltung,
-
4 ein
Schaltbild einer in der Zeilendecoderschaltung von 3 verwendbaren
Seitendecoderschaltung,
-
5 ein
Zeitdiagramm, das ein Mehrseitenprogrammierverfahren gemäß der Erfindung
veranschaulicht, und
-
6 ein
Schaltbild einer erfindungsgemäßen Speicherzellenfeldstruktur
mit einem Hilfsfeld, das unter Verwendung des Mehrseitenprogrammierverfahrens
gemäß der Erfindung
programmiert werden kann.
-
Ausführungsformen
der Erfindung werden im Folgenden eingehender unter Bezugnahme auf
die entsprechenden Zeichnungen beschrieben. Gleiche Bezugszeichen
bezeichnen durchgängig
identische oder gleichartige Elemente. Es versteht sich, dass wenn
ein Element als „verbun den" oder „gekoppelt" mit einem anderen
Element bezeichnet wird, dieses direkt mit dem anderen Element verbunden
oder gekoppelt sein kann oder ein oder mehrere zwischenliegende
Elemente vorhanden sein können.
Im Gegensatz dazu sind, wenn ein Element als „direkt verbunden" oder „direkt
gekoppelt" mit einem
anderen Element bezeichnet wird, keine zwischenliegende Elemente
vorhanden.
-
2 zeigt
schematisch ein Flashspeicherbauelement vom NAND-Typ gemäß der Erfindung. Es
versteht sich, dass die Erfindung nicht auf Flashspeicherbauelemente
vom NAND-Typ beschränkt
ist, sondern statt dessen auch für
andere Halbleiterspeicherbausteine, wie MROM-, PROM-, FRAM- und NOR-Flashspeicher-Bauelemente,
angewendet werden kann.
-
Das
nichtflüchtige
Speicherbauelement 100 von 2 beinhaltet
ein Speicherzellenfeld 110, um Daten zu speichern. Das
Speicherzellenfeld 110 kann eine Mehrzahl von Speicherblöcken umfassen. Jeder
Speicherblock ist in ein Hauptfeld 110M und ein Hilfsfeld 110S unterteilt.
Das Haupt- und das Hilfsfeld 110M und 110S jedes
Speicherblocks können
wie in 1 gezeigt konfiguriert sein, worauf verwiesen
werden kann. Das nichtflüchtige
Speicherbauelement 100 von 2 beinhaltet
weiter ein Adresspufferschaltung 120, eine Zeilendecoderschaltung
(X-DEC) 130, eine Steuerlogik 140, eine Seitenpufferschaltung 150,
eine Spaltenpufferschaltung (Y-DEC) 160, eine Spaltengatterschaltung 170, eine
Eingabe/Ausgabe-Pufferschaltung 180 und eine Bestanden/Nichtbestanden-Prüfschaltung 190,
im Folgenden auch Fehlertestschaltung bezeichnet.
-
Die
Adresspufferschaltung 120 wird durch die Steuerlogik 140 gesteuert
und empfängt
Spalten- und Zeilenadressen über
Eingabe/Ausgabe-Pins I/O. Die Zeilendecoderschaltung 130 wird
durch die Steuerlogik 140 gesteuert und arbeitet in Antwort
auf eine Zeilenadresse, die sie von der Adressenpufferschaltung 120 empfängt. Die
Zeilenadresse kann eine Blockadresse umfassen, um einen Speicherblock
auszuwählen,
und eine Seitenadresse, um Seiten bzw. Wortleitungen des ausgewählten Speicherblocks auszuwählen. Die
Zeilendecoderschaltung 130 antwortet auf die empfangene
Zeilenadresse, wählt
einen der Speicherblöcke
aus und steuert Seiten des ausgewählten Speicherblocks mit Wortleitungsspannungen
an. Die Zeilendecoderschaltung 130 kann ein Register 131 beinhalten,
das so konfiguriert ist, dass es temporär Seitenadressen speichert,
die zwei oder mehr Seiten eines Speicherblocks auswählen, wenn
das Bauelement in einem Mehrseitenprogrammiermodus betrieben wird.
Während
des Mehrseitenprogrammierbetriebs können die Seitenadressen in dem
Register 131 dazu benutzt werden, gleichzeitig Seiten bzw.
Wortleitungen eines ausgewählten Speicherblocks
zu aktivieren. Solch eine gleichzeitige Aktivierung ausgewählter Wortleitungen
kann z. B. durch ein gleichzeitiges Anlegen einer Programmierspannung
an die Wortleitungen, die durch die Seitenadressen in dem Register 131 ausgewählt werden,
durchgeführt
werden.
-
Weiter
in Bezug auf 2 beinhaltet die Seitenpufferschaltung 150 eine
Vielzahl von nicht gezeigten Seitenpuffern, die mit entsprechenden
Bitleitungen verbunden sind, welche von allen Speicherblöcken geteilt
werden, und agiert abhängig
vom Betriebsmodus als Lese- bzw. Abtastverstärker und als Schreibtreiber.
Zum Beispiel liest während
einer Leseoperation die Seitenpufferschaltung 150 über die Bitleitungen
Daten aus einem ausgewählten Speicherblock,
d. h. aus einem Hauptfeld oder einem Hilfsfeld. Die Seitenpufferschaltung 150 puffert
zu programmierende Daten und Treiberbitleitungen mit einer Programmierspannung,
z. B. einer Massespannung, oder einer programmierverhindernden Spannung,
z. B. einer Versorgungsspannung, basierend auf den gepufferten Daten.
Die Spaltendecoderschaltung 160 decodiert eine Spaltenadresse
von der Adresspufferschaltung 120, und die Spaltengatterschaltung 170 wählt in Reaktion
auf die decodierten Adresssignale der Spaltendeco derschaltung 160 Seitenpuffer
der Seitenpufferschaltung 150 in einer Bitorganisationseinheit
aus. Daten, die von der Seitenpufferschaltung 150 gelesen
wurden, werden an eine externe Schaltung über die Spaltengatterschaltung 170 und
die Eingabe/Ausgabe-Pufferschaltung 180 ausgegeben. Daten,
die programmiert werden sollen, werden an die Seitenpufferschaltung 150 über die
Spaltengatterschaltung 170 und die Eingabe/Ausgabe-Pufferschaltung 180 übergeben.
Die Fehlertestschaltung 190 empfängt Datenbits, die von der
Seitenpufferschaltung 150 während einer Programmier-/Löschverifikationsoperation
gelesen wurden, und bestimmt, ob die empfangenen Datenbits den gleichen
Wert haben, das heißt
einen Bestanden-Datenwert. Das Ergebnis der Fehlertestschaltung 190 wird
der Steuerlogik 140 übergegeben.
-
Beispielhafte
Seitenpuffer und Fehlertestschaltungen sind in der Patentschrift
US 5.299.162 offenbart.
-
Obwohl
in den Zeichnungen nicht gezeigt, beinhaltet die Spaltendecoderschaltung 160 einen Adresszähler, welcher
schrittweise Spaltenadressen durch sequentielles Erhöhen einer
anfänglichen Spaltenadresse
generiert. Das bedeutet, dass Seitendaten, die programmiert oder
gelesen werden sollen, sequentiell über die Spaltengatterschaltung 170 in
einer Bitorganisationseinheit übertragen
werden.
-
Weiter
in Bezug auf die 2, ist die Steuerlogik 140 ausgebildet,
einen Mehrseitenprogrammiermodus zu steuern, bei dem zwei oder mehr Wortleitungen
in einem Speicherblock simultan aktiviert werden. Die Steuerlogik 140 steuert
auch einen Einzelseitenprogrammiermodus, bei dem nur eine einzige
Wortleitung in einem Speicherblock zu der selben Zeit aktiviert
wird. Die Steuerlogik 140 bestimmt das Adress-, Befehls- und Dateneingabetiming
in Antwort auf Steuersignale, wie CLE, ALE, /CE, /RE, und /WE. In
dem Mehrseitenprogrammiermodus steuert die Steuerlogik 140 die
Adresspufferschaltung 120 und die Zeilendecoderschaltung 130 so,
dass Seitenadressen zum Auswählen
einer oder mehrerer bzw. aller Seiten in einem Speicherblock sequentiell
in dem Register 131 der Zeilendecoderschaltung 130 gespeichert
werden. Die Steuerlogik 140 steuert die Zeilendecoderschaltung 130 so,
dass die Wortleitungen, die den Seitenadressen in dem Register 131 entsprechen,
simultan getrieben bzw. aktiviert werden. Dies wird unten detaillierter
beschrieben.
-
Wie
oben beschrieben, unterstützt
das nichtflüchtige
Speicherbauelement 100 einen Mehrseitenprogrammiermodus,
in dem mehrere Wortleitungen in einem Speicherblock zur selben Zeit
aktiviert werden. In anderen Worten, während des Mehrseitenprogrammiermodus
werden alle oder eine bzw. einige der Wortleitungen in dem Speicherblock
simultan durch eine Programmierspannung getrieben. Um die Wortleitungen
simultan zu aktivieren, ist das Register 131 vorgesehen,
z. B. in der Zeilendecoderschaltung 130, und Seitenadressen
der Wortleitungen, die in dem Speicherblock auszuwählen sind,
werden in dem Register 131 unter der Steuerung der Steuerlogik 140 temporär gespeichert.
-
3 zeigt
schematisch eine mögliche
Realisierung der Zeilendecoderschaltung 130 aus 2. Wie
in 3 gezeigt ist, umfasst die Zeilendecoderschaltung 130 in
diesem Fall eine Umschaltschaltung 132, eine Vordecoderschaltung 133,
eine Blockdecoderschaltung 134 und eine Seitendecoderschaltung 135.
Die Umschaltschaltung 132 beinhaltet Transistoren P0 bis
Pm+2, die einer Masseauswahlleitung, je einer der Wortleitungen
WLm bis WL0 bzw. einer Kettenauswahlleitung SSL zugeordnet sind.
Die Kettenauswahlleitung SSI, die Wortleitungen WLm bis WL0 und
die Masseauswahlleitung GSL sind über die entsprechenden Transistoren
P0 bis Pm+2 mit Auswahlleitungen SS, Sm bis S0 bzw. GS verbunden. Die
Vordecoderschaltung 133 decodiert eine Zeilenadresse von
einer Adresspufferschaltung, wie der Pufferschaltung 120 in 2.
Die decodierte Adresse umfasst eine Blockadresse und eine Seitenadresse.
Die Blockadresse DRAi der decodierten Adresse wird an die Blockdecoderschaltung 134 ausgegeben, und
die Seitenadresse DRAj derselben wird an die Seitendecoderschaltung 135 ausgegeben.
-
Die
Blockdecoderschaltung 134 aktiviert/deaktiviert ein Blockauswahlsignal
BLK0 in Antwort auf die Blockadresse DRAi. Die Transistoren P0 bis
Pm+2 werden gemeinsam von dem Blockauswahlsignal BLK0 gesteuert.
Das aktivierte Blockauswahlsignal BLK0 besitzt eine genügend hohe
Spannung, so dass alle hohen Spannungen auf den Auswahlleitungen
S0 bis Sm des Seitendecoders 135 an die entsprechende Wortleitung
WL0 bis WLm ohne Spannungsverlust übergeben werden. Die Blockdecoderschaltung 134 steuert
auch die Aktivierung der Auswahlsignale SS und GS in Antwort auf
die Blockadresse DRAi. Die Seitendecoderschaltung 135 wählt die
Auswahlleitungen S0 bis Sm, die den Wortleitungen WL0 bis WLm zugeordnet
sind, in Antwort auf die Seitenadresse DRAj der Vordecoderschaltung 133 aus.
Zum Beispiel liefert die Seitendecoderschaltung 135 in
einem Einzelseitenprogrammiermodus eine Programmierspannung für eine Auswahlleitung
gemäß einer
Seitenadresse und eine Passierspannung zu den verbleibenden Auswahlleitungen.
In einem Lesemodus beaufschlagt die Seitendecoderschaltung 135 eine
Auswahlleitung entsprechend einer Seitenadresse mit einer Lesespannung und
die verbleibenden Auswahlleitungen mit einer Passierspannung. Die
Seitendecoderschaltung 135 beinhaltet ein Register 131,
um Seitenadressen zu speichern, so dass eine Vielzahl von Wortleitungen
in einem Mehrseitenprogrammiermodus, der unten eingehender beschrieben
wird, simultan ausgewählt bzw.
aktiviert werden.
-
4 zeigt
eine Seitendecoderschaltung gemäß der Erfindung,
die z. B. als Teil der Seitendecoderschaltung 135 von 3 verwendet
werden kann. In 4 ist nur der Teil 135a der
Seitendecoderschaltung gezeigt, der eine einzige Auswahlleitung S0
beinhaltet. Der Teil der Seitendecoderschaltung 135 von 3,
der die übrigen
Auswahlleitungen S1 bis Sm beinhaltet, kann in gleicher Weise aufgebaut sein.
-
Die
Seitendecoderschaltung
135a von
4 umfasst
ein NAND-Gatter G1, PMOS-Transistoren MP1 und MP2, einen NMOS-Transistor
MN1, einen Zwischenspeicher LAT bzw. ein Register mit Invertern
INV1 und INV2, Transmissionsgatter TG1 und TG2 und einen Treiber
DRV. Die Zwischenspeicher LAT der Seitendecoderschaltung
135a bilden
ein Register
131, wie in
2 gezeigt.
Eine decodierte Seitenadresse DRAj der Vordecoderschaltung
133 in
3 wird
an das NAND-Gatter G1 angelegt. Die PMOS-Transistoren MP1 und MP2
sind in Serie zwischen die Spannungsversorgung und einen Eingangsknoten
ND1 des Zwischenspeichers LAT geschaltet. Ein Gate des PMOS-Transistors
MP1 ist an einen Ausgang des NAND-Gatters G1 gekoppelt, und ein
Gate des PMOS-Transistors MP2 ist so gekoppelt, dass es ein Steuersignal
nADD_IN empfängt.
Der NMOS-Transistor MN1 ist zwischen den Eingangsknoten ND1 des
Zwischenspeichers LAT und die Massespannung eingeschleift und wird
durch ein Steuersignal RST gesteuert. Das Transmissionsgatter TG1
wird durch ein Steuersignal MIT_EN gesteuert und übergibt
ein Ausgangssignal des Zwischenspeichers LAT an den Treiber DRV.
Das Transmissionsgatter TG2 wird durch ein Steuersignal NOR_EN gesteuert
und übergibt
ein Ausgangssignal des NAND-Gatters G1 an den Treiber DRV. Der Treiber
DRV treibt die Auswahlleitung S0 in Antwort auf ein Eingangssignal.
Zum Beispiel wird die Auswahlleitung S0 im Mehrseitenprogrammiermodus
durch eine Programmierspannung getrieben. Der Treiber DRV kann mittels
eines Pegelschiebers, einer Schaltpumpe oder dergleichen realisiert
sein. Ein beispielhafter Treiber ist in der oben angegebenen Patentschrift
US 5.473.563 offenbart.
Die Steuersignale nADD_IN, RST, NOR_EN und MLT_EN können z.
B. durch die Steuerlogik
140 in
2 erzeugt
werden.
-
5 ist
ein Zeitdiagramm, das eine Mehrseitenprogrammieroperation eines
nichtflüchtigen Speicherbauelementes
gemäß bestimmter
Ausführungen
der Erfindung zeigt. Unten wird eine Mehrseitenprogrammoperation
des nichtflüchtigen
Speicherbauelementes in Bezug auf die zugehörigen Zeichnungen eingehender
beschrieben. Information, die sich auf das Hauptfeld bezieht, wie
z. B. Seiteninformation, wird im Mehrseitenprogrammiermodus in das Hilfsfeld
programmiert. Im Unterschied zu herkömmlichen Speicherschaltungen
speichert das vorliegende Speicherelement simultan Seiteninformation
bezüglich
aller Seiten eines Speicherblocks im Hilfsfeld. Um die Beschreibung
zu vereinfachen, wird der Mehrseitenprogrammierbetrieb in Bezug
auf die einzelne Seitendecoderschaltung 135a von 4 beschrieben.
-
Wenn
ein erster Befehl CMD1 als Mehrseitenauswahlbefehl empfangen wird,
aktiviert die Steuerlogik 140 das Steuersignal RST. Der
NMOS-Transistor
MN1 im Seitendecoder 135a wird durch die Aktivierung des
Steuersignals RST angeschaltet, so dass der Zwischenspeicher LAT
zurückgesetzt
wird. Zu diesem Zeitpunkt sind die Steuersignale MIT_EN und NOR_EN
auf einem niedrigen Pegel, so dass die Transmissionsgatter TG1 und
TG2 deaktiviert sind. Sodann wird eine Zeilenadresse ADD1, die einen Speicherblock
und Wortleitungen auswählt,
an die Eingabe/Ausgabe-eins I/Oi angelegt. Die Zeilenadresse ADD1
kann eine Seitenadresse beinhalten, um eine Seite oder eine Wortleitung
auszuwählen, und
eine Blockadresse, um einen Speicherblock auszuwählen. Die empfangene Zeilenadresse
kann durch die Vordecoderschaltung 133 decodiert werden
und die decodierte Blockadresse DRAi wird an die Blockdecoderschaltung 134 übergeben.
Zur genau oder etwa gleichen Zeit wird die decodierte Seitenadresse
DRAj dem NAND-Gatter
G1 des Seitendecoders 135a bereitgestellt.
-
Wie
in 5 dargestellt ist, aktiviert, wenn die Zeilenadresse
empfangen wurde, die Steuerlogik 140 das Steuersignal nADD_IN.
Wenn die deco dierten Seitenadresssignale alle „hoch" sind, wird der Ausgang des NAND-Gatters
G1 „niedrig" und der PMOS-Transistor
MP1 wird leitend. Demgemäß geht,
wenn das Steuersignal nADD_IN aktiviert wird, der Eingangsknoten
ND1 des Zwischenspeichers LAT von „niedrig" auf „hoch". Zu diesem Zeitpunkt wird, da die Transmissionsgatter
TG1 und TG2 deaktiviert sind, die Auswahlleitung S0 nicht durch
den Treiber DRV getrieben.
-
Wenn
eine Zeilenadresse dem ersten Befehl CMD1 als ein Mehrseitenauswahlbefehl
folgt, wird eine Seitenadresse einer empfangenen Zeilenadresse im
Zwischenspeicher LAT des Seitendecoders 135a gemäß der Steuerung
der Steuerlogik 140 gespeichert. Diese Operation wird wiederholt,
bis die Seitenadressen der Seiten oder Wortleitungen, die ausgewählt werden
sollen, alle in den entsprechenden Seitendecodern gespeichert sind.
-
Wie
in 5 gezeigt, wird nach Eingabe des ersten Befehls
CMD1 ein zweiter Befehl CMD2 empfangen, um eine Seitenadresse in
einer der Seitendecoderschaltungen 135 zu speichern. Der
zweite Befehl CMD2 ist ein Befehl, der anzeigt, dass Adressen nacheinander
empfangen werden sollen. Alternativ kann dazu auch der erste Befehl
CMD1 statt des zweiten Befehls CMD2 benutzt werden. In Antwort auf
den Empfang eines dritten Befehls CMD3, der angibt, dass die Eingabe
von Adressen und Daten abgeschlossen ist, werden Daten, die programmiert werden
sollen, über
die Eingabe/Ausgabe-Pufferschaltung 180 und die Spaltengatterschaltung 170 in die
Seitenpufferschaltung 150 geladen. Eine Adresse, die dem
dritten Befehl CMD3 folgt, umfasst eine Zeilenadresse und eine Spaltenadresse.
Die Spaltenadresse wird benutzt, um Spalten des Hilfsfeldes auszuwählen. Das
heißt,
die zu programmierenden Daten werden in zu dem Hilfsfeld gehörige Seitenpuffer
der Seitenpufferschaltung 150 geladen.
-
In
entsprechenden Ausführungen
der Erfindung sind die zu programmierenden Daten Seiteninformationen
darüber,
dass Seiten bzw. Wortleitungen eines Speicherblocks programmiert
worden sind. Demgemäß können alle
Daten, die programmiert werden sollen, denselben Datenwert haben.
Die Anzahl von Hilfsbitleitungen des Hilfsfeldes, die im Mehrseitenprogrammiermodus
ausgewählt
werden, kann mit der Anzahl der Wortleitungen des Speicherblocks
identisch sein. Weiter versteht es sich, dass die zu programmierenden
Daten, nicht auf Seiteninformationen beschränkt sind, die angeben, ob Seiten oder
Wortleitungen eines Speicherblocks programmiert sind, sondern sich
darüber
hinaus auf andere Arten von Daten erstrecken können, die in dem Hilfsfeld
gespeichert werden.
-
Wenn
die Seitenadressen der Wortleitungen, die ausgewählt werden sollen, alle in
den entsprechenden Seitendecodern gespeichert worden sind, aktiviert
die Steuerlogik 140 das Steuersignal MLT_EN als einen Mehrseitenprogrammierbefehl
in Antwort auf einen vierten Befehl CMD4. Wenn das Steuersignal
MIT_EN aktiviert worden ist, wird der Wert, der in dem Zwischenspeicher
LAT gespeichert ist, über
das Transmissionsgatter TG1 zu dem Treiber DRV transferiert. In
Antwort auf dieses Eingabesignal treibt der Treiber DRV die Auswahlleitung
S0 mit einer Programmierspannung. In anderen Worten, die Auswahlleitungen,
die zu den Seitendecodern gehören,
in denen Seitenadressen gespeichert sind, werden gleichzeitig mit
einer Programmierspannung getrieben, während diejenigen Auswahlleitungen,
die zu den Seitendecodern gehören,
in denen keine Seitenadressen gespeichert sind, mit einer Passierspannung
getrieben werden.
-
Auswahlsignale,
z. B. S0 und S1, welche die Programmierspannung haben, und Auswahlsignale, z.
B. S2 bis Sm, welche die Passierspannung haben, werden mittels der
Umschaltschaltung 132 zu ihren entsprechenden Wortleitungen
WL0 bis WLm transferiert. Zur selben Zeit wer den Hilfsbitleitungen
mit einer Programmierspannung, z. B. einer Massespannung, oder einer
programmierverhindernden Spannung, z. B. einer Versorgungsspannung,
gemäß den Datenwerten
beaufschlagt, die in die entsprechenden Seitenpuffern des Hilfsfeldes
geladen wurden. Danach werden die Speicherzellen, welche an Schnittpunkten
von aktivierten Wortleitungen, von denen jede die Programmierspannung
hat, mit den Hilfsbitleitungen angeordnet sind, gleichzeitig programmiert.
Während
der Programmierzeit wird ein R/nB-Signal auf einen niedrigen Zustand
gesetzt.
-
Zum
Beispiel sei angenommen, dass zwei Wortleitungen W0 und WL1 gleichzeitig
ausgewählt werden
und dass die Hilfsbitleitungen SBL0 bis SBLx entsprechend den Wortleitungen
WL0 bis WLm eines Speicherblocks ausgewählt werden. Unter dieser Annahme
werden, wie in 6 gezeigt, die gleichen Daten
in die Speicherzellen M0 und M1 programmiert, die an den Schnittpunkten
der aktivierten Wortleitungen WL0 und WL1 mit den Hilfsbitleitungen SBL0
bis SBLx angeordnet bzw. mit den Hilfsbitleitungen SBL0 bis SBLx
verbunden sind. Alternativ können
die gleichen Daten in die Speicherzellen M0 und M1 programmiert
werden, die sich an den Schnittpunkten der aktivierten Wortleitungen
WL0 und WL1 mit den Hilfsbitleitungen SBL0 und SBL1 befinden, während die
Speicherzellen M0 und M1, die sich an den Schnittpunkten der aktivierten
Wortleitungen WL0 und WL1 mit den übrigen Hilfsbitleitungen SBL2
bis SBLx befinden, programmiergesperrt sind. In anderen Worten sind
1-Bit-Daten in einer
Kette gespeichert und gleichermaßen in zwei Speicherzellen
M0 und M1 gespeichert. Deshalb kann die Datenzuverlässigkeit
erhöht
werden. Für
32 zu programmierende Seiten wird eine Programmieroperation 33 Mal
wiederholt. Diese Reduzierung der Anzahl an Programmieroperationen
verglichen mit herkömmlichen
nichtflüchtigen
Speicherbausteinen kann die Betriebsgeschwindigkeit des Bauelementes erhöhen.
-
In
den oben beschriebenen Ausführungsformen
der Erfindung werden Daten, die in dem Hilfsfeld gespeichert werden
sollen, in die Seitenpufferschaltung während des Zeitintervalls geladen,
in welchem die letzte Zeilenadresse empfangen wird. Es versteht sich
jedoch, dass Daten, die in das Hilfsfeld gespeichert werden sollen,
immer dann in die Seitenpufferschaltung geladen werden können, wenn
eine Adresse empfangen wird. In diesem Fall wird der dritte Befehl
CMD3 anstatt des zweiten Befehls CMD2 benutzt, und die Adressen
und Daten werden auf den dritten Befehl folgend empfangen. Hierbei
umfasst die empfangene Adresse Spalten- und Zeilenadressen. Die
Zeilenadresse wird benutzt, um eine Seite und einen Speicherblock
auszuwählen,
und die Spaltenadresse wird benutzt, um Spalten des Hilfsfeldes auszuwählen.
-
Wie
vorstehend angemerkt, werden bei einem herkömmlichen Programmiervorgang,
wie er oben bezüglich
der 1 beschrieben wurde, Datenwerte, die in Speicherzellen
einer Kette gespeichert sind, die mit einer Hilfsbitleitung SBL0
verbunden ist, dadurch ausgelesen, dass eine Leseoperation entsprechend
der Seitenzahl wiederholt wird. Dies kann die Leistung oder die
Betriebsgeschwindigkeit des Speicherbauelementes begrenzen. Auf
der anderen Seite wird die Seiteninformation eines Hilfsfeldes, das
entsprechend dem Mehrseitenprogrammierverfahren der Erfindung programmiert
wird, auf einmal ausgelesen. Das heißt, die Seiteninformation wird aus
dem Hilfsfeld dadurch ausgelesen, dass Seitenadressen in der oben
beschriebenen Weise gespeichert und simultan Wortleitungen entsprechend
den gespeicherten Seitenadressen aktiviert werden.
-
Wie
oben erläutert,
werden gemäß der Erfindung
Adressen empfangen, die Zeilen des Speicherblocks auswählen. Wenn
die nichtflüchtigen Speicherbauelemente
der Erfindung im Mehrseitenprogrammiermodus betrieben werden, können diese empfangenen
Adressen temporär
gespeichert werden, um die gleichzeitige Aktivierung jeder ausgewählten Zeile
zu erleichtern. Es versteht sich, dass eine Anzahl verschiedener
Mechanismen benutzt werden kann, um diese empfangenen Adressen temporär zu speichern.
In entsprechenden Ausführungsformen
der Erfindung kann die tatsächliche
Adresse gespeichert werden. In anderen Ausführungsformen der Erfindung
können
hingegen Daten gespeichert werden, die eine bestimmte Adresse angeben
bzw. bezeichnen. Zum Beispiel kann ein Bit in einer Registerposition,
die einer bestimmten empfangenen Adresse entspricht, auf „temporäres Speichern" der empfangenen
Adresse gesetzt werden. Daraus ist ersichtlich, dass die Bezugnahme
auf das „Speichern" einer empfangenen
Adresse sowohl Fälle
betrifft, in denen die tatsächliche
Adresse gespeichert wird, als auch Fälle, in denen Daten gespeichert
werden, welche die empfangene Adressen identifizieren bzw. für diese
indikativ sind.