DE69719968T2 - Stabilisierkreise für mehrere digitale bits - Google Patents

Stabilisierkreise für mehrere digitale bits Download PDF

Info

Publication number
DE69719968T2
DE69719968T2 DE69719968T DE69719968T DE69719968T2 DE 69719968 T2 DE69719968 T2 DE 69719968T2 DE 69719968 T DE69719968 T DE 69719968T DE 69719968 T DE69719968 T DE 69719968T DE 69719968 T2 DE69719968 T2 DE 69719968T2
Authority
DE
Germany
Prior art keywords
programming
cell
values
block
charge
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 - Fee Related
Application number
DE69719968T
Other languages
English (en)
Other versions
DE69719968D1 (de
Inventor
J. George KORSH
M. Sakhawat KHAN
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.)
Agate Semiconductor Inc
Original Assignee
Agate Semiconductor 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
Application filed by Agate Semiconductor Inc filed Critical Agate Semiconductor Inc
Application granted granted Critical
Publication of DE69719968D1 publication Critical patent/DE69719968D1/de
Publication of DE69719968T2 publication Critical patent/DE69719968T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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/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
    • G11C11/5635Erasing 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory 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
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Plural Heterocyclic Compounds (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen Halbleiterspeicher und im Besonderen die Stabilisierung von Halbleiterspeichern, die einer Drift unterliegen. Solche Speicher können ein oder mehrere digitale Bits pro Speicherzelle speichern.
  • Hintergrund der Erfindung
  • Integrierte Halbleiterspeicherschaltungen, wie EEPROM, EPROM, FLASH und DRAM, wurden traditionell zur Speicherung eines einzelnen digitalen Bits pro Speicherzelle verwendet, was im Folgenden als Einzelbitspeicherung bezeichnet wird. Speicher, die in der Lage sind, mehr als 1 Bit digitaler Daten pro Speicherzelle zu speichern sowie deren Vorteile wurden kürzlich beschrieben. Solche Speicher mit mehreren Bits pro Zelle werden als Mehrebenenspeicher bezeichnet, weil sie mehr als die konventionellen zwei (leitend versus nichtleitend) Schwellwertspannungen, VT, aufweisen, welche für Einzelbitspeichermethoden verwendet werden.
  • Jedes Niveau in einer Mehrebenenspeicherzelle repräsentiert eine spezifische elektrische Ladungsmenge in jeder Speicherzelle und im Falle nicht flüchtiger Speicher, d. h. EEPROM, EPROM und FLASH-Speicher, wird eine spezifische Spanne von VT-Werten einer Zelle repräsentiert. Für das Speichern von N Bits pro Speicherzelle werden eine VT-Spanne der Zelle sowie eine gespeicherte Ladungsmenge vorausgesetzt, welche in 2N Niveaus unterteilt werden kann. Jedes Niveau entspricht einem spezifischen binären Datenmuster für jedes der N Bits. Die Zelle wird zur Speicherung von Ladungen solchermaßen gelöscht oder programmiert, dass der VT-Wert der Zelle auf eines dieser 2N Niveaus gesetzt wird. Abtastschaltkreise bestimmen, welches Niveau der VT-Wert der Zelle einnimmt und lesen das dazu entsprechende binäre Datenmuster aus, welches für die N Bits gespeichert wurde. Digitale Information kann folglich mit signifikant geringeren Kosten pro Bit abgespeichert werden, da N mal die Anzahl von Bits in der gleichen Speicherzellenmatrix gespeichert werden kann, welche zuvor nur ein einzelnes Bit pro Zelle gespeichert hat.
  • In der nachfolgenden Beschreibung für nicht flüchtige Speicher bezieht sich ein „Niveau", d. h. auf eine Spanne von VT-Werten, und nicht auf einen einzelnen Spannungswert. Ferner wird der Ausdruck des VT-Werts einer Zelle nicht im Sinne der Definition aus der Festkörperphysik verwendet, sondern der Ausdruck bezieht sich darauf, wie die Abtastschaltung den Leitfähigkeitszustand der Speicherzelle bestimmt. Die Leitfähigkeit ist mit dem VT-Wert einer Zelle verknüpft. Entsprechend bezieht sich ein DRAM-Niveau auf eine Spanne für den gespeicherten Ladungswert und nicht auf einen einzelnen Ladungswert.
  • Die Vorgehensweise zur Bestimmung von individuellen Niveaus besteht darin, die Leitfähigkeit (oder die gespeicherte Ladung) der Speicherzelle durch eine Spannungs- oder Strommessung mit mehreren Referenzspannungen oder Strömen zu vergleichen. Die vorliegende Erfindung wird mit Bezug auf die Messung von Spannungen beschrieben, da ein Fachmann für Abtastschaltungen Ströme einfach durch die Verwendung von Lastkreisen in Spannungen konvertieren kann.
  • Bei Mehrebenenspeichern treten mehrere Probleme auf.
  • Typischerweise wurden 2N – 1 oder 2N Referenzspannungswerte VRI zum Abspeichern von N Bits pro Speicherzelle vorgeschlagen, um die 2N Niveaus voneinander zu trennen, mit VR1 < VR2 < ... < VR(2^N). Hierbei ist zu beachten, dass VRI manchmal im Sinne der Knappheit nur mit VR bezeichnet wird. Den Zusammenhang zwischen den Referenzspannungswerten und den VT-Werten der Zelle wird durch die 1A bis 1C illustriert, wobei diese die Referenzspannungen für eine Mehrebenenabtastung und die Verteilung von VT- Werten der Zelle für einen ganzen Speicherchip für Einzel-, Doppel- und entsprechend für eine Vier-Bit-Speicherung pro Zelle darstellen.
  • Eine unerwünschte Bedingung tritt auf, wenn der VT-Wert der Speicherzelle sich nahe bei einer der VR-Spannungen befindet. Die Bestimmung der VT-Werte der Zelle wird uneindeutig. Übliche Abtastschaltkreise, welche die VT-Werte der Zelle bestimmen, sind durch die Stabilität und die Geschwindigkeit des Schaltkreises limitiert sowie durch die Spannungs- und Stromschwankungen, welche durch das Rauschen digitaler Schaltvorgänge oder von anderen Variationen in der Spannungsversorgung, der Temperatur und der Siliziumprozessierung verursacht werden. Im Gegensatz zu analoger Signalspeicherung, welche nicht mehrere diskrete Niveaus oder mehrere Referenzspannungen voraussetzt, ist es für digitale Speichermethoden notwendig, dass das Niveau unzweideutig bestimmt wird, wobei hierfür diskrete Referenzspannungen nötig sind. Wenn das Niveau der Zelle falsch bestimmt wird, tritt eine Fehlfunktion des digitalen Speichers auf und bis zu N Bit pro Zelle können dann verlorengehen.
  • Um Probleme bei der Bestimmung von VT-Werten zu vermeiden, welche sich in der Nähe einer VA-Spannung befinden oder dieser entsprechen, wurde ein Sicherheitsbereich, VMPI (siehe 2), vorgeschlagen, um in einer Zelle den VT-Wert eines Niveaus von anderen angrenzenden Niveaus zu trennen. Diese Trennung wird immer dann vorgenommen, wenn die Zelle gelöscht oder programmiert wird. Hierbei sind jedoch die beiden Grenzen jedes VMPI-Bereichs nicht definiert. Vielmehr benutzt die vorgeschlagene Technik eine statistische Kontrolle des Siliziumprozesses in Verbindung mit einem länglichen Programmierungsalgorithmus, um adäquate VMPI-Werte für die Speicherung eines einzelnen Bits und möglicherweise von zwei Bits pro Zelle zu erzeugen. Ferner existiert kein Mechanismus zur Bestimmung, ob ein VT-Wert einer Zelle über einen gewünschten Bereich hinausschießt. Daher ist die Technik nur dann zuverlässig, wenn zwei Bedingungen erfüllt sind. Erstens, der Abstand zwischen den VR-Werten muss groß genug sein, um einen angemessenen Sicherheitsbereich für eine unzweideutige Abtastung zu gewährleisten. Zweitens muss der VT-Wert einer Zelle auf dem gewünschten Niveau stabil bleiben, so lange die Daten gültig sind. Dieser Zeitraum kann möglicherweise solang wie die Lebenszeit des Speicherchips sein.
  • Indessen besteht ein Problem, das alle Mehrebenenspeichermethoden überwinden müssen, in der Kontrolle der VT-Werte einer Speicherzelle in einem sehr schmalen Bereich für jedes Niveau. Diese VT-Kontrolle bezieht sich auf alle Operationszustände des Speichers einschließlich der Programmierung, der Löschung und des Auslesens der Speicherzelle. Die Exaktheitserfordernis des VT-Kontrollproblems steigt geometrisch mit der Anzahl der pro Speicherzelle abgespeicherten Bits an, da 2N-Niveaus pro Zelle zur Speicherung von N Bits pro Zelle notwendig sind. Die Spanne von VT-Werten eines einzelnen Niveaus VL und der Sicherheitsbereich zur Trennung der VT-Werte der Zelle in unterschiedliche Niveaus VM (siehe 3A bis C) verschmälert sich bei einer festgesetzten Spanne VF für die verwendbaren VT-Werte der Zelle, wenn die Anzahl der Niveaus ansteigt. In der vorliegenden Erfindung bezeichnen wir manchmal einen VLI-Wert (wobei I eines von 2N-Niveaus ist) der Kürze wegen, einfach als VL.
  • Die VF-Spanne ist typischerweise festgelegt, da sie von den Spannungen begrenzt wird, welche an die Eingänge der Speicherzelle während der Programmierung, dem Löschen und den Abtastoperationen angelegt werden können. VF ist begrenzt durch die Geschwindigkeit des Schaltkreises, der Komplexität und der Zuverlässigkeit der Datenspeicherung. Bei mehreren kürzlich vorgeschlagenen nicht flüchtigen Speichertechnologien entspricht VF ungefähr der Versorgungsspannung VCC für die Leseoperation.
  • Für den extrem einfachen Fall, dass die VL-Spannen für alle Niveaus identisch festgesetzt sind und der Sicherheitsbereich zwischen den Niveaus zu Null gesetzt ist, gilt VL = VF/2N. Beispielsweise ist für eine Einzelbitspeichermethode mit einer VCC-Spannung von 5 Volt die Spanne VL 5/2 = 2,5 V, während für eine 4-Bit-Mehrebenenspeicherzelle, welche mit 3 V betrieben wird, sich die VL-Spanne zu 3/16 = 187,5 mV reduziert. Wenn der Sicherheitsspannungsbereich VM zwischen den Niveaus hinzugezählt wird, gilt VF = VL1 + VM1 + VL2 + VM2 + ... + VM(2N–1) + VL2N. Mit dem voranstehend genannten einfachen Fall fortsetzend und mit der Annahme, dass alle VM-Spannen gleich sind, reduziert sich die Spanne der Niveaus zu VL = [VF – (2N – 1) × VM]/2N. Mit der Einführung eines VM von 0,1 V ist der VL-Wert im vorherigen Beispiel mit 4-Bit, 3 Volt VCC-Spannung, zu [3 – (15 × 0,1)]/16 = 93.8 mV reduziert.
  • Zum VT-Regelproblem kommt noch die Schwierigkeit der Löschung einer Speicherzelle hinzu. In der üblichen Ausführung von Speicheranordnungen wird die Löschung von Zellen blockweise durchgeführt, wobei die Blöcke mehrere Speicherzellen enthalten, so dass die Verteilung der VT-Werte der völlig gelöschten Zellen breiter ist als die der anderen Niveaus, welche selektiver programmiert werden. Der weitere VL-Wert VLERASE , der zur Festlegung der völlig gelöschten Zellen definiert wird, reduziert die Spanne für die VL-Werte zur Programmierung der Niveaus noch weiter. 3A bis 3C illustrieren dieses Problem graphisch für die gleichen Technologien, die in den 1A1C dargestellt sind.
  • Dabei ist zu beachten, dass die 1A, 1B, 1C, 2, 3A, 3B und 3C Beispiele für Technologien sind, bei denen die Programmierung die VT-Werte der Zelle erhöhen. Die voranstehenden Aussagen gelten analog für Technologien, die die VT-Werte der Zelle während der Programmierung erniedrigen. In diesem Fall würden die Darstellungen den breiteren Bereich für das Löschungsniveau am oberen Ende der VT-Werte der Zelle anstatt am unteren Ende zeigen.
  • Folglich ist die VT-Kontrolle bei Mehrebenenspeichern wichtiger als bei Einzelbitspeichersystemen, da sich die Spanne von VT-Werten geometrisch reduziert mit der Zunahme der Anzahl von Bits pro Zelle.
  • Ferner gibt es vielzählige Mechanismen, die eine Drift des VT-Werts der Zelle weg vom ursprünglich programmierten Wert verursachen. Viele dieser Mechanismen werden durch die Anwendung einer Spannungsbelastung auf die Zelle nachfolgend zu ihrer ursprünglichen Programmierung verursacht. Diese als „Störungen" bezeichneten Bedingungen sind unvermeidbar wenn die Zelle mit anderen gleichen Zellen in eine Matrix zur Herstellung eines sinnvollen Speichersystems gruppiert wird. Programmier- und Löschungsstörungen liegen für die kürzesten Kumulationszeiten vor, sie sind jedoch aufgrund der hohen Spannungen, die während diesen Operationen angewandt werden, wichtige Ursachen für die VT-Drift. Beispielsweise über Daten zu Störungen in der technischen Literatur, die sich mit neuen FLASH-Speichertechnologien beschäftigt, routinemäßig berichtet.
  • Andere Quellen für die VT-Drift sind auf die Effekte zurückzuführen, welche durch die Anzahl oder durch die Positionen der in der Nähe des schwebenden Gatters oder zwischen dem schwebenden Gatter und dem Substrat der Speicherzelle eingefangenen Ladungen verursacht werden: Eingefangene Ladungen können durch Effekte oder durch die kumulierenden Effekte starker elektrischer Felder, die über eine gewisse Zeit anliegen, verursacht werden, wie sie bei wiederholten Programmier-Lese-Zyklen (P/E) auftreten. Je mehr Löschungs- oder Programmierströme durch das Dielektrikum des Gatters hindurchfließen, desto höher wird die Anzahl der eingefangenen akkumulierenden Ladungen. Dies führt schlussendlich zur Verzögerung dieser Operationen und zu einer teilweisen Fehlfunktion des Bauteils.
  • Eingefangene Ladungen können ebenfalls in nicht wiederholbarer Art und Weise bei P/E-Zyklen auftreten. Dies wurde mit dem so genannten „Rot Bit"-Effekt verknüpft. Ein rotes Bit stellt eine Verschiebung bezüglich der Fähigkeit zur Programmierung und Löschung für einen Zyklus dar und geht bei einem weiteren Zyklus zum Normalzustand zurück. Die Rate der VT-Drift muss im Zeitverlauf nicht konstant sein und kann aufgrund statistischer Variationen der vorliegenden Defekte von Zelle zu Zelle verschieden sein. Jede Zelle in einer Speicherzellenmatrix unterliegt einer ihr eigenen Kombination von Störungen und Ladungsbelastungsbedingungen, da unterschiedliche Zeilen und Spalten, an welche die Zelle angeschlossen ist, in unterschiedlicher Folge angesprochen werden. Die Drifteffekte, die durch zufällige Spannungsbelastungen verursacht werden, werden zu jenen addiert, welche durch zufällige Defekte entstehen. Diese Effekte haben eine kumulierende Wirkung auf die VT-Drift der Zelle.
  • Nicht flüchtige Speicherzellen verlieren schlussendlich bei wiederholten P/E-Zyklen ihre Ausdauer, d. h. ihre Programmierung und Löschung vollzieht sich zu langsam im Hinblick auf die Zeitspanne, die für die Operationen noch erlaubt ist, und versagen schlussendlich ganz. Einige bisher bekannte Programmiermethoden zählen die Anzahl von Zyklen, denen ein bestimmter Bereich der Speicherzellenmatrix unterworfen ist. Solche Zyklendaten werden dann in einem Ausführungsbeispiel dafür genutzt, um weitere P/E-Zyklen eines übermäßig genutzten Bereichs der Speicherzellenmatrix zu verhindern, wobei dies auf einer vorab bestimmten konservativen maximalen Anzahl von Zyklen beruht. Diese Programmiermethode kann möglicherweise dazu führen, dass die Funktionalität des Speichers reduziert wird, bevor dies notwendig wäre.
  • Schlussendlich gilt, dass sich alle der voranstehend beschriebenen VT-Störungs- und Driftmechanismen mit der Verringerung der Dimensionen der Speicherzellen verschlimmern, da sich dann die Wirkung der elektrischen Felder verstärkt. Diese Probleme stellen bekannte Hindernisse bei der Skalierung von Zellen dar und verhindern so ökonomischere Speicherchips. Die VT-Drift-Probleme der Zellen wirken sich beispielsweise noch stärker aus, wenn die VL-Spanne bei der Verwendung von mehreren zu speichernden Bits pro Zelle oder beispielsweise bei einer geringeren Versorgungsspannung verringert wird.
  • Der Leser wird auf die WO-A-9604658 und die US-A-5479170 verwiesen.
  • Die vorliegende Erfindung löst diese Probleme oder verringert diese wesentlich. Ein Speicher gemäß der vorliegenden Erfindung misst direkt die Stabilität, die Programmierbarkeit und die Löschbarkeit jeder nicht flüchtigen Speicherzelle während der gesamten Lebenszeit des Bauteils.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß eines Aspekts der Erfindung wird ein in Anspruch 1 definiertes integriertes Speichersystem offenbart.
  • Gemäß eines weiteren Aspekts der Erfindung wird ein in Anspruch 17 definiertes Verfahren zur Verwendung eines integrierten Speichersystems offenbart.
  • KURZBESCHREIBUNG DER FIGUREN
  • 1A ist ein Beispiel für den Stand der Technik zur Abtastung von Referenzspannungen und für eine VT-Verteilung der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit einem Bit pro Zelle.
  • 1B ist ein Beispiel für den Stand der Technik zur Abtastung von Referenzspannungen und für eine VT-Verteilung der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit zwei Bits pro Zelle.
  • 1C ist ein Beispiel für den Stand der Technik zur Abtastung von Referenzspannungen und für eine VT-Verteilung der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit vier Bits pro Zelle.
  • 2 ist ein besonderes Beispiel für den Stand der Technik zur Abtastung von Referenzspannungen für den Lese-, Programmier- und Löschmodus und die resultierenden VT-Verteilungen der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit zwei Bits pro Zelle, welche die Sicherheitsbereiche zeigt, die die verschiedenen VT-Niveaus trennen.
  • 3a ist ein Beispiel für den Stand der Technik, welches die Spannen für die VF-, VLERASE-, VM-, VL- und VT-Verteilungen der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit einem Bit pro Zelle zeigt.
  • 3b ist ein Beispiel für den Stand der Technik, welches die Spannen für die VF-, VLERASE-, VM-, VL- und VT-Verteilungen der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit zwei Bits pro Zelle zeigt.
  • 3c ist ein Beispiel für den Stand der Technik, welches die Spannen für die VF-, VLERASE-, VM-, VL- und VT-Verteilungen der Zelle für einen gesamten Speicherchip für eine Datenspeicherung mit vier Bits pro Zelle zeigt.
  • 4a ist ein Beispiel für die Drift des VT-Werts der Zelle aufgetragen gegen die Anstiegszeit für VT.
  • 4b ist ein Beispiel für die Drift des VT-Werts der Zelle aufgetragen gegen die Abfallzeit für VT.
  • 5a ist ein Beispiel für die Drift des VT-Werts der Zelle aufgetragen gegen die Anstiegszeit für VT, welches die zwei neuen Mehrebenenreferenzspannungen zu digitalen Leseabtastungen mit Sicherheitsbanden für die jeweiligen Niveaus zeigt.
  • 5b ist ein Beispiel für die Drift des VT-Werts der Zelle aufgetragen gegen die Abfallzeit für VT, welches die zwei neuen Mehrebenenreferenzspannungen zu digitalen Leseabtastungen mit Sicherheitsbanden für die jeweiligen Niveaus zeigt.
  • 6 zeigt das allgemeine Verfahren der bevorzugten Ausführungsform der BSERD-Methode zur Abtastung eines digitalen Mehrebenenspeichers mit vier Bits pro Datenzelle.
  • 7 stellt ein Blockdiagramm für eine bevorzugte Ausführungsform der Erfindung dar.
  • 8 zeigt ein Ablaufdiagramm für die BSERD-Methode, wie sie in der bevorzugten Ausführungsform implementiert ist.
  • 9 zeigt ein Beispiel für die Abtastung einer Mehrebenenspeicherzelle für digitale Daten, welche die BSERD-Methode verwendet.
  • 10 zeigt das Zeitverlaufsdiagramm für das Beispiel aus 9.
  • 11 ist ein Blockdiagramm, das im Detail die Organisation der Speichermatrix und des Y-DRIVERS für den Seitenmodusbetrieb eines Ausführungsbeispiels der Erfindung zeigt.
  • 12 stellt ein Beispiel für die Mini-Programmiermethode dar, welches die VT-Verteilung in der Zelle für eine Vielzahl von Zellen im Speicher für zwei verschiedene Zeiten zeigt und welches ferner zwei Minimalprogrammierungen zeigt, welche die Referenzspannungen abtasten sowie Sicherheitsbänder, welche in den entsprechenden Niveaus liegen.
  • 13A stellt ein Beispiel für die Mini-Programmiermethode dar, welches die VT-Verteilung in der Zelle für eine Vielzahl von Zellen im Speicher für zwei verschiedene Zeiten zeigt und welches ferner die Referenzspannung für die Abtastung bei der neuen Vorablöschung der Minimalprogrammierung zeigt und welches ferner ein Sicherheitsband und zwei neue Referenzspannungen für die neue Minimallöschungsabtastung zeigt und welches ferner Sicherheitsbänder innerhalb eines Niveaus zeigt.
  • 13B ist eine Weiterführung aus 13A und ein Beispiel für die Minimallöschmethode, welches die Verteilung der VT-Werte für eine Vielzahl von Zellen in einem Speicher zu drei verschiedenen Zeiten zeigt und ferner die Referenzspannung für die neue Vorablöschung für die Minimalprogrammierung zeigt und ferner ein Sicherheitsband und zwei Referenzspannungen für die neue Minimallöschungsabtastung sowie zwei Sicherheitsbänder, welche sich innerhalb eines gegebenen Niveaus befinden, zeigt.
  • 14A ist ein Beispiel für die Wiederherstellungsmethode eines überschießenden VT-Werts, welches die Verteilungen der VT-Werte einer Vielzahl von Zellen im Speicher zu verschiedenen Zeiten zeigt und ferner die Referenzspannung zur neuen Vorablöschung der Minimalprogrammierung zeigt und ferner zwei Sicherheitsbänder, welche sich innerhalb eines gegebenen Niveaus befinden, zeigt.
  • 14B ist eine Fortführung der 14A sowie ein Beispiel für die Wiederherstellungsmethode eines überschießenden VT-Werts, welches die Verteilung der VT-Werte für eine Vielzahl von Zellen in einem Speicher zu drei verschiedenen Zeiten zeigt und ferner eine Referenzspannung für die neue Vorablöschung bei der Abtastung der Minimalprogrammierung zeigt und ferner ein Sicherheitsband und zwei Referenzspannungen für die neue Mikroprogrammierabtastung sowie Sicherheitsbänder, welche sich innerhalb eines gegebenen Niveaus befinden, zeigt.
  • 15A stellt ein Beispiel aus dem Stand der Technik dar, welches eine ursprünglich enge Verteilung der VT-Werte für eine Vielzahl von Zellen des Speichers, die sich innerhalb eines bestimmten Niveaus direkt nach der Programmierung befinden und ferner eine wesentlich aufgeweitete Verteilung derselben Zellen nach einer längerer Zeitdauer, gerade eben vor dem Punkt, bei dem ein Fehler aufgrund einer uneindeutigen Abtastung auftritt.
  • 15B ist ein Beispiel für die zwei neuen Referenzspannungen für die Abtastung bei der Programmierung und zwei Sicherheitsbändern sowie der Verteilung der VT-Werte für eine Vielzahl von Zellen in einem Speicher, welche sich zu drei verschiedenen Zeiten innerhalb eines bestimmten Niveaus befinden; der ursprünglichen weiten Verteilung der VT-Werte direkt nach dem ersten Teil der Programmierung, die enge Verteilung direkt nach dem zweiten Teil der Programmierung, und die wiederhergestellte Verteilung derselben Zellen nach einer langen Zeitdauer entsprechend der Darstellung aus 15B, während der die Wiederherstellungsmethode angewandt wurde, um einen Ausfall aufgrund uneindeutiger Abtastung zu verhindern.
  • 16A ist ein Beispiel für die Programmiermethode und stellt die Verteilung der VT-Werte für eine Vielzahl von Zellen im Speicher zu vier verschiedenen Zeiten dar und stellt ferner die zwei neuen Referenzspannungen für die Abtastung bei der Programmierung sowie Sicherheitsbänder, welche sich innerhalb eines gegebenen Niveaus befinden, dar.
  • 16B ist eine Fortsetzung der 16A und ist ein Beispiel für die Minimallöschmethode, wobei die Verteilung der VT-Werte für eine Vielzahl von Zellen im Speicher zu drei verschiedenen Zeiten innerhalb eines bestimmten Niveaus gezeigt wird.
  • 17A ist ein Beispiel, welches die Spanne von VF, VLERASE, VM und VL sowie die Verteilung der VT-Werte für einen Löschblock für die Speicherung von vier Bits pro Zelle zeigt, wobei VLERASE für VL0 entsprechend der bisher verwendeten Methoden eingesetzt wird.
  • 17B ist ein Beispiel, welches die Spanne von VF, VLERASE, VM und VL sowie die Verteilung der VT-Werte für einen Löschblock für die Speicherung von vier Bits pro Zelle zeigt, wobei VLERASE nicht für VL0 verwendet wird und wobei die VL-Niveaus über das gesamte Intervall von VF verteilt sind, was in größeren VL- und VM-Spannen resultiert, verglichen zu 17A.
  • 17B ist ein Beispiel, welches die Spanne von VF, VLERASE, V und VL sowie die Verteilung der VT-Werte für einen Löschblock für die Speicherung von vier Bits pro Zelle zeigt, wobei VLERASE nicht für VL0 verwendet wird und wobei die VL-Niveaus nicht mit der VLERASE-Spanne überlappen, was für einige Technologien für eine zuverlässigere Datenabtastung notwendig sein kann.
  • 18A ist ein Beispiel für die Löschungsmethode, welches die Verteilung der VT-Werte für eine Vielzahl von Zellen in einem Löschblock für vier verschiedene Niveaus bei vier verschiedenen Zeiten darstellt und ferner vier neue Referenzspannungen für die Löschungsabtastung sowie das neue Sicherheitsband VMEFU, das sich innerhalb des VL0-Niveaus befindet, zeigt.
  • 18B stellt eine Fortsetzung aus 18A dar und ist ein Beispiel für die Löschungsmethode, wobei die Verteilung der VT-Werte für eine Vielzahl von Zellen in einem Löschblock für vier verschiedene Niveaus zu vier verschiedenen Zeiten dargestellt ist und ferner zwei neue Referenzspannungen zur Löschungsabtastung sowie das neue Sicherheitsband VMEFU, das sich innerhalb des Niveaus V0 befindet, zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Um die oben beschriebenen Probleme zu vermeiden, macht ein Speichersystem gemäß der vorliegenden Erfindung kleine Anpassungen der VT-Werte der Zelle, welche automatisch die Drifteffekte sogar lang nach der Programmierung korrigieren. Der VT-Wert der Zelle wird auf den optimalen Wert innerhalb der als richtig erachteten Spanne VLI zurückgesetzt. Dieser Wiederherstellungsvorgang wird solchermaßen durchgeführt, dass adäquate Sicherheitsbereiche für eine zuverlässige Datenspeicherung über die gesamte Lebenszeit des Speichers aufrechterhalten werden. Das Speichersystem bestimmt durch das zusätzliche Abtasten von Referenzspannungen, wenn der VT-Wert der Speicherzelle wieder hergestellt werden sollte, wobei durch die zusätzlichen Referenzspannungswerte bestimmt wird, wenn der VT-Wert der Zelle einem der beiden Randbereiche der erwünschten VR-Spanne zu nahe kommt.
  • Die Erfindung steht ferner im Kontrast zu den bereits bestehenden analogen Speichermethoden, welche keine mehreren Ebenen verwenden, die von diskreten Abtastreferenzspannungen unterteilt sind. Solche analogen Techniken können eine Drift in der Zelle oder Störeffekte weder bestimmen noch korrigieren, wenn das ursprüngliche analoge Signal einmal durch eine VT-Drift verfälscht wurde.
  • Die VT-Werte der Zelle können sich auf eine von drei verschiedenen Weisen bewegen:
    VT steigt (beispielsweise wenn Elektronen, wie in 4A dargestellt, dem schwebenden Gatter hinzugefügt werden),
    VT fällt (beispielsweise wenn Elektronen, wie in 4B dargestellt, vom schwebenden Gatter entfernt werden), und
    VT ist stabil aufgrund der Balance der Ladungen oder dem Fehlen von Belastungsfaktoren.
  • Der Speicher der vorliegenden Erfindung reagiert auf jede der drei oben genannten Möglichkeiten für jede der Speicherzellen und bestimmt die notwendige Maßnahme, um den VT-Wert der Zelle wiederherzustellen. Diese Reaktion und die Festlegung können lange nach der ursprünglichen Datenprogrammierung auftreten. Das Speichersystem führt nicht notwendigerweise eine Löschung vor der Programmierung durch. Stattdessen vollzieht das Speichersystem einen Minimallösch- und einen Minimalprogrammiervorgang, welche die VT-Werte zur richtigen Richtung hin anpassen. Für den geringfügigen Wiederherstellungsvorgang der VT-Werte ist nur nötig, eine kleine Menge gespeicherter Ladung zu bewegen. Dies vermeidet, die Daten anderer Zellen zu stören. Die Abnutzungsseffekte früherer Techniken für einen P/E-Zyklus sind auf ein Minimum reduziert.
  • Zusätzlich korrigiert das Speichersystem Rotbits, welche während eines großen Ladungsflusses durch das dielektrische Gatter während eines normalen P/E-Zyklus erzeugt werden. Während des Wiederherstellungsvorgangs werden nur kleine Veränderungen der VT-Werte der Zelle benötigt, um die VT-Werte wieder herzustellen.
  • Nicht flüchtige FLASH-Speicher Arrays sind normalerweise dahingehend optimiert, die Siliziumfläche des Chips zu reduzieren, und zwar durch die Anforderung, dass die Zellen in großen Gruppen, so genannten Sektoren oder Löschblöcken elektrisch gelöscht werden. Die Programmierung geht in einer viel selektiveren Art und Weise vonstatten, derart, dass gleichzeitig weniger Bits in einer kleineren Gruppe wie einer Seite, einem Wort oder einem Byte programmiert werden. Alle Zellen einer Seite, eines Worts oder eines Bytes der Programmierung werden gleichzeitig abgetastet (gelesen oder verifiziert). Ein Löschsektor oder Block kann eine Vielzahl von Programmierseiten enthalten.
  • Die Programmierung verschiebt die VT-Werte einer Speicherzelle in die entgegengesetzte Richtung, verglichen zur Löschung. Hierbei soll angemerkt werden, dass die hier verwendeten Definitionen für das Programmieren und das Löschen weder mit der Polarität noch mit der Richtung der Ladungsbewegung in die Ladungsspeicherregion, etwa dem schwebenden Gatter, verbunden sind, stattdessen werden diese Ausdrücke durch den Aufbau der Speicherzellenmatrix bestimmt. Folglich ist die vorliegende Erfindung für beiden Technologien anwendbar, welche beim Programmieren den VT-Wert der Zelle erhöhen oder erniedrigen.
  • Beim Programmieren der integrierten Schaltkreise löscht das Speichersystem vor der Programmierung zunächst alle Zellen in einem Löschblock sowie alle Datenbits jeder Seite eines Löschblocks. Bisherige Programmieralgorithmen programmieren jede Zelle in einer Serie von Programmierpulsen auf den gewünschten VT-Wert. Bei der Mehrebenenprogrammierung wird es vorgezogen, dass jeder VT-Wert einer Zelle individuell gesetzt wird, um bei Annahme einer zukünftigen Drift die VL-Werte so dicht wie möglich zu programmieren. Bisherige Algorithmen zur Mehrebenenprogrammierung benötigen viele Programmier/Überprüfungsiterationen, um den VT-Wert der Zelle in eine Richtung zu verschieben. Dabei verlässt man sich stark auf eine statistische Prozesskontrolle, um zu,verhindern, dass die am schnellsten programmierten VT-Werte der Zellen über die erwünschte Spanne eines Niveaus hinausschießen und zu nahe an einem VA-Wert zu liegen kommen. Um das Überschießen zu vermeiden, sind mehrere kleine Programmieriterationen notwendig.
  • Im Kontrast hierzu, verschiebt das hier beschriebene Speichersystem den VT-Wert der Zelle in beiden Richtungen, indem Minimallöschvorgänge im Verlauf der Programmierung durchgeführt werden. Die Minimallöschvorgänge erlauben die Durchführung großer Programmieriterationen. Beide Randbereiche jeder VL– Spanne werden während der Programmierung kontrolliert, anstatt sich auf eine statistische Kontrolle der Programmiercharakteristik einer jeden Zelle zu verlassen. Ein weiterer Vorteil der im Folgenden beschriebenen Programmiermethode besteht darin, dass die Programmierzeit für einen Mehrebenenspeicher reduziert ist, da die Minimalprogrammier- und die Minimallöschoperationen die Breite der ursprünglich programmierten Verteilung der VT-Werte der Zellen in jedem Niveau reduzieren und jedes Überschießen eines VT-Wertes korrigieren.
  • Durch die vorliegende Erfindung kann ein Speichersystem durch eine direkte Messung bei gleichzeitiger Einbettung in das externe System bestimmen, wenn eine Zelle nicht mehr zuverlässig programmiert, löscht oder zum Speichern von Daten verwendet werden kann. Notwendige Schritte werden erst dann unternommen, wenn festgestellt wird, dass diese sofort nötig sind. Dies verlängert die nutzbare Lebensdauer eines Speichertyps.
  • Verschiedene Aspekte eines Speichersystems gemäß der vorliegenden Erfindung werden mit größerer Detailtiefe nachfolgend erläutert. Im Folgenden wird die Mehrebenendatenabtastung, die Minimalprogrammierung, die Minimallöschung sowie Programmier- und Löschoperationen behandelt:
  • I. Mehrebenenabtastung digitaler Daten
  • Allgemeine Beschreibung des Abtastvorgangs
  • Die vorliegende Erfindung offenbart eine neue Mehrebenenabtastung für digitale Daten. Die Methode verwendet zusätzliche Referenzspannungen und Sicherheitsbänder während der Abtastoperation, um zu bestimmen, ob der VT-Wert einer Speicherzelle unerwünscht nahe zu einem der Unterteilungs-Referenzspannungswerte VRI oder VR(I+1) gedriftet ist, welche eines der VLI-Niveaus festlegen.
  • Wie in den 5A und 5B gezeigt, führen die Referenzspannungen VUGI und VLGI Sicherheitsbänder in die VT-Werte der Zelle während der Abtastung ein. Für jedes Niveau „I" gibt es zwei Sicherheitsbänder: 1) das obere Sicherheitsband zum Lesen, VMRUI = VR ( I+1) – VUGI und 2) das untere Sicherheitsband, VMRLI – VLGI – VRI . Die Sicherheitsbänder VMRUI und VMRLI werden mit Bezug auf die VRI referenziert. Beispielsweise ist VMRUI mit Bezug auf VR ( I+1) referenziert und der VMRLI-Wert ist mit Bezug auf den VRI-Wert referenziert. Für das gesamte Sicherheitsband zur Auslesung um einem VRI-Wert gilt VMRI = VMRU(I–1) + VMRLI.
  • Für den Fall, dass die neue Mehrebenenabtastmethode für digitale Daten bestimmt, dass der VT-Wert der Zelle in eines der Lese-Sicherheitsbänder gedriftet ist, wird die Wiederherstellungsbedingung festgesetzt und ein bedingter Statusanzeiger gesetzt. Die neue Mehrebenenabtastmethode für digitale Daten verwendet ferner ( 2N + 1) Referenzspannungen zur Unterteilung der Niveaus VRI, wobei N die Anzahl der digitalen Mehrebenen-Datenbits darstellt, welche für eine Speicherzelle abgespeichert werden sowie I = 0 bis ( 2N + 1). Zwei zusätzliche Sicherheitsbänder für das Lesen werden zusätzlich für die Bestimmung verwendet, ob eine Zelle in den extremen Grenzbereich des zuverlässigen Auslesens der Daten gedriftet ist.
  • Methodik der eingebetteten Wiederherstellungsbestimmung mit binärer Suche
  • Die neue Mehrebenenabtastmethode für digitale Daten, die so genannte eingebettete Wiederherstellungsbestimmung mit binärer Suche (BSERD-Methode) bestimmt die Vielzahl der Datenbits, welche in der Speicherzelle als Mehrebenendaten abgespeichert sind, und bestimmt unter Verwendung der Bandabtastung, ob die Bedingungen für ein Wiederherstellungszyklus erfüllt sind.
  • 6 zeigt den allgemeinen Arbeitsablauf eines bevorzugten Ausführungsbeispiels der BSERD-Methode zur Bestimmung von vier Bits (N = 4) einer Mehrebenenspeicherzelle für digitalen Daten. Die Auswahl von N = 4 für dieses Ausführungsbeispiel dient nur zum Zweck der Darlegung der Erfindung und begrenzt die Anwendung dieser Erfindung nicht bezüglich einer anderen Wahl für N. Die vorliegende Erfindung kann beispielsweise für die Speicherung eines einzelnen Bits (N = 1) oder für jede andere Mehrbitanwendung mit N > 1 verwendet werden.
  • Für jeden „Set BitX"-Zyklus (X = 0 bis N – 1) werden zwei Unterzyklus-Operationen durchgeführt. Diese Unterzyklen sind der Datendetektions-Unterzyklus, gefolgt vom Wiederherstellungs-Bestimmungs-Unterzyklus. Während jedem dieser Unterzyklen wird eine geeignete Referenzspannung VCRF gesetzt und mit dem abgetasteten VT-Wert der Zelle verglichen. Die VCRF-Spannung zu einem bestimmten Zeitpunkt hängt vom Resultat des Vergleichs zwischen der VCRF-Spannung und dem abgetasteten VT-Wert der Zelle zu jedem der vorherigen Zeitpunkte ab. Nachdem die notwendige Anzahl von „Set BitX"-Zyklen beendet ist, wird ein Abgrenzungs-Bestimmungs-Unterzyklus und ein Abgrenzungs-Wiederherstellungs-Unterzyklus durchgeführt, um zu bestimmen, ob der VT-Wert der Zelle sich innerhalb der extrem zuverlässigen Grenzen für die Abtastspanne der VT-Werte der Zelle befindet und ob sich der VT-Wert der Zelle innerhalb der extremen oberen oder unteren Wiederherstellungs-Sicherungsspanne befindet.
  • Abtastsystem für einen Mehrebenenspeicher
  • 7 zeigt ein Blockdiagramm eines bevorzugten Ausführungsbeispiels der Erfindung. Vier Bits an digitalen Mehrebenendaten werden innerhalb jeder Speicherzelle abgetastet. Daten-, Adress-, Regelungs- und Systemtaktsignale werden zwischen dem Umgebungssystem und dem bevorzugten Ausführungsbeispiel durch ein DATA, ADDR & CNTRL SYSTEM INTERFACE-Block 10 mittels eines Datenbusses (DATA bus) 11, eines Adressbusses (ADDR bus) 12, einem Kontrollbus (CNTRL bus) 13 und entsprechend einer CLKIN-Leitung 14 vermittelt. Alternativ generiert ein interner Taktsignalblock (in 7 nicht gezeigt) ein Taktsignal auf einer CLCK Signalleitung 15, wie in 7 gezeigt. Während der Abtastoperationen stellt der DATA, ADDR & CNTRL SYSTEM INTERFACE-Block 10 die Adressinformation über eine bidirektionale Adressleitung, den ADDRBUS Bus 16, dem entsprechenden horizontalen Decoder X-DEC 17, einem vertikalen Decoder Y-DEC 18 und einen Blockdecoder BLOCK-DEC 19 zur Verfügung, um die richtige Speicherzelle 20 in einem Block der Speichermatrix CELL ARRAY 21 auszuwählen.
  • Der Decoder stellt die geeigneten Mehrebenenprogrammier-, Lösch- oder Abtastspannungen an den Ausgängen der Zelle 20 zur Verfügung und dies in Abhängigkeit der Signale des PRG-ERS Kontrollbusses 22, des HVCTRL-Kontrollbusses 23, der PRGHV-Hochspannungsleitung 24 und dem HVOUT-Hochspannungsbus 25. Die PRG-ERS- und die HVCTRL-Signale werden von einem PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 erzeugt. Die HVOUT- und die PRGHV-Signale werden von einem HVGEN-Block 27 erzeugt.
  • Während des Abtastens wird eine RD-Leitung 28 auf den Hochpegelzustand gezogen, um den GATTERC-Schalter 29 zu betätigen, welcher die MLLINE-Leitung 30 mit der VMEM-Leitung 31 verbindet. Die MLLINE-Leitung 30 wird mit der Zelle 20 mittels eines Y-MUX-Blocks 32 und einer BL00-Bitleitung 71 verbunden. Die Auswahl einer bestimmten Zelle 20, welche mit der MLLINE-Leitung 30 während des Abtastens verbunden ist, hängt von dem Y-MUX-Block 32 ab, der auf die Signale des YDECO-Busses 34 reagiert, welche von dem Y-DEC-Block 18 erzeugt werden. Die VMEM-Leitung 31 ist mit dem nicht invertierten Eingang des Komparators CMP 35 verbunden. Auf einem Hochpegelzustand erlaubt die RD-Leitung 28 eine Verbindung eines Lastblockschaltkreises CELL ROAD 36 zu der VMEM-Leitung 31.
  • Wenn geeignete Spannungen an die Eingänge der adressierten Zelle 20 angelegt werden und CELL LOAD 36 angeschlossen ist, entsteht an der VMEM-Leitung 31 eine Spannung, welche für vier digitale Datenbits repräsentativ ist. Der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 verschickt ferner Signale mittels des PRGRDB-Busses 37 zu den Referenzspannungs-Auswahlblöcken VX VY GEN-Block 38 und ΔVU ΔVL GEN-Block 39. Die Ausgänge der VX VY GEN- und ΔVU ΔVL GEN-Blöcke 38 und 39 werden an einen Komparator-Referenzspannungs-Erzeugungsblock, den VCRFGEN-Block 40, weitergeleitet. Referenzspannungen werden von den VX VY GEN- und ΔVU ΔVL GEN-Blöcken 38 und 39 aus einem VOLTAGE REFERENCES-Block 41 mittels eines Referenzspannungsbusses RVBUS 42 ausgewählt.
  • Während den Abtastoperationen wird von einem BINARY SEARCH READ SEQUENCER-Block 43 und einem PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 die BSERD-Methode kontrolliert und abgearbeitet, wobei diese durch das Taktsignal auf der CLCK-Leitung 15 aus dem DATA, ADDR & CNTRL SYSTEM INTERFACE-Block 10 synchronisiert werden. Der BINARY SEARCH READ SEQUENCER-Block 43 beschickt die entsprechende Datenleitung über einen bidirektionalen Bus, den DATABUS [0–3]-BUS 44.
  • Der VCRFGEN-Block 40 empfängt ein Kontrollsignal von einer Kontrollleitung, der PHSSEL-Leitung 46, von dem PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 und einer Kontrollleitung, der STPDIR-Leitung 47, von einem STPDIR-Register 52. Das STPDIR-Register 52 ist mit dem Ausgang des CMP-Komparators 35 über eine Ausgangsleitung VCMPO 49 und einem Transfer-Gatter GATTERA 50 verbunden. Basierend auf den Eingangssignalen vom DATABUS [0–3]-Bus 44 erzeugen der VX VY GEN-Block 38 und der ΔVU ΔVL GEN-Block 39 geeignete Spannungen für den VCRFGEN-Block 40. Tabelle 1 zeigt die Ausgangsspannungen des VCRFGEN-Blocks 40 während des Abtastens an einer Ausgangsleitung VCRF 45 in Abhängigkeit von den Werten der PHSSEL-Leitung 46 und der STPDIR-Leitung 47. Die VCRF-Leitung 45 ist mit dem invertierenden Eingang des CMP-Komparators 35 verbunden.
  • : Tabelle 1
    Figure 00220001
    6 illustriert die Referenzspannungen VR0 bis VR16, die jeweils als Ausgangsspannungen vom VX VY GEN-Block 38 erzeugt werden und abhängig sind von den Kontrollsignalen des PRGRDB-Busses 37 und des DATABUS [0-3]-Bus 44, welche wiederum von den Sequenzierern 26 und 43 gesteuert werden. Während des Abtastens nehmen die Spannungsausgänge des VX VY GEN-Block 38 die Werte VX = VRI und VY = VRI an, wobei I eine ganze Zahl zwischen 0 und 16 ist, welche von den Datenleitungen auf dem DATABUS [0–3]-Bus 44 bestimmt wird. Wie ebenfalls in 6 dargestellt, erzeugt der ΔVU ΔVL GEN-Block 39 die Ausgangsspannungen ΔVL und ΔVU, wobei für ΔVL = VMRLI, ΔVU = VMRU( I–1) mit entsprechend I = 0 bis 15 gilt.
  • Der DATA [0–3]-Registerblock 48 hat vier Register, welche die vier Bits für jede Speicherzelle 20 abspeichern, die wiederum entsprechend von der BSERD-Methode abgetastet werden. Der CMP-Komparator 35 vergleicht die Spannungen an der VNEM-Eingangsleitung 31 und der VCRF-Eingangsleitung 45 und erzeugt einen logischen Hochpegel- oder Tiefpegelzustand auf der VCMPO-Ausgangsleitung 49. Die VCMPO-Leitung 49 wird auf einen logischen Hochpegelzustand gezogen, wenn die Spannung auf der VMEM-Leitung 31 höher als die Spannung auf der VCRF-Leitung 45 ist. Die VCMPO-Leitung 49 wird entsprechend gegensätzlich auf einen logischen Tiefpegelzustand bezogen, wenn die Spannung an der VMEM-Leitung 31 niedriger als die Spannung an der VCRF-Leitung 45 ist.
  • Neben dem Transferschalter GATTERA 50 ist die Ausgangsleitung VCMPO 49 mit dem Eingang des Transferschalters GATTERB 51 verbunden. Die Ausgangsleitung des GATTERA 50 ist mit der Eingangsleitung des STPDIR-REGISTER 52 verbunden. Die Ausgangsleitung des GATTERB 51 ist mit einem Eingangsregister RES-REGISTER 53 verbunden. Die PHSSEL-Leitung 46 vom PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 übennracht die Funktion der Schalter GATTERA 50 und GATTERB 51. Wenn die PHSSEL-Leitung 46 auf einem Hochpegel ist, wird die Ausgangsleitung VCMPO 49 vom CMP-Komparator 35 mit dem Eingang des RES-Registers 53 über den Schalter GATTERB 51 verbunden. Wenn die PHSSEL-Leitung 46 auf einem Tiefpegel ist, wird die VCMPO-Leitung 49 mit dem Eingang des STPDIR-Registers 52 durch den GATTERA-Schalter 50 verbunden.
  • Die RST-Leitung 54 des PROGRAM ERASE READ RESTORE SEQUENCER-Blocks 26 ist sowohl mit dem STPDIR-Register 52 und dem RES-Register 53 verbunden. Die beiden Register 52 und 53 werden zurückgesetzt, wenn die RST-Leitung 54 den logischen Hochpegelzustand annimmt. Wenn das RES-Register 53 zurückgesetzt ist, ist eine Ausgangsleitung des Registers 53, die RES-Leitung 55, auf einem Tiefpegel. Die Ausgangsleitung STPDIR 57 des STPDIR-Registers 52 ist Träger eines invertierten Signals vom Register 52. Wenn das STPDIR-Register 52 zurückgesetzt ist, ist die STPDIR-Leitung 47 auf einem Hochpegel. Die STPDIR-Leitung 47 ist mit einem Hochspannungsschalter, dem HVSW 56, dem VCRFGEN-Block 40, den Transferschaltern GATTERD 57, GATTERF 58 und GATTERN 59 verbunden. Wenn die STPDIR-Leitung 47 auf einem Hochpegel ist, lässt der HVSW-Schalter, 56 Hochspannungspulse auf der PRGHV-Leitung 24, welche mit dem Hochspannungsgenerator HVGEN-Block 27 verbunden ist, zur MLLINE-Leitung 30 durch. Wenn die STPDIR-Leitung 47 auf einem Tiefpegel ist, entkoppelt der HVSW-Schalter 56 die PRGHV-Leitung 24 von der MLLINE-Leitung 30.
  • Die Hochspannspulse werden vom HVGEN-Block 27 generiert, wenn der HVCTRL-Bus 23 vom PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 dazu gebracht wird, eine Programmier- oder Löschoperation anzusetzen. Während der Abtastung wird der PRGHV-Leitung 24 erlaubt, frei zu schweben und der HVGEN-Block 27 erzeugt keine Hochspannungspulse, da der HVCTRL-Bus für die Abtastung gesetzt wird. Der HVGEN-Block 27 versorgt ferner über den HVOUT-Bus 25 den Y-DEC-Block 18, den X-DEC-Block 17 und den BLOCK-DEC-Block 19 während der Betriebsmodi der Programmierung, der Löschung, der Wiederherstellung und potentiell ebenso für die Abtastung mit einer Hochspannung.
  • Der Y-MUX-Block 32 wählt die entsprechende Bit(Abtast)-Leitung der adressierten Zelle 20 unter Kontrolle des Y-DEC-Block 18 aus. Ein REGISTERS & ADDRESS BUFFER-Block 60 speichert die Adressen der Speicherzellen, welche wiederhergestellt werden sollen, mit den Statusanzeigern für die Wiederherstellungsbedienung, wie sie durch die BSERD-Methode bestimmt werden. Der REGISTERS & ADDRESS BUFFER-Block 60, der mit dem ADDRBUS-Bus 16 verbunden ist, wird durch den PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 über den BFCTLBUS-Bus 61 gesteuert.
  • Die Schalter GATTERD and GATTERE 57 und 62 sind in Serie geschaltet und mit der GROUND-Leitung 64 verbunden, welche auf einen logischen Tiefpegel gesetzt ist. Diese Schalter 57 und 62 werden durch die Signale auf der STPDIR-Leitung 47 und entsprechend der RES-Leitung 55 gesteuert. Entsprechend sind die GATTERF- und GATTERG-Schalter 58 und 63 in Serie geschaltet und mit der Power-Leitung 67 verbunden, welche auf einen logischen Hochpegelzustand gesetzt ist. Diese Schalter 58 und 63 sind ebenfalls durch die STPDIR-Leitung 47 und entsprechend durch die RES-Leitung 55 gesteuert.
  • Wenn sowohl die STPDIR-Leitung 47 und die RES-Leitung 55 zur selben Zeit auf einem Hochpegel sind, wird ein logischer Tiefpegelzustand durch die GATTERD- und GATTERE-Schalter 57 und 62 zu einer FLGB-Leitung 65 weitergeleitet. Für jede andere Signalkombination auf der STPDIR-Leitung 47 und der RES-Leitung 55 wird der logische Tiefpegelzustand nicht an die FLGB-Leitung 65 weitergeleitet, wodurch einem PULL UP LOAD-Block 66 ermöglicht ist, die FLGB-Leitung 65 auf einen logischen Hochpegelzustand zu ziehen. Wenn sowohl die STPDIR-Leitung 47 und die RES-Leitung 55 zur selben Zeit auf einem Tiefpegel sind, wird ein logischer Hochpegelzustand durch die GATTERF-, GATTERG-Schalter 58 und 63 zu einer FUGB-Leitung 68 weitergeleitet. Für jede andere Signalkombination auf der STPDIR-Leitung 47 und der RES-Leitung 55 wird der logische Hochpegelzustand nicht zur FUGB-Leitung 68 weitergeleitet; ein PULL DOWN LOAD-Block 69 erzwingt dann einen Tiefpegel-Spannungswert auf der FUGB-Leitung 68. Die FLGB-, FUGB-Leitungen 65 und 68 sind Eingangsleitungen für den PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 und den BINARY SEARCH READ SEQUENCER-Block 43. Ein Datenregisterpuls, erzeugt durch den PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 und weitergeleitet durch die LCHDAT-Leitung 70 gelangt über den GATTERH-Schaltung 59 zum DATA [0–3]-Registerblock 48, wenn die STPDIR-Leitung 47 auf einem Tiefpegel ist.
  • 8 zeigt ein Flussdiagramm der implementierten BSERD-Methode. Der BINARY SEARCH READ SEQUENCER-Block 43 und der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 enthalten die notwendigen Regelkreise, um die BSERD-Methode zu implementieren. Der Aufbau dieser Schaltkreise sollte für einen Fachmann für den Aufbau integrierter Schaltungen offensichtlich sein.
  • 9 zeigt ein Beispiel zur Abtastung einer Mehrebenenspeicherzelle für digitale Daten. Die Pfeile in 9 zeigen die Übergänge der Referenzspannungen an der VCRF-Eingangsleitung 45 im CMP-Komparator 35 zu bestimmten Zeitpunkten jeweils in Abhängigkeit von den Bedingungen an den Ausgängen des CMP 35 zu jedem der vorhergehenden Zeitpunkte, wie auf der Zeitachse dargestellt.
  • 10 zeigt exemplarisch ein Zeitverlaufsdiagramm zur Abtastung einer Mehrebenenspeicherzelle 20 für digitale Daten, wie sie in 9 und der nachfolgenden Beschreibung dargestellt wird. Die VT-Werte einer ausgesuchten Zelle 20, die zunächst entsprechend programmiert wurde, wird auf der VMEM-Leitung 31 (siehe 1) abgetastet und weist einen Wert auf, der mit „VT-Wert der Zelle" bezeichnet ist und in 9 als gestrichelte horizontale Linie dargestellt wird. Zur Zeit T0, bei der die BSERD-Methode einsetzt, wird die RST-Leitung 54 auf einen Hochpegel gepulst, um die RES-Register 52 und 53 zurückzusetzen. Der PRGRDB-Bus wird gesetzt, die PHSSEL-Leitung 46 ist auf einem Tiefpegel, der HVCTRL-Bus 23 wird für das Abtasten gesetzt, die RD-Leitung 28 ist auf einem Hochpegel und der ADDRBUS-Bus 16 enthält die Adresse der ausgesuchten, für die Abtastung vorgesehenen Speicherzellen. Nach den Rücksetzpulsen auf der Leitung 54 ist die STPDIR-Leitung 47 auf einem Hochpegel und die RES-Leitung 55 auf einem Tiefpegel. Die FLGB-Leitung 65 ist auf einem Hochpegel und die FUGE-Leitung 68 ist auf einem Tiefpegel.
  • Nun beginnt der „Set BIT3" Zyklus (siehe 6) sowie der erste Datendetektions-Unterzyklus. Das Bit mit der höchsten Signifikanz auf dem DATABUS [0 – 3]-Bus 44, Bit 3, wird durch den BINARY SEARCH READ SEQUENCER-Block 43 auf einen Hochpegel gezogen. Mit einem auf einen Hochpegel gezogenen Bit 3 (0001) auf dem DATABUS [0–3)-Bus 44 gibt der VX VY GEN-Block 38 die Referenzspannung VR8 zur Zeit T1D aus und der ΔVU ΔVL GEN-Block 39 gibt die Referenzspannungen VMRL8 und VMRU7 aus. Da die PHSSEL-Leitung 46 zu dieser Zeit auf einem Tiefpegel ist, gibt der VCRFGEN-Block 40 die Referenzspannung VR8 auf der VCRF-Eingangsleitung 45 aus. Direkt nach der Zeit T1D detektiert der CMP-Komparator 35, dass die VMEM-Leitung 31 einen höheren Wert als die VCRF-Eingangsleitung 45 annimmt und erzeugt einen logischen Hochpegelzustand auf der VCMPO-Leitung 49. Mit der PHSSEL-Leitung 46 auf einem Tiefpegel gibt die GATTERA-Schaltung 50 den logischen Hochpegelzustand über die VCMPO-Leitung 49 zur Eingangsleitung des STPDIR-Registers 52 weiter. Das Register 52 wird gesetzt und erzeugt einen logischen Tiefpegelzustand auf der STPDIR-Leitung 47. Mit der STPDIR-Leitung 47 auf Tiefpegel, gibt der Registerpuls auf der LCHDAT-Leitung 70 eine „1" an das DATA3-Register im DATA [0–3]-Registerblock 48 vom PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 über die LCHDAT-Leitung 70 weiter. Dies markiert das Ende des Daten-Detektions-Zyklus.
  • Als nächstes beginnt der erste Daten-Wiederherstellungs-Subzyklus. Die PHSSEL-Leitung 46 ist auf einem Hochpegel. Da die PHSSEL-Leitung 46 auf einem Hochpegel ist und die STPDIR-Leitung 47 auf einem Tiefpegel, gibt der VCRFGEN-Block 40 die Spannung (VR8 + VMRL8) auf der VCRF-Eingangsleitung 45 zur Zeit T1R aus. Der CMP-Komparator 35 detektiert, dass das Signal auf der VMEM-Leitung 31 immer noch höher ist als das Signal auf der VCRF-Eingangsleitung 45 und erzeugt einen logischen Hochpegelzustand auf der VCMPO-Leitung 49. Da die PHSSEL-Leitung 46 auf einem logischen Hochpegel ist, läuft das Signal auf der VCMPO-Leitung 49 durch den GATTERS-Schaltung 51 zum RES-Register 53 und wird nicht über den GATTERA-Schaltung 50 zum STPDIR-Register 52 weitergeleitet. Da der Pegel am Eingang des RES-Registers 53 auf einem Hochpegel ist, ist die Ausgangsleitung RES-Leitung 55 auf einem Hochpegel. Das ist das Ende des ersten Wiederherstellungs-Detektions-Subzyklusses und das Ende des „Set Bit3"-Zyklusses.
  • Die BSERD-Methode vollzieht die Folge von Ereignissen und Zyklen wie im voranstehenden Abschnitt beschrieben, um die „Set BIT2"-, die „Set BIT1"- und die „Set BIT0"-Zyklen in Sequenz durchzuführen. 9 zeigt die Referenzspannungen, die an der VCRF-Eingangsleitung 45 zu unterschiedlichen Zeitpunkten anliegen, 10 zeigt die logischen Ausgangsspannungen an der VCMPO-Leitung 49, der STPDIR-Leitung 47, der RES-Leitung 55, der FLGB-Leitung 65, der FUGE-Leitung 68 und dem DATABUS [0–3]-Bus 44 zu unterschiedlichen diskreten Zeiten. Wenn am Ende eines dieser Daten-Detektions-Subzyklen die Ausgangsleitungen des VCMPO 49 und des CMP-Komparators 35 auf einem Tiefpegel verbleiben, was bedeutet, dass die Spannung an der VMEM-Leitung 31 niedriger ist als die Spannung an der VCRF-Eingangsleitung 45, dann ist die STPDIR-Leitung 47 auf einem Hochpegel. Wenn dies auftritt, gelangen keine Datenregisterpulse von der LCHDAT-Leitung 70 durch die GATTERN-Schaltung 59. Dann bleibt das entsprechende Datenregister im DATA [0–3]-Registerblock 48 auf dem Rücksetzwert „0". Diese Bedingung tritt im vorliegenden Beispiel nicht auf. Entsprechend für den Fall, dass am Ende eines Wiederherstellungs-Detektions-Subzyklusses sowohl die STPDIR-Leitung 47 wie die RES-Leitung 55 einen Hochpegelzustand annehmen, wird die Bedingung für einen Tiefpegel-Wiederherstellungszyklus festgesetzt, wobei die FLGB-Leitung 65 auf einen Tiefpegel gezogen wird. Wenn am Ende eines Wiederherstellungs-Detektions-Subzyklusses sowohl die STPDIR-Leitung 47 und die RES-Leitung 55 einen Tiefpegelzustand annehmen, dann wirddie Bedingung für einen Hochpegel-Wiederherstellungs-Zyklus festgesetzt, wobei die FUGB-Leitung 68 auf einen Hochpegel gezogen wird.
  • Mit Abschluss der Datendetektion und der Wiederherstellungs-Detektions-Subzyklen werden die Begrenzungsdetektions- und die Begrenzungs-Wiederherstellungs-Subzyklen mit der BSERD-Methode durchgeführt. Am Ende des abschließenden „Set BIT0"-Zyklusses aus dem den Stand der Technik darstellenden Beispiel sind die Daten aus dem DATABUS [0–3]-Bus 44 auf (1111) gesetzt. Zu Beginn des Abgrenzungs-Subzyklusses detektiert der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 die Daten (1111) auf dem DATABUS [0–3]-Bus 44 und setzt den PRGRDB-Bus so, dass die Referenzspannung VR16 am Ausgang des VX VY GEN-Blocks 38 und die Referenzspannungen VMRU15, VMRL15 am Ausgang des ΔVU ΔVL GEN-Blocks 39 ausgewählt werden. Zu dieser Zeit ist die PHSSEL-Leitung 46 auf einen Tiefpegel gesetzt, der VCRFGEN-Block 40 gibt die VR16-Referenzspannung aus, und zwar auf der VCRF-Eingangsleitung 45 zur Zeit T5F. Der CMP-Komparator 35 detektiert, dass die VMEM-Leitung 31 einen niedrigeren Pegel hat als die VCRF-Eingangsleitung 45 und gibt einen logischen Tiefpegel auf der VCMPO-Leitung 49 aus. Mit der PHSSEL-Leitung 46 auf dem Tiefpegelzustand gibt der GATTERA-Schaltung 50 einen Tiefpegelzustand auf der VCMPO-Leitung 49 an das STPDIR-Register 52 weiter und das Register 52 gibt einen logischen Hochpegelzustand auf der STPDIR-Leitung 47 aus. Das stellt den Schlusspunkt des Abgrenzungs-Detektions-Subzyklusses dar. Während des Abgrenzungs-Detektions-Subzyklusses wird kein Registerpuls auf der LCHDAT-Leitung 70 erzeugt.
  • Dann wird zu Beginn des Abgrenzungs-Wiederherstellungs-Zyklusses die PHSSEL-Leitung 46 auf einen Hochpegelzustand gesetzt. Mit der STPDIR-Leitung 47 auf einem Hochpegel und der PHSSEL-Leitung 46 auf einem Hochpegel gibt, gemäß Tabelle 1, der VCRFGEN-Block 40 die Ausgangsspannungen V16 – VMRO15 auf der VCRF-Eingangsleitung 45 zur Zeit T5R aus. Der CMP-Komparator 35 detektiert, dass die Spannung auf der VMEM=Leitung 31 höher ist als auf der VCRF-Leitung 45 und erzeugt einen logischen Hochpegelzustand auf der VCMPO-Leitung 49. Da die PHSSEL-Leitung 46 auf einem Hochpegelzustand ist, wird der logische Hochpegelzustand auf der VCMPO-Leitung 49 über den GATTERS-Schalter 51 zum RES-Register 53 weitergeleitet. Der logische Hochpegelzustand gelangt nicht über den GATTERA-Schalter 50 zum STPDIR-Register 52. Da die Spannung am Eingang des RES-Registers 53 auf einem Hochpegel ist, bleibt die RES-Leitung 55 auf einem Hochpegel. Mit der Bedingung STPDIR-Leitung 47 = high und RES-Leitung 55 = high wird eine Tiefpegel-Wiederherstellungs-Zyklusbedingung festgestellt und die FLGB-Leitung 65 wird auf einen Tiefpegel gezogen. Dies beendet den Abgrenzungs-Wiederherstellungs-Subzyklus und beendet ferner die BSERD-Methode. Wenn zu Beginn des Abgrenzungs-Detektion-Subzyklus die BSERD-Methode weder eine (1111) noch eine (0000) auf dem DATABUS [0–3]-BUS 44 selektiert hat, dann wäre die BSERD-Abtastmethode beendet.
  • Als Abschluss der BSERD-Methode wird ein binäres Datenmuster aus N Bits, das ausschließlich einem einzigen in der ausgesuchten Zelle 20 abgespeicherten VT-Wert entspricht, in die Register des DATA [0–3]-Registerblocks 48 eingestellt und steht zum Auslesen auf dem DATABUS [0–3]-BUS 44, dem DATA, ADDR & CNTRL SYSTEM INTERFACE-Block 10 und dem DATA-Bus 11 zur Verfügung.
  • In der bevorzugten Ausführungsform liegen mit der Wiederherstellung auf einem Tiefpegel bzw. der Wiederherstellung auf einem Hochpegel zwei Bedingungen vor, die einen Wiederherstellungszyklus am Ende der Abgrenzungs-Detektions- oder Abgrenzungs-Wiederherstellungs-Zyklen auslösen. STPDIR-Leitung 47 = high und RES-Leitung 55 = high ist die Wiederherstellungs-Tiefpegel-Bedingung, welche die FLGB-Leitung 65 auf einen Tiefpegel zieht. STPDIR-Leitung 47 = low und RES-Leitung 55 = low ist die Wiederherstellungs-Hochpegel-Bedingung, welche die FUGE-Leitung 68 auf einen Hochpegel zieht (siehe 1 und 8). Falls zu einer beliebigen Zeit während der Durchführung der BSERD-Methode eine Wiederherstellungs-Zyklusbedingung festgestellt wird, detektiert der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 diese Bedingung und der Status der FLGB-Leitung 65 und der FUGE-Leitung 68 werden intern auf Wiederherstellungszyklus-Statusregistern abgespeichert. Das Wiederherstellungszyklus-Statusregister befindet sich im PROGRAM ERASE READ RESTORE SEQUENCER-Block 26. Wird bei der Durchführung der BSERD-Methode die Bedingung für einen Wiederherstellungszyklus gesetzt, initiiert der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 das Abspeichern der Adresse jenes Speicherbereichs, welcher einen Wiederherstellungszyklus verlangt, sowie die Art des Wiederherstellungszyklusses in den REGISTERS & ADDRESS BUFFER-Block 60.
  • Das Abspeichern der Adresse, die einen Wiederherstellungszyklus verlangt, sowie des Typs des Wiederherstellungszyklusses ermöglicht die Flexibilität, den Wiederherstellungszyklus zu einer späteren Zeit durchzuführen. Für den Fall, dass der Wiederherstellungszyklus sofort im derzeit aktuellen Speicherbereich durchgeführt wird, ist es nicht nötig, die Adresse und den Typ des verlangten Wiederherstellungszyklusses im REGISTERS & ADDRESS BUFFER-Block 60 abzuspeichem. Der REGISTERS & ADDRESS BUFFER-Block 60 kann die Informationen über einen Wiederherstellungszyklus für eine Mehrzahl von Adressen, die einen Wiederherstellungszyklus verlangen, abspeichern. Der REGISTERS & ADDRESS BUFFER-Block 60 kann entweder im gleichen oder einem anderen integrierten Schaltkreis lokalisiert sein und kann entweder aus einem flüchtigen oder einem nicht flüchtigen Speicher bestehen.
  • Die 6 und 7 zeigen die Datenabtastung auf einer Speicherzelle. Die bevorzugte Ausführungsform funktioniert ebenfalls für die Abtastung von Daten auf einer Seite von Zellen. Der Y-DRIVER-Block 33 in 7 wird entsprechend der Anzahl der Zellen, J, die in einer Seite existieren, wiederholt. Die Leitungen, die über die Grenze des Y-DRIVER-Blocks 33 in 7 hinausgehen, werden von allen Y-DRIVER-Blöcken 33 geteilt, ausgenommen die Leitungen zum CELL ARRAY-Block 21. Die FLGB-Leitung 65 und die FUGE-Leitung 68 sind zwischen allen Y-DRIVER-Blöcken 33 über eine Oder-Verdrahtung miteinander verbunden.
  • 11 zeigt in einem ersten Ausführungsbeispiel den detaillierten Aufbau der Speichermatrix und der Y-DRIVER-Blöcke 33 für den Betrieb im Seitenmodus. Der gleiche Aufbau wird während der Programmierung und den Wiederherstellungszyklen, die auf eine Seite von Zellen wirken, und während Löschzyklen, die auf einen Löschblock von Zellen wirken, verwendet. Dargestellt sind „J" der Y-DRIVER-Blöcke 33. Der YDECO-Bus 34 des Y-DEC-Blocks 18 in 7 steuert die Auswahl der aktiven Seite in jedem Y-DRIVER-Block 33 mittels Y-M UX 32.
  • Die Schaltkreise und die Speicherzellenmatrix, die in 11 in dem mit CELL ARRAY 21 gekennzeichneten Block dargestellt werden, sind nicht Teil der vorliegenden Erfindung, diese werden aber nachfolgend erklärt, um aufzuzeigen, wie die Ausführungsform der Erfindung eine Schnittstelle mit einer beliebigen Speicherzellenmatrix bildet.
  • In 11 sind „S"-Seiten dargestellt. Ferner sind „K"-Blöcke 83–84 gezeigt. Jeder der Blöcke kann aus einer Vielzahl von Zellzeilen bestehen. Die Auswahl der Blöcke und der Zeilen wird, wie in 7 dargestellt, durch das Zusammenwirken des X-DEC-Blocks 19 bzw. 17 durchgeführt. Die BSU-Unterblöcke 77 und die BSU-Unterblöcke 78 innerhalb eines jeden Blocks 83–84 führen die Auswahl und das Absetzen eines Bits auf den (Abtast-)Leitungen (BL00-Leitungen 71 bis BLSJ-Leitungen 72) oder auf den gemeinsamen Leitungen (CL0-Leitung 75 bis CLK-Leitung 76) für jeden der Blöcke 83–84 der Matrix aus. Die BSU-Blöcke 77 und die BSL-Blöcke 78 werden von den SLUK-Leitungen 79 und SLLK-Leitungen 80 gesteuert. Die SLLO-Leitung 81, die SLUO-Leitung 82 und CLO-Leitung 75 für den BLOCK0-Block 83 und die SLLK-Leitung 80, die SLUK-Leitung 79 und die CLK-Leitung 76 für den BLOCKK-Block 84 werden, wie in 11 gezeigt, von den in dem 7 dargestellten BLOCK-DEC-Block 19 zur Verfügung gestellt.
  • Leitungen mit der Breite eines Worts (Word) (WL00-Leitung 85 bis WLKT-Leitung 86) wählen die entsprechende Zeile innerhalb jedes Blocks 83–84 aus. Pro Block gibt es, wie in 11 dargestellt, „T"-Wort-Zeilen. Die Wort-Zeilen werden durch den X-DEC-Block 17, der in 7 dargestellt ist, gesteuert. Es wird eine Vielzahl von X-DEC-Blöcken 17, BLOCK-DEC-Blöcken 19 und Y-DEC-Blöcken 18 verwendet. Abkürzend ist in 7 jeweils einer hiervon gezeigt. Im Seitenmodus wird ein Block 83–84 ausgesucht, eine Zeile wird innerhalb des Blocks ausgesucht und eine Seite wird innerhalb der Zeile wird ausgesucht. Die in 11 stark umrandeten Zellen 20 bilden die Seite 1 in Zeile 1 des Blocks 0. Diese Seite 1 wird durch die Bit-(Abtast-)BL10-Leitung 73 bis BLIJ-Leitung 74, die WL01-Leitung 87 in Wortbreite und die SLUO-Leitung 82 für die Selektion des Blocks, die SLLO-Leitung 81 und die CL0-Leitung 75 ausgewählt. Ein Löschvorgang betrifft alle Zellen innerhalb des ausgesuchten Blocks 83. Ein Programmiervorgang betrifft nur die Zellen innerhalb der ausgesuchten Seite auf direkte Art und Weise. Diese Ausführungsform der Erfindung kann mit jeder nicht flüchtigen Speicherzellenmatrix verbunden werden.
  • II. Minimalprogrammierung
  • Allgemeine Beschreibung des Minimalprogrammiervorgangs
  • Eine neue Mehrebenen-Programmiermethode, die so genannte Minimalprogrammierung, wird in diesem Abschnitt als Teil der vorliegenden Erfindung beschrieben. Abweichend von den Programmiermethoden des Stands der Technik, die eine Programmierung nur bei Zellen, die komplett gelöscht sind, starten, funktioniert die Minimalprogrammiermethode ohne die Notwendigkeit einer vollständigen Löschung von Zellen, welche noch gültige Daten enthalten. Nach dem Stand der Technik werden bei einem Löschvorgang alle VT-Werte der Zellen innerhalb des für die Löschung ausgesuchten Blocks oder Sektors vollständig in den nicht nutzbaren VT-Werte-Bereich VF verschoben, der, wie in den 3A3C dargestellt, mit VLERASE bezeichnet wird. Nach einer Löschoperation verschiebt die Programmiermethode gemäß dem Stand der Technik in den selektierten Zellen den VT-Wert aus dem VLERASE-Bereich heraus in eines der anderen Niveaus, hierbei wird eine größere Ladungsmenge durch die Oxide, die das schwebende Gatter der Speicherzelle umgeben, hindurchbewegt.
  • Im Gegensatz zum Stand der Technik bewegt die Minimalprogrammiermethode ohne die Notwendigkeit einer vollständigen Löschung nur eine kleine Ladungsmenge. Jeder VT-Wert einer ausgesuchten Zelle wird nur ein wenig verändert und dies nur innerhalb der Grenzen des ursprünglichen VL-Werts der Zelle. Die schädlichen Einflüsse auf die P/E-Zyklus-Ausdauer der Zelle, welche durch die dem Stand der Technik entsprechende Programmiermethode verursacht werden, werden vermieden, da nur eine kleine Ladungsmenge durch die neue Minimalprogrammiermethode bewegt wird. Ferner ist nur die Ladungsmenge zu bewegen, die notwendig ist, um die zuvor bestimmte Drift der VT-Werte zu korrigieren. Die Minimalprogrammiermethode benötigt weniger Zeit als eine Programmierung nach dem Stand der Technik, die von der Bedingung einer vollständiger Löschung ausgeht. Zusätzlich beeinflusst die Minimalprogrammierung die VT-Werte der ausgesuchten Zelle nur geringfügig, daher ist der aus der Programmierung resultierende störende Effekt auf andere nicht selektierte Zellen zu vernachlässigen. Die Minimalprogrammiermethode kann den VT-Wert ein kleines Stück innerhalb eines VL-Niveaus in die entgegengesetzte Richtung zur Löschung verschieben und vollzieht folglich einen Arbeitsschritt, welcher für die erwünschte Wiederherstellung der VT-Werte während der Wiederherstellungsoperation nötig ist, um die Mehrebenen-Datenspeicherung zuverlässig zu gestalten.
  • Die Minimalprogrammiermethode verwendet die Möglichkeiten der Bandabtastung der vorliegenden Erfindung, welche denjenigen entsprechen, die in der Abhandlung über digitale Mehrebenenabtastung beschrieben wurden, für das Lesen und die Überprüfung, ob die VT-Werte der Zellen innerhalb des gewünschten Bands der VL-Spanne gespeichert sind. Dies stellt sicher, dass adäquate Sicherheitsbänder vorhanden sind, um uneindeutiges Abtasten an beiden Enden der VL-Spanne zu verringern. Dies wird durch die Verwendung eine Vielzahl neuer Referenzspannungen für die Überprüfungsvorgänge bei der Minimalprogrammierung bewirkt.
  • Die Minimalprogrammiermethode der vorliegenden Erfindung verwendet zwei zusätzliche neue Referenzspannungen bei VRI + VMPLI und VR(I+1) – VMPUI. Die Referenzspannungen in Verbindung mit VRI und VR(I+1), legen zwei neue untere und obere Minimalprogrammierungs-Sicherheitsbänder VMPLI und VMPUI innerhalb eines jedes VLI-Niveaus fest, was in 12 dargestellt ist. VMPLI und VMPUI können oder können nicht gleich öder können oder können nicht größer als die voranstehend beschriebenen VMRLI- und VMRUI-Sicherheitsbänder für das Lesen gesetzt werden. Die VMPLI- und VMPUI-Bänder innerhalb eines jeden VLI-Niveaus werden derart gewählt, dass die resultierende Verteilung der VT-Werte nach der Minimalprogrammierung optimiert innerhalb eines erwünschten Bands zu liegen kommt, welches schmäler ist als die VL-Spanne. Die Optimierung kann voraussetzen, dass die VMPLI- und VMPUI-Bänder unterschiedliche Werte annehmen und kann unterschiedliche Bandwerte für jedes VLI-Niveau voraussetzen und kann ferner sogar beliebige Bandwerte, welche von der Prozesstechnologie abhängen, voraussetzen. Alternativ können die VMPLI und VMPUI in jedem der VLI-Niveaus die gleichen Werte annehmen. Die vorliegende Erfindung kann so angepasst werden, dass sie sich für die Optimierung einer großen Vielzahl von Herstellungstechnologien für Speicher eignet.
  • Die Prüfungsmethode der vorliegenden Erfindung hebt sich von den bisherigen Methoden ab, welche die VT-Werte einer Zelle nur relativ zu einem Einzelwert bestimmen und welche die Methoden der statistischen Prozesskontrolle verwenden, um zu verhindern, dass der VT-Wert einer Zelle über das gewünschte Band für VT hinausschießt. Ein Überschießen des VT-Werts ist während des Programmiervorgangs möglich und kann aufgrund der voranstehend erwähnten Rotbit-Effekte auftreten. Diese Effekte werden durch eingefangene Ladungen verursacht, wie sie in den Oxiden, welche das schwebende Gatter umgeben, oder an Defekten aus der Prozessierung entstehen.
  • Die Minimalprogrammiermethode minimiert das Einfangen von Ladungen sowie die Möglichkeit des Auftretens von Rotbits in einer Zelle, da nur eine kleine Ladungsmenge durch die Oxide des Gatters bewegt wird. Die Überprüfungsoperation der Minimalprogrammierung stellt fest, wenn ein VT-Wert zu weit in eines der Sicherheitsbänder gedriftet ist, so dass die Minimallöschoperation (wie nachfolgend beschrieben) dafür verwendet wird, den gewünschten VT-Wert innerhalb des Niveaus wiederherzustellen. Diese Wiederherstellungsfähigkeit ohne ein komplettes Löschen und eine neue Programmieroperation ist im Stand der Technik nicht bekannt. Bei der Verwendung der Wiederherstellungsmethode der vorliegenden Erfindung wird ein vollständiges Löschen und Neuprogrammieren für das Wiederherstellen nach dem Auftreten eines überschießenden VT-Wertes vermieden und die P/E-Ausdauer des Chips wird erhalten.
  • Methodik der Minimalprogrammierung
  • Die Minimalprogrammiermethode kann am einfachsten durch die Annahme einer Vielzahl von Zellen, welche innerhalb derselben Programmierseite verbunden sind, beschrieben werden. Übliche Mehrebenenspeichersysteme verwenden die Architektur des Seitenmodus zur Reduktion der Programmierzeit, so dass eine Vielzahl von Zellen simultan programmiert wird. Zur Beachtung aller möglichen Verästelungen in der Programmierung ist es notwendig, dass Verhalten aller Zellen wenigstens innerhalb einer solchen Seite, wenn nicht des gesamten Chips, zu verstehen.
  • 12 zeigt zu zwei verschiedenen Zeiten TRESP und TRESP die Verteilung der VT-Werte einer Vielzahl von Zellen im Speicher, welche sich im selben Niveau befinden. In diesem Beispiel zeigt eine der Verteilungen der VT-Werte die Bedingungen, die vorliegen, nach dem Zellen mit der voranstehenden erfindungsgemäßen BSERD-Methode zum Zeitpunkt TRESP ausgelesen wurden. Die BSERD-Methode hat zwei Zellen mit VT-Werten bei A und B innerhalb des Sicherheitsbandes VMRLI detektiert. Der Statusanzeiger für die Wiederherstellungsbedingung wurde gesetzt, um anzuzeigen, dass eine Wiederherstellungsoperation notwendig ist. Die BSERD-Methode hat ferner detektiert, dass die Wiederherstellungsoperation ohne eine Minimallöschung durchgeführt werden kann, da festgestellt wurde, dass sich keine Zellen innerhalb des VMRUI-Sicherheitsbandes befinden und ein Statusanzeiger für die Hochpegel-Wiederherstellung für diese Adressseite gesetzt bleibt.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung führt der Chip vorteilhafterweise eine Minimalprogrammierung zu einem späteren Zeitpunkt aus, um die VT-Werte der Seite von Zellen, die zuvor mit einem Statusanzeiger für eine Wiederherstellungsoperation ohne eine Minimallöschung versehen wurden, wiederherzustellen. Zunächst werden die Zellen mit einer vereinfachten BSERD-Methode ausgelesen, wobei nur der Daten-Abtast-Subzyklus ohne den Wiederherstellungs-Detektions-Subzyklus Anwendung findet, um die N binären Bits, welche zu den VT-Werten in den Auslesezellen korrespondieren, in die Register zu verschieben.
  • In einem alternativen Ausführungsbeispiel der vorliegenden Erfindung wird eine Minimalprogrammieroperation direkt nach einem voll regulären BSERD-Auslesen durchgeführt, der erste vereinfachte BSERD-Schritt wird ausgelassen, da die N binären Datenbits bereits bei der vollständigen BSERD-Methode in die Register verschoben wurden. Als nächstes werden die VT-Werte der Zelle mit neuen Referenzspannungen VRI + VMPLI, welche die unteren Sicherheitsbänder der Minimalprogrammierung repräsentieren, verglichen, wobei I ausschließlich für das Niveau steht, das durch die in den Registern befindlichen N binären Datenbits repräsentiert wird. Diese Überprüfungsabtastung unterscheidet sich von der Leseabtastung während der BSERD-Methode, da die Überprüfung den Status der als letztes in die Register verschobenen N binären Datenbits, die zu den in den Zellen gespeicherten VT-Werten korrespondieren, nicht verändert. Folglich sind alle nun überprüften Zellen mit einem VT-Wert unterhalb von VRI + VMPLI innerhalb des unteren Sicherheitsbands für die Minimalprogrammierung VMPLI, welches durch die Werte VRI und VRI + VMPLI definiert ist.
  • Als nächstes wird eine Minimalprogrammierpuls geeigneter Spannung und Zeitdauer selektiv auf jene Zellen der ausgewählten Seite angewandt, für welche beim vorausgehenden Überprüfungsschritt festgestellt wurde, dass der VT-Wert innerhalb des unteren VMPLI-Sicherheitsbandes liegt. Die Zellen mit einem VT oberhalb des Sicherheitsbandes VMPLI werden von diesem Minimalprogrammierpuls ausgenommen. Nach dem ersten Minimalprogrammierpuls wird ein weiterer Überprüfungsschritt durchgeführt. Falls es sich bestätigt, dass irgendwelche Zellen innerhalb des unteren Sicherheitsbandes VMPLI liegen, wird ein weiterer selektiver Minimalprogrammierpuls angewandt, wiederum nur für jene Zellen, die sich innerhalb des VMPLI-Bandes befinden. Die Überprüfung/Minimalprogrammierungs-Pulssequenz wird, wie in 12 dargestellt, bis zur Zeit TRESP wiederholt, d. h. bis alle Zellen der Seite einen überprüften VT-Wert oberhalb des VMPLI-Sicherheitsbandes aufweisen oder bis eine vorbestimmte maximale Anzahl von Minimalprogrammierpulsen angewandt wurde und das System einen Fehlerstatusanzeiger setzt. Die resultierende Verteilung der VT-Werte der Zellen kann sich nun beispielsweise wie in der zweiten, in 12 gezeigten, Verteilung zum Zeitpunkt TRESP darstellen.
  • In diesem Beispiel wurde die Wiederherstellungsoperation ursprünglich durch jene Zellen ausgeläst, für die zuvor gefunden wurde, dass sie sich innerhalb des unteren Sicherheitsbandes für die Auslesung VMRLI befinden, dies gilt etwa für die Zellen A und B in 12. Zellen mit einem VT-Wert innerhalb VMPLI wurden ebenfalls minimal programmiert, was in einer engeren VT-Verteilung für die gesamte Seite resultiert, zusätzlich zur Korrektur der ursprünglich mit einem Statusanzeiger versehenen Zellen innerhalb VMRLI. Die resultierende engere VT-Verteilung über die gesamte Seite verbessert die Leitungsfähigkeit des Systems durch das Ausschließen der Notwendigkeit einer zukünftigen Wiederherstellungsoperation auf dieser Seite.
  • Zur Detektion eines Überschießens der VT-Werte wird nach der voranstehend beschriebenen Überprüfung/Minimalprogrammierungs-Pulssequenz ein zusätzlicher Überprüfungsschritt durchgeführt. Alternativ kann der zusätzliche Überprüfungsschritt nach jedem Minimalprogrammierpuls durchgeführt werden, dies würde jedoch in längeren Ausführungszeiten resultieren. Dieser zusätzliche Arbeitsschritt überprüft die VT-Werte aller Zellen innerhalb der ausgesuchten Minimalprogrammierungsseite mit Bezug auf ein zweites, neues oberes Sicherheitsband für die Minimalprogrammierung, die Referenzspannung VR(I+1)-VMPUI, wobei sich I wiederum ausschließlich auf dasselbe Niveau bezieht, welches durch die in den Registern befindlichen N binären Bits repräsentiert wird. Alle Zellen, deren VT-Werte nun nachgewiesenermaßen oberhalb der Spannung VR(I+1) – VMPUI sind, befinden sich innerhalb des oberen Sicherheitsbandes für die Minimalprogrammierung VMPUI, welches durch die Werte VR ( I+1 ) und VR ( I+1 ) – VMPUI festgelegt ist. Der Statusanzeiger für das Überschießen eines VT-Wertes wird dann gesetzt, wenn ein VT-Wert einer Zelle innerhalb des Sicherheitsbandes VMPUI detektiert. Danach überprüft eine Wiederherstellungsoperation, ob ein Statusanzeiger für das Überschießen eines VT-Wertes im System gesetzt ist und bestimmt, ob eine Wiederherstellungsoperation für das Überschießen eines VT-Wertes notwendig ist. Die Wiederherstellung eines überschießenden VT-Werts ist eine Abfolge von Operationen, welche Minimallöschoperationen beinhalten, die nachfolgend detailliert in der Abhandlung des Erfinders über das Minimallöschen dargestellt sind.
  • Mehrebenenspeichersystem für die Minimalprogrammierung
  • 7 zeigt ein Blockdiagramm eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung, welches bereits im Zusammenhang mit der BSERD-Abtastmethode beschrieben wurde. Die Minimalprogrammieroperationen für die Prüfabtastung unterscheiden sich von den Leseoperationen dadurch, dass der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 den ΔVU ΔVL GEN-Block 39 über den BRGRDB-Bus 37 anweist, anstatt der Spannungen VMRU(I_1) und VMRLI vom Referenzspannungsbus RVBUS 42, die Spannungen VMPUI und VMPLI zu erzeugen. Ferner wird der VX VY GEN-Block 38 instruiert, die Spannungen VRI und VMR(I+1), zu generieren, wobei 1 auf dasjenige Niveau bezogen ist, welches von den N binären Datenbits repräsentiert wird, die in die Register des DATA [0–3]-Registerblocks 48 innerhalb eines jeden Y-DRIVER 33 während des vorangehenden BSERD-Schritts verschoben wurden.
  • Nach der Überprüfungssequenz werden das STPDIR-Register 52 und das RES-Register 53 innerhalb jedes Y-DRIVER 33 derart gesetzt, dass die STPDIR-Leitung 47 auf einem Hochpegel steht, falls sich der überprüfte VT-Wert der Zelle innerhalb des VMPLI-Sicherheitsbands befindet. Ein Hochpegelzustand auf der STPDIR-Leitung 47 stellt den Hochspannungsschalter HVSW 56 an, welcher den Hochspannungs-Programmierpuls von der PRGHV-Leitung 24 zu der MLLINE-Leitung 30 durchgehen lässt. Der Y-MUX-Multiplexer 32 innerhalb jedes Y-DRIVER 33 leitet den Hochspannungspuls zu der entsprechenden Zelle 20 in der ausgesuchten Seite.des CELL ARRAY 21 weiter, welche für die Programmierung durch den Y-DEC-Decoder 18 ausgesucht wurde. Die STPDIR-Leitung 47 ist auf Tiefpegel, wenn der überprüfte VT-Wert der Zelle außerhalb des VMPLI-Sicherheitsbandes ist: Ein Tiefpegelzustand auf der STPDIR-Leitung 47 schaltet den HVSW-Hochspannungsschalter 56 ab. Dies isoliert den Hochspannungs-Programmierpuls von der MLLINE-Leitung 30 Wenn sich irgendein überprüfter VT-Wert der Zelle innerhalb des oberen Sicherheitsbandes VMPUI befindet, wird innerhalb des PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 ein Statusanzeiger für das Überschießen des VT-Werts gesetzt. Die Positionsadresse und der entsprechende Statusanzeiger für das Überschießen eines VT-Wertes werden im REGISTERS & ADDRESS BUFFER-Block 60 abgespeichert. Jedes Mal, wenn die Prüfungs-/Minimalprogrammierungs-Pulssequenz abgearbeitet ist, wird ein Zähler im PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 inkrementiert. Wenn der Zählerstand eine vorbestimmte maximale Anzahl übersteigt, wird die Minimalprogrammierung für diese Seite gestoppt und ein Statusanzeiger für einen Systemfehler wird im PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 zusammen mit der Adresse im REGISTERS & ADDRESS BUFFER-Block 60 gesetzt.
  • III. Minimallöschung
  • Allgemeine Beschreibung des Minimallöschvorgangs
  • Eine Mehrebenen-Löschungsmethode, die Minimallöschung genannt wird, wird in diesem Abschnitt als Teil der vorliegenden Erfindung beschrieben. Abweichend von den bisherigen Löschungsmethoden, welche die in den Zellen abgespeicherten Daten zerstören, lässt die Minimallöschmethode die ursprünglich in der Zelle abgespeicherten Daten intakt. Eine dem Stand der Technik entsprechende Löschoperation verschiebt, wie in den 3A3C dargestellt, die VT-Werte aller Zellen des ausgesuchten Löschblocks vollständig zum nichtnutzbaren Ende der VT-Spanne der Zellen VF, die VLERASE genannt wird.
  • Diese Löschoperation verschiebt die ausgesuchten VT-Werte der Zellen aus einem der anderen VL-Niveaus in die VLERASE-Spanne mittels der Bewegung einer großen Ladungsmenge durch die Oxide, welche das schwebende Gatter der Speicherzelle umgeben.
  • Im Gegensatz hierzu, verschiebt die Minimallöschung nur eine kleine Ladungsmenge. Wie im Fall der Minimalprogrammierung, verschiebt sich der VT-Wert der Zelle nur um einen kleinen Betrag und nur innerhalb der Grenzen des ursprünglichen VL-Niveaus der Zelle. Der schädigende Effekt auf die P/E-Zyklusausdauer, welcher durch die Löschoperationen nach dem Stand der Technik verursacht wird, ist durch die Minimallöschung vermeidbar. Nur eine kleine Ladungsmenge wird bewegt. Ferner wird nur die Ladungsmenge bewegt, die zur Korrektur der zuvor bestimmten Drift des VT-Werts notwendig ist. Die Minimallöschoperationen verbrauchen weniger Zeit als das vollständige Löschen, wie es im Stand der Technik durchgeführt wird. Zusätzlich beeinflusst das Minimallöschen die VT-Werte der ausgesuchten Zellen nur geringfügig und folglich ist der resultierende Störeinfluss der Löschung auf andere nicht selektierte Zellen zu vernachlässigen. Die Minimallöschoperation kann den VT-Wert um einen kleinen Betrag innerhalb. des VL-Niveaus in die entgegengesetzte Richtung der Programmierung verschieben und vollzieht folglich eine der Funktionen, die notwendig ist, um die erwünschte Wiederherstellung der VT-Werte durchzuführen und eine zuverlässige Mehrebenen-Datenspeicherung zu ermöglichen.
  • Die Minimallöschmethode arbeitet mit der Minimalprogrammiermethode, die voranstehend beschrieben wurde, zusammen, um das Problem zu beseitigen, welches mit der Löschung großer Blöcke verbunden ist. Die große Anzahl von Zellen, die in einem Löschblock verbunden sein können, erzeugt eine breitere Verteilung von VT-Werten der Zelle nach der Anwendung eines Löschpulses im Vergleich zur Verteilung, welche sich nach einem Programmierpuls einstellt, der auf eine kleinere Anzahl von Zellen innerhalb einer Programmierseite angewandt wird. Die Minimallöschmethode verwendet eine Kombination der Minimalprogrammier- und Minimallöschoperationen, um die Breite der Verteilung der VT-Werte der Zelle innerhalb jedes VLI-Niveaus für alle Zellen innerhalb eines Löschblockes zu reduzieren.
  • Die Minimallöschoperation verwendet die Bandabtastfähigkeiten der vorliegenden Erfindung, welche denjenigen entsprechen, welche in der Abhandlung über die Mehrebenen-Digital-Abtastungen beschrieben wurden, um zu überprüfen, dass der VT-Wert jeder Zelle in das erwünschte Intervall der VL-Spanne bewegt wurde, zur Sicherstellung adäquater Sicherheitsbänder, um ein uneindeutiges Abtasten an beiden Enden der VL-Spanne zu verhindern. Dies wird durch mehrere Referenzspannungen während der Minimallöschungs-Überprüfung erreicht. Drei zusätzliche Referenzspannungen bei VRI + VMPELI, VRI + VMELI und VR( I+ 1) – VMEUI definieren in Verbindung mit VRI und VR( I+ 1), wie in den 13A und 13B dargestellt, drei Sicherheitsbänder für die Minimallöschung VMPELI, VMELl und VMEUI innerhalb eines jeden der VLI-Niveaus. VMPELI+ VMELI und VMEUI können, aber müssen nicht, gleich oder können, aber müssen nicht, größer als die voranstehend beschriebenen VMRLI- und VMRUI-Sicherheitsbänder für das Auslesen oder die Sicherheitsbänder VMPLI und VMPUI für die Minimalprogrammierung sein.
  • Die VMPELI-, VMELI- und VMEUI-Sicherheitsbänder innerhalb jedes dieser VLI -Niveaus werden so ausgewählt, dass die resultierende Verteilung der VT-Werte nach der Minimallöschung optimiert innerhalb des gewünschten Bandes liegt, welches schmäler als die VL-Spanne ist.
  • Die Optimierung kann voraussetzen, dass die Bänder VMPELI , VMELI und VMEUI symmetrisch zueinander sind und kann unterschiedliche Bandwerte für jedes der VLI-Niveaus oder sogar beliebige Bandwerte voraussetzen, die von der Prozesstechnologie zur Herstellung der Speicherzellenmatrix bestimmt werden. Alternativ hierzu können die Sicherheitsbänder in jedem Niveau die gleichen Werte annehmen. Die Minimallöschung ist flexibel genug, um die Optimierung für eine große Bandbreite von Prozesstechnologien anzupassen.
  • Das Prüfungsverfahren der Minimallöschung gemäß der vorliegenden Erfindung unterscheidet sich vom Stand der Technik, bei dem die VT-Werte der Zelle nur in Bezug zu einer einzelnen Referenzspannung überprüft werden und welche statistische Prozesskontrolle dazu verwendet, dass Unterlaufen der VT-Werte der Zelle unter das gewünschte VT-Band zu verhindern. Ein Unterlauf von VT-Werten (Analogon bei der Löschung zum Überschießen der VT-Werte während der Programmierung) ist bei jeder Löschoperation möglich und kann bei dem zuvor dargestellten Rotbildeffekt entstehen, welcher durch die in den Oxiden, die das schwebende Gatter der Speicherzelle umgeben, eingefangenen Ladungen oder durch andere Prozess induzierte Defekte ausgelöst werden. Zusätzlich verringert die Minimallöschung die Wahrscheinlichkeit für das Einfangen von Ladungen und damit die Möglichkeit, dass ein Rotbildeffekt auftritt, da nur eine kleine Ladungsmenge durch die Oxide des Gatters bewegt wird.
  • Die Überprüfungsoperation der Minimallöschung bestimmt, ob ein VT-Wert einer Zelle innerhalb des Löschblocks in eines der Sicherheitsbänder VMELI verschoben wurde und beendet das weitere Minimallöschen, so dass das Minimalprogrammierverfahren später den erwünschten VT-Wert innerhalb dieses Niveaus wiederherstellen kann. Diese Fähigkeit zur Wiederherstellung von unterlaufenden VT-Werten besteht im Stand der Technik nicht ohne dass zuvor ein vollständiges Löschen und eine Wiederprogrammierung durchgeführt werden. Durch die Verwendung der Wiederherstellungsoperation der vorliegenden Erfindung wird ein vollständiges Löschen und Wiederprogrammieren beim Auftreten eines Unterlaufs der VT-Werte vermieden und die P/E-Lebensdauer des Speicherchips erhöht.
  • Die Richtung, in der die VT-Werte einer Zelle beim Löschen verschoben werden, ist für die jeweilige Siliziumtechnologie spezifisch. Die Minimallöschung passt sich jeder Richtung bei der Löschung der VT-Werte an und ist für eine große Bandbreite von Speichertechnologien anwendbar. Zur Vereinfachung wird die Minimallöschung anhand von Beispielen und Figuren beschrieben, welche den Fall darstellen, bei dem die Löschoperation den VT-Wert der Zelle verringert. Der entgegengesetzte Fall eines zunehmenden VT-Werts bei der Löschung kann in analoger Art und Weise von einem Fachmann durchgeführt werden. Folglich sind die gewählten Beispiele und Vertahren nicht auf eine spezielle Speichertechnologie im Hinblick auf die Polarität bei der Löschung begrenzt.
  • Methodik der Minimallöschung
  • Die Minimallöschmethode kann am einfachsten durch die Annahme einer Vielzahl von Zellen, welche innerhalb desselben Löschblocks verbunden sind, beschrieben werden. Zweckmäßige Mehrebenenspeichersysteme sollten eine Architektur mit Löschblöcken zur Reduktion der Fläche der Zellen verwenden, so dass eine Vielzahl von Zellen simultan gelöscht wird. Zur Beachtung aller möglichen Verästelungen bei der Löschung ist es notwendig, das Verhalten aller Zellen wenigstens innerhalb eines solchen Löschblocks, wenn nicht des gesamten Chips, zu verstehen.
  • Die 13A und 13B zeigen zu sechs verschiedenen Zeiten TRES R, TRESPE 1, TRESE 1, TRESPE 2, TRESE 2 und TRESP die Verteilung der VT-Werte einer Vielzahl von Zellen im Speicher, welche sich im selben Niveau VLI befinden. In diesem Beispiel zeigt die Verteilung der VT-Werte zur Zeit TRESR die Bedingungen, die vorliegen, nach dem Zellen mit der voranstehenden erfindungsgemäßen BSERD-Methode ausgelesen wurden. Die BSERD-Methode hat zwei Zellen mit VT-Werten bei A und B innerhalb des Sicherheitsbandes TRMLI sowie zwei weitere Zellen mit VT-Werten bei C und D innerhalb des TMRUI-Sicherheitsbands detektiert. Die Statusanzeiger für die Wiederherstellungsbedingung wurden gesetzt, um anzuzeigen, dass eine Wiederherstellungsoperation notwendig ist. Die BSERD-Methode hat ferner detektiert, dass die Wiederherstellungsoperation mit einer Minimallöschung durchgeführt werden kann, da festgestellt wurde, dass sich Zellen innerhalb des TMRUI-Sicherheitsbandes befinden und ein Statusanzeiger für die Tiefpegel-Wiederherstellung für diese Blockadresse gesetzt bleibt.
  • Gemäß einem Ausführungsbeispiel der Minimallöschmethode führt der integrierte Schaltkreis eine Serie von Operationen aus, welche die Minimalprogrammierung und die Minimallöschung beinhalten. Die Minimalprogrammiervorgänge wurden voranstehend beschrieben. Die Minimallöschmethode verwendet zwei Versionen der Minimalprogrammieroperationen. Eine Version entspricht der zuvor beschriebenen Minimalprogrammierung. Die voranstehend beschriebenen Sicherheitsbänder VMPLI und VMPUI dienen zur endgültigen Einstellung der VT-Werte zum Abschluss einer Minimallöschsequenz.
  • Die zweite Version der Minimalprogrammieroperation unterscheidet sich von der ersten Version dahingehend, dass ein unterschiedliches Sicherheitsband für die Programmierung VMPELI (vor der Löschung) verwendet wird. Die Minimalprogrammieroperation mit VMPELI wird vor jeder Minimallöschoperation durchgeführt. Es kann eine Mehrzahl von Minimallöschoperationen bis zur einer vorbestimmten maximalen Anzahl von Minimallöschoperationen durchgeführt werden. Die Abfolge von Operationen für ein Ausführungsbeispiel der Minimallöschmethode wird nachfolgend beschrieben.
  • Gemäß einem Ausführungsbeispiel führt der integrierte Schaltkreis vorteilhafterweise eine Wiederherstellungsoperation mit einer Minimallöschung zu einem späteren Zeitpunkt aus, um die VT-Werte von Zellen des Löschblocks, die zuvor mit einem Statusanzeiger für eine Wiederherstellungsoperation mit einer Minimallöschung versehen wurden, wiederherzustellen. Zunächst wird auf alle Zellen des Löschblocks, welche mit einer Minimallöschung zu bearbeiten sind, eine Minimalprogrammierung angewandt, derart, dass die VT-Werte aller Zellen innerhalb des Löschblocks sich oberhalb des Sicherheitsbands VMPELI für jedes der I-Niveaus befinden. Diese Minimalprogrammierung vor der Löschung wird abwechselnd für jede der Seiten innerhalb des Blocks durchgeführt, wobei für die Minimalprogrammiermethode als Überprüfungswert des unteren Sicherheitsbandes VRI + VMPELI anstatt VRI + VMPLI verwendet wird. Die Minimalprogrammierung vor der Löschung wird zuerst zur Zeit TRESPE1 für alle Seiten innerhalb des Blocks vollendet. Ein Beispiel für die resultierende Verteilung der VT-Werte der Zellen innerhalb eines jeden, VLI-Niveaus und für alle Zellen innerhalb eines Löschblocks taucht in 13A zum Zeitpunkt TRESPE1 auf. Mit einer vorangehenden Minimalprogrammieroperation können Zellen innerhalb des VMPELI-Bandes, die sich zu nahe an einem VL-Wert befinden, wie zum Beispiel die Zellen A und B zur Zeit TRESR, während der Minimallöschoperation in die angrenzende VL-Spanne verschoben werden. Daraus würde ein Datenverlust resultieren. Die Minimalprogrammierung vor der Löschung verhindert den Datenverlust, welcher auftreten kann, wenn sich ein VT-Wert der Zelle im Löschblock innerhalb des VMPELI-Bandes befindet.
  • Als nächstes wird ein Minimallöschpuls auf alle Zellen des Löschblocks angewandt. Der Minimallöschpuls verschiebt die VT-Werte aller Zellen im Löschblock in Löschungsrichtung (in die entgegengesetzte Richtung zur Programmierrichtung). Als nächstes wird für jede Zelle im Löschblock (bestehend aus einer Vielzahl von Seiten) eine Überprüfungsoperation für die Minimallöschung durchgeführt, daher wird die erste Seite des Löschblocks zur Überprüfung der Minimallöschung ausgewählt. Die Zellen werden als nächstes mit einer vereinfachten BSERD-Methode ausgelesen, wobei nur der Daten-Detektions-Subzyklus Anwendung findet, um die N binären Bits, welche zu den in der Zelle gespeicherten VT-Werten korrespondieren, in die Register zu verschieben. Die VT-Werte der Zelle in der ausgesuchten Seite des Löschblocks werden dann mit einer neuen unteren Sicherheitsreferenzspannung für die Minimallöschung VRI + VMELI verglichen (überprüft), wobei die I ausschließlich jenen Niveaus entsprechen, welche durch die in den Registern befindlichen N binären Datenbits repräsentiert werden.
  • Die Überprüfungsabtastung unterscheidet sich insofern von der voranstehend beschriebenen Abtastung für das Auslesen, da die Überprüfungsoperation den Status der zuvor in die Register verschobenen N binären Datenbits, welche zu den in der Zelle abgespeicherten VT-Werten korrespondieren, nicht verändert. Die nun überprüften Zellen mit einem VT-Wert unterhalb VRI + VMELI liegen innerhalb des unteren Sicherheitsbands VMELI der Minimallöschung, welches durch die Werte VRI und VRI + VMELI festgelegt wird. Wenn die Überprüfung der ersten Seite keine Zellen innerhalb des Sicherheitsbands VMELI ergibt, wird die nächste Seite ausgewählt und in entsprechender Art und Weise abgetastet und überprüft. Wenn die Überprüfung für den gesamten Löschblock keine Zellen innerhalb des Sicherheitsbandes VMELI ergibt, wird ein weiterer Minimallöschpuls auf den Löschblock angewandt und die obige Abtast- und Überprüfungsoperation wird wiederholt.
  • Die Abfolge aus Minimallöschpulsen und Löschblock-Überprüfungsschritten wird beendet wenn jede Zelle in jeder Seite des ausgesuchten Löschblocks sich während der Überprüfung des Löschblocks zur Zeit TRESE1 innerhalb des Sicherheitsbands VMELI befindet oder wenn eine zuvor bestimmte maximale Anzahl von Minimallöschpulsen durchgeführt wurde und ein daraus resultierender Fehlerstatusanzeiger gesetzt ist. Ein Beispiel für die Verteilung der VT-Werte der Zelle zum Zeitpunkt TRESE1 ist in 13A dargestellt. Die Abfolge der wiederholten Minimallöschpulse und der Überprüfungsoperationen des Löschblocks wird dazu verwendet, um gleichzeitig die VT-Werte aller Zellen innerhalb eines Löschblocks in kleinen Schritten und derart anzupassen, dass die VT-Werte aller Zellen innerhalb einer im Vergleich zur ursprünglichen VLI-Spanne schmäleren Bandes gehalten werden. Ein Unterlauf der VT-Werte der Zelle und ein Datenverlust kann folglich verhindert werden.
  • In einem alternativen Ausführungsbeispiel, welches schneller ist, wird ein einzelner Puls für die Minimallöschung ohne die Operation zur Überprüfung des Sicherheitsbands VME LI angewandt. Hierbei verlässt man sich auf eine verstärkte Prozesskontrolle der Löschcharakteristik aller Zellen innerhalb des Löschblocks. Hierbei ist zu beachten, dass 13A einen langen Auslauf am Ende der Verteilung der VT-Werte der Zellen in Richtung der Löschung zeigt. Dies ist darauf zurückzuführen, dass sich einige der Zellen aus der großen Population von Zellen innerhalb des Löschblocks schneller Minimallöschen lassen als andere. Die Verteilung der VT-Werte innerhalb des Löschblocks wurde nun soweit wie möglich in die Löschrichtung verschoben, ohne dass ein Unterlauf der VT-Werte oder ein Datenverlust auftritt. Die Zellen (mit VT bei C und D in 13A), welche ursprünglich die Minimallöschung auslösten, sind nun um den in 13A gezeigten Betrag TDELE1 in die gewünschte Richtung verschoben.
  • Die nächste Überprüfungsoperation prüft, ob in irgendeiner Zelle ein überschießender VT-Wert während der der Löschung vorausgegangenen Minimalprogrammieroperation auftrat, wie dies für die Zelle E in 14A zur Zeit TRESPEl der Fall ist und überprüft ferner, ob eine weitere Minimallöschung nötig ist. Diese Minimallöschungs-Überprüfungsoperation wird wiederum für jede Zelle des Löschblocks so durchgeführt, dass die erste Seite des Löschblocks für die Überprüfungsoperation der Minimallöschung ausgesucht wird. Die Zellen werden als nächstes mittels einer vereinfachten BSERD-Methode, welche lediglich aus dem Datenbit-Abtast-Unterzyklus besteht, d. h. ohne den Wiederherstellungs-Detektions-Subzyklus durchgeführt, um die N binären Datenbits, welche zu den in den Zellen abgespeicherten VT-Werten korrespondieren, in die Register zu verschieben. Die VT-Werte der Zellen werden dann gegen eine neue obere Sicherheitsreferenzspannung V R(I+1) – VMEUI für die Minimallöschung verglichen, wobei I ausschließlich zu dem Niveau der in die Registerverschobenen N binären Bits korrespondiert.
  • Die Überprüfungs-Abtast-Operation unterscheidet sich wiederum von der voranstehend beschriebenen Abtastoperation des Auslesens, da die Überprüfungsoperation den Status der zuvor in die Register verschobenen, zu den VT-Werten der Zelle korrespondierenden N binären Datenbits nicht ändert. Folglich sind alle Zellen mit einem überprüften VT-Wert oberhalb von VR(I+ 1) – VMEUI innerhalb des oberen Sicherheitsbands VMEUI für die Minimallöschung, welches durch die Werte VR(I+1) – VMEUI festgelegt wird.
  • Wenn die Überprüfung keine Zellen innerhalb des Sicherheitsbandes VMEUI auf der ersten Seite ergibt, wird die nächste Seite ausgewählt und in gleicher Weise gelesen und überprüft. Wenn sich bei der Überprüfung irgendwelche Zellen aus dem Löschblock innerhalb des Sicherheitsbandes VMEUI befinden, wird die voranstehend beschriebene Abfolge vom Minimalprogrammierschritten vor der Löschung, die Minimalprogrammierungs- und Überprüfungsoperationen, wiederum auf den Löschblock angewandt, es sei denn, es wurde eine vorbestimmte maximale Anzahl solcher Sequenzen durchgeführt und ein daraus resultierender Fehlerstatusanzeiger ist gesetzt.
  • Wenn irgendwelche Zellen während der Überprüfung innerhalb des VMEUI-Sicherheitsbandes detektiert wurden, wird die Adresse dieser Zellen mit den zuvor gespeicherten Adressen jener Zellen verglichen, welche ursprünglich die Minimallöschung ausgelöst haben, wie beispielsweise C und D in 13A. Wird eine neue Adresse detektiert, wie beispielsweise E in 14A, wird der Statusanzeiger für die Bedingung eines Überschießens gesetzt und die Adresse der Seite wird gespeichert. Das in den 13A und 13B gezeigte Beispiel beansprucht zwei der oben genannten Sequenzen, da zwei Zellen bei C und D sich immer noch zum Zeitpunkt TRESE innerhalb des Sicherheitsbandes VMEUI befinden. In diesem Beispiel wird eine zweite Minimalprogrammierung vor der Löschung zum Zeitpunkt TRESPE2 vollendet, gefolgt von einer zweiten Serie von Minimallöschpulsen, die in einer Verschiebung des VT-Werts der Zelle C um den Betrag VDELE2 zur Zeit TRESE2 resultieren. Die daraus folgende Verteilung der VT-Werte der Zelle wird in 13B dargestellt.
  • Die abschließende Minimalprogrammierung beginnt, wie im Beispiel aus 13B dargestellt, nachdem keine Zellen innerhalb des Sicherheitsbands VMU I während der Überprüfung des Löschblocks zum Zeitpunkt TRESE2 gefunden wurden. Die abschließende Minimalprogrammierung wird in der Weise durchgeführt, wie sie in der Abhandlung über die Minimalprogrammierung beschrieben wurde, mit Ausnahme, dass jede Seite innerhalb des Löschblocks im Wechsel minimalprogammiert wird. Während des abschließenden Minimalprogrammiervorgangs wird für den Fall, dass irgendein VT-Wert der Zelle innerhalb des oberen Sicherheitsbandes VMPU I detektiert wird, ein Statusanzeiger des Systems für ein Überschießen eines VT-Wertes gesetzt und die Adresse der Seite gespeichert. Die abschließende Minimalprogrammieroperation stellt die Verteilung der VT-Werte der Zellen innerhalb des gesamten Löschblocks für jedes VLI-Niveau zwischen den Sicherheitsbändern V MPLI und VMPUI wieder her, was in dem in der 13B gezeigten Beispiel zum Zeitpunkt TRESP dargestellt ist.
  • Der Systemstatusanzeiger für das Überschießen eines VT-Werts wird geprüft, bevor eine Minimalprogrammieroperation auf einer Seite begonnen wird. Immer wenn für eine Seite, die zu Minimalprogrammieren ist, dieser gesetzte Statusanzeiger auftritt, wird die Pulssequenz der Minimalprogrammierung so geändert, dass gegenüber dem normalen Vorgehen kleinere Verschiebungsschritte der VT-Werte mit jedem Puls erzeugt werden, was als Mikroprogrammierung bezeichnet wird. Die Verteilung der VT-Werte der Zelle innerhalb eines Niveaus einer ausgesuchten Seite ist nach Abschluss einer Sequenz von Pulsen zur Prüfung und Mikroprogrammierung enger im Vergleich zu einer Pulssequenz zur Prüfung und Minimalprogrammierung. Die Mikroprogrammierung einer gekennzeichneten Seite verbraucht mehr Zeit als die Minimalprogrammierung, aber die Leistungsfähigkeit des Gesamtsystems wird optimiert, da mit den gekennzeichneten Seiten nur jene mikroprogrammiert werden, für die dies nötig ist.
  • Bei einer alternativen Minimalprogrammieroperation werden die Sicherheitsbänder VMPELI, VMPLI und VMPUI, die während der Minimalprogrammierung verwendet werden, durch die Sicherheitsbänder VCPELI VCPLI und VCPUI ersetzt, so dass die resultierende Verteilung der VT-Werte der Zelle innerhalb jeder VL-Spanne optimiert ist (siehe 14A und 14B). Wie bei der Minimalprogrammiermethode wird die Minimalprogrammierung gestoppt, und ein Statusanzeiger des Systems für einen Fehler gesetzt, falls die Anzahl der Überprüfungs- und Minimalprogrammierpulssequenzen eine vorbestimmte Anzahl übersteigt. Der Systemstatusanzeiger für das Überschießen eines VT-Werts wird zurückgesetzt, nachdem die gekennzeichnete Seite erfolgreich mikroprogrammiert wurde. Das Setzen eines Systemstatusanzeigers für das Überschießen eines VT-Werts während einer Wiederherstellung ohne Minimallöschung startet einfach die Minimallöschoperationen für einen Löschblock, entweder sofort oder alternativ zu einer späteren geeigneten Zeit. Die Minimallöschmethode, welche in Verbindung mit der Minimalprogrammierung verwendet wird, dient als Wiederherstellungsverfahren für überschießende VT-Werte.
  • Mehrebenenspeichersystem mit Minimallöschung
  • Der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 zusammen mit dem BINARY SEARCH HEAD SEQUENCER-Block 43 aus 7 führen alle notwendigen Regelungen und Steuerungen in der Ereignisabfolge aus, um die Minimallöschoperationen durchzuführen. 11 zeigt eine besondere Schnittstelle zur Zellenmatrix 21.
  • Zum Beispiel wird BLOCK0-Block 83 für eine Minimallöschoperation ausgewählt, da vorausgehend eine Wiederherstellungs-Tiefpegel-Bedingung für eine Adresse in diesem Löschblock gesetzt wurde. In 13A beginnt zum Zeitpunkt TRESR der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 mit einer Minimallöschoperation basierend auf dem Wiederherstellungs-Statusanzeiger. Wie in 11 dargestellt, gibt es J Zellen pro Seite, es gibt S Seiten pro Zeile und es gibt T Reihen pro Block. Folglich gibt es (S × T) Seiten pro Block und (S × T × J) Zellen pro Block. Ausgehend vom Beispiel aus 13A wird eine Minimalprogrammieroperation vor der Löschung zuerst auf allen Seiten des BLOCK0-Blocks 83 ausgeführt. Für jede Seite des BLOCK0-Blocks 83 wird zuerst eine vereinfachte BSERD-Methode ohne den Wiederherstellungs-Detektions-Subzyklus ausgeführt, um gleichzeitig die vier Datenbits aus jeder Zelle 20 für alle J-Zellen in der ausgesuchten Seite auszulesen. Nachdem die Abtastoperation vollendet ist, enthält jeder der DATA [0–3]-Registerblöcke 48 innerhalb eines Y-DRIVER-Blocks 33 die vier individuellen Datenbits pro Zelle für die jeweiligen J-Zellen der ausgesuchten Seite.
  • Als nächstes wird der BRGRDB-Bus 37 durch den PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 gesetzt. Basierend auf der Ausgabe des DATA [0–3]-Registerblocks 48 für jede der Y-DRIVER-Blöcke 33 wird die geeignete Spannung VRI als die Ausgabe VX erzeugt und ferner wird die Spannung VR(I+1) als die Ausgabe VY des VX VY GEN-Blocks 38 erzeugt. Der ΔVU ΔVL GEN-Block 39 erzeugt VMPELI als Ausgabe ΔVL. Der VCRFGEN-Block 40 erzeugt die Spannung (VRI + VMPELI ) auf der VCRF-Leitung 45 während allen Minimalprogrammieroperationen vor der Löschung. Eine Minimalprogrammieroperation vor der Löschung wird nun als eine sich wiederholende Abfolge von Minimalprogrammierpulsen und Überprüfungsoperationen durchgeführt, bis alle J-Zellen innerhalb einer ausgesuchten Seite VT-Werte oberhalb der Spannung (VRI + VMPELI) aufweisen. Der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 und der BINARY SEARCH READ SEQUENCER-Block 43 führen dann die Minimalprogrammierung vor der Löschung für alle S-Seiten innerhalb der ersten Zeile WL00-Leitung 85 fort. Dies wird so lange fortgesetzt, bis alle T-Zeilen mit S-Seiten vor der Löschung minimalprogrammiert wurden, wobei alle VT-Werte der Zellen auf eine Spannung oberhalb (VRI + VMPELI) programmiert wurden. Dies vollendet die Minimalprogrammierung vor der Löschung des ausgesuchten Blocks 83. Eine typische Verteilung von VT-Werten der Zelle für den BLOCK0 wird in 13A zur Zeit VRESPE1 dargestellt.
  • Der PRG-ERS-Bus 22 wird dazu gebracht, den BLOCK-DEC-Block 19, den X-DEC-Block 17 und den Y-DEC-Block 18 so zu steuern, dass eine Löschoperation auf den ausgesuchten Speicherblock oder Sektor ermöglicht wird. Als nächstes wird ein Minimallöschpuls auf alle Zellen 20 innerhalb des ausgesuchten BLOCK0-Blocks 83 angewandt. Der Minimallöschpuls wird vom HVGEN-Block 27 erzeugt und über den HVOUT-Bus 25 weitergegeben.
  • Nach der Anwendung des Minimallöschpulses wird eine Überprüfungsoperation für alle Zellen 20 innerhalb des selektierten BLOCK0-Blocks 83 durchgeführt. Die BSERD-Methode ohne den Wiederherstellungs-Detektions-Subzyklus verschiebt die vier Datenbits aus jeder Zelle 20 innerhalb der Seite in die Register des DATA [0–3]-Registerblocks 48 innerhalb eines jeden Y-DRIVER-Blocks 33. Basierend auf der Ausgabe des DATA [0–3]-Registerblocks 48 innerhalb eines jeden Y-DRIVER-Blocks 33 erzeugt der VX VY GEN-Block 38 die Spannung VRI als Ausgabe VX und die Spannung VR(I+1), als Ausgabe VY. Der ΔVU ΔVL GEN-Block 39 erzeugt die Spannung VMELI als Ausgabe ΔVL.
  • Während jeder Minimallöschungs-Überprüfungsoperation gibt der VCRFGEN-Block 40 die Spannung (VRI + VMELI) auf der VCRF-Leitung 45, welche ausschließlich für die Ausgabe des DATA [0–3]-Registerblocks 48 eines jeden Y-DRIVER 33 definiert ist, aus. Der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 und der BINARY SEARCH READ SEQUENCER-Block 43 führen dann die Minimallöschungs-Überprüfungsoperationen auf allen S-Seiten jeder der T-Zeilen des ausgesuchten BLOCK0-Blocks 83 aus. Die Minimallöschungsüberprüfung vergleicht die Spannung auf der VMEM-Leitung 31 mit der Spannung (VRI + VMELI ) auf der VCRF-Leitung für jeden Y-DRIVER 33.
  • Falls während der Minimallöschungs-Überprüfungsoperation die VMEM-Leitung 31 einen niedrigen Wert hat als die VCRF-Leitung 45 wird ein bedingter Statusanzeiger im PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 gesetzt. Wenn der bedingte Statusanzeiger nicht gesetzt wird, werden ein weiterer Minimallöschpuls und eine Minimallöschungs-Überprüfungsoperation auf dem ausgesuchten BLOCK0-Block 83 durchgeführt. Immer wenn ein bedingter Statusanzeiger gesetzt ist oder die maximale Anzahl der Minimallöschungs-Pulsoperationen erreicht ist, stoppt der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 die Minimallöschungs- und Überprüfungsoperationen. 13A zeigt zum Zeitpunkt TRESE1 die Verteilung der VT-Werte der Zelle nachdem ein bedingter Statusanzeiger gesetzt wurde.
  • Die Überprüfungsoperation für ein Überschießen wird als nächstes auf allen Zellen innerhalb des ausgesuchten BLOCK0-Blocks 83 ausgeführt. der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 und der BLOCK0-Block 83 vollziehen eine Überprüfung bezüglich des Überschießens einer Zelle auf allen S-Seiten für alle T-Zeilen des ausgesuchten BLOCK0. Während der gesamten Überprüfungsoperation bezüglich des Überschießens wird die Spannung auf der VCRF-Leitung 45 auf VR(I+1) – VMEUI gesetzt, welche ausschließlich von der Ausgabe auf den DATA [0 – 3]-Registerblock 48 innerhalb eines jeden Y-DRIVER 33 abhängt. Für jede Seite und für jeden Y-DRIVER 33 wird die Überprüfung bezüglich eines Überschießens auf der nächsten Seite fortgesetzt, wenn die VMEM-Leitung 31 einen niedrigeren Wert annimmt als die VCRF-Leitung 45. Wenn zu irgendeiner Zeit für eine ausgesuchte Seite die VMEM-Leitung 31 einen niedrigeren Pegel annimmt als die VCRF-Leitung 45 für einen Y-DRIVER 33, dann wird die Adresse dieser Zellen 20 im REGISTERS & ADDRESS BUFFER-Block 60 abgespeichert.
  • Diese mit einem bedingten Statusanzeiger für das Überschießen versehenen Zellen werden mit den Adressen der Zellen verglichen, welche ursprünglich das Setzen des bedingten Statusanzeigers für die Minimallöschung ausgelöst haben. Wenn gefunden wird, dass die Adressen nicht übereinstimmen, wird ein bedingter Statusanzeiger für das Überschießen für diese Seite zusammen mit der Adresse der Seite im REGISTERS & ADDRESS BUFFER-Block 60 gesetzt. Wenn die Adressen übereinstimmen, wird eine weitere Minimalprogrammieroperation vor der Löschung durchgeführt. 13A und 13B zeigen die Verteilung der VT-Werte der Zelle zur Zeit TRESPE2 nach der zweiten Minimalprogrammieroperation vor der Löschung.
  • Als nächstes wird ein weiterer Minimallöschpuls angewandt sowie eine Überprüfung der Minimallöschung durchgeführt. 13B zur Zeit TRESE2 zeigt die Verteilung der VT-Werte der Zelle nach der zweiten Minimallöschungs- und Überprüfungsoperation. Wenn der bedingte Statusanzeiger für das Überschießen nicht nach der Überprüfung des Sicherheitsbandes VMEUI gesetzt wird, wird die abschließende Minimalprogrammieroperation für alle Seiten des ausgesuchten BLOCK0-Blocks 83 durchgeführt. Zu Beginn der abschließenden Minimalprogrammieroperation für jede Seite führt der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 eine Überprüfung bezüglich des bedingten Statusanzeigers für das Überschießen eines VT-Werts für diese Seite im REGISTERS & ADDRESS BUFFER-Block 60 aus. Wenn kein Statusanzeiger gefunden wird, wird eine reguläre Minimalprogrammieroperation durchgeführt. 3B zeigt zum Zeitpunkt TRESP die Verteilung der VT-Werte der Zellen nachdem die abschließende reguläre Minimalprogrammieroperation durchgeführt wurde. Immer wenn ein bedingter Statusanzeiger für eine Seite gefunden wurde, wird eine Mikroprogrammieroperation auf dieser Seite ausgeführt. Hierbei wird vorgezogen, dass die Mikroprogrammieroperation identisch zur Minimalprogrammieroperation ist mit folgenden Ausnahmen: 1) der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 weist den ΔVU ΔVL GEN-Block 39 über den BRGRDB-Bus 37 an, die Spannungen VCPELI, VCPUI und TCPLI anstatt die Spannungen VMPELI.
  • VMPUI und VMPLI des analogen Spannungsbusses RVBUS 42 zu erzeugen und 2) der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 weist den HVGEN-Block 27 über den HVCTRL-Bus 23 an, die Minimalprogrammierpulse zu Mikroprogrammierpulsen zu verändern, so dass die Verschiebung der VT-Werte der Zellen 20 im Vergleich zur Minimalprogrammieroperation kleiner ist.
  • IV. Programmierung
  • Allgemeine Beschreibung des Programmiervorgangs
  • Der beschriebene integrierte Schaltkreis funktioniert auch mit einer neuen Mehrebenenprogrammiermethode. Diese Programmiermethode unterscheidet sich von der voranstehend beschriebenen Minimalprogrammiermethode. Diese Programmierung speichert neue Daten in einer zuvor gelöschte Seiten, während bei der Minimalprogrammierung die bestehenden Daten wiederhergestellt werden, ohne die zuvor gespeicherten Daten zu verändern. Verglichen zur Minimalprogrammierung bewegt die Programmiermethode größere Ladungsmengen, durch die das schwebende Gatter umgebenden Oxide und kann ferner den VT-Wert der Zelle um einen größeren Betrag bewegen. Abweichend zu den voranstehend beschriebenen Programmiermethoden, welche den VT-Wert der Zelle lediglich in eine Richtung, der Programmierrichtung, bewegen, bewegt die erfindungsgemäße Programmiermethode den VT-Wert der Zelle sowohl in die Programmier- wie auch in die Löschungsrichtung.
  • Für die voranstehend beschriebene Mehrebenenprogrammiermethode ist es notwendig, dass die Verteilung der VT-Werte der Zelle sehr eng ist. Sehr weite, nach der Programmierung gesetzte Sicherheitsbänder innerhalb jeder Zelle erlauben eine zukünftige Drift der VT-Werte, welche über die gesamte Lebenszeit des Speicherchips auftritt. In 15A ist ein Beispiel für eine ursprünglich enge Verteilung von VT-Werten der Zelle innerhalb eines Niveaus VL direkt nach einer dem Stand der Technik entsprechenden Programmierung gezeigt, welche einen einzigen Sicherheitswert bei PV, zum Zeitpunkt TP verwendet. Ferner ist in der gleichen Figur die Verteilung nach einer langen Zeitdauer gezeigt, in welcher Drifteffekte der VT-Werte die ursprünglich enge Verteilung wesentlich aufgeweitet haben bis zum Punkt eines Fehlers aufgrund einer uneindeutigen Abtastung zum Zeitpunkt TF.
  • Im Gegensatz hierzu erlaubt die vorliegende Erfindung die Verwendung einer breiten Verteilung von VT-Werten der Zelle innerhalb jedes Niveaus, was auf einem initialen Programmierschritt beruht, welcher die Daten zuverlässig für eine kurze Zeit speichert (siehe 15B zum Zeitpunkt TP) bis der Speicher eine Wiederherstellungsoperation in naher Zukunft (wie in 15B dargestellt zum Zeitpunkt TRESP ) durchführen kann. Zusätzlich sind die Sicherheitsbänder der vorliegenden Erfindung, die durch die Wiederherstellungsmethode für die VT-Werte der Zelle aufrechterhalten und beschrieben werden (siehe 15B zum Zeitpunkt TF), nicht so weit gespannt wie die Sicherheitsbänder, die während einer Programmierung ohne die Verwendung dieser Erfindung nötig sind. Die enge Verteilung der VT-Werte der Programmierung, welche nach dem Stand der Technik nötig sind, verlängern die Programmierzeit, da viele Überprüfungs- und Programmierpulsabfolgen benötigt werden, um die VT-Werte in kleinen Schritten bis zur erfolgreich überprüften gewünschten Referenzspannung zu verschieben. Ausgehend von einer systemexternen Betrachtungsweise sind für die meisten Anwendungen längere Programmierzeiten hochgradig unerwünscht. Andererseits reduziert die vorliegende Erfindung die Programmierzeit eines Mehrebenenspeichers dadurch, dass der vom externen System verwendete Programmieralgorithmus in die Lage versetzt wird, eine weite Verteilung von VT-Werten der Zelle innerhalb jedes Niveaus anzuwenden.
  • Eine Ausführungsform der Erfindung unterscheidet sich dahingehend von der zuvor beschriebenen Methode, dass der abschließende Verfahrensschritt die VT-Werte der Zelle für alle VLI-Niveaus mittels eines Programmierschritts und nicht eines Löschschritts setzt, welcher gemäß dem Stand der Technik für eines der Niveaus zu beiden Enden der VF-Spanne durchgeführt wird.
  • Die Erfindung zerlegt den Programmierzyklus in zwei Teile. Der erste Teil speichert die Daten initial und schnell in die Zellen, wobei nur schmale Sicherheitsbänder um die Referenzwerte VR für jedes Niveau verwendet werden. Die schmalen Sicherheitsbänder sind zu einer zuverlässigen temporären Datenspeicherung geeignet, bevor Drifteffekte der VT-Werte, die eine lange Zeit einwirken, einen Datenverlust verursachen. Aus externer Systemsicht optimiert der erste Teil die Programmierzeit. Die gesamte Programmierzeit für das externe System ist lediglich die Zeit, welche für den ersten Teil der Datenspeicherung benötigt wird. Der erste Teil vollzieht den Großteil der Ladungsbewegung durch die Oxide des Gatters sowie den größten Teil der Verschiebung der VT-Werte der Zelle.
  • Der zweite Teil ist identisch zur voranstehend beschriebenen Wiederherstellung mit Minimallöschoperation. Da die Daten bereits während des ersten Teils in den Zellen abgespeichert wurden, kann der zweite Teil unabhängig vom externen System ausgeführt werden. Der zweite Teil kann nach der vom externen System bestimmten Programmierzeit und während jener Zeitintervalle ausgeführt werden, in denen das Speichersystem ansonsten untätig wäre. Der zweite Teil des Programmierungszyklus stellt weitergefasste Sicherheitsbänder um die VR-Werte her, welche zur Optimierung des Systemverhaltens und für die Langzeitzuverlässigkeit notwendig sind. Der zweite Teil des Programmierungszyklus benötigt eine längere Durchführungsdauer, verglichen zum ersten Teil.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird der erste Teil direkt folgend auf den zweiten Teil ausgeführt. In einem weiteren Ausführungsbeispiel wird die Ausführung des zweiten langsamen Teils zurückgestellt und bald nach dem ersten Teil in solcher Art und Weise durchgeführt, dass aus Sicht des externen Systems die Programmierzeit signifikant reduziert wird.
  • Der erste Teil des Programmierverfahrens verwendet die Bandabtastfähigkeiten der vorliegenden Erfindung, die denjenigen entsprechen, welche in dem Abschnitt über die digitale Mehrebenenabtastung beschrieben wurden. Für jeden VT-Wert einer Zelle wird überprüft, ob dieser in das gewünschte Band der vL-Spanne verschoben wurde, so dass angemessene Sicherheitsbänder sichergestellt werden, welche zu beiden Enden der VL-Spanne ein uneindeutiges Abtasten verhindern. Während der Überprüfungsoperationen der Programmierung wird eine Vielzahl von Referenzspannungen verwendet. Der erste Teil der Programmiermethode verwendet Referenzspannungen bei VRI + VPLI und VR(I+ 1) – VPUI, welche in Verbindung mit VRI und VR(I+ 1) zwei neue untere und obere Sicherheitsbänder VPLI und VPLI festlegen, die jeweils, wie in 15B gezeigt, innerhalb des VLI-Niveaus liegen. VPLI und VPUI können, aber müssen nicht, gleich sein und können, aber müssen nicht, größer als die voranstehend beschriebenen Sicherheitsbänder V MRLI und VMRU I für das Auslesen oder V MPLI und VMPUI für die Minimalprogrammierung oder VMPELI, VMELI, und VMUI für die Minimallöschung oder VCPEL, VCPLI und VC PUI für die Mikroprogrammierung sein. Die Sicherheitsbänder VPLI und VPU I innerhalb eines jeden der VLI-Niveaus werden so ausgewählt, dass die nach dem ersten Teil der Programmierung entstehende Verteilung von VT-Werten optimal innerhalb eines ausgesuchten Bandes, welches schmäler ist als die VL-Spanne, zu liegen kommt. Die Optimierung kann voraussetzen, dass die VPLI- und VP UI-Bänder einander entsprechen oder sie kann es nötig machen, dass für jedes der I-Niveaus unterschiedliche Bandwerte oder sogar beliebige Bandwerte, welche durch die Prozesstechnologie der Speicherzellenmatrix festgelegt werden, zu setzen sind. Alternativ können die Bänder in jedem Niveau die gleichen Werte annehmen. Das Programmierverfahren ist flexibel genug, um die Optimierung für eine große Bandbreite von Prozesstechnologien für Speicherzellen anzupassen.
  • Das Überprüfungsverfahren der vorliegenden Erfindung unterscheidet sich von bisherigen Programmiertechniken, da diese den VT-Wert der Zelle lediglich in Relation zu einer einzigen Referenzspannung pro Niveau überprüfen. Bei einer Programmierung nach dem Stand der Technik kann es vorkommen, dass der VT-Wert einer Zelle so nahe an den Referenzwert VR(I+1) programmiert wird, dass das voranstehend beschriebene Problem einer uneindeutigen Abtastung auftritt. Durch die Überprüfung mittels zweier zusätzlicher Referenzspannungen pro Niveau, ob die Daten innerhalb eines optimalen Bandes liegen, verhindert die vorliegende Erfindung das Problem einer uneindeutigen Datenabtastung, welches bei den bisherigen Verfahren auftreten kann.
  • Programmiermethode
  • Als erstens werden neue Daten in die Register der zu programmierenden Seite geschoben und in eines von 2N VL-Niveaus für jede Zelle umgewandelt. Gemäß eines ersten Ausführungsbeispiels der vorliegenden Erfindung wird der erste Teil in der Abfolge der Programmierung vom integrierten Schaltkreis ausgeführt. Der VT-Wert der Zelle wird gegen eine neue Referenzspannung VRI + VPLI des unteren Sicherheitsbandes verglichen (überprüft), wobei die 1 ausschließlich zu jenem Niveau korrespondiert, welches von den N in den Registern befindlichen binären Bits repräsentiert wird. Dieses Abtastverfahren zur Überprüfung unterscheidet sich von der voranstehend beschriebenen Lese- und Überprüfungsabtastung und dem Stand der Technik dahingehend, dass das VPLI-Sicherheitsband, welches durch die Werte VRI und VRI + VPLI festgelegt wird, wesentlich enger gewählt werden kann. Die vorliegende Erfindung erlaubt solch schmale VPLI-Sicherheitsbänder für die Programmierung, da: 1) der zweite Teil der Programmiersequenz das Sicherheitsband für die Aufrechterhaltung der Langzeitstabilität der VT-Werte vergrößert und 2) der zweite Teil der Programmierung bald nach dem Abschluss des ersten Teils durchgeführt wird, bevor eine nennenswerte Drift der VT-Werte auftreten kann. Die vorliegende Überprüfungsabtastung unterscheidet sich von der Ausleseabtastung (siehe die voranstehend beschriebene BSERD-Methode), da die Überprüfung den Zustand der zuvor in die Register verschobenen N binären Bits, die zu den in die Zelle einzuspeichernde VT-Werte korrespondieren, nicht verändert.
  • Als nächstes werden Programmierpulse mit geeigneter Spannung und Zeitdauer ausschließlich auf die ausgesuchten Zellen der ausgesuchten Seite angewandt. Die Programmierpulse werden selektiv auf jene Zellen angewandt, für welche im vorausgehenden Überprüfungsschritt bestimmt wurde, dass ihre VT-Werte unterhalb der Spannung VRI + VPLI liegen. Zellen mit einem VT-Wert oberhalb einer Spannung von VRI + VPLI sind von der Programmierung ausgeschlossen. Nach dem ersten Programmierpuls wird eine weitere Überprüfungsoperation durchgeführt. Werden bei der Überprüfung Zellen mit einer Spannung unterhalb VRI + VPLI gefunden; so wird ein weiterer selektiver Programmierpuls angewandt, wiederum lediglich auf jene Zellen mit einem VT-Wert unterhalb der Spannung VRI + VPLI. Die Programmiermethode kann am einfachsten durch die Annahme einer Vielzahl von Zellen, welche innerhalb derselben Programmierseite verbunden sind, beschrieben werden. 16A und 16b zeigen die Verteilung der VT-Werte für eine Vielzahl von Zellen im Speicher zu sechs verschiedenen Zeiten TP, TRESPE1, TRESE1, TRESPE2 + TRESE2 und TRESP, wobei die Zellen das gleiche Niveau aufweisen. Die Pulssequenz zur Überprüfung und zur Programmierung wird, wie in 16A dargestellt, bis zur Zeit TP wiederholt, bei der die Überprüfung ergab, dass sich deren VT-Werte oberhalb der Spannung VRI + VPLI befinden oder bis eine vorbestimmte maximale Anzahl von Pulsen angewandt wurde und ein Systemstatusanzeiger für einen Fehler gesetzt wird.
  • Nachdem die erste Seite erfolgreich programmiert wurde, wird die nächste zur Programmierung anstehende gelöschte Seite ausgesucht, wobei sich diese Prozedur bis zur letzten Seite fortsetzt. Die zu programmierenden Seiten müssen sich nicht im zuvor gelöschten Block bzw. Sektor befinden. Die Adresse jedes Löschblocks auf den der erste Teil der Programmieroperation angewandt wurde, wird abgespeichert, so dass der zweite Teil der Programmieroperation zu einem späteren Zeitpunkt durchgeführt werden kann. Der Abschluss dieses ersten Teils des Programmiervorgangs bestimmt die vom externen System wahrgenommene Programmierzeit. Eine signifikante Verkürzung der Programmierzeit für Mehrebenensysteme wird durch die vorliegende Erfindung erreicht, da die in diesem Teil der Programmierung angewandten Programmierpulse keine enge Verteilung der VT-Werte innerhalb jeder VL-Spanne voraussetzen, wie dies nach dem Stand der Technik der Fall ist.
  • In der vorliegenden Erfindung wird ein zusätzlicher Überprüfungsschritt nach der voranstehend beschriebenen Pulssequenz zur Überprüfung und zur Programmierung hinzugefügt. Alternativ kann ein neuer Überprüfungsschritt nach jedem Programmierpuls durchgeführt werden. Selbstverständlich würde diese Abwandlung mehr Zeit in Anspruch nehmen. Der zusätzliche Schritt führt eine Prüfung der soeben programmierten VT-Werte aller Zellen innerhalb der ausgesuchten Seite gegenüber der Referenzspannung VR(I+1) – VPUI eines neuen zweiten Sicherheitsbands für die Programmierung aus, wobei I wiederum ausschließlich für das Niveau steht, das durch die in den Registern befindlichen N binären Datenbits repräsentiert wird (siehe 16A). Jede Zelle, für die die Prüfung ergibt, dass sich ihr VT-Wert oberhalb der Spannung VR(I+1) – VPUI befindet, ist überprogrammiert und ein Systemstatusanzeiger für einen Fehler wird gesetzt. Die Überprüfungsoperation stellt sicher, dass der VT-Wert einer programmierten Zelle, die die Überprüfung besteht, innerhalb eines Bandes gesetzt ist, das schmäler als die VL-Spanne ist, und sowohl ein oberes wie auch ein unteres Sicherheitsband VPLI und VPUI der Programmierung ausgebildet ist. So wird die Möglichkeit einer uneindeutigen Abtastung mit einem zu nahe an den Referenzspannungswert VR(I+1) programmierten Bit vermieden. Im Gegensatz hierzu erzeugen die Verfahren gemäß dem Stand der Technik lediglich ein unteres Sicherheitsband.
  • Zu einer geeigneten Zeit nach dem ersten Teil der voranstehend beschriebenen Programmiersequenz führt der integrierte Schaltkreis Wiederherstellungsoperationen mit Minimallöschung reihum auf alle soeben programmierten Löschblöcke aus. Die in 13A zur Zeit TRESR vor der Wiederherstellung mit Minimallöschung und in 16A zur Zeit TP gezeigten Verteilungen der VT-Werte der Zelle verdeutlichen das Resultat dieser Operationen.
  • Folglich wird der zweite Teil der Programmiersequenz vollständig mittels des voranstehend beschriebenen Wiederherstellungsverfahrens mit Minimallöschung erreicht. 16A und 16B zeigen diese Schritte, die zu den übereinstimmenden in den 13A und 13B dargestellten Schritten korrespondieren, welche wiederum die Wiederherstellungsoperationen mit Minimallöschungen zu den Zeiten TRESPE1, TRESE1, TRESPE2, TRESE2, und TRESP darstellen. Die vollständigen Sicherheitsbänder VMPLI und VMPUI sind wiederhergestellt bevor die VT-Werte der Zelle, die mit dem ersten Teil der Programmierung mit den minimierten Sicherheitsbändern gespeichert werden, hinreichend Zeit für eine Drift bekommen. Die resultierende Verteilung der VT-Werte der Zelle kann sich nun wie in der letzten in 16B gezeigten Verteilung zum Zeitpunkt TRESP darstellen.
  • Alternativ führt der integrierte Schaltkreis den zweiten Teil der Programmieroperation (eine Wiederherstellung mit Minimallöschung) praktischerweise zu einer späteren Zeit aus, um die VT-Werte jener Zellen des Löschblocks, die zuvor mit einer Markierung für den zweiten Teil der Programmieroperation versehen wurden, wiederherzustellen.
  • In einer weiteren Abhandlung wird der zweite Teil der Programmierung für den Teil des Löschblocks, für den zuvor ein erster Programmierteil durchgeführt wurde, direkt nach dem ersten Teil des Programmierschritts durchgeführt. In jedem Fall wird der zweite Teil der Programmieroperation autonom durchgeführt, da die gesamten Daten bereits in der Speicherzelle gespeichert sind. Folglich verlängert der erfindungsgemäße, autonome zweite Teil der Programmiersequenz gemäß der Erfindung nicht die Programmierzeit, die vom externen System wahrgenommen wird.
  • Programmierbares Mehrebenenspeichersystem
  • Das bevorzugte Ausführungsbeispiel der Programmierung wurde bereits im Zusammenhang mit dem BSERD-Abtastverfahren, dem Minimalprogrammierverfahren und dem Minimallöschverfahren beschrieben. Zunächst werden Daten von einer externen Quelle in den DATA [0–3]-Registerblock 48 innerhalb des Y-DRIVER-Block 33 über den in 7 dargestellten DATA, ADDR & CNTRL SYSTEM INTERFACE-Block 10 geladen. Zusätzlich wird die Adressposition für die Speicherung der Daten zur Verfügung gestellt. Die Daten werden in einen bereits gelöschten Block programmiert. Der erste Teil der Programmierung ist sehr ähnlich dem voranstehend beschriebenen Minimalprogrammierverfahren. Hier weist der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 den ΔVU ΔVL GEN-Block 39 über den BRGRDB-Bus 37 an, die Referenzspannungen VPUI und VPLI anstatt der Spannungen VMPUI und VMPELI vom Referenzspannungsbus RVBUS 42 zu generieren. Der VX VY GEN-Block 38 wird angewiesen, die Referenzspannungen VRI und VR(I+1) zu erzeugen, wobei I jenem Niveau entspricht, welches durch die N binären Datenbits repräsentiert wird, welche zuvor geladen und in die Register der DATA [0–3]-Registerblocks 48 innerhalb des Y-DRIVER-Blocks 33 verschoben wurden. Die Operationen zur Programmierung und zur Überprüfung eines Überschießens entsprechen jenen, welche im voranstehend beschriebenen Minimalprogrammierverfahren verwendet werden. Der zweite Teil des Programmierverfahrens ist genau der gleiche wie das zuvor beschriebene Minimallöschverfahren.
  • V. Löschung
  • Allgemeine Beschreibung der Löschoperationen
  • Der integrierte Schaltkreis arbeitet ferner mit einem Mehrebenen-Löschverfahren, welches sich vom voranstehend beschriebenen Minimallöschvertahren unterscheidet. Die Löschung zerstört die zuvor in einem Löschblock oder Sektor gespeicherten Daten, während die Minimallöschung Daten wiederherstellt, ohne die zuvor gespeicherten Daten zu verändern. Ferner bewegt die Löschung eine größere Ladungsmenge durch die Oxide, welche das schwebende Gatter umgeben und kann die VT-Werte einer Zelle um einen größeren Betrag als bei der Minimallöschung verschieben.
  • Abweichend von den bisherigen Löschverfahren, welche den VT-Wert der Zelle in eine (die Löschungs-)Richtung verschieben, bewegt das erfindungsgemäße Löschen den VT-Wert der Zelle sowohl in die Programmier- wie in die Löschungsrichtung. Die dem Stand der Technik gemäßen Löschverfahren für Mehrebenenspeichersysteme erzeugen eine weite Verteilung der VT-Werte der Zelle für alle Zellen innerhalb eines Löschblocks. Die weite Verteilung der VT-Werte der Zellen bei der Löschung VLERASE wurde in den bisherigen Verfahren für eine von 2N VL-Spannen für die Mehrebenenspeicherung verwendet. Das Löschverfahren der vorliegenden Erfindung verwendet jedoch nicht die Weiterverteilung der VT-Werte der Zelle als eine von 2N VL-Spannen. Alle VL-Spannen werden so optimiert, dass die VL0-Spanne in ihrer Ausdehnung gleich ist wie die anderen VL-Spannen, sogar während sie gleichzeitig die VLERASE-Spanne überlappt.
  • Die 17A17C zeigen Beispiele für eine Verteilung der VT-Werte der Zelle nach einer langen Zeit der Datenspeicherung für alle Zellen innerhalb eines Löschblocks bei einer Mehrebenenspeicherung mit vier Bits. Ferner basieren die 17A17C alle auf der gleichen Herstellungstechnologie für Speicherbauteile und stimmen daher im Folgenden überein: 1) in der als VF bezeichneten Spanne, in der die VT-Werte der Zelle sinnvoll für die Programmierung und das Löschen verwendet werden können und 2) in der VLERASE-Spanne.
  • Jedoch unterscheiden sich die Zeichnungen voneinander in der Art des verwendeten Löschverfahrens und den resultierenden VR-Werten, der VL-Spanne und der VM-Spanne. 17A zeigt hierzu ein Beispiel, wobei die VLERASE-Spanne für das VL0-Niveau (zwischen den Referenzspannungen VR0 und VR1) entsprechend zu den bisher verwendeten Verfahren eingesetzt wird. In 17A sind 16 Niveaus dargestellt. Die Niveaus sind jeweils durch eine VM-Spanne getrennt; die 15 Niveaus weisen eine Weite von VL auf und ein Niveau ist VLERASE breit; wobei gilt, das VLERASE >> VL und VF = VLERASE + 15 VM + 15 VL ist. 17B zeigt ein Ausführungsbeispiel der vorliegenden Erfindung, welches die Verwendung der gesamten VF-Spanne folgendermaßen optimiert: 1) Die VLERASE-Spanne wird nicht für das VL0-Niveau verwendet und stattdessen 2) werden die im Wesentlichen gleichen VL-Spannen über die gesamte VF-Spanne gespreizt.
  • Die 16 in 17B dargestellten VL-Niveaus werden durch VM und VF = 16 VL + 15 VM getrennt. Da die VF-Spanne gleich bleibt, ist die Spanne von VL + VM in 17B größer als in 17A (und folglich einfacher herzustellen und zu steuern). Folglich ist das in 17B dargestellte Ausführungsbeispiel dem in 17A dargestellten Verfahren überlegen und erlaubt eine hohe Speicherdichte bei der Mehrebenenspeicherung.
  • Eine weitere Abwandlung ist in 17C gezeigt. Abweichend von den in 17B gezeigten VL-Niveaus, die über die gesamte VF-Spanne gespreizt sind, ragen die in 17C dargestellten VL-Niveaus nicht in die VLERASE-Spanne. So ergeben sich zwar nicht die Vorteile einer weiten Spannung VL + VM , dies kann jedoch für eine zuverlässige Datenabtastung für manche Technologien nötig sein.
  • Zusätzlich passt sich das Löschverfahren des integrierten Schaltkreises, entsprechend zur voranstehenden Beschreibung über die Minimallöschung, beiden Richtungen einer Drift der VT-Werte beim Löschen an. Die vorliegende Erfindung kann für eine große Bandbreite von Prozesstechnologien für Speicher sowie Abtastschaltkreise für Mehrebenenspeicher eingesetzt werden.
  • Die Löschoperation verwendet die Bandabtastfähigkeiten, welche jenen entsprechen, die in der Abhandlung über die digitale Mehrebenenabtastung beschrieben wurden, um zu überprüfen, dass jeder VT-Wert der Zelle in den erwünschten Bereich der VL-Spanne verschoben wurde. Dies stellt geeignete Sicherheitsbänder sicher, um ein uneindeutiges Abtasten an beiden Enden der VL-Spanne zu verhindern.
  • Mehrere Referenzspannungen werden während der Überprüfung der Löschung verwendet. Wie in den 18A und 18B dargestellt, definieren die Referenzspannungen bei VR0 + VMEFL und VR1 – VMEFU in Verbindung mit VR0 und VR1 zwei neue untere und obere Sicherheitsbänder für die Löschung. Es werden Referenzspannungen für die Löschung bei VEA, VEB und Referenzspannungen für die Programmierung bei VPEP, VPEF verwendet. Wie nachfolgend beschrieben, können ferner weitere Spannungen venniendet werden. VMEFL und VMEFU können, müssen aber nicht, gleich oder können, müssen aber nicht, größer als die zuvor beschriebenen Sicherheitsbänder VMRLI und VMRUI für das Abtasten oder VMPLI und VMPUI für die Minimalprogrammierung oder VMPELI, VMELI und VMUI für die Minimallöschung oder VCPELI, VCPLI und VCPUI für die Mikroprogrammierung oder VPLI, VPUI für die Programmierung sein.
  • Die Sicherheitsbänder VMEFL und VMEFU innerhalb des VL0-Niveaus werden so gewählt, dass die resultierende Verteilung der VT-Werte nach der Anwendung des Löschverfahrens innerhalb der gewünschten Spanne, die schmäler als die VL0– Spanne ist, optimiert werden. Die Optimierung kann voraussetzen, dass die Bänder VMEFL und VMEFU ungleich zueinander gewählt werden. Alternativ können diese Bänder die gleichen Werte aufweisen.
  • Das Verfahren ist so optimiert, dass es an eine große Bandbreite von Prozesstechnologien für die Speicherherstellung angepasst werden kann. Das Überprüfungsverfahren unterscheidet sich vom Stand der Technik, bei dem die VT-Werte der Zelle nur im Verhältnis zu einer einzelnen Referenzspannung für die Löschung überprüft werden. Bei den bisherigen Verfahren kann beim Löschen der Zelle der VT-Wert zu nahe an einen Referenzwert VR0 oder VR1 geraten, so dass das voranstehend beschriebene Problem einer uneindeutigen Abtastung entsteht. Durch die Überprüfung unter Verwendung von zusätzlichen Überprüfungs-Referenzspannungen, ob die gelöschten Daten sich innerhalb eines optimalen Bandes befinden, verhindert die vorliegende Löschtechnik das Problem einer uneindeutigen Abtastung der Daten.
  • Abtastmethode
  • Die Abtastmethode wird am besten dadurch beschrieben, dass eine Vielzahl von Zellen, die im gleichen Löschblock verbunden sind, betrachtet wird. Wie voranstehend beschrieben, verwendet ein gebräuchliches Mehrebenenspeichersystem eine auf Löschblöcken basierende Zellarchitektur, bei der mehrere Zellen gleichzeitig gelöscht werden, um eine Flächenreduktion zu erreichen. Es ist notwendig, alle Zellen wenigstens innerhalb eines solchen Löschblocks, wenn nicht des ganzen Chips zu verstehen, um alle Verästelungen des Löschverfahrens zu beachten.
  • 18A und 18B zeigen die Verteilung der VT-Werte für eine Vielzahl von Zellen in einem Speicher mit vier Niveaus VL0 bis VL3 zu sieben verschiedenen Zeitpunkten. TPE, TE1, TEPE2, TE2, TEPEF + TEF und TP. Die Figuren 18A und 18B entsprechen dem Beispiel aus 17B. In diesem Beispiel überlappen die vier VL-Spannen die VLERASE-Spanne. Dennoch ist die vorliegende Technik nicht auf dieses spezielle Beispiel beschränkt.
  • Die Verteilung der VT-Werte zum Zeitpunkt TPE zeigt den Zustand der Zellen direkt nach der Löschung. Die Löschmethode entspricht in vielerlei Hinsicht der Minimallöschmethode und wird daher weniger detailliert beschrieben, da eine Vielzahl gleicher Prinzipien verwendet wird. Zuerst wird auf dem ausgesuchten Sektor ein Löschpuls angewandt. Alle Zellen innerhalb eines Sektors werden dann auf eine von zwei möglichen Weisen überprüft, abhängig von der Prozesstechnologie der Speichermatrix. Die erste Variante überprüft, ob alle Zellen sich unterhalb der Referenzspannung VEA befinden, während die zweite Variante überprüft, ob sich alle Zellen oberhalb der Sicherheitsreferenzspannung VR0 + VMEFL befinden. Darauf folgende Löschpuls- und Überprüfungssequenzen werden so lange ausgeführt, bis entweder alle Zellen geprüft unterhalb der Referenzspannung VEA liegen oder bis eine erste überprüfte Zelle sich innerhalb des VMEFL-Sicherheitsbandes befindet oder bis eine maximale Anzahl von Sequenzen (Fehlerstatusanzeiger) erreicht ist. Die resultierende Verteilung der VT-Werte der Zelle zum Zeitpunkt TE1 ist in 18A gezeigt.
  • Als nächstes wird eine Serie von Minimalprogrammier- und Minimallöschschritten vor der Löschung durchgeführt, welche alternativ die Verteilung in der Zelle verengen und zur Sicherheits-Referenzspannung VR0 + VMEFL hin verschieben. Die Anzahl solcher Minimalprogrammier- und Minimallöschsequenzen vor der Löschung hängt wiederum vom Herstellungsprozess des Speichers ab und wird durch die Wahl geeigneter Referenzspannungen minimiert.
  • Das Beispiel aus den 18A und 18B zeigt zwei solche Minimalprogrammier- und Minimallöschsequenz vor der Löschung zu den Zeitpunkten TEPE2/TE2 und entsprechend TEPEF/TEF. In dem in 18A gezeigten Beispiel wird die Referenzspannung für die Minimalprogrammierung vor der Löschung bei VPEB gesetzt. Die Minimalprogrammierpuls- und Überprüfungsoperationen mit Bezug auf VPEB werden so lange angewandt, bis alle geprüften Zellen oberhalb der VPEB-Referenzspannung liegen. Die Verteilung der VT-Werte in der Zelle, welche aus dem Minimalprogrammierschritt vor der Löschung resultiert, wird zum Zeitpunkt TEPE2 gezeigt. Als nächstes werden die Minimallöschpulse und die Überprüfungsoperationen so lange ausgeführt, bis entweder für alle Zellen geprüft ist, dass diese oberhalb der Referenzspannung VEB liegen oder bis sich eine erste überprüfte Zelle innerhalb des VMEFL-Sicherheitsbandes befindet oder bis eine maximale Anzahl von Sequenzen (Fehlerstatusanzeiger) erreicht ist. Die Referenzspannung VEB wird optimal zwischen den voranstehend beschriebenen VEA- und VR0 + VMEFL- Referenzspannungen gewählt. Die resultierende Verteilung der VT-Werte der Zelle ist zum Zeitpunkt TE2 in den 18A bis 18B gezeigt.
  • Die Schritte der Minimalprogrammierung und der Minimallöschung vor der Löschung werden wiederum wiederholt. Als nächstes wird die Referenzspannung der Minimalprogrammierung vor der Löschung bei der VPEF gesetzt. Die Referenzspannung VPEF wird optimal zwischen den voranstehend beschriebenen Referenzspannungen VPEB und VR0 + VMEFL gewählt. Die Minimalprogrammierpulse und Überprüfungsoperationen bei VPEF werden so lange ausgeführt, bis sich alle Zellen oberhalb der Referenzspannung VPEF befinden. Gezeigt ist die Verteilung der VT-Werte der Zelle zum Zeitpunkt TEPEF, welche aus dem zweiten Minimalprogrammierschritt vor dem Löschen resultiert. Als nächstes werden die Minimallöschpulse und Überprüfungsoperationen so lange angewandt, bis entweder alle überprüfte Zellen unterhalb der Sicherheits-Referenzspannung VR1 – VMEFU liegen bZW. die erste Zelle innerhalb des Sicherheitsbandes VMEFL gefunden wird oder bis eine maximale Anzahl erreicht ist (Fehlerstatusanzeiger).
  • Nun liegt der Fall vor, dass, anstatt einen weiteren Minimalprogrammierschritt anzuwenden, gefunden wurde, dass eine Prüfung in Bezug auf das Sicherheitsband VR1 – VMEFU ansteht. Wenn bei der Prüfung keine Zellen innerhalb des Sicherheitsbands VMEFU gefunden werden oder wenn eine maximale Anzahl von Löschschritten durchgeführt wurde (Fehlerstatusanzeiger), dann ist die die Löschoperation vollendet. Alternativ wird eine zusätzliche Minimalprogrammierung und Minimallöschungssequenz vor der Löschung durchgeführt, bis zu einer maximalen Anzahl (Fehlerstatusanzeiger) unter Verwendung der nächsten Referenzspannung VPE, jedoch nur wenn Zellen oberhalb des Sicherheitsbandes mit der Referenzspannung VR1 – VMEFU zum Abschluss des vorhergehenden Minimallöschungs-Überprüfungsschritts festgestellt wurden. Die nächste Referenzspannung VPE wird optimal zwischen den bisherigen Referenzspannungen VPE und VR0 + VMEFL gewählt. In 18B ist zum Zeitpunkt TEF die resultierende Verteilung der VT-Werte der Zelle dargestellt, welche die gleiche Weite aufweist, wie sie bei dem voranstehend beschriebenen ersten Teil des Programmiervertahrens entsteht. Der Löschblock ist nun bereit für die Programmierung jener Zellen, die nicht auf dem VL0-Niveau verbleiben sollen. Die Verteilung der VT-Werte der Zelle nach dem ersten Teil des voranstehend beschriebenen Programmierverfahrens ist für den Zeitpunkt TP in 18B gezeigt.
  • Löschsystem für einen Mehrebenenspeicher
  • Die Löschvorgänge sind nahezu identisch zu jenen des voranstehend beschriebenen Minimallöschverfahrens. Abweichend hiervon instruiert der PROGRAM ERASE READ RESTORE SEQUENCER-Block 26 den ΔVU ΔVL GEN-Block 39 über den BRGRDB-Bus 37 die Referenzspannungen VMEFU und VMFFL anstatt der Referenzspannungen VMEUI und VMELI aus dem Bus RVBUS 42 zu erzeugen. Der VX VY GEN-Block 38 wird angewiesen, die Referenzspannungen VR0 und VR1 zu erzeugen. Die Referenzspannungen VEA, VPEB, VEB und VPEF werden auf gleiche Art und Weise erzeugt und auf den am nächsten gelegenen VRI-Wert gemäß der voranstehend beschriebenen Optimierung bezogen. Der PRG-ERS-Bus 22 wird ferner, wie voranstehend beschrieben, angewiesen, die BLOCK-DEC-Blöcke 19, die X-DEC-Blöcke 17 und die Y-DEC-Blöcke 18 so zu konfigurieren, dass eine Löschoperation auf dem ausgesuchten Block oder Sektor möglich ist.
  • Während voranstehend eine vollständige Beschreibung des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung dargelegt wurde, können verschiedene Alternativen, Modifikationen und Äquivalente verwendet werden. Selbstverständlich kann die vorliegende Erfindung mit einigen geeigneten Modifikationen für die vorausgehend beschriebenen Ausführungsbeispiele verwendet werden. Es gibt eine Vielzahl von Speichertechnologien, auf die die vorliegende Erfindung angewandt werden kann, die nicht nur auf die Speicherung mittels elektrischer Ladungen beschränkt sind. Weitere physikalische Eigenschaften können in einem integrierten Schaltkreis eines Speichersystems abgespeichert werden. Beispielsweise verändert die ferroelektrische Polarisierung in einem Film über einen halbleitenden Kanal die Leitfähigkeit im Kanal und bildet somit die Basis für ferroelektrische Speicher. Die Stärke der Polarisierung des ferroelektrischen Films kann durch die Anwendung einer Spannung auf einen Leiter, das Kontrollgatter, gesteuert werden, so dass sich unterschiedliche Leitfähigkeiten ergeben. Referenzspannungen können zur Steuerung des Kontrollgatters gesetzt werden. Die vorliegende Erfindung kann folglich auf ferroelektrische Speicher in zu den Ladungsspeichern analoger Weise angewandt werden.
  • Daher soll die voranstehende Beschreibung nicht den Umfang der Erfindung beschränken, der durch den Umfang der nachfolgenden Ansprüche festgelegt wird.

Claims (23)

  1. Speichersystem eines integrierten Schaltkreises, umfassend eine Vielzahl von Speicherzellen, jede Speicherzelle speichert einen Zustand aus einer Vielzahl von diskreten, bitweiser Information entsprechenden, Zuständen; dadurch gekennzeichnet, dass jeder diskrete Zustand einen vorbestimmten Variationsbereich hat; sowie durch eine Abtasteinrichtung zur Bestimmung einer Drift in der Speicherzelle aus dem vorbestimmten Variationsbereich des jeweiligen diskreten Zustandes heraus und durch eine Vorrichtung zur Wiederherstellung des jeweiligen diskreten Zustandes in der Speicherzelle mit einer Drift aus dem vorbestimmten Variationsbereich des jeweiligen diskreten Zustandes heraus, um die dem jeweiligen diskreten Zustand entsprechende bitweise Information aufrechtzuerhalten.
  2. Speichersystem gemäß Anspruch 1, wobei die Abtasteinrichtung im Wesentlichen gleichzeitig und unabhängig an einer Vielzahl ausgesuchter Speicherzellen arbeitet.
  3. Speichersystem gemäß Anspruch 1, wobei jede Speicherzelle einen nichtflüchtigen Speicher umfasst, der eine der bitweisen Information entsprechende Ladungsmenge auf einem schwebenden Gate speichert; und ferner umfassend eine Schaltungseinrichtung zur Aufrechterhaltung der Ladungsmenge in jedem der schwebenden Gates der Vielzahl von Speicherzellen, die diese Ladungsmenge aufnehmen; wodurch der Verlust der bitweisen Information in jeder der Speicherzellen verhindert wird.
  4. Speichersystem gemäß Anspruch 3, wobei die Aufrechterhaltungseinrichtung jeder nicht-flüchtigen Speicherzelle Ladungen hinzufügt oder von ihr abzieht, um die Ladungsmenge anzupassen, im Wesentlichen ohne zuerst die gesamte Ladung aus einer nicht-flüchtigen Speicherzelle zu entnehmen.
  5. Speichersystem gemäß Anspruch 3, wobei die bitweise Information in jeder Speicherzelle wenigstens zwei Bits umfasst.
  6. Speichersystem gemäß Anspruch 1, umfassend eine Vorrichtung zur Erzeugung von mehr als 2N-Referenzwerten; und jede Speicherzelle ist in der Lage einen aus 2N diskreten Zuständen, die N-Informationsbits entsprechen, zu speichern; und die Abtasteinrichtung prüft den jeweiligen diskreten Zustand in der Speicherzelle durch Vergleich mit Referenzwerten und bestimmt eine Drift aus dem vorbestimmten Variationsbereich des diskreten Zustands heraus im Verhältnis zu den Referenzwerten.
  7. Speichersystem gemäß Anspruch 6, wobei die Abtasteinrichtung und die Einrichtung zur Erzeugung von Referenzwerten zusammenwirken zum sequentiellen Vergleichen des jeweiligen diskreten Zustandes mit den Referenzwerten in einer geordneten Reihenfolge, um den jeweiligen diskreten Zustand zu bestimmen und die Drift des jeweiligen diskreten Zustands im Verhältnis zu den Referenzwerten zu bestimmen.
  8. Speichersystem gemäß Anspruch 6, wobei die Referenzwerte einen ersten und einen zweiten Satz umfassen, die Abtasteinrichtung verwendet den ersten Satz der Referenzwerte zur Bestimmung des jeweiligen diskreten Zustands, während der zweite Satz Referenzwerte von der Abtasteinrichtung zur Bestimmung der Drift des jeweiligen Zustands in der Speicherzelle verwendet wird, der zweite Satz Referenzwerte steht in einem vorbestimmten Verhältnis zum ersten Satz Referenzwerte.
  9. Speichersystem gemäß Anspruch 8, ferner umfassend eine Vergleichsvorrichtung, die auf die Abtasteinrichtung reagiert und den jeweiligen diskreten Zustand in der Speicherzelle so wieder herstellt, dass die zu dem jeweiligen diskreten Zustand entsprechende Information in jeder der vielzähligen Speicherzellen erhalten bleibt.
  10. Speichersystem gemäß Anspruch 6, wobei jede Speicherzelle eine in Bezug zum jeweiligen diskreten Zustand stehende elektrische Ladungsmenge speichert; und die Abtasteinrichtung bestimmt, ob elektrische Ladungen der Speicherzelle hinzugefügt oder aus ihr entfernt werden sollen, um eine mit dem jeweiligen diskreten Zustand in Bezug stehende Ladung aufrechtzuerhalten; und ferner umfassend eine Vorrichtung zum Setzen von wenigstens einem Statusanzeiger für die von der Abtasteinrichtung bestimmten Festlegungen.
  11. Speichersystem gemäß Anspruch 10, ferner umfassend eine Vorrichtung zur Speicherung wenigstens eines Statusanzeigers an einer Speicherstelle, die mit der Speicherzelle in Verbindung steht.
  12. Speichersystem gemäß Anspruch 10, wobei die Abtasteinrichtung den jeweiligen diskreten Zustand mit wenigstens zwei Referenzwerten vergleicht, um zu bestimmen, ob zuviel oder zu wenig Ladung der Speicherzelle zur Herstellung des jeweiligen diskreten Zustandes hinzugefügt wurde.
  13. Speichersystem gemäß Anspruch 1, wobei die Vielzahl von Speicherzellen in einer Matrix angeordnet ist und jede Speicherzelle eine elektrische Ladungsmenge speichert, die der bitweisen Information entspricht; und ferner umfassend eine programmierbare Einheit, die mit der Matrix der Speicherzellen verbunden ist; die programmierbare Einheit versorgt die Matrix der Speicherzellen derart mit Steuersignalen zur Verschiebung elektrischer Ladungen zu und von den Speicherzellen, dass die Ladung in den Speicherzellen der jeweiligen bitweisen Information entspricht; eine Referenzspannungseinheit, die in der Lage ist, eine Vielzahl von Referenzspannungen einzustellen; Komparatoren, die mit der Matrix der Speicherzellen und der Referenzspannungseinheit in Verbindung stehen und ein Regelungsschaltkreis, verbunden mit der Matrix der Speicherzellen, der Referenzspannungseinheit und den Komparatoren; der Regelungsschaltkreis verbindet eine Vielzahl ausgesuchter Speicherzellen in der Matrix der Speicherzellen und die Referenzspannungseinheit mit den Komparatoren zur Messung der Ladungsmenge, welche der bitweisen Information in jeder der vielzähligen ausgesuchten Speicherzellen entspricht sowie der entsprechenden Drift.
  14. Speichersystem gemäß Anspruch 13, wobei der Regelungsschaltkreis zur Bestimmung der Drift die programmierbare Einheit dazu in Anspruch nimmt, um die elektrische Ladung in den vielzähligen ausgesuchten Speicherzellen so anzupassen, dass ein Verlust der bitweisen Information in jeder Speicherzelle vermieden wird.
  15. Speichersystem gemäß Anspruch 14, wobei die programmierbare Einheit die Ladungen im Wesentlichen ohne ein völliges Entnehmen der Ladungen aus der Vielzahl der Speicherzellen anpasst.
  16. Speichersystem gemäß Anspruch 13, wobei die Komparatoren eine Spannung, die aus der elektrischen Ladungsmenge in jeder der vielzähligen ausgesuchten Speicherzellen mit einem ersten Satz von Referenzspannungen aus der Vielzahl von Referenzspannungen vergleichen, um die digitale Information in jeder der vielzähligen ausgesuchten Speicherzellen zu bestimmen; und wobei die Komparatoren die Spannungen, die sich aus der Ladungsmenge in jeder der vielzähligen ausgesuchten Speicherzellen ergeben, mit dem zweiten Satz von Referenzspannungen vergleichen, um die Drift der Ladungen, die der digitalen Information entsprechen, zu bestimmen; und wobei die Regelungseinheit Statusanzeigen zu den, der bitweisen Information entsprechenden, Ladungen abhängig von der Festlegung der Drift in der Ladungsmenge setzt.
  17. Verfahren zum Betrieb eines Speichersystems in einem integrierten Schaltkreis, welches ein Vielzahl von Speicherzellen aufweist, umfassend das Speichern von Ladungen in jeder Speicherzelle mit einem Wert aus einer Menge von diskreten Werten, wobei jeder diskrete Wert einer bitweisen Information entspricht; gekennzeichnet durch die folgenden Merkmale, jeder Wert hat einen vorbestimmten Variationsbereich; passives Abtasten einer Drift in einer Speicherzelle aus dem vorbestimmten Variationsbereich für jeweiligen diskreten Wert heraus; und Wiederherstellung der Ladung in der Speicherzelle, die einer Drift aus dem vorbestimmten Variationsbereich des diskreten Werts unterliegt.
  18. Verfahren gemäß Anspruch 17, wobei der Abtastschritt einen iterativen Vergleich eines aus der Ladungsmenge resultierenden Wertes mit einer ersten Folgen von Referenzwerten umfasst, der Referenzwert in einem Vergleichsschritt hängt von den Resultaten des vorherigen Vergleichsschritts ab; und ferner umfassend die Bestimmung einer Drift in der Ladungsmenge in jeder Speicherzelle im Vergleich zu einer zweiten Folge von Referenzwerten; und Setzen, für den Fall, dass ein Driftbestimmungsschritt bejaht wird, eines Statusanzeigers, der die Richtung der Drift anzeigt.
  19. Verfahren gemäß Anspruch 18, ferner umfassend das Speichern wenigstens eines Statusanzeigers in einem Bereich des Speichers, der mit der Speicherzelle in Verbindung steht.
  20. Verfahren gemäß Anspruch 19, wobei der Driftbestimmungsschritt einen iterativen Vergleich umfasst, bei dem der Wert, welcher der Ladungsmenge entspricht, mit der zweiten Folge von Referenzwerten verglichen wird; ferner umfassend ein Referenzwert für einen Vergleichsschritt, der von den Resultaten des vorherigen Vergleichsschritts abhängt.
  21. Verfahren gemäß Anspruch 20, wobei jeder der iterativen Vergleichsschritte mit der zweiten Folge von Referenzwerten einem jeweiligen iterativen Vergleichsschritt mit der ersten Folge von Referenzwerten nachfolgt.
  22. Verfahren gemäß Anspruch 18, ferner umfassend den Vergleich des der Ladungsmenge entsprechenden Wertes mit einem Referenzwerte, der größer oder kleiner ist als alle Werte aus der Folge der Referenzwerte in Abhängigkeit davon, ob im Abtastschritt festgestellt wird, dass die korrespondierende bitweise Information entweder aus nur logischen „1" oder nur aus logischen „0" besteht.
  23. Verfahren gemäß Anspruch 18, wobei die Vielzahl diskreter Werte für die Speicherung von Ladung in einer Speicherzelle 2N umfasst, und die Vergleichsschritte wenigstens N Mal durchgeführt werden.
DE69719968T 1996-04-30 1997-04-28 Stabilisierkreise für mehrere digitale bits Expired - Fee Related DE69719968T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/640,367 US5815439A (en) 1996-04-30 1996-04-30 Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell
US640367 1996-04-30
PCT/US1997/007152 WO1997041640A1 (en) 1996-04-30 1997-04-28 Stabilization circuits for multiple digital bits

Publications (2)

Publication Number Publication Date
DE69719968D1 DE69719968D1 (de) 2003-04-24
DE69719968T2 true DE69719968T2 (de) 2004-01-08

Family

ID=24567961

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69719968T Expired - Fee Related DE69719968T2 (de) 1996-04-30 1997-04-28 Stabilisierkreise für mehrere digitale bits

Country Status (9)

Country Link
US (2) US5815439A (de)
EP (1) EP0896763B1 (de)
JP (1) JP3706146B2 (de)
KR (1) KR100522561B1 (de)
CN (1) CN1126256C (de)
AT (1) ATE235094T1 (de)
DE (1) DE69719968T2 (de)
TW (1) TW345660B (de)
WO (1) WO1997041640A1 (de)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857099B1 (en) 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
JP3159105B2 (ja) * 1997-02-21 2001-04-23 日本電気株式会社 不揮発性半導体記憶装置及びその書込方法
US6781883B1 (en) * 1997-03-20 2004-08-24 Altera Corporation Apparatus and method for margin testing single polysilicon EEPROM cells
JPH1139886A (ja) * 1997-07-14 1999-02-12 Rohm Co Ltd 半導体メモリ
KR100292625B1 (ko) * 1998-06-29 2001-07-12 박종섭 고속인터페이스장치
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
US6166962A (en) * 1999-06-24 2000-12-26 Amic Technology, Inc. Circuit and method for conditioning flash memory array
US6198662B1 (en) 1999-06-24 2001-03-06 Amic Technology, Inc. Circuit and method for pre-erasing/erasing flash memory array
US6211698B1 (en) * 1999-06-29 2001-04-03 Hyundai Electronics Industries Co., Ltd. High speed interface apparatus
KR20010005001A (ko) 1999-06-30 2001-01-15 김영환 플래쉬 메모리 셀의 제조 방법
KR20010004990A (ko) 1999-06-30 2001-01-15 김영환 플래쉬 이이피롬 셀 및 그 제조 방법
US6275417B1 (en) * 1999-10-08 2001-08-14 Aplus Flash Technology, Inc. Multiple level flash memory
US6259627B1 (en) * 2000-01-27 2001-07-10 Multi Level Memory Technology Read and write operations using constant row line voltage and variable column line load
US6219276B1 (en) * 2000-02-25 2001-04-17 Advanced Micro Devices, Inc. Multilevel cell programming
US6829571B1 (en) * 2000-06-15 2004-12-07 Hewlett-Packard Development Company, L.P. Method of determining DC margin of a latch
DE60102203D1 (de) * 2000-12-15 2004-04-08 St Microelectronics Srl Programmierverfahren für eine Mehrpegelspeicherzelle
US6344994B1 (en) 2001-01-31 2002-02-05 Advanced Micro Devices Data retention characteristics as a result of high temperature bake
US6493261B1 (en) 2001-01-31 2002-12-10 Advanced Micro Devices, Inc. Single bit array edges
US6442074B1 (en) 2001-02-28 2002-08-27 Advanced Micro Devices, Inc. Tailored erase method using higher program VT and higher negative gate erase
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
KR100391154B1 (ko) * 2001-05-14 2003-07-12 삼성전자주식회사 불휘발성 반도체 메모리 장치의 프로그램 방법 및 장치
US6512701B1 (en) 2001-06-21 2003-01-28 Advanced Micro Devices, Inc. Erase method for dual bit virtual ground flash
US6614695B2 (en) 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
JP4206683B2 (ja) * 2002-03-27 2009-01-14 セイコーエプソン株式会社 強誘電体メモリ
US7051127B2 (en) * 2002-05-10 2006-05-23 Hewlett-Packard Development Company, L.P. Method and apparatus for selectively providing data pre-emphasis based upon data content history
US7242632B2 (en) * 2002-06-20 2007-07-10 Tokyo Electron Device Limited Memory device, memory managing method and program
EP1381057B1 (de) * 2002-07-10 2008-12-03 STMicroelectronics S.r.l. Zeilenauswahlschaltung für Speicherzellenarray
US6856534B2 (en) * 2002-09-30 2005-02-15 Texas Instruments Incorporated Ferroelectric memory with wide operating voltage and multi-bit storage per cell
US6754103B2 (en) * 2002-11-04 2004-06-22 Silicon Storage Technology, Inc. Method and apparatus for programming and testing a non-volatile memory cell for storing multibit states
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
JP4713873B2 (ja) * 2004-11-12 2011-06-29 株式会社東芝 半導体記憶装置
KR100648254B1 (ko) * 2004-12-01 2006-11-24 삼성전자주식회사 소거시간을 줄일 수 있는 불휘발성 메모리 장치 및 그것의소거방법
US20070086244A1 (en) 2005-10-17 2007-04-19 Msystems Ltd. Data restoration in case of page-programming failure
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2008019347A2 (en) * 2006-08-05 2008-02-14 Benhov Gmbh, Llc Solid state storage element and method
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7539052B2 (en) 2006-12-28 2009-05-26 Micron Technology, Inc. Non-volatile multilevel memory cell programming
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US7729165B2 (en) * 2007-03-29 2010-06-01 Flashsilicon, Incorporation Self-adaptive and self-calibrated multiple-level non-volatile memories
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8060798B2 (en) * 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
KR101378365B1 (ko) * 2008-03-12 2014-03-28 삼성전자주식회사 하이브리드 메모리 데이터 검출 장치 및 방법
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) * 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR101882853B1 (ko) * 2011-12-21 2018-08-27 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US8797804B2 (en) 2012-07-30 2014-08-05 Micron Technology, Inc. Vertical memory with body connection
US9378830B2 (en) 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
KR102248276B1 (ko) * 2014-05-26 2021-05-07 삼성전자주식회사 스토리지 장치의 동작 방법
US9548107B1 (en) * 2015-07-09 2017-01-17 Kabushiki Kaisha Toshiba Semiconductor memory device
US9753657B2 (en) * 2015-09-18 2017-09-05 Sandisk Technologies Llc Dynamic reconditioning of charge trapped based memory
US10146460B1 (en) 2017-06-01 2018-12-04 Apple Inc. Programming schemes for avoidance or recovery from cross-temperature read failures
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771404A (en) * 1984-09-05 1988-09-13 Nippon Telegraph And Telephone Corporation Memory device employing multilevel storage circuits
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5293560A (en) * 1988-06-08 1994-03-08 Eliyahou Harari Multi-state flash EEPROM system using incremental programing and erasing methods
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
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5258759A (en) * 1992-10-16 1993-11-02 California Institute Of Technology Method and apparatus for monotonic algorithmic digital-to-analog and analog-to-digital conversion
US5479170A (en) * 1992-10-16 1995-12-26 California Institute Of Technology Method and apparatus for long-term multi-valued storage in dynamic analog memory
US5365486A (en) * 1992-12-16 1994-11-15 Texas Instruments Incorporated Method and circuitry for refreshing a flash electrically erasable, programmable read only memory
US5422842A (en) * 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
US5511020A (en) * 1993-11-23 1996-04-23 Monolithic System Technology, Inc. Pseudo-nonvolatile memory incorporating data refresh operation
GB9401227D0 (en) * 1994-01-22 1994-03-16 Deas Alexander R Non-volatile digital memory device with multi-level storage cells
US5539690A (en) * 1994-06-02 1996-07-23 Intel Corporation Write verify schemes for flash memory with multilevel cells
GB9415539D0 (en) * 1994-08-02 1994-09-21 Deas Alexander R Bit resolution optimising mechanism

Also Published As

Publication number Publication date
CN1268261A (zh) 2000-09-27
US5815439A (en) 1998-09-29
CN1126256C (zh) 2003-10-29
WO1997041640A1 (en) 1997-11-06
JP3706146B2 (ja) 2005-10-12
KR100522561B1 (ko) 2006-01-27
EP0896763A4 (de) 2000-08-16
TW345660B (en) 1998-11-21
KR20000065145A (ko) 2000-11-06
JP2001508218A (ja) 2001-06-19
EP0896763A1 (de) 1999-02-17
ATE235094T1 (de) 2003-04-15
DE69719968D1 (de) 2003-04-24
EP0896763B1 (de) 2003-03-19
US5901089A (en) 1999-05-04

Similar Documents

Publication Publication Date Title
DE69719968T2 (de) Stabilisierkreise für mehrere digitale bits
DE68929389T2 (de) Speichersystem und Verfahren zu seinem Gebrauch
DE60312729T2 (de) Intelligente verifikation von speichern mit mehreren zuständen
DE69030959T2 (de) EEPROM mit Referenzzelle
DE69927967T2 (de) Programmierungverfahren eines nichtflüchtigen Multibit Speichers durch Regelung der Gatespannung
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE60319437T2 (de) Nichtflüchtiger halbleiterspeicher mit zykluszählwerte speichernden grossen löschblöcken
DE102005045031B4 (de) Programmierverfahren und Programmierwiederaufnahmeverfahren für ein nichtflüchtiges Speicherbauelement
DE69521882T2 (de) Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE4119394C2 (de) Nichtflüchtige Halbleiterspeichereinrichtung und Datenlöschungsverfahren hierfür
DE69502169T2 (de) Verfahren zum Einschreiben von Daten in einen Speicher und entsprechender elektrisch-programmierbarer Speicher
DE60318659T2 (de) Nichtflüchtiger Speicher und Auffrischungsverfahren
DE19724221B4 (de) Nichtflüchtiger Speicher
DE102005030661A1 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE69317937T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE4035660A1 (de) Elektrisch programmierbare speichereinrichtung und verfahren zum zugreifen/programmieren von speicherzellen
DE102007039844A1 (de) Flashspeicherelement und Speichersystem
DE112008001151T5 (de) Mehrbitprogrammiervorrichtung und Verfahren zum Mehrbitprogrammieren
DE112004000703T5 (de) Verfahren zum Betrieb einer Doppelzellenspeichereinrichtung mit einer verbesserten Lesebereichsspanne über die Lebensdauer hinweg
DE102006023065B4 (de) Flashspeicherbauelement und Programmierverfahren
DE69731255T2 (de) Verfahren zum Löschen eines nichtflüchtigen Speichers
DE69319162T2 (de) Flash-Speicher

Legal Events

Date Code Title Description
8339 Ceased/non-payment of the annual fee