DE102005009700B4 - Programmierverfahren und nichtflüchtiger Speicher - Google Patents

Programmierverfahren und nichtflüchtiger Speicher Download PDF

Info

Publication number
DE102005009700B4
DE102005009700B4 DE200510009700 DE102005009700A DE102005009700B4 DE 102005009700 B4 DE102005009700 B4 DE 102005009700B4 DE 200510009700 DE200510009700 DE 200510009700 DE 102005009700 A DE102005009700 A DE 102005009700A DE 102005009700 B4 DE102005009700 B4 DE 102005009700B4
Authority
DE
Germany
Prior art keywords
state
memory cell
memory cells
voltage
applying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE200510009700
Other languages
English (en)
Other versions
DE102005009700A1 (de
Inventor
Dong-Ho Yongin Park
Seung-Keun Yongin Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR10-2004-0012984A external-priority patent/KR100525004B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102005009700A1 publication Critical patent/DE102005009700A1/de
Application granted granted Critical
Publication of DE102005009700B4 publication Critical patent/DE102005009700B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Abstract

Verfahren zur Programmierung einer Mehrzahl von Speicherzellen (10) in einen Sollzustand, wobei eine jeweilige Speicherzelle mehr als zwei mögliche Zustände aufweist,
gekennzeichnet durch die Schrittfolge:
– Durchführen eines Programmierschrittes für die jeweilige Speicherzelle (10),
– Verifizieren, dass die jeweilige Speicherzelle den Sollzustand erreicht hat, und
– Durchführen eines zusätzlichen Programmierschrittes für diejenigen Speicherzellen, deren Sollzustand ein höchster der möglichen Zustände ist, um diese auf einen höheren Pegel zu programmieren, ohne ihren Zustand weiter zu verifizieren.

Description

  • Die Erfindung bezieht sich auf ein Verfahren zum Programmieren einer Mehrzahl von Speicherzellen und auf einen zugehörigen nichtflüchtigen Speicher.
  • Moderne Rechnersysteme umfassen häufig nichtflüchtige Halbleiterspeicherbauelemente zum Speichern von Daten. Populäre Typen von nichtflüchtigen Halbleiterspeicherbauelementen sind Flashspeicherbauelemente. 1 zeigt schematisch einen Ausschnitt aus einem herkömmlichen Flashspeicherbauelement 900 mit einem Feld 100 von Flashspeicherzellen 10. Jede Flashspeicherzelle 10 kann beispielsweise als Feldeffekttransistor FET ausgeführt sein. Die Flashspeicherzelle 10 umfasst ein Gate 11, ein floatendes Gate 21, eine Source 31 und eine Drain 41. Das Gate 11 arbeitet in Reaktion auf eine Wortleitung, z. B. auf Wortleitungen W/L0, W/L1,..., W/L1023. Die Source 31 ist mit einer Ab tastleitung S/L gekoppelt. Die Drain 41 arbeitet in Reaktion auf korrespondierende Bitleitungen B/L0, B/L1,..., B/L511.
  • Die Flashspeicherzelle 10 wird durch Anlegen von variierenden Spannungen über die jeweilige Wortleitung W/L0, W/L1,..., W/L1023 an das Gate 11 und durch Vergleichen einer Schwellwertspannung Vt, eines Drainstroms Id und/oder von im floatenden Gate 21 gespeicherten Ladungen mit einer Referenzspeicherzelle programmiert, verifiziert und gelesen. Die Programmierung umfasst das Anlegen einer Programmierspannung an das Gate 11, um Daten in das Speicherzellenfeld 100 durch Verändern der im floatenden Gate 21 gespeicherten Ladung zu programmieren bzw. zu speichern, was eine korrespondierende Veränderung der Schwellwertspannung Vt, des Drainstroms Id und/oder der gespeicherten Ladung verursacht. Die Verifizierung prüft eine erfolgreiche Programmierung des Feldes 100 und folgt in der Regel auf den Programmiervorgang. Das Lesen umfasst das Lesen der Daten aus dem programmierten Speicherzellenfeld 100.
  • Flashspeicherzellen können je nach Auslegung einzelne Datenbits oder mehrere Datenbits speichern. Wie aus 2A ersichtlich ist, können Flashspeicherzellen für Einzelbits einen Zustand 1 bzw. einen Zustand 0 aufweisen, was einen hohen logischen Zustand bzw. einen niedrigen logischen Zustand anzeigt. Der Zustand 1 ist im Diagramm von 2A eine Glockenkurve, welche durch Schwellwertspannungen V1 und V2 definiert ist, so dass die meisten Speicherzellen, welche auf den Zustand 1 programmiert sind, einen Schwellwert zwischen den Spannungswerten V1 und V2 aufweisen. Analog ist der Zustand 0 eine Glockenkurve, welche durch Schwellwertspannungen V3 und V4 definiert ist, so dass die meisten Speicherzellen, welche auf den Zustand 0 programmiert sind, einen Schwellwert zwischen den Spannungswerten V3 und V4 aufweisen. Der Bereich zwischen den Zuständen 1 und 0 wird als Trennungsbereich bezeichnet. Eine Referenzspannung Vref liegt ty pischerweise im Trennungsbereich zwischen dem Zustand 1 und dem Zustand 0. Theoretisch sind Trennungsbereiche nicht erforderlich, sie dienen jedoch dazu, gut zwischen den Zuständen unterscheiden zu können, d. h. hier zwischen den Zuständen 1 und 0.
  • Wie aus 2B ersichtlich ist, weisen Mehrbit-Speicherzellen im Gegensatz zu Einzelbit-Speicherzellen eine Mehrzahl von Zuständen auf, z. B. Zustände 11, 10, 01 und 00. Flashspeicherzellen, welche mehrere Datenbits speichern, sind wünschenswert, da die Bitkosten wesentlich reduziert werden. So kann beispielsweise die Speicherzellendichte verdoppelt werden, ohne dass dies von einer Erhöhung der Anzahl von Einzelchips begleitet ist, wenn vier Datenzustände oder Pegel in einer Einzelzelle implementiert werden.
  • Der Zustand 11 ist im Diagramm von 2B eine Glockenkurve, welche durch Schwellwertspannungen V1 und V2 definiert ist, so dass die meisten Speicherzellen, welche auf den Zustand 11 programmiert sind, einen Schwellwert zwischen den Spannungswerten V1 und V2 aufweisen. Der Zustand 10 ist eine Glockenkurve, welche durch Schwellwertspannungen V3 und V4 definiert ist, so dass die meisten Speicherzellen, welche auf den Zustand 10 programmiert sind, einen Schwellwert zwischen den Spannungswerten V3 und V4 aufweisen. Der Zustand 01 ist eine Glockenkurve, welche durch Schwellwertspannungen V5 und V6 definiert ist, so dass die meisten Speicherzellen, welche auf den Zustand 01 programmiert sind, einen Schwellwert zwischen den Spannungswerten V5 und V6 aufweisen. Der Zustand 00 ist eine Glockenkurve, welche durch die Schwellwertspannungen V7 und V8 definiert ist, so dass die meisten Speicherzellen, welche auf den Zustand 00 programmiert sind, einen Schwellwert zwischen den Spannungswerten V7 und V8 aufweisen. Trennbereiche existieren zwischen den Zuständen und definieren Referenzspannungen Vref_low, Vref_medium und Vref_high. Die Referenzspannung Vref_low liegt zwischen den Spannungen V2 und V3 der Zu stände 11 und 10. Die Referenzspannung Vref_medium liegt zwischen den Spannungen V4 und V5 der Zustände 10 und 01. Die Referenzspannung Vref_high liegt zwischen den Spannungen V6 und V7 der Zustände 01 und 00.
  • Ein Flashspeicherbauelement der oben erläuterten Art ist z. B. auch in der Patentschrift US 5.982.667 offenbart.
  • Mehrbit-Speicherzellen erfordern eine präzise Steuerung der Schwellwertspannung. Die typischerweise höhere Verifizierungsspannung resultiert in relativ engen Zustandsverteilungen und breiten Trennungsbereichen bei der Verifizierungsspannung. Wird aber später eine niedrigere Lesespannung angelegt, dann verbreitern sich die Zustandsverteilungen und die Trennungsbereiche verschmälern sich als Ergebnis der variierenden gm-Verteilungen der Speicherzellen. Dies erhöht die Gefahr von Lesefehlern, d. h. die Wahrscheinlichkeit, dass eine Zelle nach Programmieren, Verifizieren, ob sie im richtigen Zustand ist, und anschließendem Lesen in einem anderen Zustand ist.
  • Es ist Aufgabe der Erfindung, ein Verfahren zum Programmieren einer Mehrzahl von Speicherzellen und einen nichtflüchtigen Speicher anzugeben, mit denen sich die oben erwähnten Schwierigkeiten des Standes der Technik wenigstens teilweise beheben lassen.
  • Die Erfindung löst diese Aufgabe durch ein Verfahren zum Programmieren einer Mehrzahl von Speicherzellen mit den Merkmalen des Patentanspruchs 1 und durch einen nichtflüchtigen Speicher mit den Merkmalen des Patentanspruchs 6.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie die zu deren besserem Verständnis oben erläuterten herkömmlichen Ausführungsbeispiele sind in den Zeichnungen dargestellt. Es zeigen:
  • 1 ein schematisches, ausschnittweise Blockdiagramm eines herkömmlichen Flashspeicherzellenfeldes,
  • 2A bis 2B Zustandsverteilungsdiagramme über der Zellenschwellwertspannung für Einzelbit-Speicherzellen bzw. Mehrbit-Speicherzellen entsprechender Flashspeicher,
  • 3 ein Flussdiagramm eines herkömmlichen Programmierverfahrens für Mehrbit-Speicherzellen,
  • 4 ein schematisches Diagramm von Schreib-/Lesespannungen über der Zeit für verschiedene herkömmliche Verifizier- und Programmiervorgänge von Mehrbit-Speicherzellen aus 2B,
  • 5 ein schematisches Diagramm des Zellenstroms über der Schwellwertspannung in Zusammenhang mit 4 für die herkömmlichen Mehrbit-Speicherzellen aus 2B,
  • 6 ein Zustandsverteilungsdiagramm über dem Zellenstrom für herkömmliche Mehrbit-Speicherzellen,
  • 7 ein schematisches Diagramm des Zellenstroms über Schreib-/Lesespannungen in Zusammenhang mit 6,
  • 8 ein Zustandsverteilungsdiagramm über der Schwellwertspannung für Mehrbit-Speicherzellen gemäß den 6 und 7,
  • 9 ein schematisches, ausschnittweises Blockdiagramm eines erfindungsgemäßen Mehrpegel-Speicherbauelements,
  • 10 ein Zustandsverteilungsdiagramm über der Schwellwertspannung für erfindungsgemäße Mehrbit-Speicherzellen,
  • 11 ein Zustandsverteilungsdiagramm entsprechend 10, jedoch nach einem speziellen Prozess zur Lesetoleranzerhöhung,
  • 12 ein Flussdiagramm zur Veranschaulichung einer erfindungsgemäßen Vorgehensweise und
  • 13 ein schematisches Diagramm von Schreib-/Lesespannungen über der Zeit für verschiedene Verifizier- und Programmiervorgänge der Mehrbit-Speicherzellen aus 9 bzw. 10.
  • 3 zeigt ein Flussdiagramm eines herkömmlichen Programmierverfahrens 300 für Mehrbit-Speicherzellen. Wie aus den 1 und 3 ersichtlich ist, umfasst das Verfahren 300 im Schritt 302 ein Empfangen eines Programmierbefehls und von Daten, wodurch das Speicherbauelement angewiesen wird, die Daten in das Speicherzellenfeld 100 zu programmieren bzw. zu speichern. Eine Programmierwortleitungsspannung (Programmier-W/L-Spannung) wird in Reaktion auf den Programmierbefehl an das Gate 11 angelegt, wodurch entsprechend den Daten die im floatenden Gate 21 gespeicherte Ladung verändert wird. Im Schritt 304 verifiziert das Verfahren 300 durch Anlegen einer festen Verifizierungsspannung an das Gate 11 und durch Vergleichen der Schwellwertspannung Vt, des Drainstroms Id und/oder der im floatenden Gate 21 gespeicherten Ladung mit einer Referenzspeicherzelle eine erfolgreiche Programmierung.
  • Wenn der Verifizierungsvorgang im Schritt 306 nicht bestanden wird, erhöht das Verfahren 300 schrittweise die Programmier-W/L-Spannung im Schritt 308, empfängt den Programmierbefehl und die Daten im Schritt 310 und verifiziert im Schritt 304 erneut die richtige Zellenprogrammierung. Die im floatenden Gate gespeicherte Ladung erhöht sich mit jedem Anlegen der Programmier-W/L-Spannung. Das bedeutet, dass die im floatenden Gate 21 gespeicherte Ladung proportional zu Größe, Dauer und Anzahl der Anwendungen der Programmier-W/L-Spannung ist. Das Verfahren 300 wiederholt die Schritte 304, 306, 308 und 310, bis es im Schritt 312 nach der Verifizierung einer erfolgreichen Programmierung des Bauelements im Schritt 306 beendet wird. Im Verfahren 300 folgt die Verifizierung im Schritt 304 jeweils der Programmierung in den Schritten 302 und 310.
  • 4 zeigt ein entsprechendes schematisches Diagramm von W/L-Spannungen über der Zeit. Wie aus den 1 und 4 ersichtlich ist, werden die Speicherzellen 10 durch Verwenden einer Programmier-W/L-Spannung programmiert und dann durch Verwenden einer Verifizier-W/L-Spannung verifiziert. Die Programmier-W/L-Spannung nimmt mit dem Zustand zu. Das bedeutet, dass die Programmier-W/L-Spannung am niedrigsten ist, wenn die Speicherzelle 10 in den Zustand 11 programmiert wird und progressiv zunimmt, wenn die Speicherzelle 10 in den Zustand 10, 01 bzw. 00 programmiert wird. Die Verifizier-W/L-Spannung bleibt hingegen auf dem gleichen Pegel, um die Zustände 11, 10, 01 und 00 beispielsweise anhand des Stroms durch die Speicherzelle zu verifizieren. Es ist erforderlich, jeden Zustand einschließlich des Zustandes 00 zu verifizieren.
  • 5 zeigt ein Diagramm eines Zellen- oder Drainstroms über der Schwellwertspannung. Wie aus den 1 und 3 bis 5 ersichtlich ist, programmiert das Verfahren 300 aufeinanderfolgend eine Mehrzahl von Speicherzellen durch abwechselndes Anlegen der progressiv ansteigenden Programmier-W/L-Spannung und der Verifizier-W/L-Spannung an die ausgewählten Speicherzellen. Mit dem Verifizieren einer Speicherzelle, d. h. dass die Zellenprogrammierung bestätigt wird, wird die Auswahl der betreffenden Speicherzelle aufgehoben. Die Verifizier-W/L-Spannung muss höher als die Lesespannung sein, da auch der höchste Zustand 00 verifiziert werden muss. Dies erfordert eine Verifizier-W/L-Spannung, die höher als die höchste Schwellwertspannung im Zustand 00 ist.
  • Der Zustand 00 wird über einen Rückschluss gelesen. Das bedeutet, dass auf den Zustand 00 geschlossen wird, wenn durch Lesen festgestellt wird, dass die Speicherzelle nicht in einem der Zustände 11, 01 und 10 ist. Daher braucht die Lesespannung nur auf die höchste Schwellwertspannung des nächst höchsten Zustandes ansteigen, d. h. des Zustandes 01. Die Lesewortleitungsspannung (Lese-W/L-Spannung) ist daher typischerweise kleiner als die Verifizier-W/L-Spannung.
  • 6 zeigt ein Diagramm der Zustandsverteilung über dem Zellenstrom mit drei Speicherzellen A, B und C, welche alle einen Zellenstromwert Ia aufweisen. 7 zeigt ein schematisches Diagramm des Zellenstroms über der Wortleitungsspannung für die Zellen A, B und C. 8 zeigt ein Diagramm der Zustandsverteilung über der Zellenschwellwertspannung. Wie aus den 6 bis 8 ersichtlich ist, kann es sein, dass verschiedene Speicherzellen, z. B. die Speicherzellen A, B und C, identische Zellenströme Ia für eine gleiche Verifizier-W/L-Spannung aufweisen. Da aber die Lesewortleitungsspannung typischerweise niedriger als die Verifizierwortleitungsspannung ist, sind die Lesezellenströme I_A, I_B, I_C für die Speicherzellen A, B und C wegen der Schwankung in den gm-Verteilungen der Speicherzellen niedriger und/oder voneinander verschieden. Diese Differenz resultiert in aufgeweiteten Zustandsspannungsbereichen und schmäler werdenden Trennungsbereichen zwischen den Zustandsspannungsbereichen, wie aus 8 ersichtlich ist. Daher verschlechtert die typischerweise im Vergleich zur Verifizierwortleitungsspannung niedrigere Lesewortleitungsspannung die Lesegenauigkeit.
  • 9 zeigt ausschnittweise ein erfindungsgemäßes Mehrpegel-Speicherbauelement 900 mit einem Feld 100 von Flashspeicherzellen 10. Jede Flashspeicherzelle 10 kann beispielsweise als Feldeffekttransistor FET ausgeführt sein. Die Flashspeicherzelle 10 umfasst ein Gate 11, ein floatendes Gate 21, eine Source 31 und eine Drain 41. Die Source 31 ist mit einer Abtastleitung S/L gekoppelt. Die Drain 41 arbeitet in Reaktion auf korrespondierende Bitleitungen B/L0, B/L1,..., B/L511. Das Gate 11 arbeitet in Reaktion auf eine jeweilige Wortleitung W/L0, W/L1,..., W/L1023. Die Wortleitungen W/L0, W/L1,..., W/L1023 sind mit einer Steuerschaltung 50 gekoppelt. Die Steuerschaltung 50 erzeugt oder stellt in anderer Weise den Wortleitungen W/L0, W/L1,..., W/L1023 Spannungssignale oder Spannungsimpulse zur Verfügung, wie nachfolgend genauer beschrieben wird. Die Steuerschaltung 50 kann als Software, Hardware oder durch andere dem Fachmann bekannte Mittel implementiert werden.
  • Die 10 und 11 zeigen Diagramme von spannungsabhängig aufgetragenen Zustandsverteilungsbereichen gemäß der Erfindung. Eine erfindungsgemäße Ausführungsform beinhaltet die Maßnahme, die Lesewortleitungsspannung im Wesentlichen gleich der Verifizierwortleitungsspannung zu machen, wie in den 10 und 11 dargestellt ist. Dadurch werden die Spannungszustandsbereiche schmaler und die Trennungsbereiche zwischen den Zuständen 11 und 10 sowie zwischen den Zu ständen 10 und 01 aufgeweitet, wodurch die Lesegenauigkeit verbessert wird. Dadurch, dass die Lesespannung und die Verifizierungsspannung gleich sind, ergibt sich aber zwischen den Zuständen 01 und 00 nur eine relativ kleine Lesetoleranz, wenn keine weiteren Maßnahmen getroffen werden, wie aus den 10 und 11 ersichtlich ist, siehe insbesondere die gestrichelte Kennlinie in 11.
  • 11 zeigt die Zustandskurven für die Zustände 11, 10, 01 und 00 als schmale Glockenkurven mit breiten Trennungsbereichen dazwischen, wenn die Lesewortleitungsspannung und die Verifizierwortleitungsspannung im Wesentlichen gleich sind. Dies steht im Kontrast zu den entsprechenden, in 8 dargestellten Zustandskurven im herkömmlichen Fall, bei dem die von der Verifizierwortleitungsspannung verschiedene Lesewortleitungsspannung in breiteren Zustandskurven mit schmaleren Trennungsbereichen dazwischen resultiert, wodurch die Lesegenauigkeit verschlechtert wird.
  • Durch das Gleichsetzen der Lesewortleitungsspannung und der Verifizierwortleitungsspannung kann die Lesespannungstoleranz zwischen den Zuständen 01 und 00 kleiner werden, wie aus den 10 und 11 ersichtlich ist, da die Lese-Nerifizierwortleitungsspannung gerade oberhalb der Schwellwertspannung liegt, welche erforderlich ist, um die Transistoren für den Zustand 01 leitend zu schalten. Es sei daran erinnert, dass der Zustand 00 durch Rückschluss gelesen wird. Das bedeutet, dass auf den Zustand 00 rückgeschlossen wird, wenn ausgelesen wird, dass die Speicherzelle sich nicht in den Zuständen 11, 10 und 01 befindet und daher kein Stromfluss in assoziierten Speicherzellen detektiert wird.
  • Um die Lesespannungstoleranz zwischen den Zuständen 01 und 00 zu verbessern und dennoch die Lesewortleitungsspannung gleich der Verifizierwortleitungsspannung zu halten, umfasst die Erfindung eine Pro grammierung von Speicherzellen ohne zwischenzeitliche Verifizierungsvorgänge, wie nachfolgend unter Bezugnahme auf 12 beschrieben wird. Dadurch wird die im Speichergate 21 gespeicherte Ladung proportional ohne zwischenzeitlichen Verifizierungsvorgang erhöht. Durch die Erhöhung der im Speichergate 21 gespeicherten Ladung wird die Kennlinie für den Zustand 00 auf die rechte Seite der Lese-/Verifizierwortleitungsspannung verschoben, wie aus 11 ersichtlich ist, wodurch die Lesetoleranz erhöht wird, während die Lesegenauigkeit dadurch erhöht wird, dass die Lesewortleitungsspannung gleich der Verifizierwortleitungsspannung ist.
  • 12 zeigt ein Flussdiagramm einer entsprechenden erfindungsgemäßen Vorgehensweise. Wie aus 12 ersichtlich ist, umfasst diese Vorgehensweise ein Verfahren 1100, welches das Verfahren 300 aus 3 beinhaltet, das durch einen Flagsetzprozess 1102 und einen Schleifenprozess 1104 modifiziert ist. Nach der Programmierung im Schritt 302 führt das Verfahren 1100 den Flagsetzprozess 1102 aus. Das Verfahren bestimmt hierbei im Schritt 1106, ob die Speicherzelle Daten mit dem Zustand 00 enthält. Befindet sich die Speicherzelle im Zustand 00, dann setzt das Verfahren im Schritt 1108 ein Flag, d. h. ein Markierbit, auf den Wert 1. Verifiziert das Verfahren 1100 im Schritt 306 die Programmierung der Speicherzelle, dann wird der Schleifenprozess 1104 ausgeführt. Das Verfahren 1100 überprüft hierbei im Schritt 1110, ob das Flag auf den Wert 1 gesetzt ist oder auf dem Ursprungswert 0 liegt. Ist das Flag nicht auf den Wert 1 gesetzt, dann wird das Verfahren 1100 mit dem Schritt 312 beendet. Wird im Schritt 1110 festgestellt, dass das Flag auf den Wert 1 gesetzt ist, weil die Speicherzelle auf den Zustand 00 programmiert ist, dann wird im Schritt 1112 ein Zähler COUNT auf Null gesetzt. Das Verfahren 1100 erhöht schrittweise die Wortleitungsspannung im Schritt 1114, programmiert die Speicherzelle im Schritt 1116 und erhöht im Schritt 1120 den Zählerstand um 1, bis er im Schritt 1118 einen vorbestimmten Grenzwert erreicht, z. B. 10, der program mierbar, d. h. einstellbar sein kann. Erreicht der Zählerstand im Schritt 1118 den vorbestimmten Grenzwert, dann wird die Programmierung im Schritt 312 beendet. Durch das Ausführen des Schleifenprozesses 1104 verschiebt das Verfahren effektiv den Zustand 00 des Spannungsbereichs in 11 nach rechts, wie oben beschrieben ist.
  • 13 zeigt ein Diagramm der Wortleitungsspannung über der Zeit. Wie aus den 12 und 13 ersichtlich ist, umfasst das Verfahren 1100 den Schleifenprozess 1104, welcher die Speicherzelle im Schritt 1116 programmiert und den Zählerstand im Schritt 1120 solange erhöht, bis der Zählerstand im Schritt 1118 den vorbestimmten Grenzwert erreicht, z. B. 10, der programmierbar bzw. einstellbar ausgeführt werden kann. Erreicht der Zählerstand im Schritt 1118 den vorbestimmten Grenzwert, dann wird die Programmierung in Schritt 312 beendet.

Claims (10)

  1. Verfahren zur Programmierung einer Mehrzahl von Speicherzellen (10) in einen Sollzustand, wobei eine jeweilige Speicherzelle mehr als zwei mögliche Zustände aufweist, gekennzeichnet durch die Schrittfolge: – Durchführen eines Programmierschrittes für die jeweilige Speicherzelle (10), – Verifizieren, dass die jeweilige Speicherzelle den Sollzustand erreicht hat, und – Durchführen eines zusätzlichen Programmierschrittes für diejenigen Speicherzellen, deren Sollzustand ein höchster der möglichen Zustände ist, um diese auf einen höheren Pegel zu programmieren, ohne ihren Zustand weiter zu verifizieren.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Durchführen des Programmierschrittes das Anlegen von wenigstens einem Prorammierimpuls an die Speicherzelle (10) beinhaltet und/oder das Durchführen des zusätzlichen Programmierschrittes das Anlegen von wenigstens einem zusätzlichen Programmierimpuls an die Speicherzelle (10) beinhaltet.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Verifizierung folgende Schritte umfasst: – Anlegen einer Verifizierungsspannung an die Speicherzelle (10) und – Anlegen einer Lesespannung, welche gleich der Verifizierungsspannung ist, um Daten von der programmierten Speicherzelle (10) zu lesen.
  4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass der zusätzliche Programmierschritt für die Speicherzelle (10) ohne weitere Verifizierung ihres Zustandes eine Lesetoleranzspanne zwischen dem höchsten Zustand und dem nächst höchsten Zustand oder dem höheren Pegel vergrößert.
  5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass der Programmierschritt für die Speicherzelle und das Verifizieren, dass die Speicherzelle den Sollzustand erreicht hat, abwechselnd und wiederholt ausgeführt werden, bis der zusätzliche Programmierschritt durchgeführt wird.
  6. Nichtflüchtiger Speicher mit – einer Mehrzahl von Speicherzellen (10) mit jeweils mehr als zwei möglichen Zuständen, gekennzeichnet durch – ein Mittel (50) zum Anlegen von wenigstens einem Programmierimpuls an die Speicherzellen (10), – ein Mittel (50) zum Verifizieren, dass jede Speicherzelle einen Sollzustand erreicht hat, und – ein Mittel (50) zum Anlegen von wenigstens einem zusätzlichen Programmierimpuls an Speicherzellen (10), deren Sollzustand ein höchster der möglichen Zustände ist, ohne den Zustand dieser Speicherzellen (10) weiter zu verifizieren.
  7. Nichtflüchtiger Speicher nach Anspruch 6, dadurch gekennzeichnet, dass das Mittel zur Verifizierung (50) folgende Komponenten umfasst: – ein Mittel zum Anlegen einer Verifizierungsspannung an die Speicherzelle und – ein Mittel zum Anlegen einer Lesespannung, welche gleich der Verifizierungsspannung ist, um Daten aus den programmierten Speicherzellen zu lesen.
  8. Nichtflüchtiger Speicher nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass das Mittel (50) zum Anlegen des wenigstens einen zusätzlichen Programmierimpulses an die ausgewählten Speicherzellen ohne weitere Verifizierung des Zustandes dieser Speicherzellen ein Mittel zum Vergrößern einer Lesetoleranzspanne zwischen dem höchsten Zustand und dem nächst höchsten Zustand umfasst.
  9. Nichtflüchtiger Speicher nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass das Mittel (50) zum Anlegen des mindestens einen Programmierimpulses an die Speicherzellen und das Mittel zur Verifizierung für abwechselnden und wiederholten Betrieb, bis das Mittel zum Anlegen des zusätzlichen Programmierimpuls aktiviert ist, eingerichtet sind.
  10. Nichtflüchtiger Speicher nach einem der Ansprüche 6 bis 9, dadurch gekennzeichnet, dass die mehr als zwei möglichen Zustände der jeweiligen Speicherzelle unterschiedlichen Ladungswerten entsprechen.
DE200510009700 2004-02-26 2005-02-24 Programmierverfahren und nichtflüchtiger Speicher Expired - Fee Related DE102005009700B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2004-0012984A KR100525004B1 (ko) 2004-02-26 2004-02-26 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법
KR10-2004-0012984 2004-02-26
US11/021,181 US7054199B2 (en) 2004-02-26 2004-12-22 Multi level flash memory device and program method
US11/021,181 2004-12-22
US11/021181 2004-12-22

Publications (2)

Publication Number Publication Date
DE102005009700A1 DE102005009700A1 (de) 2005-09-22
DE102005009700B4 true DE102005009700B4 (de) 2009-02-05

Family

ID=34889496

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510009700 Expired - Fee Related DE102005009700B4 (de) 2004-02-26 2005-02-24 Programmierverfahren und nichtflüchtiger Speicher

Country Status (3)

Country Link
JP (1) JP2005243230A (de)
CN (1) CN100505100C (de)
DE (1) DE102005009700B4 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
KR100850509B1 (ko) * 2007-01-10 2008-08-05 삼성전자주식회사 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법
KR101348173B1 (ko) * 2007-05-25 2014-01-08 삼성전자주식회사 플래시 메모리 장치, 그것의 소거 및 프로그램 방법들,그리고 그것을 포함한 메모리 시스템
KR101634363B1 (ko) 2009-10-05 2016-06-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101633018B1 (ko) * 2009-12-28 2016-06-24 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
US8811091B2 (en) * 2011-12-16 2014-08-19 SanDisk Technologies, Inc. Non-volatile memory and method with improved first pass programming
JP5964522B2 (ja) * 2013-03-14 2016-08-03 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. 不揮発性メモリのプログラムアルゴリズムのデバイス及び方法
US9378830B2 (en) * 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
KR102603916B1 (ko) * 2018-04-25 2023-11-21 삼성전자주식회사 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치
WO2020168478A1 (en) 2019-02-20 2020-08-27 Yangtze Memory Technologies Co., Ltd. Method for programming memory system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982667A (en) * 1996-05-01 1999-11-09 Hitachi, Ltd. Nonvolatile semiconductor memory device for storing multivalue information by controlling erase and plural write states of each memory cell

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63171499A (ja) * 1987-01-08 1988-07-15 Mitsubishi Electric Corp Epromプログラム装置
JPH03125399A (ja) * 1989-10-09 1991-05-28 Hitachi Ltd 半導体記憶装置
JP2002184190A (ja) * 2000-12-11 2002-06-28 Toshiba Corp 不揮発性半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982667A (en) * 1996-05-01 1999-11-09 Hitachi, Ltd. Nonvolatile semiconductor memory device for storing multivalue information by controlling erase and plural write states of each memory cell

Also Published As

Publication number Publication date
CN100505100C (zh) 2009-06-24
JP2005243230A (ja) 2005-09-08
DE102005009700A1 (de) 2005-09-22
CN1661727A (zh) 2005-08-31

Similar Documents

Publication Publication Date Title
DE102005009700B4 (de) Programmierverfahren und nichtflüchtiger Speicher
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
DE102005026663B4 (de) Nichtflüchtiges Speicherbauelement mit ISPP
DE102006030758B4 (de) Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements
DE60214023T2 (de) Selektiver betrieb eines nichtflüchtigen mehrzustandsspeichersystems in einem binärmodus
DE102006024116B4 (de) Wortleitungsspannungsgeneratorschaltung und zugehöriges nichtflüchtiges Speicherbauelement
DE102011055714B4 (de) Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE602005003924T2 (de) Programmierung nicht-flüchtiger speicher
DE60317768T2 (de) Verfahren zum Auslesen einer nichtflüchtigen Speichervorrichtung und zugehörige Vorrichtung
DE60216010T2 (de) Verfahren und Schaltung zum Auslesen von Doppelbit-Speicherzellen unter Verwendung einer Vielzahl von Doppelbit-Referenz-Speicherzellen, die beidseitig gelesen werden
DE112009001620T5 (de) Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen
DE102005030661B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE102008009847A1 (de) Verfahren zum Treiben eines nichtflüchtigen Speicherelements und nichtflüchtiges Speicherelement
DE112005001325T5 (de) Lösch-Algorithmus für einen Multilevel-Bit-Flash-Speicher
DE102004033443A1 (de) Flashspeicherbauelement mit Mehrpegelzelle sowie Lese- und Programmierverfahren
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE102004013042A1 (de) Spannungsregler und zugehöriger Halbleiterspeicherbaustein
DE10352710A1 (de) Flash-Speicherbauelement, Verifizierverfahren und Programmiereinheit hierfür
DE102005035077A1 (de) Löschverfahren für ein Flashspeicherbauelement
DE102009035340A1 (de) Verfahren zum Programmieren eines nichtflüchtigen Speicherelements, Halbleiterbauelement, Karte und System
DE102010053557A1 (de) NAND-Programmiertechnik
DE69726832T2 (de) Datenlesevorrichtung und -verfahren für Mehrbitspeicherzelle
DE112004002851B4 (de) Halbleitervorrichtung und Programmierverfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee