DE10052326A1 - Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür - Google Patents

Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür

Info

Publication number
DE10052326A1
DE10052326A1 DE10052326A DE10052326A DE10052326A1 DE 10052326 A1 DE10052326 A1 DE 10052326A1 DE 10052326 A DE10052326 A DE 10052326A DE 10052326 A DE10052326 A DE 10052326A DE 10052326 A1 DE10052326 A1 DE 10052326A1
Authority
DE
Germany
Prior art keywords
programming
bit line
voltage
data
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10052326A
Other languages
English (en)
Other versions
DE10052326B4 (de
Inventor
Dong-Hwan Kim
Seok-Cheon Kwon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10052326A1 publication Critical patent/DE10052326A1/de
Application granted granted Critical
Publication of DE10052326B4 publication Critical patent/DE10052326B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output

Abstract

Die Erfindung bezieht sich auf ein nichtflüchtiges Halbleiterspeicherbauelement mit einer Bitleitung (BL1, BL2), mehreren senkrecht dazu angeordneten Wortleitungen (W/L1, ..., W/L16) und einem Speicherschaltkreis mit wenigstens zwei Zwischenspeichern (LT1, LT2), die jeweils mit einer zugehörigen Eingabe/Ausgabe-Leitung (I/01, I/02) gekoppelt sind, zum Zwischenspeichern von Daten, und auf ein Verfahren zur Programmierung eines solchen Speicherbauelements. DOLLAR A Erfindungsgemäß wird die Bitleitung durch eine Programmierdatendiskriminatorschaltung (NOR, MN10) während eines Programmiervorgangs in Abhängigkeit von den Logikzuständen der in den Zwischenspeichern gepufferten Daten auf eine Programmierspannung oder eine Programmiersperrspannung gesetzt. DOLLAR A Verwendung z. B. für Masken-ROMs, EPROMs, EEPROMs und Flash-EEPROMs.

Description

Die Erfindung bezieht sich auf ein nichtflüchtiges Halblei­ terspeicherbauelement nach dem Oberbegriff des Anspruchs 1 und auf ein Verfahren zur Programmierung desselben.
Nichtflüchtige integrierte Schaltkreisspeicherbauelemente lassen sich in die Typen Masken-ROM, EPROM, EEPROM und Flash- EEPROM klassifizieren. Von diesen Speicherbauelementen sind in jüngerer Zeit die Flash-EEPROMs als Festwertspeicher für Personalcomputer im Gespräch, da sie eine elektrische Umwand­ lung von Information und ein Löschen gespeicherter Daten in einem "Flash" ermöglichen.
In herkömmlichen nichtflüchtigen Speicherbauelementen können Speicherzellen einen von zwei Informationsspeicherzuständen einnehmen, nämlich den "EIN"-Zustand und den "AUS"-Zustand. Ein Bit an Information ist durch den EIN- oder AUS-Zustand einer jeweiligen Speicherzelle definiert. Um Daten von N Bit, mit N als einer natürlichen Zahl größer oder gleich zwei, in den oben erwähnten, herkömmlichen Speicherbauelementen zu speichern, sind eine entsprechende Anzahl N unabhängiger Speicherzellen nötig. Wenn Bedarf daran besteht, die Anzahl an Datenbits, die in einem Speicherbauelement mit solchen Einbit-Speicherzellen zu speichern sind, zu erhöhen, muss die Anzahl solcher Speicherzellen entsprechend erhöht werden.
In einer herkömmlichen Einbit-Speicherzelle gespeicherte In­ formation ist durch den programmierten Zustand der Speicher­ zelle bestimmt, wobei die Programmierung dazu benutzt wird, die gewünschte Information in der Speicherzelle zu speichern. Der Informationsspeicherzustand der Speicherzelle ist durch die Schwellenspannung bestimmt, welche die minimale Spannung darstellt, die zwischen den Gate- und den Source-Anschluss eines in der Speicherzelle enthaltenen Transistors anzulegen ist, um den Zellentransistor in seinen EIN-Zustand zu schal­ ten. Mit anderen Worten besitzen Speicherzellen unterschied­ liche Informationsspeicherzustände gemäß unterschiedlichen Schwellenspannungen derselben. Im Fall von EPROMs, EEPROMs und Flash-EEPROMs wird eine Differenz in der Schwellenspan­ nung von Zellentransistoren durch Speichern unterschiedlicher Ladungsmengen in potentialfreien Gate-Elektroden der Spei­ cherzellen erhalten.
Speziell hat hierbei jeder Speicherzellentransistor zwei Ga­ te-Elektroden mit einer oberen und einer unteren Schicht, die auf einen Kanalbereich zwischen einem Source- und einem Drain-Bereich laminiert sind. Die obere Gate-Elektrode wird als Steuer-Gate bezeichnet. Ein Ladungsspeicherteil ist von einem isolierenden Material zwischen dem Steuer-Gate und dem Kanalbereich umgeben. Dieser Ladungsspeicherteil wird als po­ tentialfreies oder "schwebendes" Gate bezeichnet. Dementspre­ chend kann der in jeder Speicherzelle gespeicherte Informati­ onszustand durch die Schwellenspannung dieser Speicherzelle unterscheidbar erkannt werden.
Um in den Speicherzellen eines Speicherbauelementes gespei­ cherte Information zu lesen, muss der Informationsspeicherzu­ stand der programmierten Speicherzellen abgefragt werden. Zu diesem Zweck werden Signale, die zum Lesen von Zustandsinfor­ mation aus einer ausgewählten Speicherzelle benötigt werden, unter Verwendung einer Decoderschaltung an Schaltkreise ange­ legt, die mit der ausgewählten Speicherzelle verknüpft sind. Dadurch kann auf einer Bitleitung ein Strom- oder Spannungs­ signal erhalten werden, das für die gespeicherte Information der Speicherzelle indikativ ist. Auf diese Weise kann die programmierte Information einer Speicherzelle durch Messen des erhaltenen Strom- oder Spannungssignals ermittelt werden.
Diese Speicherbauelemente können abhängig von der Verbindung der Speicherzellen mit jeweiligen Bitleitungen eine Speicher­ zellenfeldstruktur vom NOR-Typ oder NAND-Typ haben. In einem Speicherzellenfeld vom NOR-Typ ist jede Speicherzelle zwi­ schen eine Bitleitung und eine Masseleitung eingeschleift. In einem Speicherzellenfeld vom NAND-Typ sind mehrere Speicher­ zellen seriell zwischen eine Bitleitung und eine Masseleitung eingeschleift. Eine Gruppe von Speicherzellen, die seriell mit einer Bitleitung zusammen mit Auswahltransistoren verbun­ den sind, die zum Auswählen dieser Speicherzellen verwendet werden, wird als Kette bezeichnet. Die Auswahltransistoren können einen ersten Transistor oder Kettenauswahltransistor, der zwischen den seriell verbundenen Speicherzellen und der zugehörigen Bitleitung angeordnet ist, und einen zweiten Transistor oder Masseauswahltransistor umfassen, der zwischen den seriell verbundenen Speicherzellen und einer Masseleitung angeordnet ist.
Wenn eine Information, die in einem Speicherbauelement vom NAND-Typ gespeichert ist, gelesen wird, wird ein Auswahltran­ sistor in einer ausgewählten Kette in den EIN-Zustand ge­ schaltet. Außerdem wird an die Steuer-Gates nicht ausgewähl­ ter Speicherzellen eine Spannung angelegt, die höher als die an das Steuer-Gate der ausgewählten Speicherzelle angelegte Spannung ist. Dadurch weisen die nicht ausgewählten Speicher­ zellen im Vergleich zu der ausgewählten Speicherzelle einen niedrigen äquivalenten Widerstand auf. Die Höhe des über die Kette von der zugehörigen Bitleitung fließenden Stroms hängt folglich von der in der ausgewählten Speicherzelle der Kette gespeicherten Information ab. Die Spannung oder der Strom, welche bzw. welcher der Information entspricht, die in jeder ausgewählten Speicherzelle gespeichert ist, wird durch eine Abtastschaltung abgetastet, die allgemein unter der Bezeich­ nung Abtast- oder Leseverstärker bekannt ist.
Es wurden bereits viele Methoden vorgeschlagen, die Informa­ tionsspeicherkapazität von Speicherbauelementen zu erhöhen, ohne dazu die Chipabmessung vergrößern zu müssen. In jeder Speicherzelle kann z. B. eine Information von wenigstens zwei Bit gespeichert werden. Herkömmlicherweise speichert eine Speicherzelle nur ein Bit an Information. Wenn zwei Bit an Information in einer Speicherzelle gespeichert werden, ist diese folglich mit "00", "01", "10" oder "11" programmiert. Dementsprechend kann ein solches Speicherbauelement mit der­ selben Anzahl an Speicherzellen doppelt so viel Information speichern wie ein Speicherbauelement, bei dem nur ein Bit pro Speicherzelle gespeichert wird. Wenn pro Speicherzelle zwei Bit gespeichert werden, wird dadurch ein Mehrzustands- Speicherbauelement bereitgestellt, bei dem die Schwellenspan­ nung jeder Speicherzelle auf einen von vier verschiedenen Werten programmiert werden kann. Da die Speicherkapazität pro Speicherzelle verdoppelt wird, kann die Chipabmessung bei konstant bleibender Speicherkapazität reduziert werden. Mit wachsender Anzahl an pro Speicherzelle gespeicherten Bits er­ höht sich die Datenspeicherkapazität des Mehrzustands-Spei­ cherbauelements.
Fig. 1 zeigt ein Schaltbild eines herkömmlichen Speicherbau­ elements, bei dem pro Speicherzelle zwei Bit an Information unter Verwendung von Flash-EEPROM-Zellen vom NAND-Typ gespei­ chert werden. Ein solches Speicherbauelement ist in der Pa­ tentschrift US 5.768.188 offenbart, deren Inhalt hierin durch Verweis aufgenommen wird.
Das dort beschriebene Speicherbauelement beinhaltet zwei Speicherzellenketten mit jeweils mehreren seriell verbundenen Speicherzellen. Es sind zwei Bitleitungen BL1, BL2 veran­ schaulicht, die mit einer jeweiligen Speicherzellenkette ver­ knüpft sind, wobei diese Bitleitungen zu verschiedenen Grup­ pen gehören. Wie für den Fachmann klar, kann eine höhere An­ zahl an Speicherzellenketten und jeweiligen Bitleitungen ver­ wendet werden. In Fig. 1 sind die Speicherzellen jeder Kette mit T1-2 bis T1-5 bzw. T1-8 bis T1-11 bezeichnet. Ein Aus­ wahltransistor T1-1 bzw. T1-7 ist zwischen jede Kette und die zugehörige Bitleitung eingeschleift. Der Auswahltransistor wird selektiv leitend geschaltet, um die zugehörige Kette und die Bitleitung miteinander zu verbinden. Ein weiterer Aus­ wahltransistor T1-6 bzw. T1-12 ist zwischen jede Kette und eine gemeinsame Quellenleitung CSL eingeschleift, um die Ver­ bindung zwischen der Kette und der gemeinsamen Quellenleitung CSL selektiv zu schalten. Ein Verarmungstransistor D1-1 bzw. D1-2 ist ebenfalls mit der jeweiligen Bitleitung gekoppelt, um die Beaufschlagung mit einer hohen Spannung zu verhindern.
Mit jeder Bitleitung ist außerdem ein Bitleitungs-Auswahl­ transistor S1-1 bzw. S1-2 verbunden. Jeder Bitleitungs- Auswahltransistor wählt eine jeweilige Bitleitung in Reaktion auf ein Bitleitungsauswahlsignal A9 bzw. A9b aus. Eine Sig­ nalleitung BLLVL ist mit jeder der Bitleitungen über Trans­ missionstransistoren TM1-1 bzw. TM1-2 verbunden. Jeder Trans­ missionstransistor beaufschlagt die zugehörige Bitleitung in Reaktion auf das an ihn angelegte Bitleitungsauswahlsignal A9 bzw. A9b mit dem Signal BLLVL von der betreffenden Signallei­ tung, wenn die Bitleitung nicht ausgewählt ist. Das Signal BLLVL führt der nicht ausgewählten Bitleitung während Pro­ grammier- und Lesevorgängen eine Programmiersperrspannung zu, z. B. die Speisespannung Vcc, während es bei Löschvorgängen potentialfrei bleibt. Mit den Bitleitungen ist des weiteren ein Transistor T1-13 verbunden, um der ausgewählten Bitlei­ tung während eines Lesevorgangs einen statischen Strom zuzu­ führen. Das Speicherbauelement von Fig. 1 beinhaltet des wei­ teren Abtastverstärker 11-1 und 11-2 bzw. 11-3 und 11-4 vom Zwischenspeichertyp, die mit einer jeweiligen Bitleitung ver­ knüpft sind. Die Abtastverstärker puffern extern während ei­ nes Programmiervorgangs zugeführte Daten, führen der zugehö­ rigen Bitleitung eine den zwischengespeicherten Daten ent­ sprechende Spannung zu und puffern die während eines Lesevor­ gangs gelesenen Daten.
Eine Mehrzahl von Transistoren von T1-17 bis T1-23 ist dazu vorgesehen, Zwischenspeicherzustände der Abtastverstärker in Abhängigkeit von einem während eines Lesevorgangs ausgewähl­ ten Bitleitungspegel zu invertieren oder beizubehalten. Diese Funktion wird durch Zwischenspeicherfreigabesignale ϕV2, ϕV1 und ϕR1 gesteuert. Diese Zwischenspeicherfreigabesignale wer­ den impulsförmig zu dem Zeitpunkt freigegeben, zu dem eine Invertierung im Zwischenspeicherzustand erforderlich ist, nachdem seit dem Beginn eines Lesevorgangs eine vorgebbare Zeitdauer verstrichen ist. Mit den Bitleitungen ist außerdem ein Transistor T1-15 verbunden, der die Zwischenspeicher un­ mittelbar vor der Ausführung eines Lesevorgangs initiali­ siert, während er die Bitleitungen auf einem Massespannungs­ zustand hält. Der Transistor T1-15 wird durch ein Signal DCB gesteuert. Mit einer jeweiligen Bitleitung gekoppelte Tran­ sistoren T1-14 und T1-16 werden leitend geschaltet, wenn ein Programmiervorgang ausgeführt wird, um dadurch die zwischen­ gespeicherten Daten zu den jeweiligen Bitleitungen zu über­ tragen. Die Transistoren T1-14 und T1-16 werden durch ein je­ weiliges Steuersignal PGM1, PGM2 gesteuert.
Fig. 2 zeigt eine Schwellenspannungsverteilung einer Spei­ cherzelle in Abhängigkeit von programmierten Daten. Wie dar­ aus ersichtlich, besitzt eine programmierte Speicherzelle entweder eine Schwellenspannungsverteilung unterhalb von - 2,0 V, was 2-Bit-Daten der Form "11" anzeigt, eine Schwellen­ spannungsverteilung zwischen 0,4 V und 0,8 V, was 2-Bit-Daten der Form "10" anzeigt, eine Schwellenspannungsverteilung zwi­ schen 1,6 V und 2,0 V, was 2-Bit-Daten der Form "01" anzeigt, oder eine Schwellenspannungsverteilung zwischen 2,8 V und 3,2 V, was zwei Bit-Daten der Form "00" anzeigt. Auf der Basis dieser Schwellenspannungsverteilungen können Daten in vier verschiedenen Zuständen in einer Speicherzelle gespeichert werden.
In den Fig. 3 und 4 sind Signalverläufe von Signalen veran­ schaulicht, die mit Programmier- und Programmierprüfvorgängen verknüpft sind. Der Programmierzyklus beinhaltet einen Pro­ grammiervorgang, in welchem Elektronen in potentialfreie Ga­ te-Elektroden von Speicherzellen injiziert werden, und einen Programmierprüfvorgang, in welchem nachgeprüft wird, ob jede programmierte Speicherzelle eine gewünschte Schwellenspannung aufweist oder nicht. Die Programmier- und Programmierprüfvor­ gänge werden wiederholt, bis alle ausgewählten Speicherzellen die gewünschten Schwellenspannungen aufweisen. Die Anzahl an Wiederholungen dieser Vorgänge kann auf einen geeigneten Wert begrenzt werden, der intern im Speicherbauelement festgelegt wird. Um einen Programmiervorgang in einer ausgewählten Spei­ cherzelle unter Verwendung von Fowler-Nordheim-Tunneln auszu­ führen, wird an die Gate-Elektrode der Zelle eine hohe Span­ nung, z. B. 14 V bis 19 V, als vorgegebene Programmierspannung angelegt, während der Kanal der Zelle auf dem Massespannungs­ pegel gehalten wird.
Dementsprechend wird ein relativ starkes elektrisches Feld zwischen die potentialfreie Gate-Elektrode und den Kanal an­ gelegt. Unter der Wirkung eines solchen elektrischen Feldes tritt zwischen der potentialfreien Gate-Elektrode und dem Ka­ nal Tunneln durch einen Oxidfilm hindurch auf, der zwischen der potentialfreien Gate-Elektrode und dem Kanal gebildet ist. Im Kanal existierende Elektronen wandern dadurch in Richtung der potentialfreien Gate-Elektrode, so dass sich diese Elektronen dort ansammeln. Die Ansammlung von Elektro­ nen in der potentialfreien Gate-Elektrode resultiert in einem Anwachsen der Schwellenspannung der Zelle. Für den Fall eines aus mehreren Datenzellen bestehenden Speicherbauelementes werden Programmiervorgänge für die Datenzellen nicht einzeln, sondern gleichzeitig ausgeführt. Jedoch kann es sein, dass die Speicherzellen unterschiedliche Schwellenspannungen benö­ tigen, nämlich für einen unterschiedlichen Grad an Program­ mierung. Aus diesem Grund kann es notwendig sein, in einer Programmierprüfung zu überprüfen, ob die Speicherzellen nach Ausführung eines Programmiervorgangs ihre gewünschten Zustän­ de erreicht haben oder nicht, und für nicht vollständig pro­ grammierte Speicherzellen einen weiteren Programmiervorgang auszuführen, ohne die vollständig programmierten Speicherzel­ len zu beeinflussen, d. h. für letztere ist eine Programmier­ sperrung vorzusehen. Diese Programmier- und Programmierprüf­ vorgänge werden wiederholt, bis alle ausgewählten Speicher­ zellen ihre gewünschten Schwellenspannungen erreicht haben. Im Speicherbauelement von Fig. 1 wird nur die mit einer aus­ gewählten Wortleitung verbundene Hälfte der Speicherzellen in der oben beschriebenen Weise programmiert.
Der Programmiervorgang und der Programmierprüfvorgang nach dem Stand der Technik werden nachfolgend unter Bezugnahme auf das Zeitsteuerungsdiagramm von Fig. 3 erläutert. Vor dem Pro­ grammiervorgang haben alle Speicherzellen, wie dem Fachmann bekannt, aufgrund eines Löschschemas, wie es z. B. in der Pa­ tentschrift US 5.841.721 beschrieben ist, eine negative Schwellenspannung.
Wenn eine von zwei Bitleitungen in Abhängigkeit von den Bit­ leitungsauswahlsignalen A9 und A9b ausgewählt wird, z. B. die Bitleitung BL1, wird die Speisespannung Vcc von der Leitung BLLVL an die nicht ausgewählte Bitleitung BL2 angelegt, was eine Programmierung derjenigen Speicherzellen verhindert, die mit der nicht ausgewählten Bitleitung verknüpft, aber mit der ausgewählten Wortleitung verbunden sind. Diese Programmier­ sperrtechnik mit Beaufschlagung nicht ausgewählter Bitleitun­ gen durch eine Speisespannung ist dem Fachmann geläufig.
Zu programmierende Daten werden auf Zwischenspeicher Q2 und Q1 geladen, die mit der ausgewählten Bitleitung BL1 verknüpft sind. Wird z. B. angenommen, dass der Datenwert "00" auf die Zwischenspeicher Q2 und Q1 geladen wird, wechselt unter die­ ser Bedingung bei Beginn eines ersten Programmierzyklus (A) das Signal PGM1 zum Auswählen des Zwischenspeichers Q1 von einem niedrigen auf einen hohen Logikpegel. Dadurch nimmt die ausgewählte Bitleitung BL1 über den Transistor T1-16 einen Massespannungspegel ein. Eine Wortleitung, mit der eine aus­ gewählte Speicherzelle verbunden ist, wird mit einer hohen Spannung beaufschlagt. Nach Ablauf einer gewissen Zeitdauer wird der Programmierprüfvorgang durchgeführt, um zu überprü­ fen, ob die ausgewählte Speicherzelle bis auf die gewünschte Schwellenspannung von z. B. 0,4 V bis 0,8 V programmiert wurde.
Wenn ein Abtastvorgang zur Programmierprüfung ausgeführt wird, werden die Signale PGM1, PGM2 und PGM3 jeweils auf ei­ nem niedrigen Logikpegel gehalten. Wenn die ausgewählte Spei­ cherzelle nicht ausreichend programmiert wurde, wird die Bit­ leitung BL1 als Resultat des Abtastvorgangs weiter auf dem Massespannungspegel gehalten. Zu diesem Zeitpunkt sind die Transistoren T1-19 und T1-20 sperrend geschaltet, da die Lo­ gikzustände der ausgewählten Bitleitung BL1 und des Zwischen­ speichers Q1 auf niedrigem Logikpegel liegen. Wie in Fig. 3 veranschaulicht, wird daher der Logikzustand des Zwischen­ speichers Q1 in einer Programmierprüfperiode nicht inver­ tiert, selbst wenn das Zwischenspeicherfreigabesignal ϕV1 in Impulsform aktiviert wird. Der Programmiervorgang und der Programmierprüfvorgang, die sich auf den Zwischenspeicher Q1 beziehen, werden mit einer vorgegebenen Programmierfrequenz oder solange wiederholt, bis die ausgewählte Speicherzelle ausreichend programmiert ist. Nach Beendigung des ersten Pro­ grammierzyklus (A) besitzt dann die ausgewählte Speicherzelle eine Schwellenspannungsverteilung zwischen 0,4 V und 0,8 V, was dem Datenwert "10" entspricht, wie in den Fig. 6C und 6D veranschaulicht.
Sobald ein zweiter Programmierzyklus (B) von Fig. 3 beginnt, geht das Signal PGM2 zum Auswählen des Zwischenspeichers Q2 mit "0" von einem niedrigen auf einen hohen Logikpegel über.
Über den Transistor T1-14 liegt die ausgewählte Bitleitung BL1 auf Massespannungspegel. An der ausgewählten Wortleitung, die mit der ausgewählten Speicherzelle verbunden ist, liegt eine hohe Spannung an. Nach Ablauf einer gewissen Zeitdauer wird der Programmierprüfvorgang ausgeführt, um zu überprüfen, ob die ausgewählte Speicherzelle auf eine gewünschte Schwel­ lenspannung von z. B. 1,6 V bis 2,0 V programmiert wurde.
Wenn ein Abtastvorgang zur Programmierprüfung ausgeführt wird, werden die Signale PGM1, PGM2 und PGM3 jeweils auf niedrigem Logikpegel gehalten. Wenn die ausgewählte Speicher­ zelle ausreichend programmiert ist, verbleibt die Bitleitung BL1 als Ergebnis des Abtastvorgangs auf dem Speisespannungs­ pegel, wodurch der Transistor T1-17 leitend geschaltet wird. Wenn das Zwischenspeicheraktivierungssignal ϕV2, wie in Fig. 3 illustriert, während einer Programmierprüfperiode des zwei­ ten Programmierzyklus (B) impulsförmig aktiviert wird, wird der Logikzustand des Zwischenspeichers Q2 von "1" in "0" in­ vertiert. Andererseits wird, wenn die ausgewählte Speicher­ zelle nicht ausreichend programmiert ist, die ausgewählte Bitleitung BL1 auf dem Massespannungspegel gehalten, so dass der Zustand des Zwischenspeichers Q2 nicht invertiert wird. In diesem Fall werden der Programmiervorgang und der Program­ mierprüfvorgang, die mit dem Zwischenspeicher Q2 verknüpft sind, mit einer vorgegebenen Programmierfrequenz oder so lan­ ge wiederholt, bis die ausgewählte Speicherzelle ausreichend programmiert ist. Nach Abschluss des zweiten Programmierzyk­ lus (B) besitzt die ausgewählte Speicherzelle eine Schwellen­ spannungsverteilung von 1,6 V bis 2,0 V, was "01" entspricht, wie in den Fig. 6C und 6D veranschaulicht.
Sobald schließlich ein dritter Programmierzyklus (C) von Fig. 3 beginnt, geht das Signal PGM1 zum Auswählen des Zwischen­ speichers Q1 mit "0" von niedrigem auf hohen Logikpegel über. Die ausgewählte Bitleitung BL1 liegt über den Transistor T1- 16 auf Massespannungspegel. An die ausgewählte Wortleitung, mit der die ausgewählte Speicherzelle verbunden ist, wird ei­ ne hohe Spannung angelegt. Nach Ablauf einer gewissen Zeit­ dauer wird der Programmierprüfvorgang ausgeführt, um zu über­ prüfen, ob die ausgewählte Speicherzelle auf eine gewünschte Schwellenspannung von z. B. 2,8 V bis 3,2 V programmiert wurde.
Wenn ein Abtastvorgang zur Programmierprüfung ausgeführt wird, werden die Signale PGM1, PGM2 und PGM3 jeweils auf niedrigem Logikpegel gehalten. Wenn die ausgewählte Speicher­ zelle ausreichend programmiert ist, verbleibt die Bitleitung BL1 als Resultat des Abtastvorgangs weiterhin auf dem Speise­ spannungspegel, was den Transistor T1-17 leitend schaltet. Zu diesem Zeitpunkt ist der Transistor T1-20 leitend geschaltet, da sich der Zwischenspeicher Q2 im "1"-Zustand befindet. Wenn somit das Zwischenspeicheraktivierungssignal ϕV1, wie in Fig. 3 illustriert, während einer Programmierprüfperiode des drit­ ten Programmierzyklus (C) impulsförmig aktiviert wird, wird der Logikzustand des Zwischenspeichers Q1 von "I" in "0" in­ vertiert. Nach Abschluss des dritten Programmierzyklus (C) besitzt die ausgewählte Speicherzelle eine Schwellenspan­ nungsverteilung von 2,8 V bis 3,2 V, was "00" entspricht, wie in den Fig. 6C und 6D veranschaulicht.
Im Fall, dass ein Datenwert von "01" auf die Zwischenspeicher Q2 und Q1 geladen wird, ergeben sich der Programmiervorgang und der Programmierprüfvorgang wie folgt. Zunächst geht bei Beginn des ersten Programmierzyklus A das Signal PGM1 zum Auswählen des Zwischenspeichers Q1 vom niedrigen auf den ho­ hen Logikpegel über. Somit liegt die ausgewählte Bitleitung BL1 über den Transistor T1-16 auf Speisespannungspegel. Da die Bitleitung BL1 während des ersten Programmierzyklus (A) auf dem Speisespannungspegel eines Programmiersperrzustands gehalten wird, ist die ausgewählte Speicherzelle gegen eine Programmierung gesperrt. Somit wird nach dem ersten Program­ mierzyklus (A) die Schwellenspannung der ausgewählten Spei­ cherzelle auf einem Löschzustand gehalten, d. h. auf einer Schwellenspannungsverteilung von -3 V bis -2 V, was "11" ent­ spricht.
Wenn der zweite Programmierzyklus (B) von Fig. 3 beginnt, geht das Signal PGM2 zum Auswählen des Zwischenspeichers Q2 mit "0" vom niedrigen auf den hohen Logikpegel über. Die aus­ gewählte Bitleitung BL1 liegt über dem Transistor T1-14 auf dem Massespannungspegel. An der ausgewählten Wortleitung, die mit der ausgewählten Speicherzelle verbunden ist, liegt eine hohe Spannung an. Nach Ablauf einer gewissen Zeitdauer wird der Programmierprüfvorgang ausgeführt, um zu überprüfen, ob die ausgewählte Speicherzelle auf die gewünschte Schwellen­ spannung von z. B. 1,6 V bis 2,0 V programmiert wurde.
Wenn ein Abtastvorgang zur Programmierprüfung ausgeführt wird, werden die Signale PGM1, PGM2 und PGM3 jeweils auf niedrigem Logikpegel gehalten. Wenn die ausgewählte Speicher­ zelle ausreichend programmiert ist, bleibt die Bitleitung BL1 als Resultat des Abtastvorgangs weiterhin auf dem Speisespan­ nungspegel, was den Transistor D1-17 leitend schaltet. Wenn das Zwischenspeicheraktivierungssignal ϕV2, wie in Fig. 3 il­ lustriert, während einer Programmierprüfperiode des zweiten Programmzyklus (B) impulsförmig aktiviert wird, wird der Lo­ gikzustand des Zwischenspeichers Q2 von "1" in "0" inver­ tiert. Andererseits wird, wenn die ausgewählte Speicherzelle nicht ausreichend programmiert ist, die ausgewählte Bitlei­ tung BL1 auf dem Massespannungspegel gehalten, so dass der Zustand des Zwischenspeichers Q2 nicht invertiert wird. In diesem Fall werden der Programmiervorgang und der Program­ mierprüfvorgang, die mit dem Zwischenspeicher Q2 verknüpft sind, mit einer vorgegebenen Programmierfrequenz oder so lan­ ge wiederholt, bis die ausgewählte Speicherzelle ausreichend programmiert ist. Nach Abschluss des zweiten Programmierzyk­ lus (B) besitzt die ausgewählte Speicherzelle eine Schwellen­ spannungsverteilung von 1,6 V bis 2,0 V, was "01" entspricht, wie in den Fig. 6C und 6D illustriert.
Wenn in Fortsetzung hiervon der dritte Programmierzyklus (C) von Fig. 3 beginnt, geht das Signal PGM1 zum Auswählen des Zwischenspeichers Q1 vom niedrigen auf den hohen Logikpegel über. Die ausgewählte Bitleitung BL1 liegt über den Transis­ tor T1-16 auf Speisespannungspegel. Da die ausgewählte Bit­ leitung BL1 während des dritten Programmierzyklus (C) auf dem Speisespannungspegel eines Programmiersperrzustands gehalten wird, ist die ausgewählte Speicherzelle gegen Programmierung gesperrt. Dadurch weist die ausgewählte Speicherzelle nach Abschluss des dritten Programmierzyklus (C) eine Schwellen­ spannungserteilung von 1,6 V bis 2,0 V auf, was "01" ent­ spricht, in den Fig. 6C und 6D illustriert.
Im Fall, dass ein Datenwert von "11" in die Zwischenspeicher Q1 und Q2 geladen ist, wird die ausgewählte Speicherzelle im Löschzustand gehalten, da die ausgewählte Bitleitung BL1 so­ wohl im ersten als auch im zweiten und dritten Programmier­ zyklus (A, B und C) auf dem Speisespannungspegel gehalten wird. Dies bedeutet, dass die ausgewählte Speicherzelle eine Schwellenspannungsverteilung von -3 V bis -2 V besitzt, wie in den Fig. 5A und 5B illustriert. Im Fall, dass ein Datenwert von "10" in die Zwischenspeicher Q1 und Q2 geladen ist, wird der Zustand des Zwischenspeichers Q1 von "1" in "0" inver­ tiert, wie zum Programmiervorgang von "00" beschrieben. Die ausgewählte Speicherzelle ist folglich im zweiten und dritten Programmierzyklus (B und C) gegen Programmierung gesperrt. Dadurch weist die ausgewählte Speicherzelle eine Schwellen­ spannungsverteilung von 0,4 V bis 0,8 V auf.
In den Fig. 5A bis 5D und 6A bis 6D ist zudem eine Variante der Schwellenspannungsverteilung in Abhängigkeit von program­ mierten Daten einer ausgewählten Speicherzelle während des oben beschriebenen Programmiervorgangs illustriert. Wie aus den Fig. 6A und 6B, die eine Schwellenspannungsvariation für "01" zeigen, zu erkennen, verschiebt sich die Schwellenspan­ nung der ausgewählten Speicherzelle, da diese im ersten Pro­ grammierzyklus (A) gegen Programmierung gesperrt ist, von ei­ ner Schwellenspannungsverteilung zwischen -3 V bis -2 V zu ei­ ner Schwellenspannungsverteilung zwischen 1,6 V bis 2,0 V, wenn der zweite Programmierzyklus (B) ausgeführt wird. Dies bedeu­ tet, dass die Schwellenspannung der ausgewählten Speicherzel­ le direkt von einer Schwellenspannungsverteilung von "11" zu einer Schwellenspannungsverteilung von "01" verschoben wird, ohne zu einer Schwellenspannungsverteilung von "10" verscho­ ben zu werden. Zu diesem Zweck ist die zur Programmierung der Daten von "01" benötigte Zeitdauer länger als diejenige einer sequentiell oder graduell zu programmierenden Speicherzelle, wie z. B. für die Daten von "00" beschrieben. Daher ist, wie durch eine gestrichelte Linie in den Fig. 6A und 6B illust­ riert, die Schwellenspannungsverteilung von 1,5 V bis 2,1 V ei­ ner mit "01" zu programmierenden Speicherzelle im Vergleich zur gewünschten Schwellenspannungsverteilung von 1,6 V bis 2,0 V verbreitert, wodurch die Toleranz zwischen den Schwel­ lenspannungsverteilungen verringert ist. Beispielsweise ist die Toleranz zwischen der zu "10" gehörigen Schwellenspan­ nungsverteilung und der zu "01" gehörigen Schwellenspannungs­ verteilung verringert, oder die Toleranz zwischen der zu "01" gehörigen Schwellenspannungsverteilung und der zu "00" gehö­ rigen Schwellenspannungsverteilung. Dies kann Ausfälle beim Lesen verursachen.
Der Erfindung liegt als technisches Problem die Bereitstel­ lung eines nichtflüchtigen Halbleiterspeicherbauelements der eingangs genannten Art und eines zugehörigen Programmierver­ fahrens zugrunde, bei denen sich die Toleranz zwischen Schwellenspannungsverteilungen nach der Programmierung kon­ stant halten lässt und die Schwellenspannung einer Speicher­ zelle, wenn letztere bis zu einer gewünschten Schwellenspan­ nung programmiert wird, sequentiell in eine zu den jeweiligen Programmierdaten gehörige Schwellenspannung verschoben wird.
Die Erfindung löst dieses Problem durch die Bereitstellung eines nichtflüchtigen Halbleiterspeicherbauelementes mit den Merkmalen des Anspruchs 1 sowie eines Programmierverfahrens mit den Merkmalen des Anspruchs 9.
Erfindungsgemäß werden in einem Speicherschaltkreis mehrere Datenbits, z. B. Daten mit zwei Bit, an Information zur Ein­ programmierung in eine Speicherzelle gespeichert. Eine Pro­ grammierdatendiskriminatorschaltung setzt während eines Pro­ grammiervorgangs eine Bitleitung in Abhängigkeit vom Logikzu­ stand der zwischengespeicherten Daten auf eine Programmier­ spannung, wenn wenigstens eines der zwischengespeicherten Da­ tenbits eine Programmierung einer ausgewählten Speicherzelle anzeigt, und auf eine Programmiersperrspannung, wenn alle zwischengespeicherten Datenbits eine Programmiersperre der ausgewählten Speicherzelle anzeigen. Auf diese Weise ist es möglich, die Speicherzelle in jedem Programmierzyklus unab­ hängig von den Logikzuständen von in dem Speicherschaltkreis gespeicherten Datenbits mit einer gewünschten Schwellenspan­ nung zu programmieren.
Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie die zu deren besserem Verständnis oben be­ schriebenen, herkömmlichen Ausführungsbeispiele sind in den Zeichnungen dargestellt, in denen zeigen:
Fig. 1 ein schematisches Blockschaltbild eines herkömmlichen nichtflüchtigen Halbleiterspeicherbauelements,
Fig. 2 eine typische Schwellenspannungsverteilung einer Speicherzelle in Abhängigkeit von programmierten Da­ ten,
Fig. 3 ein Zeitsteuerungsdiagramm bezüglich Steuersignalen, die mit einem Programmiervorgang und einem Program­ mierprüfvorgang des Speicherbauelements von Fig. 1 verknüpft sind,
Fig. 4 ein Signalverlaufsdiagramm einer an eine ausgewählte Wortleitung während eines Programmiervorgangs und ei­ nes Programmierprüfvorgangs angelegten Spannung,
Fig. 5A bis 5D und 6A bis 6D Varianten bezüglich Programmier­ daten und Schwellenspannungen einer Speicherzelle während der Programmierung,
Fig. 7 ein schematisches Blockschaltbild eines erfindungsge­ mäßen nichtflüchtigen Halbleiterspeicherbauelement,
Fig. 8 ein Zeitsteuerungsdiagramm bezüglich Steuersignalen, die mit einem Programmiervorgang und einem Program­ mierprüfvorgang des Speicherbauelements von Fig. 7 verknüpft sind, und
Fig. 9A bis 9D und 10A bis 10D Varianten bezüglich Program­ mierdaten und Schwellenspannungen einer erfindungsge­ mäßen Speicherzelle während der Programmierung.
Fig. 7 zeigt ein Schaltbild eines erfindungsgemäßen Speicher­ bauelementes, das unter Verwendung von Flash-EEPROM-Zellen vom NAND-Typ zwei Bit an Information pro Speicherzelle spei­ chert. Das Speicherbauelement beinhaltet gemäß Fig. 7 zwei Speicherzellenketten mit je mehreren, seriell verbundenen Speicherzellen, wobei die Speicherzellen jeder Kette mit MC1- 1 bis MC1-4 bzw. MC1-5 bis MC1-8 bezeichnet sind. Je ein Ket­ tenauswahltransistor ST1, ST2 ist zwischen die zugehörige Kette und eine zugehörige Bitleitung eingeschleift. Die Ket­ tenauswahltransistoren ST1, ST2 werden in Abhängigkeit vom Logikzustand eines Kettenauswahlleitungssignals SSL einer Zeilendecoderschaltung 100 leitend bzw. sperrend geschaltet und dienen der elektrischen Verbindung der jeweiligen Kette mit der zugehörigen Bitleitung. Zwischen einer jeweiligen Kette und einer gemeinsamen Quellenleitung CSL ist je ein Masseauswahltransistor GT1, GT2 angeordnet, der in Abhängig­ keit vom Logikzustand eines Masseauswahlleitungssignals GSL der Zeilendecoderschaltung 100 leitend bzw. sperrend geschal­ tet wird. Ein jeweiliger Transistor DT1 oder DT2 vom Verar­ mungstyp dient dazu, das Anlegen einer hohen Spannung an die zugehörige Bitleitung zu verhindern.
Mit den Bitleitungen BL1 und BL2 ist je ein Bitleitungsaus­ wahltransistor BLST1, BLST2 verbunden, der die zugehörige Bitleitung in Reaktion auf ein Bitleitungsauswahlsignal A9 bzw. A9b auswählt. Eine Signalleitung BLLVL ist über zugehö­ rige Transfergatter TG1 und TG2 mit den Bitleitungen BL1 und BL2 verbunden. Jedes Transfergatter TG1, TG2 führt ein Signal von der Signalleitung BLLVL einer nicht ausgewählten Bitlei­ tung in Reaktion auf die Bitleitungsauswahlsignale A9, A9b zu. Die Signalleitung BLLVL führt während des Programmierens und Lesens der nicht ausgewählten Bitleitung eine Program­ miersperrspannung, z. B. eine Speisespannung Vcc, zu und wird während eines Löschvorgangs in einem potentialfreien Zustand gehalten. Die Transistoren BLST1 und BLST2 bilden zusammen mit den Transfergattern TG1 und TG2 eine Bitleitungsauswahl­ schaltung.
Ein als Ladetransistor dienender PMOS-Transistor MP1 ist mit beiden Bitleitungen BL1, BL2 verbunden, um während des Lesens eine ausgewählte Bitleitung auf der Basis einer Referenzspan­ nung Vref mit einem konstanten Strom zu versorgen. Ein Bei­ spiel einer Schaltung zur Erzeugung der Referenzspannung Vref ist in der Patentschrift US 5.748.529 beschrieben, deren In­ halt hierin durch Verweis aufgenommen wird und auf die hin­ sichtlich entsprechender Details verwiesen werden kann.
Des weiteren weist das erfindungsgemäße Speicherbauelement zu den Bitleitungen BL1 und BL2 gehörige Zwischenspeicherschal­ tungen LT2 und LT1 und je zwei gepufferte Inverter INV1, INV2 und INV3, INV4 auf. Jede Zwischenspeicherschaltung LT2, LT1 puffert von außen während des Programmierens angelegte Daten und puffert während des Lesens Daten, die aus einer ausge­ wählten Speicherzelle ausgelesen wurden. Unmittelbar vor ei­ nem Lesevorgang werden Knoten QN1 und QN2 der Zwischenspei­ cherschaltungen LT1 und LT2, die jeweils mit einer zugehöri­ gen Eingabe/Ausgabe-Leitung I/O1 und I/O2 verbunden sind, ü­ ber einen jeweils zugehörigen NMOS-Transistor MN8, MN9 initi­ alisiert. Die Transistoren MN8 und MN9 werden in Abhängigkeit vom Logikzustand eines Initialisierungssignals PBset leitend bzw. sperrend geschaltet. Die Zwischenspeicher LT1 und LT2 bilden einen Speicherschaltkreis.
Des weiteren sind im Speicherbauelement von Fig. 7 mehrere NMOS-Transistoren MN1 bis MN7 vorgesehen, die eine Speicher­ steuerschaltung bilden. Die Speichersteuerschaltung inver­ tiert oder hält Pufferzustände der Zwischenspeicherschaltun­ gen LT1 und LT2 in Abhängigkeit vom Spannungspegel einer Bit­ leitung, die während des Lesens ausgewählt wird. Diese Funk­ tion wird durch Zwischenspeicheraktivierungssignale ϕV2 und ϕR1 gesteuert. Die Zwischenspeicheraktivierungssignale werden zu einem Zeitpunkt gepulst, zu dem nach Beginn eines Lesevor­ gangs und Verstreichen einer gewissen Zeitdauer eine Inversi­ on eines Pufferzustands benötigt wird.
Das erfindungsgemäße Speicherbauelement von Fig. 7 beinhaltet des weiteren ein NOR-Gatter NOR und einen NMOS-Transistor MN10, die eine Programmierdatenbeurteilungsschaltung bilden. Ein Eingangsanschluss des NOR-Gatters NOR ist mit einem Kno­ ten /QN1 der Zwischenspeicherschaltung LT1 verbunden, während sein anderer Anschluss mit einem Knoten /QN2 der Zwischen­ speicherschaltung LT2 verbunden ist. Die Source-Elektrode des NMOS-Transistors MN10 ist über die Transistoren BLST1 und BLST2 mit den Bitleitungen BL1 und BL2 verbunden, während seine Drain-Elektrode an einen Ausgangsanschluss des NOR- Gatters NOR angeschlossen und seine Gate-Elektrode mit einer Signalleitung SLT verbunden ist. Das Signal SLT wird in einer Programmierperiode jedes Programmierzyklus auf einem hohen Logikpegel gehalten, während ein Programmiervorgang durchge­ führt wird. Durch diese Konfiguration wird, wenn wenigstens eines der zu programmierenden Datenbits Q2 und Q1 auf einem niedrigen Logikpegel liegt (wenn eine ausgewählte Zelle zu programmieren ist), die ausgewählte Bitleitung über das NOR- Gatter und den NMOS-Transistor MN10 auf eine Programmierspan­ nung, d. h. einen Massespannungspegel, gesetzt, wenn ein Pro­ grammiervorgang jedes Programmierzyklus ausgeführt wird. Wenn alle zu programmierenden Datenbits auf einem hohen Logikpegel liegen (wenn eine ausgewählte Zelle vor Programmierung zu sperren ist), wird die ausgewählte Bitleitung durch die Pro­ grammierdatenbeurteilungsschaltung auf eine Programmiersperr­ spannung, d. h. eine Speisespannung, gesetzt, wenn der Pro­ grammiervorgang jedes Programmierzyklus ausgeführt wird.
Es versteht sich, dass alternativ zu der gezeigten Realisie­ rung die Programmierdatenbeurteilungsschaltung zur Durchfüh­ rung seiner oben angegebenen Funktion unter Verwendung ande­ rer Logikgatter aufgebaut sein kann. Zudem können alternativ zu den in Fig. 7 gezeigten zwei Bitleitungen mehr als zwei Bitleitungen vorgesehen sein. Dabei sind dann die mit den zu­ sätzlichen Bitleitungen verknüpften Komponenten in der zu Fig. 7 analogen Weise konfiguriert.
Nachfolgend werden der Programmiervorgang und der Program­ mierprüfvorgang des erfindungsgemäßen Speicherbauelementes näher erläutert. Dabei zeigt Fig. 8 ein Zeitsteuerungsdia­ gramm zum erfindungsgemäßen Programmier- und Programmierprüf­ vorgang. Alle Speicherzellen werden zunächst durch eine her­ kömmliche Löschmethode gelöscht, so dass sie eine negative Schwellenspannung haben, wonach die Programmierung einer aus­ gewählten Speicherzelle wie folgt abläuft.
Zuerst wird, wenn eine der Bitleitungen BL1, BL2, z. B. die Bitleitung BL1, in Abhängigkeit von den Bitleitungsauswahl­ signalen A9 und A9b ausgewählt wurde, an die nicht ausgewähl­ te Bitleitung BL2 von der Signalleitung BLLVL eine Speise­ spannung Vcc angelegt, so dass die mit der nicht ausgewählten Bitleitung BL2 verknüpfte Speicherzelle gegen Programmierung gesperrt wird. Zu programmierende Datenbits Q2 und Q1 werden in die mit der ausgewählten Bitleitung BL1 verknüpften Zwi­ schenspeicherschaltungen LT2 und LT1 geladen.
Ein erster Fall betrifft den Programmier- und Programmier­ prüfvorgang für die Daten "11". Wenn die Daten "11" in die Zwischenspeicherschaltungen LT2 und LT1 geladen wurden und ein erster Programmierzyklus (A) beginnt, geht das Signal SLT von einem niedrigen auf einen hohen Logikpegel über, wie in Fig. 8 veranschaulicht. Dies macht den NMOS-Transistor MN10 leitend, wodurch der Ausgangsanschluss des NOR-Gatters NOR mit der ausgewählten Bitleitung BL1 verbunden wird. Da die Eingangsanschlüsse des NOR-Gatters NOR mit den Knoten /QN2 und /QN1 mit auf niedrigem Logikpegel liegenden Zwischenspei­ cherzuständen verbunden sind, geht der Ausgang des NOR- Gatters NOR auf hohen Logikpegel. Dadurch wird die ausgewähl­ te Bitleitung BL1 über das NOR-Gatter NOR und den Transistor MN10 auf die Programmiersperrspannung, d. h. die Speisespan­ nung gesetzt.
Anschließend wird an eine ausgewählte Wortleitung, an die ei­ ne ausgewählte Speicherzelle angeschlossen ist, eine hohe Spannung angelegt. Nach Ablauf einer gewissen Zeitdauer wird die ausgewählte Speicherzelle auf einem gelöschten Zustand gehalten, da die Bitleitung BL1 auf der Programmiersperrspan­ nung Vcc liegt. Als Resultat eines Programmierprüfvorgangs werden daher die Knoten QN2 und QN1 der Zwischenspeicher­ schaltungen LT2 und LT1 auf ihren anfänglich geladenen Logik­ zuständen "11" gehalten. Genauso wie im ersten Programmier­ zyklus (A) liegt die ausgewählte Bitleitung BL1 im zweiten und dritten Programmierzyklus (B und C) auf der Programmier­ sperrspannung, so dass die Knoten QN2 und QN1 der Zwischen­ speicherschaltungen LT2 und LT1 auf ihren anfänglich gelade­ nen Logikzuständen "11" bleiben. Dies bedeutet, dass die aus­ gewählte Speicherzelle eine den Daten "11" entsprechende Schwellenspannung aufweist, wie in den Fig. 9A und 9B illust­ riert.
Ein zweiter Fall betrifft den Programmier- und Programmier­ prüfvorgang für die Daten "01". Wenn die Datenbits Q2 und Q1 für den Datenwert "10" in die Zwischenspeicherschaltungen LT2 und LT1 geladen wurden, ergibt sich folgender Programmier- und Prüfvorgang. Zunächst geht bei Beginn des ersten Program­ mierzyklus (A) das Signal SLT von niedrigem auf hohen Logik­ pegel über, was den NMOS-Transistor MN10 leitend macht. Da­ durch wird der Ausgangsanschluss des NOR-Gatters NOR mit der Bitleitung BL1 verbunden. Da die Eingangsanschlüsse des NOR- Gatters NOR mit den Knoten /QN2 und /QN1 verbunden sind, die auf niedrigem bzw. hohem Logikpegel liegen, geht der Ausgang des NOR-Gatters NOR auf niedrigen Logikpegel. Dadurch wird die ausgewählte Bitleitung BL1 über das NOR-Gatter und den Transistor MN10 auf einen Massespannungspegel, d. h. eine Pro­ grammierspannung gesetzt. Anschließend wird an eine ausge­ wählte Wortleitung, mit der eine ausgewählte Speicherzelle verbunden ist, eine hohe Spannung angelegt. Nach Ablauf einer gewissen Zeitdauer wird ein Programmierprüfvorgang durchge­ führt, um zu überprüfen, ob die ausgewählte Speicherzelle von der Schwellenspannung eines Löschzustands, z. B. -3 V bis -2 V, auf eine gewünschte Schwellenspannung von z. B. 0,4 V bis 0,8 V programmiert wurde.
Wenn ein Abtastvorgang für die Programmierprüfung durchge­ führt wird, werden die Signale SLT und BLLVL jeweils auf niedrigem Logikpegel gehalten. Wenn die ausgewählte Speicher­ zelle ausreichend programmiert ist, verbleibt die Bitleitung BL1 als Resultat des Abtastvorgangs auf einer Speisespannung. Wenn die ausgewählte Bitleitung BL1 und der Knoten QN2 der Zwischenspeicherschaltung LT2 auf einem Speisespannungspegel gehalten werden, werden die Transistoren MN3 und MN4 leitend geschaltet. In diesem Zustand wird, wenn das Zwischenspei­ cheraktivierungssignal ϕV1 in einer Programmierprüfperiode des ersten Programmierzyklus (A) gepulst wird, der Logikzu­ stand des Knotens QN1 der Zwischenspeicherschaltung LT1 von "1" in "0" invertiert.
Andererseits wird, wenn die ausgewählte Speicherzelle nicht ausreichend programmiert wurde, die Bitleitung BL1 als Resul­ tat eines Abtastvorgangs auf einem Massespannungspegel gehal­ ten. Da die ausgewählte Bitleitung BL1 und der Knoten QN2 der Zwischenspeicherschaltung LT2 auf niedrigem bzw. hohem Logik­ pegel liegen, werden der Transistor MN3 sperrend und der Transistor MN4 leitend geschaltet. In diesem Zustand wird der Logikzustand des Knotens QN1 der Zwischenspeicherschaltung LT1 nicht invertiert, obwohl das Zwischenspeicheraktivie­ rungssignal ϕV1 in einer Programmierprüfperiode des ersten Programmierzyklus (A) gepulst wurde. Die Programmier- und Prüfvorgänge, die sich auf die Zwischenspeicherschaltung LT1 beziehen, werden mit einer vorgegebenen Programmierfrequenz oder so lange wiederholt, bis die ausgewählte Speicherzelle ausreichend programmiert wurde.
Nach Abschluss des ersten Programmierzyklus (A) werden die Zwischenspeicherzustände Q2 und Q1 der Zwischenspeicherschal­ tungen LT2 und LT1 von "11" in "10" geändert. Dies hat zur Folge, dass die ausgewählte Speicherzelle im zweiten und dritten Programmierzyklus (B und C) gegen Programmierung ge­ sperrt ist, wie oben erläutert. Dadurch weist die ausgewählte Speicherzelle nach Durchführung des ersten bis dritten Pro­ grammierzyklus eine Schwellenspannungsverteilung von 0,4 V bis 0,8 V auf, wie in den Fig. 9C und 9D illustriert.
Ein dritter Fall betrifft den Programmier- und Programmier­ prüfvorgang für die Daten "01". Nachdem der Datenwert "01" in die Zwischenspeicherschaltungen LT2 und LT1 geladen wurde, beginnt der erste Programmierzyklus (A) damit, dass das Sig­ nal SLT von niedrigem auf hohen Logikpegel übergeht. Der NMOS-Transistor MN10 wird in Abhängigkeit vom Übergang des Signals SLT von niedrigem auf hohen Pegel leitend geschaltet, so dass der Ausgangsanschluss des NOR-Gatters NOR über den NMOS-Transistor BLST1 mit der ausgewählten Bitleitung BL1 verbunden wird. Da die Knoten /QN2 und /QN1 der Zwischenspei­ cherschaltungen LT2 und LT1 auf hohem bzw. niedrigem Logikpe­ gel liegen, liegt die ausgewählte Bitleitung BL1 auf einem Massespannungspegel. Danach wird an die ausgewählte Wortlei­ tung eine hohe Spannung angelegt, so dass die ausgewählte Speicherzelle bis zu einer gewünschten Schwellenspannung, z. B. 0,4 V bis 0,8 V, von der Schwellenspannung eines Löschzu­ stands aus, z. B. -3 V bis -2 V, programmiert wird.
Da der Knoten QN1 der Zwischenspeicherschaltung LT1 auf hohem Logikpegel liegt, wird die ausgewählte Speicherzelle in einem Programmierprüfvorgang, der in einem ersten Programmierzyklus (A) durchgeführt wird, als eine ausreichend programmierte Zelle beurteilt, was z. B. durch eine herkömmliche, nicht ge­ zeigte Gut/Schlecht-Beurteilungsschaltung erfolgen kann. Der Programmierprüfvorgang des ersten Programmierzyklus (A) wird daher nicht durchgeführt. Nach Abschluss des ersten Program­ mierzyklus (A) weist die ausgewählte Speicherzelle eine Schwellenspannung von 0,4 V bis 0,8 V auf, wie in den Fig. 10A und 10B illustriert.
Wenn der zweite, mit dem Datenwert "01" verknüpfte Program­ mierzyklus (B) beginnt, wird der NMOS-Transistor MN10 in Ab­ hängigkeit vom Übergang des Signals SLT von niedrigem auf ho­ hen Pegel leitend geschaltet. Dadurch wird der Ausgangsan­ schluss des NOR-Gatters NOR über den NMOS-Transistor BLST1 mit der Bitleitung BL1 verbunden. Der Ausgang des NOR-Gatters geht dann auf niedrigen Pegel, da die Eingangsanschlüsse des NOR-Gatters NOR mit dem auf hohem bzw. niedrigem Logikpegel liegenden Knoten /QN2 und /QN1 verbunden sind. Dadurch liegt die Bitleitung BL1 über das NOR-Gatter NOR und den NMOS- Transistor MN10 auf einem Massespannungspegel. Nachdem an die ausgewählte Wortleitung eine hohe Spannung angelegt wurde und eine gewisse Zeitdauer verstrichen ist, wird ein Programmier­ prüfvorgang durchgeführt, um zu überprüfen, ob die ausgewähl­ te Speicherzelle bis auf die gewünschte Schwellenspannung von z. B. 1,6 V bis 2,0 V programmiert wurde. Wenn ein Abtastvorgang zur Programmierprüfung durchgeführt wird, gehen die Signale SLT und BLLVL auf niedrigen Pegel. Falls die ausgewählte Speicherzelle ausreichend programmiert ist, liegt die Bitlei­ tung BL1 als Resultat des Abtastvorgangs auf einem Speise­ spannungspegel. Dies macht den NMOS-Transistor MN1 leitend.
In diesem Zustand wird, wenn das Zwischenspeicheraktivie­ rungssignal ϕV2 in einer Programmierprüfperiode des zweiten Programmierzyklus (B) gepulst wird, der Zwischenspeicherzu­ stand Q2 der Zwischenspeicherschaltung LT2 von "1" in "0" in­ vertiert.
Andererseits bleibt die Bitleitung BL1, wenn die ausgewählte Speicherzelle nicht ausreichend programmiert wurde, weiterhin als Ergebnis des Abtastvorgangs auf niedrigem Logikpegel. Da die Bitleitung BL1 auf niedrigem Logikpegel liegt, ist der NMOS-Transistor MN1 sperrend geschaltet. In diesem Zustand wird der Zwischenspeicherzustand Q2 der Zwischenspeicher­ schaltung LT2 nicht invertiert, obwohl das Zwischenspeicher­ aktivierungssignal ϕV2 in der Programmierprüfperiode des zweiten Programmierzyklus (B) gepulst wird. Der mit der Zwi­ schenspeicherschaltung LT2 verknüpfte Programmier- und Prüf­ vorgang wird mit einer vorgebbaren Programmierfrequenz oder so lange wiederholt, bis die ausgewählte Speicherzelle aus­ reichend programmiert wurde.
Nach Abschluss des zweiten Programmierzyklus (B) werden die Zwischenspeicherzustände Q2 und Q1 der Zwischenspeicherschal­ tungen LT2 und LT1 im dritten Programmierzyklus (C) von "11" in "01" geändert, so dass die ausgewählte Speicherzelle gegen Programmierung gesperrt ist. Nach Durchführen des mit dem Da­ tenwert "01" verknüpften Programmierzyklussatzes (A, B, C) besitzt daher die ausgewählte Speicherzelle eine Schwellen­ spannungsverteilung von 1,6 V bis 2,0 V, wie in den Fig. 10A und 10B illustriert. Gemäß dem mit dem Datenwert "01" ver­ knüpften Programmier- und Programmierprüfvorgang, wie in den Fig. 10A und 10B veranschaulicht, wird die Schwellenspannung der ausgewählten Speicherzelle im ersten Programmierzyklus (A) auf eine dem Datenwert "10" entsprechende Schwellenspan­ nungsverteilung von 0,4 V bis 0,8 V verschoben, um dann im zweiten Programmierzyklus (B) auf eine dem Datenwert "01" entsprechende Schwellenspannungsverteilung von 1,6 V bis 2,0 V verschoben zu werden. Dies bedeutet, dass erfindungsgemäß im Unterschied zum Stand der Technik die ausgewählte Speicher­ zelle über eine dem Datenwert "10" entsprechende Schwellen­ spannungsverteilung auf die gewünschte Schwellenspannungsver­ teilung programmiert wird. Indem die Schwellenspannung einer Speicherzelle sequentiell verschoben wird, wird verhindert, dass sich die Programmierdauer verlängert und die Schwellen­ spannungsverteilung verbreitert. Dadurch wird die Toleranz zwischen den Schwellenspannungsverteilungen bezüglich "10" und denjenigen bezüglich "01" und "00" konstant gehalten.
Ein vierter Fall betrifft den Programmier- und Programmier­ prüfvorgang für die Daten "00". Wenn die Daten "00" in die Zwischenspeicherschaltungen LT2 und LT1 geladen wurden und der erste Programmierzyklus (A) beginnt, geht das Signal SLT von niedrigem auf hohen Logikpegel über, so dass der NMOS- Transistor MN10 leitend wird. Dies bewirkt, dass der Aus­ gangsanschluss des NOR-Gatters NOR über den NMOS-Transistor BLST1 mit der ausgewählten Bitleitung BL1 verbunden wird. Da die Knoten /QN2 und /QN1 der Zwischenspeicherschaltungen LT2 und LT1 alle auf hohem Logikpegel liegen, liegt die ausge­ wählte Bitleitung BL1 auf Massespannungspegel. Danach wird an die ausgewählte Wortleitung eine hohe Spannung angelegt. Nach Ablauf einer gewissen Zeitdauer wird ein Programmierprüfvor­ gang durchgeführt, in welchem überprüft wird, ob die ausge­ wählte Speicherzelle von der Schwellenspannung eines Löschzu­ stands, z. B. -3 V bis -2 V, auf eine gewünschte Schwellenspan­ nung von z. B. 0,4 V bis 0,8 V programmiert wurde.
Wenn ein Abtastvorgang zur Programmierprüfung durchgeführt wird, gehen die Signale SLT und BLLVL auf niedrigem Pegel. Wenn die ausgewählte Speicherzelle nicht ausreichend program­ miert wurde, bleibt die Bitleitung BL1 als Resultat des Ab­ tastvorgangs weiterhin auf einem niedrigen Logikpegel. Da die Bitleitung BL1 und der Knoten QN2 der Zwischenspeicherschal­ tung LT2 beide auf niedrigem Logikpegel liegen, sind die NMOS-Transistoren MN3 und MN4 sperrend geschaltet. Daher wird der Zwischenspeicherzustand Q1 der Zwischenspeicherschaltung LT1 nicht invertiert, obwohl das Zwischenspeicheraktivie­ rungssignal in der Programmierprüfperiode des ersten Program­ mierzyklus (A) gepulst wird, wie in Fig. 8 illustriert. Der mit der Zwischenspeicherschaltung LT1 verknüpfte Programmier- und Prüfvorgang wird mit einer vorgebbaren Programmierfre­ quenz oder so lange wiederholt, bis die ausgewählte Speicher­ zelle ausreichend programmiert ist. Nach Abschluss des ersten Programmierzyklus (A) besitzt die ausgewählte Speicherzelle eine zum Datenwert "10" gehörige Schwellenspannungsverteilung von 0,4 V bis 0,8 V, wie in den Fig. 100 und 10D illustriert.
Bei Beginn des zweiten Programmierzyklus (B) wird der NMOS- Transistor MN10 in Abhängigkeit vom Übergang des Signals SLT von niedrigem auf hohen Pegel leitend geschaltet. Ebenso wie im ersten Programmierzyklus A geht der Ausgang des NOR- Gatters NOR auf niedrigen Pegel, da die Eingangsanschlüsse des NOR-Gatters NOR mit den Knoten /QN2 und /QN1 verbunden sind, die beide auf hohem Logikpegel liegen. Dadurch liegt die Bitleitung BL1 über das NOR-Gatter NOR und den NMOS- Transistor MN10 auf Massespannungspegel. Nach Anlegen einer hohen Spannung an die ausgewählte Wortleitung und Verstrei­ chen einer gewissen Zeitdauer wird ein Programmierprüfvorgang ausgeführt, um zu überprüfen, ob die ausgewählte Speicherzel­ le bis zu einer gewünschten Schwellenspannung von z. B. 1,6 V bis 2,0 V programmiert wurde.
Bei Durchführung eines Abtastvorgangs zur Programmierprüfung gehen die Signale SLT und BLLVL auf niedrigen Pegel. Wenn die ausgewählte Speicherzelle nicht ausreichend programmiert wur­ de, bleibt die Bitleitung BL1 als Resultat des Abtastvorgangs weiterhin auf niedrigem Logikpegel. Wenn die Bitleitung BL1 auf niedrigem Logikpegel liegt, ist der NMOS-Transistor MN1 sperrend geschaltet. In diesem Zustand wird der Logikzustand Q2 der Zwischenspeicherschaltung LT2 nicht invertiert, obwohl das Zwischenspeicheraktivierungssignal ϕV2 in der Program­ mierprüfperiode des zweiten Programmierzyklus (B) gepulst wird. Der mit der Zwischenspeicherschaltung LT2 verknüpfte Programmier- und Prüfvorgang wird mit einer vorgebbaren Pro­ grammierfrequenz oder so lange wiederholt, bis die ausgewähl­ te Speicherzelle ausreichend programmiert ist.
Andererseits liegt die Bitleitung, wenn die ausgewählte Spei­ cherzelle ausreichend programmiert wurde, auf Speisespan­ nungspegel, so dass der NMOS-Transistor MN1 leitend geschal­ tet ist. Wenn dann das Zwischenspeicheraktivierungssignal ϕV2 in einer Programmierprüfperiode des zweiten Programmierzyklus (B) gepulst wird, wird der Zwischenspeicherzustand Q2 der Zwischenspeicherschaltung LT2 von "1" in "0" invertiert. Dies bedeutet, dass nach Abschluss des zweiten Programmierzyklus (B) die Zwischenspeicherzustände Q2 und Q1 der Zwischenspei­ cherschaltungen LT2 und LT1 von "10" in "00" geändert sind, so dass die ausgewählte Speicherzelle eine Schwellenspan­ nungsverteilung von 1,6 V bis 2,0 V besitzt, wie in den Fig. 10C und 10D illustriert.
Wenn schließlich der dritte Programmierzyklus (C) beginnt, wird der NMOS-Transistor MN10 in Abhängigkeit vom Übergang des Signals SLT von niedrigem auf hohen Pegel leitend ge­ schaltet. Da die Eingangsanschlüsse des NOR-Gatters mit den Knoten /QN2 und /QN1 verbunden sind, die auf niedrigem bzw. hohem Pegel liegen, geht der Ausgang des NOR-Gatters auf niedrigen Pegel. Dadurch liegt die Bitleitung BL1 über das NOR-Gatter NOR und den NMOS-Transistor NM10 auf Massespan­ nungspegel. Nachdem an die ausgewählte Wortleitung eine hohe Spannung angelegt wurde und eine gewisse Zeitdauer verstri­ chen ist, wird ein Programmierprüfvorgang durchgeführt, um zu überprüfen, ob die ausgewählte Speicherzelle bis auf eine ge­ wünschte Schwellenspannung von z. B. 2,8 V bis 3,2 V program­ miert wurde.
Wenn ein Abtastvorgang zur Programmierprüfung durchgeführt wird, gehen die Signale SLT und BLLVL auf niedrigen Pegel. Wenn die ausgewählte Speicherzelle nicht ausreichend program­ miert ist, bleibt die Bitleitung BL1 weiterhin auf niedrigem Logikpegel. Dies hat zur Folge, dass der NMOS-Transistor MN1 sperrend geschaltet ist. In diesem Zustand wird der Logikzu­ stand Q1 der Zwischenspeicherschaltung LT1 nicht invertiert, obwohl das Zwischenspeicheraktivierungssignal ϕV1 in der Pro­ grammierprüfperiode des dritten Programmierzyklus (C) gepulst wird. Der mit der Zwischenspeicherschaltung LT1 verknüpfte Programmier- und Prüfvorgang wird mit einer vorgebbaren Pro­ grammierfrequenz oder so lange wiederholt, bis die ausgewähl­ te Speicherzelle ausreichend programmiert ist.
Im Fall, dass die ausgewählte Speicherzelle ausreichend pro­ grammiert ist, liegt die Bitleitung BL1 auf Speisespannungs­ pegel, so dass der NMOS-Transistor MN3 leitend geschaltet ist. Da sich der Logikzustand des Knotens QN2 im vorangegan­ genen Programmierzyklus (B) von "1" auf "0" geändert hat, ist auch der NMOS-Transistor MN4 leitend geschaltet. In diesem Zustand wird der Zwischenspeicherzustand Q1 der Zwischenspei­ cherschaltung LT1 von "1" in "0" invertiert, wenn das Zwi­ schenspeicheraktivierungssignal ϕV1 in einer Programmierprüf­ periode des dritten Programmierzyklus (C) gepulst wird. Da­ durch werden nach Abschluss des dritten Programmierzyklus (C) die Zwischenspeicherzustände Q2 und Q1 der Zwischenspeicher­ schaltungen LT2 und LT1 von "10" auf "00" geändert, so dass die ausgewählte Speicherzelle eine Schwellenspannungsvertei­ lung von 2,8 V bis 3,2 V aufweist, wie in den Fig. 10C und 10D illustriert.
Wie oben beschrieben, wird bei Programmierung einer ausge­ wählten Zelle von einer Schwellenspannung eines gelöschten Zustands auf eine Soll-Schwellenspannung die ausgewählte Zel­ le sequentiell über Schwellenspannungen programmiert, die zwischen der Schwellenspannung des gelöschten Zustands und der Soll-Schwellenspannung liegen. Dadurch wird beim erfin­ dungsgemäßen Speicherbauelement verhindert, dass sich die Programmierdauer verlängert und die Soll-Schwellenspannungs­ verteilung verbreitert. Als Ergebnis hiervon kann die Tole­ ranz zwischen Schwellenspannungsverteilungen konstant gehal­ ten werden.
Das erfindungsgemäße Speicherbauelement kann als Masken-ROM, EPROM oder EEPROM realisiert und alternativ auch so ausgelegt sein, dass Daten von drei oder mehr Bit pro Zelle gespeichert werden. Das erfindungsgemäße Speicherbauelement lässt sich ebenso für eine Technik verwenden, bei der eine Speicherzelle von einer höheren auf eine niedrigere Schwellenspannung pro­ grammiert wird.

Claims (10)

1. Nichtflüchtiges Halbleiterspeicherbauelement mit
  • - einer Bitleitung (BL1, BL2),
  • - einer Mehrzahl von senkrecht zur Bitleitung angeord­ neten Wortleitungen (W/L1, . . ., W/L16),
  • - einer Mehrzahl von an Schnittstellen der Bitleitung mit den Wortleitungen angeordneten Speicherzellen (MC1-1, . . ., MC1-8) und
  • - einem Speicherschaltkreis mit wenigstens zwei Zwi­ schenspeichern zur Datenzwischenspeicherung, von denen jeder mit einer zugehörigen Eingabe/Ausgabe-Leitung (I/O1, I/O2) gekoppelt ist,
gekennzeichnet durch
  • - eine Programmierdatendiskriminatorschaltung (NOR, MN10), welche die Bitleitung in Abhängigkeit von den Logikzu­ ständen der in den Zwischenspeichern gepufferten Daten wäh­ rend eines Programmiervorgangs auf eine Programmierspannung oder eine Programmiersperrspannung setzt.
2. Nichtflüchtiges Halbleiterspeicherbauelement nach An­ spruch 1, weiter dadurch gekennzeichnet, dass die Program­ mierdatendiskriminatorschaltung die Bitleitung auf die Pro­ grammierspannung setzt, wenn wenigstens einer der Logikzu­ stände der im jeweiligen Zwischenspeicher gepufferten Daten die Programmierung einer ausgewählten Speicherzelle anzeigt, und die Bitleitung auf die Programmiersperrspannung setzt, wenn die Logikzustände der in den jeweiligen Zwischenspei­ chern gepufferten Daten eine Programmiersperre der ausgewähl­ ten Speicherzelle anzeigen.
3. Nichtflüchtiges Halbleiterspeicherbauelement nach An­ spruch 1 oder 2, weiter dadurch gekennzeichnet, dass die Pro­ grammierdatendiskriminatorschaltung folgende Elemente ent­ hält:
- ein NOR-Gatter (NOR) mit Eingabeanschlüssen, die je­ weils die Daten eines der Zwischenspeicher empfangen, und ei­ nem Ausgangsanschluss und
  • - einen Schalttransistor (MN10), der zwischen die Bit­ leitung und den Ausgangsanschluss des NOR-Gatters einge­ schleift ist und in Abhängigkeit von einem Steuersignal (SLT) leitend/sperrend geschaltet wird, wobei das Steuersignal nur während des jeweiligen Programmiervorgangs aktiviert wird.
4. Nichtflüchtiges Halbleiterspeicherbauelement nach ei­ nem der Ansprüche 1 bis 3, weiter gekennzeichnet durch
  • - einen zwischen eine Versorgungsspannung (Vcc) und die Bitleitung eingeschleiften Ladetransistor (MP1), welcher der Bitleitung in Reaktion auf eine Referenzspannung (Vref) wäh­ rend eines Programmierprüfvorgangs einen konstanten Strom zu­ führt, und
  • - eine Speichersteuerschaltung (MN1 bis MN7) zum Inver­ tieren oder Beibehalten der Logikzustände der im Speicher­ schaltkreis zwischengespeicherten Daten während des Program­ mierprüfvorgangs gemäß dem Spannungspegel der Bitleitung in Reaktion auf Zwischenspeicherfreigabesignale.
5. Nichtflüchtiges Halbleiterspeicherbauelement nach ei­ nem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass eine weitere, senkrecht zu den Wortleitungen angeordnete Bitleitung und eine Bitleitungsauswahlschaltung zum Auswählen einer der Bitleitungen in Reaktion auf Bitleitungsauswahlsig­ nale vorgesehen sind, wobei während der Programmier- und Pro­ grammierprüfvorgänge eine nicht ausgewählte Bitleitung durch die Bitleitungsauswahlschaltung mit einer Versorgungsspannung vorgespannt wird und die ausgewählte Bitleitung durch die Programmierdatendiskriminatorschaltung während des Program­ miervorgangs gemäß den Logikzuständen der in den Zwischen­ speichern gepufferten Daten auf die Programmierspannung oder die Programmiersperrspannung gesetzt wird.
6. Nichtflüchtiges Halbleiterspeicherbauelement nach ei­ nem der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass die Programmierspannung einen Massespannungspegel und die Programmiersperrspannung einen Versorgungsspannungspegel aufweisen.
7. Nichtflüchtiges Halbleiterspeicherbauelement nach ei­ nem der Ansprüche 1 bis 6, weiter gekennzeichnet durch Initi­ alisierungstransistoren, die mit den Zwischenspeichern gekop­ pelt sind, um letztere in Reaktion auf ein Rücksetzsignal zu initialisieren, bevor jeweils zu programmierende Datenbits in die Zwischenspeicher geladen werden.
8. Nichtflüchtiges Halbleiterspeicherbauelement nach ei­ nem der Ansprüche 1 bis 7, weiter dadurch gekennzeichnet, dass die in den Zwischenspeichern gepufferten Datenbits in eine ausgewählte Speicherzelle während eines Satzes von Pro­ grammierzyklen programmiert werden, von denen jeder aus dem Programmiervorgang und dem Programmierprüfvorgang besteht.
9. Verfahren zur Programmierung eines nichtflüchtigen Mehrzustands-Halbleiterspeicherbauelementes, gekennzeichnet durch folgende Schritte:
  • - Laden eines Speicherschaltkreises mit mehreren, in eine ausgewählte Speicherzelle zu programmierenden Datenbits an Information,
  • - Feststellen, ob wenigstens eines der Datenbits im Speicherschaltkreis die Programmierung der ausgewählten Spei­ cherzelle anzeigt, und
  • - Setzen einer ausgewählten Bitleitung auf eine Pro­ grammierspannung, wenn wenigstens eines der Datenbits die Programmierung der ausgewählten Speicherzelle anzeigt, und auf eine Programmiersperrspannung, wenn alle Datenbits im Speicherschaltkreis eine Programmiersperre der ausgewählten Speicherzelle anzeigen.
DE10052326A 1999-11-01 2000-10-18 Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür Expired - Fee Related DE10052326B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR99-47959 1999-11-01
KR1019990047959A KR100319559B1 (ko) 1999-11-01 1999-11-01 문턱 전압 분포들 사이의 마진을 일정하게 유지할 수 있는멀티-스테이트 불휘발성 반도체 메모리 장치

Publications (2)

Publication Number Publication Date
DE10052326A1 true DE10052326A1 (de) 2001-05-10
DE10052326B4 DE10052326B4 (de) 2006-12-21

Family

ID=19618013

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10052326A Expired - Fee Related DE10052326B4 (de) 1999-11-01 2000-10-18 Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür

Country Status (6)

Country Link
US (1) US6411551B1 (de)
JP (1) JP2001167589A (de)
KR (1) KR100319559B1 (de)
DE (1) DE10052326B4 (de)
FR (1) FR2800503B1 (de)
TW (1) TW483003B (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
JP4907011B2 (ja) * 2001-04-27 2012-03-28 株式会社半導体エネルギー研究所 不揮発性メモリとその駆動方法、及び半導体装置
JP2007257829A (ja) * 2001-10-24 2007-10-04 Toshiba Corp 半導体装置及びその動作方法
US6967872B2 (en) * 2001-12-18 2005-11-22 Sandisk Corporation Method and system for programming and inhibiting multi-level, non-volatile memory cells
US6894931B2 (en) 2002-06-20 2005-05-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6859397B2 (en) * 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
JP4424952B2 (ja) * 2003-09-16 2010-03-03 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
KR100635205B1 (ko) * 2004-11-15 2006-10-16 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자의 읽기 방법
KR100723772B1 (ko) * 2005-03-28 2007-05-30 주식회사 하이닉스반도체 개선된 프로그램 동작 성능을 가지는 플래쉬 메모리 소자의페이지 버퍼 및 그것의 프로그램 동작 제어 방법
US7295478B2 (en) * 2005-05-12 2007-11-13 Sandisk Corporation Selective application of program inhibit schemes in non-volatile memory
KR100678479B1 (ko) 2005-07-20 2007-02-02 삼성전자주식회사 3-트랜지스터 메모리 셀을 갖는 비휘발성 메모리 소자들 및그 제조방법들
KR100666183B1 (ko) * 2006-02-01 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
US7391651B2 (en) * 2006-05-12 2008-06-24 Elite Semiconductor Memory Technology Inc. Method for programming NAND flash memory device and page buffer performing the same
US7440326B2 (en) * 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
US7596031B2 (en) * 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
KR100816155B1 (ko) * 2006-12-28 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법
KR100816162B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 낸드 플래시 메모리 장치 및 셀 특성 개선 방법
KR100823174B1 (ko) 2007-02-27 2008-04-18 삼성전자주식회사 멀티-페이지 프로그램 스킴을 갖는 플래시 메모리 장치 및그것의 멀티-페이지 프로그램 방법
KR100824203B1 (ko) * 2007-04-03 2008-04-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7639532B2 (en) * 2007-10-10 2009-12-29 Micron Technology, Inc. Non-equal threshold voltage ranges in MLC NAND
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US9484097B2 (en) * 2010-07-21 2016-11-01 Conversant Intellectual Property Management Inc. Multipage program scheme for flash memory
US8374031B2 (en) 2010-09-29 2013-02-12 SanDisk Technologies, Inc. Techniques for the fast settling of word lines in NAND flash memory
US8619475B2 (en) 2011-08-05 2013-12-31 Micron Technology, Inc. Methods to operate a memory cell
US8811075B2 (en) 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
KR102535414B1 (ko) * 2016-05-17 2023-05-24 에스케이하이닉스 주식회사 균일한 프로그램 특성을 갖도록 하는 이피롬 메모리 장치 및 그 이피롬 메모리 장치의 프로그램 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59186425A (ja) * 1983-04-08 1984-10-23 Seiko Epson Corp 相補型mosワイヤ−ドor論理回路
JP3476952B2 (ja) * 1994-03-15 2003-12-10 株式会社東芝 不揮発性半導体記憶装置
KR970005644B1 (ko) * 1994-09-03 1997-04-18 삼성전자 주식회사 불휘발성 반도체 메모리장치의 멀티블럭 소거 및 검증장치 및 그 방법
KR0172403B1 (ko) * 1995-11-15 1999-03-30 김광호 불휘발성 반도체 메모리의 데이타 리드회로
KR0172408B1 (ko) * 1995-12-11 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 및 그의 구동방법
US5724284A (en) * 1996-06-24 1998-03-03 Advanced Micro Devices, Inc. Multiple bits-per-cell flash shift register page buffer
US5862074A (en) * 1996-10-04 1999-01-19 Samsung Electronics Co., Ltd. Integrated circuit memory devices having reconfigurable nonvolatile multi-bit memory cells therein and methods of operating same
JP3481817B2 (ja) * 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
JP3517081B2 (ja) * 1997-05-22 2004-04-05 株式会社東芝 多値不揮発性半導体記憶装置
JPH11242893A (ja) * 1997-12-26 1999-09-07 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP4029469B2 (ja) * 1997-12-26 2008-01-09 ソニー株式会社 不揮発性半導体記憶装置およびそのデータ書き込み方法

Also Published As

Publication number Publication date
FR2800503B1 (fr) 2003-12-12
KR100319559B1 (ko) 2002-01-05
FR2800503A1 (fr) 2001-05-04
KR20010044902A (ko) 2001-06-05
DE10052326B4 (de) 2006-12-21
US6411551B1 (en) 2002-06-25
TW483003B (en) 2002-04-11
JP2001167589A (ja) 2001-06-22

Similar Documents

Publication Publication Date Title
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE4213731C2 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE10162860B4 (de) Nichtflüchtiger Halbleiterspeicher sowie zugehöriges Programmierverfahren
DE10158849B4 (de) Nichtflüchtiges Speicherbauelement und zugehöriges Datenabtastverfahren
DE102004060349B4 (de) Seitenpuffer einer nichtflüchtigen Speichervorrichtung und Verfahren zum Programmieren und Lesen einer nichtflüchtigen Speichervorrichtung
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE4302223C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung sowie Herstellungsverfahren dafür
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE4309814C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE4422810C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE69934961T2 (de) Halbleiterspeicheranordnung und deren Speicherverfahren
DE4110371C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE10043397B4 (de) Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür
DE4207934A1 (de) Elektrisch loesch- und programmierbares, nichtfluechtiges speichersystem mit schreib-pruef-einsteller unter verwendung zweier bezugspegel
DE102005030661B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE102008003168B4 (de) Speichervorrichtung mit Multi-Level-Zellen und entsprechendes Programmierungs-Nachprüfverfahren
DE3929816A1 (de) Elektrisch loeschbare und programmierbare halbleiterspeichereinrichtung und verfahren zum loeschen und programmieren dieser halbleiterspeichereinrichtung
DE4040492C2 (de)
DE3833713A1 (de) Halbleiterspeichereinrichtung mit einer vorrichtung zum pruefen und korrigieren von fehlern
DE102005063049B4 (de) NAND-Flashspeicherbauelement und Programmierverfahren
DE10002266A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE4035660A1 (de) Elektrisch programmierbare speichereinrichtung und verfahren zum zugreifen/programmieren von speicherzellen
DE4036973A1 (de) Schaltkreis zum erzeugen einer hochspannung fuer einen halbleiterspeicherschaltkreis
DE60015770T2 (de) Flashspeicheranordnung mit extern ausgelöster erfassung und heilung von fehlerhaften zellen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee