-
Die Erfindung betrifft ein nichtflüchtiges Halbleiterspeicherbauelement, ein zugehöriges Programmierverfahren und ein Speichersystem mit einem solchen nichtflüchtigen Halbleiterspeicherbauelement.
-
Halbleiterspeicher werden in flüchtige Halbleiterspeicher und nichtflüchtige Halbleiterspeicher klassifiziert. In den flüchtigen Halbleiterspeichern werden Daten gespeichert, die ausgelesen werden können, solange eine Energieversorgung angeschaltet ist, und die verloren gehen, wenn die Energieversorgung abgeschaltet wird. Andererseits sind nichtflüchtige Speicher, wie ein maskiertes ROM (MROM), ein programmierbares ROM (PROM), ein löschbares und programmierbares ROM (EPROM), ein elektrisch löschbares und programmierbares ROM (EEPROM) und Flashspeicher, in der Lage, Daten zu speichern, auch wenn die Energieversorgung abgeschaltet wird.
-
Von diesen Bauelementen werden Flashspeicher entsprechend der Verbindungsstruktur einer Zelle und einer Bitleitung in Flashspeicher vom NOR-Typ (NOR-Flashspeicher) und in Flashspeicher vom NAND-Typ (NAND-Flashspeicher) klassifiziert. Die NOR-Flashspeicher können einfach an einen Hochgeschwindigkeitsbetrieb angepasst werden, weisen jedoch Probleme auf, wenn ein hoher Integrationsgrad zur Verfügung gestellt werden soll. Im Gegensatz dazu sind NAND-Flashspeicher vorteilhaft, wenn ein hoher Integrationsgrad zur Verfügung gestellt werden soll.
-
Die 1A und 1B zeigen einen Anfangszustand bzw. einen programmierten Zustand eines herkömmlichen Flashspeicherzellentransistors mit einem floatenden Gate. Wie aus den 1A und 1B ersichtlich ist, umfasst eine Flashspeicherzelle 100 vom Einzeltransistortyp im Wesentlichen einen Kanal, der zwischen einer Source 105 und einer Drain 110 auf einem Halbleitersubstrat 115 ausgebildet ist, ein Steuergate 120 und ein floatendes Gate 130, das zwischen einem dielektrischen Oxid 140 und einem Gateoxid 150 ausgebildet ist, wobei das dielektrische Oxid 140, das floatende Gate 130, das Gateoxid 150 und das Steuergate 120 über dem Kanal einen Stapel bilden. Das floatende Gate 130 fängt Elektronen ein und die eingefangenen Elektronen werden verwendet, um eine Schwellwertspannung der Flashspeicherzelle 100 bereitzustellen. Die zum floatenden Gate bewegten Elektronen werden durch Fowler-Nordheim-Tunneln (F-N-Tunneln), Elektroneninjektion usw. erzeugt. Die Elektroneninjektion kann durch heiße Kanalelektroneninjektion (CHE), durch eine kanalinduzierte Sekundärelektroneninjektion (CISEI) usw. ausgeführt werden. Zudem kann Fowler-Nordheim-Tunneln allgemein dazu verwendet werden, um alle Daten in einem Flashspeicherbauelement gleichzeitig zu löschen. Des Weiteren kann, wenn das nichtflüchtige Halbleiterspeicherbauelement einen Lesevorgang ausführt, der in der Flashspeicherzelle 100 gespeicherte Datenwert durch Abtasten der Schwellwertspannung der Flashspeicherzelle 100 bestimmt werden, wie nachfolgend im Detail beschrieben wird.
-
Wie aus 1A ersichtlich ist, ist die Flashspeicherzelle 100 anfänglich in einem „nicht programmierten” bzw. „gelöschten” Zustand und speichert einen logischen Wert „1”. Im nicht programmierten Zustand weist die Flashspeicherzelle 100 eine Anfangsschwellwertspannung VTH1 derart auf, dass die Flashspeicherzelle 100 sperrend geschaltet ist, wenn eine niedrigere Spannung als die Anfangsschwellwertspannung VTH1 an das Steuergate 120 angelegt wird, aber leitend geschaltet ist, wenn eine höhere Spannung als die Anfangsschwellwertspannung VTH1 an das Steuergate 120 angelegt wird.
-
Hierbei speichert die Flashspeicherzelle 100, wie aus 1B ersichtlich ist, einen logischen Wert „0”, wenn sie in einem „programmierten” Zustand ist. Im programmierten Zustand weist die Flashspeicherzelle 100 eine Schwellwertspannung VTH2 auf, die höher als die Anfangsschwellwertspannung VTH1 ist, so dass die Flashspeicherzelle 100 sperrend geschaltet ist, wenn eine niedrigere Spannung als die Schwellwertspannung VTH2 an das Steuergate 120 angelegt wird, aber leitend geschaltet ist, wenn eine höhere Spannung als die Schwellwertspannung VTH2 an das Steuergate 120 angelegt wird.
-
Die 2A und 2B veranschaulichen einen Löschvorgang bzw. einen Programmiervorgang für die Flashspeicherzelle 100. Wie aus 2A ersichtlich ist, wird ein Löschvorgang mit der Flashspeicherzelle 100 ausgeführt, um durch Anlegen einer Löschspannung VERASE an ein Volumen- bzw. Bulksubstrat 115 der Flashspeicherzelle 100 und durch Erden des Steuergates 120 einen logischen Wert „1” zu speichern, wodurch Elektronen aus dem floatenden Gate 130 der Flashspeicherzelle 100 entfernt werden. Das Entfernen der Elektronen aus dem floatenden Gate 130 reduziert die Schwellwertspannung der Flashspeicherzelle 100 auf die Anfangsschwellwertspannung VTH1, wie aus 3 ersichtlich ist. 3 zeigt, dass die Anfangsschwellwertspannungen VTH1 nicht von allen Speicherzellen des Bauelements gleich sind, sondern dass die Anfangsschwellwertspannungen VTH1 eine gewisse Verteilung und Varianz um einen Mittelwert aufweisen. Bei einem typischen Beispiel kann die Anfangsschwellwertspannung VTH1 zwischen –1 V bis –3 V verteilt sein. Nach Ausführen des Löschvorgangs mit der Flashspeicherzelle 100 wird diese als „gelöschte Zelle” bezeichnet und speichert den logischen Wert „1”. Allgemein ist die Löschspannung VERASE größer als eine Betriebsspannung VCC des NAND-Flashspeicherbauelements. Die Löschspannung VERASE kann beispielsweise einen Wert von 19 V aufweisen, während die Betriebsspannung VCC nur den Wert „5 V” aufweist.
-
Wie aus 2B ersichtlich ist, wird ein Programmiervorgang mit der Flashspeicherzelle 100 ausgeführt, um einen logischen Wert „0” zu speichern, indem eine Programmierspannung Vpgm angelegt wird, um das Gate 120 der Flashspeicherzelle 100 anzusteuern und einen Stromfluss zwischen der Source 105 und der Drain 110 zu bewirken, wodurch bewirkt wird, dass Elektronen des Stromflusses im floatenden Gate 130 gespeichert werden. Das Speichern von Elektronen im floatenden Gate 130 erhöht die Schwellwertspannung der Flashspeicherzelle 100 auf die Schwellwertspannung VTH2, wie aus 3 ersichtlich ist. 3 zeigt, dass die Schwellwertspannungen VTH2 nicht von allen Speicherzellen des Bauelements gleich sind, sondern eine gewisse Verteilung und Varianz um einen Mittelwert aufweisen. Bei einem typischen Beispiel kann die Schwellwertspannung VTH2 zwischen +1 V bis +3 V verteilt sein. Nach Ausführen des Programmiervorgangs mit der Flashspeicherzelle 100 wird diese als „programmierte Zelle” bezeichnet und speichert den logischen Wert „0”.
-
Ein NAND-Flashspeicherbauelement umfasst typischerweise ein Speicherzellenfeld oder einen Speicherblock mit einer Mehrzahl von NAND-Flashspeicherzellenketten oder kurz Ketten, die jeweils mit einer Bitleitung BL0 bis BLn – 1 verbunden sind. 4 zeigt eine Basis-NAND-Flashspeicherzellenkette 400. Jede Kette 400 umfasst einen Kettenauswahltransistor (SST), einen Masseauswahltransistor (GST) und eine Mehrzahl von Flashspeicherzellen 100, die in Reihe zwischen dem Kettenauswahltransistor und dem Masseauswahltransistor eingeschleift sind. Typischerweise sind 16 oder 32 Flashspeicherzellen 100 seriell in der Flashspeicherzellenkette 400 verbunden. Der Kettenauswahltransistor weist eine mit einer korrespondierenden Bitleitung B/L verbundene Drain und ein mit einer Kettenauswahlleitung SSL verbundenes Gate auf. Die Speicherzellen 100 sind jeweils mit einer korrespondierenden Wortleitung W/L verbunden. Die Wortleitungen W/L, die Kettenauswahlleitung SSL und eine Masseauswahlleitung GSL werden durch eine in 4 nicht dargestellte Zeilenauswahlschaltung getrieben.
-
Ein NAND-Flashspeicherbauelement kann Schreib- und Programmiervorgänge mit individuellen Flashspeicherzellenketten 400 ausführen, einen Löschvorgang jedoch nur in Speicherblockeinheiten ausführen. Um die Speicherzellen einer ausgewählten Zeile oder Wortleitung eines NAND-Flashspeicherbauelements zu programmieren, werden die Speicherzellen eines Speicherblocks oder eines Speicherzellenfelds zuerst gelöscht, um jeder Speicherzelle die Anfangsschwellwertspannung VTH1 zu geben, die unter 0 V liegt, d. h. alle Speicherzellen speichern den logischen Wert „1 Nach dem Löschen der Speicherzellen werden Programmierdaten in eine Seitenpufferschaltung des NAND-Flashspeicherbauelements geladen und dann erzeugt eine Pumpschaltung für hohe Spannung eine relativ hohe Spannung für einen Programmiervorgang. Danach werden die geladenen Daten durch eine Iteration von Programmierschleifen in die Speicherzellen der ausgewählten Wortleitung programmiert. Jede der Programmierschleifen besteht aus einem Bitleitungsaufbauintervall, einem Programmierintervall, einem Entlade-/Erholintervall und einem Verifizierungsintervall.
-
Während des Bitleitungsaufbauintervalls werden die Bitleitungen entsprechend den geladenen Programmierdaten mit der Versorgungsspannung VCC oder der Massespannung geladen. Das bedeutet, wie aus 5 ersichtlich ist, dass eine Bitleitung einer zu programmierenden Speicherzelle auf die Massespannung geladen wird, und eine Bitleitung einer programmiergesperrten Speicherzelle, d. h. einer nicht zu programmierenden Speicherzelle, auf die Versorgungsspannung VCC geladen wird. Innerhalb des Programmierintervalls wird die Programmierspannung Vpgm an eine ausgewählte Wortleitung angelegt und eine niedrigere Passierspannung Vpass wird an die nicht ausgewählten Wortleitungen angelegt. Für Speicherzellen, die mit der ausgewählten Wortleitung und mit einer auf die Massespannung geladenen Bitleitung verbunden sind, ist die Kanalspannung null Volt und eine Vorspannungsbedingung von z. B. 18 V, die groß genug ist, um F-N-Tunneln auszulösen, ist erfüllt, so dass Elektronen vom Bulk zu den floatenden Gates der Speicherzellen injiziert werden. Andererseits ist es aus dem Stand der Technik bekannt, für Speicherzellen, die mit Bitleitungen verbunden sind, die mit der Versorgungsspannung VCC geladen sind, den Kettenauswahltransistor elektrisch sperrend zu schalten und die Kanalspannung der mit der ausgewählten Wortleitung verbundenen Speicherzelle durch einen Selbstverstärkungsvorgang auf einen Spannungspegel von z. B. 8 V aufzuladen, der ausreichend ist, um F-N-Tunneln zu verhindern, wodurch die Programmierung der Speicherzelle gesperrt ist, siehe 6. Die Spannungen der Bitleitungen und der Wortleitungen werden während des Entladeintervalls entladen, das als Erholintervall (Recovery-Intervall) wirkt, und während des Verifizierungsintervalls wird bestimmt, ob die Speicherzellen mit der gewünschten Zielschwellwertspannung programmiert worden sind.
-
Eine Schrittimpulsprogrammiertechnik wurde zur Programmierung eines Flashspeicherbauelements entwickelt. 7 zeigt eine Impulsprogrammierspannung, die an eine ausgewählte, mit einem Steuergate der zu programmierenden Flashspeicherzelle verbundene Wortleitung angelegt wird. Wie aus 7 ersichtlich ist, wird die Programmierspannung von z. B. 18 V in einer Serie von Programmierimpulsen an die ausgewählte Wortleitung angelegt. Zwischen jedem Programmierimpuls ist eine „Verifizierungsperiode” angeordnet, während der die in den zu programmierenden Speicherzellen gespeicherten Daten gelesen werden. Wenn festgestellt wird, dass eine mit der ausgewählten Wortleitung verbundene Speicherzelle wie gewünscht programmiert ist, wird eine weitere Programmierung dieser Speicherzelle für diesen Programmiervorgang durch Laden der mit der Speicherzelle assoziierten Bitleitung auf die Versorgungsspannung VCC gesperrt, wie aus 5 ersichtlich ist.
-
Typischerweise kann in den Speicherzellen eines nichtflüchtigen Halbleiterspeicherbauelements ein Programmiervorgang und ein Löschvorgang wiederholend ausgeführt werden. Die Flashspeicherzellen werden in Seiteneinheiten programmiert. Das bedeutet beispielsweise, dass Flashspeicherzellen, die 512 Byte an Speicher aufweisen, gleichzeitig programmiert werden. Hierbei werden Flashspeicherzellen in Blockeinheiten gelöscht. Das bedeutet beispielsweise, dass Flashspeicherzellen, die 32 Seiten aufweisen, d. h. 16 kByte an Speicher, gleichzeitig gelöscht werden.
-
Um die in einer Speicherzelle gespeicherten Daten zu lesen, wird eine Spannung VREAD an das Steuergate der Speicherzelle angelegt. Die Spannung VREAD wird so ausgewählt, dass sie zwischen der Schwellwertspannung VTH1 und der Schwellwertspannung VTH2 liegt, d. h. VTH1 < VREAD < VTH2. Wenn die Schwellwertspannung VTH1 typischerweise –2 V ist und die Schwellwertspannung VTH2 typischerweise +2 V ist, kann die Spannung VREAD z. B. den Wert 0 V (Masse) aufweisen. In diesem Fall wird, wenn die Speicherzelle bei an ihr Steuergate angelegter Spannung VREAD leitend geschaltet ist, die Speicherzelle als eine programmierte Zelle bestimmt, die den logischen Wert „0” speichert.
-
Wie oben aus 3 ersichtlich ist, weisen die verschiedenen Speicherzellen allgemein verschiedene Werte für jede der ersten und zweiten Schwellwertspannungen VTH1 und VTH2 auf, wobei die ersten und zweiten Schwellwertspannungen jeweils mit einer Varianz um einen Mittelwert verteilt sind. Wenn jedoch die Varianz oder die Verteilung der Schwellwertspannungen zu breit wird, wird der Unterschied zwischen den ersten und zweiten Schwellwertspannungen immer kleiner, wodurch eine Betriebs- oder Rauschtoleranz für die Spannung VREAD zum Lesen von Daten aus einer Speicherzelle reduziert wird.
-
Entsprechend wurde eine Inkrementalschrittimpulsprogrammiertechnik (ISPP-Technik) zum Programmieren von Flashspeicherzellen entwickelt, um die Variationen der Schwellwertspannungen unter den Flashspeicherzellen des Flashspeicherbauelements zu reduzieren. Wie aus 8 ersichtlich ist, wird eine Serie von Impulsen mit schrittweise zunehmenden Spannungspegeln an die ausgewählte Wortleitung angelegt. Ansonsten entspricht die Funktionsweise der oben unter Bezugnahme auf 7 beschriebenen Funktionsweise. 9 zeigt, wie sich die Schwellwertspannungsverteilung mit jedem Impuls ändert, wobei der zweite Impuls eine größere Spannung als der erste Impuls aufweist, der dritte Impuls eine größere Spannung als der zweite Impuls aufweist usw. Durch Anwenden der ISPP-Technik wird die Variation der Schwellwertspannungen unter den Flashspeicherzellen eines Flashspeicherbauelements reduziert.
-
Es kann jedoch bei den oben beschriebenen Programmiertechniken für Flashspeicherzellen, einschließlich der ISPP-Technik, ein Problem auftreten, wie es nachfolgend unter Bezugnahme auf 10 bis 11 beschrieben wird.
-
10 stellt eine Flashspeicherzellenkette 1000 mit parasitären Koppelkapazitäten dar, die zwischen den Wortleitungen existieren, die mit den verschiedenen Speicherzellen der Kette 1000 verbunden sind. Von besonderem Interesse ist eine Kapazität 1010 zwischen einer Wortleitung WL<31> und der benachbarten Kettenauswahlleitung SSL. Wie aus 11 ersichtlich ist, kann diese parasitäre Koppelkapazität ein Problem verursachen, wenn die Wortleitung WL<31> während eines Flashspeicherzellenprogrammiervorgangs ausgewählt wird.
-
Speziell wird während des Flashspeicherzellenprogrammiervorgangs der Versorgungsspannungspegel VCC an die Kettenauswahlleitung SSL angelegt, wodurch die Kanalspannung für alle mit der Kette 1000 verbundenen Speicherzellen auf den Pegel VCC – VTH angehoben wird. Wenn dann die Wortleitung WL<31> ausgewählt wird, wird die Programmierspannung Vpgm mit dem relativ hohen Spannungspegel von z. B. 15 bis 18 Volt an die Wortleitung WL<31> angelegt, um die mit der Wortleitung WL<31> verbundene Speicherzelle 1050 zu programmieren, während eine niedrigere Passierspannung Vpass an jede der verbliebenen, nicht ausgewählten Wortleitungen angelegt wird. Der Spannungspegel der Passierspannung Vpass ist so gewählt, dass die Spannung ausreichend ist, um die mit diesen nicht ausgewählten Wortleitungen verbundenen Speicherzellen leitend zu schalten, wenn eine Bitleitung mit Masse verbunden ist, aber nicht ausreichend ist, um diese Speicherzellen zu programmieren.
-
Wie aus 11 ersichtlich ist, erzeugt die ansteigende Flanke der Programmierspannung Vpgm aufgrund der Kapazität 1010 zwischen der Wortleitung WL<31> und der benachbarten Kettenauswahlleitung SSL eine Spannungsspitze auf der Kettenauswahlleitung SSL. Diese Spitze kann die Spannung am Steuergate des Kettenauswahltransistors SST auf einen Wert VSSL > VCC + VTH erhöhen. Hierbei ist, wie oben beschrieben, wenn die mit der ausgewählten Wortleitung WL<31> verbundene Speicherzelle 1050 nicht programmiert werden soll, d. h. für die Programmierung gesperrt ist, die assoziierte Bitleitung mit der Versorgungsspannung VCC verbunden. In diesem Fall kann, wenn die Spannung am Steuergate des Kettenauswahltransistors SST den Wert VSSL > VCC + VTH annimmt, der Kettenauswahltransistor SST leitend geschaltet werden, wodurch eine Abnahme der Kanalspannung für die Speicherzelle 1050 verursacht wird, wie in 11 dargestellt ist. Die Abnahme der Kanalspannung der Speicherzelle kombiniert mit der an das Steuergate der Speicherzelle 1050 angelegten Programmierspannung Vpgm kann eine Vorspannungsbedingung präsentieren, die das Auftreten von F-N-Tunneln für die Speicherzelle 1050 ermöglichen kann, wodurch die Speicherzelle 1050 programmiert wird, obwohl eine solche Programmierung verhindert werden soll. In anderen Worten ausgedrückt, der Programmiersperrvorgang kann fehlschlagen. Des Weiteren kann durch die Koppelkapazitäten ein ähnliches Problem auftreten, wenn eine andere, in der Nähe der Kettenauswahlleitung SSL angeordnete Wortleitung ausgewählt wird, z. B. die Wortleitung WL<30>.
-
Eine vorgeschlagene Lösung dieses Problems ist in
12 dargestellt. Speziell wird hierbei durch eine Verkleinerung des Anstiegs, d. h. durch Erhöhen der Anstiegszeit, der an die ausgewählte Wortleitung angelegten Programmierspannung Vpgm die durch die Koppelkapazitäten auf der Kettenauswahlleitung SSL induzierte Spannungsspitze reduziert oder beseitigt, um zu verhindern, dass der Kettenauswahltransistor SST leitend geschaltet wird, wenn er während eines Programmiervorgangs zur Verhinderung einer Programmierung mit einer auf die Versorgungsspannung VCC aufgeladenen Bitleitung verbunden ist. Dies verhindert wiederum die Abnahme der Kanalspannung für die mit der ausgewählten Wortleitung verbundene Speicherzelle, deren Programmierung verhindert werden soll. Entsprechend wird ein F-N-Tunneln für die Speicherzelle verhindert und die Programmierverhinderungsfunktion arbeitet ordnungsgemäß. Eine derartige Vorgehensweise ist z. B. in der Patentschrift
US 6.804.150 B2 offenbart. Wenn der Anstieg der Programmierspannung Vpgm bzw. die Anstiegszeit verkleinert wird, wird jedoch die korrespondierende, für einen Programmiervorgang erforderliche Zeitspanne erhöht.
-
Es ist Aufgabe der Erfindung, ein nichtflüchtiges Speicherbauelement und ein Programmierverfahren für ein nichtflüchtiges Speicherbauelement sowie ein Speichersystem mit einem solchen nichtflüchtigen Speicherbauelement anzugeben, welche die oben genannten Unzulänglichkeiten des Standes der Technik zumindest teilweise beheben bzw. vermeiden.
-
Die Erfindung löst diese Aufgabe durch ein nichtflüchtiges Speicherbauelement mit den Merkmalen des Patentanspruchs 1, durch ein Programmierverfahren für ein nichtflüchtiges Speicherbauelement mit den Merkmalen des Patentanspruchs 15 und durch ein Speichersystem mit den Merkmalen des Patentanspruchs 22.
-
Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie die zu deren besserem Verständnis oben erläuterten, herkömmlichen Ausführungsbeispiele sind in den Zeichnungen dargestellt. Es zeigen:
-
1A eine schematische Querschnittansicht und ein Symbolschaltbild eines gelöschten herkömmlichen Flashspeicherzellentransistors in einem Ausgangszustand,
-
1B eine schematische Querschnittsansicht und ein Spannungsdiagramm des Flashspeicherzellentransistors von 1A in einem programmierten Zustand,
-
2A und 2B schematische Querschnittansichten des Flashspeicherzellentransistors von 1A während eines Löschvorgangs bzw. eines Programmiervorgangs,
-
3 ein Verteilungsdiagramm von Schwellwertspannungspegeln für verschiedene Speicherzellen in einem Flashspeicherbauelement nach Art von 1A,
-
4 ein Schaltbild einer herkömmlichen Basis-NAND-Flashspeicherzellenkette,
-
5 ein Schaltbild zweier herkömmlicher Flashspeicherzellenketten zur Darstellung, wie die Programmierung einer Speicherzelle durch Laden einer mit der Speicherzelle assoziierten Bitleitung auf die Versorgungsspannung VCC blockiert werden kann, die mit einer ausgewählten Wortleitung verbunden ist,
-
6 eine schematische Querschnittsansicht zur Darstellung einer Kopplung zwischen einem Gate und einem Kanal während eines Programmiervorgangs einer herkömmlichen NAND-Flashspeicherzelle,
-
7 ein Diagramm einer herkömmlichen Impulsprogrammiersequenz zum Programmieren einer Flashspeicherzelle,
-
8 ein Diagramm einer herkömmlichen Inkrementalschrittimpulsprogrammiersequenz (ISPP) zum Programmieren einer Flashspeicherzelle,
-
9 ein Diagramm zur Darstellung, wie die Verteilung der Schwellwertspannungen für die Speicherzellen eines Flashspeicherbauelements als Ergebnis auf jeden Spannungsimpuls einer herkömmlichen ISPP-Sequenz verändert wird,
-
10 ein Schaltbild einer herkömmlichen Flashspeicherzellenkette, die parasitäre Koppelkapazitäten zeigt, die zwischen den Wortleitungen existieren, die mit den verschiedenen Speicherzellen der Kette verbunden sind,
-
11 Spannungsverläufe zur Darstellung des Effekts einer Koppelkapazität zwischen einer Kettenauswahlleitung und einer in der Nähe angeordneten ausgewählten Wortleitung, wenn ein Programmierspannungsimpuls an die ausgewählte Wortleitung angelegt wird,
-
12 Spannungsverläufe zur Darstellung, wie die Abnahme eines Anstiegs eines Wortleitungsspannungsimpulses das Auftreten eines Problems verhindert, das einen Ausfall einer Programmiersperrfunktion verursachen kann,
-
13 eine kombinierte Darstellung eines Schaltbilds einer Speicherzellenkette eines nichtflüchtigen Speicherbauelements und von Spannungsimpulsen, die zur Programmierung von korrespondierenden Speicherzellen der Kette verwendet werden,
-
14 Wortleitungsspannungsverläufe einer ersten und zweiten Spannungsimpulssequenz, die an verschiedene Wortleitungen des Speicherbauelements angelegt werden können,
-
15 Wortleitungsspannungsverläufe eines weiteren Ausführungsbeispiels einer ersten und zweiten Spannungsimpulssequenz, die an verschiedene Wortleitungen des Speicherbauelements angelegt werden können,
-
16 Wortleitungsspannungsverläufe eines weiteren Ausführungsbeispiels einer ersten und zweiten Spannungsimpulssequenz, die an verschiedene Wortleitungen des Speicherbauelements angelegt werden können,
-
17 ein schematisches Funktionsblockdiagramm eines erfindungsgemäßen nichtflüchtigen Speicherbauelements,
-
18 ein detaillierteres Blockdiagramm eines erfindungsgemäßen nichtflüchtigen Speicherbauelements,
-
19 ein Blockdiagramm eines ersten Ausführungsbeispiels eines erfindungsgemäß einsetzbaren Wortleitungsspannungsgenerators,
-
20 ein Diagramm von Spannungsimpulsen, die vom Wortleitungsspannungsgenerator gemäß 19 erzeugbar sind,
-
21 ein Blockdiagramm eines zweiten Ausführungsbeispiels eines erfindungsgemäß einsetzbaren Wortleitungsspannungsgenerators,
-
22 ein Diagramm von Spannungsimpulsen, die vom Wortleitungsspannungsgenerator gemäß 21 erzeugbar sind,
-
23 ein Blockdiagramm eines dritten Ausführungsbeispiels eines erfindungsgemäß einsetzbaren Wortleitungsspannungsgenerators,
-
24 ein Flussdiagramm eines erfindungsgemäßen Programmierverfahrens für ein nichtflüchtiges Speicherbauelement,
-
25 ein Blockdiagramm eines erfindungsgemäßen Speichersystems und
-
26 ein Diagramm zur Darstellung von Programmiervorgängen für das Speicherbauelement, die eine erste Spannungsimpulssequenz für einen ersten Satz von Wortleitungen und eine zweite Spannungsimpulssequenz für einen zweiten Satz von Wortleitungen umfassen.
-
13 zeigt ein erfindungsgemäßes Ausführungsbeispiel einer Speicherzellenkette 1300 eines nichtflüchtigen Speicherbauelements, z. B. eines Flashspeicherbauelements, und Programmierspannungsimpulse, die zur Programmierung von korrespondierenden Speicherzellen in der Kette 1300 verwendet werden. Wie aus 13 ersichtlich, ist der Anstieg oder die Anstiegszeit eines Programmierimpulses für verschiedene, mit verschiedenen Speicherzellen der Kette 1300 verbundene Wortleitungen unterschiedlich ausgeführt. Insbesondere ist im Ausführungsbeispiel gemäß 13 der Anstieg der Programmierimpulse für die Wortleitungen WL<30> und WL<31>, die in der Nähe einer Kettenauswahlleitung SSL angeordnet sind, schwächer als der Anstieg der Programmierimpulse für die Wortleitungen WL<0> bis WL<29> ausgeführt, die nicht in der Nähe der Kettenauswahlleitung SSL angeordnet sind.
-
Entsprechend weisen die an eine ausgewählte Wortleitung in der Nähe der Kettenauswahlleitung SSL angelegten Spannungsimpulse einen schwächeren Anstieg bzw. eine längere Anstiegszeit auf, um zu verhindern, dass eine große Spannungsspitze kapazitiv auf das Steuergate des Kettenauswahltransistors SST gekoppelt wird, was sonst zu einem Ausfall einer Programmiersperrfunktion führen kann. Hierbei kann eine ausgewählte Wortleitung, die weit genug von der Kettenauswahlleitung SSL entfernt angeordnet ist, mit einem Spannungsimpuls getrieben werden, der einen stärkeren Anstieg oder eine schnellere Anstiegszeit aufweist, so dass die Programmiergeschwindigkeit der Speicherbauelements erhöht wird, ohne dass diese Problematik auftritt, da die Kopplung auf die Kettenauswahlleitung SSL sehr klein ist.
-
14 zeigt ein Ausführungsbeispiel von Spannungsimpulsen, die zur Programmierung von Speicherzellen in einem nichtflüchtigen Speicherbauelement, z. B. einem Flashspeicherbauelement, verwendet werden, bei dem die Wortleitungen in zwei Sätze eingeteilt sind. Im Ausführungsbeispiel gemäß 14 sind die Wortleitungen des nichtflüchtigen Speicherbauelements, z. B. einem Flashspeicherbauelement, in einen ersten Satz, der die Wortleitungen umfasst, die nicht in der Nähe der Kettenauswahlleitung SSL angeordnet sind, z. B. die Wortleitungen WL0 bis WL29, und in einen zweiten Satz aufgeteilt, der eine oder mehrere Wortleitungen umfasst, die in der Nähe der Kettenauswahlleitung SSL angeordnet sind, z. B. die Wortleitungen WL30 und WL31. Wie weiter ersichtlich ist, wird die Inkrementalschrittimpulsprogrammiertechnik (ISPP-Technik) für beide Wortleitungssätze verwendet. Der Anstieg von einem oder mehreren Spannungsimpulsen in der ersten Sequenz von Spannungsimpulsen, z. B. einem ersten ISPP-Muster, für den ersten Wortleitungssatz ist steiler als der Anstieg der Spannungsimpulse in der zweiten Sequenz von Spannungsimpulsen, z. B. einem zweiten ISPP-Muster, für den zweiten Wortleitungssatz. Daraus resultiert, dass gewährleistet werden kann, dass die Programmiersperrfunktion für alle Wortleitungen richtig arbeitet und dass die Gesamtblockprogrammierzeit im Vergleich mit einem Bauelement, welches das erste ISPP-Muster für alle Wortleitungen verwendet, nur geringfügig größer ist. So ist für eine Kette mit einer Länge von 32 Speicherzellen die Gesamtblockprogrammierzeit TBLOCK = 60·Tpgm1 + 4·Tpgm2, wenn die Programmierzeitspanne für eine Spannungsimpulsserie des ersten ISPP-Musters Tpgm1 ist und die Programmierzeitspanne für eine Spannungsimpulsserie des zweiten ISPP-Musters Tpgm2 ist. Optional können die Wortleitungen stattdessen bei Bedarf in drei oder mehr Sätze mit verschiedenen Sequenzen von Spannungsimpulsen aufgeteilt werden, die an eine ausgewählte Wortleitung eines jeden Satzes angelegt werden.
-
15 zeigt ein weiteres Ausführungsbeispiel von Spannungsimpulsen, die zur Programmierung von Speicherzellen in einem nichtflüchtigen Speicherbauelement, z. B. einem Flashspeicherbauelement, verwendet werden, bei dem die Wortleitungen in zwei Sätze eingeteilt sind. Im Ausführungsbeispiel gemäß 15 ist der Anstieg von allen Spannungsimpulsen in der zweiten Sequenz von Spannungsimpulsen, z. B. dem zweiten ISPP-Muster, unterschiedlich. Jedoch ist der Anstieg von wenigstens einem der Spannungsimpulse für die erste Sequenz von Spannungsimpulsen in 15, z. B. für Wortleitungen, die nicht in der Nähe der Kettenauswahlleitung SSL angeordnet sind, steiler als der Anstieg von wenigstens einem oder möglicherweise allen Spannungsimpulsen der zweiten Sequenz von Spannungsimpulsen für eine oder mehrere Wortleitungen in der Nähe der Kettenauswahlleitung SSL. In vorteilhafter Weise können die Anstiege von allen Spannungsimpulsen der ersten Sequenz von Spannungsimpulsen steiler als der Anstieg von jedem der Spannungsimpulse der zweiten Spannungsimpulssequenz gemäß 15 sein.
-
16 zeigt ein weiteres Ausführungsbeispiel von Spannungsimpulsen, die zur Programmierung von Speicherzellen in einem nichtflüchtigen Speicherbauelement, z. B. einem Flashspeicherbauelement, verwendet werden, bei dem die Wortleitungen in zwei Sätze eingeteilt sind. Im Ausführungsbeispiel gemäß 16 sind die Anstiege von wenigstens zwei Spannungsimpulsen im ersten ISPP-Muster gleich. Zudem ist es möglich, dass alle Spannungsimpulse im ersten ISPP-Muster gleich sind. Jedoch ist wiederum der Anstieg von wenigstens einem der Spannungsimpulse für die erste Spannungsimpulssequenz in 16, z. B. für Wortleitungen, die nicht in der Nähe der Kettenauswahlleitung SSL angeordnet sind, steiler als der Anstieg von wenigstens einem oder möglicherweise allen Spannungsimpulsen der zweiten Spannungsimpulssequenz für eine oder mehrere Wortleitungen in der Nähe der Kettenauswahlleitung SSL. Wiederum können in vorteilhafter Weise die Anstiege von allen Spannungsimpulsen der ersten Spannungsimpulssequenz steiler als der Anstieg von jedem der Spannungsimpulse der zweiten Spannungsimpulssequenz gemäß 16 sein.
-
17 zeigt ein schematisches Funktionsblockdiagramm von relevanten Teilen einer erfindungsgemäßen Ausführungsform eines nichtflüchtigen Speicherbauelements 1700, z. B. eines Flashspeicherbauelements. Zusätzlich zu nicht dargestellten Elementen umfasst das Speicherbauelement 1700 einen Generator 1710 für hohe Spannung, einen Wortleitungsspannungsgenerator 1750 und ein NAND-Flashspeicherzellenfeld 1790. Der Wortleitungsspannungsgenerator 1750 umfasst einen Impulsspannungsgenerator 1760, eine Wortleitungsanstiegssteuerschaltung 1770 und einen Multiplexer 1780.
-
Der Spannungsgenerator 1710 erzeugt eine hohe Spannung von z. B. 18 V, die zur Programmierung einer Speicherzelle verwendet wird, und stellt die hohe Spannung dem Impulsspannungsgenerator 1760 zur Verfügung. Der Impulsspannungsgenerator 1760 erzeugt eine erste Spannungsimpulssequenz, die an eine ausgewählte Wortleitung zum Programmieren von Speicherzellen des NAND-Flashspeicherzellenfelds 1790 angelegt wird. In vorteilhafter Weise gibt der Impulsspannungsgenerator 1760 die erste Spannungsimpulssequenz gemäß der ISPP-Technik aus. Die Wortleitungsanstiegssteuerschaltung 1770 empfängt die erste Spannungsimpulssequenz und steuert den Anstieg von wenigstens einem der Spannungsimpulse der ersten Sequenz, um dadurch eine zweite Spannungsimpulssequenz zu erzeugen. In vorteilhafter Weise kann die erste und zweite Spannungsimpulssequenz irgendein Paar der in 14 bis 16 dargestellten Sequenzen sein. Der Multiplexer 1780 empfängt die erste und zweite Spannungsimpulssequenz und gibt in Abhängigkeit von der ausgewählten Wortleitung, die von einer Zeilenadresse „ROW Address” angezeigt wird, die erste oder zweite Spannungsimpulssequenz aus. Hierbei gibt, wenn die Zeilenadresse eine ausgewählte Wortleitung anzeigt, die in der Nähe der Kettenauswahlleitung SSL angeordnet ist, d. h. eine Wortleitung aus dem zweiten Wortleitungssatz, der Multiplexer 1780 die zweite Spannungsimpulssequenz aus. Wenn die Zeilenadresse eine ausgewählte Wortleitung anzeigt, die nicht in der Nähe der Kettenauswahlleitung SSL angeordnet ist, d. h. eine Wortleitung aus dem ersten Wortleitungssatz, gibt der Multiplexer 1780 die zweite Spannungsimpulssequenz der Wortleitungsanstiegssteuerschaltung 1770 aus.
-
Wie oben ausgeführt, zeigt 17 ein grobes Funktionsdiagramm, so dass die Anordnung der Elemente in 17 nur illustrativ ist. Obwohl beispielsweise die Ausführungsform gemäß 17 den Multiplexer 1780 am Ausgang der Wortleitungsanstiegssteuerschaltung 1770 zeigt, kann die Multiplexerfunktion alternativ am Eingang der Wortleitungsanstiegssteuerschaltung 1770 ausgeführt sein, oder, wie nachfolgend ausgeführt wird, die Multiplexerfunktion kann durch eine selektive Änderung des Anstiegs ausgeführt werden, der von der Wortleitungsanstiegssteuerschaltung 1770 bereitgestellt wird, um dadurch die erste und zweite Spannungsimpulssequenz zu erzeugen.
-
18 zeigt ein Blockdiagramm von relevanten Teilen einer weiteren erfindungsgemäßen Ausführungsform eines nichtflüchtigen Speicherbauelements 1800, z. B. eines Flashspeicherbauelements. Zusätzlich zu nicht dargestellten Elementen umfasst das Speicherbauelement 1800 einen Taktsignalgenerator 1815, einen Wortleitungsspannungsgenerator 1850, einen Wortleitungsdecoder 1885 und ein NAND-Flashspeicherzellenfeld 1890. Der Wortleitungsspannungsgenerator 1850 umfasst einen Impulsspannungsgenerator und eine Wortleitungsanstiegssteuerschaltung.
-
19 zeigt ein Blockdiagramm eines ersten Ausführungsbeispiels eines z. B. im Bauelement von 18 verwendbaren Wortleitungsspannungsgenerators 1900. Der Wortleitungsspannungsgenerator 1900 umfasst eine Spannungskaskade bzw. Spannungskettenschaltung 1920, eine Schrittspannungssteuerschaltung 1940 und eine Zeitablaufsteuerschaltung 1960. Die Spannungskettenschaltung 1920 empfängt eine Spannungsimpulssequenz Vpgm1 und erzeugt daraus eine Mehrzahl von Spannungen V0, V1, V2, ..., Vn – 1. Die Zeitablaufsteuerschaltung 1960 gibt ein Taktsignal mit einer Mehrzahl von im Wesentlichen gleichen Zeitperioden aus. Die Schrittspannungssteuerschaltung 1940 empfängt das Taktsignal von der Zeitablaufsteuerschaltung 1960 und wählt während jeder der Mehrzahl von Zeitperioden eine Spannung von der Spannungskettenschaltung 1920 aus, um den Anstieg von wenigstens einem Spannungsimpuls in Reaktion auf die Zeilenadresse „ROW Address” zu steuern, die mit der ausgewählten Wortleitung korrespondiert. Das bedeutet, dass die Schrittspannungssteuerschaltung 1940 während jeder Taktperiode entsprechend der Zeilenadresse der ausgewählten Wortleitung einen Spannungswert setzt und dadurch den Anstieg bzw. die Anstiegszeit des Spannungsimpulses entsprechend der Position der ausgewählten Wortleitung steuert.
-
Wie in 20 dargestellt, gibt die Spannungssteuerschaltung 1940, wenn die Zeilenadresse anzeigt, dass die ausgewählte Wortleitung, z. B. eine der Wortleitungen WL0 bis WL29, nicht in der Nähe der Kettenauswahlleitung SSL angeordnet ist, während jeder Taktperiode größere Spannungsschritte aus, um Spannungsimpulse Vpgm2 zu erzeugen, wie sie aus dem ganz rechts in 20 dargestellten Beispiel ersichtlich sind. Optional benutzt die Spannungssteuerschaltung 1940 während der ersten Taktperiode den größtmöglichen Sprung auf einen Pegel V8 und hält die Spannung auf dem Pegel V8 für die Dauer des Spannungspulses Vpgm1. Entsprechend gibt der Wortleitungsspannungsgenerator 1900 in diesem Fall eine erste Spannungsimpulssequenz mit relativ steilen Anstiegen aus. Andererseits gibt die Spannungssteuerschaltung 1940, wenn die Zeilenadresse anzeigt, dass die ausgewählte Wortleitung, z. B. Wortleitung WL30 oder WL31, in der Nähe der Kettenauswahlleitung SSL angeordnet ist, während jeder Taktperiode kleinere Spannungsschritte aus, um Spannungsimpulse Vpgm2 zu erzeugen, wie sie aus dem ganz links in 20 dargestellten Beispiel ersichtlich sind. Entsprechend gibt der Wortleitungsspannungsgenerator 1900 in diesem Fall eine zweite Spannungsimpulssequenz mit relativ flachen Anstiegen aus.
-
21 zeigt ein Blockdiagramm eines zweiten Ausführungsbeispiels eines erfindungsgemäß einsetzbaren Wortleitungsspannungsgenerators 2100. Der Wortleitungsspannungsgenerator 2100 umfasst eine Spannungskettenschaltung 2120, eine Schrittspannungssteuerschaltung 2140 und eine Zeitablaufsteuerschaltung 2160. Die Spannungskettenschaltung 2120 empfängt eine Spannungsimpulssequenz VPGM1 und erzeugt daraus eine Mehrzahl von Spannungen V0, V1, V2, ..., Vn – 1. Die Zeitablaufsteuerschaltung 2160 gibt ein Taktsignal mit einer Mehrzahl von Zeitperioden aus. Die Schrittspannungssteuerschaltung 2140 empfängt das Taktsignal von der Zeitablaufsteuerschaltung 2160 und erhöht in Reaktion darauf während jeder der Mehrzahl von Zeitperioden die Spannung von der Spannungskettenschaltung 2120 um einen vorbestimmten Wert. In vorteilhafter Weise setzt die Zeitablaufsteuerschaltung 2160 die Zeitperioden fest, um den Anstieg von wenigstens einem Spannungsimpuls in Reaktion auf die Zeilenadresse „ROW Address” zu steuern, die mit der ausgewählten Wortleitung korrespondiert. Das bedeutet, dass die Zeitablaufsteuerschaltung 2160 die Zeitdauer für jede Taktperiode entsprechend der Zeilenadresse der ausgewählten Wortleitung setzt und dadurch den Anstieg bzw. die Anstiegszeit des Spannungsimpulses entsprechend der Position der ausgewählten Wortleitung steuert.
-
Wie in 22 dargestellt ist, setzt die Zeitablaufsteuerschaltung 2160, wenn die Zeilenadresse anzeigt, dass die ausgewählte Wortleitung, z. B. eine der Wortleitungen WL0 bis WL29, nicht in der Nähe der Kettenauswahlleitung SSL angeordnet ist, jede Taktperiode auf einen sehr kurzen Wert, um Spannungsimpulse Vpgm2 zu erzeugen, wie sie aus dem ganz rechts in 22 dargestellten Beispiel ersichtlich sind. Entsprechend gibt der Wortleitungsspannungsgenerator 2100 in diesem Fall eine erste Spannungsimpulssequenz mit relativ steilen Anstiegen aus. Andererseits setzt die Zeitablaufsteuerschaltung 2160, wenn die Zeilenadresse anzeigt, dass die ausgewählte Wortleitung, z. B. die Wortleitungen WL30 oder WL31, in der Nähe der Kettenauswahlleitung SSL angeordnet ist, jede Taktperiode auf einen längeren Wert, um einen Ausgabeimpuls mit den Spannungsimpulsen Vpgm2 zu erzeugen, wie sie aus dem ganz links in 22 dargestellten Beispiel ersichtlich sind. Entsprechend gibt der Wortleitungsspannungsgenerator 2100 in diesem Fall eine zweite Spannungsimpulssequenz mit relativ flachen Anstiegen aus.
-
Das erste und zweite Ausführungsbeispiel gemäß den 19 bis 22 sind insbesondere für Fälle geeignet, in denen die Wortleitungen in zwei oder mehr Sätze aufgeteilt sind. Bei diesen Ausführungsbeispielen ist es möglich, dass jede Wortleitung in Abhängigkeit von ihrem Abstand zur Kettenauswahlleitung SSL getrennt mit einer anderen Spannungsimpulssequenz behandelt wird, die eine unterschiedliche Folge von Anstiegen aufweisen, die für jede Wortleitung erzeugt werden. In diesem Fall wird in vorteilhafter Weise der Anstieg von wenigstens einem Spannungsimpuls der zweiten Spannungsimpulssequenz für eine Wortleitung, welche näher an der Kettenauswahlleitung SSL angeordnet ist, flacher als der Anstieg von wenigstens einem Spannungsimpuls der ersten Spannungsimpulssequenz für eine Wortleitung ausgeführt, welche weiter entfernt von der Kettenauswahlleitung SSL angeordnet ist. In vorteilhafter Weise können die Anstiege von allen Spannungsimpulsen in der ersten Spannungsimpulssequenz steiler als der Anstieg von jedem der Spannungsimpulse der zweiten Spannungsimpulssequenz sein.
-
23 zeigt ein Blockdiagramm eines dritten erfindungsgemäßen Ausführungsbeispiels eines Wortleitungsspannungsgenerators 2300. Der Wortleitungsspannungsgenerator 2300 umfasst einen nicht dargestellten Impulsspannungsgenerator, eine Wortleitungsanstiegssteuerschaltung 2320, einen Multiplexer 2340 und einen Wortleitungsdetektor 2360. Der Impulsspannungsgenerator erzeugt eine erste Spannungsimpulssequenz Vpgm1, welche an eine ausgewählte Wortleitung zum Programmieren von Speicherzellen eines nicht dargestellten nichtflüchtigen Seicherzellenfelds angelegt wird. In vorteilhafter Weise gibt der Impulsspannungsgenerator die erste Spannungsimpulssequenz entsprechend der ISPP-Technik aus. Die Wortleitungsanstiegssteuerschaltung 2320 empfängt die erste Spannungsimpulssequenz Vpgm1 und steuert den Anstieg von wenigstens einem der Spannungsimpulse Vpgm1 der ersten Sequenz, um dadurch eine zweite Spannungsimpulssequenz Vpgm2 zu erzeugen. In vorteilhafter Weise können die erste und zweite Spannungsimpulssequenz Vpgm1 und Vpgm2 irgendein Paar der in den 14 bis 16 dargestellten Sequenzen sein. Der Multiplexer 2340 empfängt die erste und zweite Spannungsimpulssequenz Vpgm1 und Vpgm2 und gibt in Abhängigkeit von der ausgewählten Wortleitung, die vom Wortleitungsdetektor 2360 detektiert wird, die erste oder zweite Spannungsimpulssequenz Vpgm1 oder Vpgm2 aus. Wenn der Wortleitungsdetektor 2360 eine ausgewählte Wortleitung detektiert, die nicht in der Nähe der Kettenauswahlleitung SSL angeordnet ist, d. h. eine Wortleitung aus dem ersten Wortleitungssatz, steuert der Wortleitungsdetektor 2360 den Multiplexer 2340 zur Ausgabe der ersten Spannungsimpulssequenz Vpgm1 an. Hingegen steuert der Wortleitungsdetektor 2360 den Multiplexer 2340 zur Ausgabe der zweiten Spannungsimpulssequenz Vpgm2 von der Wortleitungsanstiegssteuerschaltung 2320 an, wenn der Wortleitungsdetektor 2360 eine ausgewählte Wortleitung detektiert, die in der Nähe der Kettenauswahlleitung SSL angeordnet ist, d. h. eine Wortleitung aus dem zweiten Wortleitungssatz ist.
-
Obwohl die Ausführungsform gemäß 23 den Multiplexer 2340 am Ausgang der Wortleitungsanstiegssteuerschaltung 2320 zeigt, kann der Multiplexer alternativ am Eingang der Wortleitungsanstiegssteuerschaltung 2320 angeordnet sein. Zudem kann der Multiplexer in den Multiplexer des Wortleitungsdecoders 1885 aus 18 integriert sein.
-
24 zeigt ein Flussdiagramm eines erfindungsgemäßen Programmierverfahrens 2400 für ein nichtflüchtiges Speicherbauelement, z. B. ein Flashspeicherbauelement. In einem ersten Schritt 2410 wird eine Sequenz erster Spannungsimpulse Vpgm1 erzeugt. Die Spannungspulse Vpgm1 der ersten Sequenz weisen einen ersten Anstieg auf. In vorteilhafter Weise weisen die Spannungsimpulse der ersten Sequenz eine Serie von zunehmenden Amplituden entsprechend einer ISPP-Technik auf.
-
Im Schritt 2420 wird festgestellt, ob die ausgewählte Wortleitung n der Näher der Kettenauswahlleitung SSL angeordnet ist. Wenn im Schritt 2420 festgestellt wird, dass die ausgewählte Wortleitung in der Nähe der Kettenauswahlleitung SSL angeordnet ist, wird im Schritt 2430 eine zweite Sequenz von Spannungsimpulsen Vpgm2 erzeugt. Die Spannungsimpulse Vpgm2 der zweiten Sequenz weisen einen zweiten Anstieg auf. Wenigstens einer der Spannungsimpulse Vpgm1 der ersten Sequenz weist eine steilere Flanke als wenigstens einer der Spannungsimpulse Vpgm2 der zweiten Sequenz auf. In vorteilhafter Weise weisen die Spannungsimpulse Vpgm2 der zweiten Sequenz eine Serie von zunehmenden Amplituden entsprechend einer ISPP-Technik auf.
-
Dann wird im Schritt 2440 die zweite Spannungsimpulssequenz Vpgm2 an die ausgewählte Wortleitung angelegt. Hingegen wird im Schritt 2450, wenn im Schritt 2420 festgestellt wird, dass die ausgewählte Wortleitung nicht in der Nähe der Kettenauswahlleitung SSL angeordnet ist, die erste Spannungsimpulssequenz Vpgm1 an die ausgewählte Wortleitung angelegt. Danach wird im Schritt 2460 der Programmiervorgang der Speicherzelle ausgeführt. Schließlich wird im Schritt 2470 der Programmiervorgang beendet.
-
25 zeigt ein erfindungsgemäßes Speichersystem 2500 mit einer Speichersteuerschaltung 2520 und dem nichtflüchtigen Speicherbauelement 1800, z. B. einem Flashspeicherbauelement gemäß 18, das selektiv entweder eine erste Spannungsimpulssequenz oder eine zweite Spannungsimpulssequenz an eine ausgewählte Wortleitung zur Programmierung der nichtflüchtigen Speicherzellen anlegt, die mit der ausgewählten Wortleitung verbunden sind, wobei der Anstieg von wenigstens einem Spannungsimpuls der ersten Spannungsimpulssequenz steiler als der Anstieg von wenigstens einem Spannungsimpuls der zweiten Spannungsimpulssequenz ist.
-
Die Speichersteuerschaltung 2520 legt eine Adresse zum Schreiben von Daten in eine oder mehrere nichtflüchtige Speicherzellen an, die mit der ausgewählten Wortleitung verbunden sind. Das Speicherbauelement 1800 empfängt die Adresse von der Speichersteuerschaltung 2520 und der Wortleitungsdecoder 1885 decodiert die Adresse, um eine korrespondierende auszuwählende Wortleitung zur Programmierung der verbundenen Speicherzellen zu bestimmen. Wie oben ausgeführt, gibt der Wortleitungsspannungsgenerator 1850 in vorteilhafter Weise die erste Spannungsimpulssequenz Vpgm1 an die ausgewählte Wortleitung aus, wenn das Speicherbauelement 1800 detektiert, dass die ausgewählte Wortleitung nicht in der Nähe der Kettenauswahlleitung SSL angeordnet ist, d. h. eine Wortleitung des ersten Wortleitungssatzes ist. Hingegen gibt der Wortleitungsspannungsgenerator 1850 die zweite Spannungsimpulssequenz Vpgm2 an die ausgewählte Wortleitung aus, wenn der Wortleitungsdetektor 2360 gemäß 23 detektiert, dass die ausgewählte Wortleitung in der Nähe der Kettenauswahlleitung SSL angeordnet ist, d. h. eine Wortleitung des zweiten Wortleitungssatzes ist, wobei der Anstieg von wenigstens einem Spannungsimpuls der ersten Spannungsimpulssequenz steiler als der Anstieg von wenigstens einem Spannungsimpuls der zweiten Spannungsimpulssequenz ist. In vorteilhafter Weise können die erste und die zweite Spannungsimpulssequenz eine Sequenz sein, die in irgendeiner der 14 bis 16 dargestellt ist.
-
26 fasst die Programmierungsbedingungen für die Wortleitungen in einem erfindungsgemäßen Speicherbauelement zusammen. Wie aus 26 ersichtlich, ist die Programmierzeit Tpgm1 für eine erste Spannungsimpulssequenz, wenn ein ausgewählte Wortleitung weit entfernt von der Kettenauswahlleitung SSL angeordnet ist, kürzer als die Programmierzeit Tpgm2 für eine zweite Spannungsimpulssequenz, wenn die ausgewählte Wortleitung in der Nähe der Kettenauswahlleitung SSL angeordnet ist. Durch Reduzieren des Anstiegs bzw. durch eine längere Anstiegszeit der Spannungsimpulse der zweiten Sequenz ist es möglich, zu verhindern, dass eine große Spitze kapazitiv auf das Steuergate des Kettenauswahltransistors SST gekoppelt wird, wodurch ansonsten verursacht werden könnte, dass eine Programmsperrfunktion ausfällt. Daraus resultiert, dass gewährleistet werden kann, dass die Programmiersperrfunktion für alle Wortleitungen richtig arbeitet. Hierbei wird die Gesamtblockprogrammierzeit im Vergleich mit einem herkömmlichen Bauelement, das die gleiche Programmierzeit Tpgm1 für alle Wortleitungen verwendet, nur leicht erhöht.