-
Die vorliegende Erfindung betrifft ein Verfahren zum Programmieren eines Flash-Speicherelements und ein Flash-Speicherelement.
-
Ein nichtflüchtiges Speicherelement, das als ein Flash-EEPROM (Electrically Erasable Programmable Read Only Memory) bekannt ist, beinhaltet typischerweise ein Speicherzellenfeld oder eine Speicherzellenanordnung, das bzw. die Speicherzellen mit einem Floating-Gate-Transistor beinhaltet, die als Speicherblöcke organisiert sind. Jeder der Speicherblöcke beinhaltet Stränge der Floating-Gate-Transistoren (d. h. „NAND-Stränge” – „NAND Strings”). Die Floating-Gate-Transistoren sind seriell zwischen einen Strang-Auswahltransistor und einen Masse-Auswahltransistor eingeschleift, die in jedem Strang angeordnet sind. Eine Anzahl von Wortleitungen ist derart angeordnet, dass sie von den NAND-Strängen gekreuzt oder geschnitten werden. Jede der Wortleitungen ist mit einem Steuer-Gate eines entsprechenden Floating-Gate-Transistors jedes NAND-Strangs verbunden.
-
Flash-Speicherelemente und Programmierverfahren sind beispielsweise im
US-Patent Nr. 5,568,420 ,
US-Patent Nr. 5,606,527 ,
US-Patent Nr. 5,661,682 ,
US-Patent Nr. 5,696,717 und
US-Patent Nr. 6,236,594 beschrieben.
-
Bezug nehmend auf 1A, die einen herkömmlichen Programmiervorgang eines Flash-Speicherelements zeigt, werden Programmierdaten in ein Register eines Flash-Speicherelements geladen (Block 10). Wenn die Programmierdaten geladen sind, wird ein Speicherblock aus einer Anzahl von Speicherblöcken gemäß einer eingegebenen Blockadresse ausgewählt (Block 20). Der Speicherblock wird ausgewählt, indem eine hohe Spannung an eine Block-Wortleitung angelegt wird, so dass eine Pass-Spannung und eine Programmierspannung ohne einen Spannungsabfall an die Wortleitungen angelegt werden. Das vorstehend beschriebene Verfahren zum Auswählen eines Speicherblocks ist in den oben genannten Referenzen erläutert, und auf eine weitergehende Erläuterung wird vorliegend verzichtet.
-
Nachdem der Speicherblock ausgewählt wurde, wird eine Programmieroperation ausgeführt (Block 30). Wie dem Fachmann hinreichend bekannt ist, kann die Programmieroperation ausgeführt werden, indem Bitleitungen nach Maßgabe von Programmierdaten auf eine Bitleitungs-Vorspannung gesetzt werden und indem anschließend eine Programmierspannung und eine Pass-Spannung durch Auswahlleitungen an entsprechende Wortleitungen des ausgewählten Speicherblocks angelegt werden. Im Allgemeinen wird, nachdem die Wortleitungen während eines Wortleitungs-Aktivierungsintervalls mit der Pass-Spannung getrieben wurden, nur eine ausgewählte Wortleitung während eines Programmier-Ausführungsintervalls mit der Programmierspannung getrieben. Im Anschluss an das Programmier-Ausführungsintervall wird bestimmt, ob alle Speicherzellen programmiert sind (Block 40). Wenn alle Speicherzellen programmiert sind, wird der Programmiervorgang beendet. Wenn eine oder mehrere der Speicherzellen nicht programmiert sind, werden die Blöcke 30 und 40 innerhalb einer vorbestimmten Programmierschleifenanzahl wiederholt.
-
Ein Verfahren zum Treiben einer Wortleitung gemäß dem vorstehend beschriebenen Programmierverfahren wird nachfolgend unter Bezugnahme auf 1B beschrieben. Zunächst wird eine Block-Wortleitung BLKWL mit einer hohen Spannung getrieben, um eine Programm-/Pass-Spannung an eine Wortleitung anzulegen. Auf diese Weise sind eine Auswahlleitung Si und eine Wortleitung WLi über einen Schalttransistor STi elektrisch miteinander verbunden. Unter dieser Bedingung wird die Auswahlleitung Si durch eine Pumpe in einem Hochspannungs-Erzeugungsschaltkreis mit der Programmier-/Pass-Spannung betrieben. In diesem Fall kann die Pumpe des Hochspannungs-Erzeugungsschaltkreises augenblicklich jede parasitäre Kapazität der Auswahlleitung Si und der Wortleitung WLi laden. Dies kann ein Hindernis bezüglich der Verbesserung einer Programmiergeschwindigkeit darstellen. Darüber hinaus dauert es länger, eine Wortleitung zu laden, wenn die Anzahl der mit der Wortleitung WLi verbundenen Speicherzellen erhöht ist. Ein solches Problem kann gelöst werden, indem eine Pumpkapazität erhöht wird. Dies kann jedoch zur Vergrößerung einer Chipfläche führen.
-
Der Erfindung liegt die technische Aufgabe zugrunde, ein Verfahren zum Programmieren eines Flash-Speicherelements und ein Flash-Speicherelement anzugeben, durch die sich eine Programmiergeschwindigkeit ohne Vergrößerung einer Chipfläche verbessern lässt.
-
Die Erfindung löst diese Aufgabe durch ein Verfahren zum Programmieren eines Flash-Speicherelements mit den Merkmalen des Patentanspruchs 1 sowie durch ein Flash-Speicherelement mit den Merkmalen des Patentanspruchs 12.
-
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme in die vorliegende Beschreibung aufgenommen wird, um unnötige Textwiederholungen zu vermeiden.
-
Ausgestaltungen der Erfindung können Verfahren/Schaltkreise zum Programmieren von Flash-Speicherelementen bereitstellen, wobei überlappende Bitleitungs-Einstellintervalle und Wortleitungs-Aktivierungsintervalle verwendet werden.
-
Vorteilhafte Ausgestaltungen der Erfindung, die nachfolgend detailliert beschrieben sind, sowie die oben zur Erleichterung des Verständnisses der Erfindung diskutierten Ausgestaltungen des Standes der Technik, sind in der Zeichnung dargestellt. Es zeigt:
-
1A ein Ablaufdiagramm eines herkömmlichen Programmierverfahrens eines Flash-Speicherelements;
-
1B ein Diagramm zum Beschreiben einer Wortleitungs-Treibart gemäß dem Programmierverfahren in 1A;
-
2A ein Ablaufdiagramm zur Darstellung einer Programmierung von Flash-Speicherelementen gemäß Ausgestaltungen der vorliegenden Erfindung;
-
2B ein Diagramm zur Darstellung einer Programmierschleife für Flash-Speicherelemente gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
3 ein Blockdiagramm zur Darstellung eines Flash-Speicherelements gemäß einigen Ausgestaltungen der vorliegenden Erfindung;
-
4 ein schematisches Blockdiagramm zur Darstellung eines zweiten Dekodier- und Treiberschaltkreises in 3;
-
5 ein Schaltungsdiagramm zur Darstellung eines Seitenpuffers in 4;
-
6 ein Zeitablaufdiagramm zur Darstellung eines Programmiervorgangs eines Flash-Speicherelements gemäß einigen Ausgestaltungen der vorliegenden Erfindung; und
-
7 ein Diagramm zur Darstellung einer Wortleitungs-Treibart gemäß dem Programmiervorgang in 6.
-
Es sei darauf hingewiesen, dass ein als mit einem anderen Element „verbunden” oder „gekoppelt” beschriebenes Element entweder direkt mit dem anderen Element gekoppelt sein kann oder dass Zwischenelemente vorhanden sein können. Im Gegensatz hierzu sind dann, wenn ein Element als mit einem anderen Element „direkt verbunden” oder „direkt gekoppelt” beschrieben ist, keine Zwischenelemente vorhanden.
-
2A ist ein Ablaufdiagramm zur Darstellung einer Programmierung eines Flash-Speicherelements gemäß einigen Ausgestaltungen der vorliegenden Erfindung, und 2B zeigt eine Programmierschleife für ein Flash-Speicherelement gemäß einigen Ausgestaltungen der vorliegenden Erfindung.
-
Bezug nehmend auf 2A beinhaltet ein Programmierverfahren für ein Flash-Speicherelement bei einigen Ausgestaltungen der Erfindung: ein Laden von Auswahlleitungen mit einer ersten Spannung, während Bitleitungen in Übereinstimmung mit Programmierdaten eingerichtet oder eingestellt werden (Block 100); ein Aktivieren einer Block-Wortleitung nach dem Einstellen der Bitleitungen, um so die Auswahlleitungen mit entsprechenden Wortleitungen zu verbinden (Block 120); und ein Anlegen einer zweiten Spannung, die höher ist als die erste Spannung, an eine der Auswahlleitungen (Block 140) nach dem Aktivieren der Block-Wortleitung. Wie in 2B dargestellt. werden die Bitleitungen während eines Bitleitungs-Einstellintervalls basierend auf Daten, die in einen Seitenpufferschaltkreis geladen wurden, auf eine Bitleitungs-Vorspannung (zum Beispiel eine Versorgungsspannung oder ein Massenpotential) gesetzt. Während eines Wortleitungs-Aktivierungsintervalls, das mit dem Bitleitungs-Einstellintervall überlappt, werden Auswahlleitungen, die jeweils Wortleitungen entsprechen, mit einer ersten Spannung, d. h. einer Pass-Spannung geladen. Nach dem Ende des Bitleitungs-Einstellintervalls wird eine Block-Wortleitung aktiviert, um die Auswahlleitungen mit den entsprechenden Wortleitungen zu verbinden. Wenn das Wortleitungs-Aktivierungsintervall endet, wird eine ausgewählte Auswahlleitung (d. h. eine ausgewählte Wortleitung) mit einer zweiten Spannung getrieben, bei der es sich um eine Programmierspannung handelt.
-
3 ist ein Blockdiagramm zur Darstellung eines Flash-Speicherelements gemäß einigen Ausgestaltungen der vorliegenden Erfindung, wobei ein Flash-Speicherelement 1000 eine Speicherzellenanordnung oder ein Speicherzellenfeld 1100 zum Speichern von Dateninformationen aufweist. Das Speicherzellenfeld 1100 weist eine Anzahl von Speicherblöcken auf, obwohl nur ein Speicherblock dargestellt ist. Das Speicherzellenfeld 1100 weist eine Anzahl von Strängen 111 auf, von denen jeder einen mit einer entsprechenden Bitleitung verbundenen Strang-Auswahltransistor SST, einen mit einer gemeinsamen Source-Leitung CSL verbundenen Masse-Auswahltransistor GST und Speicherzellen MCn-1~MC0 aufweist, die seriell zwischen die Auswahltransistoren SST und GST eingeschleift sind. Wie in 3 gezeigt, sind der Strang-Auswahltransistor SST, der Masse-Auswahltransistor GST und die Speicherzellen MCn-1~MC0 jeweils mit einer Strang-Auswahlleitung SSL, einer Masse-Auswahlleitung GSL und Wortleitungen WLn-1~WL4 verbunden. Das Flash-Speicherelement 1000 weist weiterhin einen Seitenpuffer-Schaltkreis 1200, einen Spalten-Auswahlschaltkreis 1300, einen Eingabe-/Ausgabe-Schaltkreis 1400, einen Zeilen-Auswahlschaltkreis 1500, einen Erzeugungsschaltkreis 1600 für eine Wortleitungsspannung und einen Steuerlogik-Schaltkreis 1700 auf.
-
Der Seitenpuffer-Schaltkreis 1200 ist durch den Steuerlogik-Schaltkreis 1700 gesteuert und dient gemäß einem Betriebsmodus als ein Leseverstärker oder als ein Schreibtreiber. Während einer Leseoperation liest der Seitenpuffer-Schaltkreis 1200 beispielsweise Daten aus dem Speicherzellenfeld 1100 und speichert die gelesenen Daten temporär. Bei einer Programmieroperation treibt der Seitenpuffer-Schaltkreis 1200 jede Bitleitung aus einer Anzahl von Bitleitungen BL0~BLn-1 mit einer Bitleitungs-Vorspannung nach Maßgabe der geladenen Programmierungsdaten. Die Bitleitungs-Vorspannung ist beispielsweise eine Versorgungsspannung oder ein Massenpotential. Obwohl dies in 3 nicht dargestellt ist, kann der Seitenpuffer-Schaltkreis 1200 bei einigen Ausgestaltungen der Erfindung Seitenpuffer aufweisen, die jeweils den Bitleitungen BL0~BLn-1 entsprechen. In diesem Fall liefert eine Zeile eine Seite, während bei einigen Ausgestaltungen der Erfindung eine Zeile zwei oder mehr Seiten aufweisen kann. In diesem Fall können Bitleitungen in einer der Seiten einer Zeile jeweils mit entsprechenden Seitenpuffern in dem Seitenpuffer-Schaltkreis 1200 verbunden sein. Der Spalten-Auswahlschaltkreis 1300 ist durch den Steuerlogik-Schaltkreis 1700 gesteuert und selektiert die Seitenpuffer in spezifischen Einheiten Während einer Leseoperation sendet der Spalten-Auswahlschaltkreis 1300 Datenbits in ausgewählten Seitenpuffern an den Eingabe-/Ausgabe-Schaltkreis 1400. Bei einer Programmieroperation sendet der Zeilen-Auswahlschaltkreis 1300 Datenbits von dem Eingabe-/Ausgabe-Schaltkreis 1400 an ausgewählte Seitenpuffer.
-
Weiter Bezug nehmend auf 3 empfängt der Zeilen-Auswahlschaltkreis 1500 eine Pass-Spannung Vpass und eine Programmierspannung Vpgm von dem Erzeugungsschaltkreis 1600 für die Wortleitungsspannung. Anschließend legt der Zeilen-Auswahlschaltkreis 1500 die Programmierspannung Vpgm oder die Pass-Spannung Vpass gemäß der Steuerung durch den Steuerlogik-Schaltkreis 1700 an Wortleitungen WL0~WLn-1 an. Beispielsweise treibt bei einigen Ausgestaltungen von erfindungsgemäßen Programmieroperationen der Zeilen-Auswahlschaltkreis 1500 die Wortleitungen WL0~WLn-1 mit der Pass-Spannung Vpass. Nach einem vorbestimmten Zeitintervall treibt der Zeilen-Auswahlschaltkreis 1500 die ausgewählte Wortleitung mit der Programmierspannung Vpgm, wie weiter unten detailliert beschrieben.
-
Bei einigen erfindungsgemäßen Ausgestaltungen weist der Zeilen-Auswahlschaltkreis 1500 einen ersten Dekodier- und Treiberblock 1520 und einen zweiten Dekodier- und Treiberblock 1540 auf. Der erste Dekodier- und Treiberblock 1520 empfängt die Programmierspannung Vpgm, die Pass-Spannung Vpass und eine Seitenadresse PA. Der erste Dekodier- und Treiberblock 1520 treibt nach Maßgabe der Steuerung durch die Steuerlogik-Schaltkreis 1700 Auswahlleitungen S0~Sn-1 mit den Spannungen Vpass und Vpgm und Auswahlleitungen SS und GS mit einer vorbestimmten Spannung (zum Beispiel einer Versorgungsspannung, einem Massenpotential oder einer Lesespannung). Die Auswahlleitungen S0~Sn-1 korrespondieren mit den Wortleitungen WL0~WLn-1. Der zweite Dekodier- und Treiberblock 1540 empfängt eine Blockadresse BA. Anschließend sorgt der zweite Dekodier- und Treiberblock 1540 nach Maßgabe der Steuerung durch den Steuerlogik-Schaltkreis 1700 für eine elektrische Verbindung der Auswahlleitungen S0~Sn-1 mit den entsprechenden Wortleitungen WL0~WLn-1 und der Auswahlleitungen SS und GS mit den Strang- und Masse-Auswahlleitungen SSL und GSL.
-
Bei einigen erfindungsgemäßen Ausgestaltungen ist der Erzeugungsschaltkreis
1600 für die Wortleitungsspannung durch den Steuerlogik-Schaltkreis
1700 gesteuert und erzeugt die Programmierspannung Vpgm und die Pass-Spannung Vpass als Wortleitungsspannungen während der Programmieroperation. Der Erzeugungsschaltkreis
1600 für die Wortleitungsspannung verwendet einen Ladungspumpschaltkreis zum Erzeugen einer Hochspannung VPP während eines Hochspannungs-Aktivierungsintervalls. Die Hochspannung VPP wird durch Verwendung eines Reglers auf gewünschte Spannungswerte (zum Beispiel Vpgm und Vpass) eingestellt. Beispielhafte Erzeugungsschaltkreise für Wortleitungsspannungen sind beispielsweise in dem
US-Patent Nr. 5,642,309 und dem
US-Patent Nr. 5,619,124 beschrieben.
-
Bei einigen erfindungsgemäßen Ausgestaltungen ist der Steuerlogik-Schaltkreis 1700 zum Steuern von Operationen des Flash-Speicherelements 1000 organisiert. Beispielsweise steuert der Steuerlogik-Schaltkreis 1700 den ersten Dekodier- und Treiberblock 1520, so dass die Auswahlleitungen S0~Sn-1 während eines Bitleitungs-Einstellintervalls einer Programmieroperation mit einer Pass-Spannung Vpass geladen werden. Der Steuerlogik-Schaltkreis 1700 steuert den zweiten Dekodier- und Treiberblock 1540, so dass die Auswahlleitungen S0~Sn-1 am Ende des Bitleitungs-Einstellintervalls elektrisch mit den Wortleitungen WL0~WLn-1 verbunden werden. Der Steuerlogik-Schaltkreis 1700 steuert den ersten Dekodier- und Treiberblock 1520, so dass eine der Auswahlleitungen S0~Sn-1 mit der Programmierspannung Vpgm getrieben wird, nachdem die Auswahlleitungen S0~Sn-1 elektrisch mit den Wortleitungen WL0~WLn-1 verbunden wurden. Mit anderen Worten, der Steuerlogik-Schaltkreis 1700 steuert die ersten und zweiten Dekodier- und Treiberblöcke 1520 und 1540, um die Auswahlleitungen S0~Sn-1 mit der Pass-Spannung Vpass während des Bitleitungs-Einstellintervalls zu treiben, um die Auswahlleitungen S0~Sn-1 am Ende des Bitleitungs-Auswahlintervalls elektrisch mit den Wortleitungen WL0~WLn-1 zu verbinden und um die ausgewählten Wortleitungen während eines Programmier-Ausführungsintervalls mit der Programmierspannung Vpgm zu treiben.
-
Bei Verwendung dieser Treibart kann es bei einigen erfindungsgemäßen Ausgestaltungen möglich sein, eine zum Treiben der Wortleitungen erforderliche Zeit zu verkürzen, indem die Auswahlleitungen S0~Sn-1 während des Bitleitungs-Einstellintervalls mit der Pass-Spannung Vpass getrieben werden. Da das Bitleitungs-Einstellintervall mit dem Wortleitungs-Aktivierungsintervall überlappt, kann die Programmierzeit um ein Zeitintervall verkürzt werden, welches dem Bitleitungs-Einstellintervall entspricht.
-
4 ist ein schematisches Blockdiagramm zur Darstellung erster und zweiter Dekodier- und Treiberschaltkreise in 3. Bezug nehmend auf 4 wird der erste Dekodier- und Treiberblock 1520 als ein Auswahlleitung-Treiberschaltkreis mit einer Seitenadresse PA, einer Programmierspannung Vpgm und einer Pass-Spannung Vpass versorgt. Der erste Dekodier- und Treiberblock 1520 treibt die Auswahlleitungen S0~Sn-1 mit den gelieferten Spannungen Vpgm und Vpass in Abhängigkeit von ersten und zweiten Aktivierungssignalen EN1 und EN2 von dem Steuer-Logik-Schaltkreis 1700. Das erste Aktivierungssignal EN1 zeigt ein Wortleitungs-Aktivierungsintervall an, und das zweite Aktivierungssignal EN2 zeigt ein Programmier-Ausführungsintervall an. Der erste Dekodier- und Treiberblock 1520 treibt die jeweiligen Auswahlleitungen S0~Sn-1 in Abhängigkeit von einer Aktivierung des ersten Aktivierungssignals EN1 mit der Pass-Spannung Vpass. Das erste Aktivierungssignal EN1 wird synchron mit einem Start eines Bitleitungs-Einstellintervalls aktiviert. Der erste Dekodier- und Treiberblock 1520 treibt eine Auswahlleitung der Seitenadresse PA mit der Programmierspannung Vpgm. Das bedeutet, dass die Seitenadresse PA eine Adresse zum Auswählen einer der Wortleitungen ist.
-
Wenn das zweite Aktivierungssignal EN2 aktiviert ist, wird gemäß der Seitenadresse PA eine beliebige unter den Auswahlleitungen S0~Sn-1 ausgewählt. Die verbleibenden Auswahlleitungen werden während eines aktiven Intervalls des zweiten Aktivierungssignals EN2 mit der Pass-Spannung Vpass getrieben. Auswahlleitungen SS und GS können während des Wortleitungs-Aktivierungsintervalls und des Programmier-Ausführungsintervalls mit einer bestimmten Spannung (zum Beispiel einer Spannung, die geringer ist als eine Versorgungsspannung) bzw. einem Massenpotential getrieben werden. Als ein Treiberschaltkreis für eine Block-Wortleitung weist der zweite Dekodier- und Treiberblock 1540 einen Vordekodierer 1522, einen Treiber 1524 und einen Schalter 1526 auf.
-
Der Vordekodierer 1522 empfängt eine Blockadresse BA zum Auswählen eines Speicherblocks und dekodiert die Blockadresse BA in Abhängigkeit von einer Aktivierung des dritten Aktivierungssignals EN3. Der Treiber 1524 treibt eine Block-Wortleitung BLKWL mit einer Hochspannung VPP in Abhängigkeit von einer Ausgabe des Vordekodierers 1522. Die Hochspannung VPP wird von einem Erzeugungsschaltkreis 1600 für eine Wortleitungsspannung gemäß 3 geliefert und ist auf einen höheren Wert als die Programmierspannung Vpgm eingestellt, so dass die Spannungen der Auswahlleitungen S0~Sn-1 ohne einen Spannungsabfall auf die entsprechenden Wortleitungen WL0~WLn-1 übertragen werden. Der Schalter 1526 ist aus Schalttransistoren ST gebildet, die zwischen die Auswahlleitungen S0~Sn-1 und die Wortleitungen WL0~WLn-1, zwischen die Auswahlleitung SS und eine Strang-Auswahlleitung SSL und zwischen eine Auswahlleitung GS und eine Masse-Auswahlleitung GSL eingeschleift sind. Gate-Anschlüsse der Schalttransistoren ST sind gemeinsam mit der Block-Wortleitung BLKWL verbunden. Das dritte Aktivierungssignal EN3 wird synchron mit einem Ende des Bitleitungs-Einstellintervalls aktiviert und wird deaktiviert, wenn eine Programmierschleife beendet wird. Die Schalttransistoren ST sind hinreichend bekannte Hochspannungs-Transistoren, die geeignet sind, der Hochspannung VPP standzuhalten.
-
5 ist ein Schaltungsdiagramm zur Darstellung eines Seitenpuffers in 4. Bezug nehmend auf 5 umfasst der Seitenpuffer PB einen (Zwischen-)Speicher (latch) mit Invertierern INV1 und INV2, einen PMOS-Transistor M1 und NMOS-Transistoren M2, M3 und M4. Der PMOS-Transistor M1 ist zwischen eine Versorgungsspannung und einen Leseknoten S0 eingeschleift und durch ein Steuersignal PRE gesteuert. Der NMOS-Transistor M2 ist zwischen eine Bitleitung BL und einen Speicherknoten N1 eingeschleift und durch ein Steuersignal PBSLT gesteuert. Die NMOS-Transistoren M3 und M4 sind seriell zwischen einen Knoten N2 und das Massenpotential eingeschleift. Ein Gate-Anschluss des NMOS-Transistors M3 ist mit dem Leseknoten S0 verbunden, und ein Gate-Anschluss des NMOS-Transistors M4 ist zum Empfangen eines Steuersignals LAT eingerichtet. Eine Dateneingabe durch einen Spalten-Auswahlschaltkreis 1300 wird während eines Daten-Ladeintervalls einer Programmieroperation in dem Zwischenspeicher des Seitenpuffers PB gespeichert.
-
Wenn die Daten geladen sind, wird ein Steuersignal PBSLT auf einem hohen Pegel aktiviert. Dies ermöglicht eine elektrische Verbindung des Speicherknotens N1 mit der Bitleitung BL. In diesem Fall ist die Bitleitung BL nach Maßgabe der geladenen Daten mit der Versorgungsspannung oder dem Massenpotential getrieben. Wenn beispielsweise ein Datum „1” in den Speicher (INV1 und INV2) geladen ist, wird die Bitleitung BL mit der Versorgungsspannung getrieben. Wenn ein Datum „0” in dem Speicher (INV1 und INV2) geladen ist, wird die Bitleitung BL auf Massenpotential getrieben. Das aktivierte Steuersignal PBSLT wird deaktiviert, wenn ein Programmier-Ausführungsintervall ➅ (in 6) der Programmierschleife endet. Das bedeutet, dass ein Vorspannzustand der Bitleitung erhalten bleibt, bis das Programmier-Ausführungsintervall beendet wird.
-
6 ist ein Zeitablaufdiagramm zum Beschreiben einer Programmieroperation eines Flash-Speicherelements gemäß der vorliegenden Erfindung. Nachfolgend wird ein Programmierverfahren für das Flash-Speicherelement der vorliegenden Erfindung detailliert unter Bezugnahme auf die obigen Figuren beschrieben. Sobald eine Programmieroperation beginnt, wird ein Seitenpuffer-Schaltkreis 1200 durch einen Steuerungsbefehl eines Steuerlogik-Schaltkreises 1700 während eines Seitenpuffer-Rücksetzintervalls zurückgesetzt (➀). Während eines Daten-Ladeintervalls (➁) werden zu programmierende Daten durch einen Eingabe-/Ausgabe-Schaltkreis 1400 und einen Spalten-Auswahlschaltkreis 1300 in den Seitenpuffer-Schaltkreis 1200 geladen. Sobald die zu programmierenden Seitendaten geladen sind, aktiviert der Steuerlogik-Schaltkreis 1700 einen Erzeugungsschaltkreis 1600 für eine Wortleitungsspannung, um während eines Hochspannungs-Aktivierungsintervalls eine Hochspannung VPP zu erzeugen (➂). Wenn die Hochspannung VPP eine gewünschte Zielspannung erreicht, steuert der Steuerlogik-Schaltkreis 1700 den Seitenpuffer-Schaltkreis 1200, so dass Bitleitungen gemäß den geladenen Daten während eines Bitleitungs-Einstellintervalls auf eine Bitleitungs-Vorspannung (zum Beispiel eine Versorgungsspannung und ein Massenpotential) gesetzt werden (➃). Dies ist gleichbedeutend damit, dass der Steuerlogik-Schaltkreis 1700 ein Steuersignal PBSLT auf einem hohen Pegel aktiviert. Dies sorgt dafür, dass ein Speicherknoten N1 elektrisch mit der Bitleitung BL verbunden wird. In diesem Fall wird jede der Bitleitungen nach Maßgabe der geladenen Daten mit einem Massenpotential oder einer Versorgungsspannung getrieben. Wenn beispielsweise ein Datum „1” in den Seitenpuffer-Schaltkreis 1200 geladen ist, wird eine Bitleitung mit der Versorgungsspannung getrieben. Wenn ein Datum „0” in den Seitenpuffer-Schaltkreis 1200 geladen ist, liegt eine Bitleitung auf Massenpotential. In 6 zeigt ein Signal F_BLSETUP ein Bitleitungs-Einstellintervall an und fungiert als Flag-Signal, das in dem Steuerlogik-Schaltkreis 1700 verwendet wird.
-
Der Steuerlogik-Schaltkreis 1700 gemäß der Darstellung in 6 aktiviert ein erstes Aktivierungssignal EN1, wenn das Bitleitungs-Einstellintervall beginnt. Wenn das Aktivierungssignal EN1 aktiviert ist, treibt ein erster Dekodier- und Treiberblock 1520 Auswahlleitungen S0~Sn-1 mit einer Pass-Spannung Vpass. Da zu diesem Zeitpunkt das dritte Aktivierungssignal EN3 deaktiviert ist, sind die Schalttransistoren ST ausgeschaltet. Dies sorgt für eine elektrische Trennung der Wortleitungen WL0~WLn-1 von den Auswahlleitungen S0~Sn-1, die jeweils mit der Pass-Spannung Vpass geladen sind. Zusätzlich wird mit dem Beginn des Wortleitungs-Aktivierungsintervalls eine Auswahlleitung SS mit einer bestimmten Spannung Va (zum Beispiel einer Versorgungsspannung oder einer niedrigeren Spannung) getrieben, und eine Auswahlleitung GS wird auf einem Massenpotential getrieben. Wenn das Bitleitungs-Einstellintervall (➃) endet, aktiviert der Steuerlogik-Schaltkreis 1700 das dritte Aktivierungssignal EN3. Ein zweiter Dekodier- und Treiberblock 1540 treibt in Abhängigkeit von einer Aktivierung des dritten Aktivierungssignals EN3 eine Block-Wortleitung BLKWL mit einer Hochspannung VPP. Wenn die Block-Wortleitung BLKWL aktiviert ist, sind die Auswahlleitungen S0~Sn-1 elektrisch mit entsprechenden Wortleitungen WL0~WLn-1 über die Schalttransistoren ST verbunden. Die Auswahlleitungen SS und GS sind über die Schalttransistoren ST elektrisch mit den Strang- und Masse-Auswahlleitungen SSL und GSL verbunden. In diesem Fall werden die Wortleitungen WL0~WLn-1 nicht direkt durch den Erzeugungsschaltkreis 1600 für die Wortleitungsspannung getrieben, sondern zunächst durch geladene Spannungen der Auswahlleitungen S0~Sn-1 getrieben, die als Versorgungskapazität dienen. Dies bedeutet, dass zwischen den Wortleitungen WL0~WLn-1 und den Auswahlleitungen S0~Sn-1 eine Ladungsteilung erfolgt. Wenn die Pass-Spannung nach der Ladungsteilung abgesenkt wird, kann die abgesenkte Pass-Spannung auf dem Niveau einer Zielspannung zurückgewonnen werden, indem der Erzeugungsschaltkreis 1600 für die Wortleitungsspannung eine Pumpoperation durchführt.
-
Da die Strang-Auswahlleitung SSL mit der bestimmten Spannung Va getrieben wird, sind Kanäle der Stränge
111 jeweils über entsprechende Strang-Auswahltransistoren SST mit den Bitleitungen BL0~BLn-1 verbunden. Dies ermöglicht es, die Kanäle mit einer Versorgungsspannung oder einem Massenpotential zu laden. Wenn ein Kanal mit der Versorgungsspannung geladen wird, ist der Strang-Auswahltransistor SST ausgeschaltet. Das bedeutet, dass der Kanal elektrisch von einer entsprechenden Bitleitung getrennt ist. Wenn der Kanal jedoch auf Massenpotential liegt, ist er elektrisch mit der entsprechenden Bitleitung verbunden. Das bedeutet, dass der Kanal mit einem Speicherknoten N1 eines Seitenpuffers PB verbunden ist, bis das Programmier-Ausführungsintervall (➅) endet. Das bedeutet, dass ein Kanal über einen Seitenpuffer PB auf einem Massenpotential gehalten wird, bis das Programmier-Ausführungsintervall (➅) endet. Wenn eine Programmierspannung Vpgm an eine ausgewählte Wortleitung angelegt ist, sind Speicherzellen in „floated” Kanälen nach einem hinreichend bekannten selbstverstärkenden Schema programmiergeschützt. Ein beispielhaftes selbstverstärkendes Schema ist in dem
US-Patent Nr. 5,677,873 und dem
US-Patent Nr. 5,991,202 offenbart.
-
Nach einem Verstreichen des Wortleitungs-Aktivierungsintervalls (➂), während dem die Wortleitungen WL0~WLn-1 mit der Pass-Spannung Vpass geladen sind, deaktiviert der Steuerlogik-Schaltkreis 1700 das erste Aktivierungssignal EN1 und aktiviert das zweite Aktivierungssignal EN2. Wenn das zweite Aktivierungssignal EN2 aktiviert ist, treibt der erste Dekodier- und Treiberblock 1520 eine Auswahlleitung einer Seitenadresse RA mit der Programmierspannung Vpgm. Das bedeutet, dass die der Seitenadresse RA entsprechende Wortleitung mit der Programmierspannung Vpgm getrieben wird. In diesem Fall werden nach Maßgabe eines Kanalzustands (zum Beispiel einem Floating-Zustand oder einem mit Masse verbundenen Zustand) Speicherzellen programmiert oder sind programmiergeschützt, wie oben beschrieben. Wenn das Programmier-Ausführungsintervall (➅) endet, wird das Steuersignal PBSLT auf einem niedrigen Pegel deaktiviert. Anschließend werden die Auswahlleitungen S0~Sn-1 und die Wortleitung WL0~WLn-1 entladen (➆), und der Seitenpuffer-Schaltkreis 1200 liest Zellendaten aus den Speicherzellen der ausgewählten Wortleitung während eines Überprüfungs-Leseintervalls (➇). Während eines Spalten-Abtastintervalls (➈), während dem überprüft wird, ob alle Speicherzellen in der ausgewählten Wortleitung bis zu einer gewünschten Schwellspannung programmiert sind, werden die gelesenen Daten des Seitenpuffer-Schaltkreises 1200 durch einen Spalten-Auswahlschaltkreis 1300 zu einem Pass/Fail-Prüfschaltkreis (nicht gezeigt) gesendet. In 6 bilden die Intervalle (➃~➈) eine Programmierschleife, die wiederholt wird, bis alle Speicherzellen der ausgewählten Wortleitung bis zu einer gegebenen Schwellspannung programmiert wurden.
-
Gemäß der oben gegebenen Erklärung werden Wortleitungen WL0~WLn-1 in folgender Weise getrieben. Zunächst werden Auswahlleitungen S0~Sn-1 mit einer Pass-Spannung Vpass geladen (in 7 mit einem Pfeil (➀) markiert). Da eine Block-Wortleitung BLKWL aktiviert ist, wenn ein Bitleitungs-Einstellintervall endet, werden die Wortleitungen WL0~WLn-1 zunächst durch Spannungen der Auswahlleitungen S0~Sn-1 getrieben, die als Versorgungskapazitäten dienen (in 7 mit einem Pfeil (➁) markiert). Das Treiben der Wortleitungen wird im Zuge einer Ladungsteilung durchgeführt. Anschließend werden die Wortleitungen WL0~WLn-1 beim Absenken der Spannungen in den Wortleitungen WL0~WLn-1 auf Werte unterhalb der Pass-Spannung Vpass direkt mittels einer Pumpe in einem Erzeugungsschaltkreis 1600 für eine Wortleitungsspannung getrieben (in 7 mit einem Pfeil (➂) markiert). Dann kann die Programmierspannung Vpgm an eine ausgewählte Wortleitung angelegt werden. Es ist möglich, eine Programmierzeit zu verkürzen, indem die Auswahlleitungen S0~Sn-1 während des Bitleitungs-Einstellintervalls geladen werden. Des Weiteren ist es durch das Treiben von Wortleitungen im Zuge der Ladungsteilung und durch das Pumpen möglich, eine Wortleitung innerhalb eines kurzen Zeitintervalls ohne Erhöhung einer Pumpkapazität zu treiben, obwohl eine Wortleitungsladung zunimmt. In einem Fall, bei dem die Wortleitungsladung nicht zunimmt, ist es möglich, eine Pumpkapazität eines Erzeugungsschaltkreises für eine Wortleitungsspannung zu verringern.