DE102007039908B4 - Programmierverfahren einer Flash-Speichervorrichtung - Google Patents

Programmierverfahren einer Flash-Speichervorrichtung Download PDF

Info

Publication number
DE102007039908B4
DE102007039908B4 DE102007039908A DE102007039908A DE102007039908B4 DE 102007039908 B4 DE102007039908 B4 DE 102007039908B4 DE 102007039908 A DE102007039908 A DE 102007039908A DE 102007039908 A DE102007039908 A DE 102007039908A DE 102007039908 B4 DE102007039908 B4 DE 102007039908B4
Authority
DE
Germany
Prior art keywords
voltage
memory cells
threshold voltage
programming
new
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
DE102007039908A
Other languages
English (en)
Other versions
DE102007039908A1 (de
Inventor
Hee Youl 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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of DE102007039908A1 publication Critical patent/DE102007039908A1/de
Application granted granted Critical
Publication of DE102007039908B4 publication Critical patent/DE102007039908B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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
    • 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

Landscapes

  • Read Only Memory (AREA)

Abstract

Verfahren zum Festlegen einer Endvorspannung bei einem Incremental-Step-Pulse, mit folgenden Verfahrensschritten:
Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen;
Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem die erste Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung der ersten Schwellenspannung und einer mittleren der ersten Schwellenspannung hinzuaddiert wird;
wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung erhöht wird, indem die zweite Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung einer Schwellenspannung, welche im vorhergehenden Verfahrensschritt gemessen wird, und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; und
Festlegen der neuen Programmierspannung, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die...

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Flash-Speichervorrichtungen, und insbesondere ein Programmierverfahren, welches ein Störphänomen ohne Erhöhung einer Programmiergeschwindigkeit verhindern kann.
  • In letzter Zeit gab es eine anwachsende Forderung nach Halbleiterspeichervorrichtungen, welche elektrisch programmierbar und löschbar sind, und welche Daten zurückhalten können, ohne dass die Daten verloren gehen, auch wenn eine Energieversorgung ausgeschaltet ist. Weiterhin wurde zur Entwicklung von Speichervorrichtungen mit großer Kapazität, die zur Speicherung von großen Datenmengen geeignet sind, eine Hochintegrationstechnik einer Speicherzelle entwickelt. Zu diesem Zweck ist eine Flash-Speichervorrichtung vom NAND-Typ vorgeschlagen worden, in welcher eine Vielzahl von Speicherzellen in Reihe zur Bildung eines Strings verbunden sind, und eine Vielzahl der Strings ein Speicherzellenarray bilden.
  • Die DE 10 2006 030 758 A1 beschreibt ein nicht-flüchtiges Speicherelement, einen Flash-Speicher und ein Verfahren zum Programmieren eines Flash-Speicherelements zur Verwendung in der Speichertechnik. Das dort beschriebene Verfahren zum Programmieren eines Flash-Speicherelements mit einer Mehrzahl von Speicherzellen beinhaltet: Ausführen eines ersten Programmiermodus mit einer Programmier- und Prüfschleife unter Verwendung einer ersten Programmierspannung und einer ersten Prüfzeit, bis wenigstens eine ordnungsgemäße Zelle erzeugt wurde; und Ausführen eines zweiten Programmiermodus mit einer Programmier- und Prüfschleife unter Verwendung einer zweiten Programmierspannung und einer zweiten Prüfzeit nach dem Erzeugen der ordnungsgemäßen Zelle, wobei der zweite Programmiermodus eine Prüfoperation für die ordnungsgemäße Zelle fortsetzt.
  • Im Allgemeinen weist eine Flash-Speicherzelle ein Gate auf, in welchem ein Tunnelisolationslayer, ein Floating-Gate, ein dielektrischer Layer und ein Steuer-Gate auf einem Halbleitersubstrat stapelförmig aufgebaut sind, und ein Verbindungsbereich durch das Halbleitersubstrat an beiden Seiten des Gates gebildet ist. Die Flash-Speicherzelle wird programmiert, wenn heiße Elektronen in das Floating-Gate injiziert werden, und sie wird gelöscht, wenn die injizierten Elektronen durch ein F-N-Tunneln abgeführt werden.
  • Ausführlicher, in dem Fall eines NOR-Typ-Flash wird der Programmiervorgang der Flash-Speicherzelle in einem Zustand durchgeführt, in welchem ein Source-Bereich einer Speicherzelle und das Halbleitersubstrat, das heißt ein Bulk-Bereich, geerdet bzw. mit Masse verbunden sind, das Steuer-Gate mit einer positiven hohen Spannung (das heißt eine Programmierspannung Vpp) (zum Beispiel 15 V bis 20 V) beaufschlagt wird, und eine Spannung (zum Beispiel 5 bis 6 V) zum Programmieren auf den Drain-Anschluss der Speicherzelle aufgebracht wird. In dem Fall eines NAND-Typ-Flash wird der Programmiervorgang der Flash-Speicherzelle in einem Zustand durchgeführt, in welchem eine positive Spannung auf eine Drain-Auswahlleitung eines Zellenarrays eines Stringaufbaus aufgebracht wird, mit dem eine Vielzahl von Speicherzellen verbunden ist, eine Spannung von 0 V auf eine Source-Auswahlleitung des Zellenarrays des Stringaufbaus aufgebracht wird, und 0 V auf eine Bitleitung und auf das Substrat aufgebracht werden, und eine Programmierspannung von 15 V bis 20 V an eine Wortleitung angelegt wird.
  • 1 ist ein Schaltplan eines Zellenarrays einer allgemeinen Flash-Speichervorrichtung.
  • Erste bis sechzehnte Zellen c1 bis c16, ein String-Auswahltransistor d und ein Source-Auswahltransistor s sind in Reihe zu einem ersten String st1 verbunden. Die erste Zelle c1 weist eine Drain auf, welche mit einer ersten Bitleitung b1 durch den String-Auswahltransistor d verbunden ist, und die sechzehnte Zelle c16 weist eine Source auf, welche mit einer gemeinsamen Sourceleitung s1 durch den Source-Auswahltransistor s verbunden ist. Ein zweiter String st2 weist den gleichen Aufbau wie derjenige des ersten Strings st1 auf. Die Gates von Zellen, welche in der gleichen Längsrichtung (eine vertikale Richtung der Bitleitung) vorhanden sind, sind an korrespondierende Wortleitungen angeschlossen. Obwohl in der Zeichnung nicht illustriert, bildet die Vielzahl von Strings einen Flash-Speicher.
  • Für einen Programmiervorgang wird eine ausgewählte Bitleitung mit Massespannung 0 V beaufschlagt, und die nicht ausgewählten Bitleitungen werden mit Versorgungsspannung Vcc verbunden. Weiterhin wird eine ausgewählte Wortleitung mit einer Programmierspannung Vpgm (zum Beispiel 18 V) beaufschlagt, eine Drain-Auswahlleitung DSL1 wird mit Versorgungsspannung (zum Beispiel 4,5 V) beaufschlagt, und auf eine Source-Auswahlleitung SSL1 wird Massespannung 0 V angelegt. Die nicht ausgewählten Wortleitungen werden auch mit einer Durchgangsspannung Vpass (zum Beispiel 10 V) beaufschlagt. Ausgewählte Zellen werden unter diesen Spannungsbedingungen individuell programmiert.
  • In dem Programmierverfahren der Flash-Speichervorrichtung sind Schwellenspannungsverteilungen der Programmierzellen von Bedeutung. Eine Programmierzelle mit einer Schwellenspannung, welche zu hoch ist, kann sich bei einer speziellen Lesespannung Vread ausschalten. Somit kann es einen Fall geben, in welchem eine Bypass-Funktion nicht durchgeführt werden kann. Obiges Phänomen tritt auf Grund einer Zelle mit einer sehr hohen Programmiergeschwindigkeit in der gleichen Programmierspannung auf. Deshalb werden, um dieses Phänomen zu verhindern, Schwellenspannungsverteilungen von Speicherzellen mittels eines Incremental-Step-Pulse-Program-(ISPP-)Verfahrens gesteuert, bei welchem der Programmiervorgang bei einer relativ niedrigen Programmierspannung in dem Fall einer Zelle mit einer schnellen Programmiergeschwindigkeit und bei einer relativ hohen Programmierspannung in dem Fall einer Zelle mit einer langsamen Programmiergeschwindigkeit durchgeführt wird.
  • Die Programmiergeschwindigkeit von Zellen in der Speichervorrichtung kann jedoch von der Prozessvariation abhängig sein, wie beispielsweise von der Stärke des Tunnelisolationslayers, welcher die Programmiergeschwindigkeit beeinflusst. Dementsprechend beginnt eine Startvorspannung bei dem ISPP-Verfahren bei einer sehr niedrigen Spannung, um alle diese Prozessvariationen mit einzuschließen. Mit anderen Worten, wenn eine gesamte Programmiergeschwindigkeit auf Grund von Prozessvariation hoch ist, beginnt die Startvorspannung am Anfang mit einem niedrigen Wert. In dem Fall einer Zelle mit einer langsameren Programmiergeschwindigkeit muss die Programmierspannung erhöht werden.
  • 2 illustriert einen Programmiervorgang, der unter Verwendung eines Incremental-Step-Pulse-Program-(ISPP-)Vorgangs durchgeführt wird. Die x-Achse gibt die Anzahl von durchgeführten Programmierzyklen bzw. -durchläufen an, und die y-Achse zeigt den Prozentsatz der Zellen, welche korrekt programmiert worden sind. Alle Speicherzellen sind nach acht Programmierzyklen programmiert.
  • Bei dem ISPP-Verfahren wie in 2 gezeigt wird eine gesamte Programmiervorgangszeit erhöht. Wenn zum Beispiel eine Startvorspannung bei einer niedrigen Spannung 1,5 V beginnt, wird eine Programmierzykluszahl korrespondierend zu 1,5 V erhöht. Wenn Vstep 0,3 V beträgt und ein Programmierzyklus 50 μs lang ist, wird die Programmiervorgangszeit um soviel wie ungefähr 250 μs erhöht. Ein Programmierstörphänomen, bei welchem eine zellenblockierte Zelle einer oberflächlichen Programmierung unterzogen wird und eine Löschzelle ihre Eigenschaften verliert, wird ebenfalls generiert. Die Endvorspannung des Programmiervorgangs wird für den Zweck einer Zelle mit einer langsamen Programmiergeschwindigkeit eingestellt. Dementsprechend kann ein Problem auftreten, bei welchem eine Zelle mit einer schnellen Programmiergeschwindigkeit Löschzelleneigenschaften auch bei der gleichen Endspannung verliert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Dementsprechend betrifft die vorliegende Erfindung ein Programmierverfahren einer Flash-Speichervorrichtung, bei welchem es eine Programmiervorgangsgeschwindigkeit verbessern und ein Störphänomen verhindern kann, ohne die Programmiergeschwindigkeit zu erhöhen, indem die Programmierzykluszahl ohne Variation in der Schwellenspannung gleichmäßig beibehalten wird.
  • In einem Aspekt stellt die vorliegende Erfindung ein Verfahrem zum Festlegen einer Endvorspannung in Incremental-Step-Pulse bereit, wobei es die folgenden Verfahrensschritte aufweist: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem die erste Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung der ersten Schwellenspannung und einer mittleren der ersten Schwellenspannung hinzuaddiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung erhöht wird, indem die zweite Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung einer Schwellenspannung, welche im vorhergehenden Verfahrensschritt gemessen wird, und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; und Verfeinern der neuen Programmierspannung, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung, als Endvorspannung.
  • In einem weiteren Aspekt stellt die vorliegende Erfindung ein Verfahren zum Programmieren einer Flash-Speichervorrichtung bereit, welches die folgenden Verfahrensschritte aufweist: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem die erste Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung der ersten Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung erhöht wird, indem die zweite Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung einer Schwellenspannung, welche in einem vorhergehenden Verfahrensschritt gemessen wird, und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; Festlegen der neuen Programmierspannung, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung als eine Endvorspannung in einem inkrementalen Stufenimpuls bzw. Incremental-Step-Pulse; und Aufbringen des Incremental-Step-Pulse auf eine Wortleitung des Flash-Speichers.
  • In noch einem weiteren Aspekt stellt die vorliegende Erfindung ein Verfahren zum Festlegen einer Startvorspannung in Incremental-Step-Pulse bereit, welches die folgenden Verfahrensschritte aufweist: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der ersten Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der ersten Programmierspannung subtrahiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung vermindert wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der Schwellenspannungen, welche in einem vorhergehenden Schritt gemessen worden sind, und einer mittleren Schwellenspannung der ersten Schwellenspannung von der zweiten Programmierspannung subtrahiert wird; und Festlegen einer Spannung, welche durch Subtrahieren einer Differenzspannung zwischen einer mittleren Schwellenspannung der neuen Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der neuen Programmierspannung erlangt wird, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung als Startvorspannung.
  • In einem noch weiteren Aspekt stellt die Erfindung ein Verfahren zum Programmieren einer Flash-Speichervorrichtung bereit, welches die folgenden Verfahrensschritte aufweist: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der ersten Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der ersten Programmierspannung subtrahiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung vermindert wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der Schwellenspannungen, welche in einem vorhergehenden Schritt gemessen worden sind, und einer mittleren Schwellenspannung der ersten Schwellenspannung von der zweiten Programmierspannung subtrahiert wird; Festlegen einer Spannung, welche durch Subtrahieren einer Differenzspannung zwischen einer mittleren Schwellenspannung der neuen Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der neuen Programmierspannung erlangt wird, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung als Startvorspannung in einem Incremental-Step-Pulse; und Aufbringen des Incremental-Step-Pulse auf eine Wortleitung des Flash-Speichers.
  • In noch einem weiteren Aspekt stellt die vorliegende Erfindung ein Verfahren zum Festlegen einer Startvorspannung in Incremental-Step-Pulse bereit, welches die folgenden Verfahrensschritte aufweist: Einstellen einer ersten Startvorspannung und einer ersten Endvorspannung; Aufbringen einer Programmierspannung auf ausgewählte Speicherzellen zum Programmieren der ausgewählten Speicherzellen, wobei die Programmierspannung stufenweise von der ersten Startspannung an erhöht wird und angehalten wird, wenn eine Schwellenspannung der Speicherzelle höher ist als eine Prüfspannung; Ermitteln einer Spannungsdifferenz zwischen der Endvorspannung und der Programmierspannung, wenn die Schwellenspannung der Speicherzellen höher ist als die Prüfspannung; und Festlegen einer neuen Startvorspannung durch Subtrahieren der Spannungsdifferenz von der Startvorspannung.
  • In noch einem weiteren Aspekt stellt die vorliegende Erfindung ein Verfahren zum Programmieren eines Flash-Speichers bereit, welches die folgenden Verfahrensschritte aufweist: Einstellen einer ersten Startvorspannung und einer ersten Endvorspannung; Aufbringen einer Programmierspannung auf ausgewählte Speicherzellen zum Programmieren der ausgewählten Speicherzellen, wobei die Programmierspannung stufenweise von der ersten Startspannung an erhöht wird und angehalten wird, wenn eine Schwellenspannung der Speicherzelle höher ist als eine Prüfspannung; Ermitteln einer Spannungsdifferenz zwischen der Endvorspannung und der Programmierspannung, wenn die Schwellenspannung der Speicherzelle höher ist als die Prüfspannung; Festlegen einer neuen Startvorspannung in einem Incremental-Step-Pulse durch Subtrahieren der Spannungsdifferenz von der Startvorspannung, und Aufbringen des Incremental-Step-Pulse auf eine Wortleitung des Flash-Speichers.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Schaltplan eines Zellenarrays einer allgemeinen Flash-Speichervorrichtung;
  • 2 ist eine grafische Darstellung, welche eine Programmierzykluszahl eines herkömmlichen ISPP-Programmierverfahrens illustriert;
  • 3 ist ein Flussdiagram, welches ein Programmierverfahren einer Flash-Speichervorrichtung gemäß einer ersten Ausführung der vorliegenden Erfindung illustriert;
  • 4A und 4B sind eine Ansicht, welche Schwellenspannungsverteilungen zeigt, die das Programmierverfahren der Flash-Speichervorrichtung gemäß der vorliegenden Erfindung illustrieren;
  • 5 ist eine grafische Darstellung, welche eine Programmierzykluszahl gemäß einer ersten Ausführung der vorliegenden Erfindung illustriert;
  • 6 ist ein Flussdiagramm, welches ein Programmierverfahren einer Flash-Speichervorrichtung gemäß einer zweiten Ausführung der vorliegenden Erfindung illustriert; und
  • 7 ist ein Flussdiagramm, welches ein Programmierverfahren einer Flash-Speichervorrichtung gemäß einer dritten Ausführung der vorliegenden Erfindung illustriert.
  • BESCHREIBUNG VON SPEZIFISCHEN AUSFÜHRUNGEN
  • 3 ist ein Flussdiagram, welches ein Programmierverfahren einer Flash-Speichervorrichtung gemäß einer ersten Ausführung der vorliegenden Erfindung illustriert. Das Flussdiagramm illustriert ein Verfahren, welches verwendet wird, um eine Endvorspannung für einen ISPP-Vorgang einzustellen. Die erste Ausführung der vorliegenden Erfindung betrifft einen Fall, in welchem Flash-Speicherzellen langsame Zellen sind.
  • 4A und 4B illustrieren Schwellenspannungsverteilungen einer Speichervorrichtung gemäß der vorliegenden Erfindung.
  • Mit Bezugnahme auf 3 und 4A wird bei Verfahrensschritt 110 ein erster Programmierschritt ausgeführt. In dieser Umsetzung wird der Programmierschritt mit allen Speicherzellen einer Flash-Speichervorrichtung ausgeführt. Der erste Programmierschritt weist ein Aufbringen einer ersten Programmierspannung auf Wortleitungen ausgewählter Speicherzellen auf. Die Drain-Auswahlleitung DSL1 wird mit einer Versorgungsspannung (zum Beispiel 4,5 V) beaufschlagt, und an die Source-Auswahlleitung SSL1 wird Massespannung 0 V angelegt. Nicht ausgewählte Wortleitungen werden mit der Durchgangsspannung Vpass (zum Beispiel 10 V) beaufschlagt. In diesem Fall wird auf ausgewählte Bitleitungen Massespannung 0 V aufgebracht, und an nicht ausgewählte Bitleitungen wird Versorgungsspannung Vcc angelegt.
  • Im Verfahrensschritt 120 wird eine Schwellenspannungsabtastung vorgenommen, um die Schwellenspannung der Speicherzellen zu messen, welche in dem ersten Programmierschritt 110 programmiert worden sind. Eine Schwellenspannungsverteilung 180 dieser Speicherzellen wird erhalten (siehe 4A). Wie im Stand der Technik bekannt ist, wird die Schwellenspannung einer Speicherzelle üblicherweise eher in Begriffen einer Zellenspannungsverteilung als ein einzelner Schwellenspannungswert dargestellt. Die Spannungsverteilung 180 wird erhalten, indem jede Zellenschwellenspannungsverteilung als ein einzelner Wert dargestellt wird. In der vorliegenden Ausführung wird der Maximalwert der Zellenschwellenspannungsverteilung als der einzelne Schwellenwert für eine Zelle benutzt.
  • Mindestens zwei Werte werden aus der Schwellenspannungsverteilung 180 (Verfahrensschritt 125) ausgewählt: ein mittlerer Schwellenspannungswert Vt1 und ein niedriger Schwellenspannungswert Va1. Der mittlere Schwellenspannungswert Vt1 ist der größte Wert der Spannungsverteilung 180 in der vorliegenden Ausführung. Das heißt, der mittlere Wert Vt1 ist der häufigste Schwellenspannungswert für die Zellen in der Speichervorrichtung. Der niedrige Schwellenspannungswert Va1 ist der niedrigste Wert in der Spannungsverteilung 180. In einer anderen Realisierung können die mittleren und niedrigen Werte Vt1 und Va1 unterschiedliche Werte aufweisen so lange der erste größer ist als der letztere.
  • Im Verfahrensschritt 130 wird ein zweiter Programmiervorgang mit den Speicherzellen ausgeführt, indem eine zweite Programmierspannung Vp2 verwendet wird. Die zweite Programmierspannung wird in der vorliegenden Ausführung wie folgt festgelegt: Vp2 = Vp1 + (Vt1 – Va), wobei die Spannungsdifferenz Vt1 – Va zu der ersten Programmierspannung Vp1 hinzuaddiert wird.
  • Nach dem zweiten Programmiervorgang werden die Schwellenspannungen der Speicherzellen, welche programmiert worden sind, gemessen (Verfahrensschritt 132). Die zweite Programmierspannung bewirkt, dass die Spannungsverteilung 180 nach rechts verschoben wird, um eine Spannungsverteilung 182 (siehe 4A) zu bestimmen. Die Spannungsverteilung 182 legt einen mittleren Wert Vt2 und einen niedrigen Wert Va2 fest.
  • Im Verfahrensschritt 134 wird eine Festlegung getroffen, ob der niedrige Wert Va2 gleich einer Prüfspannung Vprüf oder größer als diese ist oder nicht. Die Prüfspannung Vprüf kann in dem Bereich von 3,4 bis 3,8 V liegen, aber kann in einem unterschiedlichen Bereich in Abhängigkeit von der Ausführung liegen. Wenn der niedrige Wert Va2 gleich der Prüfspannung Vprüf oder größer als diese ist, zeigt dies dann an, dass die zweite Programmierspannung hoch genug ist, um die Speicherzellen korrekt zu programmieren. Deshalb wird die zweite Programmierspannung Vp2 benutzt, um die Endvorspannung des ISPP-Vorgangs einzustellen (Verfahrensschritt 140). Die Endvorspannung wird dadurch bestimmt, indem die Differenz von Vt2 – Vt1 zu der zweiten Programmierspannung Vp2 hinzuaddiert wird: VEndvorspannung = Vp2 + (Vt2 – Vt1). Die Endvorspannung kann also festgelegt werden als: Vpn = Vp(n-1) + (Vt(n-1) – Vt(n-2)), wobei Vpn die Endvorspannung ist. Wenn die zweite Programmierspannung ausreicht, um die Speicherzellen korrekt zu programmieren, wird eine Programmierspannung, die höher als die zweite Programmierspannung ist, nicht benötigt. Ein Einstellen einer höheren Programmierspannung als die Endvorspannung würde unnötigerweise in einer längeren Programmierzeit resultieren.
  • Andererseits wird, wenn der niedrige Wert Va2 kleiner als die Prüfspannung Vprüf festgelegt wird, eine höhere Programmierspannung für die Endvorspannung für den ISPP-Vorgang gewünscht. Eine dritte Programmierspannung wird festgelegt, indem ein ähnliches Verfahren wie das für die zweite Programmierspannung Vp2 gebrauchte verwendet wird (Verfahrensschritt 136). Die dritte Programmierspannung Vp3 wird zu Vp3 = Vp2 + (Vt1 – Va2) festgelegt, wobei Va2 ein niedriger Wert der Spannungsverteilung 182 ist. Allgemeiner gesagt, der Verfahrensschritt 136 bestimmt die nächste Programmierspannung Vpn = Vp(n-1) + (Vt1 – Va(n-1)), wobei sich n auf die Häufigkeit bezieht, mit welcher die Programmierspannung erhöht worden ist.
  • Verfahrensschritte 130 bis 136 werden wiederholt, bis der niedrige Wert Van der Spannungsverteilung gleich oder größer als die Prüfspannung Vprüf wird.
  • Sobald die Endvorspannung für den ISPP-Vorgang eingestellt worden ist, wird ein erster Löschvorgang mit allen Speicherzellen in der Vorrichtung durchgeführt, um die Speicherzellen zu „reinigen”, welche während der obigen Verfahrensschritte zum Einstellen der Endvorspannung programmiert worden sind.
  • Danach ist die Speichervorrichtung für die Anwendung des ISPP-Vorgangs bereit. Zu diesem Zeitpunkt kann eine Startvorspannung für das ISPP zusätzlich zu der Endvorspannung ebenfalls eingestellt werden.
  • Das Verfahren zum Einstellen der Endvorspannung des ISPP-Vorgangs gemäß der ersten Ausführung der vorliegenden Erfindung wird unten ausführlicher erläutert.
  • Zuerst wird eine erste Programmierspannung für den ISPP-Vorgang bestimmt. Die erste Programmierspannung kann zu 17 V festgelegt werden, welche ausreichend hoch ist, um eine bestimmte Prozentzahl der Speicherzellen in einem Programmierzyklus zu programmieren, aber niedriger ist als die Endvorsspannung.
  • Da die erste Programmierspannung (oder erste ISPP-Spannung) für einen ISPP-Vorgang auf die Wortleitung einer ausgewählten Seite aufgebracht wird, werden Speicherzellen der ausgewählten Seite programmiert.
  • Die Schwellenspannung der Speicherzellen wird dann geprüft, indem die Wortleitungen mit einer Prüfspannung beaufschlagt werden. Dann wird festgelegt, ob die Speicherzellen korrekt programmiert worden sind, in Abhängigkeit davon, ob die Schwellenspannung höher ist als die Prüfspannung. Wenn als Ergebnis der Festlegung die Speicherzellen als nicht korrekt programmiert bestimmt werden, wird die erste ISPP-Spannung durch eine spezifische Stufenspannung (zum Beispiel 0,3 V) erhöht. Der Programmiervorgang wird unter Verwendung einer zweiten Programmierspannung (oder zweiten ISPP-Spannung) für den ISPP-Vorgang ausgeführt. Der Programmiervorgang wird wiederholt, bis die ISPP-Spannung bis zu der Endvorspannung des ISPP-Vorgangs angewachsen ist und die Speicherzellen unter Verwendung der Endvorspannung programmiert worden sind.
  • Mit Bezug auf 5 wird bei dem ISPP-Programmierverfahren der vorliegenden Erfindung die Programmierzykluszahl gleichmäßig so häufig wie die Zykluszahl angibt ausgeführt, welche unabhängig von einer Variation in der Schwellenspannung des Programmierens eingestellt wird. Es ist daher möglich die Programmierzeit zu verkürzen. Das heißt, die Endvorspannung und Startvorspannung des ISPP werden so genau eingestellt, dass eine Schrittzahl des ISPP-Programmierens vermindert wird.
  • 6 ist ein Flussdiagramm, welches ein Programmierverfahren einer Flash-Speichervorrichtung gemäß einer zweiten Ausführung der vorliegenden Erfindung illustriert. Die zweite Ausführung der vorliegenden Erfindung bezieht sich auf ein Beispiel, wenn Flash-Speicherzellen schnelle Zellen sind.
  • Das Flussdiagramm betrifft ein Einstellen der Startvorspannung für einen ISPP-Vorgang. In Verfahrensschritt 210 wird ein erster Programmiervorgang mit allen Zellen einer Flash-Speichervorrichtung ausgeführt. Wortleitungen, die mit ausgewählten Speicherzellen verbunden sind, werden mit der ersten Programmierspannung Vp1 beaufschlagt. Die Drain-Auswahlleitung DSL1 wird an die Versorgungsspannung (zum Beispiel 4,5 V) angelegt, und die Source-Auswahlleitung SSL1 wird mit Massespannung 0 V beaufschlagt. Nicht ausgewählte Wortleitungen werden mit Durchgangsspannung Vpass (zum Beispiel 10 V) beaufschlagt. In diesem Fall wird auf ausgewählte Bitleitungen Massespannung 0 V aufgebracht, und nicht ausgewählte Bitleitungen werden mit Versorgungsspannung Vcc beaufschlagt.
  • Die Schwellenspannung der im Verfahrensschritt 210 programmierten Speicherzellen wird gemessen, um die Schwellenspannungsverteilung 180 (siehe 4A) der Speichervorrichtung zu erhalten (Verfahrensschritt 220). Wie dem Fachmann bekannt ist, wird die Schwellenspannung einer Speicherzelle üblicherweise eher als eine Zellenspannungsverteilung als ein einzelner Schwellenspannungswert dargestellt. Die Spannungsverteilung 180 (oder Vorrichtungsspannungsverteilung) wird erhalten, indem jede Zellenschwellenspannungsverteilung als ein einzelner Spannungswert dargestellt wird. In der vorliegenden Ausführung ist der Signalspannungswert der maximale Wert der Zellenschwellenspannungsverteilung.
  • Mindestens zwei Werte werden aus der Schwellenspannungsverteilung 180 ausgewählt (Verfahrensschritt 225): ein mittlerer Schwellenspannungswert Vt1 und ein hoher Schwellenspannungswert Vc1. Der mittlere Schwellenspannungswert Vt1 ist der maximale Wert der Spannungsverteilung 180 in der vorliegenden Ausführung. Das heißt, der mittlere Wert Vt1 ist der häufigste Schwellenspannungswert für die Zellen in der Speichervorrichtung. Der hohe Schwellenspannungswert Vc1 ist der höchste Wert in der Spannungsverteilung 180. In einer weiteren Implementierung können die mittleren und hohen Werte Vt1 und Vc1 unterschiedliche Werte aufweisen so lange der erste kleiner ist als der letztere.
  • Im Verfahrensschritt 230 wird ein zweiter Programmiervorgang unter Verwendung einer zweiten Programmierspannung Vp2 ausgeführt. Die zweite Programmierspannung wird zu Vp2 = Vp1 – (Vc1 – Vt1) festgelegt, wobei die Spannungsdifferenz Vc1 – Vt1 von der ersten Programmierspannung Vp1 subtrahiert wird.
  • Mit Bezugnahme auf 4B werden die Schwellenspannungen der Speicherzellen nach dem zweiten Programmiervorgang gemessen (Verfahrensschritt 232). Die Spannungsverteilung verschiebt sich nach links, und eine Spannungsverteilung 182 wird festgelegt. Die Spannungsverteilung 182 legt einen mittleren Wert Vt2 und einen hohen Wert Vc2 fest.
  • Im Verfahrensschritt 234 wird eine Festlegung getroffen, ob der niedrige Wert Va2 gleich oder größer wie eine Prüfspannung Vprüf ist oder nicht. Die Prüfspannung Vprüf kann in dem Bereich von 3,4 bis 3,8 V liegen, aber kann in einem unterschiedlichen Bereich in Abhängigkeit von der Implementierung liegen. Wenn der niedrige Wert Va2 gleich der Prüfspannung Vprüf oder größer als diese ist, zeigt dies an, dass die zweite Programmierspannung hoch genug ist, um die Speicherzellen korrekt zu programmieren.
  • Wenn der niedrige Wert Va2 kleiner ist als die Prüfspannung Vprüf, dann wird eine dritte Programmierspannung erzeugt (Verfahrensschritt 236). Die dritte Programmierspannung wird unter Verwendung der folgenden Gleichung erlangt: Vpn = Vp(n-1) – (Vc(n-1) – Vt1), wobei die Vpn die dritte Programmierspannung (oder die nächste Programmierspannung) ist, Vc(n-1) die höchste Schwellenspannung in der Spannungsverteilung ist, die mit Vp(n-1) verbunden ist, und Vt1 der Maximalwert der mit Vp(n-1) verbundenen Spannungsverteilung. Verfahrensschritte 230 bis 236 werden wiederholt, bis der niedrige Wert Van gleich wie oder größer als die Prüfspannung Vprüf ist.
  • Wenn die niedrigste Schwellenspannung Va2 gleich wie oder größer als die Prüfspannung Vprüf ist, wird eine Startvorspannung unter Verwendung der Programmierspannung, die zuletzt im Verfahrensschritt 230 verwendet wurde, eingestellt (Verfahrensschritt 240). Die Startvorspannung wird durch die folgende Gleichung erlangt: Vstart = Vpn – (Vtn-1 – Vt1), wobei Vstart die Startvorspannung ist, Vpn die zur korrekten Programmierung der Speicherzellen benutzte Programmierspannung ist, und Vtn der mit einer mit Vpn verbundenen Schwellenspannungsverteilung verbundene größte Wert ist. Wenn die zweite Programmierspanung zum korrekten Programmieren der Speicherzellen verwendet worden ist, ist Vpn die zweite Programmierspannung, Vt2 der größte Wert der Spannungsverteilung 182 und Vt1 der größte Wert der Spannungsverteilung 180. Wenn zum Beispiel die zweite Programmierspannung Vp2 ausreichend war, um zu bewirken, dass Va2 gleich wie oder größer als die Prüfspannung Vprüf ist, dann wird die Startvorspannung Vstart festgelegt zu Vstart = Vp2 – (Vt2 – Vt1). Die Startvorspannung wird für den ISPP-Vorgang verwendet.
  • Ein Löschvorgang wird danach ausgeführt, um die Speicherzellen zu löschen, welche von den oben durchgeführten Programmiervorgängen programmiert worden sind, um die Startvorspannung für den ISPP-Vorgang einzustellen.
  • Der ISPP-Vorgang wird dann unter Verwendung der Startvorspannung durchgeführt, welche gemäß dem obigen Verfahren eingestellt worden ist. Zuerst wird eine Startvorspannung (zum Beispiel Vstart = Vp2 – (Vt2 – Vt1)) eingestellt. Eine Endvorspannung wird eingestellt. Die Startvorspannung kann auch als Endvorspannung eingestellt werden.
  • Die Startvorspannung wird als die erste ISPP-Spannung auf die Wortleitung einer ausgewählten Seite zum Programmieren der Speicherzellen der ausgewählten Seite aufgebracht.
  • Danach werden die Schwellenspannungen der Speicherzellen geprüft, indem die Wortleitungen mit einer Prüfspannung beaufschlagt werden. Die Speicherzellen sind korrekt programmiert, wenn ihre Schwellenspannungen höher als die Prüfspannung sind. Wenn die Schwellenspannung von irgendwelchen der Speicherzellen niedriger als die Prüfspannung ist, wird das Programmieren als nicht korrekt ausgeführt erachtet. Die erste ISPP-Spannung wird um einen bestimmten Betrag (zum Beispiel 0,3 V) erhöht, wodurch eine zweite ISPP-Spannung erlangt wird. Die ausgewählten Speicherzellen werden unter Verwendung der zweiten ISPP-Spannung erneut programmiert. Der ISPP-Spannungsanhebungsvorgang und der Programmiervorgang werden wiederholt, bis die ISPP-Spannung gleich der Endvorspannung ist.
  • 7 ist ein Flussdiagramm, welches ein Programmierverfahren einer Flash-Speichervorrichtung gemäß einer dritten Ausführung der vorliegenden Erfindung illustriert. Das Flussdiagramm stellt ein Verfahren zum Einstellen einer Startvorspannung für den ISPP-Vorgang dar.
  • Im Verfahrensschritt 310 wird eine Endvorspannung Vend eines ISPP-Vorgangs eingestellt. Die Endvorspannung Vend beträgt in der vorliegenden Ausführung 20 V, kann aber einen anderen Wert aufweisen. Eine anfängliche Startvorspannung Vstart wird ebenfalls eingestellt. Die Startvorspannung Vstart beträgt 15 V in der vorliegenden Ausführung, kann aber einen unterschiedlichen Wert aufweisen.
  • Im Verfahrensschritt 320 werden ausgewählte Speicherzellen programmiert. Eine Spannung, die niedriger als die Endvorspannung Vend ist, wird als eine Programmiervorspannung Vp ausgewählt. Die Programmiervorspannung Vp ist niedriger als die Spannung, bei welcher eine Änderung in der Schwellenspannung in Abhängigkeit einer Prozessvariation von der Endvorspannung Vend abgezogen wird. Die Programmiervorspannung Vp ist ein Wert, welcher die entsprechend einer Prozessbedingung beim Herstellungsprozess der Vorrichtung geänderte Schwellenspannung subtrahiert von der Endvorspannung Vend ist.
  • Während des obigen Programmierverfahrensschritts werden Wortleitungen der ausgewählten Speicherzellen mit der Programmierspannung Vp beaufschlagt. Die Drain-Auswahlleitung DSL1 wird an Versorgungsspannung (zum Beispiel 4,5 V) angelegt. Die Source-Auswahlleitung SSL1 wird mit Massespannung 0 V beaufschlagt. Nicht ausgewählte Wortleitungen werden an Durchgangsspannung Vpass (zum Beispiel 10 V) angeschlossen. In diesem Fall können ausgewählte Bitleitungen mit Massespannung beaufschlagt werden, und an nicht ausgewählten Bitleitungen kann die Versorgungsspannung Vcc angelegt werden.
  • Die Schwellenspannung Vt der ausgewählten/programmierten Speicherzellen werden geprüft (Verfahrensschritt 322). Wenn die Schwellenspannung Vt nicht höher als eine Prüfspannung Vprüf ist (Verfahrensschritt 324) wird die Programmiervorspannung um einen bestimmten Betrag, zum Beispiel 0,3 V, erhöht (Verfahrensschritt 326). Der erhöhte Spannungsbetrag ist nicht auf 0,3 V beschränkt. Er kann innerhalb eines Bereiches von 0,1 V bis 1 V unter Berücksichtigung der Anzahl der wiederholten Programmiervorgänge und Variation in der Schwellenspannung in Abhängigkeit von Prozessvariation liegen.
  • Wenn die Schwellenspannung Vt größer ist als die Prüfspannung Vprüf (das heißt, das Programmieren wurde als korrekt ausgeführt festgelegt), dann wird die Programmiervorspannung Vp zum Bestimmen einer neuen Startvorspannung Vstart(neu) benutzt (Verfahrensschritt 330), wobei Vstart(neu) = Vstart – (Vend – Vp) gilt. Die neue Startvorspannung Vstart(neu) wird erhalten, indem die Spannungsdifferenz Vend – Vp von der anfänglichen Startvorspannung Vstart, die im Verfahrensschritt 310 eingestellt worden ist, subtrahiert wird. Wenn zum Beispiel die anfängliche Startvorspannung Vstart im Verfahrensschritt 310 auf 15 V eingestellt wird, und die Differenz zwischen Vend und Vp 2 V beträgt, dann wird die neue Startvorspannung Vstart(neu) auf 13 V eingestellt.
  • Sobald die neue Startvorspannung Vstart(neu) eingestellt worden ist, werden die Speicherzellen gelöscht, um die Speichervorrichtung zu säubern bzw. zu leeren und die oben durchgeführten Programmierungen zum Einstellen der Startvorspannungen rückgängig zu machen.
  • Der ISPP-Vorgang gemäß einer dritten Ausführung der vorliegenden Erfindung wird unten beschrieben. Als erster Verfahrensschritt beim Programmieren wird eine neue Startvorspannung Vstart(neu) als eine erste ISPP-Spannung auf die Wortleitung der zum Programmieren ausgewählten Speicherzellen aufgebracht.
  • Die Schwellenspannung der Speicherzellen wird geprüft, indem die Wortleitungen mit einer Prüfspannung beaufschlagt werden. Wenn sich die Speicherzellen nicht einschalten, dann werden die Speicherzellen als korrekt programmiert festgelegt, das heißt, die Schwellenspannung ist höher als die Prüfspannung. Wenn sich irgendeine der Speicherzellen einschaltet, wird festgelegt, dass die Speicherzellen nicht korrekt programmiert worden sind. Die erste ISPP-Spannung wird um einen vorgegebenen Betrag (zum Beispiel 0,3 V) erhöht, um eine zweite ISPP-Spannung zu erhalten. Die Speicherzellen werden erneut programmiert, wobei die zweite ISPP-Spannung verwendet wird. Die Speicherzellen werden erneut programmiert bis die Speicherzellen als korrekt programmiert geprüft worden sind, oder bis die ISPP-Spannung bis zur Endvorspannung angehoben worden ist.
  • Wie oben beschrieben ist, wird gemäß der vorliegenden Erfindung eine Startvorspannung entsprechend den Schwellenspannungsverteilungen von Speicherzellen eingestellt. Ein Phänomen eines schwachen Programmierens, das in Zellen mit einer schnellen Programmiergeschwindigkeit gemäß einer einzigen Programmiergeschwindigkeit der Speicherzellen auftritt, kann verhindert werden. Es ist deshalb möglich, ein Störphänomen einer Vorrichtung zu verhindern.
  • Weiterhin werden Schwellenspannungsverteilungen einer programmierten Speichervorrichtung unter Verwendung einer spezifischen Programmierspannung gemessen, eine Schwellenspannung mit einem mittleren Wert der Schwellenspannungsverteilungen wird als repräsentative Schwellenspannung eingestellt, und ein Programmiervorgang wird wiederholt durchgeführt, bis die niedrige Schwellenspannung höher als die Prüfspannung ist, während die Programmierspannung so viel geändert wird, wie eine Differenz mit der niedrigsten Schwellenspannung. Zu diesem Zeitpunkt wird eine Endvorspannung des ISPP-Programmiervorgangs eingestellt, indem die Differenz zwischen der Schwellenspannung und der repräsentativen Schwellenspannung einer geänderten Programmierspannung hinzuaddiert oder von ihr subtrahiert wird. Somit kann die Programmierzykluszahl ungeachtet einer Variation in der Schwellenspannung gleichmäßig beibehalten werden. Es ist deshalb möglich, die Programmiervorgangszeit zu erhöhen.
  • Obwohl die vorangehende Beschreibung mit Bezug auf die spezifischen Ausführungen gemacht worden ist, ist es selbstverständlich, dass Änderungen und Modifikationen des vorliegenden Patents von dem Fachmann ausgeführt werden können, ohne den Sinn und Rahmen des vorliegenden Patents und der beigefügten Ansprüche zu verlassen.

Claims (12)

  1. Verfahren zum Festlegen einer Endvorspannung bei einem Incremental-Step-Pulse, mit folgenden Verfahrensschritten: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem die erste Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung der ersten Schwellenspannung und einer mittleren der ersten Schwellenspannung hinzuaddiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung erhöht wird, indem die zweite Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung einer Schwellenspannung, welche im vorhergehenden Verfahrensschritt gemessen wird, und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; und Festlegen der neuen Programmierspannung, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung, als Endvorspannung.
  2. Verfahren nach Anspruch 1, wobei die erste Schwellenspannung gemessen wird, indem eine positive Spannung auf eine mit den Speicherzellen verbundene Drain-Auswahlleitung, Null (0) Volt auf eine mit den Speicherzellen verbundene Source-Auswahlleitung und eine Durchgangsspannung auf eine Wortleitung nicht ausgewählter Speicherzellen, Null (0) Volt auf eine mit den Speicherzellen verbundene Bitleitung und eine Vcc-Spannung auf eine Bitleitung nicht ausgewählter Speicherzellen aufgebracht werden.
  3. Verfahren zum Programmieren einer Flash-Speichervorrichtung, mit folgenden Verfahrensschritten: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem die erste Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung der ersten Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung erhöht wird, indem die zweite Programmierspannung zu einer Differenz zwischen einer niedrigsten Schwellenspannung einer Schwellenspannung, welche in einem vorhergehenden Verfahrensschritt gemessen wird, und einer mittleren Schwellenspannung der ersten Schwellenspannung hinzuaddiert wird; Festlegen der neuen Programmierspannung, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung, als eine Endvorspannung in einem inkrementalen Stufenimpuls bzw. Incremental-Step-Pulse; und Aufbringen des Incremental-Step-Pulse auf eine Wortleitung des Flash-Speichers.
  4. Verfahren nach Anspruch 3, welches weiterhin einen Verfahrensschritt eines Löschens der Speicherzellen nach dem Verfahrensschritt Festlegen aufweist.
  5. Verfahren zum Festlegen einer Startvorspannung in Incremental-Step-Pulse, mit folgenden Verfahrensschritten: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der ersten Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der ersten Programmierspannung subtrahiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung vermindert wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der Schwellenspannungen, welche in einem vorhergehenden Schritt gemessen worden sind, und einer mittleren Schwellenspannung der ersten Schwellenspannung von der zweiten Programmierspannung subtrahiert wird; und Festlegen einer Spannung, welche durch Subtrahieren einer Differenzspannung zwischen einer mittleren Schwellenspannung der neuen Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der neuen Programmierspannung erlangt wird, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung, als Startvorspannung.
  6. Verfahren nach Anspruch 5, wobei die erste Schwellenspannung gemessen wird, indem eine positive Spannung auf eine mit den Speicherzellen verbundene Drain-Auswahlleitung, Null (0) Volt auf eine mit den Speicherzellen verbundene Source-Auswahlleitung und eine Durchgangsspannung auf eine Wortleitung nicht ausgewählter Speicherzellen, Null (0) Volt auf eine mit den Speicherzellen verbundene Bitleitung und eine Vcc-Spannung auf eine Bitleitung nicht ausgewählter Speicherzellen aufgebracht werden.
  7. Verfahren zum Programmieren einer Flash-Speichervorrichtung, mit folgenden Verfahrensschritten: Aufbringen einer ersten Programmierspannung auf ausgewählte Speicherzellen zum Messen einer ersten Schwellenspannung der Speicherzellen; Aufbringen einer zweiten Programmierspannung auf die Speicherzellen zum Messen einer zweiten Schwellenspannung der Speicherzellen, wobei die zweite Programmierspannung festgelegt wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der ersten Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der ersten Programmierspannung subtrahiert wird; wiederholtes Aufbringen einer neuen Programmierspannung auf die Speicherzellen zum Messen einer neuen Schwellenspannung der Speicherzellen, bis die neue Schwellenspannung der Speicherzellen höher ist als eine Prüfspannung, wobei die neue Programmierspannung vermindert wird, indem eine Differenz zwischen einer höchsten Schwellenspannung der Schwellenspannungen, welche in einem vorhergehenden Schritt gemessen worden sind, und einer mittleren Schwellenspannung der ersten Schwellenspannung von der zweiten Programmierspannung subtrahiert wird; Festlegen einer Spannung, welche durch Subtrahieren einer Differenzspannung zwischen einer mittleren Schwellenspannung der neuen Schwellenspannung und einer mittleren Schwellenspannung der ersten Schwellenspannung von der neuen Programmierspannung erlangt wird, wenn eine niedrigste Schwellenspannung der neuen Schwellenspannung der Speicherzellen höher ist als die Prüfspannung, als Startvorspannung in einem Incremental-Step-Pulse; und Aufbringen des Incremental-Step-Pulse auf eine Wortleitung des Flash-Speichers
  8. Verfahren nach Anspruch 7, welches weiterhin einen Verfahrensschritt eines Löschens der Speicherzellen nach dem Verfahrensschritt Festlegen aufweist.
  9. Verfahren zum Festlegen einer Startvorspannung in Incremental-Step-Pulse, mit folgenden Verfahrensschritten: Einstellen einer ersten Startvorspannung und einer ersten Endvorspannung; Aufbringen einer Programmierspannung auf ausgewählte Speicherzellen zum Programmieren der ausgewählten Speicherzellen, wobei die Programmierspannung stufenweise von der ersten Startspannung an erhöht wird und angehalten wird, wenn eine Schwellenspannung der Speicherzelle höher ist als eine Prüfspannung; Ermitteln einer Spannungsdifferenz zwischen der Endvorspannung und der Programmierspannung, wenn die Schwellenspannung der Speicherzellen höher ist als die Prüfspannung; und Festlegen einer neuen Startvorspannung durch Subtrahieren der Spannungsdifferenz von der Startvorspannung.
  10. Verfahren nach Anspruch 9, wobei der Verfahrensschritt Aufbringen ausgeführt wird, indem eine positive Spannung auf eine mit den Speicherzellen verbundene Drain-Auswahlleitung, Null (0) Volt auf eine mit den Speicherzellen verbundene Source-Auswahlleitung und eine Durchgangsspannung auf eine Wortleitung nicht ausgewählter Speicherzellen, Null (0) Volt auf eine mit den Speicherzellen verbundene Bitleitung und eine Vcc-Spannung auf eine Bitleitung nicht ausgewählter Speicherzellen aufgebracht werden.
  11. Verfahren zum Programmieren eines Flash-Speichers, mit folgenden Verfahrensschritten: Einstellen einer ersten Startvorspannung und einer ersten Endvorspannung; Aufbringen einer Programmierspannung auf ausgewählte Speicherzellen zum Programmieren der ausgewählten Speicherzellen, wobei die Programmierspannung stufenweise von der ersten Startspannung an erhöht wird und angehalten wird, wenn eine Schwellenspannung der Speicherzelle höher ist als eine Prüfspannung; Ermitteln einer Spannungsdifferenz zwischen der Endvorspannung und der Programmierspannung, wenn die Schwellenspannung der Speicherzelle höher ist als die Prüfspannung; Festlegen einer neuen Startvorspannung in einem Incremental-Step-Pulse durch Subtrahieren der Spannungsdiffere nz von der Startvorspannung; und Aufbringen des Incremental-Step-Pulse auf eine Wortleitung des Flash-Speichers.
  12. Verfahren nach Anspruch 10, welches weiterhin einen Verfahrensschritt eines Löschens der Speicherzellen nach dem Verfahrensschritt Festlegen aufweist.
DE102007039908A 2007-04-03 2007-08-23 Programmierverfahren einer Flash-Speichervorrichtung Expired - Fee Related DE102007039908B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070032838A KR100824203B1 (ko) 2007-04-03 2007-04-03 플래시 메모리 소자의 프로그램 방법
KR10-2007-0032838 2007-04-03

Publications (2)

Publication Number Publication Date
DE102007039908A1 DE102007039908A1 (de) 2008-10-09
DE102007039908B4 true DE102007039908B4 (de) 2013-02-21

Family

ID=39572207

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007039908A Expired - Fee Related DE102007039908B4 (de) 2007-04-03 2007-08-23 Programmierverfahren einer Flash-Speichervorrichtung

Country Status (6)

Country Link
US (1) US7602648B2 (de)
JP (1) JP2008257836A (de)
KR (1) KR100824203B1 (de)
CN (1) CN101281791B (de)
DE (1) DE102007039908B4 (de)
TW (1) TWI344648B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348173B1 (ko) * 2007-05-25 2014-01-08 삼성전자주식회사 플래시 메모리 장치, 그것의 소거 및 프로그램 방법들,그리고 그것을 포함한 메모리 시스템
KR20090100077A (ko) * 2008-03-19 2009-09-23 주식회사 하이닉스반도체 플래시 메모리 소자의 동작 전압 제공 방법
KR101596830B1 (ko) 2009-04-02 2016-02-24 삼성전자주식회사 비휘발성 메모리 장치의 쓰기 방법
US8184483B2 (en) * 2009-05-29 2012-05-22 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
JP2011258260A (ja) * 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
KR101205084B1 (ko) * 2010-07-09 2012-11-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
US8670273B2 (en) 2011-08-05 2014-03-11 Micron Technology, Inc. Methods for program verifying a memory cell and memory devices configured to perform the same
KR102083271B1 (ko) * 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
TWI496148B (zh) * 2013-02-08 2015-08-11 Macronix Int Co Ltd 快閃記憶體的可程式方法
CN105529048B (zh) * 2014-09-28 2019-11-26 华邦电子股份有限公司 快闪存储器装置及快闪存储器的写入方法
KR102314136B1 (ko) 2015-06-22 2021-10-18 삼성전자 주식회사 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법
KR20170011644A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10910079B2 (en) * 2016-05-09 2021-02-02 Intrinsic Id B.V. Programming device arranged to obtain and store a random bit string in a memory device
CN107958687B (zh) * 2016-10-18 2021-05-11 群联电子股份有限公司 存储器编程方法、存储器控制电路单元及其存储装置
US10102921B1 (en) * 2017-08-17 2018-10-16 Nanya Technology Corporation Fuse blowing method and fuse blowing system
US11087849B2 (en) * 2018-05-08 2021-08-10 Sandisk Technologies Llc Non-volatile memory with bit line controlled multi-plane mixed sub-block programming
TWI713860B (zh) * 2018-06-28 2020-12-21 力晶積成電子製造股份有限公司 快閃記憶體裝置及其程式化方法
CN110176269B (zh) * 2019-04-16 2020-11-17 华中科技大学 一种精确调控非易失性存储单元状态的方法及***
CN110299172A (zh) * 2019-07-04 2019-10-01 合肥联诺科技有限公司 一种缩短flash编程时间的编程处理方法
CN110648713B (zh) * 2019-09-20 2021-09-10 长江存储科技有限责任公司 一种闪存存储器及其编程方法、编程***和存储器***
US11581049B2 (en) * 2021-06-01 2023-02-14 Sandisk Technologies Llc System and methods for programming nonvolatile memory having partial select gate drains

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006030758A1 (de) * 2005-06-27 2006-12-28 Samsung Electronics Co., Ltd., Suwon Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176011B2 (ja) * 1994-08-19 2001-06-11 株式会社東芝 半導体記憶装置
JP3621501B2 (ja) * 1995-03-29 2005-02-16 株式会社東芝 不揮発性半導体記憶装置
US5978270A (en) 1995-08-31 1999-11-02 Hitachi, Ltd. Semiconductor non-volatile memory device and computer system using the same
JP3110397B2 (ja) * 1998-09-30 2000-11-20 日本電気アイシーマイコンシステム株式会社 不揮発性半導体記憶装置の書き込み方法および記録媒体
JP2000222892A (ja) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd 半導体記憶装置のしきい値制御方法およびスクリーニング方法
KR100319559B1 (ko) * 1999-11-01 2002-01-05 윤종용 문턱 전압 분포들 사이의 마진을 일정하게 유지할 수 있는멀티-스테이트 불휘발성 반도체 메모리 장치
KR100319636B1 (ko) * 1999-12-14 2002-01-05 박종섭 플래시 메모리 프로그램 제어 회로
JP3790654B2 (ja) * 2000-02-15 2006-06-28 シャープ株式会社 不揮発性半導体メモリの制御方法
KR100443792B1 (ko) * 2001-10-15 2004-08-09 주식회사 하이닉스반도체 플래시 이이피롬의 프로그램회로 및 이를 이용한 프로그램방법
US6700820B2 (en) 2002-01-03 2004-03-02 Intel Corporation Programming non-volatile memory devices
JP3833970B2 (ja) * 2002-06-07 2006-10-18 株式会社東芝 不揮発性半導体メモリ
JP3825743B2 (ja) * 2002-11-29 2006-09-27 株式会社東芝 不揮発性半導体記憶装置
US6714448B2 (en) * 2002-07-02 2004-03-30 Atmel Corporation Method of programming a multi-level memory device
JP4086583B2 (ja) * 2002-08-08 2008-05-14 シャープ株式会社 不揮発性半導体メモリ装置およびデータ書き込み制御方法
JP2004087053A (ja) * 2002-08-29 2004-03-18 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の高電圧トリミング値設定方法、不揮発性記憶装置の時間トリミング値設定方法、不揮発性記憶装置の検査装置、および不揮発性記憶装置
JP2005044454A (ja) * 2003-07-24 2005-02-17 Sony Corp 半導体記憶装置、半導体記憶装置の駆動制御方法
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
JP2005235287A (ja) * 2004-02-19 2005-09-02 Nec Electronics Corp 不揮発性半導体記憶装置のプログラミング方法、プログラミング装置、及び、不揮発性半導体記憶装置
TWI267864B (en) * 2004-05-06 2006-12-01 Samsung Electronics Co Ltd Method and device for programming control information
JP4167640B2 (ja) * 2004-10-14 2008-10-15 シャープ株式会社 不揮発性メモリのプログラム電圧決定方法
JP4870409B2 (ja) * 2004-10-26 2012-02-08 三星電子株式会社 不揮発性メモリ装置及びそれのプログラム方法
KR100645055B1 (ko) * 2004-10-28 2006-11-10 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP4282636B2 (ja) * 2005-06-22 2009-06-24 株式会社東芝 不揮発性半導体記憶装置とそのデータ書き込み方法
KR100721013B1 (ko) * 2005-07-26 2007-05-22 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
JP2007042166A (ja) * 2005-08-01 2007-02-15 Toshiba Corp 不揮発性半導体記憶装置及びその動作方法
KR100705220B1 (ko) * 2005-09-15 2007-04-06 주식회사 하이닉스반도체 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법
KR20070032838A (ko) 2005-09-20 2007-03-23 엘지전자 주식회사 로봇 청소기의 흡입 헤드의 높이 조절 구조

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006030758A1 (de) * 2005-06-27 2006-12-28 Samsung Electronics Co., Ltd., Suwon Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements

Also Published As

Publication number Publication date
US20080247236A1 (en) 2008-10-09
TW200841345A (en) 2008-10-16
JP2008257836A (ja) 2008-10-23
KR100824203B1 (ko) 2008-04-21
DE102007039908A1 (de) 2008-10-09
TWI344648B (en) 2011-07-01
CN101281791B (zh) 2011-07-27
US7602648B2 (en) 2009-10-13
CN101281791A (zh) 2008-10-08

Similar Documents

Publication Publication Date Title
DE102007039908B4 (de) Programmierverfahren einer Flash-Speichervorrichtung
DE102007034184B4 (de) Verfahren zum Einstellen einer Programmierstartvorspannung für eine Flash-Speichervorrichtung und Programmierverfahren unter Verwendung desselben
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE102007002248B4 (de) Nichtflüchtiges Halbleiter-Speicherbauelement und Verfahren zum Löschen eines Flash-Speicherbauelements
DE102006030758B4 (de) Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements
DE102005039099B4 (de) Löschverfahren und nichtflüchtiges Speicherbauelement
DE69603742T2 (de) Überlöschungskorrektur für flash-speicher mit überlöschungsbegrenzung und vermeidung von löschprüffehlern
DE102006054965B4 (de) Wortleitungsfreigabeverfahren in einem Flashspeicherbauelement und Flashspeicherbauelement
DE602005003924T2 (de) Programmierung nicht-flüchtiger speicher
DE69521882T2 (de) Verfahren und schaltung zur speicherung von diskreten ladungspaketen in einem einzigen speicherelement
DE102006028209B4 (de) Verfahren zum Löschen von Speicherzellen einer Flash-Speichereinrichtung und Halbleiterspeichereinrichtung
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE10002266B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE60001587T2 (de) Schaltungsausführung zur reduzierung des bitleitungslekcstroms bei programmierungs-und überlöschungskorrekturmodus in einem flash-eeprom
DE102005022611B4 (de) Programmierverfahren für ein nichtflüchtiges Speicherbauelement
DE69516000T2 (de) Verfahren zur beseitigung von zyklusinduzierten eingefangenen elektroden im tunneloxid von flash-eeproms mit nur 5-volt-spannung
DE69217738T2 (de) Permanenter Halbleiterspeicher und seine Arbeitsweise
DE19724221B4 (de) Nichtflüchtiger Speicher
DE69328517T2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102006003988B4 (de) Verfahren zum Treiben einer Programmieroperation in einem nichtflüchtigen Halbleiterspeicherbauelement
DE102005057553A1 (de) Nicht volatiles Speicherbauelement und Verfahren zur Verhinderung eines Heisse-Elektronen-Programmier-Störungsphänomens
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102007026511A1 (de) Flash-Speichereinrichtung und Löschverfahren hierfür
DE102007031027A1 (de) Leseverfahren einer Speichervorrichtung
DE102012217730A1 (de) Halbleitervorrichtung und Verfahren des Betreibens von dieser

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130522

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140301