DE102011055714A1 - Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung - Google Patents

Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung Download PDF

Info

Publication number
DE102011055714A1
DE102011055714A1 DE102011055714A DE102011055714A DE102011055714A1 DE 102011055714 A1 DE102011055714 A1 DE 102011055714A1 DE 102011055714 A DE102011055714 A DE 102011055714A DE 102011055714 A DE102011055714 A DE 102011055714A DE 102011055714 A1 DE102011055714 A1 DE 102011055714A1
Authority
DE
Germany
Prior art keywords
programming
level memory
memory cells
voltage
state
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.)
Granted
Application number
DE102011055714A
Other languages
English (en)
Other versions
DE102011055714B8 (de
DE102011055714B4 (de
Inventor
Joon-Suc JANG
Dong-Hun KWAK
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011055714A1 publication Critical patent/DE102011055714A1/de
Application granted granted Critical
Publication of DE102011055714B4 publication Critical patent/DE102011055714B4/de
Publication of DE102011055714B8 publication Critical patent/DE102011055714B8/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/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/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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/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

Landscapes

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

Abstract

Bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung mit einer Mehrzahl von Multi-Level-Speicherzellen, die eine Multi-Bit-Datenmenge gemäß einiger Ausführungsformen speichern, wird ein niederwertigster Bit-(LSB)-Programmierbetrieb durchgeführt, um LSBs der Multi-Bit-Datenmenge in die Mehrzahl von Multi-Level-Speicherzellen zu programmieren. Ein höchstwertiger Bit-(MSB)-Programmierbetrieb wird durchgeführt, um MSBs der Multi-Bit-Datenmenge in die Mehrzahl von Multi-Level-Speicherzellen zu programmieren. Um das MSB-Programmieren durchzuführen, wird ein MSB-Vor-Programmierbetrieb auf erste Multi-Level-Speicherzellen aus der Mehrzahl von Multi-Level-Speicherzellen durchgeführt, die auf einen höchsten Ziel-Programmierzustand aus einer Mehrzahl von Ziel-Programmierzuständen zu programmieren sind und ein MSB-Haupt-Programmierbetrieb wird durchgeführt, um die Mehrzahl von Multi-Level-Speicherzellen auf die Mehrzahl von Ziel-Programmierzuständen gemäß der Multi-Bit-Datenmenge zu programmieren.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Patentanmeldung beansprucht die Priorität der am 30. Dezember 2010 in dem Korean Intellectual Property Office (KIPO) eingereichten koreanischen Patentanmeldung Nr. 2010-0138502 , die durch Bezugnahme in vollem Umfang mit aufgenommen wird.
  • HINTERGRUND
  • 1. Technisches Gebiet
  • Beispielhafte Ausführungsformen beziehen sich auf nicht-flüchtige Speichervorrichtungen. Beispielhafte Ausführungsformen beziehen sich insbesondere auf Verfahren zum Programmieren von nicht-flüchtigen Speichervorrichtungen mit Multi-Level-Speicherzellen.
  • 2. Beschreibung verwandter Technik
  • Speicherzellen einer nicht-flüchtigen Speichervorrichtung wie z. B. eine Flash-Speichervorrichtung können in Single-Level-Speicherzellen (SLCs), die eine Datenmenge von einem Bit pro Speicherzelle speichern und Multi-Level-Speicherzellen (MLCs), die Datenmengen von mehr als einem Bit pro Speicherzelle speichern, unterteilt werden. Die MLCs können Datenmengen von mehreren Bits speichern, indem mehrere Schwellspannungsaufteilungen verwendet werden, um unterschiedliche Zustände von Multi-Bit-Datenmengen darzustellen. Zwei-Bit-MLCs können z. B. vier Schwellspannungsaufteilungen verwenden, um die jeweiligen logischen Zustände ”11”, ”10, ”01” und ”00” darzustellen.
  • Um eine exakte Speicherung der Multi-Bit-Datenmengen sicherzustellen, soll die Schwellspannungsaufteilung der MLCs durch angemessene Abtast-Grenzen aufgeteilt werden. Bestimmte Aspekte von neueren Flash-Speichervorrichtungen, wie z. B. die zunehmende Integrationsdichte, können jedoch verursachen, dass sich aufgrund von elektrischer Kopplung zwischen benachbarten Speicherzellen oder aufgrund einer Programmstörung die Schwellspannungsaufteilungen vergrößern.
  • KURZFASSUNG
  • Einige beispielhafte Ausführungsformen stellen ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung bereit, das fähig ist, Schwellspannungsaufteilungen zu verkleinern.
  • Gemäß beispielhaften Ausführungsformen wird bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung mit Multi-Level-Speicherzellen, die Multi-Bit-Datenmengen speichern, ein niederwertigster Bit-(LSB)-Programmierbetrieb durchgeführt, um LSBs der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren, und ein höchstwertigster Bit-(MSB)-Programmierbetrieb wird durchgeführt, um MSBs der Multi-Bit-Datenmenge in den Multi-Level-Speicherzellen zu programmieren. Um den MSB-Programmierbetrieb durchzuführen, wird ein MSB-Vor-Programmierbetrieb auf die ersten Multi-Level-Speicherzellen durchgeführt, die auf einen höchsten Ziel-Programmierzustand unter einer Mehrzahl von Ziel-Programmierzuständen zu programmieren sind, und ein MSB-Haupt-Programmierbetrieb wird durchgeführt, um die Multi-Level-Speicherzellen auf die Mehrzahl der Ziel-Programmierzustände entsprechend der Multi-Bit-Datenmenge zu programmieren.
  • In einigen Ausführungsformen können die ersten Multi-Level-Speicherzellen, um den MSB-Vor-Programmierbetrieb durchzuführen, in einen Zwischen-Programmierzustand entsprechend dem höchsten Ziel-Programmierzustand programmiert werden, indem ein One-Shot-Impuls auf die ersten Multi-Level-Speicherzellen angewendet wird.
  • In einigen Ausführungsformen kann ein inkrementeller Stufenimpuls, um den MSB-Vor-Programmierbetrieb durchzuführen, auf die ersten Multi-Level-Speicherzellen angewendet werden, und eine Vor-Programmierprüfspannung kann auf die ersten Multi-Level-Speicherzellen angewendet werden, um zu prüfen, ob die ersten Multi-Level-Speicherzellen auf einen Zwischen-Programmierzustand entsprechend des höchsten Ziel-Programmierzustands programmiert worden sind.
  • In einigen Ausführungsformen können die ersten Multi-Level-Speicherzellen, um den MSB-Vor-Programmierbetrieb durchzuführen, auf einen ersten Zwischen-Programmierzustand entsprechend des höchsten Ziel-Programmierzustands programmiert werden, der erste Zwischen-Programmierzustand kann in eine Mehrzahl von Bereichen unterteilt werden und die ersten Multi-Level-Speicherzellen können auf einen zweiten Zwischen-Programmierzustand, der enger ist als der erste Zwischen-Programmierzustand, für jede der ersten Multi-Level-Speicherzellen, durch Anhebung einer Schwellwertspannung der ersten Multi-Level-Speicherzelle um einen aus einer Mehrzahl von unterschiedlichen Spannungsbeträgen programmiert werden, basierend auf dem Bereichdem die erste Multi-Level-Speicherzelle entspricht.
  • In einigen Ausführungsformen kann ein erster One-Shot-Impuls auf die ersten Multi-Level-Speicherzellen angewendet werden, um die ersten Multi-Level-Speicherzellen auf den ersten Zwischen-Programmierzustand zu programmieren.
  • In einigen Ausführungsformen kann mindestens eine Teilspannung auf die ersten Multi-Level-Speicherzellen angewendet werden, um festzustellen, in welchem von einer Mehrzahl an Bereichen jede erste Multi-Level-Speicherzelle vorhanden ist.
  • Bei einigen Ausführungsformen kann die Mehrzahl von Bereichen einen ersten Bereich, einen zweiten Bereich und einen dritten Bereich aufweisen. Um die ersten Multi-Level-Speicherzellen auf den zweiten Zwischen-Programmierzustand zu programmieren, kann eine erste Spannung mit niederem Pegel auf mit den ersten Multi-Level-Speicherzellen in dem ersten Bereich verbundene Bit-Leitungen angewendet werden, eine Anregungsspannung kann auf die mit den ersten Multi-Level-Speicherzellen in dem zweiten Bereich verbundenen Bit-Leitungen aufgebracht werden, eine zweite Spannung von hohem Pegel kann auf die mit den ersten Multi-Level-Speicherzellen in dem dritten Bereich verbundene Bit-Leitungen angewendet werden, und ein zweiter One-Shot-Impuls kann auf eine ausgewählte und mit den ersten Multi-Level-Speicherzellen verbundene Word-Leitung angewendet werden.
  • Bei einigen Ausführungsformen kann die erste Spannung eine niedrige Spannungsversorgung sein, die zweite Spannung kann eine hohe Spannungsversorgung sein und die Anregungsspannung kann einen Spannungspegel aufweisen, der höher ist als der der ersten Spannung und niederer ist als der der zweiten Spannung.
  • Bei einigen Ausführungsformen wird der zweite One-Shot-Impuls auf die ausgewählte Word-Leitung derart angewendet, dass Schwellspannungen der ersten Multi-Level-Speicherzellen in dem dritten Bereich im Wesentlichen nicht erhöht werden, und die Zunahmen der Schwellspannungen der ersten Multi-Level-Speicherzellen in dem zweiten Bereich können geringer als die Zunahmen der Schwellspannungen der ersten Multi-Level-Speicherzellen in dem ersten Bereich sein.
  • Gemäß beispielhaften Ausführungsformen wird bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung mit Multi-Level-Speicherzellen, die eine Multi-Bit-Datenmenge speichern, ein niederwertigster Bit-(LSB)-Programmierbetrieb durchgeführt, um LSBs der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren, und einen höchstwertigster Bit-(MSB)-Programmierbetrieb wird durchgeführt, um MSBs von der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren. Um den MSB-Programmierbetrieb durchzufüren, wird ein MSB-Vor-Programmieren auf den ersten Multi-Level-Speicherzellen durchgeführt, die mindestens auf einen Ziel-Programmierzustand unter einer Mehrzahl von Ziel-Programmierzuständen zu programmieren sind, und ein MSB-Haupt-Programmierbetrieb wird durchgeführt, um die Multi-Level-Speicherzellen auf die Mehrzahl von Ziel-Programmierzuständen entsprechend der Multi-Bit-Datenmenge zu programmieren.
  • Bei einigen Ausführungsformen kann der mindestens eine Ziel-Programmierzustand einen höchsten Ziel-Programmierzustand unter der Mehrzahl von Ziel-Programmierzuständen aufweisen.
  • Bei einigen Ausführungsformen kann der mindestens eine Ziel-Programmierzustand alle der Mehrzahl von Ziel-Programmierzuständen aufweisen.
  • Bei einigen Ausführungsformen können die Multi-Level-Speicherzellen, um den MSB-Vor-Programmierbetrieb durchzuführen, auf eine Vielzahl von Zwischen-Programmierzustände entsprechend der Mehrzahl von Ziel-Programmierzuständen durch aufeinanderfolgendes Anwenden einer Mehrzahl von One-Shot-Impulsen jeweils entsprechend der Mehrzahl von Zwischen-Programmierzuständen auf die Multi-Level-Speicherzellen programmiert werden.
  • Bei einigen Ausführungsformen kann ein inkrementeller Stufenimpuls, um den MSB-Vor-Programmierbetrieb durchzuführen, auf die Multi-Level-Speicherzellen angewendet werden, und eine Mehrzahl von Vor-Programmier-Prüfspannungen kann aufeinanderfolgend auf die Multi-Level-Speicherzellen angewendet werden, um zu überprüfen, ob die Multi-Level-Speicherzellen auf eine Mehrzahl von Zwischen-Programmierzuständen jeweils entsprechend der Mehrzahl von Ziel-Programmierzuständen programmiert sind. Bei einigen Ausführungsformen können die Multi-Level-Speicherzellen, um den MSB-Vor-Programmierbetrieb durchzuführen, auf eine erste Mehrzahl von Zwischen-Programmierzuständen jeweils entsprechend der Mehrzahl von Ziel-Programmierzuständen programmiert werden, jeder der ersten Mehrzahl von Zwischen-Programmierzuständen kann in eine Mehrzahl von Bereichen aufgeteilt werden, und die Multi-Level-Speicherzellen können auf eine zweite Mehrzahl von Zwischen-Programmierzuständen jeweils enger als die erste Mehrzahl von Zwischen-Programmierzuständen durch die Zunahme von Schwellspannungen der Multi-Level-Speicherzellen durch unterschiedliche Spannungspegel gemäß der Mehrzahl von Bereichen programmiert werden.
  • Gemäß mindestens einer beispielhaften Ausführungsform kann ein Verfahren zum Programmieren von Multi-Bit-Datenmengen einer Mehrzahl von Multi-Level-Speicherzellen von einer nicht-flüchtigen Speichervorrichtung das Programmieren niederwertigster Bits (LSBs) von der Multi-Bit-Datenmenge in den Multi-Level-Speicherzellen aufweisen; und das Programmieren von höchstwertigsten Bits (MSPs) der Multi-Bit-Datenmenge auf die Mehrzahl von Multi-Level-Speicherzellen für jede der Mehrzahl von Multi-Level-Speicherzellen, durch die Prüfung einer Schwellspannung der Multi-Level-Speicherzellen durch den Einsatz einer Prüfspannung eines Zielspannungspegels unter einer Mehrzahl von Zielspannungspegeln, entsprechend der Multi-Level-Speicherzelle. Das Programmieren der MSBs kann die Durchführung eines MSB-Vor-Programmierbetriebs durch die Prüfung einer Schwellspannung von der ersten Multi-Level-Speicherzelle für jede der ersten Multi-Level-Speicherzelle unter der Mehrzahl von Multi-Level-Speicherzellen, durch den einen Satz einer Prüfspannung von einem Zwischenspannungspegel entsprechend der ersten Multi-Level-Speicherzelle aufweisen, der entsprechende Zwischenspannungspegel kann niederer sein als der entsprechende Zielspannungspegel. Nach der Durchführung des MSB-Vor-Programmierbetriebs, kann ein MSB-Haupt-Programmierbetrieb für jede von der Mehrzahl von Multi-Level-Speicherzellen durch die Prüfung einer Schwellspannung von der Multi-Level-Speicherzelle, die die Prüfspannung von dem Zielspannungspegel verwendet, der der Multi-Level-Speicherzelle entspricht, durchgeführt werden.
  • Ein Verfahren zum Programmieren einer Multi-Bit-Datenmenge auf eine Mehrzahl von Multi-Level-Speicherzellen einer nicht-flüchtigen Speichervorrichtung kann das Programmieren niederwertigster Bits (LSBs) von der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen aufweisen; und das Programmieren eines höchstwertigsten Bits-(MSB)-Vor-Programmierbetriebs für jede der ersten Multi-Level-Speicherzellen unter der Mehrzahl von Multi-Level-Speicherzellen, der einen ersten Programmierimpuls auf die erste Multi-Level-Speicherzelle anwendet, die einen Schwellspannungsbereich aus einer Mehrzahl von Schwellspannungsbereichen festlegt, zu dem die erste Multi-Level-Speicherzelle gehört, und der einen zweiten Programmierimpuls auf die erste Multi-Level-Speicherzelle anwendet, die einen Spannungspegel aufweist, der aus einer Mehrzahl von unterschiedlichen Spannungspegeln basierend auf dem Bereich aus der Mehrzahl von Bereichen ausgewählt wird, dem die erste Multi-Level-Speicherzelle entspricht. Nach der Durchführung des MSB-Vor-Programmierbetriebs können die MSBs der Multi-Bit-Datenmenge auf die Multi-Level-Speicherzellen programmiert werden.
  • So wie oben beschrieben kann das Verfahren zum Programmieren der nichtflüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen die Zunahme der Weite der Schwellspannungsaufteilungen reduzieren und kann die Schwellspannungsaufteilungen verkleinern.
  • KURZBESCHREIBUNG DER FIGUREN
  • Die oben genannten und weitere Eigenschaften und Vorteile von beispielhaften Ausführungsformen werden durch Detailbeschreibungen von beispielhaften Ausführungsformen in Bezug auf die beigefügten Figuren ersichtlicher werden. Die beigefügten Figuren beschreiben beispielhafte Ausführungsformen und sollen nicht als den beabsichtigten Umfang der Ansprüche beschränkend aufgefasst werden. Die beigefügten Figuren sollten nicht als maßstabgetreu betrachtet werden, wenn es nicht ausdrücklich vermerkt wird.
  • 1 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 2 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhafter Ausführungsformen programmiert werden.
  • 3 ist ein Diagramm, das ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhafter Ausführungsformen programmiert wird.
  • 4 ist ein Diagramm, das noch ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhafter Ausführungsformen programmiert werden.
  • 5 ist ein Diagramm, das noch ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhafter Ausführungsformen programmiert werden.
  • 6 ist ein Diagramm, das noch ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhafter Ausführungsformen programmiert werden.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 8 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren aus 7 programmiert werden.
  • 9 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 10 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 9 programmiert werden.
  • 11 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 12 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 11 programmiert werden.
  • 13 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 14 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 13 programmiert werden.
  • 15 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 16 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 15 programmiert werden.
  • 17 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 18 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 17 programmiert werden.
  • 19 ist ein Diagramm zur Beschreibung einer Programmierreihenfolge von Zeilen von Multi-Level-Speicherzellen gemäß beispielhafter Ausführungsformen.
  • 20 ist ein Blockdiagramm, das eine nicht-flüchtige Speichervorrichtung gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 21 ist ein Blockdiagramm, das ein Speichersystem gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 22 ist ein Diagramm, das eine Speicherkarte mit einem Speichersystem gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 23 ist ein Diagramm, das ein Festkörperlaufwerk mit einem Speichersystem gemäß beispielhafter Ausführungsformen veranschaulicht.
  • 24 ist ein Diagramm, das ein Computersystem gemäß beispielhafter Ausführungsformen veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Ausführliche beispielhafte Ausführungsformen werden hier offenbart. Jedoch sind hier offenbarte, spezielle strukturelle und funktionale Details lediglich stellvertretend als beispielhafte Ausführungsformen beschrieben. Beispielhafte Ausführungsformen können jedoch in vielen verschiedenen Formen ausgebildet sein und sollten nicht als auf die hier ausgeführten beispielhaften Ausführungsformen beschränkt interpretiert werden.
  • Da beispielhafte Ausführungsformen diverse Änderungen und alternative Formen aufweisen können, werden entsprechend Ausführungsformen davon beispielhalber in den Figuren gezeigt und hier im Detail beschrieben. Es sollte jedoch selbstverständlich sein, das keine Absicht besteht, beispielhafte Ausführungsformen auf die besonderen offenbarten Formen zu beschränken, sondern im Gegensatz dazu sind beispielhafte Ausführungen dazu gedacht, alle Änderungen, Entsprechungen, und Alternativen, die in den Umfang der beispielhaften Ausführungsformen fallen, abzudecken. Gleiche Ziffern beziehen sich durchgängig durch die Beschreibung der Figuren auf gleiche Elemente.
  • Es ist selbstverständlich, dass, obwohl die Begriffe erster, zweiter etc. hier verwendet werden, um unterschiedliche Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe beschränkt werden sollen. Diese Begriffe werden nur zur Unterscheidung eines Elements von einem anderen Element verwendet. Ein erstes Element könnte z. B. als zweites Element bezeichnet werden und in gleicher Weise könnte ein zweites Element als erstes Element bezeichnet werden, ohne von dem Umfang der beispielhaften Ausführungsformen abzuweichen. Wie hier verwendet, beinhaltet der Begriff ”und/oder” jede und alle Kombinationen von einem oder mehreren der in Verbindung gebrachten aufgelisteten Begriffe.
  • Es ist selbstverständlich, dass wenn ein Element als ”verbunden mit” oder ”gekoppelt mit” einem anderen Element beschrieben wird, es direkt verbunden oder gekoppelt mit dem anderen Element sein kann, oder es können dazwischen liegende Elemente vorhanden sein. Im Gegensatz dazu sind, wenn ein Element als ”direkt verbunden mit” oder ”direkt gekoppelt mit” einem anderen Element beschrieben ist, keine dazwischen liegende Elemente oder Schichten vorhanden. Andere Wörter, die verwendet werden, um Beziehungen zwischen Elementen zu beschreiben, sollten in der gleichen Weise interpretiert werden (z. B. ”zwischen” contra ”unmittelbar zwischen”, ”angrenzend” contra ”direkt angrenzend”, etc.).
  • Die hier verwendete Fachsprache hat nur das Ziel bestimmte Ausführungsformen zu beschreiben und beabsichtigt nicht, die beispielhaften Ausführungsformen zu beschränken. Wie hier verwendet, sollen die Singularformen ”einer/eine/eines” und ”der/die/das” auch die Pluralformen beinhalten, wenn der Zusammenhang nicht eindeutig auf anderes hinweist. Außerdem ist selbstverständlich, dass die Begriffe ”er/sie/es weist auf” und/oder ”aufweisend”, wenn sie hier verwendet werden, das Vorhandensein von bestimmten Eigenschaften, Ganzzahlen, Schritten, Betriebsabläufen, Elementen und/oder Komponenten angeben, aber nicht das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Eigenschaften, Ganzzahlen, Schritten, Betriebsabläufen, Elementen, Komponenten und/oder Gruppen hiervon ausschließen.
  • Es ist ebenso zu beachten, dass in einigen alternativen Umsetzungen die bekanntgemachten Funktionen/Handlungen als nicht in der Reihenfolge wie bekanntgemacht in den Figuren erscheinen. Zwei nacheinander abgebildete Figuren können z. B. tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder sie können manchmal in der umgekehrten Reihenfolge ausgeführt werden, abhängig von der Funktionalität/Handlungen, bei denen sie beteiligt sind.
  • Wenn nicht anders definiert, haben alle Begriffe (beinhaltend technische und wissenschaftliche Begriffe), die hier verwendet werden, die gleiche Bedeutung wie gewöhnlich von einem Durchschnittsfachmann verstanden, auf den sich diese erfinderischen Konzepte beziehen. Weiterhin ist selbstverständlich, dass Begriffe wie z. B. in üblichen Wörterbüchern definierten, als eine Bedeutung habend interpretiert werden sollten, die einheitlich mit ihrer Bedeutung im Zusammenhang mit der relevanten Technik ist und sie wird nicht in einem idealisierten und übermäßig formalen Sinn aufgefasst, sofern hier nicht explizit so definiert.
  • 1 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
  • In einer nicht-flüchtigen Speichervorrichtung mit Multi-Level-Speicherzellen, welche eine Multi-Bit-Datenmenge speichert, wird Bezug nehmend auf 1 ein niederwertigstes Bit-(LSB)-Programmieren durchgeführt, um LSBs der Multi-Bit-Datenmenge auf die Multi-Level-Speicherzellen zu programmieren (S110). Hierbei bezeichnet die Multi-Bit-Datenmenge Daten, von denen jede mehr als ein Bit aufweist, und die Multi-Level-Speicherzellen nicht-flüchtige Speicherzellen bezeichnen, die mehr als ein Bit von Daten je Speicherzelle speichern.
  • Um z. B. die LSB-Programmierung durchzuführen, können eine erste Spannung niederen Pegels (z. B. eine niedrige Spannungsversorgung oder eine Masse-Spannung) oder eine zweite Spannung hohen Pegels (z. B. eine hohe Spannungsversorgung) wahlweise auf die jeweiligen Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen gemäß den LSBs der Multi-Bit-Datenmenge verbunden sind, und eine Programmierspannung kann auf eine ausgewählte Wordline angewendet werden, die mit den Multi-Level-Speicherzellen verbunden ist.
  • Bei einigen Ausführungsformen kann die LSB-Programmierung durch den Einsatz eines inkrementellen Stufenimpulsprogrammier-(ISPP)-Verfahrens durchgeführt werden. Um z. B. das LSB-Programmieren durchzuführen, kann ein inkrementeller Stufenimpuls auf die Multi-Level-Speicherzellen angewendet werden, der sich pro Programmierdurchlauf durch einen vorher bestimmten Spannungspegel erhöht und Prüfspannungen entsprechend der LSBs der Multi-Bit-Datenmenge können angewendet werden, um zu prüfen, ob die LSBs der Multi-Bit-Datenmenge richtig auf den Multi-Level-Speicherzellen programmiert worden sind. Bei einigen Ausführungsformen kann ein Vor-Programmierbetrieb ferner vor dem ISPP-Betrieb durchgeführt werden. Der Vor-Programmierbetrieb kann als ein LSB-Vor-Programmieren bezeichnet werden und der ISPP-Betrieb kann als LSB-Haupt-Programmieren bezeichnet werden.
  • Nach dem LSB-Programmieren wird ein höchstwertigstes Bit-(MSB)-Programmieren durchgeführt, um die MSBs der Multi-Bit-Datenmenge in den Multi-Level-Speicherzellen (S120) zu programmieren. Das MSB-Programmieren kann ein MSB-Vor-Programmieren und ein MSB-Haupt-Programmieren aufweisen.
  • Das MSB-Vor-Programmieren kann derart durchgeführt werden, dass die Multi-Level-Speicherzellen, die auf mindestens einen Ziel-Programmierzustand zu programmieren sind, auf mindestens einen Zwischen-Programmierzustand programmiert werden können, der niederer als der mindestens eine Ziel-Programmierzustand (S130). Bei einigen Ausführungsformen kann das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt werden, die auf den höchsten Ziel-Programmierzustand unter einer Mehrzahl von Ziel-Programmierzuständen entsprechend der Multi-Bit-Datenmenge zu programmieren sind. Bei anderen Ausführungsformen kann das MSB-Vor-Programmieren auf alle der Multi-Level-Speicherzellen durchgeführt werden, die auf die Mehrzahl von Ziel-Programmierzuständen zu programmieren sind. Bei noch weiteren Ausführungsformen kann das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt werden, die auf einen oder mehrere Ziel-Programmierzustände entsprechend einem oder mehreren Werten der Multi-Bit-Datenmenge zu programmieren sind.
  • Das MSB-Haupt-Programmieren kann derart durchgeführt werden, dass die Multi-Level-Speicherzellen auf die Ziel-Programmierzustände entsprechend der Multi-Bit-Datenmenge (S150) programmiert werden. Bei einigen Ausführungsformen kann das MSB-Haupt-Programmieren mit dem Einsatz eines ISPP-Verfahrens durchgeführt werden. Um z. B. das MSB-Haupt-Programmieren durchzuführen, kann ein inkrementeller Stufenimpuls auf die Multi-Level-Speicherzellen angewendet werden, der sich bei jedem Programmierdurchlauf durch einen vorherbestimmten Spannungspegeln erhöht, und Prüfspannungen entsprechend der Multi-Bit-Datenmenge können angewendet werden, um zu prüfen, ob die Multi-Level-Speicherzellen auf die Ziel-Programmierzustände entsprechend der Multi-Bit-Datenmenge korrekt programmiert sind.
  • Bei einigen Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß einigen beispielhaften Ausführungsformen, wird, wie oben beschrieben, das MSB-Haupt-Programmieren nach dem MSB-Vor-Programmieren durchgeführt, das die Multi-Level-Speicherzellen auf mindestens einen Zwischen-Programmierzustand programmiert, und dabei die Zunahme der Weite der Schwellspannungsaufteilungen aufgrund von einer Kopplung oder einer Störung reduziert. Im Besonderen kann die unerwünschte Zunahme einer Schwellspannungsaufteilung eines Löschungszustands reduziert werden. Demgemäß können die Schwellspannungsaufteilungen der Multi-Level-Speicherzellen verkleinert werden.
  • 2 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhaften Ausführungsformen programmiert sind.
  • Bezug nehmend auf die 1 und 2 kann ein LSB-Programmieren derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen ersten Zwischenzustand IP1 entsprechend eines LSB der entsprechenden Multi-Bit-Datenmenge (S110) aufweist. Wenn z. B. eine zu programmierende Multi-Bit-Datenmenge in einer Multi-Level-Speicherzelle einen LSB von ”1” aufweist, kann die Multi-Level-Speicherzelle auf den Löschungszustand E0 durch das LSB-Programmieren programmiert werden. Wenn eine Multi-Bit-Datenmenge, die programmiert werden soll, in einer Multi-Level-Speicherzelle einen LSB von ”0” aufweist, kann die Multi-Level-Speicherzelle auf den ersten Zwischenzustand IP1 durch das LSB-Programmieren programmiert werden.
  • Ein MSB-Vor-Programmieren kann derart durchgeführt werden, dass Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 programmiert werden, auf einen Zwischenprogrammierzustand P3' entsprechend dem höchsten Zielprogrammierzustand P3 programmiert werden (S138). Unter den Multi-Level-Speicherzellen, die den ersten Zwischenzustand IP1 aufweisen, können z. B. Schwellspannungen der Multi-Level-Speicherzellen, die auf einen zweiten Ziel-Programmierzustand P2 programmiert werden, nicht durch das MSB-Vor-Programmieren erhöht werden, und die Schwellspannungen von Multi-Level-Speicherzellen, die auf einen dritten Ziel-Programmierzustand P3 (z. B. der höchste Ziel-Programmierzustand) programmiert werden, können durch das MSB-Vor-Programmieren erhöht werden.
  • Ein MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen vom dem Löschungszustand E0, einem ersten Ziel-Programmierzustand P1, dem zweiten Ziel-Programmierzustand P2 und dem dritten Ziel-Programmierzustand P3 gemäß der entsprechenden Multi-Bit-Datenmenge aufweist (S150). Durch das MSB-Haupt-Programmieren kann z. B. eine Menge von Multi-Level-Speicherzellen, die den Löschungszustand E0 aufweisen, auf den ersten Ziel-Programmierzustand P1 durch den Einsatz einer ersten Prüfspannung VVRF1 gemäß der Multi-Bit-Datenmenge programmiert werden, die den ersten Zwischenzustand IP1 aufweisenden Multi-Level-Speicherzellen können auf den zweiten Ziel-Programmierzustand P2 durch den Einsatz einer zweiten Prüfspannung VVRF2 programmiert werden, und die den Zwischen-Programmierzustand P3' aufweisenden Multi-Level-Speicherzellen können entsprechend dem dritten Ziel-Programmierzustand P3 auf den dritten Ziel-Programmierzustand P3 durch den Einsatz einer dritten Prüfspannung VVRF3 programmiert werden.
  • Der Löschungszustand E0, der erste Ziel-Programmierzustand P1, der zweite Ziel-Programmierzustand P2 und der dritte Ziel-Programmierzustand P3 können z. B. Werten von der Multi-Bit-Datenmenge ”11”, ”01”, ”00” und ”10” jeweils entsprechen. Gemäß beispielhaften Ausführungsformen können verschiedene logische Werte der Multi-Bit-Datenmenge den jeweiligen Zielzuständen E0, P1, P2 und P3 zugewiesen werden.
  • Eine unerwünschte Schwellspannungsumschaltung von einer Multi-Level-Speicherzelle mit Löschungszustand E0 kann hauptsächlich von einer Programmierunterbrechung und Kopplung verursacht werden. Die Programmierunterbrechung kann auftreten, während die mit derselben Wordline wie die Multi-Level-Speicherzelle verbundenen Multi-Level-Speicherzellen mit dem Löschungszustand E0 auf den ersten und zweiten Ziel-Programmierzustand P1 und P2 programmiert werden. In einem Fall, bei dem Multi-Level-Speicherzellen angrenzend an die Multi-Level-Speicherzelle mit dem Löschungszustand E0 auf den höchsten Ziel-Programmierzustand P3 programmiert werden, kann die Kopplung auftreten. Eine Menge der von der Programmierunterbrechung verursachten Schwellspannungsumschaltung kann sich abhängig von dem Schellenspannungspegel der Multi-Level-Speicherzelle mit dem Löschungszustand E0 verändern. In einem Fall, indem z. B. eine Schwellspannung von einer Multi-Level-Speicherzelle verhältnismäßig hoch ist, kann die Schwellspannung der Multi-Level-Speicherzelle weniger durch die Programmierunterbrechung betroffen sein als eine Multi-Level-Speicherzelle, die eine verhältnismäßig niedere Schwellspannung aufweist.
  • Ein Betrag der durch die Kopplung verursachten Schwellspannungsänderung kann sich jedoch weniger, oder überhaupt nicht verändern, sogar wenn sich der Schwellspannungspegel der Multi-Level-Speicherzelle mit einem Löschungszustand E0 ändert. Bei dem Programmierverfahren gemäß beispielhaften Ausführungsformen wird das MSB-Vor-Programmieren auf den Multi-Level-Speicherzellen durchgeführt, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind. Folglich können die Multi-Level-Speicherzellen mit dem Löschungszustand E0 als erste durch die Kopplung beeinträchtigt werden, und dann können sie später durch die Programmierunterbrechung beeinträchtigt werden. Entsprechend kann die gesamte Schwellspannungsänderung der Multi-Level-Speicherzelle reduziert werden, da ja die Multi-Level-Speicherzelle von der Programmierunterbrechung beeinträchtigt wird, nachdem die Schwellspannung der Multi-Level-Speicherzelle durch die Kopplung erhöht wurde.
  • Ferner können in dem Programmierverfahren gemäß beispielhafter Ausführungsformen die Multi-Level-Speicherzellen auf einen höchsten Ziel-Programmierzustand P3 durch initiale Programmierimpulse mit verhältnismäßig niederen Spannungspegeln während des MSB-Haupt-Programmierens programmiert werden, da ja die Multi-Level-Speicherzellen, die auf einen höchsten Ziel-Programmierzustand P3 programmiert werden, Schwellspannungen aufweisen, die wesentlich näher an der dritten Prüfspannung VVRF3 entsprechend des höchsten Ziel-Programmierzustands P3 durch das MSB-Vor-Programmieren liegen. Dementsprechend kann das MSB Haupt-Programmieren schnell abgeschlossen werden und eine Breite von jedem Zielzustand E0, P1, P2 und P3 kann reduziert werden.
  • 3 ist ein Diagramm, das ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhaften Ausführungsformen programmiert werden.
  • Bezug nehmend auf die 1 und 3 kann ein LSB-Programmieren derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen ersten Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S110).
  • Ein MSB-Vor-Programmieren kann derart durchgeführt werden, dass Multi-Level-Speicherzellen, die auf die ersten bis dritten Ziel-Programmierzustände P1, P2 und P3 programmiert werden, auf die Zwischen-Programmierzustände P1', P2' und P3' entsprechend der ersten bis dritten Ziel-Programmierzustände P1, P2 und P3 jeweils programmiert werden können (S130). Durch das MSB-Vor-Programmieren können z. B. die Multi-Level-Speicherzellen, die auf den ersten Ziel-Programmierzustand P1 zu programmieren sind, auf den Zwischen-Programmierzustand P1' entsprechend des ersten Ziel-Programmierzustands P1 programmiert werden, Multi-Level-Speicherzellen, die auf den zweiten Ziel-Programmierzustand P2 zu programmieren sind, können auf den Zwischen-Programmierzustand P2' entsprechend des zweiten Ziel-Programmierzustands P2 programmiert werden und Multi-Level-Speicherzellen, die auf den dritten Ziel-Programmierzustand P3 zu programmieren sind, können auf den Zwischen-Programmierzustand P3' entsprechend des dritten Ziel-Programmierzustands P3 programmiert werden.
  • Ein MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von dem ersten Ziel-Programmierzustand P1, von dem zweiten Ziel-Progammierzustand P2 und von dem dritten Ziel-Programmierzustand P3 gemäß der entsprechenden Multi-Bit-Datenmenge aufweist (S150). Es können z. B. durch das MSB-Haupt-Programmieren die Multi-Level-Speicherzellen mit dem Zwischen-Programmierzustand P1' entsprechend dem ersten Ziel-Programmierzustand P1 auf den ersten Ziel-Programmierzustand P1 programmiert werden, die Multi-Level-Speicherzellen mit dem Zwischen-Programmierzustand P2' entsprechend dem zweiten Ziel-Programmierzustand P2 können auf den zweiten Ziel-Programmierzustand P2 programmiert werden und die Multi-Level-Speicherzellen mit dem Zwischen-Programmierzustand P3' entsprechend dem dritten Ziel-Programmierzustand P3 können auf den dritten Ziel-Programmierzustand P3 programmiert werden.
  • Wenn benachbarte Speicherzellen programmiert werden, nachdem die Speicherzelle programmiert ist, kann eine Schwellspannung der Speicherzelle unerwünschterweise durch eine Kopplung mit den angrenzenden Speicherzellen angehoben werden. Bei dem Programmierverfahren gemäß beispielhaften Ausführungsformen können Zunahmen der Schwellspannungen von Multi-Level-Speicherzellen während des MSB-Hauptprogrammierens im Wesentlichen gering sein, da ja die Multi-Level-Speicherzellen, die auf die Ziel-Programmierzustände P1, P2 und P3 zu programmieren sind, Schwellspannungen im Wesentlichen nahe an Prüfspannungen VVRF1, VVRF2 und VVRF3 jeweils entsprechend der Ziel-Programmierzustände P1, P2 und P3 durch das MSB-Vor-Programmieren aufweisen. Demgemäß kann die unerwünschte Schwellspannungsänderung, die durch die Kopplung verursacht wird, reduziert werden und die Zielzustände E0, P1, P2 und P3 können schmalere Breiten aufweisen.
  • In einem Fall, in dem z. B. eine zweite Speicherzelle (welche als Angreiferzelle bezeichnet werden kann) angrenzend an eine erste Speicherzelle (welche als Opferzelle bezeichnet werden kann) auf den dritten Ziel-Programmierzustand P3 zu programmieren ist, kann die zweite Speicherzelle eine Schwellspannung aufweisen, die näher an einer dritten Prüfspannung VVRF3 durch das MSB-Vor-Programmieren liegt, und eine Zunahme der Schwellspannung von der zweiten Speicherzelle kann während des MSB-Haupt-Programmierens im Wesentlichen kleiner sein. Entsprechend kann die unerwünschte Schwellspannungsänderung, die durch die Kopplung mit der zweiten Speicherzelle verursacht wird, reduziert werden, da ja eine Zunahme von der Schwellspannung der zweiten Speicherzelle währen des MSB-Haupt-Programmierens geringer ist, auch wenn die erste Speicherzelle vor der zweiten Speicherzelle programmiert wird.
  • 4 ist ein Diagramm, das noch ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhaften Ausführungsformen programmiert werden.
  • Bezug nehmend auf die 1 und 4 kann ein LSB-Programmieren derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen ersten Zwischenzustand IP1 gemäß dem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S110).
  • Ein zwischenwertiges Bit-(ISB)-Programmieren (welches auch als zentralwertiges Bit-(CSB)-Programmieren bezeichnet werden kann) kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem zweiten Zwischenzustand IP2, von einem dritten Zwischenzustand IP3 und von einem vierten Zwischenzustand IP4 gemäß einem ISB und dem LSB der entsprechenden Multi-Bit-Datenmenge aufweist. Z. B. können der Löschungszustand E0, der zweite Zwischenzustand IP2, der dritte Zwischenzustand IP3 und der vierte Zwischenzustand IP4 dem ISB und dem. LSB ”11”, ”01”, ”00” und ”10” jeweils entsprechen, jedoch nicht darauf limitiert sein. Gemäß beispielhaften Ausführungsformen können verschiedene logische Werte des ISB und des LSB den jeweiligen Zuständen E0, IP2, IP3 und IP4 zugewiesen werden.
  • Bei einigen Ausführungsformen kann das ISB-Programmieren durchgeführt werden, indem ein ISPP-Verfahren verwendet wird. Ein inkrementeller Stufenimpuls, der sich pro Programmierdurchlauf durch einen vorher bestimmten Spannungspegel vergrößert, kann z. B. auf die Multi-Level-Speicherzellen angewendet werden, um das ISB-Programmieren durchzuführen, und Prüfspannungen können angewendet werden, um zu prüfen, ob die Multi-Level-Speicherzellen auf den zweiten bis vierten Zwischenzustand IP2, IP3 und IP4 korrekt programmiert sind.
  • Ein MSB-Vor-Programmieren kann derart durchgeführt werden, dass die Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P7 zu programmieren sind, auf einen Zwischen-Programmierzustand P7' entsprechend dem höchsten Ziel-Programmierzustand P7 programmiert werden können (S130). Unter den Multi-Level-Speicherzellen mit viertem Zwischenzustand IP4, können z. B. Schwellspannungen der Multi-Level-Speicherzellen, die auf einen sechsten Ziel-Programmierzustand P6 zu programmieren sind, von dem MSB-Vor-Programmieren nicht erhöht werden, und Schwellspannungen der Multi-Level-Speicherzellen, die auf einen siebten Ziel-Programmierzustand P7 (z. B. der höchste Ziel-Programmierzustand) zu programmieren sind, können durch das MSB-Vor-Programmieren erhöht werden.
  • Ein MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem ersten Ziel-Programmierzustand P1, von einem zweiten Ziel-Programmierzustand P2, von einem dritten Ziel-Programmierzustand P3, von einem vierten Ziel-Programmierzustand P4, von einem fünften Ziel-Programmierzustand P5, von einem sechsten Ziel-Programmierzustand P6 und von einem siebten Ziel-Programmierzustand P7 gemäß der entsprechenden Multi-Bit-Datenmenge aufweist (S150). Von dem MSB-Haupt-Programmieren kann z. B. ein Teil der Multi-Level-Speicherzellen mit dem Löschungszustand E0 auf den ersten Ziel-Programmierzustand P1 programmiert werden, indem eine erste Prüfspannung VVRF1 gemäß der Multi-Bit-Datenmenge verwendet wird, die Multi-Level-Speicherzelln mit dem zweiten Zwischenzustand IP2 können auf den zweiten Ziel-Programmierzustand P2 programmiert werden, indem eine zweite Prüfspannung VVRF2 verwendet wird, oder der dritte Ziel-Programmierzustand P3, indem eine dritte Prüfspannung VVRF3 verwendet wird, die Multi-Level-Speicherzellen mit dem dritten Zwischenzustand IP3 können auf den zweiten Ziel-Programmierzustand P4 programmiert werden, indem eine vierte Prüfspannung VVRF4 verwendet wird, oder der fünfte Ziel-Programmierzustand P5, indem eine fünfte Prüfspannung VVRF5 verwendet wird, die Multi-Level-Speicherzellen mit dem vierten Zwischenzustand IP4 können auf den sechsten Ziel-Programmierzustand P6 programmiert werden, indem eine sechste Prüfspannung VVRF6 verwendet wird, und die Multi-Level-Speicherzellen mit dem Zwischen-Programmierzustand P7' entsprechend dem siebten Ziel-Programmierzustand P7 können auf den siebten Ziel-Programmierzustand P7 programmiert werden, indem eine siebte Prüfspannung VVRF7 verwendet wird.
  • Z. B. kann der Löschungszustand E0, der erste Ziel-Programmierzustand P1, der zweite Ziel-Programmierzustand P2, der dritte Ziel-Programmierzustand P3, der vierte Ziel-Programmierzustand P4, der fünfte Ziel-Programmierzustard P5, der sechste Ziel-Programmierzustand P6 und der siebte Ziel-Programmierzustand P7 der Multi-Bit-Datenmenge ”111”, ”011”, ”001”, ”101”, ”100”, ”000”, ”010” und ”110” jeweils entsprechen, jedoch nicht darauf beschränkt sein.
  • Gemäß beispielhaften Ausführungsformen können verschiedene logische Werte der Multi-Bit-Datenmenge den jeweiligen Zielzuständen E0, P1, P2, P3, P4, P5, P6 und P7 zugewiesen werden.
  • In dem Programmierverfahren gemäß beispielhaften Ausführungsformen kann eine gesamte Schwellspannungsänderung einer Multi-Level-Speicherzelle mit dem Löschungszustand E0 reduziert werden, da ja das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird, die auf den höchsten Ziel-Programmierzustand P7 programmiert werden, und eine Breite jedes Zielzustands E0, P1, P2, P3, P4, P5, P6 und P7 kann reduziert werden.
  • 5 ist ein Diagramm, das noch ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhaften Ausführungsformen programmiert werden.
  • Ein LSB-Programmieren kann Bezug nehmend auf 1 und 5 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen ersten Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S110).
  • Ein ISB-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem zweiten Zwischenzustand IP2, von einem dritten Zwischenzustand IP3 und von einem vierten Zwischenzustand IP4 gemäß einem ISB und einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist.
  • Ein MSB-Vor-Programmieren kann derart durchgeführt werden, dass die Multi-Level-Speicherzellen, die auf Ziel-Programmierzustände P1, P2, P3, P4, P5, P6 und P7 zu programmieren sind, auf Zwischen-Programmierzustände P1', P2', P3', P4', P5', P6' und P7' entsprechend den Ziel-Programmierzuständen P1, P2, P3, P4, P5, P6 und P7 programmiert werden (S130). Durch das MSB-Vor-Programmieren können z. B. Multi-Level-Speicherzellen, die auf einen ersten Ziel-Programmierzustand P1 zu programmieren sind, auf einen Zwischen-Programmierzustand P1' entsprechend dem ersten Ziel-Programmierzustand P1 programmiert werden, Multi-Level-Speicherzellen, die auf einen zweiten Ziel-Programmierzustand P2 zu programmieren sind, können auf einen Zwischen-Programmierzustand P2' entsprechend des zweiten Ziel-Programmierzustands P2 programmiert werden, Multi-Level-Speicherzellen, die auf einen dritten Ziel-Programmierzustand P3 zu programmieren sind, können zu einem Zwischen-Programmierzustand P3' entsprechend dem dritten Ziel-Programmierzustand P3 programmiert werden, Multi-Level-Speicherzellen, die auf einen vierten Ziel-Programmierzustand P4 zu programmieren sind, können auf einen Zwischen-Programmierzustand P4' entsprechend dem vierten Ziel-Programmierzustand P4 programmiert werden, Multi-Level-Speicherzellen, die auf einen fünften Ziel-Programmierzustand P5 zu programmieren sind, können auf einen Zwischen-Programmierzustand P5' entsprechend dem fünften Ziel-Programmierzustand P5 programmiert werden, Multi-Level-Speicherzellen, die auf einen sechsten Ziel-Programmierzustand P6 zu programmieren sind, können auf einen Zwischen-Programmierzustand P6' entsprechend dem sechsten Ziel-Programmierzustands P6 programmiert werden, und Multi-Level-Speicherzellen, die auf einen siebten Ziel-Programmierzustand P7 zu programmieren sind, können auf einen Zwischen-Programmierzustand P7' entsprechend dem siebten Ziel-Programmierzustand P7 programmiert werden.
  • Ein MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, dem ersten Ziel-Programmierzustand P1, dem zweiten Ziel-Programmierzustand P2, dem dritten Ziel-Programmierzustand P3, dem vierten Ziel-Programmierzustand P4, dem fünften Ziel-Programmierzustand P5, dem sechsten Ziel-Programmierzustand P6 und dem siebten Ziel-Programmierzustand P7 gemäß der entsprechenden Multi-Bit-Datenmenge aufweist (S150).
  • Bei dem Programmierverfahren gemäß beispielhaften Ausführungsformen kann die durch die Kopplung verursachte unerwünschte Schwellspannungsänderung reduziert werden, weil das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird, die auf die Ziel-Programmierzustände P1, P2, P3, P4, P5, P6 und P7 zu programmieren sind, und die Zielzustände E0, P1, P2, P3, P4, P5, P6 und P7 können geringere Breiten aufweisen.
  • Obwohl es nicht in den 4 und 5 veranschaulicht ist, kann in einigen Ausführungsformen das ISB-Programmieren ein Vor-Programmieren und ein Haupt-Programmieren aufweisen.
  • 6 ist ein Diagramm, das noch ein weiteres Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren gemäß beispielhaften Ausführungsformen programmiert sind.
  • Ein LSB-Programmieren kann Bezug nehmend auf 1 und 6 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen ersten Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S110).
  • Ein ISB-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem zweiten Zwischenzustand IP2, von einem dritten Zwischenzustand IP3 und von einem vierten Zwischenzustand IP4 gemäß einem ISB und dem LSB der entsprechenden Multi-Bit-Datenmenge aufweist. Bei einigen Ausführungsformen kann das ISB-Programmieren ein ISB-Vor-Programmieren und ein ISB-Haupt-Programmieren aufweisen. Bei dem ISB-Vor-Programmieren können die Multi-Level-Speicherzellen auf Zwischenzustände IP2', IP3' und IP4' jeweils entsprechend den zweiten bis vierten Zwischenzuständen IP2, IP3 und IP4 programmiert werden. Bei dem ISB-Haupt-Programmieren können die auf die Zwischenzustände IP2', IP3' und IP4' programmierten Multi-Level-Speicherzellen ferner auf die zweiten bis vierten Zwischenzustände IP2, IP3 und IP4 jeweils programmiert werden.
  • Obwohl 6 ein Beispiel veranschaulicht, bei dem das ISB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird, die auf die zweiten bis vierten Zwischenzustände IP2, IP3 und IP4 zu programmieren sind, kann das ISB-Vor-Programmieren auf Multi-Level-Speicherzellen durchgeführt werden, die auf einen oder mehrere Zwischenzustände IP2, IP3 und IP4 zu programmieren sind.
  • Ein MSB-Vor-Programmieren kann derart durchgeführt werden, dass Multi-Level-Speicherzellen, die auf Ziel-Programmierzustände P1, P2, P3, P4, P5, P6 und P7 programmiert sind, auf Zwischen-Programmierzustände P1', P2', P3', P4', P5', P6' und P7' entsprechend den Ziel-Programmierzuständen P1, P2, P3, P4, P5, P6 und P7 programmiert werden (S130).
  • Ein MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von dem ersten Ziel-Programmierzustand P1, von dem zweiten Ziel-Programmierzustand P2, von dem dritten Ziel-Programmierzustand P3, von dem vierten Ziel-Programmierzustand P4, von dem fünften Ziel-Programmierzustand P6, von dem sechsten Ziel-Programmierzustand P6 und von dem siebten Ziel-Programmierzustand P7 gemäß der entsprechenden Multi-Bit-Datenmenge aufweist (S150).
  • Obwohl die 2 und 3 Beispiele veranschaulichen, bei denen die Multi-Level-Speicherzellen zwei Daten-Bits pro Speicherzelle speichern, und die 4 bis 6 Beispiele veranschaulichen, bei denen die Multi-Level-Speicherzellen drei Daten-Bits pro Speicherzelle speichern, kann das Programmierverfahren gemäß beispielhaften Ausführungsformen auch auf Multi-Level-Speicherzellen angewendet werden, die vier oder mehr Speicherbits speichern.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht, und 8 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 7 programmiert werden.
  • Ein LSB-Programmieren kann Bezug nehmend auf die 7 und 8 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S210).
  • Nach dem LSB-Programmieren kann ein MSB-Programmieren durchgeführt werden, um MSBs von der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren (S220). Das MSB-Programmieren kann ein MSB-Vor-Programmieren und ein MSB-Haupt-Programmieren aufweisen.
  • Das MSB-Vor-Programmieren kann durch das Anwenden eines One-Shot-Impulses OSP auf die Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 programmiert sind, durchgeführt werden (S230). Hierbei kann der One-Shot-Impuls OSP einen einmalig angewendeten Impuls darstellen. Um z. B. das MSB-Vor-Programmieren durchzuführen, kann eine erste Spannung niederen Pegels (z. B. eine niedrige Spannungsversorgung oder eine Massen-Spannung) auf die mit dem Multi-Level-Speicherzellen verbundenen Bit-Leitungen angewendet werden, um auf den höchsten Ziel-Programmierzustand P3 programmiert zu werden, und es kann eine zweite Spannung von hohem Pegel (z. B. eine hohe Spannungsversorgung) auf die mit den anderen Multi-Level-Speicherzellen verbundenen Bit-Leitungen angewendet werden, und der One-Shot-Impuls OSP kann auf eine ausgewählte Wordline, die mit dem Multi-Level-Speicherzellen verbunden ist, angewendet werden. Nach dem MSB-Vor-Programmieren können die Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, einen Zwischen-Programmierzustand P3' entsprechend dem höchsten Ziel-Programmierzustand P3 aufweisen.
  • Ein MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem ersten Zielprogrammzustand P1, von einem zweiten Ziel-Programmierzustand P2 und von dem dritten Ziel-Programmierzustand P3 gemäß der Multi-Bit-Datenmenge aufweist (S250).
  • So wie oben beschrieben kann bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen eine unerwünschte Schwellspannungsänderung einer Multi-Level-Speicherzelle mit dem Löschungszustand E0 aufgrund von Kopplung oder einer Unterbrechung reduziert werden, da ja das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, und die Breiten der Zielzustände E0, P1, P2 und P3 können reduziert werden.
  • 9 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht, und 10 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 9 programmiert werden.
  • Ein LSB-Porgramm kann Bezug nehmend auf die 9 und 10 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S310).
  • Nach dem LSB-Programmieren kann ein MSB-Programmieren durchgeführt werden, um MSBs von der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren (S320). Das MSB-Programmieren kann ein MSB-Vor-Programmieren und ein MSB-Haupt-Programmieren aufweisen.
  • Das MSB-Vor-Programmieren kann durch Anwendung einer Mehrzahl von One-Shot-Impulsen OSP1, OSP2 und OSP3 auf die Multi-Level-Speicherzellen angewendet werden, die auf die Ziel-Programmierzustände P1, P2 und P3 zu programmieren sind (S330). Die Multi-Level-Speicherzellen, die z. B. auf einen ersten Ziel-Programmierzustand P1 zu programmieren sind, können auf einen Zwischen-Programmierzustand P1' entsprechend dem ersten Ziel-Programmierzustand P1 durch die Anwendung eines ersten One-Shot-Impulses OSP1 programmiert werden, die Multi-Level-Speicherzellen, die auf einen zweiten Ziel-Programmierzustand P2 zu programmieren sind, können auf einen Zwischen-Programmierzustand P2' entsprechend dem zweiten Ziel-Programmierzustand P2 durch Anwendung eines zweiten One-Shot-Impulses OSP2, programmiert werden, und die Multi-Level-Speicherzellen, die auf einen dritten Ziel-Programmierzustand P3 zu programmieren sind, können auf einen Zwischen-Programmierzustand P3' entsprechend dem dritten Ziel-Programmierzustand P3 durch Anwendung eines dritten One-Shot-Impulses OSP3 programmiert werden.
  • Bei einigen Ausführungsformen können der erste bis dritte One-Shot-Impuls OSP1, OSP2 und OSP3 der Reihe nach angewendet werden. Um die Multi-Level-Speicherzellen, die auf einen ersten Ziel-Programmierzustand P1 zu programmieren sind, vorzuprogrammieren, kann eine erste Spannung niederen Pegels auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen, die auf einen ersten Ziel-Programmierzustand P1 zu programmieren sind, verbunden sind, eine zweite Spannung von hohem Pegel kann auf Bit-Leitungen angewendet werden, die mit den andern Multi-Level-Speicherzellen verbunden sind, und der erste One-Shot-Impuls OSP1 kann auf eine ausgewählte Wordline angewendet werden. Danach kann, um die Multi-Level-Speicherzellen, die auf den zweiten Ziel-Programmierzustand P2 zu programmieren sind, vorzuprogrammieren, die erste Spannung auf die Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen verbunden sind, die auf einen zweiten Ziel-Programmierzustand P2 zu programmieren sind, die zweite Spannung kann auf Bit-Leitungen, die mit den anderen Multi-Level-Speicherzellen verbunden sind, angewendet werden, und der zweite One-Shot-Impuls OSP2 kann auf eine ausgewählte Wordline angewendet werden. Um danach die Multi-Level-Speicherzellen vorzuprogrammieren, die auf einem dritten Ziel-Programmierzustand P3 zu programmieren sind, kann die erste Spannung auf Bit-Leitungen angewendet werden, die mit dem Multi-Level-Speicherzellen verbunden sind, die auf den dritten Ziel-Programmierzustand P3 zu programmieren sind, kann die zweite Spannung auf Bit-Leitungen angewendet werden, die mit anderen Multi-Level-Speicherzellen verbunden sind, und der dritte One-Shot-Impuls OSP3 kann auf die ausgewählte Wordline angewendet werden.
  • Ein MSB-Hauptprogrammieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von dem ersten Ziel-Programmierzustand P1, von dem zweiten Ziel-Programmierzustand P2 und von dem dritten Ziel-Programmierzustand P3 gemäß der Multi-Datenmenge aufweist (S350).
  • Bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen können wie oben beschrieben die Breiten der Zielzustände E0, P1, P2 und P3 reduziert werden, da ja das MSB-Vor-Programmieren auf den Multi-Level-Speicherzellen durchgeführt wird, die auf die Ziel-Programmierzustände P1, P2 und P3 zu programmieren sind.
  • 11 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht, und 12 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen, die durch ein Programmierverfahren von 11 programmiert werden, veranschaulicht.
  • Ein LSB-Programmieren kann Bezug nehmend auf die 11 und 12 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen Zwischenzustand IP1 gemäß einem LSB von entsprechender Multi-Bit-Datenmenge aufweist (S410).
  • Nach dem LSB-Programmieren kann ein MSB-Programmieren durchgeführt werden, um MSBs von Multi-Bit-Datenmengen in die Multi-Level-Speicherzellen zu programmieren (S420). Das MSB-Programmieren kann ein MSB-Vor-Programmieren und ein MSB-Hauptprogrammieren aufweisen.
  • Das MSB-Vor-Programmieren kann auf die Multi-Level-Speicherzellen durchgeführt werden, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, indem ein ISPP-Verfahren verwendet wird (S430). Um z. B. die Multi-Level-Speicherzellen auf einen Zwischen-Programmierzustand P3' entsprechend dem höchsten Ziel-Programmierzustand P3 vorzuprogrammieren, kann eine erste Spannung niederen Pegels auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, verbunden sind, eine zweite Spannung von hohem Pegel kann auf Bit-Leitungen angewendet werden, die mit den anderen Multi-Level-Speicherzellen verbunden sind, und ein inkrementeller Stufenimpuls kann auf eine ausgewählte Wordline angewendet werden, Durch die Anwendung einer Vor-Programmier-Prüfspannung VPREVRF auf die ausgewählte Wordline kann geprüft werden, ob die Multi-Level-Speicherzellen korrekt auf den Zwischen-Programmierzustand P3' entsprechend dem höchsten Ziel-Programmierzustand P3 programmiert wurden. Danach kann die erste Spannung wiederum auf die mit den Multi-Level-Speicherzellen verbundenen Bit-Leitungen angewendet werden, die Schwellspannungen aufweisen, die geringer als die Vor-Programmier-Prüfspannung VPREVRF sind, die zweite Spannung kann wiederum auf die mit den anderen Multi-Level-Speicherzellen verbundenen Bit-Leitungen angewendet werden und der inkrementelle Stufenimpuls, der durch eine Sprungspannung erhöht wird, kann wiederum auf die ausgewählte Wordline angewendet werden. Die Vor-Programmier-Prüfspannung VPREVRF kann wiederum auf die ausgewählte Wordline angewendet werden. Auf diese Weise kann das Anwenden des inkrementellen Stufenimpulses und das Anwenden der Vor-Programmier-Prüfspannung VPREVRF wiederholt werden, bis die Schwellspannungen aller Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, gleich oder größer als die Vor-Programmier-Prüfspannung VPREVRF wird. Durch das MSB-Vor-Programmieren des ISPP-Verfahrens können die Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, einen Zwischen-Programmierzustand P3' entsprechend dem höchsten Ziel-Programmierzustand P3 aufweisen.
  • Die Vor-Programmier-Prüfspannung VPREVRF kann entsprechend dem Zwischen-Programmierzustand P3' niederer als eine Prüfspannung VVRF3 entsprechend dem höchsten Ziel-Programmierzustand P3 sein. Bei einigen Ausführungsformen kann ferner ein Spannungspegel eines initialen Stufenimpulses des MSB-Vor-Programmierens niederer als der eines initialen Stufenimpulses eines MSB-Haupt-Programmierens sein.
  • Das MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem ersten Ziel-Programmierzustand P1, von einem zweiten Ziel-Programmierzustand P2 und von dem dritten Ziel-Programmierzustand P3 gemäß der Multi-Bit-Datenmenge aufweist (S450).
  • So wie oben beschrieben, kann bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen eine unerwünschte Schwellspannungsänderung einer Multi-Level-Speicherzelle mit einem Löschungszustand E0 aufgrund von Kopplung oder einer Unterbrechung reduziert werden, da ja das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, und die Breiten der Zielzustände E0, P1, P2 und P3 können reduziert werden.
  • 13 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht, und 14 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 13 programmiert werden.
  • Ein LSB-Programmieren kann Bezug nehmend auf 13 und 14 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S510).
  • Nach dem LSB-Programmieren kann ein MSB-Programmieren durchgeführt werden, um die MSBs der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren (S520). Das MSB-Programmieren kann MSB-Vor-Programmieren und ein MSB-Haupt-Programmieren aufweisen.
  • Das MSB-Vor-Programmieren kann auf die Multi-Level-Speicherzellen durchgeführt werden, die auf Ziel-Programmierzustände P1, P2 und P3 zu programmieren sind, indem ein ISPP-Verfahren verwendet wird (S530). Bei dem MSB-Vor-Programmieren des ISPP-Verfahrens können die Multi-Level-Speicherzellen, die auf einen ersten Ziel-Programmierzustand P1 zu programmieren sind, auf einen Zwischen-Programmierzustand P1' entsprechend dem ersten Ziel-Programmierzustand P1 programmiert werden, die Multi-Level-Speicherzellen, die auf einen zweiten Ziel-Programmierzustand P2 zu programmieren sind, können auf einen Zwischen-Programmierzustand P2' entsprechend dem zweiten Ziel-Programmierzustand P2 programmiert werden und die Multi-Level-Speicherzellen, die auf einen dritten Ziel-Programmierzustand P3 zu programmieren sind, können auf einen Zwischen-Programmierzustand P3' entsprechend dem dritten Ziel-Programmierzustand P3 programmiert werden.
  • Bei einigen Ausführungsformen kann das Vor-Programmieren der Speicherzellen, die auf den ersten bis dritten Ziel-Programmierzustand P1, P2 und P3 zu programmieren sind, gleichzeitig durchgeführt werden. Durch die Anwendung eines einzelnen inkrementellen Stufenimpulses kann z. B. die Vor-Programmierung der Speicherzellen, die auf den ersten bis dritten Ziel-Programmierzustand P1, P2 und P3 zu programmieren sind, durchgeführt werden. Ferner kann das MSB-Vor-Programmieren des ISPP-Verfahrens einen Prüfsprung aufweisen, der eine erste bis dritte Vor-Programmier-Prüfspannung VPREVRF1, VPREVRF2 und VPREVRF3 verwendet. Folglich können durch das MSB-Vor-Programmieren Schwellspannungen der Multi-Level-Speicherzellen, die auf den ersten Ziel-Programmierzustand P1 zu programmieren sind, gleich oder größer als die erste Vor-Programmier-Prüfspannung VPREVRF1 werden, Schwellspannungen der Multi-Level-Speicherzellen, die auf den zweiten Ziel-Programmierzustand P2 zu programmieren sind, können gleich oder größer als die zweite Vor-Programmier-Prüfspannung VPREVRF2 werden, und Schwellspannungen der Multi-Level-Speicherzellen, die auf den dritten Ziel-Programmierzustand P3 zu programmieren sind, können gleich oder größer als die dritte Vor-Programmier-Prüfspannung VPREVRF3 werden.
  • Bei einigen Ausführungsformen können die erste bis dritte Vor-Programmier-Prüfspannung VPREVRF1, VPREVRF2 und VPREVRF3 entsprechend den Zwischen-Programmierzuständen P1', P2' und P3' geringer als die erste bis dritte Prüfspannung VVRF1, VVRF2 und VVRF3 jeweils entsprechend dem ersten bis dritten Ziel-Programmierzustand P1, P2 und P3 sein. Bei einigen Ausführungsformen kann ferner ein Spannungspegel eines initialen Stufenimpulses eines MSB-Vor-Programmierens niederer als ein initialer Stufenimpuls eines MSB-Haupt-Programmierens sein.
  • Das MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, vo dem ersten Ziel-Programmierzustand P1, von dem zweiten Ziel-Programmierzustand P2 und von dem dritten Ziel-Programmierzustand P3 gemäß der Multi-Bit-Datenmenge aufweist (S550).
  • Sowie oben bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen beschrieben, können die Breiten der Zielzustände E0, P1, P2 und P3 reduziert werden, da ja das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird, die auf die Ziel-Programmierzustände P1, P2 und P3 zu programmieren sind.
  • 15 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht, und 16 ist ein Diagramm, das ein Beispiel von Schwellspannungsaufteilungen von Multi-Level-Speicherzellen veranschaulicht, die durch ein Programmierverfahren von 15 programmiert werden.
  • Ein LSB-Programmieren kann Bezug nehmend auf 15 und 16 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen Zwischenzustand IP1 gemäß einem LSB der entsprechenden Multi-Bit-Datenmenge aufweist (S610).
  • Nach dem LSB-Programmieren kann ein MSB-Programmieren durchgeführt werden, um MSBs der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren (S620). Das MSB-Programmieren kann ein MSB-Vor-Programmieren und ein MSB-Hauptprogrammieren aufweisen.
  • Das MSB-Vor-Programmieren kann einen ersten Vor-Programmier-Schritt (S631), einen Teilschritt (S633), und einen zweiten Vor-Programmier-Schritt (S635) aufweisen. Während des ersten Vor-Programmier-Schritts können die Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, auf einen ersten Zwischen-Programmierzustand P3'' entsprechend des höchsten Ziel-Programmierzustands P3 vorprogrammiert werden, indem ein erster One-Shot-Impuls OSP1 auf die Multi-Level-Speicherzellen angewendet wird, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind (S631). Um z. B. die Multi-Level-Speicherzellen auf den ersten Zwischen-Programmierzustand P3'' entsprechend dem höchsten Ziel-Programmierzustand P3 vorzuprogrammieren, kann eine erste Spannung niederen Pegels auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, verbunden sind, eine zweite Spannung von hohem Pegel kann auf Bit-Leitungen angewendet werden, die mit den anderen Multi-Level-Speicherzellen verbunden sind, und der erste One-Shot-Impuls OSP1 kann auf eine ausgewählte Wordline angewendet werden.
  • Während des Teilschritts kann der erste Zwischen-Programmierzustand P3'' in eine Mehrzahl von Bereichen S1, S2 und S3 durch die Anwendung mindestens einer Teilspannung V1 und V2 auf die Multi-Level-Speicherzellen 661, 662 und 663 aufgeteilt werden, die auf den ersten Zwischen-Programmierzustand P3'' programmiert werden (S633). Die mindestens eine Teilspannung V1 und V2 kann z. B. eine erste Teilspannung V1 und eine zweite Teilspannung V2 aufweisen und der erste Zwischen-Programmierzustand P3'' kann in einen ersten Bereich S1 mit Schwellspannungen kleiner als die erste Teilspannung V1, in einen zweiten Bereich S2 mit Schwellspannungen zwischen der ersten Teilspannung V1 und der zweiten Teilspannung V2, und in einen dritten Bereich S3 mit Schwellspannungen höher als die zweite Teilspannung V2 aufgeteilt werden. Durch aufeinander folgende Anwendung der ersten Teilspannung V1 und der zweiten Teilspannung V2 auf die ausgewählte Wordline, kann festgelegt werden, welcher des ersten bis dritten Bereiche S1, S2 und S3 in jeder Multi-Level-Speicherzelle 661, 662 und 663, die auf den ersten Zwischen-Programmierzustand P3'' vorprogrammiert sind, vorhanden ist.
  • Während des zweiten Vor-Programmier-Schritts können die Mulit-Level-Speicherzellen, die auf den ersten Zwischen-Programmierzustand P3'' vorprogrammiert sind, ferner auf einen zweiten Zwischen-Programmierzustand P3' vorprogrammiert werden, der enger als der erste Zwischen-Programmierzustand P3'' durch die Zunahme von Schwellspannungen der Multi-Level-Speicherzellen durch unterschiedliche Spannungspegel gemäß der Mehrzahl von Bereichen S1, S2 und S3 ist (S635). Um z. B. ferner die Multi-Level-Speicherzellen auf den zweiten Zwischen-Programmierzustand P3' vorzuprogrammieren, kann die erste Spannung von niederem Pegel auf Bit-Leitungen angewendet werden, die mit Multi-Level-Speicherzellen 661 in dem ersten Bereich S1 verbunden sind, eine Anregungsspannung kann auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen 662 in dem zweiten Bereich S2 verbunden sind, die zweite Spannung von hohem Pegel kann auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen 663 in dem dritten Bereich S3 und mit den anderen Multi-Level-Speicherzellen verbunden sind, und ein zweiter One-Shot-Impuls OSP2 kann auf die ausgewählte Wordline angewendet werden. Die erste Spannung von niederem Pegel kann z. B. eine niedrige Spannungsversorgung oder eine Massenspannung sein, die zweite Spannung von hohem Pegel kann eine hohe Spannungsversorgung sein, und die Anregungsspannung kann höher als die erste Spannung und niedriger als die zweite Spannung sein. Bei einigen Ausführungsformen kann die Anregungsspannung einen Spannungspegel entsprechend einer Spannungspegeldifferenz zwischen der ersten Spannung V1, zur Trennung des ersten Bereichs S1 und des zweiten Bereichs S2, und die zweite Spannung V2, zur Trennung des zweiten Bereichs S2 und des dritten Bereichs S3, aufweisen. Durch die Anregungsspannung können Kanalspannungen der Multi-Level-Speicherzellen 662 in dem zweiten Bereich S2 erhöht werden und folglich kann ein effektiver Spannungspegel des zweiten One-Shot-Impulses OSP2 für die Multi-Level-Speicherzellen 662 in dem zweiten Bereich S2 verringert werden. Demgemäß können die Zunahmen der Schwellspannungen der Multi-Level-Speicherzellen 662 in dem zweiten Bereich S2 kleiner als diejenigen der Multi-Level-Speicherzellen 661 in dem ersten Bereich S1 sein. Da ferner die zweite Spannung von hohem Pegel auf die Bit-Leitungen angewendet wird, die mit den Multi-Level-Speicherzellen 663 in dem dritten Bereich S3 verbunden sind, können Schwellspannungen der Multi-Level-Speicherzellen 663 in dem dritten Bereich S3 nicht erhöht werden.
  • Wie oben beschrieben kann das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen 661, 662 und 663 durchgeführt werden, die auf den höchsten Ziel-Programmierzustand P3 durch Anwendung des ersten One-Shot-Impulses OSP1, durch Teilung in eine Mehrzahl von Bereichen S1, S2 und S3, und durch die Anwendung des zweiten One-Shot-Impulses OSP2 zu programmieren sind (S630). Da ja die Schwellspannungen der Multi-Level-Speicherzellen 661, 662 und 663 durch unterschiedliche Spannungspegel gemäß der Mehrzahl von Bereichen S1, S2 und S3 erhöht werden, können die Multi-Level-Speicherzellen 661, 662 und 663 auf den zweiten Zwischen-Programmierzustand P3' mit einer geringeren Breite vorprogrammiert werden.
  • Das MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von einem ersten Ziel-Programmierzustand P1, von einem zweiten Ziel-Programmierzustand P2 und von einem dritten Ziel-Programmierzustand P3 gemäß der Multi-Bit-Datenmenge aufweist (S650).
  • Wie oben beschrieben kann bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen eine unerwünschte Schwellspannungsänderung einer Multi-Level-Speicherzelle mit dem Löschungszustand E0 aufgrund von Kopplung oder einer Unterbrechung reduziert werden, da ja das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen, die auf den höchsten Ziel-Programmierzustand P3 zu programmieren sind, durchgeführt wird und die Breiten der Zielzustände E0, P1, P2 und P3 können reduziert werden.
  • 17 ist ein Ablaufdiagramm, das ein Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht und 18 ist ein Diagramm, das ein Beispiel einer Schwellspannungsaufteilung von Multi-Level-Speicherzellen, die durch ein Programmierverfahren von 17 programmiert werden, veranschaulicht.
  • Ein LSB-Programmieren kann Bezug nehmend auf 17 und 18 derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen Löschungszustand E0 oder einen Zwischenzustand IP1 gemäß einem LSB von der entsprechenden Multi-Bit-Datenmenge aufweist (S710).
  • Nach dem LSB-Programmieren kann ein MSB-Programmieren durchgeführt werden, um MSBs von der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen zu programmieren (S720). Das MSB-Programmieren kann ein MSB-Vor-Programmieren und ein MSB-Haupt-Programmieren aufweisen.
  • Das MSB-Vor-Programmieren kann einen ersten Vor-Programmier-Schritt (S731), einen Teilschritt (S733) und einen zweiten Vor-Programmier-Schritt (S735) aufweisen. Währen des ersten Vor-Programmier-Schritts können die Multi-Level-Speicherzellen auf die ersten Zwischen-Programmierschritte P1'', P2'' und P3'' entsprechend den Ziel-Programmierzuständen P1, P2 und P3 durch das Anwenden einer ersten Mehrzahl von One-Shot-Impulsen OSP1_1, OSP1_2 und OSP1_3 auf die Multi-Level-Speicherzellen vorprogrammiert werden (S731). Die ersten One-Shot-Impulse OSP1_1, OSP1_2 und OSP1_3 können unterschiedliche Spannungspegel aufweisen und können der Reihe nach auf eine ausgewählte Wordline angewendet werden.
  • Während des Teilungsschritts kann jeder erste Zwischen-Programmierschritt P1'', P2'' und P3'' in eine Mehrzahl von Bereichen unterteilt werden (S733). Ein erster Zwischen-Programmierzustand P1'' kann z. B. entsprechend einem ersten Ziel-Programmierzustand P1 in drei Bereiche eingeteilt werden, indem erste und zweite Teilspannungen V1_1 und V2_1 verwendet werden, ein anderer erster Zwischen-Programmierzustand P2'' entsprechend einem zweiten Ziel-Programmierzustand P2 kann durch den Einsatz dritter und vierter Teilspannungen V1_2 und V2_2 in drei Bereiche eingeteilt werden, und der andere erste Zwischen-Programmierzustand P3'' kann entsprechend einem dritten Ziel-Programmierzustand P3 durch den Einsatz einer fünften und sechsten Teilspannung V1_3 und V2_3 eingeteilt werden.
  • Während des zweiten Vor-Programmier-Schritts können die Multi-Level-Speicherzellen, die auf erste Zwischen-Programmierzustände P1'' und P2'' und P3'' vorprogrammiert werden, ferner auf zweite Zwischen-Programmierzustände P1', P2' und P3' jeweils enger als die ersten Zwischen-Programmierzustände P1'', P2'' und P3'' durch zunehmende Schwellspannungen der Multi-Level-Speicherzellen durch unterschiedliche Spannungspegel gemäß der Mehrzahl von Bereichen vorprogrammiert werden (S735). Eine erste Spannung von niederem Pegel kann z. B. auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen in dem ersten Bereich der ersten Zwischen-Programmierzustände P1'', P2'' und P3'' verbunden sind, eine Anregungsspannung kann auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen im zweiten Bereich der ersten Zwischen-Programmierzustände P1'', P2'' und P3'' verbunden sind, und eine zweite Spannung von hohem Pegel kann auf Bit-Leitungen angewendet werden, die mit den Multi-Level-Speicherzellen in dem dritten Bereich der ersten Zwischen-Programmierzustände P1'' und P2'' und P3'' verbunden sind. Ferner kann eine zweite Mehrzahl von One-Shot-Impulsen OSP2_1, OSP2_2 und OSP2_3 mit unterschiedlichen Spannungspegeln der Reihe nach auf die ausgewählte Wordline angewendet werden. Zunahmen von Schwellspannungen von Multi-Level-Speicherzellen in den zweiten Bereichen der ersten Zwischen-Programmierzustände P1'', P2'' und P3'' können jeweils kleiner als die der Multi-Level-Speicherzellen in dem ersten Bereichen S1 der ersten Zwischen-Programmierzustände P1'', P2'' und P3'' sein. Ferner können Schwellspannungen von den Multi-Level-Speicherzellen in den dritten Bereichen S3 der ersten Zwischen-Programmierzustände P1'', P2'' und P3'' nicht erhöht werden.
  • Das MSB-Vor-Programmieren kann wie oben beschrieben auf die Multi-Level-Speicherzellen durch die Anwendung der ersten One-Shot-Impulse OSP1_1, OSP1_2 und OSP1_3 durch Teilung jedes ersten Zwischen-Programmierzustands P1'', P2'' und P3'' in eine Mehrzahl von Bereichen und durch Anwendung der zweiten One-Shot-Impulse OSP2_1, OSP2_2 und OSP2_3 durchgeführt werden (S730). In Bezug auf jeden ersten Zwischen-Programmierzustand P1'', P2'' und P3'' werden die Schwellspannungen der Multi-Level-Speicherzellen durch unterschiedliche Spannungspegel gemäß der Mehrzahl von Bereichen erhöht und die Multi-Level-Speicherzellen können folglich auf die zweiten Zwischen-Programmierzustände P1', P2' und P3' mit engeren Breiten vorprogrammiert werden.
  • Das MSB-Haupt-Programmieren kann derart durchgeführt werden, dass jede Multi-Level-Speicherzelle einen von dem Löschungszustand E0, von dem ersten Ziel-Programmierzustand P1, von dem zweiten Ziel-Programmierzustand P2 und von dem dritten Ziel-Programmierzustand P3 gemäß der Multi-Bit-Datenmenge aufweist (S750).
  • Bei einem Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung gemäß beispielhaften Ausführungsformen können wie oben beschrieben Breiten der Zielzustände E0, P1, P2 und P3 reduziert werden, da ja das MSB-Vor-Programmieren auf die Multi-Level-Speicherzellen durchgeführt wird.
  • Obwohl die 7 bis 18 Beispiele veranschaulichen, bei denen Multi-Level-Speicherzellen zwei Datenbits speichern, kann das Programmierverfahren gemäß beispielhaften Ausführungsformen auch auf Multi-Level-Speicherzellen angewendet werden, die drei oder mehr Datenbits speichern.
  • 19 ist ein Diagramm zur Beschreibung einer Programmierreihenfolge von Zeilen von Multi-Level-Speicherzellen gemäß beispielhaften Ausführungsformen, Nachdem ein LSB-Programmieren auf mit der nächsten Wordline (z. B. eine Wordline, die angrenzend an eine aktuelle Wordline ist) verbundene Multi-Level-Speicherzellen Bezug nehmend auf 19 durchgeführt wird, kann ein MSB-Programmieren auf Multi-Level-Speicherzellen, die mit der aktuellen Wordline verbunden werden, durchgeführt werden.
  • Ein LSB-Programmieren kann z. B. für eine erste Wordline WL1 durchgeführt werden und anschließend kann ein LSB-Programmieren für eine zweite Wordline WL2 durchgeführt werden. Danach kann ein MSB-Programmieren für die erste Wordline WL2 durchgeführt werden. Jedes LSB-Programmieren und/oder jedes MSB-Programmieren kann ein Vor-Programmieren und ein Hauptprogrammieren aufweisen. Bei einigen Ausführungsformen kann das Vor-Programmieren und das Hauptprogrammieren in einem Betrieb durchgeführt werden. Gleichermaßen kann, nachdem ein LSB-Programmieren für eine dritte Wordline WL3 durchgeführt wird, ein MSB-Programmieren für die zweite Wordline WL2 durchgeführt werden.
  • Da ja ein MSB-Programmieren wie oben beschrieben für eine aktuelle Wordline nach einem LSB-Programmieren für die nächste Wordline durchgeführt wird, kommt es zu einer Reduzierung der Wordline-Kopplung.
  • 20 ist ein Blockdiagramm, das eine nicht-flüchtige Speichervorrichtung gemäß beispielhaften Ausführungsformen veranschaulicht.
  • Eine nicht-flüchtige Speichervorrichtung 800 weist Bezug nehmend auf 20 einen Speicherzellenbereich 810, eine Seitenpuffervorrichtung 820, eine Zeilen-Decoder 830, einen Spannungsgenerator 840 und eine Steuerungsschaltung 850 auf.
  • Der Speicherzellenbereich 810 kann Multi-Level-Speicherzellen aufweisen, die mit einer Mehrzahl von Wordlines und einer Mehrzahl von Bit-Leitungen verbunden sind. Jede Multi-Level-Speicherzelle kann eine Multi-Bit-Datenmenge mit mindestens zwei Bits speichern. Die nicht-flüchtige Speichervorrichtung 800 kann derart konfiguriert sein, dass sie die Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen programmiert, indem z. B. irgendeines der Programmierverfahren, die oben in Bezug auf die 1 bis 19 behandelt wurden, verwendet wird.
  • Ein Programmierbetrieb für die Multi-Level-Speicherzellen kann ein LSB-Programmieren und ein MSB-Programmieren aufweisen. Das MSB-Programmieren kann ein Vor-Programmieren und ein Haupt-Programmieren aufweisen. Das Vor-Programmieren kann auf Multi-Level-Speicherzellen durchgeführt werden, die auf mindestens einen Programmierzustand zu programmieren sind. Das Vor-Programmieren kann z. B. auf Multi-Level-Speicherzellen durchgeführt werden, die auf den höchsten Ziel-Programmierzustand zu programmieren sind, oder kann auf Multi-Level-Speicherzellen durchgeführt werden, die auf alle Programmierzustände zu programmieren sind. Gemäß beispielhaften Ausführungsformen kann das Vor-Programmieren durch die Verwendung eines One-Shot-Impulses, durch den Einsatz eines ISPP oder durch Zunahme der Schwellspannungen gemäß einer Mehrzahl von Bereichen durchgeführt werden. Folglich können bei einem Programmierverfahren gemäß beispielhaften Ausführungsformen folglich die jeweiligen Zielzustände reduziert werden.
  • Die Seitenpuffervorrichtung 820 kann als Schreibe-Treiber oder Leseverstärker gemäß den Betriebsarten arbeiten. Die Seitenpuffervorrichtung 820 kann in einem Lesebetrieb als die Leseverstärker arbeiten, und kann in einer Schreibe-Betrieb als die Schreibe-Treiber arbeiten. Die Seitenpuffervorrichtung 820 kann Seitenpuffer aufweisen, die zwischen die Bitleitungen zwischengeschaltet sind und zeitweise die Multi-Bit-Datenmenge speichern. Jeder Seitenpuffer kann aufweisen, dass er mit der entsprechenden Bit-Leitung verbunden ist. Die Seitenpuffer können Datenspeicher-Latches aufweisen, die zeitweilig die Multi-Bit-Datenmenge speichern.
  • Der Zeilen-Decoder 830 kann eine Wordline als Antwort auf eine Zeilen-Adresse auswählen. Der Zeilen-Decoder 830 kann Wordline-Spannungen von dem Spannungsgenerator 840 auf ausgewählte und nicht-ausgewählte Wordlines anwenden. Während eines Programmierbetriebs kann der Zeilen-Decoder 830 eine Programmierspannung auf die ausgewählte Wordline anwenden, und kann eine Durchlassspannung auf die nicht-ausgewählten Wordlines anwenden.
  • Der Spannungsgenerator 840 kann durch die Steuerungsschaltung 850 gesteuert werden, um die Wordline-Spannungen zu erzeugen, wie z. B. die Programmierspannung, die Durchlassspannung, eine Vor-Programmier-Prüfspannung, eine Prüfspannung, eine Lese-Spannung, etc.
  • Die Steuerungsschaltung 850 kann die Seitenpuffervorrichtung 820, den Zeilen-Decoder 830 und den Spannungsgenerator 840 steuern, die Multi-Bit-Datenmenge in den Speicherzellenbereich 810 zu programmieren. Die Steuereinheit 850 kann die Seitenpuffervorrichtung 820, den Zeilen-Decoder 830 und den Spannungsgenerator 840 steuern, um das LSB-Programmieren, das MSB-Vor-Programmieren und das MSB-Haupt-Programmieren durchzuführen. Während des Programmierbetriebs kann z. B. die Steuerungsschaltung 850 den Zeilen-Decoder 830 und den Spannungsgenerator 840 steuern, um den One-Shot-Impuls, den inkrementellen Stufenimpuls, die Vor-Programmier-Prüfspannung oder die Prüfspannung auf die ausgewählte Wordline anzuwenden.
  • Die nicht-flüchtige Speichervorrichtung 800 gemäß beispielhaften Ausführungsformen kann ein Vor-Programmieren für mindestens einen Programmierzustand durchführen. Entsprechend können die Multi-Level-Speicherzellen der nicht-flüchtigen Speichervorrichtung 800 gemäß beispielhaften Ausführungsformen auf Ziel-Programmierzustände mit engeren Breiten programmiert werden.
  • 21 ist ein Blockdiagramm, das ein Speichersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
  • Ein Speichersystem 900 weist Bezug nehmend auf 21 eine Speichersteuereinheit 910 und eine nicht-flüchtige Speichervorrichtung 920 auf.
  • Die nicht-flüchtige Speichervorrichtung 920 weist einen Speicherzellenbereich 921 und eine Seitenpuffervorrichtung 922 auf. Die Seitenpuffervorrichtung 922 kann Seitenpuffer aufweisen, die mit Bit-Leitungen verbunden sind und zeitweilig eine Multi-Bit-Datenmenge speichern. Der Speicherzellenbereich 921 kann Multi-Level-Speicherzellen aufweisen, die mit Wordlines und den Bit-Leitungen verbunden sind. Die Speichersteuereinheit 910 und eine nicht-flüchtige Speichervorrichtung 920 können derart eingestellt sein, Multi-Level-Speicherzellen zu programmieren, so dass sie engere Schwellspannungsaufteilungen durch ein LSB-Programmieren, ein Vor-Programmieren und ein Haupt-Programmieren gemäß z. B. jedem der Abläufe, die oben mit Bezug auf die 1 bis 19 behandelt wurden, aufzuweisen.
  • 22 ist ein Blockdiagramm, das eine Speicherkarte mit Speichersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
  • Eine Speicherkarte 1000 kann Bezug nehmend auf 22 eine Speichersteuereinheit 1020 und eine nicht-flüchtige Speichervorrichtung 1030 aufweisen. Die Speichersteuereinheit 1020 kann z. B. die Speichersteuereinheit 910 sein, die oben mit Bezug auf 20 behandelt wurde. Die nicht-flüchtige Speichervorrichtung 1030 kann z. B. die nicht-flüchtige Speichervorrichtung 920 sein, die oben mit Bezug auf 20 behandelt wurde.
  • Bei einigen Ausführungsformen kann das Speichersystem 1000 als eine Speicherkarte, wie z. B. eine Multimedia-Karte (MMC), eine embedded Multimedia-Karte (eMMC), eine hybride embedded Multimedia-Karte (hybrid eMMC), eine sichere digitale (SD) Karte, eine Mikro-SD-Karte, ein Speicher-Stick, eine ID-Karte, eine Personal-Computer-Speicherkarte International Association (PCMCIA) Karte, eine Chip-Karte, eine USB-Karte, eine Smart-Karte, eine Kompakt-Flash-(CF)-Karte, etc. ausgeführt werden.
  • Bei einigen Ausführungsformen kann das Speichersystem 1000 mit einem Host, wie z. B. einem Desktopcomputer, einem Laptopcomputer, einem Mobiltelefon, einem Smarttelefon, einem Musikspieler, einem persönlichen digitalen Assistenten (PDA), einem tragbaren Multimediaspieler (PMP), einem digitalen Fernsehen, einer Digitalkamera, einer tragbaren Spiel-Konsole, etc. verbunden sein.
  • 23 ist ein Diagramm, das ein Festkörperlaufwerk mit einem Speichersystem gemäß beispielhaften Ausführungsformen aufweist.
  • Ein Speichersystem 1100 weist Bezug nehmend auf 23 eine Speichersteuereinheit 1110 und eine Mehrzahl von nicht-flüchtigen Speichervorrichtungen 1120 auf. Bei einigen Ausführungsformen kann das Speichersystem 1100 ein Festkörperlaufwerk (SSD) sein.
  • Die Speichersteuereinheit 1110 kann Daten von einem Host (nicht dargestellt) empfangen. Die Speichersteuereinheit 1110 kann die empfangenen Daten in einer Mehrzahl von nicht-flüchtigen Speichervorrichtungen 1120 speichern.
  • Die Mehrzahl von nicht-flüchtigen Speichervorrichtungen 1120 kann Multi-Level-Speicherzellen aufweisen. Die Multi-Level-Speicherzellen können derart programmiert werden, dass sie engere Schwellspannungsaufteilungen durch ein LSB-Programmieren, ein Vor-Programmieren und ein Haupt-Programmieren aufweisen.
  • Bei einigen Ausführungsformen kann das Speichersystem 1100 mit dem Host, wie z. B. einer mobilen Vorrichtung, einem mobilen Telefon, einem Smart-Telefon, einem PDA, einem PMP, einer Digitalkamera, einer tragbaren Spiel-Konsole, einem Musikspieler, einem Desktopcomputer, einem Notebookcomputer, einem Lautsprecher, einem Video, einem digitalen Fernsehen, etc. verbunden sein.
  • Die Speichersteuereinheit 1110 kann z. B. die Speichersteuereinheit 910 sein, die oben mit Bezug auf 20 behandelt wurde. Jede oder alle der nicht-flüchtigen Speichervorrichtungen 1120 kann z. B. die nicht-flüchtige Speichervorrichtung 920, die oben in Bezug auf 20 behandelt wurde, sein.
  • 24 ist ein Diagramm, das ein Computersystem gemäß beispielhaften Ausführungsformen veranschaulicht.
  • Ein Computersystem 1200 weist in Bezug auf 24 einen Prozessor 1210, einen Speicher 1220, eine Benutzerschnittstelle 1230 und das Speichersystem 900 auf, das oben in Bezug auf 20 behandelt wurde. Bei einigen Ausführungsformen kann das Computersystem 1200 ferner ein Modem 1240, wie z. B. einen Base-Band-Chipsatz aufweisen.
  • Der Prozessor 1210 kann zahlreiche Rechenfunktionen wie z. B. die Ausführung besonderer Software zur Durchführung besonderer Berechnungen oder Aufgaben durchführen. Der Prozessor 1210 kann z. B. ein Mikroprozessor, eine zentrale Recheneinheit (CPU), ein digitaler Signalprozessor oder ähnliches sein. Der Prozessor 1210 kann mit dem Speicher 1220 über einen Bus 1250 wie z. B. einen Adressbus, einen Steuerbus und/oder einen Datenbus verbunden sein. Der Speicher 1220 kann z. B. von einem DRAM, einem mobilen DRAM, einem SRAM, einem PRAM, einem FRAM, einem RRAM, einem MRAM und/oder einem Flash-Speicher realisiert werden. Der Prozessor 1210 kann ferner mit einem Erweiterungsbus wie z. B. einem Peripheral-Component-Interconnect-(PCI)-Bus verbunden sein, und kann die Benutzeroberfläche 1230 steuern, die mindestens ein Eingabemedium wie z. B. eine Tastatur, eine Maus, ein Touchscreen, etc. und mindestens ein Ausgabemedium, einen Drucker, eine Bildschirmvorrichtung, etc. aufweisen. Das Modem 1240 kann kabelgebundene oder kabellose Kommunikation mit einem externen Medium durchführen. Die nicht-flüchtige Speichervorrichtung 920 kann durch eine Speichersteuereinheit 910 gesteuert werden, um Daten zu speichern, die von dem Prozessor 1210 abgearbeitet werden oder Daten, die über das Modem 1240 empfangen werden. Bei einigen Ausführungsformen kann das Computersystem 1200 ferner eine Spannungsversorgung, einen Anwendungs-Chipsatz, einen Kamerabildprozessor (CIS), etc. aufweisen.
  • Die nicht-flüchtigen Speichervorrichtungen 920 können Multi-Level-Speicherzellen aufweisen. Die Multi-Level-Speicherzellen können derart programmiert werden, dass sie engere Schwellspannungsaufteilungen durch ein LSB-Programmieren, ein VorProgrammieren und ein Haupt-Programmieren aufweisen.
  • Mindestens einige beispielhafte Ausführungsformen können auf jede nicht-flüchtige Speichervorrichtung mit Multi-Level-Speicherzellen, und Vorrichtungen und Systeme mit der nicht-flüchtigen Speichervorrichtung angewendet werden. Z. B. können mindestens einige beispielhafte Ausführungsformen auf verschiedene elektronische Vorrichtungen, wie z. B. eine Speicherkarte, ein Festkörperlaufwerk, ein Dcsktopcomputer, ein Laptopcomputer, ein Mobiltelefon, ein Smarttelefon, ein Musikspieler, ein PDA, ein PMP, ein Digitalfernseher, eine Digitalkamera, eine tragbare Spiel-Konsole, etc. angewendet werden.
  • Beispielhafte Ausführungsformen sind somit beschrieben worden und es wird klar, dass das Gleiche in verschiedenster Weise variiert werden kann. Derartige Abweichungen werden nicht als ein Abweichen von dem beabsichtigten Geist und Umfang beispielhafter Ausführungsformen betrachtet und alle derartige Veränderungen, die dem Fachmann offensichtlich erscheinen würden, sind dafür bestimmt innerhalb des Umfangs von den folgenden Ansprüche zu liegen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 2010-0138502 [0001]

Claims (17)

  1. Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung mit einer Mehrzahl von Multi-Level-Speicherzellen, die eine Multi-Bit-Datenmenge speichern, die Methode weist auf: Durchführen eines niederwertigsten Bit-(LSB)-Programmierbetriebs (S110), der LSBs der Multi-Bit-Datenmenge in die Mehrzahl von Multi-Level-Speicherzellen programmiert; und Durchführen eines höchstwertigsten Bit-(MSB)-Programmierbetriebs, der MSBs von der Multi-Bit-Datenmenge in die Mehrzahl von Multi-Level-Speicherzellen programmiert, wobei die Durchführung des MSB-Programmierbetriebs aufweist Durchführen eines MSB-Vor-Programmierbetriebs (S130) auf die ersten Multi-Level-Speicherzellen aus der Mehrzahl von Multi-Level-Speicherzellen, die auf einen höchsten Ziel-Programmierzustand unter einer Mehrzahl von Ziel-Programmierzuständen zu programmieren sind; und Durchführen eines MSB-Haupt-Programmierbetriebs (S150), der die Mehrzahl von Multi-Level-Speicherzellen auf die Mehrzahl von Ziel-Programmierzuständen entsprechend der Multi-Bit-Datenmenge programmiert.
  2. Verfahren nach Anspruch 1, wobei die Durchführung des MSB-Vor-Programmierbetriebs aufweist: Programmieren der ersten Multi-Level-Speicherzellen auf einen Zwischen-Programmierzustand entsprechend dem höchsten Ziel-Programmierzustand durch die Anwendung eines One-Shot-Impulses auf die ersten Multi-Level-Speicherzellen (S330).
  3. Verfahren nach Anspruch 1, wobei die Durchführung des MSB-Vor-Programmierbetriebs aufweist: Anwenden eines inkrementellen Stufenimpulses auf die ersten Multi-Level-Speicherzellen; und Anwenden einer Vor-Programmierprüfspannung auf die ersten Multi-Level-Speicherzellen, um zu überprüfen, ob die ersten Multi-Level-Speicherzellen auf einen Zwischen-Programmierzustand entsprechend dem höchsten Ziel-Programmierzustand programmiert sind (S430).
  4. Verfahren nach Anspruch 1, wobei die Durchführung des MSB-Vor-Programmierbetriebs aufweist: Programmieren der ersten Multi-Level-Speicherzellen auf einen ersten Zwischen-Programmierzustand entsprechend dem höchsten Ziel-Programmierzustand (S631); Aufteilen des ersten Zwischen-Programmierzustands in eine Mehrzahl von Bereichen (S633); und Programmieren der ersten Multi-Level-Speicherzellen auf einen zweiten Zwischen-Programmierzustand, der enger als der erste Zwischen-Programmierzustand ist, durch eine Erhöhung einer Schwellspannung der ersten Multi-Level-Speicherzelle für jede der ersten Multi-Level-Speicherzellen durch eine von einer Mehrzahl von unterschiedlichen Spannungswerten, auf Grund welcher der Mehrzahl von Bereichen die erste Multi-Level-Speicherzelle entspricht (S635).
  5. Verfahren nach Anspruch 4, wobei das Programmieren der ersten Multi-Level-Speicherzellen auf den ersten Zwischen-Programmierzustand aufweist: Anwenden eines ersten One-Shot-Impulses auf die ersten Multi-Level-Speicherzellen.
  6. Verfahren nach Anspruch 4, wobei das Aufteilen des ersten Zwischen-Programmierzustands in eine Mehrzahl von Bereichen aufweist: Anwenden von mindestens einer Teilspannung auf die ersten Multi-Level-Speicherzellen, um festzustellen, welche in welcher von einer Mehrzahl von Bereichen jede erste Multi-Level-Speicherzelle vorliegt.
  7. Verfahren nach Anspruch 4, wobei die Mehrzahl der Bereiche einen ersten Bereich, einen zweiten Bereich und einen dritten Bereich aufweist, und wobei das Programmieren der ersten Multi-Level-Speicherzellen auf den zweiten Zwischen-Programmierzustand die Anwendung einer ersten Spannung mit niederem Wert auf die mit den ersten Multi-Level-Speicherzellen in dem ersten Bereich verbundenen Bit-Leitungen aufweist; Anwenden einer Anregungsspannung auf mit den ersten Multi-Level-Speicherzellen in dem zweiten Bereich verbundene Bit-Leitungen; Anwenden einer zweiten Spannung von hohem Wert auf mit den ersten Multi-Level-Speicherzellen in dem dritten Bereich verbundene Bit-Leitungen; und Anwenden eines zweiten One-Shot-Impulses auf eine ausgewählte mit den ersten Multi-Level-Speicherzellen verbundene Wordline.
  8. Verfahren nach Anspruch 7, wobei die erste Spannung eine Niederleistungsversorgungsspannung ist, die zweite Spannung eine Hochleistungsversorgungsspannung ist, und die Anregungsspannung einen Spannungspegel aufweist, der größer ist als der der ersten Spannung und niederer ist als der der zweiten Spannung.
  9. Verfahren nach Anspruch 7, wobei der zweite One-Shot-Impuls derart auf die ausgewählte Wordline aufgebracht wird, dass Schwellspannungen der ersten Multi-Level-Speicherzellen in dem dritten Bereich nicht wesentlich erhöht werden, und die Zunahmen der Schwellspannungen der ersten Multi-Level-Speicherzellen in dem zweiten Bereich kleiner als die Zunahmen der Schwellspannungen der ersten Multi-Level-Speicherzellen in dem ersten Bereich sind.
  10. Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung mit einer Mehrzahl von Multi-Level-Speicherzellen, die eine Multi-Bit-Datenmenge speichern, das Verfahren weist auf: Durchführen eines niederwertigsten Bit-(LSB)-Programmierbetriebs, der LSBs der Multi-Bit-Datenmenge in die Mehrzahl von Multi-Level-Speicherzellen programmiert; und Durchführen eines höchstwertigsten Bit-(MSB)-Programmierbetriebs, der MSBs der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen programmiert, wobei die Durchführung des MSB-Programmierbetriebs die Durchführung eines MSB-Vor-Programmierbetriebs auf erste Multi-Level-Speicherzellen unter der Mehrzahl von Multi-Level-Speicherzellen aufweist, die auf mindestens einen Ziel-Programmierzustand unter einer Mehrzahl von Ziel-Programmierzuständen zu programmieren sind; und Durchführen eines MSB-Haupt-Programmierbetriebs, der die Mehrzahl von Multi-Level-Speicherzellen auf die Mehrzahl von Ziel-Programmierzustände entsprechend der Multi-Bit-Datenmenge programmiert.
  11. Verfahren nach Anspruch 10, wobei der mindestens eine Ziel-Programmierzustand einen höchsten Ziel-Programmierzustand unter der Mehrzahl von Ziel-Programmierzuständen aufweist.
  12. Verfahren nach Anspruch 10, wobei der mindestens eine Ziel-Programmierzustand alle der Mehrzahl von Ziel-Programmierzuständen aufweist.
  13. Verfahren nach Anspruch 12, wobei die Durchführung des MSB-Vor-Programmierbetriebs aufweist: Programmieren der Mehrzahl von Mulit-Level-Speicherzellen zu einer Mehrzahl von Zwischen-Programmierzuständen entsprechend der Mehrzahl von Ziel-Programmierzuständen durch eine aufeinander folgende Anwendung einer Mehrzahl von One-Shot-Impulsen jeweils entsprechend der Mehrzahl von Zwischen-Programmierzuständen auf die Mehrzahl von Multi-Level-Speicherzellen.
  14. Verfahren nach Anspruch 12, wobei die Durchführung des MSB-Vor-Programmierbetriebs aufweist: Anwenden eines inkrementellen Stufenimpulses auf die Multi-Level-Speicherzellen; und aufeinanderfolgendes Anwenden einer Mehrzahl von Vor-Programmierprüfspannungen auf die Mehrzahl von Multi-Level-Speicherzellen, um zu prüfen, ob die Multi-Level-Speicherzellen in einer Mehrzahl von Zwischen-Programmierzuständen jeweils entsprechend der Mehrzahl von Ziel-Programmierzuständen programmiert sind.
  15. Verfahren nach Anspruch 12, wobei die Durchführung des MSB-Vor-Programmierbetriebs aufweist: Programmieren der Mehrzahl von Multi-Level-Speicherzellen auf eine erste Mehrzahl von Zwischen-Programmierzustände jeweils entsprechend der Mehrzahl von Ziel-Programmierzustände (S731); Aufteilen jedes von der ersten Mehrzahl von Zwischen-Programmierzuständen in eine Mehrzahl von Bereichen (S733); und Programmieren der Mehrzahl von Multi-Level-Speicherzellen auf eine zweite Mehrzahl von Zwischen-Programmierzustände, die jeweils enger als die erste Mehrzahl von Zwischen-Programmierzustände ist, durch die Anhebung der Schwellspannungen von der Mehrzahl der Multi-Level-Speicherzellen durch unterschiedliche Spannungspegel gemäß der Mehrzahl von Bereichen (S735).
  16. Verfahren zum Programmieren von einer Multi-Bit-Datenmenge in eine Mehrzahl von Multi-Level-Speicherzellen einer nicht-flüchtigen Speichervorrichtung, das Verfahren weist auf; Programmieren der niederwertigsten Bits (LSBs) der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen; und Programmieren der höchstwertigsten Bits (MSBs) der Multi-Bit-Datenmenge in die Mehrzahl von Multi-Level-Speicherzellen, für jede der Mehrzahl von Multi-Level-Speicherzellen, durch Überprüfung einer Schwellspannung der Multi-Level-Speicherzelle, die eine Prüfspannung von einem Zielspannungspegel, unter einer Mehrzahl von Zielspannungspegeln entsprechend der Multi-Level-Speicherzelle verwendet, wobei das Programmieren der MSBs aufweist Durchführen eines MSB-Vor-Programmierbetriebs für jede der ersten Multi-Level-Speicherzellen unter der Mehrzahl von Multi-Level-Speicherzellen, durch die Überprüfung einer Schwellspannung der ersten Multi-Level-Speicherzelle, die eine Prüfspannung eines Zwischenspannungspegels entsprechend der ersten Multi-Level-Speicherzelle verwendet, der entsprechende Zwischenspannungspegel ist kleiner als der entsprechende Zielspannungspegel; und nach der Durchführung des MSB-Vor-Programmierbetriebs kommt es für jede der Mehrzahl von Multi-Level-Speicherzellen zur Durchführung eines MSB-Haupt-Programmierbetriebs, durch die Überprüfung einer Schwellspannung der Multi-Level-Speicherzelle, die die Prüfspannung des Zielspannungspegels verwendet, der der Multi-Level-Speicherzelle entspricht.
  17. Verfahren zum Programmieren einer Multi-Bit-Datenmenge in eine Mehrzahl von Multi-Level-Speicherzellen einer nicht-flüchtigen Speichervorrichtung, die Vorrichtung weist auf: Programmieren der niederwertigsten Bits (LSBs) der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen; Programmieren eines höchstwertigsten Bit-(MSB)-Vor-Programmierbetriebs für jede der ersten Multi-Level-Speicherzellen unter der Mehrzahl von Multi-Level-Speicherzellen, durch die Anwendung eines ersten Programmierimpulses auf die erste Multi-Level-Speicherzelle, durch das Festlegen eines Schwellspannungsbereichs unter einer Mehrzahl von Schwellspannungsbereichen, zu der die erste Multi-Level-Speicherzelle gehört, und durch Anwendung eines zweiten Programmierimpulses auf die erste Multi-Level-Speicherzelle mit einem Spannungspegel, der unter einer Mehrzahl von unterschiedlichen Spannungspegeln basierend auf dem Bereich unter der Mehrzahl von Bereichen, dem die erste Multi-Level-Speicherzelle entspricht, ausgewählt wird; und nach der Durchführung des MSB-Vor-Programmierbetriebs kommt es zum Programmieren von MSBs der Multi-Bit-Datenmenge in die Multi-Level-Speicherzellen.
DE102011055714.8A 2010-12-30 2011-11-25 Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung Active DE102011055714B8 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0138502 2010-12-30
KR1020100138502A KR101798013B1 (ko) 2010-12-30 2010-12-30 비휘발성 메모리 장치의 프로그램 방법

Publications (3)

Publication Number Publication Date
DE102011055714A1 true DE102011055714A1 (de) 2012-07-05
DE102011055714B4 DE102011055714B4 (de) 2018-09-20
DE102011055714B8 DE102011055714B8 (de) 2018-11-22

Family

ID=46349883

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011055714.8A Active DE102011055714B8 (de) 2010-12-30 2011-11-25 Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung

Country Status (5)

Country Link
US (3) US20120170364A1 (de)
JP (1) JP5921870B2 (de)
KR (1) KR101798013B1 (de)
CN (2) CN107093453B (de)
DE (1) DE102011055714B8 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656709B2 (en) 2007-05-03 2010-02-02 Micron Technology, Inc. NAND step up voltage switching method
US8355280B2 (en) 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101785007B1 (ko) 2011-06-14 2017-11-07 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온-칩 버퍼 프로그램 방법
US20130219107A1 (en) * 2012-02-21 2013-08-22 Sandisk Technologies Inc. Write abort recovery through intermediate state shifting
KR101927212B1 (ko) * 2012-05-09 2019-03-07 삼성전자주식회사 비휘발성 메모리 장치의 프로그래밍 방법
DE102013108456B4 (de) * 2012-08-08 2024-03-07 Samsung Electronics Co., Ltd. Nichtflüchtige Speichervorrichtung und Programmierverfahren
JP2014059930A (ja) * 2012-09-18 2014-04-03 Toshiba Corp 不揮発性半導体記憶装置
KR102005709B1 (ko) * 2012-10-22 2019-08-01 삼성전자 주식회사 메모리 장치 구동 방법 및 메모리 시스템
KR102106866B1 (ko) * 2013-01-29 2020-05-06 삼성전자주식회사 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
KR102125376B1 (ko) * 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
US8995169B1 (en) * 2013-09-12 2015-03-31 Sandisk 3D Llc Method of operating FET low current 3D Re-RAM
KR20150061098A (ko) * 2013-11-25 2015-06-04 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법
US9171628B2 (en) * 2014-03-13 2015-10-27 Macronix International Co., Ltd. Incremental step pulse programming (ISPP) scheme capable of determining a next starting pulse based on a current program-verify pulse for improving programming speed
KR102192539B1 (ko) * 2014-05-21 2020-12-18 삼성전자주식회사 반도체 장치 및 이의 프로그램 방법
US9633719B2 (en) 2015-05-29 2017-04-25 Micron Technology, Inc. Programming memory cells to be programmed to different levels to an intermediate level from a lowest level
KR102309841B1 (ko) * 2015-08-24 2021-10-12 삼성전자주식회사 표면 실장 기술의 적용에 따른 메모리 셀의 문턱 전압 산포 변화 복구 기능을 갖는 데이터 스토리지 및 그것의 동작 방법
US9633720B2 (en) * 2015-09-10 2017-04-25 Kabushiki Kaisha Toshiba Semiconductor memory device
CN105719694B (zh) * 2016-01-22 2019-12-03 清华大学 Nand存储器的多比特编程方法及装置
KR20180028312A (ko) 2016-09-08 2018-03-16 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
KR102649347B1 (ko) * 2016-10-11 2024-03-20 삼성전자주식회사 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법
US10217515B2 (en) 2017-04-01 2019-02-26 Intel Corporation Programming memory devices
US10614886B2 (en) * 2017-09-22 2020-04-07 Samsung Electronics Co., Ltd. Nonvolatile memory device and a method of programming the nonvolatile memory device
US10811109B2 (en) * 2018-12-27 2020-10-20 Sandisk Technologies Llc Multi-pass programming process for memory device which omits verify test in first program pass
KR20210054376A (ko) 2019-11-05 2021-05-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20210116080A (ko) * 2020-03-17 2021-09-27 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138502A (ko) 2009-06-25 2010-12-31 김경현 다기능 미닫이 창호

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242891A (ja) 1997-12-26 1999-09-07 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
JP4050555B2 (ja) * 2002-05-29 2008-02-20 株式会社東芝 不揮発性半導体記憶装置およびそのデータ書き込み方法
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
TWI267864B (en) * 2004-05-06 2006-12-01 Samsung Electronics Co Ltd Method and device for programming control information
KR100632940B1 (ko) 2004-05-06 2006-10-12 삼성전자주식회사 프로그램 사이클 시간을 가변시킬 수 있는 불 휘발성반도체 메모리 장치
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
JP4874566B2 (ja) 2005-04-11 2012-02-15 株式会社東芝 半導体記憶装置
US7184317B2 (en) 2005-06-30 2007-02-27 Infineon Technologies Ag Method for programming multi-bit charge-trapping memory cell arrays
KR100669351B1 (ko) * 2005-07-29 2007-01-16 삼성전자주식회사 멀티 레벨 셀 플래시 메모리의 프로그램 방법 및 장치
JP4991131B2 (ja) 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
JP2007102865A (ja) 2005-09-30 2007-04-19 Toshiba Corp 半導体集積回路装置
KR100763353B1 (ko) * 2006-04-26 2007-10-04 삼성전자주식회사 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치
KR100854970B1 (ko) 2007-01-08 2008-08-28 삼성전자주식회사 멀티 레벨 셀 플래시 메모리 장치 및 그것의 프로그램 방법
US7474560B2 (en) 2006-08-21 2009-01-06 Micron Technology, Inc. Non-volatile memory with both single and multiple level cells
KR100769776B1 (ko) * 2006-09-29 2007-10-24 주식회사 하이닉스반도체 낸드 플래시 메모리 소자의 프로그램 방법
KR100866954B1 (ko) * 2006-09-29 2008-11-05 삼성전자주식회사 멀티 레벨 셀의 프로그래밍 시간을 줄일 수 있는 플래쉬메모리 장치 및 그 프로그래밍 방법
US7489547B2 (en) 2006-12-29 2009-02-10 Sandisk Corporation Method of NAND flash memory cell array with adaptive memory state partitioning
TWI380311B (en) * 2006-12-29 2012-12-21 Sandisk Technologies Inc Systems and methods for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7606070B2 (en) 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
KR100816161B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
KR100823174B1 (ko) * 2007-02-27 2008-04-18 삼성전자주식회사 멀티-페이지 프로그램 스킴을 갖는 플래시 메모리 장치 및그것의 멀티-페이지 프로그램 방법
JP4435200B2 (ja) 2007-04-03 2010-03-17 株式会社東芝 半導体記憶装置のデータ書き込み方法
KR100875979B1 (ko) * 2007-04-19 2008-12-24 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법
KR100877104B1 (ko) 2007-06-26 2009-01-07 주식회사 하이닉스반도체 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법
KR20100057784A (ko) * 2007-07-03 2010-06-01 샌디스크 코포레이션 개선된 감지를 위해 상이한 기준 레벨들을 이용하는 비휘발성 메모리에서의 비정밀/정밀 프로그램 검증
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
KR100861378B1 (ko) 2007-10-10 2008-10-01 주식회사 하이닉스반도체 플래시 메모리소자의 프로그램 방법
JP2009104729A (ja) 2007-10-24 2009-05-14 Toshiba Corp 不揮発性半導体記憶装置
KR100932368B1 (ko) * 2007-11-21 2009-12-16 주식회사 하이닉스반도체 플래시 메모리 소자의 동작 방법
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
KR100960479B1 (ko) 2007-12-24 2010-06-01 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
KR100965029B1 (ko) * 2008-05-13 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 프로그램 검증 방법
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
KR101468099B1 (ko) * 2008-07-24 2014-12-03 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
US7839687B2 (en) * 2008-10-16 2010-11-23 Sandisk Corporation Multi-pass programming for memory using word line coupling
KR101024142B1 (ko) * 2009-02-02 2011-03-22 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
KR20100107294A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR101594030B1 (ko) * 2009-05-13 2016-02-29 삼성전자주식회사 플래시 메모리 장치의 프로그램 방법
KR101798013B1 (ko) 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR101893562B1 (ko) * 2012-01-09 2018-10-04 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100138502A (ko) 2009-06-25 2010-12-31 김경현 다기능 미닫이 창호

Also Published As

Publication number Publication date
DE102011055714B8 (de) 2018-11-22
US9281069B2 (en) 2016-03-08
US20120170364A1 (en) 2012-07-05
JP5921870B2 (ja) 2016-05-24
CN102543192A (zh) 2012-07-04
KR20120076787A (ko) 2012-07-10
CN102543192B (zh) 2017-03-01
US20140247657A1 (en) 2014-09-04
KR101798013B1 (ko) 2017-11-16
CN107093453B (zh) 2020-08-18
DE102011055714B4 (de) 2018-09-20
US9818475B2 (en) 2017-11-14
US20160141025A1 (en) 2016-05-19
JP2012142067A (ja) 2012-07-26
CN107093453A (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
DE102011055714B4 (de) Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
DE112014004778B4 (de) Vorrichtung und Verfahren zum Verwalten von Chipgruppen
DE112014004761B4 (de) Beeinflussung des Wear-Leveling in Speichersystemen
DE102011085988B4 (de) Verfahren und Vorrichtungen zum Beeinflussen eines Betriebszustands eines Mehrfachpegelzelle-Speichers
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE102013107626A1 (de) Speichervorrichtung, Speichersystem und Verfahren zum Steuern einer Lesespannung der Speichervorrichtung
DE102013109235A1 (de) Flash-Speichersystem mit Detektor für anormale Wortleitung und Verfahren zum Erfassen einer anormalen Wortleitung
DE112008002553T5 (de) Einsatz eines MLC-Flash als SLC durch Schreiben von Dummy-Daten
DE102017104257A1 (de) Auf Zellenstrom basierende Bitleitungsspannung
DE102008009847A1 (de) Verfahren zum Treiben eines nichtflüchtigen Speicherelements und nichtflüchtiges Speicherelement
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE112009001620T5 (de) Nichtflüchtige Speichervorrichtung mit mehreren Bits Pro Zelle (MBC) und System mit Polaritätssteuerung sowie Verfahren zum Programmieren derselbigen
DE102010061530A1 (de) Speicher mit variablem Widerstand, Betriebsverfahren und System
DE112005001325T5 (de) Lösch-Algorithmus für einen Multilevel-Bit-Flash-Speicher
DE102008033518B4 (de) Datenverarbeitungsverfahren für eine Solid-State-Disk-Steuereinheit, Solid-State-Disk-Steuereinheit und Datenspeicherelement
DE112011102160T5 (de) Wear-levelling bei Zellen/Seiten/Teilseiten/Blöcken eines Speichers
DE102013100596B4 (de) Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren
DE102008033511A1 (de) Verfahren zum Programmieren eines Flashspeichers, Flashspeicher und Flashspeichersystem
DE102009035340A1 (de) Verfahren zum Programmieren eines nichtflüchtigen Speicherelements, Halbleiterbauelement, Karte und System
DE102007039844A1 (de) Flashspeicherelement und Speichersystem
DE102020119694A1 (de) Verfahren zur Steuerung einer Operation einer nichtflüchtigen Speichervorrichtung unter Verwendung von Maschinenlernen und Speichersystem
DE102020202379A1 (de) Speichersystem, speicher-controller und deren betriebsverfahren
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE112020004922T5 (de) Speicherungsvorrichtung mit erhöhter beständigkeit
DE102015011991A1 (de) Codierungsschema für vertikale 3D-Flash-Speicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20140922

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final