DE10297641T5 - Ladungsinjektion - Google Patents

Ladungsinjektion Download PDF

Info

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
Application number
DE10297641T
Other languages
English (en)
Inventor
Darlene Sunnyvale Hamilton
Timothy Sunnyvale Thurgate
Janet S. San Francisco Wang
Michael K. Los Gatos Han
Narbeh Belmont Derhacobian
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.)
Cypress Semiconductor Corp
Original Assignee
Advanced Micro Devices Inc
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
Priority claimed from US10/050,483 external-priority patent/US6567303B1/en
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of DE10297641T5 publication Critical patent/DE10297641T5/de
Withdrawn 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
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
    • 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/5657Digital 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
    • 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/5671Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0466Erasable 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/0475Erasable 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
    • 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
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence 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.

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 aus 12 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 aus 13 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 Doppelbitspeicherzelle 10, in der ein oder mehrere der diversen Aspekte der Erfindung verwirklicht werden können. Die Speicherzelle 10 umfasst eine Siliziumnitridschicht 16, die zwischen einer oberen Siliziumdioxidschicht 14 und einer unteren Siliziumdioxidschicht 18 eingeschlossen ist, so dass eine ONO-Schicht 30 gebildet wird. Eine Polysiliziumschicht 12 liegt über der ONO-Schicht 30 und stellt eine Wortleitungsverbindung zu der Speicherzelle 10 bereit. Eine erste Bitleitung 32 verläuft unterhalb der ONO-Schicht 30 unter einem ersten Gebiet 4 und eine zweite Bitleitung 34 verläuft unterhalb der ONO-Schicht 30 unter einem zweiten Gebiet 6. Die Bitleitungen 32 und 34 sind aus einem leitenden Bereich 24 und einen optionalen Oxidbereich 22 aufgebaut. Borkernimplantationen 20 sind an beiden Enden jeder Bitleitung 32 und 34, wo die Bitleitungen auf die untere Siliziumdoxidschicht 18 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 Speicherzelle 10. Die Zelle 10 liegt auf einem P-Substrat 9, wobei der leitende Bereich 24 der Bitleitungen 32 und 34 aus einem N+ Arsenimplantationsgebiet gebildet ist, so dass ein Kanal 8 dazwischen über das P-Substrat hinweg ausgebildet ist. Die Speicherzelle 10 weist einen einzelnen Transistor mit symmetrischen Source- und Drainkomponenten, die aus den N+ Arsenimplantationsbereichen 24 aufgebaut sind und auf dem P-Substratgebiet 9 liegen, auf, wobei ein Gate als ein Teil einer Polysiliziumwortleitung 12 ausgebildet ist.
  • Obwohl die erste und die zweite Bitleitung 32 und 34 mit einem leitenden Bereich 24 und einem optionalen Oxidbereich 22 dargestellt sind, sollte beachtet werden, dass die Bitleitungen lediglich aus einem leitenden Bereich aufgebaut sein können. Obwohl ferner die Zeichnung der 1 Spalten in der Siliziumnitridschicht 16 zeigt, sollte verstanden werden, dass die Siliziumnitridschicht 16 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 Substratschicht 9 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 Zelle 10 ist im Wesentlichen gleichförmig und das Drain und das Source sind vertauschbar. Da das Siliziumnitrid nichtleitend ist, kann eine erste Ladung 26 in die Nitridschicht 16 in der Nähe eines ersten Endes eines zentralen Gebiets 5 und eine zweite Ladung 28 kann in die Nitridschicht 16 in der Nähe eines zweiten Endes des zentralen Gebiets 5 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 Nitridschicht 16 an dem ersten Ende des zentralen Gebiets 5 und die zweite Ladung 28 an dem zweiten Ende des zentralen Gebiets 5 gespeichert werden, so dass zwei Bits pro Speicherzelle 10 vorhanden sind. Die Doppelbit-Speicherzelle 10 ist im Wesentlichen symmetrisch, so dass das Drain und das Source austauschbar sind. Somit kann die erste Bitleitung 32 als der Drainanschluss und die zweite Bitleitung 34 kann als der Sourceanschluss dienen, wenn das linke Bit C0 programmiert wird. In ähnlicher Weise kann die zweite Bitleitung 34 als der Drainanschluss und die erste Bitleitung 32 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 Doppelbitspeicherzelle 10, die das erste Bit C0 und das zweite Bit C1 aufweist. Tabelle 1
    Figure 00090001
  • 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 Speicherzelle 10. 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ärbitgebiet 40, ein zentrales Gebiet 42 und ein normales Gebiet 44 repräsentiert sind. Das Komplementärbitgebiet 40 und das normale Bitgebuiet 42 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 Gebiet 42 soll te nahe an der natürlichen VT liegen, die während des Herstellungsprozesses der Speicherzelle 10 erzeugt wird. Die Siliziumnitridschicht 16 aus dem ONO-Stapel 30 wird verwendet, um eine erste Ladung 38 in dem normalen Gebiet 44 und eine zweite Ladung 39 in dem Komplementärbitgebiet 40 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 Ladung 38 in das NB-Gebiet 44, nachdem das CB bereits mit ähnlichen Programmierparametern programmiert wurde, einen Aufbau von Ladungen 46 bewirken kann, die teilweise in das zentrale Gebiet 42 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 Ladung 46 in der Zelle 10 verbleiben und die Programmier- und Löscheigenschaften der Zelle 10 während jedes Zyklus ändern. Die Lage der zusätzlichen Ladung 46 beim Programmieren des zweiten Bits ändert die effektive VT des CB-Gebiets 40 und des NB-Gebiets 44 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 Gebiets 42 und des CB-Gebiets 40 ü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 Gebiet 42 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 Speicherzelle 10 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 System 60 bereitgestellt, um das Programmieren, Verifizieren, weiche Programmieren und Löschen eines Speicherarrays 68, in dem Doppelbit-Speicherzellen der vorliegenden Erfindung verwendet sind, durchzuführen. In dem vorliegenden Beispiel enthält das Speicherarray 68 mehrere 64K-Sektoren 69. Ein Sektor des Flash-Speicherarrays 69 enthält einen Bereich des Speicherarrays 68, 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-Sektor 69 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 Speicherarray 84 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-Speicherarray 68 verwendet ist, begrenzt ist.
  • Das System 60 umfasst einen Adressendecodierer 62, der mit dem Flash-Speicherarray 68 verbunden ist, um IO's während diverser Vorgänge, die an dem Array 68 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 Zustandsmaschine 65. Die Befehlslogikkomponente 64 ist mit dem Adressenspeicherarray 68 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 Befehlslogik 64 und der Zustandsmaschine 65 eingebettet sind. Die Algorithmen führen diverse Verfahren zum Programmieren, Lesen, Löschen, weichen Programmieren und Verifizieren aus, wie dies hierin beschrieben wird. Eine Spannungsgeneratorkomponente 66 ist ebenso mit dem Speicherarray 68 und der Befehlslogik 64 und der Zustandsmaschine 65 verbunden. Die Spannungsgeneratorkomponente 66 wird von der Befehlslogik 64 und der Zustandsmaschine 65 gesteuert. Die Spannungsgeneratorkomponente 66 kann so betrieben werden, um die erforderlichen Spannungen zum Programmieren, Lesen, Löschen, weichen Programmieren und Verifizieren der Speicherzellen des Speicherarrays 68 zu erzeugen.
  • 7 zeigt die physikalische Schaltungsanordnung eines Teils einer Speicherzelle mit einer Draufsicht eines Beispiels eines 64-K-Blocks 70. 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-Block 70 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 Schicht 72 erstreckt sich über die Länge des Speicherarrays und umfasst den Block 70. Der Block 70 enthält 16 I/O's oder Gruppen aus Spalten 79. 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 Polysiliziumwortleitung 74 zum Adressieren der Zellenzeilen. Mehrere Bitleitungen verlaufen unter der ONO-Schichtstreifenschicht 72, um das Lesen, Schreiben und Löschen einzelner Bits der Speicherzellen zu ermöglichen. Jede Bitleitung ist mit einem ersten Kontakt 78 und Metallbitleitungen (nicht gezeigt) an einem Ende einer Gruppe aus 16 Zeilen und mit einem zweiten Kontakt 79 an dem anderen Ende der Gruppe verbunden. In dem Beispiel aus 7 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-Speicherzelle 82 umfasst ein erstes Bit C0 und ein zweites Bit C1, eine zweite Doppelbitspeicherzelle 84 enthält ein erstes Bit C2 und ein zweites Bit C3, eine dritte Doppelbit-Speicherzelle 86 enthält ein erstes Bit C4 und ein zweites Bit C5 und eine vierte Doppelbit-Speicherzelle 88 enthält ein erstes Bit C6 und ein zweites Bit C7. Die 4-Doppelbitspeicherzellen können ein 8-Bit-Wort bilden. Ein Auswahlgate 88 (Sel0) und ein Auswahlbit 90 (Sel1) sind vorgesehen, um das Lesen, Schreiben und Löschen der Bits C0, C1 der Doppelbit-Speicherzelle 82 und der Bits C2 und C3 der Doppelbit-Speicherzelle 84 zu ermöglichen. Ein Auswahlgate 92 (Sel2) und ein Auswahlgate 94 (Sel3) sind vorgesehen, um das Lesen, Schreiben und Löschen der Bits C4, C5 der Doppelbit-Speicherzelle 86 und der Bits C6 und C7 der Doppelbit-Speicherzelle 88 zu ermöglichen. Ein erster Schalter 96 ist mit einer ersten Bit-Leitung BL0, ein zweiter Schalter 98 ist mit einer zweiten Bit-Leitung BL1 und ein dritter Schalter 100 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 in 8 gezeigten Beispiel wird die Zelle CO der Doppelbit-Speicherzelle 82 gelesen. Tabelle 2
    Figure 00150001
  • 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 Graphen 110 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 Graphen 120 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 und 14 verstanden werden. Obwohl zum Zwecke der einfacheren Erläuterung die Verfahren der 11 und 14 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 Schritt 200, in welchem eine leere bzw. unprogrammierte VT der Speicherzellen in einem Array für ein Los bestimmt wird. Im Schritt 205 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 Schritt 210 wird dann der Ladungsverlust der Zellen bestimmt. Im Schritt 215 wird die Delta Programmier VT auf der Grundlage des Betrags des Ladungsverlusts erhöht. Im Schritt 220 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 Schritt 225 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 Schritt 230 wird durch das Verfahren bestimmt, ob die Ergebnisse der Programmier- und Löschzyklen, die im Schritt 225 ausgeführt wurden, akzeptabel sind. Wenn die Ergebnisse der Programmier- und Löschzyklen nicht akzeptabel sind (nein), geht das Verfahren zum Schritt 220 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 bis 14 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 der 12 bis 14 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 Schritt 300, 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 Schritt 305 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 Schritt 310 weiter, in welchem in Adressenzähler, der auf die Speicheradresse des Arrays zeigt, auf die erste Adresse gesetzt wird. Das Verfahren geht dann zum Schritt 315 weiter. Im Schritt 315 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 Schritt 320 weiter. Im Schritt 320 bestimmt das Verfahren, ob die maximale Pulszahl erreicht ist. Wenn die maximale Pulszahl erreicht ist (ja), geht das Verfahren zum Schritt 325 weiter, in welchem ein tatsächlicher Fehler der Einrichtung angezeigt wird. Wenn die maximale Pulszahl nicht erreicht ist (nein), geht das Verfahren zum Schritt 330 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 Schritt 315 für eine Verifizierung des Löschens der momentanen Adressenposition zurück. Wenn die Verifizierungslöschung der momentanen Adressenpositionen gelingt, geht das Verfahren zum Schritt 335 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 Schritt 340 auf die nächste Adressenposition erhöht. Das Verfahren kehrt dann zum Schritt 315 zurück, um eine Verifizierung des Löschens der nächsten Adressenposition durchzuführen. Wenn die maximale Adresse im Schritt 335 erreicht ist (ja), geht das Verfahren zu der Routine zum weichen Programmieren in 13 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 aus 13 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 Schritt 400 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 aus 12 beginnen. Das Verfahren geht dann zum Schritt 405 weiter, in welchem der Adressenzähler auf die erste Adresse gesetzt wird. Das Verfahren geht dann zum Schritt 410 weiter. Im Schritt 410 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 Schritt 415 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 Schritt 425 angezeigt. Wenn die maximale Pulszahl nicht erreicht ist (nein), geht das Verfahren zum Schritt 420 weiter, um einen weichen Programmierpuls an die Adressenposition anzulegen und kehrt zum Schritt 410 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 Schritt 410 die Bedingung erfüllt, geht das Verfahren zum Schritt 430 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 Schritt 435 gesetzt und das Verfahren kehrt zum Schritt 410 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 Schritt 430 erreicht ist (ja), geht das Verfahren zu dem zweiten Löschblock aus 14 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 Schritt 500 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 den 12 und 13 dargestellten Verfahren beginnen. Das Verfahren geht dann zum Schritt 505 weiter, in welchem der Adresszähler auf die erste Adressposition gesetzt wird. Das Verfahren geht dann zum Schritt 510 weiter. Im Schritt 510 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 Schritt 520 weiter. Im Schritt 520 bestimmt das Verfahren, ob die maximale Pulszahl erreicht ist. Wenn die maximale Pulszahl erreicht ist (ja), geht das Verfahren zum Schritt 530 weiter, in welchem ein tatsächlicher Fehler der Vorrichtung angezeigt wird. Wenn die maximale Pulszahl nicht erreicht ist (nein), geht das Verfahren zum Schritt 525 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 Schritt 510 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 Schritt 535 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 Schritt 540 erhöht. Das Verfahren kehrt dann zum Schritt 510 zurück, um eine Verifizierung des Löschens der nächsten Adressenposition auszuführen. Wenn die maximale Adresse im Schritt 525 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. Das System nach Anspruch 8, wobei der Programmierpuls eine Dauer von ungefähr 0,5 Mikrosekunden aufweist.
  10. 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.
DE10297641T 2002-01-16 2002-12-17 Ladungsinjektion Withdrawn DE10297641T5 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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