DE10297641T5 - Ladungsinjektion - Google Patents
Ladungsinjektion Download PDFInfo
- Publication number
- DE10297641T5 DE10297641T5 DE10297641T DE10297641T DE10297641T5 DE 10297641 T5 DE10297641 T5 DE 10297641T5 DE 10297641 T DE10297641 T DE 10297641T DE 10297641 T DE10297641 T DE 10297641T DE 10297641 T5 DE10297641 T5 DE 10297641T5
- Authority
- DE
- Germany
- Prior art keywords
- bit
- programming
- bits
- double
- array
- 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.)
- Withdrawn
Links
- 238000002347 injection Methods 0.000 title description 3
- 239000007924 injection Substances 0.000 title description 3
- 230000015654 memory Effects 0.000 claims abstract description 135
- 238000000034 method Methods 0.000 claims abstract description 98
- 230000009977 dual effect Effects 0.000 claims abstract description 45
- 230000000295 complement effect Effects 0.000 claims description 37
- 238000003491 array Methods 0.000 claims 1
- 239000010410 layer Substances 0.000 description 35
- 238000012217 deletion Methods 0.000 description 22
- 230000037430 deletion Effects 0.000 description 22
- 238000012795 verification Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 18
- 150000004767 nitrides Chemical class 0.000 description 10
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 8
- 229920005591 polysilicon Polymers 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 229910052581 Si3N4 Inorganic materials 0.000 description 6
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 6
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000005684 electric field Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000002513 implantation Methods 0.000 description 3
- 235000012239 silicon dioxide Nutrition 0.000 description 3
- 239000000377 silicon dioxide Substances 0.000 description 3
- 229910052785 arsenic Inorganic materials 0.000 description 2
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005689 Fowler Nordheim tunneling Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000036586 afterload Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000002784 hot electron Substances 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 101150018075 sel-2 gene Proteins 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5657—Digital 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 ferroelectric storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5671—Digital 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 trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0466—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
- G11C16/0475—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS] comprising two or more independent storage sites which store independent data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Non-Volatile Memory (AREA)
- Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
Verfahren
zum Programmieren von Bits in einer ONO-Doppelbit-Speicherzelle
(10, 82, 84, 86, 88), die in einem Doppelbit-Modus arbeitet, wobei
das Verfahren umfasst:
Anlegen eines Programmierpulses an mindestens ein Bit der Doppelbit-Speicherzelle (10, 82, 84, 86, 88) durch gleichzeitiges Anlegen einer Spannung an ein Drain des mindestens einen Bits und Anlegen einer Spannung an ein Gate des mindestens einen Bits;
Verifizieren, dass eine Delta VT des mindestens einen Bits in einem Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt; und
Wiederholen des Anlegens eines Programmierpulses, bis die Delta VT des mindestens einen Bits in einem Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt.
Anlegen eines Programmierpulses an mindestens ein Bit der Doppelbit-Speicherzelle (10, 82, 84, 86, 88) durch gleichzeitiges Anlegen einer Spannung an ein Drain des mindestens einen Bits und Anlegen einer Spannung an ein Gate des mindestens einen Bits;
Verifizieren, dass eine Delta VT des mindestens einen Bits in einem Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt; und
Wiederholen des Anlegens eines Programmierpulses, bis die Delta VT des mindestens einen Bits in einem Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt.
Description
- GEBIET DER ERFINDUNG
- Die vorliegende Erfindung betrifft im Allgemeinen Speichersysteme und betrifft insbesondere ein System und ein Verfahren zum Programmieren und Löschen von Bit-Sektoren in einer elektronischen Flash- bzw. elektronisch löschbaren Speichereinrichtung mit 2-Bit-Speichertransistorzellen, in denen eine Architektur mit virtueller Masse verwendet ist.
- HINTERGRUND DER ERFINDUNG
- Ein Flash-Speicher ist eine Art eines elektronischen Speichermediums, das wiederbeschreibbar ist und das seinen Inhalt ohne das Anliegen der Versorgungsspannung halten kann. Flash-Speichereinrichtungen besitzen im Allgemeinen Lebensdauern von 100 000 bis 300 000 Schreibzyklen. Anders als Speicherchips für dynamische Speicher mit wahlfreiem Zugriff (DRAM) und statische Speicher mit wahlfreiem Zugriff (SRAM), in denen ein einzelnes Bit gelöscht werden kann, wird ein Flash-Speicher typischer Weise in festgelegten Mehr-Bit-Blöcken oder Sektoren beschrieben und gelöscht. Flash-Speicher sind aus der elektrisch löschbaren Nur-Lese-Speicher- (EEPROM) Chiptechnologie hervorgegangen, wobei jedoch ein Löschen in der Schaltung stattfinden kann und wobei die Flash-Speicher preiswerter und kompakter sind. Diese neue Kategorie an EEPROM's hat sich als ein wichtiger nicht flüchtiger Speicher erwiesen, der die Vorteile der EPROM-Dichte mit der elektrischen Löschbarkeit des EEPROM's vereinigt.
- Konventionelle Flash-Speicher sind in einer Zellenstruktur aufgebaut, wobei ein einzelnes Informationsbit in jeder Zelle gespeichert ist. In derartigen Einzelbit-Speicherarchitekturen enthält jede Zelle typischerweise eine Metalloxidhalbleiter-(MOS) Transistorstruktur mit einem Source, einem Drain und einem Kanal in einem Substrat oder P-Potentialtopf, sowie eine beschichtete Gatestruktur, die über dem Kanal liegt. Die geschichtete Gatestruktur kann ferner eine dünne dielektrische Gateschicht (die manchmal als Tunneloxid bezeichnet wird) aufweisen, die auf der Oberfläche des P-Potentialtopfs ausgebildet ist. Das geschichtete Gate enthält ferner ein schwebendes bzw. potentialfreies Polysiliziumgate, das über dem Tunneloxid liegt, und eine dielektrische Zwischenschicht, die über dem potentialfreien Gate angeordnet ist. Die dielektrische Zwischenpolyschicht ist häufig als ein Mehrschicht isolator, etwa eine Oxid-Nitrid-Oxid- (ONO) Schicht mit zwei Oxidschichten, die einen Nitridschicht einschließen, ausgebildet. Schließlich liegt ein Steuergate aus Polysilizium über der dielektrischen Zwischenpolyschicht.
- Das Steuergate ist mit einer Wortleitung verbunden, die mit einer Zeile von Zellen so verknüpft ist, um Sektoren mit diesen Zellen in einer typischen NOR-Konfiguration zu bilden. Ferner sind die Draingebiete der Zellen miteinander durch eine leitende Bit-Leitung verbunden. Der Kanal der Zelle führt Strom zwischen dem Source und dem Drain entsprechend einem elektrischen Feld, das sich in dem Kanal durch die geschichtete Gatestruktur ausbildet. In der NOR-Konfiguration ist jeder Drain-Anschluss der Transistoren in einer einzelnen Spalte mit der gleichen Bit-Leitung verbunden. Ferner ist in jeder Flash-Zelle der geschichtete Gate-Anschluss mit einer anderen Wortleitung verbunden, während alle Flash-Zellen in dem Array mit ihren entsprechenden Source-Anschlüssen mit einem gemeinsamen Source-Anschluss verbunden sind. Während des Betriebs werden einzelne Flash-Zellen über die entsprechende Bit-Leitung und Wortleitung adressiert, wobei periphere Decodier- und Steuerschaltungen für das Programmieren (Schreiben), Lesen oder die Löschfunktionen benutzt werden.
- Eine derartige Einzelbit-Schichtgate-Flash-Speicherzelle wird programmiert, indem eine Spannung an das Steuergate angeschlossen wird und das Source mit Masse und das Drain mit einem vorbestimmten Potential, das über jenem des Source liegt, verbunden wird. Ein resultierendes hohes elektrisches Feld durch das Tunneloxid führt zu einem Phänomen, das als "Fowler-Nordheim"-Tunneln bezeichnet wird. Während dieses Prozesses gelangen Elektronen in dem Kernzeilenkanalgebiet durch den Tunneleffekt durch das Gateoxid in das schwebende bzw. potentialfreie Gate und werden in dem potentialfreien Gate eingefangen, da das potentialfreie Gate von der dielektrischen Zwischenschicht und dem Tunneloxid eingeschlossen ist. Als Folge der eingefangenen Elektronen steigt die Schwellwertspannung der Zelle an. Diese Änderung der Schwellwertspannung (und somit der Kanalleitfähigkeit) der Zelle, die durch die eingefangenen Elektronen erzeugt wird, bewirkt, dass die Zelle programmiert ist. Um eine typische Einzelbit-Schichtgate-Flash-Speicherzelle zu löschen, wird eine Spannung an das Source angelegt und das Steuergate wird auf einem negativen Potential gehalten, während das Drain schwebend bzw. potentialfrei bleibt. Unter diesen Bedingungen bildet sich ein elektrisches Feld durch das Tunneloxid zwischen dem potentialfreien Gate und dem Source aus. Die in dem potentialfreien Gate eingefangenen Elektro nen fließen in Richtung zu jenem Bereich des potentialfreien Gates und sammeln sich dort an, der über dem Sourcegebiet liegt, und werden von dem potentialfreien Gate herausgelöst und gelangen mittels des Fowler-Nordheim-Tunneleffekts durch das Tunneloxid hindurch in das Sourcegebiet. Wenn die Elektronen aus dem potentialfreien Gate entfernt sind, ist die Zelle gelöscht.
- In konventionellen Einzelbit-Flash-Speichereinrichtungen wird eine Löschverifizierung durchgeführt, um zu bestimmen, ob jede Zelle in einem Block oder ob ein Satz aus derartigen Zellen korrekt gelöscht wurde. Gegenwärtige Verifizierungsverfahren für die Einzelbitlöschung beinhalten eine Verifizierung der Löschung eines Bits oder einer Zelle und das Anlegen ergänzender Löschpulse an die einzelnen Zellen, die die anfängliche Verifizierung nicht bestanden haben. Danach wird der gelöschte Zustand der Zelle erneut verifiziert und der Prozess wiederholt sich, bis die Zelle oder das Bit erfolgreich gelöscht ist oder die Zelle als unbrauchbar markiert ist.
- In jüngerer Zeit wurden Doppelbit-Flash-Speicherzellen eingeführt, die das Speichern zweier Informationsbits in einer einzelnen Speicherzelle ermöglichen. Die konventionellen Programmier- und Löschverifizierungsverfahren, die bei Einzelbitschichtgatearchitekturen verwendet werden, sind für derartige Doppelbiteinrichtungen nicht geeignet. In jüngerer Zeit wurden Doppelbitflashspeicherstrukturen eingeführt, die kein potentialfreies Polysiliziumgate benutzen, etwa eine ONO-Flashspeichereinrichtung, die eine Polysiliziumschicht über der ONO-Schicht zur Bereitstellung der Wortleitungsverbindungen verwendet. Konventionelle Techniken berücksichtigen jedoch nicht die Eigenschaften, die mit dieser Art von Bauelementen verbunden sind. Daher gibt es eine bisher nicht erfüllte Anforderung für neue und verbesserte Programmier- und Löschverfahren und Systeme, die eine geeignete Programmierung und Löschung von Datenbits in einer Doppelbit-Speicherarchitektur mit virtueller Masse ermöglichen, und die deren strukturelle Eigenschaften berücksichtigen.
- ÜBERBLICK ÜBER DIE ERFINDUNG
- Es wird ein System und ein Verfahren zur Programmierung eines ersten und eines zweiten Bits eines Speicherarrays mit Doppelbitspeicherzellen bei einem relativ hohen Delta VT bereitgestellt. Das deutlich höhere VT stellt sicher, dass das Speicherarray programmierte Daten bewahrt und Daten zuverlässig nach Belastungen mit höherer Temperatur und/oder nach Betrieb des Benutzers über längere Zeiträume hinweg löscht. Bei einer deutlich höheren Delta VT (Schwellwertspannung) bewirkt das Programmieren des ersten Bits der Speicherzelle, dass das zweite Bit härter und schneller auf Grund der kürzeren Kanallänge zu programmieren ist. Daher werden in der vorliegenden Erfindung ausgewählte Gate- und Drainspannungen und Programmierpulsbreiten während des Programmierens des ersten und des zweiten Bits verwendet, so dass eine gesteuerte VT für das erste Bit und ein verlangsamendes Programmierens des zweiten Bits sichergestellt ist. Ferner halten die ausgewählten Programmierparameter die Programmierzeiten klein, ohne den Ladungsverlust nachteilig zu beeinflussen.
- Die vorliegende Erfindung erlaubt eine effiziente und zuverlässige Programmierung, Löschung und Verifizierung, wodurch die Datenverzögerung und Probleme hinsichtlich des übermäßigen Löschens ähnlich zu jenen Problemen, die in einer ONO-Doppelbitzellenarchitektur hervorgerufen werden, minimiert werden. Die Erfindung liefert deutliche Vorteile, wenn sie in Verbindung mit Doppelbit-Speicherzellen, die auf einer ONO-Architektur ausgebildet sind, angewendet wird. Es wird jedoch auch deutlich, dass die Erfindung in Verbindung mit Doppelbitspeicherzellenarchitektur im Allgemeinen verwendbar ist und dass die Erfindung nicht auf eine spezielle Doppelbit-Zellenanwendung oder Konfiguration eingeschränkt ist. Obwohl die Ladung, die mit dem Programmieren eines einzelnen Bits in der Doppelbitspeicherzelle verknüpft ist, isoliert ist, bewirkt diese, dass die zugeordnete Zelle schwerer zu programmieren ist, wodurch das Löschen schwieriger ist. Beispielsweise kann Restladung in dem zentralen Gebiet der Zelle angesammelt werden, die durch einen normalen Löschvorgang des Bits nicht gelöscht werden kann. Daher umfasst das System und das Verfahren das Programmieren, Verifizieren und Löschen sowohl eines normalen Bits als auch eines Komplementärbits der Zelle, die gegenüberliegende Seiten desselben ONO-Transistors sind. Das Löschen umfasst das Anlegen einer Reihe von Löschpulsen an das normale Bit und das komplementäre Bit in einer einzelnen Doppelbitzelle. Die Reihe der Löschpulse beinhaltet einen zweiseitigen Löschpuls an beiden Seiten des Transistors, an den sich ein einseitiger Löschpuls für eine Seite und ein einseitiger Löschpuls für die andere Seite anschließt.
- In einem Aspekt der vorliegenden Erfindung wird ein System und ein Verfahren zum verifizierten Löschen eines Speicherarrays aus Doppelbit-Flashspeicherzellen bereitgestellt. Das System und Verfahren beinhalten das Programmieren von Bits in sowohl normalen Spal tenplätzen und komplementären Spaltenplätzen und das anschließende Verifizieren des Löschens sowohl der Bits in normalen und komplementären Bitspaltenplätzen. Die verifizierte Löschung erfordert, dass jeder Bitadressenplatz die Löschverifizierung besteht, bevor auf die nächste Adresse gewechselt wird. Alternativ kann die Löschverifizierung an einem I/O oder einem Wort aus Bits durchgeführt werden, so dass die normalen Bits und die komplementären Bits eines I/O die Bedingung erfüllen müssen, bevor zu dem I/O oder dem nächsten Wort gewechselt wird. Wenn eine Adressposition nicht unterhalb einer maximalen VT, die einen leeren Zustand definiert, liegt, wird eine Reihe von Löschpulsen angelegt. Die Reihe von Löschpulsen enthalten einen zweiseitigen Löschpuls für Bits in der normalen und der komplementären Spaltenstelle für eine spezifizierte Dauer (z. B. 10 Millisekunden), gefolgt von einem ersten einseitigen Löschpuls für Bits in einer der normalen Spaltenplätze und komplementären Spaltenplätze für eine spezifizierte Dauer (beispielsweise 1 Millisekunde) und einem zweiten einseitigen Löschpuls für Bits in dem jeweils anderen Platz der normalen Spaltenplätze bzw. komplementären Spaltenplätze für eine spezifizierte Dauer (beispielsweise 1 Millisekunde). Die Schritte des Verifizierens und Löschens werden wiederholt, bis jedes normale Bit und das komplementäre Bit in einem Sektor unterhalb der maximalen VT, das eine leere Zelle definiert, liegt. Die Schritte werden dann für jeden Sektor wiederholt.
- Daraufhin werden die Bits bewertet, um zu bestimmen, ob die Bits zu stark gelöscht wurden oder unterhalb einer minimalen VT, die eine leere Zelle definiert, liegen. Ein weicher Programmierpuls wird für die Bits bereitgestellt, die als zu stark gelöscht bestimmt wurden. Die weiche Programmierverifizierung sollte eine Sourcespannung mit geringem Pegel enthalten, um den Leckstrom von anderen Zellen in der gleichen Spalte zu vermeiden. Es wird eine zweite oder letzte Routine für die Löschungsverifizierung sowohl an den Bits in den normalen Spaltenplätzen als auch in den komplementären Spaltenplätzen durchgeführt, um sicherzustellen, dass der weiche Programmierpuls nicht bewirkt hat, dass die Bits über die maximale VT, die eine leere Zelle definiert, angehoben wurden.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Seitenquerschnittsansicht einer beispielhaften Doppelbitspeicherzelle, in der diverser Aspekte der vorliegenden Erfindung implementiert werden können; -
2 ist eine Seitenquerschnittsansicht einer Doppelbitspeicherzelle, wobei das Speichern einer programmierten Ladung in einem normalen Gebiet und einem komplementären Gebiet der Doppelbitspeicherzelle gezeigt ist; -
3 ist eine Seitenquerschnittsansicht der Doppelbitspeicherzelle, wobei eine ungleichförmige Ladungsansammlung in einem zentralen Gebiet der Zelle auf Grund des Überprogrammierens des zweiten programmierten Bits der Doppelbitspeicherzelle gezeigt ist; -
4 ist eine Seitenquerschnittsansicht der Doppelbitspeicherzelle, wobei die Restladung gezeigt ist, die in dem zentralen Gebiet der Zelle in der Nähe der Arrayränder nach dem Löschen der Zelle unter Anwendung lediglich des einseitigen oder des zweiseitigen Löschens verbleibt; -
5 ist eine Seitenquerschnittsansicht der Doppelbitspeicherzelle, wobei das Entfernen der Restladung gezeigt ist, die auf dem zentralen Gebiet der Zelle in der Nähe der Arrayränder nach dem Löschen der Doppelbitspeicherzelle gemäß der vorliegenden Erfindung verbleibt; -
6 zeigt eine schematische Blockansicht eines Systems, das ausgebildet ist, diverse Aspekte der Erfindung auszuführen; -
7 ist eine Teildraufsicht eines 64-K-Sektors eines Arrays eines Doppelbit-Flashspeichers mit 16 Wörtern eines 16-Bitspeichers gemäß der vorliegenden Erfindung; -
8 zeigt schematisch eine Ansicht eines Teils einer Zeile von Doppelbitspeicherzellen gemäß der vorliegenden Erfindung; -
9 zeigt einen Graphen der Delta VT eines ersten Bits gegenüber der Programmierzeit für ein zweites Bit gemäß einem Aspekt der vorliegenden Erfindung; -
10 zeigt einen Graphen der Delta VT- Abnahme in Abhängigkeit von Programmier- und Löschzyklen gemäß einem Aspekt der vorliegenden Erfindung; -
11 ist ein Flussdiagramm, das einen Ablauf zum Bestimmen einer relativ hohen Delta VT und ausgewählter Programmierparameter zum Programmieren erster und zweiter Bits von Doppelbitspeicherzellen gemäß einem Aspekt der Erfindung darstellt; -
12 ist ein Flussdiagramm, das einen Ablauf zum Löschverifizieren eines Arrays aus Doppelbitspeicherzellen gemäß einem Aspekt der Erfindung zeigt; -
13 ist ein Flussdiagramm, das einen Ablauf zur weichen Programmierung von Zellen in dem Array aus Doppelbit-Speicherzellen nach dem Löschverifizierungsverfahren aus12 gemäß einem Aspekt der Erfindung zeigt; und -
14 ist ein Flussdiagramm, das einen Ablauf zum Verifizieren des Löschens von Zellen in dem Array aus Doppelbitspeicherzellen nach dem weichen Programmierverfahren aus13 gemäß einem Aspekt der Erfindung zeigt. - DETAILLIERTE BESCHREIBUNG
- Das folgende ist eine detaillierte Beschreibung der vorliegenden Erfindung, die in Verbindung mit den begleitenden Zeichnungen dargestellt wird. Die Erfindung liefert Verfahrensabläufe und ein System zum Programmieren (Schreiben), Verifizieren (Lesen) und einem korrekten Löschen von Doppelbit-Speicherzellen, die in einem Doppel- oder Dualbit-Modus arbeiten. Die vorliegende Erfindung kann in Verbindung mit einem Chiplösch- oder Sektorlöschvorgang in einer Flash-Speichereinrichtung verwendet werden. Ferner stellt die vorliegende Erfindung Verfahrensabläufe und ein System für die korrekte Anordnung und die Wartung von Doppelbit-Speicherzellen in einem Array bereit, das in einen Doppel-Bit-Modus arbeitet. Obwohl die Erfindung im Weiteren in Verbindung mit einer ONO-Doppelbit-Speicherzellenarchitektur dargestellt und beschrieben wird, wobei beide Bits jeder Zelle für die Datenspeicherung verwendet werden, erkennt man, dass die Erfindung auf andere Architekturarten und andere Doppelbitarchitekturanwendungsschemata anwendbar ist.
- Es sei nun auf die Zeichnungen verwiesen;
1 zeigt eine beispielhafte Doppelbitspeicherzelle10 , in der ein oder mehrere der diversen Aspekte der Erfindung verwirklicht werden können. Die Speicherzelle10 umfasst eine Siliziumnitridschicht16 , die zwischen einer oberen Siliziumdioxidschicht14 und einer unteren Siliziumdioxidschicht18 eingeschlossen ist, so dass eine ONO-Schicht30 gebildet wird. Eine Polysiliziumschicht12 liegt über der ONO-Schicht30 und stellt eine Wortleitungsverbindung zu der Speicherzelle10 bereit. Eine erste Bitleitung32 verläuft unterhalb der ONO-Schicht30 unter einem ersten Gebiet4 und eine zweite Bitleitung34 verläuft unterhalb der ONO-Schicht30 unter einem zweiten Gebiet6 . Die Bitleitungen32 und34 sind aus einem leitenden Bereich24 und einen optionalen Oxidbereich22 aufgebaut. Borkernimplantationen20 sind an beiden Enden jeder Bitleitung32 und34 , wo die Bitleitungen auf die untere Siliziumdoxidschicht18 treffen, oder entlang des gesamten Transistors vorgesehen. Die Borkernimplantationen sind stärker dotiert als das P-Substrat und unterstützen die Steuerung der VT der Speicherzelle10 . Die Zelle10 liegt auf einem P-Substrat9 , wobei der leitende Bereich24 der Bitleitungen32 und34 aus einem N+ Arsenimplantationsgebiet gebildet ist, so dass ein Kanal8 dazwischen über das P-Substrat hinweg ausgebildet ist. Die Speicherzelle10 weist einen einzelnen Transistor mit symmetrischen Source- und Drainkomponenten, die aus den N+ Arsenimplantationsbereichen24 aufgebaut sind und auf dem P-Substratgebiet9 liegen, auf, wobei ein Gate als ein Teil einer Polysiliziumwortleitung12 ausgebildet ist. - Obwohl die erste und die zweite Bitleitung
32 und34 mit einem leitenden Bereich24 und einem optionalen Oxidbereich22 dargestellt sind, sollte beachtet werden, dass die Bitleitungen lediglich aus einem leitenden Bereich aufgebaut sein können. Obwohl ferner die Zeichnung der1 Spalten in der Siliziumnitridschicht16 zeigt, sollte verstanden werden, dass die Siliziumnitridschicht16 ohne Spalten als ein einzelner Streifen oder eine einzelne Schicht hergestellt werden kann. - Die Siliziumnitridschicht
16 bildet eine Ladungseinfangschicht. Das Programmieren der Zelle wird erreicht, indem Spannungen an das Drain und das Gate angelegt werden, während das Source auf Masse gelegt wird. Die Spannungen erzeugen elektrische Felder entlang dem Kanal, wodurch Elektronen zur Beschleunigung angeregt werden und von der Substratschicht9 in das Nitrid übergeben, was als Injektion heißer Elektronen bekannt ist. Da die Elektronen die meiste Energie an dem Drain aufnehmen, werden diese Elektronen eingefangen und bleiben in der Nitridschicht in der Nähe des Drains gespeichert. Die Zelle10 ist im Wesentlichen gleichförmig und das Drain und das Source sind vertauschbar. Da das Siliziumnitrid nichtleitend ist, kann eine erste Ladung26 in die Nitridschicht16 in der Nähe eines ersten Endes eines zentralen Gebiets5 und eine zweite Ladung28 kann in die Nitridschicht16 in der Nähe eines zweiten Endes des zentralen Gebiets5 eingebracht werden. - Daher können, wenn die Ladungen sich nicht bewegen, zwei Bits pro Zelle anstatt eines Bits vorgesehen werden.
- Wie zuvor erläutert ist, kann die erste Ladung
26 in der Nitridschicht16 an dem ersten Ende des zentralen Gebiets5 und die zweite Ladung28 an dem zweiten Ende des zentralen Gebiets5 gespeichert werden, so dass zwei Bits pro Speicherzelle10 vorhanden sind. Die Doppelbit-Speicherzelle10 ist im Wesentlichen symmetrisch, so dass das Drain und das Source austauschbar sind. Somit kann die erste Bitleitung32 als der Drainanschluss und die zweite Bitleitung34 kann als der Sourceanschluss dienen, wenn das linke Bit C0 programmiert wird. In ähnlicher Weise kann die zweite Bitleitung34 als der Drainanschluss und die erste Bitleitung32 als der Sourceanschluss beim Programmieren des rechten Bits C1 dienen. Tabelle 1 zeigt einen speziellen Satz an Spannungsparametern zum Ausführen des Lesens, Programmierens und des einseitigen Löschens der Doppelbitspeicherzelle10 , die das erste Bit C0 und das zweite Bit C1 aufweist. Tabelle 1 - Es können diverse Implementierungen von Doppelbit-Speicherzellenarchitekturen gemäß einem oder mehreren Aspekten der vorliegenden Erfindung erreicht werden. Insbesondere ist die Erfindung auf Speichereinrichtungen anwendbar, in denen beide Bits in einer Doppelbitzelle für die Daten- oder Informationsspeicherung verwendet werden. Die Erfinder der vorliegenden Erfindung haben herausgefunden, dass das Programmieren und Löschen eines Bits (beispielsweise des Bits C0) in einer derartigen Zelle die Programmierung und/oder Löschung des zugeordneten Bits (beispielsweise Bit C1) beeinflusst. Beispielsweise kann ein wiederholtes Programmieren des Bits C1 der Zelle
10 eine Ladungskommulation in dem Bit C0 hervorrufen und umgekehrt. Ebenso kann ein wiederholtes Anlegen von Löschspannungspulsen an das Bit C1 ein starkes Löschen des Bits C1 bewirken. Diese Phänomene in dem zugeordneten Bit C0 können wiederum eine Beeinträchtigung in Bezug auf die Funktion der Bits während des normalen Betriebs hervorrufen (beispielsweise die Fähigkeit, eines oder beide Bits effektiv zu lesen, zu schreiben/programmieren und/oder zu löschen). Die Erfindung richtet sich an diese Probleme bezüglich der Doppelbit-Speicherzellentechnologie, indem die einzelnen Bits derartiger Speicherzellen selektiv programmiert, verifiziert, gelöscht und erneut verifiziert werden, um verstärkt die korrekte Löschung der Speicherzelle beispielsweise in einem Block- oder Sektorlöschvorgang in einer Flash-Speichereinrichtung zu gewährleisten. -
2 zeigt das Programmieren beider Bits in der Speicherzelle10 . Zum Zwecke der Erläuterung wird ein Bit als das normale Bit (NB) bezeichnet, während das zugeordnete Bit als das komplementäre Bit (CB) bezeichnet wird. Während der Lesevorgänge ist der Übergang, der der gelesenen Zelle am nächsten liegt, der Masseanschluss und die andere Seite des Transistors ist das Drain. Dies wird als invertiertes Lesen bezeichnet. Während des Programmierens und Löschens wird das Drain auf den nächsten Übergang als die Drainspannung anstatt auf Masse geschaltet, die zum Lesen und Verifizieren verwendet wird. - Die Doppelbitspeicherzelle
10 kann als drei einzelne Elemente betrachtet werden, die zusammenwirken, und durch ein Komplementärbitgebiet40 , ein zentrales Gebiet42 und ein normales Gebiet44 repräsentiert sind. Das Komplementärbitgebiet40 und das normale Bitgebuiet42 sind in der Nähe der Drains/Source-Übergänge und die lokale VT kann während der Programmier- und Löschvorgänge modifiziert werden. Das zentrale Gebiet42 soll te nahe an der natürlichen VT liegen, die während des Herstellungsprozesses der Speicherzelle10 erzeugt wird. Die Siliziumnitridschicht16 aus dem ONO-Stapel30 wird verwendet, um eine erste Ladung38 in dem normalen Gebiet44 und eine zweite Ladung39 in dem Komplementärbitgebiet40 zu speichern. Da Nitrid kein Leiter ist, verteilt sich die während des Programmierens und Löschens hinzugefügte und entfernte Ladung nicht selbständig, sondern verbleibt im Wesentlichen dort, wo sie anfänglich injiziert wurde. Dies bedeutet, dass jede Seite des Transistors eine unterschiedliche Ladung und eine unterschiedliche VT aufweisen kann, die nahezu unabhängig von der anderen Seite sind. Wenn z. B. die natürliche oder die lösch-/ladungslose VT des CB und des NB ungefähr 1,2 Volt beträgt und wenn das NB auf eine VT von ungefähr 3,8 Volt programmiert ist, sollte das CB dicht an dem leeren Zustand liegen. Wenn ferner beide Bits auf eine VT von 3,8 Volt programmiert sind und das NB gelöscht wird, dann sollte CB bei ungefähr 3,8 Volt und das NB bei ungefähr 1,2 Volt liegen. - Während des Lesevorgangs für das NB sollte ferner der Teil der Ladung in der Nähe der CB-Bitleitung von einem Drain-Verarmungsgebiet bedeckt sein, da das Source (Masse) stets an dem Übergang, der der zu verifizierenden Zelle am nächsten liegt, ist. Dies wird als ein invertierter Lesevorgang bezeichnet, da der Übergang der verifizierten Zelle auf Masse liegt. Obwohl das invertierte Leseverfahren einen gewissen Teil der Ladung in der Nähe des Übergangs des anderen Bits berücksichtigt, ändert die Ladung in der Mitte des Kanals die effektive VT sowohl des CB als auch das NB. Wenn eines der Bereiche eine höhere oder niedrigere VT erhält, können die anderen Gebiet ebenso beeinflusst werden, da sie alle Teile des gleichen Transistors sind.
3 zeigt, wie das Programmieren des NB mit Einbringen der Ladung38 in das NB-Gebiet44 , nachdem das CB bereits mit ähnlichen Programmierparametern programmiert wurde, einen Aufbau von Ladungen46 bewirken kann, die teilweise in das zentrale Gebiet42 entweichen. Der wirksame kürzere Kanal beruht auf der Ladung, die auf dem ersten Bit in der Nähe des Übergangs gespeichert ist, der während des Programmierens des zweiten Bits auf Masse liegt. Die Programmierung des zweiten Bits erfolgt wesentlich schneller als jene des ersten Bits auf Grund der kürzeren Kanallänge, die durch das Einbringen von Ladung in das erste Bit hervorgerufen wird. Da das zweite Bit stärker programmiert wird, erfolgt das Löschen des zweiten Bits bei geringerer Geschwindigkeit als bei dem ersten Bit. Die vorliegende Erfindung löst dieses Problem bei stärkerem Programmieren des zweiten Bits, indem Programmierparameter ausgewählt werden, die eine zuverlässige Programmierung und Löschung beider Bits ermöglichen und indem Restladung, die sich während der Programmier- und Löschzyklen aufbaut, eliminiert wird. - Wie in
4 dargestellt ist, kann der Aufbau der Ladung46 in der Zelle10 verbleiben und die Programmier- und Löscheigenschaften der Zelle10 während jedes Zyklus ändern. Die Lage der zusätzlichen Ladung46 beim Programmieren des zweiten Bits ändert die effektive VT des CB-Gebiets40 und des NB-Gebiets44 und bewirkt einen Anstieg der Löschzeit, wenn die Anzahl der Programmier- und Löschzyklen anwächst. Die Kombination aus zweiseitigen und einseitigen Löschschritten liefert ein stabiles Verfahren, um die Doppelbitlöschung für die typischen und die äußersten Bits der Array-Elemente zu steuern. Die äußersten Bits des Arrays sind für gewöhnlich unterschiedlich in der Kanallänge oder -breite und löschen wesentlich langsamer unter Anwendung lediglich des zweiseitigen Verfahrens, wobei typische Zellen typischerweise am besten mit den zweiseitigen Löschpulsen zu löschen sind. Daher wurde ein einseitiges Löschen hinzugefügt, um eine hohe Löschgeschwindigkeit der äußersten Bits des Arrays beizubehalten. - Daher ist es wichtig, sicherzustellen, dass die VT des NB-Gebiets
44 , des zentralen Gebiets42 und des CB-Gebiets40 überwacht und auf bekannten Pegeln gehalten wird, um die Speicherzelle korrekt zu betreiben. Typischerweise tritt der Vorgang des Überwachens und Steuerns der VT des CB und des NB während des Löschens (im Weiteren als "die Doppelbitlöschung" bezeichnet) auf. Daher werden in der vorliegenden Erfindung die Programmierparameter so gewählt, um sicherzustellen, dass die Bits auf Grund der Restladung nicht überprogrammiert werden und das Löschen wird so durchgeführt, um sicherzustellen, dass die Restladung in dem zentralen Gebiet42 gesteuert wird. Durch Steuerung der VT-Verteilung während des Programmierens und Löschens bleiben sowohl die Löschzeit als auch die Programmierzeit während der Programmier- und Löschzyklen bekannt.5 zeigt die Speicherzelle10 nach einem Programmier- und Löschzyklus, wobei das Doppelbitprogrammier- und Löschverfahren der vorliegenden Erfindung angewendet wird. - Viele Flash-Speicher sind mit einer Befehlslogik und eingebetteten Zustandsmaschinen versehen, die die komplexen Programmier- und Löschvorgänge automatisch ausführen. Eine Modulkomponente eines statischen Speichers mit wahlfreiem Zugriff (SRAM) kann die Programme enthalten, die in einen Mikrokontrollen implementiert werden, um den Betrieb der Steuerlogik und des Speichersystems zu steuern. Diese Programme werden typischer weise in ein SRAM eingeladen, wenn das System eingeschaltet wird. Es kann ein Bus verwendet werden, um Steuerbefehle von einem Prozessor zu der Steuerlogikeinrichtung zu senden und um Daten, die von der Flash-Speichereinrichtung ausgelesen oder in diese geschrieben werden, mit der Befehlslogik und einem Host-Prozessor auszutauschen. Die eingebetteten Zustandsmaschinen der Flash-Einrichtung erzeugen die Befehlslogiksteuerungssignale für den detaillierten Ablauf, etwa die diversen einzelnen Schritte, die zum Ausführen des Programmierens, des Lesens und des Löschens erforderlich sind. Die Zustandsmaschine arbeitet also so, um den Aufwand zu reduzieren, der für einen Prozessor (nicht dargestellt) erforderlich ist, der typischerweise in Verbindung mit einem Mikrochip, der den Flash-Speicher enthält, verknüpft ist.
- Gemäß
6 wird ein System60 bereitgestellt, um das Programmieren, Verifizieren, weiche Programmieren und Löschen eines Speicherarrays68 , in dem Doppelbit-Speicherzellen der vorliegenden Erfindung verwendet sind, durchzuführen. In dem vorliegenden Beispiel enthält das Speicherarray68 mehrere 64K-Sektoren69 . Ein Sektor des Flash-Speicherarrays69 enthält einen Bereich des Speicherarrays68 , der aus allen Speicherzellen besteht, die durch alle die Wortleitungen zu einer Gruppe zusammengefasst sind, die gleiche Sektoradresse gemeinsam haben. Die Sektoradresse sind typischerweise die N (beispielsweise 6) signifikantesten Adressenbits des Adressenbitssignals, das verwendet wird, um eine oder mehrere Zellen in der Speichereinrichtung zu adressieren, wobei N eine Ganzzahl ist. Beispielsweise kann jeder 64-K-Sektor69 8 IO's aufweisen, wobei ein IO eine Reihe aus 4 Zellen oder 4 Doppelbitspeicherzellen mit 4 normalen Bits und 4 komplementären Bits ist. Zu beachten ist, dass das Speicherarray84 eine beliebige Anzahl unterschiedlicher Konfigurationen, beispielsweise 128K-Sektoren mit 8 normalen Bits und 8 komplementären Bits in 8 Zellen aufweisen kann. Ferner kann eine beliebige Anzahl an Sektoren verwendet werden, wobei diese lediglich durch die Größe der Anwendung und die Größe der Einrichtung, in der das Flash-Speicherarray68 verwendet ist, begrenzt ist. - Das System
60 umfasst einen Adressendecodierer62 , der mit dem Flash-Speicherarray68 verbunden ist, um IO's während diverser Vorgänge, die an dem Array68 durchgeführt werden, zu decodieren (beispielsweise Programmieren, Lesen, Verifizieren, Löschen). Der Adressendecodierer empfängt Adressenbusinformationen von einer Systemsteuerung (nicht gezeigt) oder dergleichen. - Eine Befehlslogikkomponente
64 enthält eine interne Zustandsmaschine65 . Die Befehlslogikkomponente64 ist mit dem Adressenspeicherarray68 verbunden. Die Befehlslogik und die Zustandsmaschine empfangen Befehle oder Instruktionen von einem Datenbus, der mit einer Systemsteuerung oder dergleichen verbunden ist. Die Befehle oder Instruktionen rufen Algorithmen auf, die in der Befehlslogik64 und der Zustandsmaschine65 eingebettet sind. Die Algorithmen führen diverse Verfahren zum Programmieren, Lesen, Löschen, weichen Programmieren und Verifizieren aus, wie dies hierin beschrieben wird. Eine Spannungsgeneratorkomponente66 ist ebenso mit dem Speicherarray68 und der Befehlslogik64 und der Zustandsmaschine65 verbunden. Die Spannungsgeneratorkomponente66 wird von der Befehlslogik64 und der Zustandsmaschine65 gesteuert. Die Spannungsgeneratorkomponente66 kann so betrieben werden, um die erforderlichen Spannungen zum Programmieren, Lesen, Löschen, weichen Programmieren und Verifizieren der Speicherzellen des Speicherarrays68 zu erzeugen. -
7 zeigt die physikalische Schaltungsanordnung eines Teils einer Speicherzelle mit einer Draufsicht eines Beispiels eines 64-K-Blocks70 . Das vorliegende Beispiel bezieht sich auf einen 64K-Block eines 16-Bit I/O's. Zu beachten ist, dass die Blöcke I/O's mit 8Bit, 32Bit, 64Bit oder mehr sein können und es keine Einschränkung auf 64K gibt (beispielsweise 128K, 256K, etc.). Der 64K-Block70 kann ein Sektor oder ein Bereich eines Sektors sein. Z. B. können ein oder mehrere Blöcke einen Sektor bilden, wobei die Kontakte eine Verbindung zu gemeinsamen Metallbitleitungen herstellen. Ein ONO-Stapelstreifen oder eine Schicht72 erstreckt sich über die Länge des Speicherarrays und umfasst den Block70 . Der Block70 enthält 16 I/O's oder Gruppen aus Spalten79 . Jedes "Wort" oder "Gruppe" aus I/O's umfasst 8 Transistoren oder 8 normale Bits und 8 komplementäre Bits. Jede I/O umfasst eine Polysiliziumwortleitung74 zum Adressieren der Zellenzeilen. Mehrere Bitleitungen verlaufen unter der ONO-Schichtstreifenschicht72 , um das Lesen, Schreiben und Löschen einzelner Bits der Speicherzellen zu ermöglichen. Jede Bitleitung ist mit einem ersten Kontakt78 und Metallbitleitungen (nicht gezeigt) an einem Ende einer Gruppe aus 16 Zeilen und mit einem zweiten Kontakt79 an dem anderen Ende der Gruppe verbunden. In dem Beispiel aus7 sind 5 Bitleitungen dargestellt, so dass eine Bitleitung mit einem Ende jedes zweiten Transistors in einer Spalte verbunden ist und es sind zwei Auswahltransistoren verwendet, um zwischen 4 Bits aus zwei Transistoren zum Lesen, Schreiben und Löschen zu wählen. -
8 zeigt eine schematische Ansicht des Adressierens der ersten vier Doppelbitspeicherzellen in einer Zeile, wobei Auswahltransistoren und 3-Bitleitungen zum Lesen, Schreiben und Löschen von Bits verwendet werden. Eine erste Doppelbit-Speicherzelle82 umfasst ein erstes Bit C0 und ein zweites Bit C1, eine zweite Doppelbitspeicherzelle84 enthält ein erstes Bit C2 und ein zweites Bit C3, eine dritte Doppelbit-Speicherzelle86 enthält ein erstes Bit C4 und ein zweites Bit C5 und eine vierte Doppelbit-Speicherzelle88 enthält ein erstes Bit C6 und ein zweites Bit C7. Die 4-Doppelbitspeicherzellen können ein 8-Bit-Wort bilden. Ein Auswahlgate88 (Sel0) und ein Auswahlbit90 (Sel1) sind vorgesehen, um das Lesen, Schreiben und Löschen der Bits C0, C1 der Doppelbit-Speicherzelle82 und der Bits C2 und C3 der Doppelbit-Speicherzelle84 zu ermöglichen. Ein Auswahlgate92 (Sel2) und ein Auswahlgate94 (Sel3) sind vorgesehen, um das Lesen, Schreiben und Löschen der Bits C4, C5 der Doppelbit-Speicherzelle86 und der Bits C6 und C7 der Doppelbit-Speicherzelle88 zu ermöglichen. Ein erster Schalter96 ist mit einer ersten Bit-Leitung BL0, ein zweiter Schalter98 ist mit einer zweiten Bit-Leitung BL1 und ein dritter Schalter100 ist mit einer dritten Bit-Leitung BL2 verbunden. Der erste, der zweite und der dritte Schalter verbinden die entsprechende Bit-Leistung mit der Stromversorgung (VDD) und Masse (GND). Es kann ein beliebiges Bit der Doppelbit-Speicherzellen gelesen werden, indem unterschiedliche Spannungskonfigurationen angelegt werden, wie dies in Tabelle 2 im Folgenden dargestellt ist. In dem in8 gezeigten Beispiel wird die Zelle CO der Doppelbit-Speicherzelle82 gelesen. Tabelle 2 - Während der Doppelbitprogrammierung wird eine höhere Delta VT ausgewählt, um den Ladungsverlust von vorhergehenden Zyklen zu kompensieren. Bei diesen höheren Delta VT's wird das erste Bit auf einem Transistor wesentlich langsamer programmiert als das zweite Bit. Dies ist nicht der Fall bei wesentlich geringeren Programmier-VT's.
9 zeigt einen Graphen110 der Programmierzeit des zweiten Bits in Abhängigkeit der Delta VT des ersten Bits. Da das zweite Bit härter bzw. intensiver und schneller programmiert wird, bestimmt das zweite Bit die Doppelbit-Löschzeit und das Verfahren, das zum Löschen für ein Doppelbit benutzt werden kann. Es ist wichtig, Bedingungen für das Programmieren auszuwählen, die die VT des programmierten zweiten Bits in der Nähe des ersten Bits halten, ansonsten kann die Doppelbitlöschung sehr langsam stattfinden und das erste programmierte Bit wird zu stark gelöscht. Im Wesentlichen ist es wichtig, die Drainspannung während des Programmierens des ersten Bits zu steuern, um damit den VT-Bereich für das erste Bit zu begrenzen. Um die VT für das erste Bit zu steuern, wird die Gatespannung während des Programmierens beider Bits auf ungefähr 9,25 bis ungefähr 9,5 Volt, die Drainspannung auf ungefähr 5,0 bis ungefähr 5,5 Volt und die Pulsbreite der Programmierpulse auf 0,5 Mikrosekunden (μs) abgesenkt. Diese Bedingungen helfen dabei, eine stabile VT für das erste Bit beizubehalten und das Programmieren des zweiten Bits zu verlangsamen. - Eine wichtige Eigenschaft bei der ONO-Doppelbit-Speicherzelle ist die Tatsache, dass der Ladungsverlust während des beschleunigten Hochtemperaturausbackens (75 bis 200°C) stark von der Anzahl der Programmier- und Löschzyklen abhängt.
10 zeigt einen Graphen120 des Ladungsverlustes ausgedrückt in Spannungen in Abhängigkeit der Anzahl der Programmier- und Lösch-(PE) Zyklen. Dies ergibt ein mögliches Zuverlässigkeitsproblem, da der Betrag des Ladungsverlusts mit einer Zyklenzahl bis zu 10 000 Programmier- und Löschzyklen ansteigt. Der programmierte Einzelbit-Zustand (der auftritt, wenn eine Seite des Transistors programmiert wird und der andere leer oder unprogrammiert bleibt) des Transistors zeigt dieses Problem des anwachsenden Ladungsverlusts mit ansteigender Zahl der Zyklen. Der Fall, wenn beide Bits programmiert sind, führt tatsächlich zu einem geringen Ladungsverlust als der 10- oder der 01-Zustand. Daher wurde eine Programmier-Delta VT zwischen 2 – 2,5 Volt ausgewählt, um den durch das Zyklieren bedingten Ladungsverlust zu kompensieren. - Im Hinblick auf die beispielhaften Systeme, die zuvor gezeigt und beschrieben sind, kann ein Verfahrensablauf, der gemäß der vorliegenden Erfindung implementiert werden kann, besser mit Bezug zu den Flussdiagrammen aus den
11 und14 verstanden werden. Obwohl zum Zwecke der einfacheren Erläuterung die Verfahren der11 und14 so gezeigt und beschrieben sind, dass diese seriell ausgeführt werden, ist es selbstverständlich, dass die vorliegende Erfindung nicht auf die dargestellte Reihenfolge beschränkt ist, da einige Verfahrensblöcke erfindungsgemäß in anderen Reihenfolgen und/oder gleichzeitig mit anderen Blöcken auftreten können, abweichend zu dem was hierin gezeigt und beschrieben ist. Ferner sind unter Umständen nicht alle dargestellten Verfahrensblöcke erforderlich, um ein Verfahren gemäß der vorliegenden Erfindung zu implementieren. - Eine wichtige Eigenschaft der Doppelbit-Speicherzellen in dem Flash-Speicherarray der vorliegenden Erfindung ist die Tatsache, dass der Ladungsverlust während des beschleunigten Hochtemperaturausbackens (75 bis 250°C) stark von der Anzahl der Programmier- und Löschzyklen abhängt. Dies ergibt ein mögliches Zuverlässigkeitsproblem, da der Betrag des Ladungsverlusts bei einer Zyklenzahl bis zu 10 000 Programmier- und Löschzyklen ansteigt. Der Einzelbit- 10- oder 01- Zustand (der auftritt, wenn eine Seite des Transistors programmiert ist und die andere leer oder unprogrammiert bleibt) des Transistors zeigt dieses Problem mit einem zunehmenden Ladungsverlust bei höherer Zyklenzahl. Bei 250°C Ausbacktemperatur ist das Verhalten des Zelltransistors nicht Gauss-förmig. Bei 250°C verlieren die Zellentransistoren in der Nähe größerer Wortleitungs- (Polygate im Kern) Spalten mehr Ladung auf Grund der Umverteilung der Ladung in dem Nitrid und der lokal erhöhten eingefangenen Nitridladung in der Nähe der größeren Polysiliziumspalten. Die Verteilung des Ladungsverlusts wurde von Chipfläche zu Chipfläche für das gleiche Datenmuster für alle Bauelemente, die mit der gleichen Zyklenzahl beaufschlagt wurden, als wiederholbar erkannt. Die Programmier- und Löschbedingungen während des Zyklierens scheinen einen geringen Einfluss auf die Abhängigkeit des Ladungsverlusts in Bezug auf die Zyklenzahl bei einer Zyklenzahl von über 1000 Zyklen auszuüben.
- Um dem Ladungsverlust nach 100k Zyklen Rechnung zu tragen, wird die Programmier-Delta VT (beispielsweise Delta VT = 2 – 2,5 Volt) erhöht, um eine gültige VT einer programmierten Zelle am Ende der Lebensdauer des Flash-Speicherarrays sicherzustellen. Es wurde bestimmt, dass die Doppelbitspeicherzelle auf eine höhere VT (2,0 bis 2,5 Volt) programmiert werden kann und dennoch sehr kurze Programmierzeiten für den Doppelbit- Betrieb beibehält, indem spezielle Programmierparameter (beispielsweise 0,5 Mikrosekunden pro Wort-Programmierungspuls bei Vgate = 9,25 – 9,5 Volt und Vdrain = 5,0 bis 5,5 Volt) ausgewählt werden. Es wurde erkannt, dass der Ladungsverlust eine Funktion der Anzahl der PE-Zyklen bei den höheren Temperaturen (beispielsweise 250°C) ist. Das Verfahren zum Korrigieren des Ladungsverlustes auf Grund dieser Art des Zyklusbetriebes bestand darin, Zellen auf eine Delta VT zwischen 2,0 bis 2,5 Volt zu programmieren und die Bits langsamer zu programmieren (beispielsweise 0,5 Mikrosekunden pro Wort-Programmierpuls bei Vgate = 9,25 bis 9,5 Volt und Vdrain = 5,0 bis 5,5 Volt), um die Auswirkungen auf das Komplementärbit, die mit der Doppel-Bit-Programmierung einhergehen, besser zu steuern.
-
11 zeigt eine spezielle Ausführung zum Bestimmen einer Delta VT-Spannung für eine Doppelbit-Speicherzelle eines Speicherarrays, das im Doppelbit-Modus arbeitet, gemäß einem Aspekt der vorliegenden Erfindung. Das Verfahren beginnt im Schritt200 , in welchem eine leere bzw. unprogrammierte VT der Speicherzellen in einem Array für ein Los bestimmt wird. Im Schritt205 wird eine Reihe von Programmier- und Löschzyklen an dem Array in dem Los mit diversen Delta VT's zum Programmieren ausgeführt, woran sich ein beschleunigter Hochtemperaturausbackschritt (100 bis 250°C) anschließt. Im Schritt210 wird dann der Ladungsverlust der Zellen bestimmt. Im Schritt215 wird die Delta Programmier VT auf der Grundlage des Betrags des Ladungsverlusts erhöht. Im Schritt220 werden Programmierparameter (beispielsweise 0,5 Mikrosekunden pro Wort Programmierpuls bei Vgate = 9,25 bis 9,5 Volt und Vdrain = 5,0 bis 5,5 Volt) ausgewählt, um eine Steuerung der ersten Bit-VT und ein langsames Programmieren des zweiten Bits bei der erhöhten Delta VT sicherzustellen. Im Schritt225 werden Progammier- und Löschzyklen an einem weiteren Array in dem Los unter Anwendung der ausgewählten Programmierparameter ausgeführt, woran sich ein beschleunigter Ausbackschritt anschließt. Im Schritt230 wird durch das Verfahren bestimmt, ob die Ergebnisse der Programmier- und Löschzyklen, die im Schritt225 ausgeführt wurden, akzeptabel sind. Wenn die Ergebnisse der Programmier- und Löschzyklen nicht akzeptabel sind (nein), geht das Verfahren zum Schritt220 zurück. Wenn die Ergebnisse der Programmier- und Löschzyklen akzeptabel sind (ja), werden die Befehlslogik und die Zustandsmaschine programmiert, um die Bits der Doppelbit-Speicherzellen unter Anwendung der Delta VT und der ausgewählten Drain- und Gatepotentiale zu programmieren. - Zu beachten ist, dass das Programmieren unter Anwendung einer höheren Delta VT nicht nur in normalen Programmierbedingungen angewendet werden kann, sondern auch für das Vorprogrammieren oder das Programmieren während einer Doppelbit-Löschtechnik.
12 zeigt ein Verfahren zum Anwenden der ausgewählten Programmierparameter (beispielsweise 0,5 μs Programmierpulse bei Vgate = 9,25–9,5 Volt und Vdrain = 5,0 bis 5,5 Volt, Delta VT zwischen 2 bis 2,5 Volt). - Das Doppelbit-Löschverfahren der
12 bis14 umfasst eine Zelllöschroutine, um die obere und untere Schwellwertgrenze von VT für einen leeren oder gelöschten Zustand (beispielsweise min VT = 1,0 Volt, max. VT 1,8 Volt) für die komplementäre und die normale Seite jedes Speichertransistors zu steuern. Ferner enthält das Doppelbit-Löschverfahren eine Routine für weiches Programmieren, die die Programmierzeit steuert, indem ein zu starkes Löschen der Zellen vermieden wird, was zu längeren Programmierzeiten führen kann. Das weiche Programmieren kann ferner den Betrag des Ladungsverlusts nach einem Zyklus beeinflussen. Schließlich kann die Doppelbit-Löschroutine einen zweiten Löschvorgang beinhalten, um sicherzustellen, dass Zellen nicht durch die Routine für das weiche Programmieren programmiert wurden. Das Doppelbitverfahren der12 bis14 verbessert die Programmier- und Löscheigenschaften des Flash-Speicherarrays der vorliegenden Erfindung, wenn dieses in einem extensiven Zyklusbetrieb betrieben wird (beispielsweise 100 000 Programmier- und Lösch-(PE)Zyklen). -
12 zeigt ein Löschverfahren unter Ausnutzung der Injektion von heißen Löchern in der Nähe des Drainübergangs mit hoher Spannung für das normale als auch das komplementäre Bit. Der Vorgang des starken Programmierens eines Bits bewirkt einen Aufbau von Restladung, der während des einseitigen oder klassischen Löschvorgangs bei akzeptablen Spannungspegeln und/oder akzeptablen Löschzeiten nicht erreicht werden kann. Das Doppelbit-Löschverfahren gewährleistet eine Steuerung sowohl der unprogrammierten VT für das normale als auch das komplementäre Bit, indem eine Verifizierung und ein modifiziertes Löschen während jedes Zyklusses ausgeführt wird. Daher wird in dem Doppelbit-Löschverfahren eine Reihe von Löschbedingungen oder Sequenzen während jedes Pulses zu dem komplementären Bit bzw. Bits und dem zugehörigen normalen Bit bzw. Bits innerhalb einer einzelnen Zelle oder Zellen angewendet. Die erste Löschsequenz jedes Pulses ist ein zweiseitiger oder Doppeldrainlöschpuls, der das Source und das Drain aller Zellentransistoren auf eine hohe Spannung (beispielsweise 4 bis 7 Volt) bringt. Das komplemen täre Bit und dessen zugeordnetes normales Bit können sich dabei entladen. Danach wird ein einseitiger Löschpuls an das komplementäre Bit angelegt (z. B. das komplementäre Drain geht auf eine hohe Spannung, während der andere Transistorübergang potentialfrei bzw. schwebend ist), woran sich ein einseitiger Löschpuls für das normale Bit anschließt (z. B. geht das normale Drain auf eine hohe Spannung, wobei der andere Transistorübergang schwebend bzw. potentialfrei ist). Die Reihenfolge der einseitigen Pulse kann austauschbar sein, unabhängig davon, welches Bit verifiziert wird. Deutlich verbesserte Ergebnisse werden in der ONO-Doppelbitarchitektur erreicht, wenn die zweiseitigen Löschpulse ungefähr 75% bis 95% der gesamten Löschpulszeit ausmachen. -
12 zeigt ein spezielles Verfahren zum Ausführen einer Programmierung und Löschung eines Flash-Speicherarrays mit Doppelbit-Speicherzellen gemäß einem Aspekt der vorliegenden Erfindung. Das Verfahren beginnt im Schritt300 , in welchem eine Löschroutine aufgerufen wird. Die Löschroutine kann beispielsweise durch einen Befehl aus einer Steuerung an eine Zustandsmaschine, die in einer Flash-Einrichtung enthalten ist, aufgerufen werden. Sowohl die Bits in normalen Spaltenplätzen als auch in komplementären Spaltenplätzen werden im Schritt305 auf eine Delta VT programmiert. Die ausgewählten Programmierspannungsparameter sind 0,5 μs Pulse bei Vgate = 9,25 bis 9,5 Volt und Vdrain = 5,0 bis 5,5 Volt mit einer Delta VT zwischen 2 bis 2,5 Volt. Das Verfahren geht dann zum Schritt310 weiter, in welchem in Adressenzähler, der auf die Speicheradresse des Arrays zeigt, auf die erste Adresse gesetzt wird. Das Verfahren geht dann zum Schritt315 weiter. Im Schritt315 wird durch das Verfahren eine Verifizierungslöschung für einen Adressenplatz in einem Sektor ausgeführt. Der Adressenplatz kann eine Speicheradresse einer einzelnen Bitstelle oder eine Speicheradresse eines I/O oder eine Wortposition des Sektors sein. Wenn die Verifizierungslöschung des Adressenplatzes fehlschlägt, geht das Verfahren zum Schritt320 weiter. Im Schritt320 bestimmt das Verfahren, ob die maximale Pulszahl erreicht ist. Wenn die maximale Pulszahl erreicht ist (ja), geht das Verfahren zum Schritt325 weiter, in welchem ein tatsächlicher Fehler der Einrichtung angezeigt wird. Wenn die maximale Pulszahl nicht erreicht ist (nein), geht das Verfahren zum Schritt330 weiter, um Löschpulse anzulegen. - Bei
330 wird von dem Verfahren ein zweiseitiger Löschpuls an die komplementäre Spaltenposition und an die normale Spaltenposition des Sektors für eine Dauer von 8 bis 12 Millisekunden (z. B. ein 10 Millisekundenpuls) angelegt. Nach einer Entladungszeitdauer wird ein erster einseitiger Puls an die Bits in der komplementären Spaltenstelle für eine Dauer von 0,5 bis 2 Millisekunden (z. B. 1 Millisekunde) angelegt, woran sich ein zweiter einseitiger Puls an die Bits in den normalen Spaltenpositionen für eine Dauer von 0,5 bis 2 Millisekunden (beispielsweise 1 Millisekunde) anschließt. Das Verfahren kehrt dann zum Schritt315 für eine Verifizierung des Löschens der momentanen Adressenposition zurück. Wenn die Verifizierungslöschung der momentanen Adressenpositionen gelingt, geht das Verfahren zum Schritt335 weiter, um zu bestimmen, ob die momentane Bit-Adresse oder I/O-Adresse die maximale Adressenposition ist. Wenn die aktuelle Zellenadresse oder I/O-Adresse nicht die maximale Adressenposition (nein) ist, wird die Adressenposition des Adressenzählers im Schritt340 auf die nächste Adressenposition erhöht. Das Verfahren kehrt dann zum Schritt315 zurück, um eine Verifizierung des Löschens der nächsten Adressenposition durchzuführen. Wenn die maximale Adresse im Schritt335 erreicht ist (ja), geht das Verfahren zu der Routine zum weichen Programmieren in13 weiter, um zu gewährleisten, dass die Speicherzellen nicht zu stark gelöscht worden sind. - Es wird ein Verfahren zur weichen Programmierung verwendet, um die minimale (zu starkes Löschen) VT für das normale und das komplementäre Bit eines nicht programmierten Zustands nach dem ersten Löschverfahren aus
12 zu steuern. Zu stark gelöschte Zellen haben eine VT unter dem minimalen Wert für einen nicht programmierten Zustand und sind nicht klassische Spaltenleckstrombits. Obwohl es als nicht möglich betrachtet wurde, eingefangene Löcher in der Nitridschicht zu speichern, sind die zum Löschen der Speicherzellen verwendeten elektrischen Felder sehr hoch und die lokale VT der Zellen kann auf unter den natürlichen Zustand verringert werden. Wenn dies geschieht, steigt die Programmierzeit für die zu stark gelöschten Zellen für die normalen Bits und/und die komplementären Bits an. Daher wird die weiche Programmierung aus13 durchgeführt, um zu stark gelöschte Zellen zu vermeiden und um stabile Programmierzeiten während des Zyklierens aufrecht zu erhalten. -
13 zeigt ein spezielles Verfahren zum Durchführen einer weichen Programmierung des Flash-Speicherarrays, um sicherzustellen, dass die Speicherzellen des Flash-Speichers nicht zu stark gelöscht wurden. Im Schritt400 beginnt die Routine für das weiche Programmieren. Die Routine für das weiche Programmieren kann beispielsweise durch einen Befehl aus einer Steuerung an eine Zustandsmaschine, die in einer Flash-Einrichtung enthalten ist, aufgerufen werden. Alternativ kann die Routine für das weiche Programmieren ein Teil der Gesamtlöschroutine sein und nach Beendigung des Verfahrens aus12 beginnen. Das Verfahren geht dann zum Schritt405 weiter, in welchem der Adressenzähler auf die erste Adresse gesetzt wird. Das Verfahren geht dann zum Schritt410 weiter. Im Schritt410 wird von dem Verfahren eine Verifizierung der weichen Programmierung für die erste Adressenposition ausgeführt. Die Verifizierung kann eine kleine Sourcespannung beinhalten, um Leckströme, die unterhalb der Schwellwertspannung auftreten, zu unterdrücken. Wenn die Verifizierung der weichen Programmierung der Adressenposition fehlschlägt, geht das Verfahren zum Schritt415 weiter, um zu bestimmen, ob die maximale Pulszahl (beispielsweise 5 Pulse) erreicht ist. Wenn die maximale Pulszahl erreicht ist (ja), wird ein tatsächlicher Fehler im Schritt425 angezeigt. Wenn die maximale Pulszahl nicht erreicht ist (nein), geht das Verfahren zum Schritt420 weiter, um einen weichen Programmierpuls an die Adressenposition anzulegen und kehrt zum Schritt410 zurück, um zu verifizieren, ob die Adressenposition die Bedingung für eine Verifizierung des weichen Programmierens erfüllt hat. Wenn die Adressenposition des Sektors im Schritt410 die Bedingung erfüllt, geht das Verfahren zum Schritt430 weiter und bestimmt, ob die maximale Adresse des Sektors erreicht ist. Wenn die maximale Sektoradresse nicht erreicht ist (nein), wird die Adressenposition des Adresszählers auf die nächste Adressenposition im Schritt435 gesetzt und das Verfahren kehrt zum Schritt410 zurück, um die Schritte zum Verifizieren der weichen Programmierung an der nächsten Adressenposition an dem Speicherarray zu wiederholen. Wenn die maximale Adressenposition im Schritt430 erreicht ist (ja), geht das Verfahren zu dem zweiten Löschblock aus14 weiter. -
14 zeigt ein Verfahren zum Ausführen eines zweiten Löschblockes für das Flash-Speicherarray gemäß einem Aspekt der vorliegenden Erfindung, um zu gewährleisten, dass die Routine zum weichen Programmieren die Speicherzellen nicht zu stark programmiert hat. Das Verfahren beginnt im Schritt500 an dem zweiten Löschblock. Die zweite Löschroutine kann beispielsweise durch einen Befehl aus einer Steuerung an eine Zustandsmaschine, die in einer Flash-Einrichtung enthalten ist, aufgerufen werden. Alternativ kann die zweite Löschroutine ein Teil der gesamten Löschroutine sein und nach Beendigung der in den12 und13 dargestellten Verfahren beginnen. Das Verfahren geht dann zum Schritt505 weiter, in welchem der Adresszähler auf die erste Adressposition gesetzt wird. Das Verfahren geht dann zum Schritt510 weiter. Im Schritt510 führt das Verfahren eine Verifizierungslöschung für eine Adressenposition in einem Sektor des Speicherarrays aus. Die Adressenposition kann eine Speicheradresse einer einzelnen Bitstelle oder eine Speicher adresse eines I/O oder eine Wortposition des Sektors sein. Wenn die Verifizierungslöschung der Adressenposition fehlschlägt, geht das Verfahren zum Schritt520 weiter. Im Schritt520 bestimmt das Verfahren, ob die maximale Pulszahl erreicht ist. Wenn die maximale Pulszahl erreicht ist (ja), geht das Verfahren zum Schritt530 weiter, in welchem ein tatsächlicher Fehler der Vorrichtung angezeigt wird. Wenn die maximale Pulszahl nicht erreicht ist (nein), geht das Verfahren zum Schritt525 weiter, um Löschpulse anzulegen. - Bei
525 wird durch das Verfahren ein Löschpuls sowohl an die komplementären Spaltenplätze als auch an die normalen Spaltenplätze des Sektors für eine Dauer von 8 bis 12 Millisekunden (beispielsweise ein 10 Millisekunden Puls) angelegt. Nach einer Entladungszeitdauer wird ein einseitiger Puls an die Bits in der komplementären Spaltenstelle für eine Dauer von 0,5 bis 2 Millisekunden (beispielsweise 1 Millisekunde) angelegt, woran sich ein einseitiger Puls an Bits in den normalen Spaltenpositionen für eine Dauer von 0,5 bis 2 Millisekunden (beispielsweise 1 Millisekunde) anschließt. Das Verfahren kehrt dann zum Schritt510 für eine Verifizierung des Löschens der aktuellen Adressenposition zurück. Wenn das Verifizieren des Löschens der aktuellen Adressenpositionen positiv ist, geht das Verfahren zum Schritt535 weiter, um zu bestimmen, ob die aktuelle Bitadresse oder I/O-Adresse die maximale Adressenposition ist. Wenn die aktuelle Zellenadresse oder I/O-Adresse nicht die maximale Adressenposition (nein) ist, wird die Adressenposition des Adressezählers auf die nächste Adressenposition im Schritt540 erhöht. Das Verfahren kehrt dann zum Schritt510 zurück, um eine Verifizierung des Löschens der nächsten Adressenposition auszuführen. Wenn die maximale Adresse im Schritt525 erreicht ist (ja), ist das Verfahren beendet und die Vorrichtung kehrt zum normalen Betriebsablauf zurück. - Das oben Beschriebene entspricht einem oder mehreren Aspekten der vorliegenden Erfindung. Es ist jedoch nicht möglich, jede mögliche Kombination aus Komponenten und Verfahren zu erläutern, um die vorliegende Erfindung zu beschreiben, aber der Fachmann erkennt, dass viele weitere Kombinationen und Variationen der vorliegenden Erfindung möglich sind. Folglich soll die vorliegende Erfindung alle derartigen Änderungen, Modifizierungen und Variationen umschließen, die im Grundgedanken und im Schutzbereich der angefügten Patentansprüche liegen. Obwohl ein spezielles Merkmal der Erfindung offenbart sein kann in Bezug auf lediglich einige der mehreren Implementierungen, kann ein derartiges Merkmal mit einem oder mehreren anderen Merkmalen der anderen Implementierungen in gewünschter oder vorteilhafterweise für eine gegebene oder spezielle Anwendung kombiniert werden.
- Zusammenfassung
- Es wird ein System und ein Verfahren bereitgestellt, um ein erstes Bit und ein zweites Bit eines Speicherarrays von Doppelbit-Speicherzellen einer deutlich höheren Delta VT zu programmieren. Eine wesentlich höhere VT stellt sicher, dass das Speicherarray programmierte Daten behält und Daten zuverlässig nach Belastungen mit höherer Temperatur und/oder nach Anwenderbetrieb über längere Zeitdauern löscht. Bei einer deutlich höheren Delta VT bewirkt das Programmieren des ersten Bits der Speicherzelle , dass das zweite Bit , intensiver und schneller auf Grund der geringeren Länge des Kanal programmiert wird. Daher werden erfindungsgemäß eine ausgewählte Gate- und Drainspannung und Programmierpulsbreiten während des Programmierens des ersten Bits und des zweiten Bits verwendet, wodurch eine gesteuerte VT für das erste Bit und ein langsameres Programmieren des zweiten Bits , sichergestellt ist. Ferner halten die ausgewählten Programmierparameter die Programmierzeiten kurz, ohne den Ladungsverlust nachteilig zu beeinflussen.
Claims (10)
- Verfahren zum Programmieren von Bits in einer ONO-Doppelbit-Speicherzelle (
10 ,82 ,84 ,86 ,88 ), die in einem Doppelbit-Modus arbeitet, wobei das Verfahren umfasst: Anlegen eines Programmierpulses an mindestens ein Bit der Doppelbit-Speicherzelle (10 ,82 ,84 ,86 ,88 ) durch gleichzeitiges Anlegen einer Spannung an ein Drain des mindestens einen Bits und Anlegen einer Spannung an ein Gate des mindestens einen Bits; Verifizieren, dass eine Delta VT des mindestens einen Bits in einem Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt; und Wiederholen des Anlegens eines Programmierpulses, bis die Delta VT des mindestens einen Bits in einem Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt. - Das Verfahren nach Anspruch 1, wobei der Schritt des Anlegens eines Programmierpulses gleichzeitiges Anlegen einer Spannung im Bereich von ungefähr 5 bis ungefähr 5,5 Volt an das Drain und Anlegen einer Spannung im Bereich von ungefähr 9,25 bis ungefähr 9,5 Volt an das Gate umfasst.
- Das Verfahren nach Anspruch 1, wobei die ONO-Doppelbit-Speicherzelle (
10 ,82 ,84 ,86 ,88 ) in einem Doppelbit-Modus arbeitet, wobei die ONO-Doppelbitspeicherzelle (10 ,82 ,84 ,86 ,88 ) ein normales Bit und ein komplementäres Bit aufweist, und wobei das normale Bit und das komplementäre Bit programmiert werden. - Verfahren zum Bestimmen von Programmierparametern zum Programmieren von Bits eines Arrays aus ONO-Doppelbit-Speicherzellen (
68 ), die in einem Doppelbit-Modus arbeiten, wobei das Verfahren umfasst: Ausführen einer vorbestimmten Anzahl an Programmier- und Löschzyklen mit einem anschließenden beschleunigten Ausbacken von mindestens einem Array in einem Los; Bestimmen eines Ladungsverlusts mindestens eines Bits des mindestens einen Arrays nach den Programmier- und Löschzyklen und dem beschleunigten Ausbacken; Bestimmen einer Erhöhung der Delta VT, um dem Ladungsverlust des mindestens einen Bits des mindestens einen Arrays für weitere Arrays in dem Los Rechnung zu tragen; und Bestimmen von Programmierparametern, um ein Programmieren der Zellen bei der erhöhten Delta VT in einer akzeptablen Zeit zu ermöglichen, wobei die Programmierparameter eine Programmierpulsbreite, ein Potential des Programmierpulses an einem Gate des Bits und ein Potential des Programmierpulses an dem Drain des Bits enthalten. - Das Verfahren nach Anspruch 4, wobei die Programmierpulsbreite ungefähr 0,5 Mikrosekunden bei einem Gatepotential von ungefähr 9,25 bis ungefähr 9,5 Volt und einem Drainpotential von ungefähr 5,0 bis 5,5 Volt beträgt.
- Das Verfahren nach Anspruch 5, das ferner einen Schritt zum Programmieren einer Befehlslogik (
64 ) und einer Zustandsmaschine (65 ) zum Programmieren auf die erhöhte Delta VT unter Anwendung der ausgewählten Drain- und Gatepotentiale umfasst. - System zum Programmieren von Bits in einem Array aus ONO-Doppelbit-Speicherzellen (
68 ), das in einem Doppelbit-Modus arbeitet, wobei das System umfasst: ein Array aus Doppelbit-Flash-Speicherzellen (68 ); eine Adressendecodiererkomponente (62 ), die mit dem Array aus ONO-Doppelbit-Flash-Speicherzellen (68 ) verbunden ist, wobei die Adressendecodierkomponente (62 ) ausgebildet ist, einen Zugriff auf Bits der ONO-Doppelbit-Flash-Speicherzellen zu ermöglichen; einen Spannungsgenerator (66 ), der ausgebildet ist, geeignete Spannungen zum Ausführen des Programmierens und Löschens von Bits der ONO-Doppelbit-Flash-Speicherzellen bereitzustellen; und eine Befehlslogikkomponente (64 ) mit einer Zustandsmaschine (65 ), wobei die Befehlslogikkomponente (64 ) und die Zustandsmaschine (65 ) mit dem Array und der Adressenkomponente (62 ) verbunden sind und so betreibbar sind, um den Spannungsgenerator (66 ) zu steuern, wobei die Befehlslogikkomponente (64 ) und die Zustandsmaschine (65 ) ausgebil det sind, mindestens ein Bit zu programmieren, indem das mindestens eine Bit ausgewählt und ein Programmierpuls angelegt wird, der eine erste Spannung an einem Drain und eine zweite Spannung an einem Gate des mindestens einen Bits hervorruft, zu verifizieren, dass die Delta VT des mindestens einen Bits innerhalb des Bereichs von ungefähr 2,0 bis ungefähr 2,5 Volt liegt, und den Schritt zum Anlegen eines Programmierpulses zu wiederholen, bis die Delta VT des mindestens einen Bits im Bereich von ungefähr 2,0 bis ungefähr 2,5 Volt liegt. - Das System nach Anspruch 7, wobei die Spannung an dem Drain im Bereich von ungefähr 5,0 bis ungefähr 5,5 Volt und die Spannung an dem Gate im Bereich von ungefähr 9,25 bis ungefähr 9,5 liegt.
- Das System nach Anspruch 8, wobei der Programmierpuls eine Dauer von ungefähr 0,5 Mikrosekunden aufweist.
- Das Verfahren nach Anspruch 7, wobei das Array aus ONO-Doppelbit-Speicherzellen (
68 ) in einem Doppelbit-Modus arbeitet, wobei jede der ONO-Doppelbit-Speicherzellen ein normales Bit und ein komplementäres Bit aufweist und wobei das normale Bit und das komplementäre Bit programmiert werden.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/050,483 US6567303B1 (en) | 2001-01-31 | 2002-01-16 | Charge injection |
US10/050,483 | 2002-01-16 | ||
PCT/US2002/040775 WO2003063167A2 (en) | 2002-01-16 | 2002-12-17 | System and method for programming ono dual bit memory cells |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10297641T5 true DE10297641T5 (de) | 2005-01-05 |
Family
ID=27609070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10297641T Withdrawn DE10297641T5 (de) | 2002-01-16 | 2002-12-17 | Ladungsinjektion |
Country Status (8)
Country | Link |
---|---|
JP (1) | JP2005516330A (de) |
KR (1) | KR20040071322A (de) |
CN (1) | CN100433193C (de) |
AU (1) | AU2002367512A1 (de) |
DE (1) | DE10297641T5 (de) |
GB (1) | GB2400709B (de) |
TW (1) | TWI260639B (de) |
WO (1) | WO2003063167A2 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6967873B2 (en) * | 2003-10-02 | 2005-11-22 | Advanced Micro Devices, Inc. | Memory device and method using positive gate stress to recover overerased cell |
US7307878B1 (en) | 2005-08-29 | 2007-12-11 | Spansion Llc | Flash memory device having improved program rate |
US8358543B1 (en) | 2005-09-20 | 2013-01-22 | Spansion Llc | Flash memory programming with data dependent control of source lines |
US7433228B2 (en) * | 2005-09-20 | 2008-10-07 | Spansion Llc | Multi-bit flash memory device having improved program rate |
US7957204B1 (en) | 2005-09-20 | 2011-06-07 | Spansion Llc | Flash memory programming power reduction |
KR100666223B1 (ko) * | 2006-02-22 | 2007-01-09 | 삼성전자주식회사 | 메모리셀 사이의 커플링 노이즈를 저감시키는 3-레벨불휘발성 반도체 메모리 장치 및 이에 대한 구동방법 |
US7969788B2 (en) * | 2007-08-21 | 2011-06-28 | Micron Technology, Inc. | Charge loss compensation methods and apparatus |
CN111863086B (zh) * | 2019-04-29 | 2022-07-05 | 北京兆易创新科技股份有限公司 | 一种控制编程性能的方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675537A (en) * | 1996-08-22 | 1997-10-07 | Advanced Micro Devices, Inc. | Erase method for page mode multiple bits-per-cell flash EEPROM |
US5870335A (en) * | 1997-03-06 | 1999-02-09 | Agate Semiconductor, Inc. | Precision programming of nonvolatile memory cells |
US6768165B1 (en) * | 1997-08-01 | 2004-07-27 | Saifun Semiconductors Ltd. | Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping |
US6044022A (en) * | 1999-02-26 | 2000-03-28 | Tower Semiconductor Ltd. | Programmable configuration for EEPROMS including 2-bit non-volatile memory cell arrays |
US6396741B1 (en) * | 2000-05-04 | 2002-05-28 | Saifun Semiconductors Ltd. | Programming of nonvolatile memory cells |
US6307784B1 (en) * | 2001-02-28 | 2001-10-23 | Advanced Micro Devices | Negative gate erase |
US6456533B1 (en) * | 2001-02-28 | 2002-09-24 | Advanced Micro Devices, Inc. | Higher program VT and faster programming rates based on improved erase methods |
US6512701B1 (en) * | 2001-06-21 | 2003-01-28 | Advanced Micro Devices, Inc. | Erase method for dual bit virtual ground flash |
-
2002
- 2002-12-17 KR KR10-2004-7011031A patent/KR20040071322A/ko not_active Application Discontinuation
- 2002-12-17 JP JP2003562936A patent/JP2005516330A/ja active Pending
- 2002-12-17 DE DE10297641T patent/DE10297641T5/de not_active Withdrawn
- 2002-12-17 WO PCT/US2002/040775 patent/WO2003063167A2/en active Application Filing
- 2002-12-17 GB GB0417770A patent/GB2400709B/en not_active Expired - Fee Related
- 2002-12-17 AU AU2002367512A patent/AU2002367512A1/en not_active Abandoned
- 2002-12-17 CN CNB028272501A patent/CN100433193C/zh not_active Expired - Lifetime
-
2003
- 2003-01-08 TW TW092100296A patent/TWI260639B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
GB2400709B (en) | 2005-12-28 |
CN1628358A (zh) | 2005-06-15 |
GB2400709A (en) | 2004-10-20 |
WO2003063167A2 (en) | 2003-07-31 |
WO2003063167A3 (en) | 2003-12-04 |
GB0417770D0 (en) | 2004-09-15 |
KR20040071322A (ko) | 2004-08-11 |
JP2005516330A (ja) | 2005-06-02 |
TWI260639B (en) | 2006-08-21 |
AU2002367512A1 (en) | 2003-09-02 |
CN100433193C (zh) | 2008-11-12 |
TW200302486A (en) | 2003-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10392492B4 (de) | Durch Algorithmus dynamisierte Referenzprogrammierung | |
DE4207934C2 (de) | Nichtflüchtige Halbleiterspeichervorrichtung und Programmierverfahren für eine nichtflüchtige Halbleiterspeichervorrichtung | |
DE60316931T2 (de) | System und verfahren zum erzeugen einer referenzspannung durch mitteln der von zwei komplementär programmierten dual bit referenzzellen gelieferten spannungen | |
DE602004003062T2 (de) | Multibit-speicher mit dynamischer referenz-spannungs erzeugung | |
DE60220590T2 (de) | Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers | |
DE60115716T2 (de) | Weichprogrammierung und weichprogrammierverifikation von flash-speicherzellen | |
DE60303511T2 (de) | Verfahren zum löschen eines flash-speichers unter verwendung eines prä-lösch verfahrensschritts | |
DE112005001595B4 (de) | Verfahren zum Verbessern der Löschspannungsverteilung für ein Flash-Speicher-Array mit Platzhalterwortleitungen | |
DE69428516T2 (de) | Flash-EEPROM-Speicher-Matrix und Verfahren zur Vorspannung | |
DE3900798C2 (de) | Verfahren zum Programmieren eines elektrisch löschbaren und programmierbaren Nur-Lese-Speichers | |
DE60315532T2 (de) | Verfahren zur Reudzierung der Programmier- und Lese-Störungen eines nicht-flüchtigen Speichers | |
DE69936028T2 (de) | Nichtflüchtiger Halbleiterspeicher | |
DE102005030661B4 (de) | Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes | |
DE60214023T2 (de) | Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus | |
DE19724221B4 (de) | Nichtflüchtiger Speicher | |
DE69217738T2 (de) | Permanenter Halbleiterspeicher und seine Arbeitsweise | |
DE60318714T2 (de) | System und verfahren zur steuerung einer löschspannung während des löschens mehrerer sektoren eines flash-speichers | |
DE69616693T2 (de) | Nichtflüchtiger Speicher und Verfahren zu seiner Programmierung | |
DE3844115A1 (de) | Elektrisch loeschbarer, programmierbarer festwertspeicher mit nand-zellenstruktur | |
DE112005003380T5 (de) | Mehrpegel-ONO-Flash-Programmieralgorithmus zur Steuerung der Breite der Schwellwertverteilung | |
DE112005000866T5 (de) | Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen | |
DE3929816A1 (de) | Elektrisch loeschbare und programmierbare halbleiterspeichereinrichtung und verfahren zum loeschen und programmieren dieser halbleiterspeichereinrichtung | |
DE69411762T2 (de) | Flash-EEPROM mit redundanter Speicherzellenmatrix | |
DE112004000703B4 (de) | Verfahren zum Betrieb einer Doppelzellenspeichereinrichtung mit einer verbesserten Lesebereichsspanne über die Lebensdauer hinweg | |
DE102008007685B4 (de) | Integrierte Schaltung und Verfahren zum Betreiben einer integrierten Schaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law |
Ref document number: 10297641 Country of ref document: DE Date of ref document: 20050105 Kind code of ref document: P |
|
8127 | New person/name/address of the applicant |
Owner name: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SU, US |
|
R081 | Change of applicant/patentee |
Owner name: CYPRESS SEMICONDUCTOR CORP. (N.D.GES.D.STAATES, US Free format text: FORMER OWNER: SPANSION LLC (N.D.GES.D. STAATES DELAWARE), SUNNYVALE, CALIF., US |
|
R082 | Change of representative |
Representative=s name: MURGITROYD & COMPANY, DE |
|
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |