-
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 1A–1C 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
6 illustriert die
Referenzspannungen V
R0 bis V
R16,
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 = V
RI und VY = V
RI 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 = V
MRLI, ΔVU
= V
MRU(
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 3A –3C 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 3A–3C 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 17A–17C 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 17A–17C 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.