DE69521882T2 - Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement - Google Patents

Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement

Info

Publication number
DE69521882T2
DE69521882T2 DE69521882T DE69521882T DE69521882T2 DE 69521882 T2 DE69521882 T2 DE 69521882T2 DE 69521882 T DE69521882 T DE 69521882T DE 69521882 T DE69521882 T DE 69521882T DE 69521882 T2 DE69521882 T2 DE 69521882T2
Authority
DE
Germany
Prior art keywords
programming
memory cell
memory
memory cells
voltage
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.)
Expired - Lifetime
Application number
DE69521882T
Other languages
English (en)
Other versions
DE69521882D1 (de
Inventor
E. Atwood
Albert Fazio
Q. Mi
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE69521882D1 publication Critical patent/DE69521882D1/de
Application granted granted Critical
Publication of DE69521882T2 publication Critical patent/DE69521882T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/565Digital 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 capacitive charge storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Description

    GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Programmieren von Speicherzellen. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren und eine Schaltung zum Programmieren von Flash-Speicherzellen, um diskrete Ladungsmengen zu speichern, die mehrere Datenbits in einer einzigen Speicherzelle darstellen.
  • HINTERGRUND
  • Nicht-flüchtige Halbleiter-Speicher nutzen verschiedenste Halbleiterspeicherzellen-Designs. Eine Speicherzellenart verwendet ein elektrisch isoliertes Floating-Gate zum Einfangen der Ladung. Eine Reihe von Mechanismen kann zum Einbringen der Ladung in das Floating-Gate und zum Herunterziehen der Ladung verwendet werden. Elektronentunnelung kann sowohl zum Injizieren der Ladung als auch zum Abziehen der Ladung von dem Floating-Gate einer Speicherzelle verwendet werden. Injektion heißer Elektronen ist ein weiterer Mechanismus zum Einbringen der Ladung in ein Floating-Gate einer Speicherzelle. Andere nicht-flüchtige Halbleiter-Speicher verwenden ein einfangendes Dielektrikum zum Einbringen oder Entfernen der Ladung zwischen dem Steuer-Gate einer Speicherzelle und dem Silizium.
  • Ein attraktives Merkmal der nicht-flüchtigen Halbleiter- Speicher ist ihre Fähigkeit, bei abgeschalteter Spannungsversorgung die Daten zu halten. Ein weiteres attraktives Merkmal der nicht-flüchtigen Speicher ist ihre Fähigkeit, Analogdaten zu speichern. Dies gestattet die Speicherung mehrerer Datenbits in einer einzigen Speicherzelle, was manchmal Mehrzustandsspeicherung genannt wird.
  • Die Mehrzustandsspeicherung wird in früheren Patenten erörtert. Das U.S.-Patent Nr. 5,043,940 von Harrari, "Flash EEPROM Memory Systems Having Mulstistate Storage Cells", ("Harrari") definiert vier Zustände anhand der Schwellenspannung Vt einer Speicherzelle mit geteiltem Kanal. Unter Verwendung dieser vier Zustände kann Harrari durch das Anlegen mehrerer Programmierimpulse an jede Speicherzelle zwei Datenbits pro Speicherzelle speichern.
  • Das U.S.-Patent Nr. 5,163,021 von Mehrota et al.,, "Multi-State EEPROM Read and Write Circuits and Techniques", ("Mehrota") beschreibt das Mehrebenen-Programmieren von Speicherzellen mit geteiltem Kanal ausführlicher. Wie Harrari definiert Mehrota vier Zustände anhand der Schwellenspannung der Speicherzellen. Mehrota beschreibt das parallele Programmieren mehrerer Speicherzellen. Ein Programmierimpuls wird gleichzeitig an eine Gruppe von Zellen angelegt. Jede Zelle wird danach programmiermäßig überprüft, und die Zellen, die richtig programmiert sind, werden vor weiterer Programmierung geschützt. Die Programmierimpulse werden angelegt, bis alle Speicherzellen in der Gruppe richtig programmiert sind. Mehrota offenbart die Verwendung derselben Spannungspegel für jeden nachfolgenden Programmierimpuls.
  • Die internationale Veröffentlichung Nr. WO 92/12519 beschreibt eine Source-Folger-Speicherzelle zum Aufzeichnen und zur Wiedergabe analoger Signale. Der Aufzeichnungsprozeß besteht aus einem multiiterativen Programmierverfahren, bei dem eine Serie von ungenauen Impulsen eine Zelle in den ungefähr gewünschten Wert programmiert, und bei dem eine Serie von feinen Impulsen, die sich auf den letzten ungenauen Impuls beziehen, der zum Programmieren der entsprechenden Zelle verwendet wurde, die Zelle in feinen Inkrementen auf den gewünschten endgültigen Programmierpegel programmiert.
  • ZUSAMMENFASSENDE DARSTELLUNG UND ZIELE DER ERFINDUNG
  • Ein Ziel der vorliegenden Erfindung ist die Bereitstellung eines Verfahrens und einer Schaltung zum Speichern diskreter Ladungsmengen in einer Speicherzelle innerhalb eines angemessenen Zeitraums.
  • Ein weiteres Ziel der vorliegenden Erfindung ist die Bereitstellung eines Verfahrens und einer Schaltung zum schnellen Programmieren der Speicherzellen, um die Speicherung mehrerer Datenbits in einer einzigen Speicherzelle zu ermöglichen.
  • Ein weiteres Ziel der vorliegenden Erfindung ist die Bereitstellung eines Verfahrens zum genauen Programmieren der Speicherzellen in die ausgewählten Zustände, die Muster mehrerer Datenbits darstellen.
  • Die Ziele der Erfindung werden durch ein Verfahren und eine Schaltung zum Programmieren einer Speicherzelle gemäß der Ansprüche 1 und 14 erfüllt. Die auf der Speicherzelle eingestellte Ladungsmenge wird durch die Erhöhung des Spannungspegels eines Programmierimpulses erhöht, der an die Speicherzelle angelegt wird.
  • Die Ziele, Merkmale und Vorteile der vorliegenden Erfindung werden aus den beigefügten Zeichnungen und der nachstehenden ausführlichen Beschreibung klar.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird beispielhaft und in keinem einschränkenden Sinne anhand der beigefügten Zeichnungen veranschaulicht, in denen gleiche Bezugszeichen ähnliche Elemente anzeigen und in denen:
  • Fig. 1 eine Blockdarstellung eines Personalcomputers ist.
  • Fig. 2 eine Blockdarstellung eines Speicherbauelements ist.
  • Fig. 3 eine schematische Darstellung eines Teils eines Speicher-Arrays ist.
  • Fig. 4A vier Zustände veranschaulicht, die von verschiedenen Schwellenspannungen einer nicht-flüchtigen Speicherzelle definiert werden.
  • Fig. 4B vier Zustände veranschaulicht, die von verschiedenen Drain-Strömen einer nicht-flüchtigen Speicherzelle definiert werden. '
  • Fig. 5 ein Ablaufdiagramm eines Verfahrens zum parallelen Programmieren mehrerer Speicherzellen ist.
  • Fig. 6 in graphischer Form die Schwellenspannung über der Zeit für verschiedene Gate-Spannungen zeigt.
  • Fig. 7 in graphischer Form die Schwellenspannung über der Zeit für verschiedene Drain-Spannungen zeigt.
  • Fig. 8 in graphischer, Form die Schwellenspannung über der Zeit für verschiedene Drain-Spannungen zeigt.
  • Fig. 9 die Anzahl der zum Programmieren einer Gruppe von Speicherzellen benötigten Programmierimpulse über der Zustandsbreite veranschaulicht.
  • Fig. 10 ein Ablaufdiagramm eines Verfahrens zum individuellen Programmieren von Speicherzellen ist, um verschiedene Ladungsmengen zu speichern.
  • Fig. 11 eine Blockdarstellung einer Schaltung zum Lesen und Überprüfen der Programmierung einer mehrere Datenbits speichernden Speicherzelle ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der Form einer Blockdarstellung veranschaulicht Fig. 1 ein Computersystem. Das Computersystem umfaßt eine zentrale Verarbeitungseinheit (CPU) und einen Monitor zur visuellen Anzeige von Informationen an den Benutzer des Computers. Durch eine Tastatur kann der Benutzer des Computers Daten in die CPU eingeben. Durch das Bewegen der Maus kann der Benutzer des Computers einen auf dem Monitor angezeigten Zeiger bewegen. Der Speicher speichert die von der CPU verwendeten Daten. Ein nicht-flüchtiges Halbleiter- Speicherbauelement 20 ist eine Art eines Speichers, auf den die CPU zugreift. Der nicht-flüchtige Halbleiter-Speicher 20 hat den Verteil, daß er bei abgeschalteter Spannungsversorgung die Daten behält.
  • In der Form einer Blockdarstellung veranschaulicht Fig. 2 das nicht-flüchtige Speicherbauelement 20, das auf einem einzigen Halbleitersubstrat hergestellt ist. Unter Verwendung nicht-flüchtiger Speicherzellen in einem Speicher-Array 22 speichert das Speicherbauelement 20 Daten. Die Schwellenspannungen der nicht-flüchtigen Speicherzellen können während der Programmierung geändert werden, wodurch die Speicherung analoger Spannungspegel erlaubt wird. Das Speicher- Array 22 kann jede Art von Speicherzellen mit programmierbaren Schwellenspannungen, wie z. B. Speicherzellen mit einfangenden Dielektrika oder Floating-Gates, enthalten. Bei einem Ausführungsbeispiel besteht das Speicher-Array 22 aus Flash-Speicherzellen.
  • Verfahren zum Programmieren von Speicherzellen, um diskrete Ladungsmengen zu speichern, werden nachstehend ausführlicher beschrieben. Kurz beschrieben, verwenden diese Verfahren mehrere Programmierimpulse, um verschiedene diskrete Ladungsmengen in den Speicherzellen zu bringen. Die in den jeweiligen Speicherzellen eingestellte Ladungsmenge wird durch das Ändern des Gate- oder Wortleitungs-Spannungspegels während der Programmierimpulse geändert. Durch das Einstellen verschiedener diskreter Ladungsmengen in jeder Speicherzelle wird die Speicherung mehrerer Datenbits in einer einzigen Speicherzelle ermöglicht. Diese Verfahren können sowohl bei nicht-flüchtigen Speicherzellen, wie z. B. denen in Flash-EEPROMs, als auch bei flüchtigen Speicherzellen, wie z. B. denen in dynamischen Speichern mit wahlfreiem Zugriff (DRAMs), verwendet werden.
  • I. Überblick über Speicherbauelemente
  • Bevor das Programmieren detailliert erörtert wird, sei das Speicherbauelement 20, bei dem die Verfahren Anwendung finden, erneut betrachtet. VPP ist die Lösch-/Programmier- Spannungsversorgung für das Speicherbauelement 20. Fehlt ein Hochspannungspegel auf den Speicherzellen, wirkt das Speicherbauelement 20 wie ein Nur-Lese-Speicher. Die Daten, die bei einer von Adreßleitungen 24 angezeigten Adresse gespeichert sind, werden aus dem Speicher-Array 22 gelesen und über Datenleitungen 26 an den externen Benutzer ausgegeben.
  • In Abhängigkeit von den an die Adreßleitungen 24 angelegten Adreßsignalen wählt der X-Decodierer 28 die richtige Zeile in dem Speicher-Array 22 aus. Aus diesem Grund wird der X-Decodierer 28 auch Zeilendecodierer 28 genannt. Entsprechend wählt der Y-Decodierer 30 in Abhängigkeit von den Adreßsignalen von den Adreßleitungen 24 die richtige Spalte in dem Speicher-Array 22 aus. Wegen seiner Funktion wird der Y-Decodierer 30 auch Spaltendecodierer 30 genannt.
  • Die von dem Speicher-Array 22 ausgegebenen Daten werden mit dem Y-Decodierer 30 gekoppelt, der die Daten an eine Leseschaltung 32 weiterleitet. Unter Verwendung eines Referenzzellen-Arrays 34 bestimmt die Leseschaltung 32 den Zustand der ihr gebotenen Daten. Die Leseschaltung 32 leitet danach die Ergebnisse ihrer Analyse zurück zum Y-Decodierer 30.
  • Bei einer Ausführungsform des Speicherbauelements 20 steuert die Steuermaschine 36 das Löschen und Programmieren des Speicher-Arrays 22. Die Steuermaschine 36 steuert außerdem das Programmieren der Mehrpegel-Zellen, das nachfolgend ausführlich beschrieben wird. Bei einer Ausführungsform enthält die Steuermaschine 36 einen Prozessor, der von einem Mikrocode gesteuert wird, der in dem Speicher auf dem Chip gespeichert ist. Die genaue Implementierung der Steuermaschine 36 beeinflußt jedoch nicht das beschriebene Verfahren zum Programmieren von Mehrpegel-Zellen.
  • Die Steuermaschine 36 verwaltet das Speicher-Array 22 über die Steuerung des Zeilendecodierers 28, des Spaltendecodierers 30, der Leseschaltung 32, des Referenzzellen- Arrays 34 und des Spannungsschalters 38. Der Spannungsschalter 38 steuert die verschiedenen zum Lesen, Programmieren und Löschen des Speicher-Arrays 22 benötigten Spannungspegel. VCC ist die Energieversorgung für das Bauelement, und VSS ist die Masse. VPP ist die Programmier-/Löschspannung, die hoch sein muß, um die in dem Speicher-Array 22 gespeicherten Daten zu programmieren oder zu löschen. VPP kann extern geliefert oder intern erzeugt werden.
  • Benutzerbefehle zum Lesen, Löschen und Programmieren werden über die Befehlsschnittstelle 40 der Steuermaschine 36 mitgeteilt. Der externe Benutzer erteilt der Befehlsschnittstelle 40 Befehle über drei Steuerpins: Ausgabe- Freigabe OEB, Schreib-Freigabe WEB und Chip-Freigabe CEB.
  • Das Programmieren der Speicherzellen gemäß den vorliegenden Verfahren erfordert ein gewisses Verständnis des Aufbaus des Speicher-Arrays 22. Fig. 3 veranschaulicht ausführlich einen Teil 22a des Speicher-Arrays 22. Teil 22a enthält sechs einzelne Feldeffekttransistor-Floating-Gate- Speicherzellen 50, 52, 54, 56, 58 und 60. Dieser Speicherzellentyp ist ausschließlich zu Veranschaulichungszwecken gezeigt. Unter Verwendung der vorliegenden Verfahren können auch andere Speicherzellentypen in mehrere Zustände programmiert werden. Sowohl Mehrtransistor-Speicherzellen als auch Speicherzellen, die zum Ändern der Schwellenspannung der Speicherzellen ein einfangendes Dielektrikum verwenden, können unter Verwendung der vorliegenden Verfahren programmiert werden. Darüber hinaus könnten flüchtige Speicherzellen, wie z. B. die in DRAMs verwendeten, unter Verwendung der vorliegenden Verfahren programmiert werden.
  • Die Speicherzellen 50, 52, 54, 56, 58 und 60 werden an den Schnittpunkten der Wortleitungen 62 und 64 sowie der Bitleitungen 66, 68 und 70 gebildet. Die Wortleitungen 62 und 64 werden auch X-Leitungen oder Zeilenleitungen genannt, weil jede Wortleitung mit dem X-Decodierer 28 gekoppelt ist. Jede Wortleitung ist außerdem mit allen Speicherzellen-Gates in einer gegebenen Zeile gekoppelt. Die Wortleitung 62 ist beispielsweise mit den Gates der Speicherzellen 50, 52 und 54 gekoppelt. Die Bitleitungen 66, 68 und 70 werden auch Y- Leitungen oder Spaltenleitungen genannt, weil sie mit dem Y- Decodierer 30 gekoppelt sind. Jede Bitleitung ist mit allen Speicherzellen-Drain-Elektroden in einer gegebenen Spalte gekoppelt. Die Bitleitung 68 ist beispielsweise mit den Drain-Elektroden der Speicherzellen 52 und 58 gekoppelt. Die Sources aller Speicherzellen in einer Zeile sind mit einer lokalen Source-Leitung gekoppelt. Die Sources der Speicherzellen 50, 52 und 54 sind mit der lokalen Source-Leitung 72 gekoppelt, während die Sources der Speicherzellen 56, 58 und 60 mit der lokalen Source-Leitung 74 gekoppelt sind. Die lokalen Source-Leitungen 72 und 74 sind ferner mit der gemeinsamen Source-Leitung 76 gekoppelt, die mit dem Spannungsschalter 38 gekoppelt ist. Die gemeinsame Source-Leitung 76 stellt somit einen Mechanismus zum Anlegen der Spannungen an die Sources aller Speicherzellen in einem Block des Speicher-Arrays 28 bereit.
  • Zusammen stellen die Bitleitungen, die Wortleitungen und die gemeinsame Source-Leitung ein Mittel zum Anlegen der zum Programmieren, Löschen und Lesen der Speicherzellen in dem Array 22 erforderlichen Spannungen an die Speicherzellen bereit. Die Speicherzellen 50, 52, 54, 56, 58 und 60 werden mittels der Fowler-Nordheim-Tunnelung dadurch gelöscht, daß über die Wortleitungen 62 und 64 ungefähr 0 V an die Speicherzellen-Gates angelegt wird, den Bitleitungen 66, 68 und 70 ermöglicht wird, auf schwebendem Potential zu sein, und die Speicherzellen-Sources über die gemeinsame Source- Leitung 76 auf ca. 12 V gelegt werden. Die Speicherzellen 50, 52, 54, 56, 58 und 60 können außerdem durch negatives Gate-Löschen gelöscht werden, indem -10 V an die Speicherzellen-Gates angelegt, die Drain-Elektroden auf schwebendem Potential belassen und die Sources mit 5 V gekoppelt werden. In den Flash-Speicher-Arrays wird ein kompletter Block von Speicherzellen auf einmal gelöscht. Die Speicherzellen werden gelesen, d. h. ihre Zustände werden erfaßt, indem 1-7 V an die Wortleitungen 62 und 64 und ca. 1 V an die Bitleitungen 66, 68 und 70 angelegt werden, und indem die gemeinsame Source-Leitung 76 auf schwebendem Potential belassen wird. Die Speicherzellen 50, 52, 54, 56, 58 und 60 werden mittels der Injektion heißer Elektronen programmiert, indem eine Source-Spannung VS an die gemeinsame Source-Leitung 76 angelegt wird, eine Drain-Spannung VD an die Bitleitungen 66, 68 und 70 angelegt wird, so daß der Spannungspegel der Bitleitung 5-7 V höher als der der Source-Leitung 76 ist, d. h. VDS auf 5-7 V gesetzt wird, und indem ein Spannungspegel an die Wortleitungen 62 und 64 angelegt wird, der ausreicht, um die von den zu programmierenden Speicherzellen gespeicherte Ladungsmenge zu ändern. Andere Spannungspegel können ebenfalls zum Programmieren der Speicherzellen verwendet werden. "Programmierimpuls" bezieht sich in dieser Beschreibung auf die Kombination von Spannungen, die an die Bitleitung, die Source-Leitung und die Wortleitung einer Speicherzelle angelegt werden, um ihre Schwellenspannung durch das Ändernder in der Speicherzelle gespeicherten Ladungsmenge zu verändern.
  • Durch die Koordinierung der Steuerung der Wortleitungs- und Bitleitungsspannungen wird eine Gruppe von Speicherzellen zum Programmieren und Lesen ausgewählt. Zu Veranschaulichungszwecken sei angenommen, daß die Speicherzelle 50 programmiert werden soll. Die Gate-Spannung für die Speicherzelle 50 wird durch die Wortleitung 62, die ferner dieselbe Spannung an das Gate der Speicherzellen 52 und 54 anlegt, auf den geeigneten Pegel gebracht und dort gehalten. Die lokale Source-Leitung 72 legt dieselbe Spannung an die Sources aller drei Speicherzellen an. Die Speicherzelle 50 wird programmiert durch das Anlegen der Spannung auf ihre Drain-Elektrode, indem ein Spannungsimpuls auf der Bitleitung 66 angelegt wird, während die Bitleitungen 68 und 70 nahe der Masse gehalten werden, und die Wortleitung 62 auf einer Spannung gehalten wird, die ausreichend hoch ist, daß sich ein gewünschtes elektrisches Feld über das Gate-Oxid der Speicherzelle 50 entwickelt. In dieser Weise wird nur die Speicherzelle 50 programmiert. Die Dauer eines Programmierimpulses in dem Speicher-Array 22 wird von der Dauer der hohen Spannung auf der ausgewählten Bitleitung, d. h. von der Drain-Spannung, gesteuert.
  • Wie es oben angemerkt wurde, verändert das Programmieren und Löschen einer Speicherzelle deren Schwellenspannung sowie den von der Speicherzelle während des Lesens geleiteten Drain-Strom. Die möglichen Schwellenspannungen in einer nicht-flüchtigen Speicherzelle schwanken zwischen einer unteren Grenze von ca. 1,5 V und einer oberen Grenze von ca. 710 V. Die untere Grenze des Programmierbereiches, oder des Programmierfensters, wird von Löschzeiten und Gate-Störspannungen erzwungen. Die obere Grenze des Programmierfensters wird von Drain-Störspannungen sowie dem Temperaturbehandlungs-Ladungsverlust erzwungen. Das Programmierfenster erlaubt, daß nicht-flüchtige Speicherzellen mehr als ein Datenbit speichern.
  • Bei Speicherzellen, die mehr als ein Datenbit speichern, gibt es keine Eins-zu-Eins-Übereinstimmung zwischen der Anzahl von Speicherzellen in dem Array 22 und der Anzahl von Datenbits, die von dem Array 22 gespeichert werden. In dieser Beschreibung werden die Ausdrücke "Speicherzelle" und "Bit" daher nicht synonym verwendet. "Speicherzelle" bezieht sich auf ein physikalisches Bauelement, wie z. B. den in Fig. 3 veranschaulichten Transistor, und "Bit(s)" auf die in einer Speicherzelle gespeicherten logischen Daten.
  • Die Anzahl von in einer nicht-flüchtigen Speicherzelle gespeicherten Bits, B, steht in Beziehung zu der Anzahl von Zuständen, S, gemäß der Gleichung S = 2B, wobei B nicht auf ganzzahlige Werte beschränkt ist. Die Anzahl von Zuständen, die in einer nicht-flüchtigen Speicherzelle gespeichert werden könnten, wird in der Praxis von der Fähigkeit, Zustände einzustellen und später zwischen diesen Zuständen zu unterscheiden, beschränkt. Falls die Leseschaltung den Unterschied eines einzigen Elektrons erfassen kann, könnten die Zustände daher anhand eines einzigen Elektrons definiert werden. Die Zustände können anhand der Schwellenspannungspegel der Speicherzelle oder der Drain-Ströme definiert werden. Die Beziehung der Speicherzellen-Schwellenspannung Vt zu dem Drain-Strom ID wird durch den folgenden Ausdruck annähernd klar:
  • ID Gm · (VG - Vt) für VD > VG - Vt
  • Gm ist die Steilheit (Transkonduktanz) der Speicherzelle,
  • VG ist die Gate-Spannung der Speicherzelle,
  • VD ist die Drain-Spannung der Speicherzelle und
  • Vt ist die Schwellenspannung der Speicherzelle.
  • Bei Speicherzellen, die mehrere Datenbits speichern, stellt jedes mögliche Bitmuster einen Zustand dar. Die Zelle speichert praktisch die Basis-S-Daten, wobei 5 die Anzahl von Zuständen ist, die die Zelle speichern kann. Das Bitmuster ergibt sich aus dem Decodieren der Zustandsdaten einer oder mehrerer Zellen. Bei Speicherzellen, die zwei Datenbits speichern, gibt es z. B. vier Bitmuster: 00, 01, 10 und 11. Jedes dieser Bitmuster wird von einem Zustand dargestellt. Der durch ein bestimmtes Bitmuster dargestellte einzelne Zustand hängt von dem verwendeten Codierungstyp ab. Die Gray-Codierung und die Binärcodierung sind zwei gewöhnlich verwendete Codierungstypen. Der verwendete Codierungstyp beeinflußt nicht die vorliegenden Programmierverfahren.
  • Die Zustände können auf verschiedenste Weise definiert werden. Sie können in Form eines Bereichs von Schwellenspannungen Vt, eines Bereichs von Drain-Strömen ID oder eines Ladungsbereichs definiert werden.
  • II. Exakte-Einstellungs-Algorithmen zum Programmieren mehrerer Zustände
  • Exakte-Einstellungs-Algorithmen programmieren jede nicht-flüchtige Speicherzelle in einen Zielzustand, der von einem Bereich von Schwellenspannungen Vt, von Drain-Strömen ID oder einer Ladungsmenge definiert wird. Fig. 4A und 4B veranschaulichen zwei Definitionen von vier Zuständen für eine nicht-flüchtige Speicherzelle, die 2 Datenbits speichert. Gemäß der Definition der Fig. 4A belegen die Zustände 0, 1, 2 und 3 je einen Bereich der Schwellenspannung Vt. Der Zustand, der die niedrigste Schwellenspannung darstellt, Zustand 0, wird durch das Löschen der Speicherzelle erreicht. Die übrigen drei Zustände, Zustand 1-3, werden durch das Programmieren der Speicherzelle erreicht. Fig. 4B definiert vier Zustände in Form von Drain-Strombereichen. Der Zustand, der die höchste Drain-Strommenge darstellt, Zustand 0, wird durch das Löschen der Speicherzelle erreicht. Die übrigen drei Zustände, Zustand 1-3, werden durch Programmierung erreicht.
  • Wie auch immer die Zustände definiert sind, die Designer können, wenn sie die Zustände exakt einstellen, wählen, ob sie mehrere Speicherzellen parallel, d. h. gleichzeitig, oder jede Speicherzelle einzeln programmieren möchten. Beim pazallelen Programmieren mehrerer Zellen ungeachtet ihrer Zielzustände müssen mehrere Programmierimpulse verwendet werden, um Überprogrammierzustände ("overshooting states") zu vermeiden. Im Gegensatz hierzu kann ein einziger Programmierimpuls verwendet werden, falls die Speicherzellen unabhängig voneinander programmiert werden. Beide Exakte-Einstellungs-Verfahren berücksichtigen die Programmierschwankungen, die von den meisten Schwankungsquellen verursacht werden, z. B. Schwankung der VPP, Temperaturschwankungen und Schwankungen von Zelle zu Zelle. Die Exakte-Einstellungs- Programmierverfahren sind außerdem robust.
  • A. Paralleles Programmieren mehrerer nicht-flüchtiger Speicherzellen unter Verwendung des Exakte-Einstellungs- Verfahrens
  • In Form eines Ablaufdiagramms veranschaulicht Fig. 5 ein Verfahren zum parallelen Programmieren einer Anzahl von Speicherzellen in mehrere Zustände, die ein Muster von Bits darstellen. Das veranschaulichte Verfahren programmiert die Speicherzellen so nahe wie möglich in die vorher definierten Zustände ungeachtet, ob diese Zustände anhand des Drain- Stroms oder der Schwellenspannung definiert sind. Die nachfolgende Erörterung setzt sich mit dem Programmieren von vier, zwei Datenbits zugeordneten Zuständen auseinander, aber das Verfahren kann gleichermaßen zur Speicherung einer beliebigen Anzahl von Datenbits unter Verwendung einer einzigen Speicherzelle verwendet werden.
  • Kurz beschrieben, werden gemäß dem vorliegenden Verfahren alle Speicherzellen in einer ausgewählten Gruppe ungeachtet ihrer Zielzustände, d. h. ungeachtet der auf jede Speicherzelle aufzubringenden Ladungsmenge, gleichzeitig programmiert. Ein erster Programmierimpuls wird an alle Speicherzellen in der ausgewählten Gruppe angelegt. Danach wird die Programmierung jeder Speicherzelle in der ausgewählten Gruppe verifiziert, um zu bestimmen, ob sie in ihren Zielzustand programmiert worden ist. Die Programmierverifizierung bezieht sich in dieser Beschreibung auf den Prozeß des Bestimmens, ob eine definierte Ladungsmenge auf eine Speicherzelle aufgebracht worden ist oder nicht. Keine weiteren Programmierimpulse werden an die Speicherzellen angelegt, die die Programmierung bestätigen. Falls irgendeine Speicherzelle in der ausgewählten Gruppe die Programmierung nicht bestätigt, wird die Wortleitungsspannung des Programmierimpulses erhöht. Ein weiterer Programmierimpuls wird daraufhin an diejenigen Speicherzellen angelegt, die nicht bestätigten. Der Prozeß des Programmierens, Verifizierens und Erhöhens der Gate-Spannung geht weiter, bis alle Speicherzellen bestätigt oder eine maximale Gate-Spannung erreicht worden ist.
  • Das Programmierverfahren der Fig. 5 erhöht die Wortleitungsspannung jedes nachfolgenden Programmierimpulses stufenweise, statt die Gesamtprogrammierdauer jedes nachfolgenden Programmierimpulses zu erhöhen. Das Grundprinzip für diese Programmierstrategie entspringt aus den Programmiercharakteristika der nicht-flüchtigen Speicherzellen. Fig. 6 zeigt in graphischer Form die Speicherzellen-Schwellenspannung Vt über dem Logarithmus der Programmierzeit für fünf verschiedene Gate-Spannungen während des Programmierens. Die Gate-Spannungen sind relevant als eine Anzeige der relativen Stärke des elektrischen Felds über dem Gate-Oxid der Speicherzelle. Das Erhöhen der Gate-Spannung erhöht die Stärke dieses elektrischen Felds während des Programmierens. Die Kurve 120 veranschaulicht Vt über der Zeit bei einer Gate- Spannung von 8 V. Die Kurve 122 veranschaulicht Vt über der Zeit bei einer Gate-Spannung von 9 V. Gate-Spannungen von 10 V bzw. 11 V ergeben die Kurven 124 bzw. 126. Alle vier Kurven 120, 122, 124 und 126 zeigen, daß die Schwellenspannung sich in dem linearen Bereich links von der Kurve 119 exponential erhöht. (Der lineare Bereich wird so genannt, weil die Schwellenspannung sich bei einer graphischen Darstellung in einer linearen Zeitskala in diesem Bereich linear mit der Schwehllenspannung erhöht.) In dem Bereich links von der Linie 119 erhöht sich die Schwellenspannung somit bei einer kleinen Erhöhung der Dauer des Programmierimpulses stark. Dieses Verhalten ist typisch für nicht-flüchtige Speicherzellen, die zum Programmieren eine Injektion heißer Elektronen verwenden. Die präzise Steuerung der Vt ist schwierig, wenn eine Speicherzelle in dem linearen Bereich programmiert wird. Das exakte Programmieren einer Speicherzelle ist einfacher in dem gesättigten Bereich der Kurven 120, 122, 124 und 126, der sich rechts von der Kurve 119 befindet, da die Vt sich in dem gesättigten Bereich langsamer, fast logarithmisch, mit der Zeit erhöht. Unabhängig davon, ob sie ein einfangendes Dielektrikum oder ein Floating-Gate enthalten, und ungeachtet des verwendeten Programmiermechanismus zeigen alle nicht-flüchtigen Zellen, wenn sie in dem gesättigten Bereich programmiert werden, die logarithmische Erhöhung der Vt mit der Erhöhung der Dauer des Programmierimpulses.
  • Das Programmieren von Speicherzellen während des Betriebs in dem gesättigten Bereich ist langsam, falls die Gate-Spannung konstant gehalten, und die Gesamtprogrammierimpulsdauer erhöht wird. Die Kurve 120 zeigt z. B., daß ein Programmierimpuls von einer Dauer von fast 10 ps benötigt wird, um die Schwellenspannung einer Speicherzelle von 3 V auf 4 V zu erhöhen. Um die Schwellenspannung von 4 V auf 5 V zu erhöhen, wäre ein weiterer Programmierimpuls von 100 us erforderlich. Im Gegensatz hierzu offenbaren die Kurven 120, 122, 124 und 126 eine Erhöhung der Vt um fast 1 V bei jeder Volt-Erhöhung der Gate-Spannung, wenn die Programmierung in dem gesättigten Bereich stattfindet. Die Speicherzellen können daher, wenn die Gate-Spannung jedes nachfolgenden Programmierimpulses erhöht wird, schneller programmiert werden, als wenn die Gate-Spannung konstant gehalten und die Gesamtprogrammierdauer erhöht wird.
  • Die präzise Steuerung der Programmierung der Speicherzellen mittels der Injektion heißer Elektronen wird durch das Auswählen einer genügend langen ersten Impulsbreite, d. h. Impulsdauer, erreicht, mit der sicherzustellen ist, daß die Programmierung in dem gesättigten Bereich der Vt-Zeit- Kurve stattfindet. Wegen der Prozeßschwankungen variiert die Dauer einer genügend langen ersten Impulsbreite von Bauelement zu Bauelement. Trotz dieser Schwankung kann dieselbe erste Impulsbreite zum Programmieren aller Bauelemente in dem gesättigten Bereich verwendet werden, falls jedes Bauelement nach der Herstellung in geeigneter Weise abgeglichen wird. Ein gut funktionierendes Abgleich-Verfahren ist das Abgleichen des während der Programmierung verwendeten Drain- Vorspannungspegels. Fig. 7 veranschaulicht Vt-Zeit-Kurven bei verschiedenen Drain-Vorspannungspegeln für eine effektive Kanallänge. Andere effektive Kanallängen haben andere Kurvenscharen. Diese Kurven zeigen, daß das Programmieren in dem gesättigten Bereich für eine ausgewählte erste Impulsbreite einfach eine Frage des Auswählens einer angemessenen Drain-Vorspannung ist, d. h. eines Drain-Vorspannungspegels, der die ausgewählte Zeit dazu zwingt, die Programmierung in dem gesättigten Bereich stattfinden zu lassen.
  • Die durch die Impact-Ionisierung induzierte bipolare Einschaltspannung VBii beschränkt den Drain-Vorspannungshöchstpegel, der während des Programmierens mittels der Injektion heißer Elektronen verwendet werden kann Das Einschalten des parasitäten bipolaren Transistors erhöht die Ladungsspeicherung und erschwert die präzise Einstellung von Zuständen. Fig. 8 veranschaulicht den Einfluß der VBii auf die Schwellenspannung. Bei Drain-Vorspannungspegeln unter VBii beeinflußt eine Erhöhung der VD nur den linearen Bereich der Vt-Zeit-Kurve, so wie es durch die Verschmelzung der Kurve VD2 mit der Kurve für VD1 gezeigt ist. Die Schwellenspannungshöchstpegel in dem gesättigten Bereich werden nicht von der Erhöhung der Drain-Vorspannungspegel beeinflußt. Dies ist nicht mehr der Fall, wenn die Drain-Vorspannung höher als VBii ist. Die aus einem Programmierimpuls einer konstanten Dauer bei VD3 abgeleitete Vt wird mit VD3 > VBii größer als die unter Verwendung der VD1 und VD2 benutzte Vt. Nahe BBii kann z. B. ein Unterschied der VD von 0,1 V zu einem Unterschied der Vt von O,2-0,25 V führen.
  • Die effektive Kanallänge, Leff, beeinflußt den Wert der VBii. So wie die effektive Kanallänge sich erhöht, erhöht sich die VBii. Die effektive Kanallänge beeinflußt außerdem die Drain-Spannung, bei der der lineare Bereich in den gesättigten Bereich übergeht. Die effektive Kanallänge variiert infolge des Herstellungsverfahrens. Die effektive Kanallänge, die Spannung VBii und das Erfordernis, innerhalb einer vernünftigen Zeit zu programmieren, definieren daher einen Bereich von Drain-Vorspannungspegeln, die für das Programmieren im gesättigten Bereich geeignet sind. Die Bauelemente können nach der Herstellung zum Programmieren innerhalb dieses gesättigten Bereichs für eine gegebene Mindestimpulsdauer abgeglichen werden. Bei einer Ausführungsform des Flash-Speicherbauelements 20 liegen die akzeptablen Werte der Drain-Vorspannung zwischen 5 V und 6,6 V. Das Auswählen eines angemessenen Drain-Vorspannungspegels in diesem Bereich erfordert nach der Herstellung die Charakterisierung der effektiven Kanallängen in einem Array während des Sortierens.
  • Unter Berücksichtigung dieser Erläuterung des Programmierverhaltens der Speicherzelle wird jetzt das in Fig. 5 veranschaulichte Programmierverfahren ausführlich beschrieben. Die Steuermaschine 36 beginnt vorzugsweise mit dem Löschen des Speicher-Arrays 22, weil der Zustand 0 durch das Löschen der Speicherzelle ungeachtet der von jeder Speicherzelle gespeicherten Anzahl von Bits erreicht wird. In den Flash-Speicherzellen werden alle Speicherzellen in einem Block gleichzeitig gelöscht. Anders ausgedrückt, können die Flash-Speicherzellen nicht einzeln gelöscht werden. Es ist jedoch möglich, die Speicherzellen ahne vorheriges Löschen zu programmieren. Danach verzweigt die Steuermaschine 36 zum Schritt 92.
  • Durch Initialisierung von Programmiervariablen in Schritt 92 bereitet die Steuermaschine 36 das Programmieren von Speicherzellen in andere Zustände als Zustand 0 vor. Die Steuermaschine 36 setzt die Gate-Spannungen der Speicherzellen auf einen ersten Programmierpegel. Der gewählte erste Programmier-Gate-Spannungspegel hängt von der von jeder Speicherzelle zu speichernden Anzahl von Bits sowie von dem Erfordernis, ein Überprogrammieren des dem Zustand 0 benachbarten Zustands zu vermeiden, ab. Die Source-Spannung wird auf einen ersten Wert, wie z. B. Masse, gesetzt. Während des Schrittes 92 setzt die Steuermaschine 36 ferner die erste Programmierimpulsdauer derart, daß Programmierung im gesättigten Bereich eintritt. Der während des Programmierens zu verwendende Drain-Vorspannungspegel ist vorher abgeglichen worden, um sicherzustellen, daß die Programmierung bei der gegebenen ersten Impulsdauer in dem gesättigten Bereich stattfinden wird. Bei einem Ausführungsbeispiel beträgt der erste Programmierimpuls z. B. 4 us. Danach verzweigt die Steuermaschine 36 zum Schritt 94.
  • Ungeachtet des Zustands, in den die Speicherzellen zu programmieren sind, wird unter der Steuerung der Steuermaschine 36 während des Schritts 94 ein Programmierimpuls an alle Speicherzellen innerhalb der ausgewählten Gruppe angelegt. Die Steuermaschine 36 führt dies dadurch aus, daß sie die Drain-Spannungen VD der ausgewählten Gruppe von Speicherzellen auf einen solchen Spannungspegel bringt, daß VDS = 5-7 V ist. Die Speicherzellen, die nicht programmiert werden, werden durch das Koppeln ihrer Bitleitungen mit dem Source-Spannungspegel VS vor dem Programmieren geschützt, indem VDS = 0. Bei einem Ausführungsbeispiel beträgt die VS 0-3 V.
  • Die Maximalgröße der ausgewählten Gruppe von Speicherzellen, die auf einmal programmiert werden, hängt von mehreren Faktoren ab und hat keinen Einfluß auf das vorliegende Programmierverfahren.
  • Indem die Bitleitungen der ausgewählten Speicherzellen auf VS gebracht werden, d. h. indem VDS auf 0 V gesetzt wird, hält die Steuermaschine 36 das Programmieren der ausgewählten Speicherzellen bei dem Schritt 96 an. Dadurch ist zu erkennen, daß die Zeitdauer des Programmierimpulses von der Länge der Zeit, in der die VDS 5-7 V beträgt, gesteuert wird.
  • Um den Einfluß der Schritte 92-96 zu veranschaulichen, wird angenommen, daß die ausgewählte Gruppe von Speicherzellen die Speicherzellen 50, 52 und. 54 der Fig. 3 umfaßt. Es wird ferner angenommen, daß die Speicherzelle 50 in den Zustand 0, und die Speicherzelle 52 in den Zustand 1 zu programmieren ist, sowie daß der Zielzustand der Speicherzelle 54 der Zustand 3 ist. Bei dem Schritt 92 wird die gemeinsame Source-Leitung 76 mit der VS gekoppelt. Die VS kann zwischen 0 V und 3 V schwanken. Die Wortleitung 62 wird mit dem ersten Gate-Spannungspegel gekoppelt, weil sie mit der ausgewählten Gruppe von Speicherzellen, d. h. mit den Zellen 50, 52 und 54, gekoppelt ist. Im Gegensatz hierzu wird die Wortleitung 64 mit der VS gekoppelt. Die Bitleitungen 66, 68 und 70 sind während des Schrittes 92 mit der VS gekoppelt, wodurch das Programmieren der Speicherzellen 50, 52 und 54 verhindert wird, weil VDS 0 V beträgt. Bei dem Schritt 94 bringt die Steuermaschine 36 die Bitleitungen 68 und 70 auf 5-7 V über VS und programmiert zeitgleich die Speicherzellen 52 und 54. Wenn der für den ersten Programmierimpuls gewählte Zeitraum verstrichen ist, beendet die Steuermaschine 36 bei dem Schritt 96 den Programmierimpuls dadurch, daß sie die mit dem Spannungspegel gekoppelten Bitleitungen 68 und 70 auf VS bringt.
  • Mittels der Programmierverifizierung bestimmt die Steuermaschine 36 den Erfolg der Programmieroperation bei dem Schritt 98. Falls eine Speicherzelle ihren Zielzustand erreicht hat, gilt die Zelle als geprüft. Umgekehrt gilt eine Speicherzelle, die noch nicht in ihren Zielzustand programmiert worden ist (wie es vom Drain-Stromangezeigt ist), als nicht bestätigt oder als eine versagte Verifizierung. Während der Verifizierung wird jede Speicherzelle mit einer einen Zielzustand darstellenden Referenz verglichen. Die Speicherzelle 52 wird z. B. mit einer den Zustand 1 darstellenden Referenz und die Speicherzelle 54 mit einer den Zustand 3 darstellenden Referenz verglichen. Die Speicherzelle 52 ist bestätigt, falls ihre Schwellenspannung, ihr Drain- Strom oder ihre Ladungsmenge den Zustand 1 darstellt, während die Speicherzelle 54 bestätigt ist, falls ihre Schwellenspannung, ihr Drain-Strom oder ihre Ladungsmenge den Zustand 3 darstellt. Im Ergebnis des Schrittes 98 empfängt die Steuermaschine 36 eine Gruppe von. Verifiziere-Signalen, ein Signal für jede bestätigte Speicherzelle.
  • Wenn die Verifizierung abgeschlossen ist, geht die Steuermaschine 36 vom Schritt 98 in Schritt 100 über. Beim Schritt 100 sperrt die Steuermaschine 36 das weitere Programmieren der verifizierten Speicherzellen. Die Steuermaschine 36 tut dies durch das Koppeln der Bitleitungen, die den verifizierten Speicherzellen zugeordnet sind, mit VS vor und während irgendwelcher nachfolgender Programmierimpulse. Andere Mechanismen zum Sperren des weiteren Programmierens der verifizierten Zellen werden für Array-Architekturen, die sich von der des Speicher-Arrays 22 unterscheiden, geeignet sein. Der jeweilige Mechanismus zum Sperren des weiteren Programmierens der Zellen, die ihren Zielzustand erreicht haben, beeinflußt nicht das vorliegende Programmierverfahren. Hiernach geht die Steuermaschine 36 in den Schritt 102 über.
  • Bei dem Schritt 102 bestimmt die Steuermaschine 36, ob weitere Programmierimpulse an das Speicher-Array 22 angelegt werden sollten. Diese Bestimmung basiert auf einer Prüfung der Verifizierungssignale. Falls irgendeins dieser Signale anzeigt, daß eine Speicherzelle noch nicht in ihren Zielzustand programmiert worden ist, sollte ein weiterer Programmierimpuls an das Speicher-Array 22 angelegt werden. Die Steuermaschine 36 reagiert mit dem Übergehen in den Schritt 104.
  • Bei dem Schritt 104 erhöht die Steuermaschine 36 die an den Speicherzellen-Gates angelegte Spannung um eine gegegebene Menge, die "Schrittgröße" genannt werden kann. Die Wahl der Schrittgröße hängt von der ersten Gate-Spannung, der Zustandsbreite sowie dem Erfordernis, Überprogrammierzustände zu vermeiden, ab. In dieser Beschreibung bezieht sich die "Zustandsbreite" auf den Bereich von Drain-Strömen, Schwellenspannungen oder der einen Zustand definierenden Ladungsmenge. Größere Zustandsbreiten erlauben größere Schrittgrößen und erfordern daher weniger Programmierimpulse, um die Speicherzellen in die verschiedenen Zustände zu programmieren. Zur Veranschaulichung kann Fig. 9 betrachtet werden, die in graphischer Form die Anzahl von Programmierimpulsen, die zum parallelen Programmieren einer Gruppe von Speicherzellen benötigt werden, über der Zustandsbreite zeigt. Fig. 9 zeigt, daß die Anzahl von Programmierimpulsen, die zum Programmieren einer Gruppe von Mehrpegel-Speicherzellen benötigt werden, abnimmt, wenn sich die Zustandsbreite erhöht.
  • Beim Schritt 104 erhöht die Steuermaschine 36 auf jeden Fall die Gate-Spannung um eine Schrittgröße bis auf eine Gate-Höchstspannung, Vmax. Die Gate-Höchstspannung ist so niedrig, daß die Speicherzelle nicht beschädigt wird, und variiert in Abhängigkeit von dem Prozeß, nach dem die Speicherzellen hergestellt worden sind, und der sich ergebenden Stärke des elektrischen Feldes über dem Gate-Oxid der Speicherzelle. Danach geht die Steuermaschine 36 zum Schritt 166 über.
  • Beim Schritt 106 setzt die Steuermaschine 36 die Zeitdauer des zweiten sowie aller nachfolgenden Programmierimpulse. Gegenüber der Zeitdauer des ersten Programmierimpulses reduziert die Steuermaschine 36 die Zeitdauer aller nachfolgenden Impulse, um die von der erhöhten Gesamtprogrammierzeit verursachte Änderung der Schwellenspannung und des Drain-Stroms zu reduzieren, die zu Überprogrammierzuständen führen würde. Die Erhöhung der Schwellenspannung von einem Programmierimpuls zum nächsten ist die Folge einer Erhöhung der Gate-Spannung und einer Erhöhung der Gesamtprogrammierdauer. Zu Veranschaulichungszwecken wird angenommen, daß ein erster Programmierimpuls von 1 us bei einer Gate- Spannung von 8 V an eine Speicherzelle angelegt wird, und daß ein zweiter Programmierimpuls angelegt wird, der 1 us dauert und eine Gate-Spannung von. 8,2 V hat. Gemäß Fig. 6 beträgt die Schwellenspannung 3,6 V nach dem ersten Programmierimpuls. Falls 1 us lang bei einer Gate-Spannung von 8 V weiterprogrammiert wird, würde die Vt sich um ca. 0,25 V erhöhen, und die zusätzliche 0,2 V auf das Gate würde nur die Vt um 0,2 V erhöhen. Nach dem zweiten Programmierimpuls wäre die Vt somit um insgesamt 0,45 V auf 4,05 V erhöht worden.
  • Die Beziehung zwischen der Programmierimpulsdauer aller nachfolgenden Impulse und der Dauer des ersten Impulses kann mathematisch in folgender Weise ausgedrückt werden:
  • ts = ti/M,
  • wobei ts die Zeitdauer aller Impulse nach dem ersten Impuls angibt, ti die Zeitdauer des ersten Programmierimpulses angibt, und M das Verhältnis der Dauer der nachfolgenden Programmierimpulse zu der Dauer des ersten Programmierimpulses ist.
  • Das Auswählen des Verhältnisses M ist eine Funktion der Zustandsbreite und der Schrittgröße der Gate-Spannung. Eine große Zustandsbreite erlaubt Im allgemeinen eine große Schrittgröße, was zu einem kleinen Verhältnis M führt. Entsprechend erfordert eine kleine Zustandsbreite eine kleine Schrittgröße und ein größeres Verhältnis M. Anders ausgedrückt, muß die Zeitdauer jedes nachfolgenden Impulses nicht sehr reduziert werden, um Überprogrammierzustände zu vermeiden, wenn eine große Zustandsbreite und eine große Schrittgröße verwendet werden. Falls jedoch die Zustandsbreite und die Schrittgröße der Gate-Spannung klein sind, sollte die Zeitdauer der nachfolgenden Programmierimpulse schnell reduziert werden, um Überprogrammierzustände zu vermeiden.
  • Bei einem weiteren Ausführungsbeispiel kann die Steuermaschine 36 beim Schritt 106 die Dauer jedes nachfolgenden Programmierimpulses gegenüber der Dauer des unmittelbar vorhergehenden Programmierimpulses reduzieren.
  • Wenn die Steuermaschine 36 die Programmierimpulsdauer der nachfolgenden Programmierimpulse reduziert und gesetzt hat, geht die Steuermaschine 36 in Schritt 108 über, bei dem die Steuermaschine 36 den während der Programmierung verwendeten Gate-Spannungspegel überprüft. Falls die Gate-Spannung einen Höchstwert VMAX erreicht hat, und falls nicht jede Speicherzelle in der ausgewählten Gruppe verifiziert worden ist, geht die Steuermaschine 36 zum Schritt 110 über.
  • Falls die Gate-Höchstspannung nach nicht erreicht worden ist, geht die Steuermaschine 36 vom Schritt 108 in Schritt 94 über, um einen weiteren Programmierimpuls an die ausgewählte Gruppe anzulegen.
  • Bis eine Höchstanzahl von Impulsen angelegt worden ist, wechselt die Steuermaschine 36 zwischen den Schritten 94- 110 und legt Programmierimpulse an, bis alle Speicherzellen in ihre Zielzustände programmiert worden sind. Wenn dies eintritt, geht die Steuermaschine 36 vom Schritt 102 in den Schritt 112 über, und die Programmierung ist abgeschlossen.
  • Wenn die Gate-Spannung ihren Höchstwert VMAX erreicht hat, geht die Steuermaschine 36 vom 108 zu Schritt 110 über. Der Schritt 110 erlaubt der Steuermaschine 36, mit dem Anlegen von Programmierimpulsen fortzufahren, selbst nachdem die Gate-Spannung ihren Höchstwert erreicht hat, bis eine Höchstanzahl von Impulsen angelegt worden ist. Die Höchstanzahl ist eine Design-Wahl. Wenn die Höchstanzahl von Impulsen ohne erfolgreiches Programmieren der ausgewählten Gruppe angelegt worden ist, geht die Steuermaschine 36 vom Schritt 110 in Schritt 111 über.
  • Beim Schritt 111 vermerkt die Steuermaschine 36 das Versagen der Programmieroperation. Die Steuermaschine 36 geht danach in Schritt 112 über, und die Programmieroperation ist zu Ende.
  • B. Unabhängiges-Programmieren mehrerer nicht-flüchtiger Speicherzellen unter Verwendung des Exakte-Einstellungs- Verfahrens
  • In der Form eines Ablaufdiagramms veranschaulicht Fig. 10 ein Verfahren zum unabhängigen. Einstellen der Zustände in zwei Speicherzellen. Anders ausgedrückt, veranschaulicht Fig. 10 ein Verfahren zum Programmieren mehrerer Speicherzellen in unterschiedliche, gut definierte Zustände unabhängig voneinander. Aus Gründen der Klarkeit veranschaulicht Fig. 10 das Programmieren von nur zwei Speicherzellen. Eine Erweiterung des Verfahrens auf eine größere Anzahl von Speicherzellen ist einem Fachmann klar.
  • Das Programmieren beginnt beim Schritt 130 mit dem Auswählen eines ersten Spannungspegels, der an das Gate oder die Wortleitung der ersten zu programmierenden Speicherzelle anzulegen ist. Der erste Wortleitungs-Spannungspegel wird derart ausgewählt, daß die erste Speicherzelle die gewünschte Ladungsmenge, die den Zielzustand der ersten Speicherstelle darstellt, speichert. Dieser Zustand kann in Form von einem Bereich von Schwellenspannungen Vt, von Drain-Strömen ID oder einer Ladungsmenge definiert werden, so wie es weiter oben erörtert wurde.
  • Nach dem Auswählen der ersten Wortleitungsspannung wird ein Programmierimpuls an die erste Speicherzelle angelegt. Dies ist in Fig. 10 als Schritt 132 gezeigt. Danach geht die Steuermaschine 36 zum Schritt 134 über.
  • Beim Schritt 134 paßt die Steuermaschine 36 den Wortleitungs-Spannungspegel an einen Pegel an, der die gewünschte Ladungsmenge innerhalb der nächsten oder zweiten Speicherzelle einstellen wird. Durch das Variieren des Wortleitungs- Spannungspegels während des Programmierens wird daher ein Mechanismus zum Einstellen verschiedener diskreter Ladungsmengen in Speicherzellen bereitgestellt.
  • C. Programmierverifizierung nicht-flüchtiger Speicherzellen, die mehrere exakt eingestellte Bits speichern
  • Bis zu diesem Punkt ist das Lesen der Daten, die in einer mehrere Bits speicherenden Speicherzelle gespeichert sind, sowie die Verifizierung dieser Daten allgemein beschrieben worden. Nachfolgend werden diese Prozesse ausführlicher beschrieben, weil sie von der Erhöhung der Anzahl der in einer einzigen Speicherzelle gespeicherten Datenbits beeinflußt werden.
  • In Form einer Blockdarstellung veranschaulicht Fig. 11 die Schaltung 32a, die ein Teil der Leseschaltung 32 ist. Die Schaltung 32a ließt und verifiziert die Daten, die in einer mehrere Datenbits speichernden, nicht-flüchtigen Speicherzelle gespeichert sind. Die Schaltung 32a steuert außerdem die während der Programmierung an der Speicherzelle 22b angelegte Drain-Spannung. Die Anzahl von Schaltungen 32a innerhalb der Leseschaltung 32 bestimmt die Breite der Leseschaltung 32 und die Anzahl von Speicherzellen, die zeitgleich gelesen, programmiert oder verifiziert werden können.
  • Die in einer Speicherzelle des Speicher-Arrays 22, z. B. der Speicherzelle 22b, gespeicherten Daten werden durch das Anlegen einer Verifiziere-Spannung an das Zellen-Gate, das Koppeln von ca. 1 V an die Drain-Elektrode und das Koppeln der Source an Masse gelesen, wie es allgemein üblich ist. Unter diesen Bedingungen fließt ein Strom durch die Drain- Elektrode der Speicherzelle 22b, der die Schwellenspannung der Speicherzelle 22b sowie den Zustand, in den die Speicherzelle 22b programmiert worden ist, anzeigt. Die Drain- Elektrode der Speicherzelle 22b ist mit dem Umsetzer 142 gekoppelt, um die Zustandsinformationen der Speicherzelle 22b in ein Bitmuster zu konvertieren. Die Anzahl von in Bitdaten 144 enthaltenen Bits hängt von der Anzahl von Zuständen S ab, die die Speicherzelle 22b während der Programmierbetriebsart speichern kann. Die von dem Umsetzer 142 ausgegebenen Bitdaten 144 werden mit dem restlichen Teil der Speicherzelle 20 und den Datenpins 26 gekoppelt.
  • Die von dem Umsetzer 142 ausgegebenen Bitdaten 144 werden außerdem mit dem Zellen-Verifizierer 146 gekoppelt. Der Zellen-Verifizierer 146 vergleicht die Bitdaten 144 mit den Daten, die der externe Benutzer in die Speicherzelle 22b gespeichert haben möchte. Diese Daten, die Programmier-Referenzdaten 148, werden in einem Datenpufferspeicher gespeichert, so wie es allgemein üblich ist. Der Zellen-Verifizierer 146 vergleicht die von der Speicherzelle 22b gespeicherten Daten, die durch die Bitdaten 144 dargestellt werden, mit den Programmier-Referenzdaten 148. Falls die Bitdaten 144 mit den Programmier-Referenzdaten 148 übereinstimmen, veranlaßt der Zellen-Verifizier 146 die Aktivierung des Verifiziere-Signals 150, wodurch anzeigt wird, daß die Speicherzelle 22b erfolgreich in den gewünschten Zustand programmiert worden ist. Falls die Bitdaten 144 nicht dieselben wie die Programmier-Referenzdaten 148 sind, veranlaßt der Zellen-Verifizierer 146 umgekehrt die Deaktivierung des Verifiziere-Signals 150, wodurch der Steuermaschine 36 angezeigt wird, daß die Speicherzelle 22b nicht in den gewünschten Zustand programmiert worden ist.
  • Somit wurden Verfahren und Schaltungen zum Programmieren nicht-flüchtiger Speicherzellen beschrieben, die diskrete Ladungsmengen in einer einzigen nicht-flüchtigen Speicherzelle einstellen. Die Steuerung des Spannungspegels der Wortleitung während der Programmierung steuert die auf die Speicherzelle gebrachte Ladungsmenge. Aus diesem Grund können mehrere Zustände in Form von Ladungsmengen definiert werden, wobei jeder Zustand ein Datenbitmuster darstellt.
  • Das beschriebene Verfahren und die beschriebene Schaltung erlauben somit das Speichern mehrerer Datenbits in einer einzigen Speicherzelle.
  • In der oben stehenden Beschreibung wurde die Erfindung unter Hinweis auf spezielle beispielhafte Ausführungsformen beschrieben. Es ist jedoch klar, daß verschiedene Modifikationen und Änderungen durchgeführt werden können, ohne daß vom Umfang der Erfindung, so wie sie in den angefügten Ansprüchen bekanntgegeben ist, abgewichen wird. Die Beschreibung und die Zeichnungen sind demgemäß in einem veranschaulichenden, und nicht einem beschränkenden Sinne zu verstehen.

Claims (17)

1. Ein Verfahren zum Programmieren einer Speicherzelle in einem Speicherarray auf einen ausgewählten Zustand, der ein Muster von Datenbits darstellt, wobei das Verfahren die Schritte umfaßt:
a) Anlegen (94, 96; 98, 100) eines Programmierimpulses an die Speicherzelle, wobei der Programmierimpuls einen Programmierspannungspegel und eine Impulsdauer aufweist, die ausreichen, um zu bewirken, daß eine Programmierung der Speicherzelle in einem gesättigten Bereich auftritt, wobei in dem gesättigten Bereich sich eine Schwellenspannung der Speicherzelle näherungsweise logarithmisch mit Erhöhungen der Dauer des Programmierimpulses erhöht;
b) Bestimmen (102), ob die Speicherzelle in den ausgewählten Zustand programmiert worden ist;
c) Erhöhen (104) des Programmierspannungspegels, sofern die Speicherzelle nicht in den ausgewählten Zustand programmiert worden ist; und
d) Wiederholen der Schritte a) bis c), bis die Speicherzelle in den ausgewählten Zustand programmiert worden ist.
2. Das Verfahren nach Anspruch 1, wobei der Programmierimpuls eine Programmierimpulsdauer aufweist, die im Schritt a) einen Anfangswert hat, und wobei der Schritt c) ferner das Einstellen (106) der Programmierimpulsdauer auf einen zweiten Wert umfaßt, der geringer als der Anfangswert ist.
3. Das Verfahren nach Anspruch 2, wobei die Speicherzelle eine Bitleitung enthält und der Programmierimpuls umfaßt, daß eine Bitleitungsspannung mit der Bitleitung gekoppelt wird.
4. Das Verfahren nach Anspruch 3, ferner umfassend den Schritt des:
e) Trimmens der Bitleitungsspannung derart, daß die Anfangsdauer des Programmierimpulses im Schritt a) bewirkt, daß die Speicherzelle in dem gesättigten Bereich programmiert wird.
5. Das Verfahren nach Ansprüch 1, wobei der ausgewählte Zustand ein Muster von zwei Bits darstellt.
6. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand ein Muster von drei Bits darstellt.
7. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand ein Muster von 3, 5 Bits darstellt.
8. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand ein Muster von vier Bits darstellt.
9. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand eine nicht-ganzzahlige Anzahl von Bits darstellt.
10. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand durch einen Bereich von Schwellenwertspannungen darstellt wird.
11. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand durch einen Bereich von Drain-Strömen dargestellt wird.
12. Das Verfahren nach Anspruch 1, wobei der ausgewählte Zustand durch eine Ladungsmenge dargestellt wird.
13. Das Verfahren nach Anspruch 1, wobei die Speicherzelle eine Flash-Speicherzelle ist.
14. Ein Speicherbauelement, aufweisend:
ein eine Speicherzelle enthaltendes Speicherarray, wobei die Speicherzelle eine diskrete Ladungsmenge innerhalb eines Ladungsbereichs speichert, die einen Zustand darstellt, wobei der Zustand ein Muster einer Mehrzahl von Bits darstellt; und
eine Programmierschaltung zum Programmieren der diskreten Ladungsmenge in die Speicherzelle durch Anlegen eines Programmierimpulses an die Speicherzelle, wobei der Programmierimpuls eine Programmierspannung und eine Dauer aufweist, die ausreichen, um zu bewirken, daß eine Programmierung der Speicherzelle in einem gesättigten Bereich auftritt, wobei in dem gesättigten Bereich sich eine Schwellenspannung der Speicherzelle näherungsweise logarithmisch mit Erhöhungen der Dauer des Programmierimpulses erhöht.
15. Das Speicherbauelement nach Anspruch 14, ferner aufweisend einen Analog-Digital-Umsetzer, der mit der Speicherzelle gekoppelt ist, wobei der Umsetzer den Zustand in das Bitmuster konvertiert.
16. Das Speicherbauelement nach Anspruch 15, ferner aufweisend eine Überprüfungsschaltung, die mit dem Analog- Digital-Umsetzer gekoppelt ist, wobei die Überprüfungsschaltung so angekoppelt ist, daß sie das Bitmuster mit Programmierreferenzdaten vergleicht und ein Überprüfungssignal anlegt, sofern das Bitmuster mit den Programmierreferenzdaten übereinstimmt.
17. Das Speicherbauelement nach Anspruch 14, wobei das Speicherbauelement mit einem Computerprozessor gekoppelt ist.
DE69521882T 1994-01-21 1995-01-06 Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement Expired - Lifetime DE69521882T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/185,187 US5440505A (en) 1994-01-21 1994-01-21 Method and circuitry for storing discrete amounts of charge in a single memory element
PCT/US1995/000152 WO1995020225A1 (en) 1994-01-21 1995-01-06 Method and circuitry for storing discrete amounts of charge in a single memory element

Publications (2)

Publication Number Publication Date
DE69521882D1 DE69521882D1 (de) 2001-08-30
DE69521882T2 true DE69521882T2 (de) 2002-06-20

Family

ID=22679966

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69521882T Expired - Lifetime DE69521882T2 (de) 1994-01-21 1995-01-06 Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement

Country Status (7)

Country Link
US (4) US5440505A (de)
EP (1) EP0740837B1 (de)
JP (1) JPH09508486A (de)
AU (1) AU1523195A (de)
DE (1) DE69521882T2 (de)
SG (1) SG49001A1 (de)
WO (1) WO1995020225A1 (de)

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218569A (en) 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US6002614A (en) 1991-02-08 1999-12-14 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
US7057937B1 (en) 1992-03-17 2006-06-06 Renesas Technology Corp. Data processing apparatus having a flash memory built-in which is rewritable by use of external device
TW231343B (de) 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US6414878B2 (en) 1992-03-17 2002-07-02 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
RU2190260C2 (ru) * 1994-06-02 2002-09-27 Интел Корпорейшн Считывающая схема для флэш-памяти с многоуровневыми ячейками
US5822256A (en) * 1994-09-06 1998-10-13 Intel Corporation Method and circuitry for usage of partially functional nonvolatile memory
US5808937A (en) * 1994-12-16 1998-09-15 National Semiconductor Corporation Self-convergent method for programming FLASH and EEPROM memory cells that moves the threshold voltage from an erased threshold voltage range to one of a plurality of programmed threshold voltage ranges
US5889698A (en) 1995-01-31 1999-03-30 Hitachi, Ltd. Nonvolatile memory device and refreshing method
US5511021A (en) * 1995-02-22 1996-04-23 National Semiconductor Corporation Method for programming a single EPROM or flash memory cell to store multiple levels of data that utilizes a forward-biased source-to-substrate junction
US6353554B1 (en) 1995-02-27 2002-03-05 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US5587949A (en) * 1995-04-27 1996-12-24 National Semiconductor Corporation Method for programming an ETOX EPROM or flash memory when cells of the array are formed to store multiple bits of data
US5973956A (en) * 1995-07-31 1999-10-26 Information Storage Devices, Inc. Non-volatile electrically alterable semiconductor memory for analog and digital storage
JPH0969295A (ja) * 1995-08-31 1997-03-11 Sanyo Electric Co Ltd 不揮発性多値メモリ装置
US6166979A (en) 1995-09-13 2000-12-26 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and method for using the same
TW389909B (en) 1995-09-13 2000-05-11 Toshiba Corp Nonvolatile semiconductor memory device and its usage
US5815434A (en) * 1995-09-29 1998-09-29 Intel Corporation Multiple writes per a single erase for a nonvolatile memory
US5687114A (en) 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
KR100253868B1 (ko) * 1995-11-13 2000-05-01 니시무로 타이죠 불휘발성 반도체기억장치
KR0172401B1 (ko) * 1995-12-07 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 장치
KR0185611B1 (ko) * 1995-12-11 1999-04-15 김광호 불휘발성 반도체 메모리장치의 고전압 레벨 최적화 회로 및 그 방법
US5677869A (en) * 1995-12-14 1997-10-14 Intel Corporation Programming flash memory using strict ordering of states
US5701266A (en) * 1995-12-14 1997-12-23 Intel Corporation Programming flash memory using distributed learning methods
US5737265A (en) * 1995-12-14 1998-04-07 Intel Corporation Programming flash memory using data stream analysis
US5729489A (en) * 1995-12-14 1998-03-17 Intel Corporation Programming flash memory using predictive learning methods
JP3200012B2 (ja) * 1996-04-19 2001-08-20 株式会社東芝 記憶システム
US5870407A (en) * 1996-05-24 1999-02-09 Advanced Micro Devices, Inc. Method of screening memory cells at room temperature that would be rejected during hot temperature programming tests
US6320785B1 (en) * 1996-07-10 2001-11-20 Hitachi, Ltd. Nonvolatile semiconductor memory device and data writing method therefor
JP3062730B2 (ja) 1996-07-10 2000-07-12 株式会社日立製作所 不揮発性半導体記憶装置および書込み方法
US5862074A (en) * 1996-10-04 1999-01-19 Samsung Electronics Co., Ltd. Integrated circuit memory devices having reconfigurable nonvolatile multi-bit memory cells therein and methods of operating same
US5907855A (en) * 1996-10-15 1999-05-25 Micron Technology, Inc. Apparatus and method for reducing programming cycles for multistate memory system
US6728825B1 (en) 1996-10-15 2004-04-27 Micron Technology, Inc. Apparatus and method for reducing programming cycles for multistate memory system
US5771346A (en) 1996-10-24 1998-06-23 Micron Quantum Devices, Inc. Apparatus and method for detecting over-programming condition in multistate memory device
US5764568A (en) 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
US5835413A (en) * 1996-12-20 1998-11-10 Intel Corporation Method for improved data retention in a nonvolatile writeable memory by sensing and reprogramming cell voltage levels
US6005895A (en) 1996-12-20 1999-12-21 Rambus Inc. Apparatus and method for multilevel signaling
WO1998028745A1 (en) * 1996-12-20 1998-07-02 Intel Corporation Nonvolatile writeable memory with fast programming capability
JP3409986B2 (ja) * 1997-01-31 2003-05-26 株式会社東芝 多値メモリ
US6487116B2 (en) 1997-03-06 2002-11-26 Silicon Storage Technology, Inc. Precision programming of nonvolatile memory cells
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
US5801991A (en) * 1997-03-31 1998-09-01 Intel Corporation Deselected word line that floats during MLC programming of a flash memory
US5798966A (en) * 1997-03-31 1998-08-25 Intel Corporation Flash memory VDS compensation techiques to reduce programming variability
JP3481817B2 (ja) * 1997-04-07 2003-12-22 株式会社東芝 半導体記憶装置
GB2325546B (en) * 1997-05-21 2001-10-17 Motorola Inc Electrically programmable memory and method of programming
IL125604A (en) * 1997-07-30 2004-03-28 Saifun Semiconductors Ltd Non-volatile electrically erasable and programmble semiconductor memory cell utilizing asymmetrical charge
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
US5903487A (en) * 1997-11-25 1999-05-11 Windbond Electronics Corporation Memory device and method of operation
KR100266745B1 (ko) * 1997-12-29 2000-09-15 윤종용 멀티-비트 데이터를 저장하기 위한 반도체 메모리 장치
US5991201A (en) * 1998-04-27 1999-11-23 Motorola Inc. Non-volatile memory with over-program protection and method therefor
JP3905990B2 (ja) 1998-12-25 2007-04-18 株式会社東芝 記憶装置とその記憶方法
US6567302B2 (en) 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US7082056B2 (en) * 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
US6327183B1 (en) 2000-01-10 2001-12-04 Advanced Micro Devices, Inc. Nonlinear stepped programming voltage
EP1280535B1 (de) * 2000-01-11 2005-02-09 Teva Pharmaceutical Industries Ltd. Verfahren zur herstellung von polymorphen des clarithromycins
US6226213B1 (en) * 2000-01-31 2001-05-01 Taiwan Semiconductor Manufacturing Co., Ltd. Reference cell array to generate the reference current for sense amplifier
US6269025B1 (en) 2000-02-09 2001-07-31 Advanced Micro Devices, Inc. Memory system having a program and erase voltage modifier
US6246610B1 (en) 2000-02-22 2001-06-12 Advanced Micro Devices, Inc. Symmetrical program and erase scheme to improve erase time degradation in NAND devices
US6343033B1 (en) * 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming
US6304487B1 (en) 2000-02-28 2001-10-16 Advanced Micro Devices, Inc. Register driven means to control programming voltages
US6295228B1 (en) * 2000-02-28 2001-09-25 Advanced Micro Devices, Inc. System for programming memory cells
US6246611B1 (en) 2000-02-28 2001-06-12 Advanced Micro Devices, Inc. System for erasing a memory cell
US6707713B1 (en) * 2000-03-01 2004-03-16 Advanced Micro Devices, Inc. Interlaced multi-level memory
US6396741B1 (en) 2000-05-04 2002-05-28 Saifun Semiconductors Ltd. Programming of nonvolatile memory cells
US6928001B2 (en) 2000-12-07 2005-08-09 Saifun Semiconductors Ltd. Programming and erasing methods for a non-volatile memory cell
US6396742B1 (en) 2000-07-28 2002-05-28 Silicon Storage Technology, Inc. Testing of multilevel semiconductor memory
US6233175B1 (en) * 2000-10-21 2001-05-15 Advanced Micro Devices, Inc. Self-limiting multi-level programming states
US6901007B2 (en) * 2001-01-11 2005-05-31 Micron Technology, Inc. Memory device with multi-level storage cells and apparatuses, systems and methods including same
US6587372B2 (en) 2001-01-11 2003-07-01 Micron Technology, Inc. Memory device with multi-level storage cells and apparatuses, systems and methods including same
US6614692B2 (en) 2001-01-18 2003-09-02 Saifun Semiconductors Ltd. EEPROM array and method for operation thereof
US6466480B2 (en) * 2001-03-27 2002-10-15 Micron Technology, Inc. Method and apparatus for trimming non-volatile memory cells
US6477091B2 (en) 2001-03-30 2002-11-05 Intel Corporation Method, apparatus, and system to enhance negative voltage switching
US6584017B2 (en) * 2001-04-05 2003-06-24 Saifun Semiconductors Ltd. Method for programming a reference cell
US6504760B1 (en) 2001-06-22 2003-01-07 Intel Corporation Charging a capacitance of a memory cell and charger
US7076627B2 (en) 2001-06-29 2006-07-11 Intel Corporation Memory control for multiple read requests
US6920534B2 (en) 2001-06-29 2005-07-19 Intel Corporation Virtual-port memory and virtual-porting
US6522584B1 (en) * 2001-08-02 2003-02-18 Micron Technology, Inc. Programming methods for multi-level flash EEPROMs
US6643181B2 (en) 2001-10-24 2003-11-04 Saifun Semiconductors Ltd. Method for erasing a memory cell
US6925007B2 (en) * 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6897522B2 (en) * 2001-10-31 2005-05-24 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US7190620B2 (en) * 2002-01-31 2007-03-13 Saifun Semiconductors Ltd. Method for operating a memory device
US6975536B2 (en) * 2002-01-31 2005-12-13 Saifun Semiconductors Ltd. Mass storage array and methods for operation thereof
US6700818B2 (en) * 2002-01-31 2004-03-02 Saifun Semiconductors Ltd. Method for operating a memory device
FR2836751A1 (fr) * 2002-02-11 2003-09-05 St Microelectronics Sa Cellule memoire a programmation unique non destructrice
US7038248B2 (en) * 2002-02-15 2006-05-02 Sandisk Corporation Diverse band gap energy level semiconductor device
US7030149B2 (en) * 2002-04-19 2006-04-18 Allergan, Inc. Combination of brimonidine timolol for topical ophthalmic use
WO2004001802A2 (en) * 2002-06-21 2003-12-31 Micron Technology, Inc. Nrom memory cell, memory array, related devices and methods
US20030235076A1 (en) * 2002-06-21 2003-12-25 Micron Technology, Inc. Multistate NROM having a storage density much greater than 1 Bit per 1F2
US6917544B2 (en) * 2002-07-10 2005-07-12 Saifun Semiconductors Ltd. Multiple use memory chip
US6826107B2 (en) 2002-08-01 2004-11-30 Saifun Semiconductors Ltd. High voltage insertion in flash memory cards
US7136304B2 (en) 2002-10-29 2006-11-14 Saifun Semiconductor Ltd Method, system and circuit for programming a non-volatile memory array
JP4187148B2 (ja) * 2002-12-03 2008-11-26 シャープ株式会社 半導体記憶装置のデータ書き込み制御方法
US6967896B2 (en) * 2003-01-30 2005-11-22 Saifun Semiconductors Ltd Address scramble
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
US7142464B2 (en) * 2003-04-29 2006-11-28 Saifun Semiconductors Ltd. Apparatus and methods for multi-level sensing in a memory array
JP2004342277A (ja) * 2003-05-19 2004-12-02 Sharp Corp 半導体記憶装置、その駆動方法及び携帯電子機器
JP2004342275A (ja) * 2003-05-19 2004-12-02 Sharp Corp 不揮発性メモリ素子のプログラム方法および半導体記憶装置と、それを備えた携帯電子機器
US7050330B2 (en) * 2003-12-16 2006-05-23 Micron Technology, Inc. Multi-state NROM device
US7301804B2 (en) * 2003-12-16 2007-11-27 Micro Technology, Inc. NROM memory cell, memory array, related devices and methods
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
US7652930B2 (en) 2004-04-01 2010-01-26 Saifun Semiconductors Ltd. Method, circuit and system for erasing one or more non-volatile memory cells
JP2005339589A (ja) * 2004-05-24 2005-12-08 Matsushita Electric Ind Co Ltd 不揮発性メモリーの電気抵抗値設定方法
US7366025B2 (en) * 2004-06-10 2008-04-29 Saifun Semiconductors Ltd. Reduced power programming of non-volatile cells
US7638850B2 (en) 2004-10-14 2009-12-29 Saifun Semiconductors Ltd. Non-volatile memory structure and method of fabrication
US7535765B2 (en) 2004-12-09 2009-05-19 Saifun Semiconductors Ltd. Non-volatile memory device and method for reading cells
ITMI20042538A1 (it) * 2004-12-29 2005-03-29 Atmel Corp Metodo e sistema per la riduzione del soft-writing in una memoria flash a livelli multipli
EP1686592A3 (de) * 2005-01-19 2007-04-25 Saifun Semiconductors Ltd. Teil-Löschüberprüfung
US8053812B2 (en) * 2005-03-17 2011-11-08 Spansion Israel Ltd Contact in planar NROM technology
US7269066B2 (en) * 2005-05-11 2007-09-11 Micron Technology, Inc. Programming memory devices
US8400841B2 (en) 2005-06-15 2013-03-19 Spansion Israel Ltd. Device to program adjacent storage cells of different NROM cells
US7184313B2 (en) 2005-06-17 2007-02-27 Saifun Semiconductors Ltd. Method circuit and system for compensating for temperature induced margin loss in non-volatile memory cells
US7656710B1 (en) 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
EP1746645A3 (de) 2005-07-18 2009-01-21 Saifun Semiconductors Ltd. Speicherzellenanordnung mit sub-minimalem Wortleitungsabstand und Verfahren zu deren Herstellung
US20070036007A1 (en) * 2005-08-09 2007-02-15 Saifun Semiconductors, Ltd. Sticky bit buffer
US7668017B2 (en) 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
US7307878B1 (en) * 2005-08-29 2007-12-11 Spansion Llc Flash memory device having improved program rate
KR100705220B1 (ko) * 2005-09-15 2007-04-06 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
US8358543B1 (en) 2005-09-20 2013-01-22 Spansion Llc Flash memory programming with data dependent control of source lines
US7957204B1 (en) 2005-09-20 2011-06-07 Spansion Llc Flash memory programming power reduction
US7433228B2 (en) * 2005-09-20 2008-10-07 Spansion Llc Multi-bit flash memory device having improved program rate
US7221138B2 (en) * 2005-09-27 2007-05-22 Saifun Semiconductors Ltd Method and apparatus for measuring charge pump output current
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
JP2007149241A (ja) * 2005-11-29 2007-06-14 Matsushita Electric Ind Co Ltd 不揮発性半導体記憶装置
JP4739940B2 (ja) * 2005-12-21 2011-08-03 ソリッド ステート ストレージ ソリューションズ エルエルシー 不揮発性メモリ
US7808818B2 (en) 2006-01-12 2010-10-05 Saifun Semiconductors Ltd. Secondary injection for NROM
US7342830B1 (en) 2006-01-17 2008-03-11 Spansion Llc Program and program verify operations for flash memory
US8253452B2 (en) 2006-02-21 2012-08-28 Spansion Israel Ltd Circuit and method for powering up an integrated circuit and an integrated circuit utilizing same
US7760554B2 (en) 2006-02-21 2010-07-20 Saifun Semiconductors Ltd. NROM non-volatile memory and mode of operation
US7692961B2 (en) 2006-02-21 2010-04-06 Saifun Semiconductors Ltd. Method, circuit and device for disturb-control of programming nonvolatile memory cells by hot-hole injection (HHI) and by channel hot-electron (CHE) injection
US7638835B2 (en) * 2006-02-28 2009-12-29 Saifun Semiconductors Ltd. Double density NROM with nitride strips (DDNS)
US20070255889A1 (en) * 2006-03-22 2007-11-01 Yoav Yogev Non-volatile memory device and method of operating the device
US7701779B2 (en) 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
US7663925B2 (en) * 2006-05-15 2010-02-16 Micron Technology Inc. Method and apparatus for programming flash memory
US7596028B2 (en) * 2006-12-28 2009-09-29 Macronix International Co., Ltd. Variable program and program verification methods for a virtual ground memory in easing buried drain contacts
US20080239599A1 (en) * 2007-04-01 2008-10-02 Yehuda Yizraeli Clamping Voltage Events Such As ESD
US7966547B2 (en) * 2007-07-02 2011-06-21 International Business Machines Corporation Multi-bit error correction scheme in multi-level memory storage system
US7590001B2 (en) 2007-12-18 2009-09-15 Saifun Semiconductors Ltd. Flash memory with optimized write sector spares
JP5172555B2 (ja) 2008-09-08 2013-03-27 株式会社東芝 半導体記憶装置
US8681562B2 (en) 2011-01-10 2014-03-25 Micron Technology, Inc. Memories and methods of programming memories
US8860594B2 (en) 2012-05-17 2014-10-14 Brilliant Points, Inc. System and method for digital signaling
US10318158B2 (en) 2012-05-17 2019-06-11 Brilliant Points, Inc. System and method for digital signaling and digital storage
JP2014053060A (ja) 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
JP2014063551A (ja) 2012-09-21 2014-04-10 Toshiba Corp 半導体記憶装置
JP2019040655A (ja) * 2017-08-28 2019-03-14 東芝メモリ株式会社 メモリシステム
CN110910922B (zh) * 2018-09-18 2021-09-24 北京兆易创新科技股份有限公司 位线电压的施加方法、装置、存储设备和存储介质

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2733424A (en) * 1956-01-31 Source of
US2998594A (en) * 1959-03-25 1961-08-29 Ibm Magnetic memory system for ternary information
US3142824A (en) * 1963-10-16 1964-07-28 Control Data Corp Analog storage circuit
US3505655A (en) * 1968-06-21 1970-04-07 Ibm Digital storage system operating in the magnitude-time domain
FR2246022B1 (de) * 1973-09-28 1979-06-01 Siemens Ag
US4181980A (en) * 1978-05-15 1980-01-01 Electronic Arrays, Inc. Acquisition and storage of analog signals
US4202044A (en) * 1978-06-13 1980-05-06 International Business Machines Corporation Quaternary FET read only memory
US4287570A (en) * 1979-06-01 1981-09-01 Intel Corporation Multiple bit read-only memory cell and its sense amplifier
IT1224062B (it) * 1979-09-28 1990-09-26 Ates Componenti Elettron Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile
JPS5660247A (en) * 1979-10-22 1981-05-25 Hiraoka Shokusen Soft sheet
US4415992A (en) * 1981-02-25 1983-11-15 Motorola, Inc. Memory system having memory cells capable of storing more than two states
JPS57176598A (en) * 1981-04-20 1982-10-29 Sanyo Electric Co Ltd Write-in circuit for non-volatile analog memory
US4388702A (en) * 1981-08-21 1983-06-14 Mostek Corporation Multi-bit read only memory circuit
US4460982A (en) * 1982-05-20 1984-07-17 Intel Corporation Intelligent electrically programmable and electrically erasable ROM
JPS5949022A (ja) * 1982-09-13 1984-03-21 Toshiba Corp 多値論理回路
JPS6013398A (ja) * 1983-07-04 1985-01-23 Hitachi Ltd 半導体多値記憶装置
EP0136119B1 (de) * 1983-09-16 1988-06-29 Fujitsu Limited Festwertspeicherschaltung mit Multi-Bitzellen
US4701884A (en) * 1985-08-16 1987-10-20 Hitachi, Ltd. Semiconductor memory for serial data access
US5012448A (en) * 1985-12-13 1991-04-30 Ricoh Company, Ltd. Sense amplifier for a ROM having a multilevel memory cell
US4943948A (en) * 1986-06-05 1990-07-24 Motorola, Inc. Program check for a non-volatile memory
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US4875188A (en) * 1988-01-12 1989-10-17 Intel Corporation Voltage margining circuit for flash eprom
US5222046A (en) * 1988-02-17 1993-06-22 Intel Corporation Processor controlled command port architecture for flash memory
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5293560A (en) * 1988-06-08 1994-03-08 Eliyahou Harari Multi-state flash EEPROM system using incremental programing and erasing methods
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US4890259A (en) * 1988-07-13 1989-12-26 Information Storage Devices High density integrated circuit analog signal recording and playback system
US4989179A (en) * 1988-07-13 1991-01-29 Information Storage Devices, Inc. High density integrated circuit analog signal recording and playback system
JPH07105146B2 (ja) * 1988-07-29 1995-11-13 三菱電機株式会社 不揮発性記憶装置
EP0617363B1 (de) * 1989-04-13 2000-01-26 SanDisk Corporation Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5163021A (en) * 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
FR2650109B1 (fr) * 1989-07-20 1993-04-02 Gemplus Card Int Circuit integre mos a tension de seuil ajustable
US5200920A (en) * 1990-02-08 1993-04-06 Altera Corporation Method for programming programmable elements in programmable devices
US5126967A (en) * 1990-09-26 1992-06-30 Information Storage Devices, Inc. Writable distributed non-volatile analog reference system and method for analog signal recording and playback
JPH04154212A (ja) * 1990-10-17 1992-05-27 Mitsubishi Electric Corp 半導体記憶装置の出力回路
JP2573416B2 (ja) * 1990-11-28 1997-01-22 株式会社東芝 半導体記憶装置
US5220531A (en) * 1991-01-02 1993-06-15 Information Storage Devices, Inc. Source follower storage cell and improved method and apparatus for iterative write for integrated circuit analog signal recording and playback
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
JP3408552B2 (ja) * 1991-02-11 2003-05-19 インテル・コーポレーション 不揮発性半導体メモリをプログラム及び消去する回路とその方法
FR2672709B1 (fr) * 1991-02-11 1994-09-30 Intel Corp Machine d'etat d'ordre.
JP3114237B2 (ja) * 1991-04-30 2000-12-04 日本電気株式会社 半導体記憶装置
KR950008443B1 (ko) * 1991-06-28 1995-07-31 샤프 가부시끼가이샤 2-가/n-가 변환유니트를 포함하는 기억장치
JPH0574181A (ja) * 1991-09-10 1993-03-26 Nec Corp 半導体メモリ装置のデータ読み出し回路
US5237535A (en) * 1991-10-09 1993-08-17 Intel Corporation Method of repairing overerased cells in a flash memory
US5388064A (en) * 1991-11-26 1995-02-07 Information Storage Devices, Inc. Programmable non-volatile analog voltage source devices and methods
US5289412A (en) * 1992-06-19 1994-02-22 Intel Corporation High-speed bias-stabilized current-mirror referencing circuit for non-volatile memories
US5283761A (en) * 1992-07-22 1994-02-01 Mosaid Technologies Incorporated Method of multi-level storage in DRAM
US5537350A (en) * 1993-09-10 1996-07-16 Intel Corporation Method and apparatus for sequential programming of the bits in a word of a flash EEPROM memory array
US5515317A (en) * 1994-06-02 1996-05-07 Intel Corporation Addressing modes for a dynamic single bit per cell to multiple bit per cell memory
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
US5487033A (en) * 1994-06-28 1996-01-23 Intel Corporation Structure and method for low current programming of flash EEPROMS
US5477485A (en) * 1995-02-22 1995-12-19 National Semiconductor Corporation Method for programming a single EPROM or FLASH memory cell to store multiple levels of data that utilizes a floating substrate
US5596526A (en) * 1995-08-15 1997-01-21 Lexar Microsystems, Inc. Non-volatile memory system of multi-level transistor cells and methods using same
KR0172831B1 (ko) * 1995-09-18 1999-03-30 문정환 비휘발성 메모리를 프로그램하는 방법

Also Published As

Publication number Publication date
US5440505A (en) 1995-08-08
SG49001A1 (en) 1998-05-18
US5892710A (en) 1999-04-06
US5566125A (en) 1996-10-15
US6091618A (en) 2000-07-18
WO1995020225A1 (en) 1995-07-27
EP0740837B1 (de) 2001-07-25
AU1523195A (en) 1995-08-08
DE69521882D1 (de) 2001-08-30
JPH09508486A (ja) 1997-08-26
EP0740837A1 (de) 1996-11-06

Similar Documents

Publication Publication Date Title
DE69521882T2 (de) Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement
DE60214023T2 (de) Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus
DE602005003924T2 (de) Programmierung nicht-flüchtiger speicher
DE4422810C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE69706873T2 (de) Löschverfahren für mehrere-bits-pro-zelle flash -eeprom mit seitenmodus
DE60001587T2 (de) Schaltungsausführung zur reduzierung des bitleitungslekcstroms bei programmierungs-und überlöschungskorrekturmodus in einem flash-eeprom
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE60115716T2 (de) Weichprogrammierung und weichprogrammierverifikation von flash-speicherzellen
DE60121865T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE69533429T2 (de) Automatischer progammier-algorithmus für flash-speicher im seitenmodus mit variabler programmierimpulshöhe und -breite
DE69030959T2 (de) EEPROM mit Referenzzelle
DE60301839T2 (de) Nichtflüchtiger Halbleiterspeicher und Verfahren zu dessen Betrieb
DE19882265B4 (de) Flash-Speicher-VDS-Kompensationstechniken zum Verringern von Programmierschwankungen
DE69616693T2 (de) Nichtflüchtiger Speicher und Verfahren zu seiner Programmierung
DE69603742T2 (de) Überlöschungskorrektur für flash-speicher mit überlöschungsbegrenzung und vermeidung von löschprüffehlern
DE69636063T2 (de) Verfahren zum Programmieren eines nichtflüchtigen Speichers
DE102005030661B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE19724221B4 (de) Nichtflüchtiger Speicher
DE69511661T2 (de) Referenzschaltung
DE68918880T2 (de) Elektrisch löschbare nichtflüchtige Halbleiterspeichervorrichtung.
DE602004013347T2 (de) Verfahren zum identifizieren nichtflüchtiger speicherelmente mit schlechter subschwellensteigung oder schwacher transkonduktanz
DE69614787T2 (de) Speichermatrix mit mehrzustandsspeicherzellen
DE69705837T2 (de) Anordnung und verfahren zum speichern und lesen von mehrpegelladung
DE102005057553A1 (de) Nicht volatiles Speicherbauelement und Verfahren zur Verhinderung eines Heisse-Elektronen-Programmier-Störungsphänomens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition