DE102013105356A1 - Method for operating non-volatile memory device for use in smart-TV system, involves detecting errors generated during programming operation for programming portion of non-volatile multi-bit memory cells in non-volatile memory device - Google Patents

Method for operating non-volatile memory device for use in smart-TV system, involves detecting errors generated during programming operation for programming portion of non-volatile multi-bit memory cells in non-volatile memory device Download PDF

Info

Publication number
DE102013105356A1
DE102013105356A1 DE201310105356 DE102013105356A DE102013105356A1 DE 102013105356 A1 DE102013105356 A1 DE 102013105356A1 DE 201310105356 DE201310105356 DE 201310105356 DE 102013105356 A DE102013105356 A DE 102013105356A DE 102013105356 A1 DE102013105356 A1 DE 102013105356A1
Authority
DE
Germany
Prior art keywords
bit
data
programming
memory cells
mcm
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.)
Pending
Application number
DE201310105356
Other languages
German (de)
Inventor
Ji-Sang LEE
Moosung Kim
Kihwan Choi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020120056641A external-priority patent/KR101996004B1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102013105356A1 publication Critical patent/DE102013105356A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

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

Abstract

The method involves detecting errors generated during a programming operation for programming a portion of non-volatile multi-bit memory cells (MC1-MCM) in non-volatile memory device (100) by reading the non-volatile multi-bit memory cells (MC1- MCM) and a force bit data vector, which is checked during the programming operation in order to identify whether any of the non-volatile multi-containing memory cells invalid data. An independent claim is included for an integrated circuit memory system.

Description

BEZUGNAHME AUF PRIORITÄTSANMELDUNGREFERENCE TO PRIORITY APPLICATION

Eine Beanspruchung der Priorität unter 35 U.S.C. § 119 wird auf die koreanische Patentanmeldung Nr. 10-2012-0056641 , welche am 29. Mai 2012 beim Koreanischen Amt für Gewerblichen Rechtsschutz (Korean Intellectual Property Office) eingereicht wurde, getätigt, deren gesamte Inhalte hierdurch durch Bezugnahme mit einbezogen sind.A claim of priority under 35 USC § 119 will be applied to the Korean Patent Application No. 10-2012-0056641 filed on May 29, 2012 with the Korean Intellectual Property Office, the entire contents of which are hereby incorporated by reference.

GEBIETTERRITORY

Diese Erfindung bezieht sich auf Speichervorrichtungen und Verfahren zum Betreiben derselben, und insbesondere auf nichtflüchtige Speichervorrichtungen und Verfahren zum Betreiben derselben.This invention relates to memory devices and methods of operating the same, and more particularly to non-volatile memory devices and methods of operating the same.

HINTERGRUNDBACKGROUND

Halbleiterspeichervorrichtungen können flüchtig oder nichtflüchtig sein. Eine nichtflüchtige Halbleiterspeichervorrichtung kann Daten, welche darin gespeichert sind, auch bei einem Ausschalten erhalten. Die nichtflüchtige Speichervorrichtung kann permanent oder umprogrammierbar sein, abhängig von der Herstellungstechnologie, welche verwendet wird. Die nichtflüchtige Speichervorrichtung kann für eine Verwenderdaten-, Programm- und Mikrocode-Speicherung in einer breiten Vielfalt von Anwendungen in Computer, Avionik, Telekommunikation und der Unterhaltungselektronik-Industrie verwendet werden.Semiconductor memory devices may be volatile or non-volatile. A nonvolatile semiconductor memory device can obtain data stored therein even when it is turned off. The nonvolatile memory device may be permanent or reprogrammable, depending on the manufacturing technology that is used. The nonvolatile memory device may be used for user data, program and microcode storage in a wide variety of applications in the computer, avionics, telecommunications and consumer electronics industries.

KURZFASSUNGSHORT VERSION

Verfahren zum Betreiben nichtflüchtiger Speichervorrichtungen verwenden mehrere Aspekte Programmieroperationen, um bei der Nachprogrammier-Fehlererfassung in nichtflüchtigen Multibit-Speicherzellen zu assistieren. Diese Fehlererfassungsoperationen können ein Identifizieren von einer oder mehreren nichtflüchtigen Multibit-Speicherzellen in einer Speichervorrichtung aufweisen, welche eine ungewünschten Programmierung von einem gelöschten Zustand zu einem wenigstens teilweise programmierten Zustand durchlaufen haben.Methods of operating non-volatile memory devices use several aspects of programming operations to assist in post-programming error detection in non-volatile multi-bit memory cells. These error detection operations may include identifying one or more non-volatile multi-bit memory cells in a memory device that have undergone unwanted programming from an erased state to an at least partially programmed state.

Gemäß einigen Ausführungsformen der Erfindung können Fehler, welche während einer Operation zum Programmieren einer ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen in einer nichtflüchtigen Speichervorrichtung erzeugt wurden, durch ein Durchführen einer Mehrzahl von Leseoperationen zum Erzeugen von Fehlererfassungsdaten und dann ein Dekodieren der Fehlererfassungsdaten zum Identifizieren spezifischer Zellen, welche Fehler darin haben, erfasst werden. Beispielsweise können eine programmierte erste Mehrzahl von nichtflüchtigen Multibit-Speicherzellen und ein Force-Bit-Daten-Vektor, welcher während der Programmieroperation modifiziert wurde, gelesen werden, um eine Fehlererfassung zu unterstützen. Diese gelesenen Informationen zusammen mit Daten, welche von einem Seitenpuffer gelesen werden, welcher der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen zugeordnet ist, können dann dekodiert werden, um zu identifizieren, welche der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen gelöschte Zellen sind, welche inakzeptabel hohe Schwellenspannungen haben.According to some embodiments of the invention, errors generated during an operation for programming a first plurality of non-volatile multi-bit memory cells in a nonvolatile memory device may be performed by performing a plurality of read operations to generate error detection data and then decoding the error detection data to identify specific cells which have errors in it, be detected. For example, a programmed first plurality of multibit nonvolatile memory cells and a force-bit data vector modified during the program operation may be read to facilitate error detection. This read information, along with data read from a page buffer associated with the first plurality of multibit nonvolatile memory cells, may then be decoded to identify which of the first plurality of nonvolatile multibit memory cells are erased cells which are unacceptable have high threshold voltages.

Um eine Fehlererfassung weiterhin zu unterstützen, können die Programmieroperationen ein Modifizieren eines anfänglichen Force-Bit-Daten-Vektors, welcher äquivalente erste Datenwerte (beispielsweise alle „1”) hat, in einen modifizierten Force-Bit-Daten-Vektor aufweisen, welcher eine Mehrzahl von zweiten Datenwerten darin hat, welche jeweilige eine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen identifizieren, welche wenigstens eine teilweise Programmierung während der Programmieroperation durchlaufen haben. Operationen können auch durchgeführt werden, um Daten in den Seitenpuffer in Antwort auf ein erfolgreiches Programmieren von einer oder mehreren der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen während der Programmieroperation zu aktualisieren.To further aid in error detection, the programming operations may include modifying an initial force-bit data vector having equivalent first data values (eg, all "1s") into a modified force-bit data vector having a plurality of of second data values therein, which respectively identify one of the first plurality of non-volatile multi-bit memory cells having undergone at least partial programming during the programming operation. Operations may also be performed to update data in the page buffer in response to successfully programming one or more of the first plurality of non-volatile multi-bit memory cells during the program operation.

Gemäß zusätzlichen Ausführungsformen der Erfindung kann ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung ein Erfassen von Fehlern aufweisen, welche während einer Operation zum Programmieren einer Seite von nichtflüchtigen Multibit-Speicherzellen in der nichtflüchtigen Speichervorrichtung erzeugt werden, durch ein Auswerten (beispielsweise dekodieren) von: (i) Daten, welche aus der programmierten Seite von nichtflüchtigen Multibit-Speicherzellen gelesen werden, (ii) einem Force-Bit-Daten-Vektor, welcher während der Programmieroperation modifiziert wird, und (iii) Daten in einem Seitenpuffer, welcher der Seite der nichtflüchtigen Multibit-Speicherzellen zugeordnet ist. Diese Auswertung wird durchgeführt, um zu identifizieren, ob eine der nichtflüchtigen Multibit-Speicherzellen in der Seite gelöschte Zellen sind, welche inakzeptabel hohe Schwellenspannungen haben (d. h. unabsichtlich „programmierte” Zellen). Um diese Fehlererfassungsoperationen zu unterstützen, können die Programmieroperationen ein Modifizieren eines anfänglichen Force-Bit-Daten-Vektors, welcher äquivalente erste Datenwerte darin hat, in einen modifizierten Force-Bit-Daten-Vektor aufweisen, welcher eine Mehrzahl von zweiten Datenwerten darin hat. Diese zweiten Datenwerte identifizieren eine jeweilige Mehrzahl der nichtflüchtigen Multibit-Speicherzellen in der Seite als eine wenigstens teilweisen Programmierung während der Programmieroperation durchlaufen habend. Die Programmieroperationen können auch ein Resetten bzw. Rücksetzen wenigstens einiger der Daten in dem Seitenpuffer auf Default-Werte bzw. Vorgabewerte in Antwort auf eine erfolgreiche Programmierung von einer oder mehreren der nichtflüchtigen Multibit-Speicherzellen in der Seite während der Programmieroperation aufweisen.According to additional embodiments of the invention, a method of operating a nonvolatile memory device may include detecting errors generated during an operation to program a page of nonvolatile multi-bit memory cells in the nonvolatile memory device by evaluating (e.g., decoding): (i ) Data read from the programmed page of non-volatile multi-bit memory cells, (ii) a force-bit data vector which is modified during the program operation, and (iii) data in a page buffer which is the nonvolatile multi-bit side Memory cells is assigned. This evaluation is performed to identify if any of the multivit non-volatile memory cells in the page are erased cells that have unacceptably high threshold voltages (ie unintentionally "programmed" cells). To assist in these error detection operations, the programming operations may include modifying an initial force-bit data vector having equivalent first data values therein into a modified force-bit data vector having a plurality of second data values therein. These second data values identify a respective plurality of nonvolatile multibit memory cells in the page as at least partial programming during the program operation going through. The programming operations may also include resetting at least some of the data in the page buffer to default values in response to successful programming of one or more of the multibit nonvolatile memory cells in the page during the program operation.

Gemäß noch anderen Ausführungsformen der Erfindung weist ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung ein Ändern eines ersten Multibit-Datenwertes, welcher einen ersten Programmierzustand einer ersten nichtflüchtigen Multibit-Speicherzelle in der nichtflüchtigen Speichervorrichtung zugeordnet ist, in einen zweiten Multibit-Datenwert, welcher einem gelöschten Zustand bzw. Löschzustand der ersten nichtflüchtigen Multibit-Speicherzelle zugeordnet ist, auf. Diese Datenwert-Änderungsoperation wird in Antwort auf ein Verifizieren durchgeführt, dass die erste nichtflüchtige Multibit-Speicherzelle in den ersten Programmierzustand während einer Programmieroperation validitäts-programmiert bzw. gültig programmiert wurde. Force-Bit-Daten, welche während der Programmieroperation modifiziert wurden, werden dann gelesen, um zu bestätigen, dass der zweite Multibit-Datenwert, welcher der ersten nichtflüchtigen Multibit-Speicherzelle zugeordnet ist, eine genau programmierte Zelle reflektiert. Die Programmieroperation kann auch ein Zurücksetzen des ersten Multibit-Datenwertes auf den zweiten Multibit-Datenwert in einem Seitenpuffer aufweisen. Darüber hinaus kann der Schritt des Lesens der modifizierten Force-Bit-Daten ein Lesen des Seitenpuffers, der Force-Bit-Daten, welche während der Programmieroperation modifiziert wurden und einer Mehrzahl von nichtflüchtigen Multibit-Speicherzellen in der nichtflüchtigen Speichervorrichtung aufweisen und dann ein Verwenden dieser gelesenen Informationen, um gelöschte Zellen in der Mehrzahl von nichtflüchtigen Multibit-Speicherzellen zu identifizieren, welche inakzeptabel hohe Schwellenspannungen haben. Dem Schritt des Lesens der modifizierten Force-Bit-Daten kann eine Operation vorangehen, um einen Multibit-Force-Bit-Vektor von äquivalenten Logikwerten in ein Force-Bit-Register zu laden. Zusätzlich kann die Operation, um wenigstens einen Abschnitt des Multibit-Force-Bit-Vektors in dem Force-Bit-Register während der Programmieroperation zu modifizieren durchgeführt werden, um eine Mehrzahl von nichtflüchtigen Multibit-Speicherzellen in der nichtflüchtigen Speichervorrichtung zu identifizieren, welche eine willentliche Programmierung unter Verwendung einer ISSP-Programmiertechnik durchlaufen haben.In accordance with still other embodiments of the invention, a method of operating a non-volatile memory device includes changing a first multi-bit data value associated with a first programming state of a first non-volatile multi-bit memory cell in the nonvolatile memory device into a second multi-bit data value representing an erased state or erasure state of the first non-volatile multi-bit memory cell is assigned to. This data value change operation is performed in response to verifying that the first non-volatile multi-bit memory cell was validated in the first programming state during a program operation. Force bit data that has been modified during the program operation is then read to confirm that the second multi-bit data value associated with the first non-volatile multi-bit memory cell reflects a precisely programmed cell. The program operation may also include resetting the first multi-bit data value to the second multi-bit data value in a page buffer. Moreover, the step of reading the modified force bit data may include reading the page buffer, the force bit data modified during the program operation, and a plurality of non-volatile multi-bit memory cells in the nonvolatile memory device, and then using the same read information to identify erased cells in the plurality of non-volatile multi-bit memory cells having unacceptably high threshold voltages. The step of reading the modified force-bit data may be preceded by an operation to load a multibit force-bit vector of equivalent logic values into a force-bit register. In addition, the operation to modify at least a portion of the multi-bit force-bit vector in the force-bit register during the program operation may be performed to identify a plurality of nonvolatile multi-bit memory cells in the nonvolatile memory device that is a random one Have undergone programming using an ISSP programming technique.

Gemäß noch weiteren Ausführungsformen der Erfindung kann ein Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung ein Durchführen einer Fehlererfassungsoperation auf einer Zeile von nichtflüchtigen Multibit-Speicherzellen in der nichtflüchtigen Speichervorrichtung durch ein Lesen der Zeile von nichtflüchtigen Multibit-Speicherzellen zusammen mit einem Lesen von Nach-Programmier-Daten aus einem Seitenpuffer und Force-Bit-Daten, welche während des Programmierens der Zeile von nichtflüchtigen Multibit-Speicherzellen verwendet wurden, aufweisen. Diese Operationen werden durchgeführt, um zu identifizieren, ob eine der nichtflüchtigen Multibit-Speicherzellen in der Zeile gelöschte Zellen sind, welche inakzeptabel hohe Schwellenspannungen haben. Dieser Durchführung kann ein Laden des Seitenpuffers mit einer Mehrzahl von Seiten von Daten vorangehen und dann ein Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen mit der Mehrzahl von Seiten von Daten aus dem Seitenpuffer. Dieses Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen kann ein Zurücksetzen wenigstens einiger der Daten in dem Seitenpuffer aufweisen, wenn entsprechende Programmierzustände von nichtflüchtigen Multibit-Speicherzellen in der Zeile als genau verifiziert werden. Das Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen kann auch ein Modifizieren von Bits eines vorgeladenen Force-Bit-Vektors aufweisen, um dadurch die Performance bzw. Leistungsfähigkeit von ISSP-Programmieroperationen auf entsprechenden nichtflüchtigen Multibit-Speicherzellen innerhalb der Zeile anzuzeigen.According to still further embodiments of the invention, a method of operating a nonvolatile memory device may perform an error detection operation on a row of nonvolatile multi-bit memory cells in the nonvolatile memory device by reading the row of nonvolatile multi-bit memory cells together with reading post-program data from a page buffer and force bit data used during programming of the row of non-volatile multi-bit memory cells. These operations are performed to identify if any of the multivit nonvolatile memory cells in the row are erased cells having unacceptably high threshold voltages. This implementation may be preceded by loading the page buffer with a plurality of pages of data and then programming the line of multibit nonvolatile memory cells with the plurality of pages of data from the page buffer. This programming of the row of non-volatile multi-bit memory cells may include resetting at least some of the data in the page buffer if corresponding programming states of nonvolatile multi-bit memory cells in the row are verified as being accurate. Programming the row of multibit nonvolatile memory cells may also involve modifying bits of a precharged force-bit vector to thereby indicate the performance of ISSP programming operations on respective nonvolatile multi-bit memory cells within the row.

KURZE BESCHREIBUNG DER FIGURENBRIEF DESCRIPTION OF THE FIGURES

Die obige und andere Aufgaben und Merkmale werden aus der folgenden Beschreibung unter Bezugnahme auf die folgenden Figuren offensichtlich werden, worin gleiche Bezugszeichen sich, solange nicht anderweitig spezifiziert, auf gleiche Teile über die verschiedenen Figuren hinweg beziehen und worin:The above and other objects and features will become apparent from the following description with reference to the following figures, in which like reference numbers refer, unless otherwise specified, to like parts throughout the several figures, and wherein:

1 ein Blockschaltbild ist, welches schematisch eine nichtflüchtige Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 1 FIG. 12 is a block diagram schematically illustrating a nonvolatile memory device according to an embodiment of the inventive concept.

2 ein Blockschaltbild ist, welches schematisch einen Seitenpuffer in 1 gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 2 is a block diagram which schematically shows a page buffer in 1 illustrated according to an embodiment of the inventive concept.

3 ein Diagramm ist, welches ein Lower-Tail-Daten-Wiederherstellungsverfahren veranschaulicht, wenn eine Zell-Programmieroperation fehlgeschlagen ist. 3 Figure 12 is a diagram illustrating a lower tail data recovery procedure when a cell program operation failed.

4 ein Diagramm ist, welches Datenzustände von Latches eines Seitenpuffers bei einer Lower-Tail-Daten-Wiederherstellungsoperation in 3 veranschaulicht. 4 FIG. 12 is a diagram illustrating data states of page buffer latches in a lower-tail data recovery operation in FIG 3 illustrated.

5 ein Diagramm ist, welches ein Upper-Tail-Daten-Wiederherstellungsverfahren veranschaulicht, wenn eine Zell-Programmieroperation durchgeführt bzw. vorübergegangen ist. 5 Figure 12 is a diagram illustrating an upper-tail data recovery procedure when a cell-program operation has been performed.

6 ein Diagramm ist, welches Datenzustände von Latches eines Seitenpuffers bei einer Upper-Tail-Daten-Wiederherstellungsoperation in 5 veranschaulicht. 6 FIG. 12 is a diagram illustrating data states of page buffer latches in an upper-tail data recovery operation in FIG 5 illustrated.

7 ein Diagramm ist, welches ein Daten-Wiederherstellungsverfahren gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 7 is a diagram illustrating a data recovery method according to an embodiment of the inventive concept.

8 ein Diagramm ist, welches Datenzustände von Latches eines Seitenpuffers bei einer Daten-Wiederherstellungsoperation in 7 veranschaulicht. 8th FIG. 12 is a diagram illustrating data states of page buffer latches in a data recovery operation in FIG 7 illustrated.

9 ein Flussdiagramm ist, welches schematisch ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 9 FIG. 10 is a flowchart schematically illustrating a programming method of a nonvolatile memory device according to an embodiment of the inventive concept.

10 ein Flussdiagramm ist, welches schematisch eine Daten-Wiederherstellungsoperation veranschaulicht, welche in 9 beschrieben ist. 10 FIG. 10 is a flowchart schematically illustrating a data recovery operation which is described in FIG 9 is described.

11 ein Flussdiagramm ist, welches schematisch ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 11 FIG. 10 is a flowchart schematically illustrating a programming method of a nonvolatile memory device according to an embodiment of the inventive concept.

12 ein Flussdiagramm ist, welches schematisch ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 12 FIG. 12 is a flowchart schematically illustrating a programming method of a nonvolatile memory device according to another embodiment of the inventive concept.

13 ein Blockschaltbild ist, welches schematisch einen Seitenpuffer gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 13 Fig. 12 is a block diagram schematically illustrating a page buffer according to another embodiment of the inventive concept.

14 ein Diagramm zum Beschreiben eines Bitleitungs-Forcing gemäß einer Ausführungsform des erfinderischen Konzepts ist. 14 Fig. 10 is a diagram for describing bit line forcing according to an embodiment of the inventive concept.

15 ein Diagramm ist, welches schematisch ein zwei-Schritt Verifikationsverfahren eines Seitenpuffers in 13 veranschaulicht. 15 FIG. 12 is a diagram schematically illustrating a two-step verification method of a page buffer in FIG 13 illustrated.

16 ein Diagramm ist, welches eine Variation in Daten von Latches eines Seitenpuffers in 13 bei einer Programmieroperation veranschaulicht. 16 is a diagram showing a variation in data of page buffer latches in 13 during a programming operation.

17 ein Diagramm ist, welches eine Variation in Daten von Latches eines Seitenpuffers, welcher einem Zielzustand bei einer Programmieroperation entspricht, gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 17 12 is a diagram illustrating a variation in data of latches of a page buffer corresponding to a target state in a program operation according to an embodiment of the inventive concept.

18 ein Diagramm ist, welches schematisch ein Verfahren zum Wiederherstellen von Daten zwischen einem Löschzustand und einem ersten Programmierzustand veranschaulicht. 18 FIG. 12 is a diagram schematically illustrating a method for restoring data between an erase state and a first program state. FIG.

19 ein Diagramm ist, welches schematisch ein Verfahren zum Wiederherstellen von Daten zwischen einem Löschzustand und einem zweiten Programmierzustand veranschaulicht. 19 Fig. 3 is a diagram schematically illustrating a method for restoring data between an erase state and a second program state.

20 ein Diagramm ist, welches schematisch ein Verfahren zum Wiederherstellen von Daten zwischen einem Löschzustand und einem dritten Programmierzustand veranschaulicht. 20 FIG. 12 is a diagram schematically illustrating a method for restoring data between an erase state and a third program state. FIG.

21 ein Diagramm ist, welches schematisch ein upper-Bit-Wiederherstellungs-Verfahren bei einer Programmieroperation gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 21 FIG. 12 is a diagram schematically illustrating an upper-bit recovery process in a program operation according to an embodiment of the inventive concept. FIG.

22A und 22B Flussdiagramme sind, welche ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulichen. 22A and 22B Are flowcharts illustrating a multi-bit programming method of a nonvolatile memory device according to an embodiment of the inventive concept.

23 ein Flussdiagramm ist, welches ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 23 Fig. 10 is a flowchart illustrating a multi-bit programming method of a nonvolatile memory device according to another embodiment of the inventive concept.

24 ein Flussdiagramm ist, welches ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß noch einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 24 FIG. 10 is a flowchart illustrating a multi-bit programming method of a nonvolatile memory device according to still another embodiment of the inventive concept.

25 ein Flussdiagramm ist, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 25 FIG. 10 is a flowchart illustrating a data recovery operation of a storage system according to an embodiment of the inventive concept. FIG.

26 ein Flussdiagramm ist, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 26 Fig. 10 is a flowchart illustrating a data recovery operation of a storage system according to another embodiment of the inventive concept.

27 ein Flussdiagramm ist, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß noch einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 27 is a flowchart illustrating a data recovery operation of a Storage system illustrated according to yet another embodiment of the inventive concept.

28 ein Flussdiagramm ist, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß noch einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. 28 Fig. 10 is a flowchart illustrating a data recovery operation of a memory system according to still another embodiment of the inventive concept.

29 eine perspektivische Ansicht eines Speicherblocks gemäß dem erfinderischen Konzept ist. 29 a perspective view of a memory block according to the inventive concept is.

30 ein Blockschaltbild ist, welches schematisch ein Speichersystem gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 30 FIG. 4 is a block diagram schematically illustrating a memory system according to an embodiment of the inventive concept.

31 ein Blockschaltbild ist, welches schematisch eine Speicherkarte gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 31 is a block diagram schematically illustrating a memory card according to an embodiment of the inventive concept.

32 ein Blockschaltbild ist, welches schematisch ein moviNAND gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 32 is a block diagram schematically illustrating a moviNAND according to an embodiment of the inventive concept.

33 ein Blockschaltbild ist, welches schematisch ein Festkörperlaufwerk gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 33 FIG. 12 is a block diagram schematically illustrating a solid-state drive according to an embodiment of the inventive concept. FIG.

34 ein Blockschaltbild ist, welches schematisch eine Kommunikationsvorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 34 is a block diagram schematically illustrating a communication device according to an embodiment of the inventive concept.

35 ein Blockschaltbild ist, welches schematisch ein Smart-TV-System gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. 35 is a block diagram schematically illustrating a smart TV system according to an embodiment of the inventive concept.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

Ausführungsformen werden im Detail unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden. Das erfinderische Konzept kann jedoch in verschiedenen unterschiedlichen Formen ausgeführt werden, und sollte nicht als nur auf die veranschaulichten Ausführungsformen beschränkt angesehen werden. Vielmehr sind diese Ausführungsformen als Beispiele vorgesehen, so dass diese Offenbarung gewissenhaft und vollständig sein wird, und den Umfang des erfinderischen Konzepts Fachleuten vollständig vermitteln wird. Demzufolge werden bekannte Verfahren, Elemente und Techniken hinsichtlich einiger der Ausführungsformen des erfinderischen Konzepts nicht beschrieben. Sofern nicht anderweitig angemerkt, bezeichnen gleiche Bezugszeichen über die beigefügten Zeichnungen und die Beschreibung hinweg gleiche Elemente, und demnach werden Beschreibungen nicht wiederholt werden. In den Zeichnungen können die Größen und relativen Größen von Schichten und Bereichen für die Klarheit überhöht sein.Embodiments will be described in detail with reference to the accompanying drawings. However, the inventive concept may be embodied in various different forms, and should not be construed as limited only to the illustrated embodiments. Rather, these embodiments are provided as examples, so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Accordingly, known methods, elements, and techniques are not described with respect to some of the embodiments of the inventive concept. Unless otherwise noted, like reference numerals refer to like elements throughout the drawings and description, and thus descriptions will not be repeated. In the drawings, the sizes and relative sizes of layers and regions may be exaggerated for clarity.

Es wird verstanden werden, dass, obwohl die Wortlaute „erster/erste/erstes”, „zweiter/zweite/zweites”, „dritter/dritte/drittes”, etc. hierin verwendet werden können, um verschiedene Elemente, Komponenten bzw. Bestandteile, Bereiche, Schichten und/oder Sektionen bzw. Abschnitte zu beschreiben, diese Elemente, Komponenten bzw. Bestandteile, Bereiche, Schichten und/oder Sektionen bzw. Abschnitte durch diese Wortlaute nicht beschränkt werden sollten. Diese Wortlaute werden lediglich verwendet, um ein Element, eine Komponente bzw. einen Bestandteil, einen Bereich, eine Schicht oder eine Sektion bzw. einen Abschnitt von einem anderen Bereich, einer anderen Schicht und/oder einer anderen Sektion bzw. einem anderen Abschnitt zu unterscheiden. Demnach könnte ein erstes Element, eine erste Komponente bzw. ein erster Bestandteil, ein erster Bereich, eine erste Schicht oder eine erste Sektion bzw. ein erster Abschnitt welcher/welche/welches untenstehend diskutiert wird, als ein zweites Element, eine zweite Komponente bzw. ein zweiter Bestandteil, ein zweiter Bereich, eine zweite Schicht oder eine zweite Sektion bzw. ein zweiter Abschnitt bezeichnet werden, ohne von den Lehren des erfinderischen Konzepts abzuweichen.It will be understood that although the words "first / first / first", "second / second / second", "third / third / third", etc. can be used herein to refer to various elements, components, To describe regions, layers, and / or sections, these elements, components, regions, layers, and / or sections should not be limited by those words. These words are used only to distinguish one element, component, region, layer, or section from another region, layer, and / or section , Thus, a first element, a first component, a first region, a first layer, or a first section, which may be discussed below, could be used as a second element, a second component, or a second component. a second component, a second region, a second layer or a second section or a second section are referred to, without departing from the teachings of the inventive concept.

Räumlich relative Wortlaute wie beispielsweise „darunter”, „unterhalb”, „niedriger”, „unter” „über”, „oberer” und dergleichen können hierin zur Erleichterung der Beschreibung verwendet werden, um ein Element oder eine Beziehung eines Merkmals zu (einem) anderen Element(en) oder Merkmal(en) zu beschreiben, wie in den Figuren veranschaulicht ist. Es wird verstanden werden, dass die räumlichen relativen Wortlaute vorgesehen sind, um verschiedene Orientierungen der Vorrichtung in Verwendung oder im Betrieb zusätzlich zu der Orientierung, welche in den Figuren veranschaulicht ist, zu erfassen. Wenn beispielsweise die Vorrichtung in den Figuren umgedreht wird, würden Elemente, welche als „unterhalb”, „darunter” oder „unter” anderen Elementen oder Merkmalen beschrieben sind, dann „über” den anderen Elementen oder Merkmalen orientiert sein. Demnach können die beispielhaften Wortlaute „unterhalb” und „unter” sowohl eine Orientierung überhalb als auch unterhalb erfassen. Die Vorrichtung kann anderweitig orientiert sein (um 90 Grad gedreht oder unter anderen Orientierungen) und die räumlich relativen Beschreibungen, welche hierin verwendet werden, können dementsprechend interpretiert werden. Zusätzlich wird ebenso verstanden werden, dass, wenn auf eine Schicht als „zwischen” zwei Schichten Bezug genommen wird, es die einzige Schicht zwischen den zwei Schichten sein kann, oder eine oder mehrere dazwischenliegende Schichten ebenso gegenwärtig sein können.Spatially relative terms, such as "below," "below," "below," "below," "above," "above," and the like, may be used herein for ease of description to refer to a feature or relationship of feature (s). to describe other element (s) or feature (s) as illustrated in the figures. It will be understood that the spatial relative terms are provided to capture various orientations of the device in use or operation in addition to the orientation illustrated in the figures. For example, if the device in the figures is turned over, elements described as "below," "below," or "below" other elements or features would then be oriented "above" the other elements or features. Thus, the exemplary phrases "below" and "below" may capture both an orientation above and below. The device may be otherwise oriented (rotated 90 degrees or under other orientations) and the spatially relative descriptions used herein may be interpreted accordingly. In addition, it will also be understood that when a layer is referred to as "between" two layers, it may be the only layer between the two layers, or one or more intervening layers may also be present.

Die Terminologie, welche hierin verwendet wird, ist nur zum Zwecke des Beschreibens bestimmter Ausführungsformen und ist nicht vorgesehen, um für das erfinderische Konzept beschränkend zu sein. Wenn hierin verwendet, sind die Singularformen „einer/eine/eines” und „der/die/das” vorgesehen, um ebenso die Pluralformen zu umfassen, sofern der Kontext bzw. Zusammenhang nicht deutlich Anderes anzeigt. Es wird weiterhin verstanden werden, dass die Wortlaute „weist auf” und/oder „aufweisend”, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bzw. Bestandteilen spezifizieren, jedoch die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten bzw. Bestandteilen und/oder Gruppen davon nicht ausschließen. Wenn hierin verwendet schließt der Wortlaut „und/oder” irgendeine und alle Kombinationen von einem oder mehreren der aufgelisteten Gegenstände ein. Ebenso ist der Wortlaut „beispielhaft” vorgesehen, um auf ein Beispiel oder eine Veranschaulichung zu verweisen.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting for the inventive concept. As used herein, the singular forms "one" and "the" are intended to encompass the plural forms as well, unless the context clearly indicates otherwise. It will further be understood that the words "pointing to" and / or "having" when used in this specification specify the presence of said features, integers, steps, operations, elements, and / or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the wording "and / or" includes any and all combinations of one or more of the listed items. Likewise, the wording "exemplary" is provided to refer to an example or an illustration.

Es wird verstanden werden, dass wenn auf ein Element oder eine Schicht Bezug genommen wird als „auf” „verbunden mit”, „gekoppelt mit” oder „benachbart zu” einem anderen Element oder einer anderen Schicht, es/sie direkt auf, verbunden mit, gekoppelt mit oder benachbart zu dem anderen Element oder der anderen Schicht sein kann, oder dass dazwischenliegende Elemente oder Schichten gegenwärtig sein können. Im Gegensatz dazu sind, wenn auf ein Element Bezug genommen wird als „direkt auf” „direkt verbunden mit” oder „direkt gekoppelt mit” einem anderen Element oder einer anderen Schicht, keine dazwischenliegenden Elemente oder Schichten vorhanden.It will be understood that when reference is made to an element or layer as being "connected to," "coupled to," or "adjacent to" another element or layer, it directly relates to , may be coupled to or adjacent to the other element or layer, or intervening elements or layers may be present. In contrast, when referring to an element as being "directly on" "directly connected to" or "directly coupled to" another element or layer, there are no intervening elements or layers.

Solange nicht anderweitig definiert, haben alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe), welche hierin verwendet werden, dieselbe Bedeutung wie sie allgemein durch einen Fachmann in dem Gebiet, zu welchem das erfinderische Konzept gehört, verstanden wird. Es wird weiter verstanden werden, dass Begriffe wie diejenigen, die in gemeinhin verwendeten Wörterbüchern definiert sind, als die Bedeutung habend interpretiert werden sollen, welche konsistent ist mit ihrer Bedeutung in dem Kontext des relevanten bzw. maßgeblichen Bereiches und/oder der vorliegenden Beschreibung, und sie werden nicht in einem idealisierten oder übermäßig formalen Sinne interpretiert werden, soweit nicht ausdrücklich hierin definiert.Unless defined otherwise, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the inventive concept belongs. It will be further understood that terms such as those defined in commonly used dictionaries are to be interpreted as having the meaning consistent with their meaning in the context of the relevant scope and / or description herein, and they will not be interpreted in an idealized or overly formal sense unless expressly defined herein.

1 ist ein Blockschaltbild, welches schematisch eine nichtflüchtige Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 1 kann eine nichtflüchtige Speichervorrichtung 100 ein Speicherzell-Array bzw. eine Speicherzellanordnung 110, einen Adressdekoder 120, eine Eingabe-/Ausgabeschaltung 130 und eine Steuerlogik 140 aufweisen. Die nichtflüchtige Speichervorrichtung 100 kann beispielsweise eine NAND-Flash-Speichervorrichtung sein. Es ist jedoch wohlverstanden, dass die nichtflüchtige Speichervorrichtung 100 nicht auf die NAND-Flash-Speichervorrichtung beschränkt ist. Beispielsweise kann das erfinderische Konzept auf eine NOR-Flash-Speichervorrichtung, eine Widerstands-Schreib-Lese-Speicher(RRAM = Resistive Random Access Memory)-Vorrichtung, eine Phasenänderungs-Speicher(PRAM=Phase-Change Memory)-Vorrichtung, eine Magneto-Widerstands-Schreib-Lese-Speicher(MRAM = Magneto Resistive Random Access Memory)-Vorrichtung, eine ferroelektrische Schreib-Lese-Speicher(FRAM = Ferro Electric Random Access Memory)-Vorrichtung, einen Spin-Transfer-Drehmoment-Schreib-Lese-Speicher(STTRAM = Spin Transfer Torque Random Access Memory) und dergleichen angewandt werden. Weiterhin kann die nichtflüchtige Speichervorrichtung implementiert werden, so dass sie eine dreidimensionale Array-Struktur hat. Auf eine nichtflüchtige Speichervorrichtung mit der dreidimensionalen Array-Struktur kann Bezug genommen werden als eine vertikale NAND-Flash-Memory-Vorrichtung. Das erfinderische Konzept kann auf eine Charge-Trap-Flash(CTF)-Speichervorrichtung angewandt werden, welche eine Ladungsspeicherschicht aufweist, welche aus einem Isolierfilm bzw. aus einer dünnen Isolierschicht gebildet ist, sowie auf eine Flash-Speichervorrichtung, welche eine Ladungsspeicherschicht aufweist, welche aus einem leitfähigen Floating-Gate gebildet ist. Untenstehend wird das erfinderische Konzept unter der Bedingung beschrieben werden, dass die nichtflüchtige Speichervorrichtung 100 eine NAND-Flash-Speichervorrichtung ist. 1 FIG. 10 is a block diagram schematically illustrating a nonvolatile memory device according to an embodiment of the inventive concept. FIG. Referring to 1 can be a non-volatile storage device 100 a memory cell array or memory cell array 110 , an address decoder 120 , an input / output circuit 130 and a control logic 140 exhibit. The nonvolatile storage device 100 For example, it may be a NAND flash memory device. However, it is understood that the non-volatile memory device 100 is not limited to the NAND flash memory device. For example, the inventive concept can be applied to a NOR flash memory device, a resistive random access memory (RRAM) device, a phase change memory (PRAM) device, a magneto-magnetic memory device. Resistive Random Access Memory (MRAM) device, a ferroelectric random access memory (FRAM) device, a spin-transfer torque-read-write memory (STTRAM = Spin Transfer Torque Random Access Memory) and the like can be applied. Furthermore, the nonvolatile memory device can be implemented to have a three-dimensional array structure. A nonvolatile memory device having the three-dimensional array structure can be referred to as a vertical NAND flash memory device. The inventive concept can be applied to a charge trap flash (CTF) memory device having a charge storage layer formed of an insulating film and a thin insulating layer, respectively, and to a flash memory device having a charge storage layer is formed of a conductive floating gate. Below, the inventive concept will be described on the condition that the nonvolatile memory device 100 a NAND flash memory device.

Das Speicherzell-Array 110 kann eine Mehrzahl von Speicherblöcken aufweisen. Zur Erleichterung der Beschreibung kann ein Speicherblock in 1 veranschaulicht werden. Der Speicherblock kann Strings bzw. Stränge haben, welche jeweils mit Bitleitungen BL1 bis BLn (wobei n eine natürliche Zahl ist) verbunden sind. Hierin kann jeder Strang einen Strang-Auswahltransistor SST (String Selection Transistor), Speicherzellen MC1 bis MCm (wobei m eine natürliche Zahl ist) und einen Masse-Auswahltransistor GST (= Ground Selection Transistor) haben. In jedem Strang kann der Strang-Auswahltransistor SST durch eine Spannung getrieben werden, welche über eine Strang-Auswahlleitung SSL (= String Selection Line) übertragen wird, und der Masse-Auswahltransistor GST kann durch eine Spannung getrieben werden, welche über eine Masse-Auswahlleitung GSL (Ground Selection Line) übertragen wird. Jede der Speicherzellen MC1 bis MCm kann wenigstens ein Bit von Daten speichern und durch eine Spannung getrieben werden, welche über eine entsprechende eine von Wortleitungen WL1 bis WLm übertragen wird. Der Adressdekoder 120 kann einen aus der Mehrzahl von Speicherblöcken in Antwort auf eine Adresse auswählen und kann die Wortleitungen WL1 bis WLm mit Wortleitungsspannungen zum Treiben (beispielsweise einer Programmierspannung, einer Passierspannung, einer Löschspannung, einer Verifizierspannung, einer Lesespannung, einer Lese-Passierspannung etc.) übertragen.The memory cell array 110 may have a plurality of memory blocks. To facilitate the description, a memory block in 1 be illustrated. The memory block may have strings connected respectively to bit lines BL1 to BLn (where n is a natural number). Herein, each strand may have a string selection transistor SST, memory cells MC1 to MCm (where m is a natural number), and a ground selection transistor GST (= ground selection transistor). In each leg, the string selection transistor SST may be driven by a voltage which is transmitted over a string selection line SSL, and the ground selection transistor GST may be driven by a voltage supplied through a ground selection line GSL (Ground Selection Line) is transmitted. Each of the memory cells MC1 to MCm may store at least one bit of data and be driven by a voltage which is applied through a corresponding one of word lines WL1 to WLm is transmitted. The address decoder 120 may select one of the plurality of memory blocks in response to an address, and may transmit the word lines WL1 to WLm having word line voltages for driving (eg, a program voltage, a pass voltage, an erase voltage, a verify voltage, a read voltage, a read-pass voltage, etc.).

Während einer Programmieroperation kann die Eingabe-/Ausgabeschaltung 130 vorübergehend Dateneingaben von einer externen Vorrichtung speichern, um sie auf eine zu schreibende Seite zu laden. Während einer Leseoperation kann die Eingabe-/Ausgabeschaltung 130 Daten von einer zu lesenden Seite lesen, um sie an die externe Vorrichtung auszugeben. Die Eingabe-/Ausgabeschaltung 130 kann Seitenpuffer PB1 bis PBn aufweisen, welche jeweils den Bitleitungen BL1 bis BLn entsprechen. Jeder der Seitenpuffer PB1 bis PBn kann eine Mehrzahl von Latches für Programmier- und Leseoperationen aufweisen. In jedem Seitenpuffer kann wenigstens eines der Mehrzahl von Latches Zieldaten TD für eine Programmieroperation speichern, und die Zieldaten TD können in Daten eines Passiermusters (Pass Pattern) geändert werden, wenn eine Programmieroperation einer entsprechenden Speicherzelle (hierin nachstehend wird hierauf Bezug genommen als Zell-Programmieroperation) durchgeführt ist. Eines der Mehrzahl von Latches kann ein Wiederherstellungs-Referenzbit RRB speichern/begründen bzw. aufstellen. Hierin kann das Wiederherstellungs-Referenzbit RRB ein Bit sein, welches verwendet wird, um eine Daten-Wiederherstellungsoperation zu unterstützen, und es kann Informationen aufweisen, welche einen spezifischen wiederherzustellenden Zustand (beispielsweise einen Löschzustand) anzeigen.During a programming operation, the input / output circuit 130 temporarily store data input from an external device to load it on a page to be written. During a read operation, the input / output circuit can 130 Read data from a page to read to output to the external device. The input / output circuit 130 may include page buffers PB1 to PBn, which correspond to the bit lines BL1 to BLn, respectively. Each of the page buffers PB1 to PBn may include a plurality of latches for programming and reading operations. In each page buffer, at least one of the plurality of latches may store destination data TD for a program operation, and the destination data TD may be changed into pass pattern data when a program operation of a corresponding memory cell (hereinafter referred to as a cell program operation ) is performed. One of the plurality of latches may store / assemble a recovery reference bit RRB. Herein, the recovery reference bit RRB may be a bit used to support a data recovery operation, and may include information indicating a specific state to be restored (for example, an erase state).

Die Steuerlogik 140 kann einen Gesamtbetrieb der nichtflüchtigen Speichervorrichtung 100 steuern. Die Steuerlogik 140 kann Steuersignale und Befehle, welche von einem externen Speichercontroller vorgesehen sein, dekodieren und kann den Adressdekoder 120 und die Eingabe-/Ausgabeschaltung 130 entsprechend einem dekodierten Ergebnis steuern. Die Steuerlogik 140 kann eine Spannungs-Erzeugungsschaltung zum Erzeugen von Spannungen, welche zum Treiben bzw. Betreiben (beispielsweise Programmieren, Lesen, Löschen, etc.) des Adressdekoders 120 benötigt werden, erzeugen, um die Spannungen zu den Wortleitungen WL1 bis WLm und die Eingabe-/Ausgabeschaltung 130 zur Eingabe-/Ausgabe von zu programmierenden Seitendaten und gelesenen Seitendaten zu übertragen. Während einer Daten-Wiederherstellungsoperation kann die Steuerlogik 140 eine Leseoperation auf programmierten Speicherzellen wenigstens einmal in Antwort auf einen Daten-Wiederherstellungsbefehl durchführen. Die Steuerlogik 140 kann Zieldaten TD wiederherstellen, welche während einer Programmieroperation zugeführt werden, unter Verwendung von Daten, welche gemäß der Leseoperation gelesen werden und einem Wiederherstellungs-Referenzbit RRB. Hierin kann der Daten-Wiederherstellungsbefehl von dem externen Speichercontroller vorgesehen sein. Eine herkömmliche nichtflüchtige Speichervorrichtung kann Zieldaten an einem getrennten Speicherplatz für eine Daten-Wiederherstellungsoperation während einer Programmieroperation speichern. Beispielsweise können während einer Programmieroperation Zieldaten in einem Seitenpuffer einer nichtflüchtigen Speichervorrichtung oder bei einem Puffer des externen Speichercontrollers gespeichert werden. Während einer herkömmlichen Daten-Wiederherstellungsoperation kann eine Programmieroperation an einer anderen physikalischen Seite unter Verwendung der Zieldaten, welche dort gespeichert sind, ausgeführt werden. Die oben beschriebene Programmieroperation kann einen getrennten Speicherplatz zum Speichern von Zieldaten für eine Daten-Wiederherstellungsoperation benötigen.The control logic 140 may be an overall operation of the nonvolatile memory device 100 Taxes. The control logic 140 may decode control signals and commands provided by an external memory controller and may include the address decoder 120 and the input / output circuit 130 control according to a decoded result. The control logic 140 For example, a voltage generating circuit for generating voltages necessary for driving (e.g., programming, reading, erasing, etc.) the address decoder 120 are required to generate the voltages to the word lines WL1 to WLm and the input / output circuit 130 for input / output of page data to be programmed and page data read. During a data recovery operation, the control logic may 140 perform a read operation on programmed memory cells at least once in response to a data recovery command. The control logic 140 may recover target data TD supplied during a program operation using data read according to the read operation and a recovery reference bit RRB. Herein, the data recovery command may be provided from the external memory controller. A conventional nonvolatile memory device may store target data at a separate memory location for a data recovery operation during a program operation. For example, during a program operation, target data may be stored in a page buffer of a nonvolatile memory device or in a buffer of the external memory controller. During a conventional data recovery operation, a program operation may be performed on another physical page using the target data stored therein. The programming operation described above may require a separate memory space for storing destination data for a data recovery operation.

Andererseits kann die nichtflüchtige Speichervorrichtung 100 des erfinderischen Konzepts Zieldaten unter Verwendung einer Leseoperation und eines Wiederherstellungs-Referenzbits RRB während einer Daten-Wiederherstellungsoperation wiederherstellen. Das heißt, die nichtflüchtige Speichervorrichtung 100 des erfinderischen Konzepts mag einen getrennten Speicherplatz für Zieldaten TD für eine Daten-Wiederherstellungsoperation nicht benötigen. Demnach ist es möglich, eine Chipgröße unter Verwendung der nichtflüchtigen Speichervorrichtung 100 des erfinderischen Konzepts zu verringern.On the other hand, the nonvolatile memory device 100 of the inventive concept recover target data using a read operation and a recovery reference bit RRB during a data recovery operation. That is, the nonvolatile memory device 100 of the inventive concept may not require a separate location for destination data TD for a data recovery operation. Thus, it is possible to have a chip size using the nonvolatile memory device 100 of the inventive concept.

2 ist ein Blockschaltbild, welches schematisch einen Seitenpuffer in 1 gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 2 kann ein Seitenpuffer PB1 ein Abtast-Latch bzw. Sensier-Latch SL, Daten-Latches DL1 bis DLk (wobei k eine ganze Zahl ist) (hierin nachstehend wird hierauf als wenigstens ein erstes Latch Bezug genommen) und ein zusätzliches Latch AL (hierin nachstehend wird hierauf Bezug genommen als zweites Latch) aufweisen. Das Sensier-Latch SL kann Daten speichern, welche anzeigen, ob eine Speicherzelle eine An-Zelle bzw. angeschaltete Zelle (on-cell) oder eine Aus-Zelle bzw. ausgeschaltete Zelle (off-cell) während einer Programmier-/Programmier-Verifikations-/Lese-Operation ist. Beispielsweise kann während einer Programmier-Verifikations-/Lese-Operation das Sensier-Latch SL Daten speichern, welche eine An-Zelle anzeigen, wenn eine Schwellenspannung einer Speicherzelle niedriger ist als ein Referenz-Pegel und Daten, welche eine Aus-Zelle anzeigen, wenn eine Schwellenspannung einer Speicherzelle höher ist als der Referenz-Pegel. Während einer Daten-Wiederherstellungsoperation kann das Sensier-Latch SL ein Ergebnis einer Leseoperation zur Wiederherstellung von Zieldaten TD, d. h. gelesenen Daten, speichern. Die Daten-Latches DL bis DLk können Zieldaten TD speichern, welche einen Programmierzustand bei einer Programmieroperation anzeigen. Daten der Daten-Latches DL1 bis DLk können in Passiermuster-Daten geändert werden, wenn eine Zell-Programmieroperation durchgeführt ist. Hierin können die Passiermuster-Daten Daten sein, welche einem Löschzustand bzw. gelöschten Zustand einer Speicherzelle entsprechen. 2 is a block diagram schematically showing a page buffer in FIG 1 illustrated according to an embodiment of the inventive concept. Referring to 2 For example, a page buffer PB1 may include a sense latch SL, data latches DL1 to DLk (where k is an integer) (hereinafter referred to as at least a first latch), and an additional latch AL (hereinafter is referred to as a second latch). The sense latch SL may store data indicating whether a memory cell is an on-cell or an off-cell during a program / program verify / Read operation is. For example, during a program verify / read operation, the sense latch SL may store data indicating an on cell, when a threshold voltage of a memory cell is lower than a reference level, and data indicating an off cell when a threshold voltage of a memory cell is higher than the reference level. During a data recovery operation, the sense latch SL store a result of a read operation for recovering target data TD, that is, read data. The data latches DL to DLk may store target data TD indicating a program state in a program operation. Data of the data latches DL1 to DLk can be changed into pass pattern data when a cell program operation is performed. Herein, the pass pattern data may be data corresponding to an erase state of a memory cell.

Das zusätzliche Latch AL kann ein Wiederherstellungs-Referenzbit RRB bei einer Programmieroperation speichern. Hierin kann das Wiederherstellungs-Referenzbit RRB eine Information sein, welche einem bestimmten Zustand zum Wiederherstellen eines Fehlerbits zugeordnet ist. Der bestimmte Zustand kann ein Zustand sein, welcher vorangehend durch einen Verwender bestimmt ist. Beispielsweise kann in dem Fall, in dem ein Verwender weiß, dass Fehlerbits auf einem Löschzustand viele sind, das zusätzliche Latch AL ein Wiederherstellungs-Referenzbit RRB zum Wiederherstellen eines Fehlerbits eines Löschzustandes speichern. Das heißt, dass, wenn eine Wiederherstellung auf einem Fehlerbit eines Löschzustandes während einer Daten-Wiederherstellungsoperation benötigt wird, das Wiederherstellungs-Referenzbit RRB ein Bit sein kann, welches anzeigt, ob Zieldaten TD, welche dem Seitenpuffer PB1 zugeführt werden, einem Löschzustand entsprechen. Ein Verwender muss jedoch nicht einen bestimmten Zustand bestimmen. Die nichtflüchtige Speichervorrichtung 100 kann einen Programmierzustand, in welchem ein Fehlerbit häufig erzeugt wird, bestimmen und kann den bestimmten Programmzustand als einen bestimmten Zustand bestimmen. Ein Seitenpuffer PB1 kann in 2 veranschaulicht werden. Die verbleibenden Seitenpuffer PB2 bis PBn jedoch können im Wesentlichen gleich wie in 2 veranschaulicht konfiguriert sein.The additional latch AL may store a recovery reference bit RRB during a program operation. Herein, the recovery reference bit RRB may be information associated with a particular error bit recovery state. The particular state may be a state previously determined by a user. For example, in the case where a user knows that error bits on an erase state are many, the additional latch AL may store a recovery reference bit RRB for restoring an error bit of an erase state. That is, when recovery is required on an erase state error bit during a data recovery operation, the recovery reference bit RRB may be a bit indicating whether target data TD supplied to the page buffer PB1 corresponds to an erase state. However, a user does not have to determine a particular state. The nonvolatile storage device 100 may determine a programming state in which an error bit is generated frequently, and may determine the particular program state as a particular state. A page buffer PB1 may be in 2 be illustrated. However, the remaining page buffers PB2 through PBn may be substantially the same as in FIG 2 be configured to be configured.

Eine Daten-Wiederherstellungsoperation, welche an einem Seitenpuffer PB1 gemäß dem erfinderischen Konzept ausgeführt wird, kann in eine erste Daten-Wiederherstellungsoperation und eine zweite Daten-Wiederherstellungsoperation unterteilt sein. Mit der ersten Daten-Wiederherstellungsoperation können, wenn eine Zell-Programmieroperation fehlgeschlagen ist, Daten, welche bei den Daten-Latches DL1 bis DLk gespeichert sind, als Original-Zieldaten ausgegeben werden. Mit der zweiten Daten-Wiederherstellungsoperation können, wenn eine Zell-Programmieroperation durchgeführt ist, Zieldaten TD unter Verwendung einer Leseoperation zum Wiederherstellen von Daten und eines Wiederherstellungs-Referenzbits RRB wiederhergestellt werden. Der Seitenpuffer PB1 des erfinderischen Konzepts kann konfiguriert sein, so dass er Zieldaten TD unter Verwendung von Daten, welche an bzw. bei den Daten-Latches DL1 bis DLk gespeichert sind, einem Ergebnis einer Leseoperation zur Daten-Wiederherstellung und einem Wiederherstellungs-Referenzbit RRB wiederherstellt. Eine Operation des Wiederherstellens von Zieldaten TD wird vollständiger später beschrieben werden.A data recovery operation performed on a page buffer PB1 according to the inventive concept may be divided into a first data recovery operation and a second data recovery operation. With the first data recovery operation, when a cell program operation has failed, data stored in the data latches DL1 to DLk can be output as the original destination data. With the second data recovery operation, when a cell program operation is performed, target data TD can be recovered by using a data recovery read operation and a recovery reference bit RRB. The page buffer PB1 of the inventive concept may be configured to restore target data TD using data stored at the data latches DL1 to DLk, a result of a data recovery read operation, and a recovery reference bit RRB , An operation of restoring target data TD will be described more fully later.

3 ist ein Diagramm, welches ein Lower-Tail-Wiederherstellungsverfahren veranschaulicht, wenn eine Zell-Programmieroperation fehlgeschlagen ist. Hierin kann ein Lower Tail bzw. hinteres bzw. niedrigeres Ende einen Zielzustand (beispielsweise S2) nicht erreichen, wie Speicherzellen, welche bei A und B in 3 platziert sind. Beispielsweise kann, in dem Fall, dass die Speicherzelle eine „langsame” Zelle ist, diese einen zweiten Zustand S2 nicht erreichen, obwohl eine gegenwärtige Programmierschleife eine maximale Programmierschleife erreicht. Eine Speicherzelle, welche bei A platziert ist, kann eine Schwellenspannung höher als ein Lesepegel RD haben und eine Speicherzelle, welche bei B platziert ist, kann eine Schwellenspannung niedriger als der Lesepegel RD haben. Hierin kann der Lesepegel RD ein Pegel für eine Daten-Wiederherstellungsoperation sein. Eine Speicherzelle, welche bei A oder B platziert ist, macht keine Leseoperation für eine Daten-Wiederherstellung notwendig. Der Grund kann sein, dass Daten-Latches DL1 bis DLk (es sei Bezug genommen auf 2), welche einer Speicherzelle entsprechen, welche bei A oder B platziert ist, Daten speichern, welche einen Fehlerzustand einer Zell-Programmieroperation anzeigen. Das heißt, Daten-Latches DL1 bis DLk (es sei Bezug genommen auf 2), welche einer Speicherzelle entsprechen, welche bei A oder B platziert ist, können Zieldaten TD, welche dem zweiten Zustand S2 entsprechen, welcher vorangehend geladen wurde, beibehalten. Demnach kann eine Speicherzelle, welche bei A oder B platziert ist, als ein Lower-Tail-Fehlerbit beurteilt werden, und Daten, welche bei den Daten-Latches DL1 bis DLk gespeichert sind, können als Original-Zieldaten während einer Daten-Wiederherstellungsoperation wiederhergestellt werden. 3 Figure 12 is a diagram illustrating a lower-tail recovery procedure when a cell-programming operation has failed. Herein, a lower tail can not reach a target state (eg, S2), such as memory cells which are at A and B in FIG 3 are placed. For example, in the case that the memory cell is a "slow" cell, it may not reach a second state S2, although a current program loop reaches a maximum program loop. A memory cell placed at A may have a threshold voltage higher than a read level RD, and a memory cell placed at B may have a threshold voltage lower than the read level RD. Herein, the read level RD may be a level for a data restoration operation. A memory cell placed at A or B does not require a data recovery read operation. The reason may be that data latches DL1 to DLk (refer to FIG 2 ) corresponding to a memory cell placed at A or B store data indicating an error state of a cell program operation. That is, data latches DL1 to DLk (refer to FIG 2 ) corresponding to a memory cell placed at A or B may maintain target data TD corresponding to the second state S2 which has been previously charged. Thus, a memory cell placed at A or B may be judged as a lower-tail error bit, and data stored at the data latches DL1 to DLk may be restored as original target data during a data recovery operation ,

4 ist ein Diagramm, welches Datenzustände von Latches eines Seitenpuffers beim Durchführen einer Lower-Tail-Daten-Wiederherstellungsoperation in 3 veranschaulicht. Untenstehend werden Datenzustände von Latches bei einer Lower-Tail-Daten-Wiederherstellungsoperation unter Bezugnahme auf die 2, 3, und 4 beschrieben werden. Zur Erleichterung der Beschreibung wird angenommen, dass der Zielzustand ein zweiter Zustand S2 ist. Wenn ein Zielzustand ein zweiter Zustand S2 ist, können bei einer Programmieroperation Daten-Latches DL1 bis DLk Daten empfangen, welche dem zweiten Zustand S2 entsprechen, und ein zusätzliches Latch AL kann einen Wert von 0 speichern. Die Daten-Latches DL1 bis DLk, welche dem zweiten Zustand entsprechen, können Daten jeweils demgemäß speichern, ob eine Zell-Programmieroperation durchgeführt oder fehlgeschlagen ist. Wenn Daten der Daten-Latches DL1 bis DLk ein Passiermuster haben, welches anzeigt, dass eine Zell-Programmieroperation durchgeführt ist, mag eine Lower-Tail-Daten-Wiederherstellungsoperation nicht benötigt werden. Andererseits kann, wenn Daten der Daten-Latches DL1 bis DLk kein Passiermuster haben, welches anzeigt, dass eine Zell-Programmieroperation durchgeführt ist, d. h., wenn Daten der Daten-Latches DL1 bis DLk Daten entsprechend dem zweiten Zustand S2 halten, eine Speicherzelle, welche bei A oder B platziert ist, als ein Lower-Tail-Fehlerbit beurteilt werden. Demnach können Daten S2, welche bei den Latches DL1 bis DLk aufrechterhalten werden, als die Original-Zieldaten wiederhergestellt werden. Mit der oben beschriebenen Lower-Tail-Daten-Wiederherstellungsoperation können, wenn Daten der Daten-Latches DL1 bis DLk kein Passiermuster sind, welches eine durchgeführte Zell-Programmieroperation anzeigt, diese als die Original-Zieldaten wiederhergestellt werden. 4 FIG. 15 is a diagram illustrating data states of page buffer latches when performing a lower-tail data recovery operation in FIG 3 illustrated. Hereinafter, data states of latches in a lower-tail data recovery operation will be described with reference to FIGS 2 . 3 , and 4 to be discribed. For convenience of description, it is assumed that the target state is a second state S2. When a target state is a second state S2, in a program operation, data latches DL1 to DLk may receive data corresponding to the second state S2, and an additional latch AL may store a value of 0. The data latches DL1 to DLk corresponding to the second state may respectively store data according to whether a cell program operation has been performed or failed. When data of the data latches DL1 to DLk have a pass pattern indicating that a cell program operation has been performed, a lower tail data recovery operation may not be needed. On the other hand, when data of the data latches DL1 to DLk have no pass pattern indicating that a cell program operation is performed, that is, when data of the data latches DL1 to DLk hold data corresponding to the second state S2, a memory cell may placed at A or B are judged to be a lower tail error bit. Thus, data S2 maintained at the latches DL1 to DLk can be restored as the original target data. With the above-described lower-tail data recovery operation, when data of the data latches DL1 to DLk are not a pass pattern indicative of a performed cell program operation, they can be restored as the original target data.

5 ist ein Diagramm, welches ein Upper-Tail-Daten-Wiederherstellungsverfahren veranschaulicht, wenn eine Zell-Programmieroperation durchgeführt ist. Hierin kann eine Upper-Tail passierte bzw. vorübergegangene Speicherzelle anzeigen, welche aufgrund einer Programmierstörung (beispielsweise Kopplung) oder einer Lesestörung überprogrammiert sind. Eine Upper-Tail-Daten-Wiederherstellungsoperation kann in eine erste Upper-Tail-Wiederherstellungsoperation (➀), welche während einer Leseoperation für eine Daten-Wiederherstellung ausgeführt wird, und eine zweite Upper-Tail-Daten-Wiederherstellungsoperation (➁) unterteilt sein, welche unter Verwendung einer Leseoperation und eines Wiederherstellungs-Referenzbits RRB, gemäß einem Beurteilungsergebnis eines Upper-Tail-Fehlerbits ausgeführt wird. Hierin kann eine Beurteilung eines Upper-Tail-Fehlerbits getätigt werden gemäß einer Leseoperation auf einer Speicherzelle, welche die Zell-Programmieroperation passiert hat. Beispielsweise mag eine Speicherzelle, welche bei C platziert ist (beurteilt als eine An-Zelle gemäß einem Ergebnis der Leseoperation) nicht als ein Upper-Tail-Fehlerbit beurteilt werden. Eine Speicherzelle, welche bei D platziert ist (beurteilt als eine Aus-Zelle) kann als ein Upper-Tail-Fehlerbit beurteilt werden. Ein Wiederherstellungs-Referenzbit RRB kann ein Wert sein, welcher einer Upper-Tail-Daten-Wiederherstellung eines ersten Zustandes S1 zugeordnet ist. „1” kann dem ersten Zustand S1 entsprechen und „0” kann dem zweiten Zustand S2 entsprechen. Mit der ersten Upper-Tail-Daten-Wiederherstellungsoperation können in dem Fall, dass ein Ergebnis der Leseoperation für eine Daten-Wiederherstellung eine An-Zelle anzeigt (beispielsweise eine Speicherzelle platziert bei C) Daten, welche dem ersten Zustand S1 entsprechen, als Zieldaten TD wiederhergestellt werden. Mit der zweiten Upper-Tail-Daten-Wiederherstellungsoperation können in dem Fall, dass ein Ergebnis einer Leseoperation für eine Daten-Wiederherstellung eine Aus-Zelle anzeigt (beispielsweise eine Speicherzelle platziert bei D) Daten, welche dem ersten Zustand entsprechen, als Zieldaten basierend auf einem Wert (beispielsweise „1”) eines Wiederherstellungs-Referenzbits RRB wiederhergestellt werden. 5 FIG. 15 is a diagram illustrating an upper-tail data restoration process when a cell-program operation is performed. FIG. Herein, an upper-tail may indicate a leaked memory cell which is over programmed due to a program disturbance (eg, coupling) or a read disturb. An upper-tail data recovery operation may be divided into a first upper-tail recovery operation (➀) performed during a data-recovery read operation and a second upper-tail data recovery operation (➁) using a read operation and a recovery reference bit RRB, according to a judgment result of an upper-tail error bit. Herein, judgment of an upper tail error bit may be made according to a read operation on a memory cell which has passed the cell program operation. For example, a memory cell placed at C (judged as an on cell according to a result of the read operation) may not be judged as an upper tail error bit. A memory cell placed at D (judged as an off cell) may be judged as an upper tail error bit. A recovery reference bit RRB may be a value associated with upper tail data recovery of a first state S1. "1" may correspond to the first state S1 and "0" may correspond to the second state S2. With the first upper-tail data recovery operation, in the case that a result of the data recovery read operation indicates an on cell (for example, a memory cell placed at C), data corresponding to the first state S1 may be used as destination data TD be restored. With the second upper-tail data recovery operation, in the case where a result of a data recovery read operation indicates an off-cell (for example, a memory cell placed at D), data corresponding to the first state may be used as target data based on a value (for example, "1") of a recovery reference bit RRB.

6 ist ein Diagramm, welches Datenzustände von Latches eines Seitenpuffers bei einer Upper-Tail-Wiederherstellungsoperation in 5 veranschaulicht. Untenstehend werden Datenzustände von Latches während einer Upper-Tail-Daten-Wiederherstellungsoperation unter Bezugnahme auf die 2, 5 und 6 beschrieben werden. Zur Erleichterung der Beschreibung wird angenommen, dass ein Zielzustand ein erster Zustand S1 ist. Wenn ein Zielzustand ein erster Zustand S1 ist, können bei einer Programmieroperation Daten-Latches DL1 bis DLk Daten empfangen, welche dem ersten Zustand S1 entsprechen, und ein zusätzliches Latch AL kann einen Wert von 1 speichern. Zur Erleichterung der Beschreibung wird angenommen, dass eine Zell-Programmieroperation einer Speicherzelle, welche dem ersten Zustand S1 entspricht, durchgeführt ist. In diesem Fall können Daten der Daten-Latches DL1 bis DLk, welche dem ersten Zustand S1 entsprechen, in ein Passiermuster geändert werden, welches anzeigt, dass eine Zell-Programmieroperation durchgeführt ist. Wenn ein Sensier-Latch SL Daten, welche einer An-Zelle entsprechen, als Ergebnis einer Leseoperation für eine Daten-Wiederherstellung bei einer Upper-Tail-Wiederherstellungsoperation des ersten Zustandes S1 speichert, können Daten, welche dem ersten Zustand S1 entsprechen, als Zieldaten TD basierend auf gelesenen Daten wiederhergestellt werden. Eine Speicherzelle jedoch, welche bei C platziert ist, mag beurteilt werden, kein Upper-Tail-Fehlerbit zu sein. Wenn ein Sensier-Latch SL Daten, welcher einer Aus-Zelle entsprechen, als ein Ergebnis einer Leseoperation zur Daten-Wiederherstellung bei einer Upper-Tail-Wiederherstellungsoperation des ersten Zustandes S1 speichert, kann eine Speicherzelle, welche bei D platziert ist, beurteilt werden, ein Upper-Tail-Fehlerbit des ersten Zustandes S1 zu sein, unter Verwendung gelesener Daten und eines Wiederherstellungs-Referenzbits RRB von „1”, welches in bzw. bei dem zusätzlichen Latch AL gespeichert ist, und Daten S1, welche dem ersten Zustand S1 entsprechen, können zu Zieldaten TD wiederhergestellt werden. In Kürze können mit der oben beschriebenen Upper-Tail-Daten-Wiederherstellungsoperation, wenn Daten von Daten-Latches DL1 bis DLk ein Passiermuster sind, welches eine durchgeführte Zell-Programmieroperation anzeigt, Zieldaten TD unter Verwendung einer Leseoperation zur Daten-Wiederherstellung und einem Wiederherstellungs-Referenzbit RRB wiederhergestellt werden. Ein Lower-Tail-Daten-Wiederherstellungsverfahren kann unter Bezugnahme auf die 3 und 4 beschrieben werden, und ein Upper-Tail-Daten-Wiederherstellungsverfahren kann unter Bezugnahme auf die 5 und 6 beschrieben werden. Indes ist es möglich, Zieldaten TD unabhängig davon, ob eine Zell-Programmieroperation durchgeführt ist oder fehlgeschlagen ist, wiederherzustellen. 6 FIG. 15 is a diagram showing data states of page buffer latches in an upper tail recovery operation in FIG 5 illustrated. Hereinafter, data states of latches during an upper-tail data recovery operation will be described with reference to FIGS 2 . 5 and 6 to be discribed. For convenience of description, it is assumed that a target state is a first state S1. When a target state is a first state S1, in a program operation, data latches DL1 to DLk may receive data corresponding to the first state S1, and an additional latch AL may store a value of one. For ease of description, it is assumed that a cell program operation of a memory cell corresponding to the first state S1 is performed. In this case, data of the data latches DL1 to DLk corresponding to the first state S1 may be changed to a pass pattern indicating that a cell program operation has been performed. When a sense latch SL stores data corresponding to an on cell as a result of a data recovery read operation in an upper tail recovery operation of the first state S1, data corresponding to the first state S1 may be used as destination data TD be restored based on read data. However, a memory cell placed at C may be judged not to be an upper-tail error bit. When a sense latch SL stores data corresponding to an off-cell as a result of a data recovery read operation in a top-state restore operation of the first state S1, a memory cell placed at D can be judged. to be an upper-tail error bit of the first state S1, using read data and a recovery reference bit RRB of "1" stored in the additional latch AL, and data S1 corresponding to the first state S1 , can be recovered to destination data TD. Briefly, with the above-described upper-tail data recovery operation, when data of data latches DL1 to DLk are a pass pattern indicating a performed cell program operation, target data TD can be used by using a data recovery read operation and a recovery operation. Reference bit RRB be restored. A lower-tail Data recovery method can be with reference to the 3 and 4 and an upper-tail data recovery method can be described with reference to FIGS 5 and 6 to be discribed. Meanwhile, it is possible to recover target data TD regardless of whether a cell program operation has been performed or failed.

7 ist ein Diagramm, welches ein Daten-Wiederherstellungsverfahren gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 7 kann ein Daten-Wiederherstellungsverfahren eine Kombination eines Lower-Tail-Daten-Wiederherstellungsverfahrens eines zweiten Zustandes S2 in 3 und eines Upper-Tail-Daten-Wiederherstellungsverfahrens eines ersten Zustands S1 in 5 sein. Da eine Speicherzelle A/B, welche beurteilt ist, ein Lower-Tail-Fehlerbit des zweiten Zustandes S2 zu sein, in einem Zustand ist, in dem eine Zell-Programmieroperation nicht durchgeführt ist, können Original-Zieldaten, welche bei Daten-Latches DL1 bis DLk gespeichert sind, als die Zieldaten TD wiederhergestellt werden. Da eine Speicherzelle C, welche ein Upper-Tail des ersten Zustandes S1 ist und nicht beurteilt ist, ein Upper-Tail-Fehlerbit zu sein, als ein Ergebnis einer Leseoperation für eine Daten-Wiederherstellung eine An-Zelle ist, können Daten, welche dem ersten Zustand S1 entsprechen, zu Zieldaten TD wiederhergestellt werden. Da eine Speicherzelle D, welche ein Upper-Tail des ersten Zustandes S1 ist und beurteilt ist, ein Upper-Tail-Bit zu sein, als ein Ergebnis einer Leseoperation für eine Daten-Wiederherstellung eine Aus-Zelle ist, und ein Wiederherstellungs-Referenzbit RRB einen Wert von „1” hat, was eine Wiederherstellung eines Upper-Tail-Fehlerbits des ersten Zustandes S1 anzeigt, können Daten, welche dem ersten Zustand S1 entsprechen, zu Zieldaten TD wiederhergestellt werden. 7 FIG. 15 is a diagram illustrating a data recovery method according to an embodiment of the inventive concept. FIG. Referring to 7 For example, a data recovery method may include a combination of a lower tail data recovery method of a second state S2 in FIG 3 and an upper-tail data recovery method of a first state S1 in FIG 5 be. Since a memory cell A / B which is judged to be a lower-tail error bit of the second state S2 is in a state in which a cell program operation is not performed, original destination data obtained at data latches DL1 until DLk are stored as the target data TD is restored. Since a memory cell C, which is an upper tail of the first state S1 and is not judged to be an upper tail error bit, as a result of a data recovery read operation, is an on cell, data corresponding to the one first state S1, to be restored to target data TD. Since a memory cell D, which is an upper tail of the first state S1 and judged to be an upper tail bit, is an off-cell as a result of a data recovery read operation, and a recovery reference bit RRB has a value of "1" indicating restoration of an upper-tail error bit of the first state S1, data corresponding to the first state S1 can be restored to destination data TD.

8 ist ein Diagramm, welches Datenzustände von Latches eines Seitenpuffers bei einer Daten-Wiederherstellungsoperation in 7 veranschaulicht. Bezug nehmend auf die 2, 7 und 8 können Datenzustände von Latches bei einer Daten-Wiederherstellungsoperation aus einer Kombination von Datenzuständen von Latches auf einem zweiten Zustand von S2 in 4 und Datenzuständen Latches auf einem ersten Zustand S1 in 6 gebildet werden. Wie in 8 veranschaulicht ist, kann, wenn Daten von Daten-Latches DL1 bis DLk auf einem zweiten Zustand S2 kein Passiermuster sind, welches eine durchgeführte Zell-Programmieroperation anzeigt, eine Speicherzelle, welche bei A oder B platziert ist, beurteilt werden, ein Lower-Tail-Fehlerbit des zweiten Zustandes S2 zu sein, und Daten, welche bei den Daten-Latches DL1 bis DLk gespeichert sind, können direkt als die Daten TD wiederhergestellt werden. Wenn aber Daten der Daten-Latches DL1 bis DLk auf dem ersten Zustand S1 ein Passiermuster sind, welches eine durchgeführte Zell-Programmieroperation anzeigt, und Daten, welche einer An-Zelle entsprechen, bei einem Sensier-Latch SL als ein Ergebnis einer Leseoperation für eine Daten-Wiederherstellung gespeichert sind, können Daten S1, welche dem ersten Zustand entsprechen, als Zieldaten TD basierend auf gelesenen Daten wiederhergestellt werden. Hierin mag eine Speicherzelle, welche bei B platziert ist, nicht beurteilt werden, ein Upper-Tail-Fehlerbit zu sein. Wenn Daten der Daten-Latches DL1 bis DLk auf dem ersten Zustand S1 ein Passiermuster sind, welches eine durchgeführte Zell-Programmieroperation anzeigt, und Daten, welche einer Aus-Zelle entsprechen, bei einem Sensier-Latch SL als ein Ergebnis einer Leseoperation für eine Daten-Wiederherstellung gespeichert werden, kann eine Speicherzelle, welche bei D platziert ist, beurteilt werden, ein Upper-Tail-Fehlerbit des ersten Zustandes S1 zu sein basierend auf gelesenen Daten und einem Wiederherstellungs-Referenzbit RRB, und Daten S1, welche dem ersten Zustand S1 entsprechen, können als Zieldaten TD wiederhergestellt werden. In Kürze können mit der oben beschriebenen Daten-Wiederherstellungsoperation, wenn eine Zell-Programmieroperation fehlgeschlagen ist, Original-Zieldaten, welche bei Daten-Latches DL1 bis DLk gespeichert sind, als Zieldaten TD wiederhergestellt werden. Wenn eine Zell-Programmieroperation durchgeführt ist, können Zieldaten TD unter Verwendung einer Leseoperation für eine Daten-Wiederherstellung und eines Wiederherstellungs-Referenzbits RRB wiederhergestellt werden. 8th FIG. 15 is a diagram showing data states of page buffer latches in a data recovery operation in FIG 7 illustrated. Referring to the 2 . 7 and 8th For example, data states of latches in a data recovery operation may be obtained from a combination of data states of latches on a second state of S2 in FIG 4 and data states latches on a first state S1 in FIG 6 be formed. As in 8th 1, when data of data latches DL1 to DLk at a second state S2 are not a passing pattern indicative of a performed cell program operation, a memory cell placed at A or B may be judged to be a lower tail. Error bit of the second state S2, and data stored in the data latches DL1 to DLk can be directly restored as the data TD. However, if data of the data latches DL1 to DLk at the first state S1 are a pass pattern indicating a performed cell program operation, and data corresponding to an on cell at a sense latch SL as a result of a read operation for one Data recovery are stored, data S1 corresponding to the first state may be recovered as the destination data TD based on read data. Herein, a memory cell placed at B may not be judged to be an upper-tail error bit. When data of the data latches DL1 to DLk at the first state S1 is a pass pattern indicating a performed cell program operation, and data corresponding to an off cell at a sense latch SL as a result of a read operation for a data Recovery, a memory cell placed at D may be judged to be an upper-tail error bit of the first state S1 based on read data and a recovery reference bit RRB, and data S1 corresponding to the first state S1 can be recovered as target data TD. In short, with the data restoration operation described above, when a cell program operation has failed, original destination data stored in data latches DL1 to DLk can be restored as the destination data TD. When a cell program operation is performed, destination data TD can be recovered by using a data recovery read operation and a recovery reference bit RRB.

9 ist ein Flussdiagramm, welches schematisch ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 9 kann eine Programmieroperation unter Verwendung von Zieldaten TD ausgeführt werden. In Operation S110 können Seitenpuffer PB1 bis PBn, welche Speicherzellen entsprechen, jeweils durch ein Wiederherstellungs-Referenzbit RRB gesetzt werden. In Operation S120 kann beurteilt werden, ob eine Daten-Wiederherstellungsoperation benötigt wird. Hierin kann die Daten-Wiederherstellungsoperation starten, wenn eine Gesamt-Programmieroperation fehlgeschlagen ist oder wenn ein Daten-Wiederherstellungsbefehl von einer externen Vorrichtung empfangen wird. Wenn eine Daten-Wiederherstellungsoperation nicht benötigt wird, kann eine Programmieroperation beendet werden. Wenn eine Daten-Wiederherstellungsoperation benötigt wird, können in Operation S130 Zieldaten TD unter Verwendung von Daten-Latches DL1 bis DLk, einer Leseoperation auf Speicherzellen und einem Wiederherstellungs-Referenzbit RRB wiederhergestellt werden. 9 FIG. 10 is a flowchart schematically illustrating a programming method of a nonvolatile memory device according to an embodiment of the inventive concept. Referring to 9 For example, a program operation may be performed using destination data TD. In operation S110, page buffers PB1 to PBn corresponding to memory cells may be set by a recovery reference bit RRB, respectively. In operation S120, it may be judged whether a data recovery operation is needed. Herein, the data recovery operation may start when a total program operation has failed or when a data recovery command is received from an external device. If a data recovery operation is not needed, a program operation may be terminated. If a data recovery operation is needed, in operation S130 destination data TD may be recovered using data latches DL1 to DLk, a read operation on memory cells, and a recovery reference bit RRB.

10 ist ein Flussdiagramm, welches schematisch eine Daten-Wiederherstellungsoperation, welche in 9 beschrieben ist, veranschaulicht. Bezug nehmend auf 10 kann in Operation S131 beurteilt werden, ob Daten von Daten-Latches DL1 bis DLk ein Passiermuster haben, welches eine durchgeführte Zell-Programmieroperation anzeigt. Wenn Daten von Daten-Latches DL1 bis DLk kein Passiermuster darin haben, können die Daten-Latches DL1 bis DLk Original-Zieldaten aufrechterhalten. Der Grund kann sein, dass eine Zell-Programmieroperation fehlgeschlagen ist. In Operation S132 können Original-Zieldaten direkt von den Daten-Latches DL1 bis DLk wiederhergestellt werden. Andererseits kann, wenn Daten von Daten-Latches DL1 bis DLk ein Passiermuster haben, d. h. wenn eine Zell-Programmieroperation durchgeführt ist, in Operation S133 eine Leseoperation für eine Daten-Wiederherstellung durchgeführt werden. In Operation S134 kann beurteilt werden, ob die gelesenen Daten Aus-Zell-Daten sind. 10 FIG. 3 is a flowchart schematically illustrating a data Restore operation, which in 9 is illustrated. Referring to 10 For example, in operation S131, it can be judged whether data of data latches DL1 to DLk have a pass pattern indicative of a performed cell program operation. When data of data latches DL1 to DLk have no pass pattern therein, the data latches DL1 to DLk can maintain original target data. The reason may be that a cell programming operation has failed. In operation S132, original target data can be recovered directly from the data latches DL1 to DLk. On the other hand, when data of data latches DL1 to DLk have a pass pattern, that is, when a cell program operation is performed, a data recovery read operation may be performed in operation S133. In operation S134, it can be judged whether the read data is out-of-cell data.

Wenn die gelesenen Daten nicht Aus-Zell-Daten sondern An-Zell-Daten sind, können in Operation S135 Daten, welche einem ersten Zustand S1 entsprechen, zu Zieldaten TD basierend auf einem Passiermuster der Daten-Latches DL1 bis DLk und der gelesenen Daten wiederhergestellt werden. Wenn die gelesenen Daten Aus-Zell-Daten sind, kann in Operation S136 ein Upper-Tail-Fehlerbit (beispielsweise D in 7) des ersten Zustands S1 gemäß Daten der Daten-Latches DL1 bis DLk, den gelesenen Daten und einem Wiederherstellungs-Referenzbit RRB beeurteilt werden, und Daten S1, welche dem ersten Zustand S1 entsprechen, können als Zieldaten TD wiederhergestellt werden. Mit der Daten-Wiederherstellungsoperation können Zieldaten TD unter Verwendung von Daten der Daten-Latches DL1 bis DLk, gelesener Daten und einem Wiederherstellungs-Referenzbit RRB wiederhergestellt werden.If the read data is not off-cell data but on-cell data, in operation S135, data corresponding to a first state S1 may be restored to target data TD based on a pass pattern of the data latches DL1 to DLk and the read data become. If the read data is out-of-cell data, in operation S136, an upper-tail error bit (eg, D in 7 ) of the first state S1 according to data of the data latches DL1 to DLk, the read data and a recovery reference bit RRB, and data S1 corresponding to the first state S1 can be restored as the target data TD. With the data recovery operation, target data TD can be recovered by using data of the data latches DL1 to DLk, read data, and a recovery reference bit RRB.

11 ist ein Flussdiagramm, welches schematisch ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Untenstehend wird ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden. In Operation S210 können Zieldaten TD auf wenigstens ein erstes Latch (beispielsweise Daten-Latches DL1 bis DLk) geladen werden, und ein Wiederherstellungs-Referenzbit RRB kann bei einem zweiten Latch (beispielsweise einem zusätzlichen Latch AL) gespeichert werden. In Operation S220 kann die Steuerlogik 140 einen Adressdekoder 120 und eine Eingabe-/Ausgabeschaltung 130 derart steuern, dass die geladenen Zieldaten TD in ausgewählte Speicherzellen programmiert werden. Beispielsweise können Programmierspannungen an Wortleitungen, welche mit den Speicherzellen verbunden sind, angelegt werden derart, dass Schwellenspannungen der Speicherzellen Programmierzustände, die den Zieldaten TD entsprechen, erreichen. In Operation S230 kann ein Programm-Verifikationsoperation durchgeführt werden, um zu beurteilen, ob die Speicherzellen normal programmiert sind. Hierin kann die Programm-Verifikationsoperation eine Leseoperation sein, welche unter Verwendung eines Verifikationspegels jeder Speicherzelle ausgeführt wird. Wenn eine Verifikationsoperation jeder Speicherzelle durchgeführt ist, können Daten-Latches DL1 bis DLk eines Seitenpuffers, welcher einer Speicherzelle entspricht, mit Passiermuster-Daten (beispielsweise Daten, welche einen gelöschten Zustand anzeigen) beschrieben werden. Demnach kann ein Passier-/Fehler-Ergebnis einer Gesamt-Programmier-Verifikationsoperation gemäß Daten, welche bei den Daten-Latches DL1 bis DLk jedes Seitenpuffers gespeichert sind, beurteilt werden. 11 FIG. 10 is a flowchart schematically illustrating a programming method of a nonvolatile memory device according to an embodiment of the inventive concept. Hereinafter, a programming method of a nonvolatile memory device will be described with reference to the accompanying drawings. In operation S210, target data TD may be loaded onto at least a first latch (eg, data latches DL1 to DLk), and a recovery reference bit RRB may be stored at a second latch (eg, additional latch AL). In operation S220, the control logic 140 an address decoder 120 and an input / output circuit 130 such that the loaded target data TD is programmed into selected memory cells. For example, programming voltages may be applied to word lines connected to the memory cells such that threshold voltages of the memory cells reach programming states corresponding to the target data TD. In operation S230, a program verification operation may be performed to judge whether the memory cells are programmed normally. Herein, the program verification operation may be a read operation performed using a verification level of each memory cell. When a verification operation of each memory cell is performed, data latches DL1 to DLk of a page buffer corresponding to a memory cell may be described with pass pattern data (for example, data indicating a cleared state). Thus, a pass / fail result of a total program verify operation may be judged according to data stored in the data latches DL1 to DLk of each page buffer.

Wenn die Programm-Verifikationsoperation durchgeführt ist, kann in Operation 240 die Programmieroperation als durchgeführt bestimmt werden. Danach schreitet das Verfahren zur Operation S250 voran. Wenn die Programmier-Verifikationsoperation fehlgeschlagen ist, kann in Operation S245 die Programmieroperation als fehlgeschlagen bestimmt werden. Danach schreitet das Verfahren zur Operation S260 voran. In Operation S250 kann beurteilt werden, ob eine Wiederherstellung der Zieldaten TD benötigt wird. Eine Operation des Wiederherstellens von Zieldaten TD kann in Antwort auf einen Daten-Wiederherstellungsbefehl, welcher für eine nichtflüchtige Speichervorrichtung 100 von einer externen Vorrichtung vorgesehen wird, durchgeführt werden.When the program verification operation is performed, in operation 240 the programming operation is determined to have been performed. Thereafter, the process proceeds to operation S250. If the program verify operation has failed, the program operation may be determined to be failed in operation S245. Thereafter, the process proceeds to operation S260. In operation S250, it may be judged whether recovery of the target data TD is needed. A target data recovery operation TD may be performed in response to a data recovery command used for a non-volatile memory device 100 provided by an external device.

Wie obenstehend beschrieben ist, muss, obwohl die Programmieroperation als durchgeführt bestimmt ist, ein Lower-Tail-Fehlerbit (beispielsweise A und B in den 3 und 7) eines zweiten Zustandes S2 existieren. Der Grund kann sein, dass ein Upper-Tail-Fehlerbit (beispielsweise D in den 5 und 7) eines ersten Zustands S1 existiert und die Programmieroperation durchgeführt ist. Demnach ist es notwendig, das Upper- oder Lower-Tail-Fehlerbit für eine Verbesserung der Datenzuverlässigkeit wiederherzustellen.As described above, although the program operation is determined to be performed, a lower tail error bit (e.g., A and B in the 3 and 7 ) of a second state S2 exist. The reason may be that an upper-tail error bit (for example, D in the 5 and 7 ) of a first state S1 exists and the programming operation is performed. Thus, it is necessary to recover the upper or lower tail error bit for data reliability improvement.

In beispielhaften Ausführungsformen kann ein Speichersystem, welches eine hohe Datenzuverlässigkeit benötigt, konfiguriert sein, so dass es einen Daten-Wiederherstellungsbefehl für die nichtflüchtige Speichervorrichtung 100 jederzeit während einer Programmieroperation für die Datenzuverlässigkeit vorsieht. In anderen beispielhaften Ausführungsformen kann ein Daten-Wiederherstellungsbefehl augenblicklich für die nichtflüchtige Speichervorrichtung 100 von einer externen Vorrichtung gemäß Informationen, welche mit einem Programmierfehler verbunden sind, vorgesehen sein.In exemplary embodiments, a memory system that requires high data reliability may be configured to have a data recovery command for the nonvolatile memory device 100 at any time during a program operation for data reliability. In other exemplary embodiments, a data recovery command may be instantaneous for the non-volatile storage device 100 from an external device according to information associated with a programming error.

Wenn eine Wiederherstellung von Zieldaten TD benötigt wird, können Zieldaten TD unter Verwendung wenigstens einer Leseoperation und eines Wiederherstellungs-Referenzbits RRB, welches bei einem zweiten Latch gespeichert ist, wiederhergestellt werden. Hierin kann eine Zieldaten-Wiederherstellungsoperation, welche Operation S260 entspricht, gleich durchgeführt werden, wie unter Bezugnahme auf die 1 bis 10 beschrieben ist, und eine Beschreibung davon wird demnach ausgelassen. In Operation S280 kann eine Rückkopier-Programmieroperation (Copy Back Program Operation) durchgeführt werden, um die wiederhergestellten Zieldaten TD bei einer neuen physikalischen Seite zu programmieren. Danach kann das Verfahren beendet werden. Wenn eine Daten-Wiederherstellungsoperation benötigt wird, kann ein Fehlerbit (beispielsweise ein Upper-Tail-Fehlerbit/Lower-Tail-Fehlerbit) eines bestimmten Zustandes wiederhergestellt werden unter Verwendung von Daten von Datenlatches DL1 bis DLk, wenigstens einer Leseoperation und einem Wiederherstellungs-Referenzbit RRB. Zieldaten TD, welche durch eine Daten-Wiederherstellungsoperation wiederhergestellt werden, können direkt für eine neue Programmieroperation verwendet werden. Das erfinderische Konzept ist jedoch nicht darauf beschränkt. Beispielsweise kann ein Fehler der wiederhergestellten Zieldaten TD korrigiert werden und die fehlerkorrigierten Zieldaten TD können für eine neue Programmieroperation verwendet werden. When recovery of target data TD is required, target data TD may be recovered using at least one read operation and a recovery reference bit RRB stored at a second latch. Herein, a target data recovery operation corresponding to operation S260 may be performed the same as referring to FIG 1 to 10 is described, and a description thereof is therefore omitted. In operation S280, a copy back program operation may be performed to program the recovered target data TD at a new physical page. After that, the procedure can be ended. When a data recovery operation is needed, an error bit (eg, an upper tail error bit) of a particular state may be recovered using data from data latches DL1 to DLk, at least one read operation, and a recovery reference bit RRB , Target data TD, which is recovered by a data recovery operation, can be used directly for a new program operation. However, the inventive concept is not limited thereto. For example, an error of the restored target data TD may be corrected and the error corrected target data TD may be used for a new program operation.

12 ist ein Flussdiagramm, welches schematisch ein Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Ein Programmierverfahren in 12 kann gleich zu demjenigen in 11 sein mit der Ausnahme, dass Operationen S275 und S270 hinzugefügt werden. In Operation S265 können wiederhergestellte Zieldaten an einen externen Speichercontroller ausgegeben werden. In Operation S270 kann der Speichercontroller einen Fehler in den wiederhergestellten Zieldaten korrigieren. Beispielsweise kann der Speichercontroller einen Fehler in den wiederhergestellten Zieldaten unter Verwendung eines Fehlerkorrektur-Codes (ECC = Error Correction Code) korrigieren. Das erfinderische Konzept ist jedoch nicht darauf beschränkt. Eine Fehlerkorrektur-Operation kann durch eine ECC-Schaltung ausgeführt werden, welche innerhalb einer nichtflüchtigen Speichervorrichtung 100 vorgesehen ist. Mit einem Programmierverfahren des erfinderischen Konzepts ist es möglich, eine Datenzuverlässigkeit durch ein Korrigieren eines Fehlers von wiederhergestellten Zieldaten zu verbessern. Ein Seitenpuffer PB1 in 2 kann ein zusätzliches Latch AL zum Speichern eines Wiederherstellungs-Referenzbits RRB haben. Das zusätzliche Latch AL kann als ein Latch verwendet werden, welches eine andere Funktion vorsieht. Beispielsweise kann das zusätzliche Latch AL als ein Forcing-Bit-Latch für ein Bitleitungs-Forcing verwendet werden. 12 FIG. 10 is a flowchart schematically illustrating a programming method of a nonvolatile memory device according to another embodiment of the inventive concept. FIG. A programming procedure in 12 can be equal to the one in 11 with the exception that S275 and S270 operations are added. In operation S265, restored destination data may be output to an external memory controller. In operation S270, the memory controller may correct an error in the recovered target data. For example, the memory controller may correct an error in the recovered target data using an Error Correction Code (ECC). However, the inventive concept is not limited thereto. An error correction operation may be performed by an ECC circuit operating within a nonvolatile memory device 100 is provided. With a programming method of the inventive concept, it is possible to improve data reliability by correcting an error of restored target data. A page buffer PB1 in 2 may have an additional latch AL for storing a recovery reference bit RRB. The additional latch AL can be used as a latch which provides a different function. For example, the additional latch AL may be used as a forcing bit latch for bit line forcing.

Wie nun hierin untenstehend beschrieben werden wird, kann eine Bitleitungs-Forcing-Operation durchgeführt werden, um eine Spannung an eine Bitleitung bei einer Programmieroperation, welche ein Zweischritt-Verifikationsverfahren verwendet, anzulegen, welche höher ist als eine Bitleitungs-Programmierspannung (beispielsweise eine Massespannung) und niedriger als eine Bitleitungs-Inhibitionsspannung (beispielsweise eine Leistungsversorgungsspannung). Das Zweischritt-Verifikationsverfahren kann ausgeführt werden, um einen Programmierzustand zu verifizieren und kann eine Vor-Verifikationsoperation, welche unter Verwendung eines ersten Spannungspegels ausgeführt wird, und eine Haupt-Verifikationsoperation, welche unter Verwendung eines zweiten Spannungspegels ausgeführt wird, aufweisen. Das Zweischritt-Verifikationsverfahren ist in den US-Patenten Nr. 7692970 und 8068361 und den US-Patent-Veröffentlichungs mit den Nummern 2011-0515520 und 2011-0110154 offenbart, deren Gesamtheit hiermit durch Bezugnahme hierin mit eingebunden ist.As will be described hereinbelow, a bit line forcing operation may be performed to apply a voltage to a bit line in a program operation using a two-step verification method higher than a bit line programming voltage (for example, a ground voltage). and lower than a bit line inhibition voltage (for example, a power supply voltage). The two-step verification method may be performed to verify a programming state, and may include a pre-verification operation performed using a first voltage level and a main verification operation performed using a second voltage level. The two-step verification method is in the U.S. Patents No. 7692970 and 8068361 and the US Patent Publication No. 2011-0515520 and 2011-0110154 the entirety of which is hereby incorporated by reference herein.

13 ist ein Blockschaltbild, welches schematisch einen Seitenpuffer gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 13 kann ein Seitenpuffer PB1' ein Sensier-Latch bzw. Abtast-Latch SL, ein Upper-Bit-Latch ML, ein Lower-Bit-Latch LL und ein Forcing-Bit-Latch FL aufweisen. Zieldaten TD können ein Upper-Bit (oder ein Most Significant Bit: MSB) und ein Lower-Bit (oder ein Least Significant Bit: LSB) aufweisen. Während einer Programmieroperation kann das Upper-Bit MSB bei dem Upper-Bit-Latch ML gespeichert werden und ein Lower-Bit LSB kann bei dem Lower-Bit-Latch LL gespeichert werden. Ein Bitleitungs-Forcing-Bit BFB kann bei dem Forcing-Bit-Latch FL gespeichert werden. Das Forcing-Bit-Latch FL kann auch als ein zusätzliches Latch verwendet werden, welches ein Wiederherstellungs-Referenzbit RRB speichert. Das Bitleitungs-Forcing-Bit BFB kann als ein Wiederherstellungs-Referenzbit RRB während einer Daten-Wiederherstellungsoperation verwendet werden. Der Grund kann sein, dass eine besondere Beziehung zwischen dem Bitleitungs-Forcing-Bit BFB und dem Wiederherstellungs-Referenzbit RRB existiert. 13 Fig. 10 is a block diagram schematically illustrating a page buffer according to another embodiment of the inventive concept. Referring to 13 For example, a page buffer PB1 'may include a sense latch SL, an upper bit latch ML, a lower bit latch LL, and a forcing bit latch FL. Target data TD may comprise an upper bit (or a must significant bit: MSB) and a lower bit (or a least significant bit: LSB). During a program operation, the upper bit MSB may be stored at the upper bit latch ML and a lower bit LSB may be stored at the lower bit latch LL. A bit-line forcing bit BFB may be stored at the forcing bit latch FL. The forcing bit latch FL can also be used as an additional latch which stores a recovery reference bit RRB. The bit-line forcing bit BFB may be used as a recovery reference bit RRB during a data recovery operation. The reason may be that a special relationship exists between the bit-line forcing bit BFB and the recovery reference bit RRB.

Da ein Löschzustand keine Programmieroperation notwendig macht, mag ein Bitleitungs-Forcing nicht notwendig sein. Ebenso kann die Änderung bzw. Wahrscheinlichkeit, dass ein Upper-Tail-Fehlerbit erzeugt wird aufgrund einer Programmierstörung/Lesestörung hoch sein. Demnach können Daten, welche bei dem Forcing-Bit-Latch FL gespeichert sind, als ein Bitleitungs-Forcing-Bit BFB verwendet werden, welches anzeigt, ob das Bitleitungs-Forcing durchgeführt wird, oder als Wiederherstellungs-Referenzbit RRB zum Wiederherstellen eines Upper-Tail-Fehlerbits eines Löschzustands. Andererseits kann, da ein Programmierzustand eine Programmieroperation notwendig macht, das Bitleitungs-Forcing benötigt werden. Ebenso kann die Änderung bzw. Wahrscheinlichkeit, dass ein Upper-Tail-Fehlerbit erzeugt wird, niedriger werden verglichen mit dem Löschzustand. Wenn eine Programmieroperation durchgeführt ist, können Passiermuster-Daten jeweils bei den Upper- und Lower-Bit-Latches ML und LL gespeichert werden. Hierin kann das Passier-Datenmuster Daten sein (beispielsweise „11”), welche einem Löschzustand entsprechen. Wenn eine Zell-Programmieroperation durchgeführt ist, können Zieldaten TD unter Verwendung einer Leseoperation für eine Daten-Wiederherstellung, Daten der Upper- und Lower-Bit-Latches ML und LL und Daten des Forcing-Bit-Latch FL wiederhergestellt werden. Wenn eine Zell-Programmieroperation fehlgeschlagen ist, können Daten, welche bei den Upper- und Lower-Bit-Latches ML und LL gespeichert sind, direkt als Original-Zieldaten wiederhergestellt werden. Der Seitenpuffer PB1' des erfinderischen Konzepts kann konfiguriert sein, so dass er Zieldaten TD unter Verwendung einer Leseoperation zur Daten-Wiederherstellung, Daten der Upper- und Lower-Bit-Latches ML und LL und Daten des Forcing-Bit-Latch FL wiederherstellt.Since an erase state does not require a program operation, bit-line forcing may not be necessary. Likewise, the change or likelihood of an upper tail error bit being generated may be high due to a program disturb / read disturb. Thus, data stored at the forcing bit latch FL may be used as a bit-line forcing bit BFB indicating whether the bit-line forcing or as a recovery reference bit RRB for restoring an upper-tail error bit of an erase state. On the other hand, since a program state makes a program operation necessary, bit line forcing may be needed. Likewise, the change or likelihood that an upper tail error bit is generated may become lower compared to the erase state. When a program operation is performed, pass pattern data may be stored at the upper and lower bit latches ML and LL, respectively. Herein, the pass data pattern may be data (for example, "11") corresponding to an erase state. When a cell program operation is performed, target data TD can be recovered by using a data recovery read operation, data of the upper and lower bit latches ML and LL, and data of the forcing bit latch FL. When a cell program operation has failed, data stored in the upper and lower bit latches ML and LL can be directly restored as the original target data. The page buffer PB1 'of the inventive concept may be configured to recover target data TD using a data recovery read operation, data of the upper and lower bit latches ML and LL, and data of the forcing bit latch FL.

14 ist ein Diagramm zum Beschreiben eines Bitleitungs-Forcing gemäß einer Ausführungsform des erfinderischen Konzepts. Bezug nehmend auf 14 kann, wenn eine Programmierspannung VWL auf eine Wortleitung während einer Programmieroperation einer Speicherzelle ➀, welche eine Schwellenspannung in einem ersten Bereich RA hat, angelegt wird, eine Bitleitungs-Programmierspannung BLPV (beispielsweise 0 Volt) an eine Bitleitung angelegt werden. Wenn die Programmierspannung VWL an die Wordleitung während einer Programmieroperation einer Speicherzelle ➁, welche eine Schwellenspannung in einem zweiten Bereich RB hat, angelegt wird, kann eine leicht erhöhte Bitleitungs-Forcing-Spannung BLFV an eine Bitleitung angelegt werden. 14 FIG. 10 is a diagram for describing bit line forcing according to an embodiment of the inventive concept. FIG. Referring to 14 For example, when a program voltage VWL is applied to a word line during a program operation of a memory cell ➀ having a threshold voltage in a first region RA, a bit line programming voltage BLPV (for example, 0 volts) may be applied to a bit line. When the program voltage VWL is applied to the word line during a program operation of a memory cell ➁ having a threshold voltage in a second region RB, a slightly raised bit line forcing voltage BLFV may be applied to a bit line.

Wenn eine Programmierschleife iteriert wird, kann eine Speicherzelle eines Bereiches RA weit von einem Zielzustand P auf einen benachbarten Bereich RB programmiert werden und eine Speicherzelle des benachbarten Bereichs RB kann auf den Zielzustand P programmiert werden. Hierin wird angenommen, dass die Bitleitungs-Programmierspannung BLPV 0 Volt sein kann und eine Bitleitungs-Programmier-Inhibier-Spannung BLIV eine Leistungsversorgungsspannung VDD sein kann. Die Speicherzelle ➀ in dem Bereich RA kann durch eine Differenz (VWL) zwischen einer Wortleitungs-Spannung VWL und einer Bitleitungs-Spannung VBL programmiert werden. Die Speicherzelle ➁ in dem Bereich RB kann durch eine Differenz (VWLP – BLFV) zwischen der Wortleitungs-Spannung VWL und der Bitleitungs-Spannung VBL programmiert werden. Eine Speicherzelle ➂, welche in den Zielzustand P eintritt, kann eine Programm-inhibierte Zelle sein, aber eine Differenz (VWL – VDD) zwischen der Wortleitungs-Spannung VWL und der Bitleitungs-Spannung VBL kann an die Speicherzelle ➂ angelegt werden. Verglichen mit der Speicherzelle ➀ in dem Bereich RA kann die Speicherzelle in dem Bereich RB feiner bzw. genauer programmiert werden.When a programming loop is iterated, a memory cell of a region RA can be programmed far from a target state P to an adjacent region RB, and a memory cell of the adjacent region RB can be programmed to the target state P. Herein, it is assumed that the bit line programming voltage BLPV may be 0 volts and a bit line programming inhibition voltage BLIV may be a power supply voltage VDD. The memory cell ➀ in the region RA can be programmed by a difference (VWL) between a word line voltage VWL and a bit line voltage VBL. The memory cell ➁ in the region RB can be programmed by a difference (VWLP - BLFV) between the word line voltage VWL and the bit line voltage VBL. A memory cell ➂ entering the target state P may be a program inhibited cell, but a difference (VWL-VDD) between the word line voltage VWL and the bit line voltage VBL may be applied to the memory cell ➂. Compared to the memory cell ➀ in the area RA, the memory cell in the area RB can be programmed more finely.

Eine Bitleitungs-Forcing-Zeitdauer kann eine Zeitdauer sein, in der eine Bitleitungs-Forcing-Spannung BLFV während einer Programmieroperation einer Speicherzelle in einem Bereich RB benachbart zu dem Zielzustand P angelegt wird. Ein Bitleitungs-Forcing kann beginnen bzw. eintreten, wenn eine Schwellenspannung einen vorbestimmten Wert überschreitet, jedoch geringer ist als ein unterer Grenzwert eines Zielzustandes. Ein Bitleitungs-Forcing-Bit BFB kann anzeigen, ob Bitleitungs-Forcing durchzuführen ist oder nicht. Beispielsweise kann, wenn ein Bitleitungs-Forcing-Bit BFB von „0” bei einem Forcing-Bit-Latch FL gespeichert ist, das Bitleitungs-Forcing während einer nächsten Programmierschleife durchgeführt werden. Wenn jedoch ein Bitleitungs-Forcing-Bit BFB von „1” bei dem Forcing-Bit-Latch FL gespeichert ist, kann kein Bitleitungs-Forcing während einer nächste Programmierschleife durchgeführt werden. Wie durch 14 gezeigt ist, ist ΔISPP > (BLFV – BLPV) und ΔISPP > (BLIV – BLFV).A bit-line forcing period may be a period of time in which a bit-line forcing voltage BLFV is applied during a program operation of a memory cell in a region RB adjacent to the target state P. Bit line forcing may begin when a threshold voltage exceeds a predetermined value but is less than a lower limit of a target state. A bit-line forcing bit BFB may indicate whether bit-line forcing is to be performed or not. For example, if a bit-line forcing bit BFB of "0" is stored in a forcing bit latch FL, the bit-line forcing may be performed during a next programing loop. However, if a bit-line forcing bit BFB of "1" is stored in the forcing bit latch FL, bit-line forcing can not be performed during a next programing loop. How through 14 is shown to be ΔISPP> (BLFV - BLPV) and ΔISPP> (BLIV - BLFV).

15 ist ein Diagramm, welches schematisch ein Zweischritt-Verifikationsverfahren eines Seitenpuffers in 13 veranschaulicht. In 15 können ein Löschzustand E und erste bis dritte Programmierzustände P1, P2 und P3 veranschaulicht sein. In dem Fall, dass Zieldaten TD einen Löschzustand E anzeigen und eine Speicherzelle eine Schwellenspannung hat, welche dem Löschzustand E entspricht, kann bei einer Programmieroperation eine Bitleitungs-Inhibier-Spannung BLIV (beispielsweise eine Leistungsversorgungsspannung) an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden. Hierin können Zieldaten TD zu programmierende Daten sein. 15 FIG. 15 is a diagram schematically showing a two-step verification method of a page buffer in FIG 13 illustrated. In 15 For example, an erase state E and first through third program states P1, P2, and P3 may be illustrated. In the case where target data TD indicates an erase state E and a memory cell has a threshold voltage corresponding to the erase state E, a bit line inhibit voltage BLIV (eg, a power supply voltage) may be applied to a bit line corresponding to the memory cell in a program operation become. Here, target data TD may be data to be programmed.

In dem Fall, dass Zieldaten TD den ersten Programmierzustand P1 anzeigen und eine Speicherzelle eine Schwellenspannung höher als der Löschzustand E und niedriger als ein erster Vor-Verifikations-Pegel PVR1 hat, kann bei einer Programmieroperation eine Bitleitungs-Programmierspannung BLPV (beispielsweise eine Masse-Spannung) an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden. Ebenso kann, in dem Fall, dass Zieldaten TD den ersten Programmierzustand P1 anzeigen und eine Speicherzelle eine Schwellenspannung höher als der erste Vor-Verifikations-Pegel PVR1 und niedriger als ein erster Verifikations-Pegel VR1 hat, bei einer Programmieroperation eine Bitleitungs-Forcing-Spannung BLFV (beispielsweise 1 Volt) an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden.In the case where target data TD indicates the first program state P1 and a memory cell has a threshold voltage higher than the erase state E and lower than a first pre-verify level PVR1, a bit line programming voltage BLPV (e.g., a ground voltage ) to a bit line corresponding to the memory cell. Also, in the case where target data TD indicates the first program state P1 and a memory cell indicates a threshold voltage higher than the first one, Verification level PVR1 and lower than a first verification level VR1 has, in a program operation, applied a bit line forcing voltage BLFV (for example, 1 volt) to a bit line corresponding to the memory cell.

Eine Speicherzelle in dem EA-Bereich kann den ersten Programmierzustand P1 durch den EB-Bereich erreichen oder kann den ersten Programmierzustand P1 direkt erreichen. Bis eine Speicherzelle den ersten Programmierzustand P1 erreicht, kann eine Bitleitungs-Spannung auf eine höhere Bitleitungs-Forcing-Spannung BLFV von einer niedrigeren Bitleitungs-Programmierspannung BLPV oder in eine Bitleitungs-Programmier-Inhibier-Spannung BLIV von der Bitleitungs-Forcing-Spannung BLFV gemäß einer Zunahme in einer Programmierschleife geändert werden. Oder eine Bitleitungs-Spannung kann in die Bitleitungs-Programmier-Inhibier-Spannung BLIV von der Bitleitungs-Programmierspannung BLPV gemäß einer Zunahme in einer Programmierschleife geändert werden.A memory cell in the I / O area may reach the first programming state P1 through the EB area or may directly reach the first programming state P1. Until a memory cell reaches the first programming state P1, a bit line voltage may be applied to a higher bit line forcing voltage BLFV from a lower bit line programming voltage BLPV or to a bit line programming inhibit voltage BLIV from the bit line forcing voltage BLFV according to FIG an increase in a programming loop. Or, a bit line voltage may be changed to the bit line programming inhibit voltage BLIV from the bit line programming voltage BLPV according to an increase in a program loop.

In dem Fall, dass die Zieldaten TD den zweiten Programmierzustand P2 anzeigen und eine Speicherzelle eine Schwellenspannung höher als der erste Programmierzustand P1 und niedriger als ein zweiter Verifikations-Pegel PVR2 hat, kann bei einer Programmieroperation eine Bitleitungs-Programmierspannung BLPV an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden. Ebenso kann, in dem Fall, dass Zieldaten TD den zweiten Programmierzustand P2 anzeigen und eine Speicherzelle eine Schwellenspannung höher als den zweiten Vor-Verifikations-Pegel PVR2 und niedriger als einen zweiten Verifikations-Pegel VR2 hat, bei einer Programmieroperation eine Bitleitungs-Forcing-Spannung BLFV an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden.In the case that the target data TD indicates the second program state P2 and a memory cell has a threshold voltage higher than the first program state P1 and lower than a second verify level PVR2, a bit line programming voltage BLPV may be applied to a bit line in a program operation Memory cell corresponds to be created. Also, in the case that target data TD indicates the second program state P2 and a memory cell has a threshold voltage higher than the second pre-verify level PVR2 and lower than a second verify level VR2, a bit line forcing voltage may be applied during a program operation BLFV is applied to a bit line corresponding to the memory cell.

In dem Fall, dass Zieldaten TD den zweiten Programmierzustand P2 anzeigen und eine Speicherzelle eine Schwellenspannung höher als der dritte Programmierzustand P3 und niedriger als ein dritter Vor-Verifikations-Pegel PVR3 hat, kann bei einer Programmieroperation eine Bitleitungs-Programmierspannung BLPV an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden. Ebenso kann in dem Fall, dass Zieldaten TD den dritten Programmierzustand P3 anzeigen und eine Speicherzelle eine Schwellenspannung höher als der dritte Vor-Verifikations-Pegel PVR3 und niedriger als ein dritter Verifikations-Pegel VR3 hat, bei einer Programmieroperation eine Bitleitungs-Forcing-Spannung BLFV an eine Bitleitung, welche der Speicherzelle entspricht, angelegt werden.In the case where target data TD indicates the second program state P2 and a memory cell has a threshold voltage higher than the third program state P3 and lower than a third pre-verify level PVR3, a bit line programming voltage BLPV may be applied to a bit line in a program operation the memory cell corresponds to be created. Also, in the case where target data TD indicates the third program state P3 and a memory cell has a threshold voltage higher than the third pre-verification level PVR3 and lower than a third verification level VR3, a bit line forcing voltage BLFV in a program operation to a bit line corresponding to the memory cell.

Zusammenfassend kann bei einer Programmieroperation auf jedem Programmierzustand eine Bitleitungs-Programmierspannung BLPV an eine Bitleitung angelegt werden, bis eine Vor-Verifikations-Operation durchgeführt ist. Nachdem die Vor-Verifikations-Operation durchgeführt ist, kann eine Bitleitungs-Forcing-Spannung BLFV an eine Bitleitung angelegt werden, bis eine vollständige Verifikations-Operation durchgeführt ist. Wenn die vollständige Verifikations-Operation durchgeführt ist, kann eine Bitleitungs-Programmier-Inhibier-Spannung BLIV an eine Bitleitung angelegt werden.In summary, in a program operation, a bit line programming voltage BLPV may be applied to a bit line at each programming state until a pre-verify operation is performed. After the pre-verification operation is performed, a bit line forcing voltage BLFV may be applied to a bit line until a complete verify operation is performed. When the complete verification operation is performed, a bit line programming inhibit voltage BLIV may be applied to a bit line.

Wie in 15 veranschaulicht ist, muss eine Speicherzelle, welche mit Zieldaten TD, welche einem Löschzustand E entsprechen, zu programmieren ist, das Bitleitungs-Forcing nicht notwendig machen, und eine Speicherzelle, welche mit Zieldaten TD, welche einem des ersten bis dritten Zustandes P1 bis P3 entsprechen, zu programmieren ist, kann das Bitleitungs-Forcing notwendig machen. Der Löschzustand E kann aufgrund einer Programmierstörung oder einer Lesestörung, wie durch eine gestrichelte Linie veranschaulicht ist, überprogrammiert werden. Wie unter Bezugnahme auf die 5 und 6 beschrieben ist, kann ein Wert, welcher anzeigt, ob ein Bitleitungs-Forcing durchgeführt wird, als ein Wiederherstellungs-Referenzbit RRB zum Wiederherstellen von Upper-Tail-Daten des Löschzustandes E verwendet werden.As in 15 1, a memory cell to be programmed with target data TD corresponding to an erase state E, which does not require bit line forcing, and a memory cell having target data TD corresponding to one of the first to third states P1 to P3 need to be programmed To program bit-line forcing may be necessary. The erase state E may be over programmed due to a program disturb or a read disturb as illustrated by a dashed line. As with reference to the 5 and 6 10, a value indicating whether bit-line forcing is being performed may be used as a recovery reference bit RRB for restoring upper-tail data of the erase state E.

Eine nichtflüchtige Speichervorrichtung 100 des erfinderischen Konzepts kann eine Daten-Wiederherstellungsoperation durch ein Verwenden eines Bitleitungs-Forcing-Bits BFB als ein Wiederherstellungs-Referenzbit RRB ohne ein zusätzliches Latch zum Speichern des Wiederherstellungs-Referenzbits RRB durchführen.A nonvolatile storage device 100 of the inventive concept can perform a data recovery operation by using a bit line forcing bit BFB as a recovery reference bit RRB without an additional latch for storing the recovery reference bit RRB.

16 ist ein Diagramm, welches eine Variation in Daten von Latches eines Seitenpuffers in 13 bei einer Programmieroperation veranschaulicht. Untenstehend wird eine Variation in Daten von Latches eines Seitenpuffers in 13 bei einer Programmieroperation unter Bezugnahme auf die 13 bis 16 beschrieben werden. Hierin kann eine Programmieroperation eine zweite Seiten-Programmieroperation (oder eine Upper-Bit-Seiten-Programmieroperation) sein. Wenn eine zweite Seiten-Programmieroperation beginnt, können Zustände von Latches ML, LL und FL wie folgt sein. Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand ein Löschzustand E ist, kann das Upper-Bit-Latch ML einen Wert von „1” speichern, das Lower-Bit-Latch LL kann einen Wert von „1” speichern, und das Forcing-Bit-Latch FL kann einen Wert von „1” speichern. Im Fall eines Seitenpuffers, welcher einer Speicherzelle entsprich, deren Zielzustand ein erster Programmierzustand P1 ist, kann das Upper-Bit-Latch ML einen Wert von „0” speichern, das Lower-Bit-Latch LL kann einen Wert von „1” speichern und das Forcing-Bit-Latch FL kann einen Wert von „1” speichern. Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand ein zweiter Programmierzustand P2 ist, kann das Upper-Bit-Latch ML einen Wert von „0” speichern, das Lower-Bit-Latch LL kann einen Wert von „0” speichern, und das Forcing-Bit-Latch FL kann einen Wert von „1” speichern. Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand ein dritter Programmierzustand P3 ist, kann das Upper-Bit-Latch ML einen Wert von „1” speichern, das Lower-Bit-Latch LL kann einen Wert von „0” speichern, und das Forcing-Bit-Latch FL kann einen Wert von „1” speichern. 16 is a diagram showing a variation in data of page buffer latches in 13 during a programming operation. Below is a variation in data of page buffer latches in 13 in a programming operation with reference to FIGS 13 to 16 to be discribed. Herein, a program operation may be a second page program operation (or an upper bit page program operation). When a second page program operation begins, states of latches ML, LL and FL may be as follows. In the case of one Page buffer, which corresponds to a memory cell whose target state is an erase state E, the upper bit latch ML can store a value of "1", the lower bit latch LL can store a value of "1", and the Forcing Bit-latch FL can store a value of "1". In the case of a page buffer corresponding to a memory cell whose target state is a first program state P1, the upper bit latch ML may store a value of "0", the lower bit latch LL may store a value of "1" and the forcing bit latch FL can store a value of "1". In the case of a page buffer corresponding to a memory cell whose target state is a second program state P2, the upper bit latch ML may store a value of "0", the lower bit latch LL may store a value of "0", and the forcing bit latch FL can store a value of "1". In the case of a page buffer corresponding to a memory cell whose target state is a third programming state P3, the upper bit latch ML may store a value of "1", the lower bit latch LL may store a value of "0", and the forcing bit latch FL can store a value of "1".

Nachdem die zweite Seiten-Programmieroperation beendet ist, können Zustände der Latches ML, LL und FL wie folgt sein. Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand der Löschzustand E oder ein Programmierzustand ist, kann das Upper-Bit-Latch ML einen Wert von „1” aufrechterhalten, das Lower-Bit-Latch LL kann einen Wert von „1” aufrechterhalten und das Forcing-Bit-Latch FL kann einen Wert von „1” aufrechterhalten. Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand der erste Programmierzustand P1 ist, können Daten des Upper-Bit-Latch ML von „0” in „1” geändert werden, das Lower-Bit-Latch LL kann einen Wert von „1” aufrechterhalten, und Daten des Forcing-Bit-Latch FL können von „1” in „0” geändert werden. Da eine Programmieroperation zum Programmieren einer Speicherzelle in den ersten Programmierzustand P1 durchgeführt ist, können das Upper-Bit-Latch ML und das Lower-Bit-Latch LL ein Datenmuster von „11”, das dem Löschzustand E entspricht, speichern. Ebenso kann, da ein Bitleitungs-Forcing durchgeführt wird, das Forcing-Bit-Latch FL einen Wert von „0” speichern.After the second page program operation is completed, states of the latches ML, LL, and FL may be as follows. In the case of a page buffer corresponding to a memory cell whose target state is the erase state E or a program state, the upper bit latch ML may maintain a value of "1", the lower bit latch LL may have a value of "1". and the forcing bit latch FL can maintain a value of "1". In the case of a page buffer corresponding to a memory cell whose target state is the first program state P1, data of the upper-bit latch ML may be changed from "0" to "1", the lower-bit latch LL may have a value of " 1 ", and data of the forcing bit latch FL can be changed from" 1 "to" 0 ". Since a program operation for programming a memory cell in the first program state P1 is performed, the upper bit latch ML and the lower bit latch LL can store a data pattern of "11" corresponding to the erase state E. Also, since bit line forcing is performed, the forcing bit latch FL can store a value of "0".

Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand der zweite Programmierzustand P2 ist, können Daten des Upper-Bit-Latch ML von „0” in „1” geändert werden, Daten des Lower-Bit-Latch LL können von „0” in „1” geändert werden und Daten des Forcing-Bit-Latch können von „1” in „0” geändert werden. Da eine Programmieroperation zum Programmieren einer Speicherzelle in den zweiten Programmierzustand P2 durchgeführt ist, können das Upper-Bit-Latch ML und das Lower-Bit-Latch LL ein Datenmuster von „11”, welches dem Löschzustand E entspricht, speichern. Ebenso kann, da ein Bitleitungs-Forcing durchgeführt wird, das Forcing-Bit-Latch FL einen Wert von „0” speichern.In the case of a page buffer corresponding to a memory cell whose target state is the second program state P2, data of the upper bit latch ML may be changed from "0" to "1", data of the lower bit latch LL may be changed from "0 Can be changed to "1", and data of the forcing bit latch can be changed from "1" to "0". Since a program operation for programming a memory cell into the second program state P2 is performed, the upper-bit latch ML and the lower-bit latch LL can store a data pattern of "11" corresponding to the erase state E. Also, since bit line forcing is performed, the forcing bit latch FL can store a value of "0".

Im Fall eines Seitenpuffers, welcher einer Speicherzelle entspricht, deren Zielzustand der dritte Programmierzustand P3 ist, kann das Upper-Bit-Latch ML einen Wert von „1” beibehalten, Daten des Lower-Bit-Latch LL können von „0” in „1” geändert werden, und Daten des Forcing-Bit-Latch FL können von „1” in „0” geändert werden. Da eine Programmieroperation zum Programmieren einer Speicherzelle in dem dritten Programmierzustand P3 durchgeführt ist, können das Upper-Bit-Latch ML und das Lower-Bit-Latch LL ein Datenmuster von „11” speichern, welches dem Löschzustand E entspricht. Ebenso kann, da ein Bitleitungs-Forcing durchgeführt wird, das Forcing-Bit-Latch FL einen Wert von „0” speichern.In the case of a page buffer corresponding to a memory cell whose target state is the third program state P3, the upper-bit latch ML can maintain a value of "1", data of the lower-bit latch LL can be changed from "0" to "1" Can be changed, and data of the forcing bit latch FL can be changed from "1" to "0". Since a program operation for programming a memory cell in the third program state P3 is performed, the upper-bit latch ML and the lower-bit latch LL can store a data pattern of "11" corresponding to the erase state E. Also, since bit line forcing is performed, the forcing bit latch FL can store a value of "0".

17 ist ein Diagramm, welches eine Variation in Daten von Latches eines Seitenpuffers veranschaulicht, welcher einem Zielzustand bei einer Programmieroperation gemäß einer Ausführungsform des erfinderischen Konzepts entspricht. Bezug nehmend auf 17 kann ein Löschzustand E Daten „11” entsprechen, ein erster Programmierzustand P1 Daten „01”, ein zweiter Programmierzustand P2 Daten „00” und ein dritter Programmierzustand Daten „10”. Das erfinderische Konzept ist jedoch nicht hierauf beschränkt. Wenn ein Zielzustand der Löschzustand E ist, wird eine Variation in Daten, welche bei Latches ML, LL und FL eines Seitenpuffers, welcher einer Speicherzelle entspricht, gespeichert sind, wie folgt sein. Das Upper-Bit-Latch ML und das Lower-Bit-Latch LL können „1” unabhängig von einer Schwellenspannung einer Speicherzelle speichern. Da kein Bitleitungs-Forcing benötigt wird, kann das Forcing-Bit-Latch FL „1” speichern. 17 FIG. 15 is a diagram illustrating a variation in data of latches of a page buffer corresponding to a target state in a program operation according to an embodiment of the inventive concept. Referring to 17 For example, an erase state E may correspond to data "11", a first program state P1 data "01", a second program state P2 data "00" and a third program state data "10". However, the inventive concept is not limited to this. When a target state is the erase state E, a variation in data stored in latches ML, LL and FL of a page buffer corresponding to a memory cell will be as follows. The upper bit latch ML and the lower bit latch LL can store "1" regardless of a threshold voltage of a memory cell. Since no bit line forcing is needed, the forcing bit latch FL can store "1".

Wenn ein Zielzustand der erste Programmierzustand P1 ist, wird eine Variation in Daten, welche bei den Latches ML, LL und FL eines Seitenpuffers, welcher einer zu programmierenden Speicherzelle entspricht, wie folgt sein. Bis eine Schwellenspannung einer Speicherzelle einen ersten Verifikations-Pegel VR1 überschreitet (d. h. bevor eine erste Verifikations-Operation durchgeführt ist), kann das Upper-Bit-Latch ML „0” speichern und das Lower-Bit-Latch LL kann „1” speichern. Nachdem eine Schwellenspannung einer Speicherzelle den ersten Verifikations-Pegel VR1 überschreitet (d. h. nachdem die erste Verifikations-Operation durchgeführt ist), können das Upper-Bit-Latch ML und das Lower-Bit-Latch LL „1” speichern. Das heißt, dass, nachdem die erste Verifikations-Operation durchgeführt ist, das Upper-Bit-Latch ML „1” speichern kann und das Lower-Bit-Latch LL dieselben Passiermuster-Daten wie Daten, welche dem Löschzustand E entsprechen, speichern kann.When a target state is the first program state P1, a variation in data corresponding to latches ML, LL and FL of a page buffer corresponding to a memory cell to be programmed will be as follows. Until a threshold voltage of a memory cell exceeds a first verify level VR1 (i.e., before a first verify operation is performed), the upper bit latch ML may store "0" and the lower bit latch LL may store "1". After a threshold voltage of a memory cell exceeds the first verify level VR1 (i.e., after the first verify operation is performed), the upper bit latch ML and the lower bit latch LL may store "1". That is, after the first verification operation is performed, the upper bit latch ML can store "1" and the lower bit latch LL can store the same pass pattern data as data corresponding to the erase state E.

Bis eine Schwellenspannung einer Speicherzelle einen ersten Vor-Verifikations-Pegel PVR1 überschreitet (d. h. bevor eine erste Vor-Verifikations-Operation durchgeführt ist), kann das Forcing-Bit-Latch FL „1” speichern. Nachdem eine Schwellenspannung einer Speicherzelle den ersten Vor-Verifikations-Pegel PVR1 überschreitet (d. h. nachdem die erste Vor-Verifikations-Operation durchgeführt ist), kann das Forcing-Bit-Latch FL „0” speichern. Hierin kann, wenn „0” bei dem Forcing-Bit-Latch FL gespeichert ist, ein Bitleitungs-Forcing während einer nächsten Programmierschleife durchgeführt werden. Das heißt, eine Bitleitungs-Forcing-Spannung BLFV kann während einer nächsten Programmierschleife an eine Bitleitung angelegt werden.Until a threshold voltage of a memory cell exceeds a first pre-verify level PVR1 (ie, before a first pre-verify operation is performed), the forcing bit latch FL may store "1". After a threshold voltage of a memory cell exceeds the first pre-verify level PVR1 (ie, after the first pre-verify operation is performed), the forcing bit latch FL may store "0". Herein, if "0" in the forcing bit latch FL stored, a bit line forcing to be performed during a next programming loop. That is, a bit-line forcing voltage BLFV may be applied to a bitline during a next programing loop.

Wenn ein Zielzustand der zweite Programmierzustand P2 ist, wird eine Variation in Daten, welche bei den Latches ML, LL und FL eines Seitenpuffers, welcher einer zu programmierenden Speicherzelle entspricht, wie folgt sein. Bis eine Schwellenspannung einer Speicherzelle einen zweiten Verifikations-Pegel VR2 überschreitet (d. h. bevor eine zweite Verifikations-Operation durchgeführt ist), kann das Upper-Bit-Latch ML und das Lower-Bit-Latch LL „0” speichern. Nachdem eine Schwellenspannung einer Speicherzelle den zweiten Verifikations-Pegel VR2 überschreitet (d. h. nachdem die zweite Verifikations-Operation durchgeführt ist), können sowohl das Upper-Bit-Latch ML als auch das Lower-Bit-Latch LL „1” speichern. Bis eine Schwellenspannung einer Speicherzelle einen zweiten Vor-Verifikations-Pegel PVR2 überschreitet (d. h. bevor eine zweite Vor-Verifikations-Operation durchgeführt ist), kann das Forcing-Bit-Latch „1” speichern. Nachdem eine Schwellenspannung einer Speicherzelle den zweiten Vor-Verifikations-Pegel PVR2 überschreitet (d. h. nachdem die zweite Vor-Verifikations-Operation durchgeführt ist), kann das Forcing-Bit-Latch FL „0” speichern. Hierin kann, wenn „0” bei dem Forcing-Bit-Latch FL gespeichert ist, ein Bitleitungs-Forcing während einer nächsten Programmierschleife (d. h. einem nächsten ISSP-Puls) durchgeführt werden.When a target state is the second program state P2, a variation in data corresponding to the latches ML, LL and FL of a page buffer corresponding to a memory cell to be programmed will be as follows. Until a threshold voltage of a memory cell exceeds a second verify level VR2 (i.e., before a second verify operation is performed), the upper bit latch ML and the lower bit latch LL may store "0". After a threshold voltage of a memory cell exceeds the second verify level VR2 (i.e., after the second verify operation is performed), both the upper bit latch ML and the lower bit latch LL can store "1". Until a threshold voltage of a memory cell exceeds a second pre-verify level PVR2 (i.e., before a second pre-verify operation is performed), the forcing bit latch may store "1". After a threshold voltage of a memory cell exceeds the second pre-verify level PVR2 (i.e., after the second pre-verify operation is performed), the forcing bit latch FL may store "0". Herein, when "0" is stored in the forcing bit latch FL, bit line forcing may be performed during a next program loop (i.e., a next ISSP pulse).

Wenn ein Zielzustand der dritte Programmierzustand P3 ist, wird eine Variation in Daten, welche bei den Latches ML, LL und FL eines Seitenpuffers, welcher einer zu programmierenden Speicherzelle entspricht, wie folgt sein. Bis eine Schwellenspannung einer Speicherzelle einen dritten Verifikations-Pegel VR3 überschreitet (d. h. bevor eine dritte Verifikations-Operation durchgeführt ist), kann das Upper-Bit-Latch ML „1” speichern und das Lower-Bit-Latch LL kann „0” speichern. Nachdem eine Schwellenspannung einer Speicherzelle den dritten Verifikations-Pegel VR2 überschreitet (d. h. nachdem die dritte Verifikations-Operation durchgeführt ist), können sowohl das Upper-Bit-Latch ML als auch das Lower-Bit-Latch LL „1” speichern. Bis eine Schwellenspannung einer Speicherzelle einen dritten Vor-Verifikations-Pegel PVR3 überschreitet (d. h. bevor eine dritte Vor-Verifikations-Operation durchgeführt ist), kann das Forcing-Bit-Latch FL „1” speichern. Nachdem eine Schwellenspannung einer Speicherzelle den dritten Vor-Verifikations-Pegel PVR3 überschreitet (d. h. nachdem die dritte Vor-Verifikations-Operation durchgeführt ist), kann das Forcing-Bit-Latch FL „0” speichern. Hierin kann, wenn „0” bei dem Forcing-Bit-Latch FL gespeichert ist, ein Bitleitungs-Forcing während einer nächsten Programmierschleife (d. h. während eines nächsten ISPP-Pulses) durchgeführt werden. Wie obenstehend beschrieben ist, können, wenn eine Verifikations-Operation auf einem Zielzustand durchgeführt ist, Daten des Upper-Bit-Latch ML und des Lower-Bit-Latch LL in Passiermuster-Daten (beispielsweise „11”) geändert werden. Wenn eine Vor-Verifikations-Operation auf einem Zielzustand durchgeführt ist, können Daten des Forcing-Bit-Latch FL in Daten (beispielsweise „0”) geändert werden, welche eine Ausführung eines Bitleitungs-Forcing während einer nächsten Programmierschleife anordnen.When a target state is the third program state P3, a variation in data corresponding to the latches ML, LL and FL of a page buffer corresponding to a memory cell to be programmed will be as follows. Until a threshold voltage of a memory cell exceeds a third verify level VR3 (i.e., before a third verify operation is performed), the upper bit latch ML may store "1" and the lower bit latch LL may store "0". After a threshold voltage of a memory cell exceeds the third verify level VR2 (i.e., after the third verify operation is performed), both the upper bit latch ML and the lower bit latch LL can store "1". Until a threshold voltage of a memory cell exceeds a third pre-verify level PVR3 (i.e., before a third pre-verify operation is performed), the forcing bit latch FL may store "1". After a threshold voltage of a memory cell exceeds the third pre-verify level PVR3 (i.e., after the third pre-verify operation is performed), the forcing bit latch FL may store "0". Herein, if "0" is stored in the forcing bit latch FL, bit line forcing may be performed during a next program loop (i.e., during a next ISPP pulse). As described above, when a verification operation is performed on a target state, data of the upper-bit latch ML and the lower-bit latch LL can be changed into pass-pattern data (for example, "11"). When a pre-verification operation is performed on a target state, data of the forcing bit latch FL may be changed to data (for example, "0") which orders execution of bit line forcing during a next program loop.

18 ist ein Diagramm, welches schematisch ein Verfahren zum Wiederherstellen von Daten zwischen einem Löschzustand und einem ersten Programmierzustand veranschaulicht. Bezug nehmend auf 18 kann, wenn ein Zielzustand ein Löschzustand E ist, eine Speicherzelle Ea eine Schwellenspannung niedriger als eine erste Vor-Verifikationsspannung PV1 haben, eine Speicherzelle Eb kann eine Schwellenspannung höher als die erste Vor-Verifikationsspannung PV1 und niedriger als eine erste Verifikationsspannung V1 haben, und eine Speicherzelle Ec kann eine Schwellenspannung höher als die erste Verifikationsspannung V1 haben. 18 FIG. 12 is a diagram schematically illustrating a method for restoring data between an erase state and a first program state. FIG. Referring to 18 For example, when a target state is an erase state E, a memory cell Ea may have a threshold voltage lower than a first pre-verify voltage PV1, a memory cell Eb may have a threshold voltage higher than the first pre-verify voltage PV1 and lower than a first verify voltage V1, and a Memory cell Ec may have a threshold voltage higher than the first verify voltage V1.

Wenn ein Zielzustand ein erster Programmierzustand P1 ist, kann eine Speicherzelle P1a eine Schwellenspannung haben, welche niedriger als die erste Vor-Verifikationsspannung PV1 ist, eine Speicherzelle P1b kann eine Schwellenspannung haben, welche höher als die erste Vor-Verifikationsspannung PV1 und niedriger als die erste Verifikationsspannung V1 ist, und eine Speicherzelle P1c kann eine Schwellenspannung haben, welche höher als die erste Verifikationsspannung V1 ist.When a target state is a first program state P1, a memory cell P1a may have a threshold voltage lower than the first pre-verify voltage PV1, a memory cell P1b may have a threshold voltage higher than the first pre-verify voltage PV1 and lower than the first one Verification voltage V1, and a memory cell P1c may have a threshold voltage which is higher than the first Verificationsspannung V1.

Werte, welche bei Latches ML, LL, SL und FL gespeichert sind, welche jeder Speicherzelle zugeordnet sind, können sein wie in der Tabelle der 18 veranschaulicht ist. Das Upper-Bit-Latch ML kann ein Upper-Bit MSB eines Zielzustandes speichern, das Lower-Bit-Latch LL kann ein Lower-Bit LSB des Zielzustandes speichern, das Sensier-Latch SL kann einen Wert speichern, welcher durch ein Durchführen einer Leseoperation unter Verwendung eines ersten Lese-Pegels RD1 für eine Daten-Wiederherstellungsoperation erhalten wird, und das Forcing-Bit-Latch FL kann ein Bitleitungs-Forcing-Bit BFB speichern. Wenn eine Zell-Programmieroperation durchgeführt ist, können das Upper-Bit-Latch ML und das Lower-Bit-Latch LL mit logischen „1”-Werten beschrieben werden. Wenn ein Ergebnis der Leseoperation eine An-Zelle anzeigt, kann das Sensier-Latch SL „1” speichern. Wenn ein Ergebnis der Leseoperation eine Aus-Zelle anzeigt, kann das Sensier-Latch FL „0” speichern. Das Bitleitungs-Forcing-Bit BFB kann „1” sein, wenn kein Bitleitungs-Forcing durchgeführt wird, und „0”, wenn Bitleitungs-Forcing durchgeführt wird.Values stored in latches ML, LL, SL and FL associated with each memory cell may be as in the table of FIGS 18 is illustrated. The upper bit latch ML may store an upper bit MSB of a target state, the lower bit latch LL may store a lower bit LSB of the target state, the sense latch SL may store a value obtained by performing a read operation is obtained by using a first read level RD1 for a data recovery operation, and the forcing bit latch FL can store a bit line forcing bit BFB. When a cell program operation is performed, the upper bit latch ML and the lower bit latch LL may be written with logical "1" values. When a result of the read operation indicates an on cell, the sense latch SL may store "1". If a result of the read operation indicates an off cell, the sense latch FL may store "0". The bit-line forcing bit BFB may be "1" if no bit-line forcing and "0" when bit line forcing is performed.

Wenn der Zielzustand der Löschzustand E ist, können die Upper- und Lower-Bit-Latches ML und LL, welche jeder der Speicherzellen Ea, Eb und Ec zugeordnet sind, „1” speichern, das Sensier-Latch SL, welches der Speicherzelle Ea zugeordnet ist, kann „1” speichern, das Sensier-Latch SL, welches den verbleibenden Speicherzellen Eb und Ec zugeordnet ist, kann „0” speichern, und die Forcing-Bit-Latches FL, welche den Speicherzellen Ea, Eb und Ec zugeordnet sind, können „1” speichern.When the target state is the erase state E, the upper and lower bit latches ML and LL assigned to each of the memory cells Ea, Eb and Ec can store "1", the sense latch SL assigned to the memory cell Ea can store "1", the sense latch SL associated with the remaining memory cells Eb and Ec can store "0", and the forcing bit latches FL associated with memory cells Ea, Eb and Ec, can save "1".

Wenn der Zielzustand der erste Programmierzustand P1 ist, kann das Upper-Bit-Latch ML, welches jeder von Speicherzellen P1a und P1b zugeordnet ist, „0” speichern, das Upper-Bit-Latch ML, welches einer Speicherzelle P1c zugeordnet ist, kann „1” speichern, die Lower-Bit-Latches LL, welche jeder der Speicherzellen P1a, P1b und P1c zugeordnet sind können „1” speichern, das Sensier-Latch SL, welches der Speicherzelle P1a zugeordnet ist, kann „1” speichern (d. h. An-Zelle), die Sensier-Latches SL, welche den verbleibenden Speicherzellen P1b und P1c zugeordnet sind, können „0” speichern, die Forcing-Bit-Latches FL, welche der Speicherzelle P1a zugeordnet sind, können „1” speichern und die Forcing-Bit-Latches FL, welche den Speicherzellen P1 und P1c zugeordnet sind, können „0” speichern.When the target state is the first program state P1, the upper-bit latch ML associated with each of memory cells P1a and P1b can store "0", the upper-bit latch ML associated with a memory cell P1c can " 1 ", the lower-bit latches LL associated with each of the memory cells P1a, P1b and P1c may store" 1 ", the sense latch SL associated with the memory cell P1a may store" 1 "(ie Cell), the sense latches SL associated with the remaining memory cells P1b and P1c may store "0", the forcing bit latches FL associated with the memory cell P1a may store "1" and the forcing codes Bit latches FL associated with the memory cells P1 and P1c can store "0".

Wie durch gepunktete Rechtecke in 18 veranschaulicht ist, können die Latches ML, LL und SL, welche den Speicherzellen Eb, Ec und P1c zugeordnet sind, dieselben Daten speichern. Demnach ist es schwierig, einen Zielzustand durch eine Leseoperation für eine Daten-Wiederherstellung unter Verwendung eines ersten Lese-Pegels RD1 zu finden. In diesem Fall kann, ob ein Zielzustand ein Löschzustand E oder ein erster Programmierzustand P1 ist, gemäß einem Wert beurteilt werden, welcher bei einer Forcing-Bit-Leitung FL gespeichert ist. Beispielsweise kann ein Wert, welcher bei einem Forcing-Bit-Latch FL jeder von Speicherzellen Eb und Ec gespeichert ist, „1” sein, und ein Wert, welcher bei einem Forcing-Bit-Latch FL einer Speicherzelle P1c gespeichert ist, kann „0” sein. Obwohl die Latches ML, LL und SL, welche den Speicherzellen Eb, Ec und P1c zugeordnet sind, dieselben Daten speichern, kann, ob ein Zielzustand ein Löschzustand E ist oder ein erster Programmierzustand P1 ist, exakt gemäß einem Wert wiederhergestellt werden, welcher bei einer Forcing-Bit-Leitung FL gespeichert ist. In 18 kann der Fall veranschaulicht sein, dass ein erster Lese-Pegel RD1 niedriger ist als ein erster Vor-Verifikations-Pegel PV1. Das erfinderische Konzept ist jedoch nicht darauf beschränkt. Beispielsweise kann der erste Lese-Pegel RD1 gesetzt bzw. gewählt werden, so dass er höher ist als der erste Vor-Verifikations-Pegel PV1 und niedriger als ein erster Verifikations-Pegel V1.As shown by dotted rectangles in 18 1, the latches ML, LL and SL associated with the memory cells Eb, Ec and P1c may store the same data. Thus, it is difficult to find a target state by a data recovery read operation using a first read level RD1. In this case, whether a target state is an erase state E or a first program state P1 may be judged according to a value stored at a forcing bit line FL. For example, a value stored in a forcing bit latch FL of each of memory cells Eb and Ec may be "1", and a value stored in a forcing bit latch FL of a memory cell P1c may be "0 " be. Although the latches ML, LL, and SL associated with the memory cells Eb, Ec, and P1c store the same data, whether a target state is an erase state E or a first program state P1 may be exactly restored according to a value that is at a Forcing bit line FL is stored. In 18 For example, the case may be illustrated that a first read level RD1 is lower than a first pre-verify level PV1. However, the inventive concept is not limited thereto. For example, the first read level RD1 may be set to be higher than the first pre-verify level PV1 and lower than a first verify level V1.

19 ist ein Diagramm, welches schematisch ein Verfahren zum Wiederherstellen von Daten zwischen einem Löschzustand und einem zweiten Programmierzustand veranschaulicht. Bezug nehmend auf 19 kann, wenn ein Zielzustand ein Löschzustand E ist, eine Speicherzelle Ed eine Schwellenspannung haben, welche niedriger ist als eine zweite Vor-Verifikationsspannung PV2, eine Speicherzelle Ee kann eine Schwellenspannung haben, welche höher ist als die zweite Vor-Verifikationsspannung PV2 und niedriger als eine zweite Verifikationsspannung V2. Wenn ein Zielzustand ein zweiter Programmierzustand P2 ist, kann eine Speicherzelle P2a eine Schwellenspannung haben, welche niedriger ist als der zweite Lese-Pegel RD2, eine Speicherzelle P2b kann eine Schwellenspannung haben, welche höher ist als der zweite Lese-Pegel RD2 und niedriger als eine zweite Vor-Verifikationsspannung PV2, eine Speicherzelle P2c kann eine Schwellenspannung haben, welche höher ist als die zweite Vor-Verifikationsspannung PV2 und niedriger als eine zweite Verifikationsspannung V2, und eine Speicherzelle P2d kann eine Schwellenspannung haben, welche höher ist als die zweite Verifikationsspannung V2. 19 FIG. 15 is a diagram schematically illustrating a method for restoring data between an erase state and a second program state. FIG. Referring to 19 For example, when a target state is an erase state E, a memory cell Ed may have a threshold voltage lower than a second pre-verify voltage PV2, a memory cell Ee may have a threshold voltage higher than the second pre-verify voltage PV2 and lower than one second verification voltage V2. When a target state is a second program state P2, a memory cell P2a may have a threshold voltage lower than the second read level RD2, a memory cell P2b may have a threshold voltage higher than the second read level RD2 and lower than one second pre-verification voltage PV2, a memory cell P2c may have a threshold voltage higher than the second pre-verify voltage PV2 and lower than a second verify voltage V2, and a memory cell P2d may have a threshold voltage higher than the second verify voltage V2.

Werte, welche in Latches ML, LL, SL und FL gespeichert sind, welche jeder Speicherzelle zugeordnet sind, können sein, wie in 19 veranschaulicht ist. Wie durch gepunktete Rechtecke in 19 veranschaulicht ist, können die Latches ML, LL und SL, welche den Speicherzellen Ee und P2d zugeordnet sind, dieselben Daten speichern. Demnach ist es schwierig, einen Zielzustand durch eine Leseoperation für eine Daten-Wiederherstellung unter Verwendung eines zweiten Lese-Pegels RD2 zu finden. Wenn ein Wert, welcher bei einem Forcing-Bit-Latch FL1 gespeichert ist, „1” ist, kann ein Zielzustand ein Löschzustand E werden. Wenn ein Wert, welcher bei einem Forcing-Bit-Latch FL gespeichert ist, „0” ist, kann ein Zielzustand ein zweiter Programmierzustand P2 werden.Values stored in latches ML, LL, SL and FL associated with each memory cell may be as shown in FIG 19 is illustrated. As shown by dotted rectangles in 19 is illustrated, the latches ML, LL and SL associated with the memory cells Ee and P2d can store the same data. Thus, it is difficult to find a target state by a read operation for data restoration using a second read level RD2. When a value stored at a forcing bit latch FL1 is "1", a target state may become an erase state E. When a value stored at a forcing bit latch FL is "0", a target state may become a second program state P2.

20 ist ein Diagramm, welches schematisch ein Verfahren zum Wiederherstellen von Daten zwischen einem Löschzustand und einem dritten Programmierzustand veranschaulicht. Bezug nehmend auf 20 kann, wenn ein Zielzustand ein Löschzustand E ist, eine Speicherzelle Ef eine Schwellenspannung haben, welche niedriger ist als eine dritte Vor-Verifikationsspannung PV3, eine Speicherzelle Eg kann eine Schwellenspannung haben, welche höher ist als die dritte Vor-Verifikationsspannung PV3 und niedriger als eine dritte Verifikationsspannung V3. Wenn ein Zielzustand ein dritter Programmierzustand P3 ist, kann eine Speicherzelle P3a eine Schwellenspannung haben, welche niedriger ist als die dritte Vor-Verifikationsspannung PV3, eine Speicherzelle P3b kann eine Schwellenspannung haben, welche höher ist als die dritte Vor-Verifikationsspannung PV3 und niedriger als eine dritte Verifikationsspannung V3, und eine Speicherzelle P3c kann eine Schwellenspannung haben, welche höher ist als die dritte Verifikationsspannung V3. 20 FIG. 15 is a diagram schematically illustrating a method for restoring data between an erase state and a third program state. FIG. Referring to 20 For example, when a target state is an erase state E, a memory cell Ef may have a threshold voltage lower than a third pre-verify voltage PV3, a memory cell Eg may have a threshold voltage higher than the third pre-verify voltage PV3 and lower than one third verification voltage V3. When a target state is a third program state P3, a memory cell P3a may have a threshold voltage lower than the third pre-verification voltage PV3, a memory cell P3b may have a threshold voltage higher than the third pre-verification voltage PV3 and lower than a third verification voltage V3, and a memory cell P3c may have a threshold voltage higher than the third verification voltage V3 ,

Werte, welche bei Latches ML, LL, SL und FL gespeichert sind, welche jeder Speicherzelle zugeordnet sind, können sein, wie in 20 veranschaulicht ist. Wie in 20 durch gepunktete Rechtecke veranschaulicht ist, können die Latches ML, LL und SL, welche den Speicherzellen Eg und P3c zugeordnet sind, dieselben Daten speichern. Demnach ist es schwierig, einen Zielzustand durch eine Leseoperation für eine Daten-Wiederherstellung unter Verwendung eines dritten Lese-Pegels RD3 zu finden. Wenn ein Wert, welcher bei einem Forcing-Bit-Latch gespeichert ist, „1” ist, kann ein Zielzustand ein Löschzustand E werden. Wenn ein Wert, welcher bei einem Forcing-Bit-Latch FL gespeichert ist, „0” ist, kann ein Zielzustand ein dritter Programmierzustand P3 werden.Values stored at latches ML, LL, SL and FL associated with each memory cell may be as in 20 is illustrated. As in 20 is illustrated by dotted rectangles, the latches ML, LL and SL associated with the memory cells Eg and P3c can store the same data. Thus, it is difficult to find a target state through a data recovery read operation using a third read level RD3. When a value stored in a forcing bit latch is "1", a target state may become an erase state E. When a value stored at a forcing bit latch FL is "0", a target state may become a third program state P3.

In den 1820 können Fälle veranschaulicht werden, in denen eine Daten-Wiederherstellungsoperation drei Leseoperationen bedingt. Das erfinderische Konzept ist jedoch nicht darauf beschränkt. Zieldaten können in verschiedenen Arten und Weisen durch ein Kombinieren von Daten von Daten-Latches ML und LL, Daten eines Sensier-Latches SL gemäß einer Leseoperation und Daten eines Forcing-Bit-Latch FLwiederhergestellt werden. Beispielsweise ist es möglich, ein Upper-Bit durch eine Leseoperation für eine Daten-Wiederherstellung wiederherzustellen.In the 18 - 20 For example, cases may be illustrated where a data recovery operation requires three read operations. However, the inventive concept is not limited thereto. Target data can be recovered in various manners by combining data of data latches ML and LL, data of a sense latch SL according to a read operation, and data of a forcing bit latch FL. For example, it is possible to recover an upper bit by a data recovery read operation.

21 ist ein Diagramm, welches schematisch ein Upper-Bit-Wiederherstellungsverfahren bei einer Programmieroperation gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 21 wird ein Upper-Bit-Wiederherstellungsverfahren von jedem von Zuständen E, P1, P2 und P3 bei einer Daten-Wiederherstellungsoperation wie folgt sein. Als erstes wird ein Upper-Bit-Wiederherstellungsverfahren beschrieben werden, wenn ein Zielzustand ein Löschzustand E ist. Wenn „1” bei einem Upper-Bit-Latch ML, einem Lower-Bit-Latch LL und einem Forcing-Bit-Latch FL gespeichert ist, kann ein Zielzustand als der Löschzustand E beurteilt werden. Wie in 18 veranschaulicht ist, kann ein Zustand, dass „1” bei dem Upper-Bit-Latch ML, dem Lower-Bit-Latch LL und dem Forcing-Bit-Latch FL gespeichert ist, nur den Löschzustand E spezifizieren. In diesem Fall kann während einer Programmieroperation ein Upper-Tail-Fehlerbit des Löschzustandes E aus einem Datenzustand der Latches ML, LL und FL wiederhergestellt werden. Die „1”, welche bei dem Forcing-Bit-Latch FL gespeichert ist, kann als ein Upper-Bit des Löschzustandes E ausgegeben werden. 21 FIG. 12 is a diagram schematically illustrating an upper-bit recovery process in a program operation according to an embodiment of the inventive concept. FIG. Referring to 21 For example, an upper-bit recovery method of each of states E, P1, P2, and P3 in a data recovery operation will be as follows. First, an upper-bit recovery method will be described when a target state is an erase state E. When "1" is stored at an upper bit latch ML, a lower bit latch LL, and a forcing bit latch FL, a target state may be judged as the clear state E. " As in 18 1, a state that "1" is stored in the upper bit latch ML, the lower bit latch LL, and the forcing bit latch FL may specify only the clear state E. " In this case, during a program operation, an erase state upper tail error bit E may be recovered from a data state of the ML, LL, and FL latches. The "1" stored at the forcing bit latch FL may be output as an upper bit of the erase state E. "

Eine Upper-Bit-Wiederherstellungsoperation kann, wenn ein Zielzustand ein Programmierzustand P1/P2/P3 ist, in zwei Wiederherstellungsoperationen erste RCV und zweite RCV unterteilt werden. Bei der ersten Wiederherstellungsoperation erste RCV können Daten des Forcing-Bit-Latch FL von „1” in „0” geändert werden, wenn „0” bei dem Upper-Bit-Latch ML eines Seitenpuffers, welcher einer Speicherzelle, welche eine Programmierung nicht durchlaufen hat, entspricht. Wie in 18 veranschaulicht ist, können, wenn „0” bei dem Upper-Bit-Latch ML bei dem ersten und zweiten Programmierzustand P1 und P2 gespeichert sind, Daten des Forcing-Bit-Latch FL bei der ersten Wiederherstellungsoperation erste RCV in „0” geändert werden. Demnach kann, wenn ein Zielzustand der erste/zweite Programmierzustand P1/P2 ist, das Forcing-Bit-Latch FL letztendlich „0” speichern. Hierin kann „0”, welche letztendlich bei dem Forcing-Bit-Latch FL gespeichert wird, als Upper-Bit des ersten und zweiten Programmierzustandes P1 und P2 ausgegeben werden.An upper bit recovery operation, when a target state is a program state P1 / P2 / P3, may be divided into two recovery operations, first RCV and second RCV. In the first recovery operation first RCV, data of the forcing bit latch FL may be changed from "1" to "0" when "0" in the upper bit latch ML of a page buffer, that of a memory cell not undergoing programming has, corresponds. As in 18 1, when "0" is stored in the upper bit latch ML in the first and second program states P1 and P2, data of the forcing bit latch FL may be changed to "0" in the first recovery operation first RCV. Thus, when a target state is the first / second program state P1 / P2, the forcing bit latch FL may eventually store "0". Herein, "0" which is finally stored at the forcing bit latch FL may be output as the upper bit of the first and second program states P1 and P2.

Während der zweiten Wiederherstellungsoperation zweite RCV kann eine Leseoperation unter Verwendung eines dritten Lese-Pegels RD3 durchgeführt werden. Wenn eine Speicherzelle als Aus-Zelle gemäß einem Ergebnis einer Leseoperation beurteilt ist, können Daten des Forcing-Bit-Latch FL von „0” in „1” geändert werden. Wie in 18 veranschaulicht ist, können Daten des Forcing-Bit-Latch FL bei dem dritten Programmierzustand P3 in „1” geändert werden. Es wird angenommen, dass Upper-Tail-Fehlerbits des ersten und zweiten Programmierzustandes P1 und P2 schwerlich bei der zweiten Wiederherstellungsoperation zweite RCV erzeugt werden. Mit dieser Annahme kann „1”, welche letztendlich bei dem Forcing-Bit-Latch FL gespeichert wird, als ein Upper-Bit des dritten Programmierzustands P3 ausgegeben werden. Mit der oben beschriebenen Daten-Wiederherstellungsoperation ist es möglich, Zieldaten (Upper Bit) unter Verwendung von Daten von Daten-Latches ML und LL, Daten eines Forcing-Bit-Latch FL und einer Leseoperation wiederherzustellen. Eine Operation des Wiederherstellens eines Upper-Bit kann unter Bezugnahme auf 21 beschrieben werden. Ähnlich kann ein Lower-Bit durch Daten von Latches ML, LL und FL und eine Leseoperation wiederhergestellt werden.During the second recovery operation second RCV, a read operation may be performed using a third read level RD3. When a memory cell is judged to be an off-cell according to a result of a read operation, data of the forcing bit latch FL may be changed from "0" to "1". As in 18 is illustrated, data of the forcing bit latch FL in the third programming state P3 can be changed to "1". It is assumed that upper-tail error bits of the first and second program states P1 and P2 are hardly generated in the second recovery operation second RCV. With this assumption, "1" which is finally stored in the forcing bit latch FL can be output as an upper bit of the third program state P3. With the data recovery operation described above, it is possible to recover upper bit data using data of data latches ML and LL, data of a forcing bit latch FL, and a read operation. An operation of restoring an upper bit may be made by reference to 21 to be discribed. Similarly, a lower bit can be recovered by data from Latches ML, LL and FL and a read operation.

Die 22A und 22B sind Flussdiagramme, welche ein Multibit-Programmierverfahren der nichtflüchtigen Speichervorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulichen. Ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung wird unter Bezugnahme auf die 1, 13, 22A und 22B beschrieben werden.The 22A and 22B 13 are flowcharts illustrating a multi-bit programming method of the nonvolatile memory device according to an embodiment of the inventive concept. A multi-bit programming method of a nonvolatile memory device will be described with reference to FIGS 1 . 13 . 22A and 22B to be discribed.

In Operation S311 kann ein Upper-Bit MSB auf bzw. in ein Upper-Bit-Latch ML geladen werden und ein Lower-Bit LSB kann auf bzw. in ein Lower-Bit-Latch LL geladen werden. Zu dieser Zeit kann ein Forcing-Bit-Latch FL mit einem Default-Forcing-Bit (beispielsweise „1”) gesetzt bzw. gewählt werden. Oder ein Default-Forcing-Bit (beispielsweise „1”) kann bei dem Forcing-Bit-Latch FL gespeichert werden. Hierin kann das Default-Forcing-Bit ein Datum bzw. Daten sein, welches anzeigt, dass eine Bitleitungs-Forcing nicht durchgeführt wird. In operation S311, an upper bit MSB may be loaded on an upper bit latch ML and a lower bit LSB may be loaded on a lower bit latch LL. At this time, a forcing bit latch FL having a default forcing bit (for example, "1") may be set. Or, a default forcing bit (eg, "1") may be stored at the forcing bit latch FL. Herein, the default forcing bit may be a data indicating that bit-line forcing is not being performed.

In Operation S312 kann eine Bitleitungs-Spannung VBL gemäß Daten, welche bei dem Upper-Bit-Latch ML und dem Forcing-Bit-Latch FL gespeichert sind, bestimmt werden, und ein Programmierpuls VWL kann an eine Wortleitung angelegt werden. Beispielsweise kann, wenn Daten, welche bei dem Upper-Bit-Latch ML gespeichert sind „0” sind und Daten, welche bei dem Forcing-Latch FL gespeichert sind „1” sind, die Bitleitungs-Spannung VBL auf eine Bitleitungs-Programmierspannung BLPV gesetzt werden, d. h. eine Masse-Spannung GND. Wenn Daten, welche bei dem Upper-Bit-Latch ML gespeichert sind, „0” sind, und Daten, welche bei dem Forcing-Bit-Latch gespeichert sind, „1” sind, kann die Bitleitungs-Spannung VBL auf eine Bitleitungs-Forcing-Spannung BLFV gesetzt werden. Wenn Daten, welche bei dem Upper-Bit-Latch ML gespeichert sind, „1” sind, kann die Bitleitungs-Spannung VBL auf eine Bitleitungs-Inhibier-Spannung BLIV gesetzt werden, d. h. eine Leistungsversorgungsspannung VDD. Der Programmierpuls kann gemäß einer Iteration von Programmierschleifen zunehmen.In operation S312, a bit line voltage VBL may be determined in accordance with data stored in the upper bit latch ML and the forcing bit latch FL, and a program pulse VWL may be applied to a word line. For example, when data stored at the upper bit latch ML is "0" and data stored at the forcing latch FL is "1", the bit line voltage VBL may be set to a bit line programming voltage BLPV be, d. H. a ground voltage GND. When data stored at the upper-bit latch ML is "0" and data stored at the forcing-bit latch is "1", the bit-line voltage VBL may be put on a bit-line forcing Voltage BLFV are set. When data stored at the upper-bit latch ML is "1", the bit-line voltage VBL may be set to a bit-line inhibition voltage BLIV. H. a power supply voltage VDD. The programming pulse may increase according to an iteration of program loops.

In Operation S313 kann eine Vor-Verifikations-Operation durchgeführt werden, und es kann beurteilt werden, ob die Vor-Verifikations-Operation durchgeführt ist. Wenn beurteilt wird, dass die Vor-Verifikations-Operation durchgeführt ist, kann in Operation S314 das Bitleitungs-Forcing-Bit BFB des Forcing-Bit-Latch FL von „1” in „0” geändert werden. Wenn beurteilt wird, dass die Vor-Verifikations-Operation fehlgeschlagen ist, kann in Operation S315 beurteilt werden, ob eine Haupt-Verifikations-Operation durchgeführt ist. Wenn beurteilt wird, dass die Haupt-Verifikations-Operation durchgeführt ist, können in Operation S316 Daten der Upper- und Lower-Bit-Latches ML und LL in Passiermuster-Daten (beispielsweise „11”) geändert werden, welche bei einer nächsten Programmierschleife programmier-inhibiert sind. In Operation S317 kann beurteilt werden, ob eine Gesamt-Programmieroperation durchgeführt ist.In operation S313, a pre-verification operation may be performed, and it may be judged whether the pre-verification operation is performed. When it is judged that the pre-verification operation is performed, in operation S314, the bit-line forcing bit BFB of the forcing bit latch FL may be changed from "1" to "0". When it is judged that the pre-verification operation has failed, it can be judged in operation S315 whether a main verification operation is performed. When it is judged that the main verification operation is performed, in operation S316, data of the upper and lower bit latches ML and LL may be changed into pass pattern data (for example, "11") which program at a next program loop are inhibited. In operation S317, it may be judged whether a total program operation has been performed.

In dem Fall, dass die Vor-Verifikations-Operation, die Haupt-Verifikations-Operation oder die Gesamt-Programmieroperation als nicht durchgeführt beurteilt wird, kann in Operation S318 beurteilt werden, ob eine gegenwärtige Programmierschleife eine maximale Programmierschleife erreicht. Wenn die gegenwärtige Programmierschleife die maximale Programmierschleife nicht erreicht, kann in S319 eine Programmierschleifenanzahl zunehmen und ein Pegel des Programmierpulses kann um ein vorbestimmtes Inkrement (beispielsweise ΔISPP) zunehmen. Danach schreitet das Verfahren zur Operation S312 voran.In the event that the pre-verification operation, the main verification operation or the overall programming operation is judged not to be performed, it can be judged in operation S318 whether a current program loop reaches a maximum program loop. If the current program loop does not reach the maximum program loop, a program loop number may increase in S319 and a level of the program pulse may increase by a predetermined increment (eg, ΔISPP). Thereafter, the process proceeds to operation S312.

In dem Fall, dass die gegenwärtige Programmierschleife die maximale Programmierschleife erreicht, kann die Programmieroperation fehlgeschlagen sein. In Operation S320 kann eine Daten-Wiederherstellungsoperation unmittelbar in Antwort auf einen Programmierfehler bzw. fehlgeschlagenen Programmierung durchgeführt werden. Hierin kann mit der Daten-Wiederherstellungsoperation S321 eine Leseoperation auf einer Speicherzelle unter Verwendung wenigstens eines Lese-Pegels/(beispielsweise RD3 in 21) durchgeführt werden, wie in 22B veranschaulicht ist. Die geladenen Upper- und Lower-Bits MSB und LSB können unter Verwendung von gelesenen Daten und einem Forcing-Bit, welches bei dem Forcing-Bit-Latch FL gespeichert ist, wiederhergestellt werden. In Operation S322 kann eine Daten-Wiederherstellungsoperation gleich durchgeführt werden als mit Bezugnahme auf 21 beschrieben ist. In Operation S323 können die wiederhergestellten Upper- und Lower-Bit-Daten MSB und LSB fehlerkorrigiert werden. Die Fehlerkorrektur-Operation kann innerhalb einer nichtflüchtigen Speichervorrichtung 100 oder durch einen externen Speichercontroller durchgeführt werden. Nachdem die Daten-Wiederherstellungsoperation beendet ist, können in Operation S330 die wiederhergestellten Upper- und Lower-Bit-Daten MSB und LSB auf eine neue physikalische Seite zurückkopiert werden. Danach kann die Programmieroperation beendet werden. Mit dem Multibit-Programmierverfahren des erfinderischen Konzepts können geladene Daten (MSB oder LSB) unter Verwendung eines Forcing-Bit, welches anzeigt, ob ein Bitleitungs-Forcing benötigt wird, und einem Ergebnis einer Lese-Operation auf einer Speicherzelle in Antwort auf einen Programmierfehler wiederhergestellt werden.In the event that the current program loop reaches the maximum program loop, the program operation may have failed. In operation S320, a data recovery operation may be performed immediately in response to a programming error. Herein, with the data recovery operation S321, a read operation on a memory cell using at least one read level / (for example, RD3 in FIG 21 ), as in 22B is illustrated. The loaded upper and lower bits MSB and LSB may be recovered using read data and a forcing bit stored at the forcing bit latch FL. In operation S322, a data recovery operation may be performed the same as referring to FIG 21 is described. In operation S323, the recovered upper and lower bit data MSB and LSB may be error corrected. The error correction operation may be within a nonvolatile memory device 100 or by an external memory controller. After the data recovery operation is completed, in operation S330, the recovered upper and lower bit data MSB and LSB may be copied back to a new physical page. After that, the programming operation can be ended. With the multi-bit programming method of the inventive concept, loaded data (MSB or LSB) can be restored using a forcing bit indicating whether bit-line forcing is needed and a result of a read operation on a memory cell in response to a programming error become.

Ein vollständiger Programmierfehler kann gemäß einer Programmierschleifen-Anzahl bestimmt werden. Das erfinderische Konzept ist jedoch nicht hierauf beschränkt. Beispielsweise kann ein Programmierfehler gemäß der Anzahl von Fehlerbits bestimmt werden. Eine Technik zum Bestimmen von Programmierfehlern gemäß der Anzahl von Fehlerbits ist in der US-Patent-Veröffentlichung Nr. 2011-0051514 offenbart, deren Gesamtheit hierin durch Bezugnahme mit eingebunden ist.A complete programming error may be determined according to a number of program loops. However, the inventive concept is not limited to this. For example, a programming error may be determined according to the number of error bits. A technique for determining programming errors according to the number of error bits is described in U.S.Patent US Patent Publication No. 2011-0051514 , the entirety of which is incorporated herein by reference.

23 ist ein Flussdiagramm, welches ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung wird unter Bezugnahme auf die 1, 13 und 23 beschrieben werden. 23 FIG. 10 is a flowchart illustrating a multi-bit programming method of a nonvolatile memory device according to another embodiment of the inventive concept. FIG illustrated. A multi-bit programming method of a nonvolatile memory device will be described with reference to FIGS 1 . 13 and 23 to be discribed.

In Operation S410 können zu programmierende Zieldaten TD in bzw. auf Daten-Latches (beispielsweise ML und LL) geladen werden, und ein Forcing-Bit-Latch (beispielsweise FL) kann mit einem Forcing-Bit BFB gesetzt bzw. besetzt werden, welches anzeigt, ob ein Bitleitungs-Forcing durchgeführt wird oder nicht. In Operation S420 können Speicherzellen mit den geladenen Daten programmiert werden.In operation S410, target data TD to be programmed may be loaded into data latches (eg, ML and LL), and a forcing bit latch (e.g., FL) may be set with a forcing bit BFB indicating Whether a bit-line forcing is performed or not. In operation S420, memory cells may be programmed with the loaded data.

Danach kann eine An-Zell-Verifikationsoperation hinsichtlich Speicherzellen durchgeführt werden. Die An-Zell-Verifikationsoperation kann durchgeführt werden, um zu verifizieren, ob Speicherzellen, die zu programmier-inhibieren sind, programmiert sind. Beispielsweise kann in Operation S430 die An-Zell-Verifikationsoperation durchgeführt werden, um zu verifizieren, ob ein Löschzustand E durch eine Programmierstörung programmiert ist. In Operation S440 kann eine Aus-Zell-Verifikationsoperation hinsichtlich Speicherzellen durchgeführt werden. Die Aus-Zell-Verifikationsoperation kann durchgeführt werden, um zu verifizieren, ob zu programmierende Speicherzellen einen Zielzustand, der Zieldaten entspricht, erreichen. Die An-Zell-Verifikationsoperation und die Aus-Zell-Verifikationsoperation sind im US-Patent Nr. 8,050,101 und der US-Patent-Veröffentlichung Nr. 2010-0008149 offenbart, deren Gesamtheit hierin durch Bezugnahme mit eingebunden ist.Thereafter, an on-cell verification operation may be performed on memory cells. The on-cell verification operation may be performed to verify whether memory cells to be programmed-inhibited are programmed. For example, in operation S430, the on-cell verify operation may be performed to verify if an erase state E is programmed by a program fault. In operation S440, an off-cell verification operation regarding memory cells may be performed. The off-cell verification operation may be performed to verify whether memory cells to be programmed reach a target state corresponding to target data. The on cell verification operation and the off cell verification operation are in U.S. Patent No. 8,050,101 and the U.S. Patent Publication No. 2010-0008149 , the entirety of which is incorporated herein by reference.

Ob eine Programmieroperation durchgeführt oder fehlgeschlagen ist, kann gemäß Ergebnissen der An-Zell-Verifikationsoperation und der Aus-Zell-Verifikationsoperation bestimmt werden. Beispielsweise kann, wenn eine Fehlerbit-Anzahl als Ergebnis der An-Zell-Verifikationsoperation und der Aus-Zell-Verifikationsoperation über einer korrigierbaren Fehlerbit-Anzahl ist, in Operation S450 die Programmieroperation als programmier-fehlgeschlagen bestimmt werden. Wenn bestimmt wird, dass die Programmieroperation fehlgeschlagen ist, kann in Operation S460 eine Daten-Wiederherstellungsoperation zum Wiederherstellen von Zieldaten durchgeführt werden. Die Daten-Wiederherstellungsoperation kann in einer Art und Weise durchgeführt werden, welche unter Bezugnahme auf die 18 bis 20 oder unter Bezugnahme auf 21 beschrieben ist. Nachdem eine Daten-Wiederherstellungsoperation beendet ist, können in Operation S470 wiederhergestellte Zieldaten auf eine neue physikalische Seite zurückkopiert werden. Danach kann die Programmieroperation beendet werden. Mit dem Multibit-Programmierverfahren des erfinderischen Konzepts kann gemäß Ergebnissen der An-Zell-Verifikationsoperation und der Aus-Zell-Verifikationsoperation bestimmt werden, ob eine Programmieroperation fehlgeschlagen ist, und eine Daten-Wiederherstellungsoperation kann bei einem Programmierfehler durchgeführt werden. Wie unter Bezugnahme auf die 22 und 23 beschrieben ist, kann eine Daten-Wiederherstellungsoperation in Antwort auf einen Programmierfehler durchgeführt werden. Das erfinderische Konzept ist jedoch nicht hierauf beschränkt. Beispielsweise kann eine Daten-Wiederherstellungsoperation in Antwort auf einen Daten-Wiederherstellungsbefehl, welcher von einer externen Vorrichtung vorgesehen ist, durchgeführt werden.Whether a program operation has been performed or failed can be determined according to results of the on-cell verify operation and the off-cell verify operation. For example, if an error bit number as a result of the on-cell verify operation and the off-cell verify operation is over a correctable error bit count, then in operation S450 the program operation may be determined as being programmed-failed. If it is determined that the program operation has failed, a data recovery operation for restoring target data may be performed in operation S460. The data recovery operation may be performed in a manner that is described with reference to FIGS 18 to 20 or with reference to 21 is described. After a data recovery operation is completed, destination data recovered in operation S470 may be copied back to a new physical page. After that, the programming operation can be ended. With the multi-bit programming method of the inventive concept, according to results of the on-cell verification operation and the off-cell verification operation, it can be determined whether a program operation has failed, and a data recovery operation can be performed upon a programming error. As with reference to the 22 and 23 a data recovery operation may be performed in response to a programming error. However, the inventive concept is not limited to this. For example, a data recovery operation may be performed in response to a data recovery command provided from an external device.

24 ist ein Flussdiagramm, welches ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung gemäß noch einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Ein Multibit-Programmierverfahren einer nichtflüchtigen Speichervorrichtung wird unter Bezugnahme auf die 1, 13, 17 und 24 beschrieben werden. 24 FIG. 10 is a flowchart illustrating a multi-bit programming method of a nonvolatile memory device according to still another embodiment of the inventive concept. A multi-bit programming method of a nonvolatile memory device will be described with reference to FIGS 1 . 13 . 17 and 24 to be discribed.

In Operation S510 können Zieldaten TD, welche einen Zielzustand anzeigen, bei einer Programmieroperation in bzw. auf einen Seitenpuffer geladen werden. In Operation S520 kann ein Wiederherstellungs-Referenzbit RRB zum Wiederherstellen eines Upper-Tail-Fehlerbits eines Löschzustandes E bei einem Bitleitungs-Forcing-Latch FL gespeichert werden. Das Wiederherstellungs-Referenzbit RBB kann ein Bitleitungs-Forcing-Bit BFB sein, welches anzeigt, ob ein Bitleitungs-Forcing durchgeführt wird oder nicht.In operation S510, target data TD indicative of a target state may be loaded into a page buffer in a program operation. In operation S520, a recovery reference bit RRB for restoring an upper-tail error bit of an erase state E may be stored in a bit-line forcing latch FL. The recovery reference bit RBB may be a bit-line forcing bit BFB indicating whether bit-line forcing is being performed or not.

In Operation S530 können die Zieldaten TD bei bzw. in eine Speicherzelle programmiert werden. Eine Daten-Wiederherstellungsoperation kann in Antwort auf einen Daten-Wiederherstellungsbefehl, welcher von einem Speichercontroller vorgesehen wird, durchgeführt werden, unabhängig davon, ob eine Programmieroperation fehlgeschlagen ist. Wenn der Daten-Wiederherstellungsbefehl empfangen wird, können in Operation S540 die geladenen Zieldaten TD unter Verwendung wenigstens einer Leseoperation und des Wiederherstellungs-Referenzbits RRB wiederhergestellt werden. Nachdem die Daten-Wiederherstellungsoperation beendet ist, können in Operation S550 die wiederhergestellten Zieldaten auf eine neue physikalische Seite zurückkopiert werden. Danach kann die Programmieroperation beendet werden. Mit dem Multibit-Programmierverfahren des erfinderischen Konzepts können Zieldaten unter Verwendung eines Wiederherstellungs-Referenzbits RRB und wenigstens einer Leseoperation wiederhergestellt werden, wenn ein Daten-Wiederherstellungsbefehl empfangen wird.In operation S530, the target data TD may be programmed into or into a memory cell. A data recovery operation may be performed in response to a data recovery command provided by a memory controller, regardless of whether a program operation has failed. When the data recovery command is received, in operation S540, the loaded target data TD may be recovered using at least one read operation and the recovery reference bit RRB. After the data recovery operation is completed, in operation S550, the recovered target data may be copied back to a new physical page. After that, the programming operation can be ended. With the multi-bit programming method of the inventive concept, target data can be recovered using a recovery reference bit RRB and at least one read operation when a data recovery command is received.

25 ist ein Flussdiagramm, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Untenstehend wird eine Daten-Wiederherstellungsoperation eines Speichersystems unter Bezugnahme auf 25 beschrieben werden. Hierin kann ein Speichersystem wenigstens eine nichtflüchtige Speichervorrichtung und einen Speichercontroller, welcher die wenigstens eine nichtflüchtige Speichervorrichtung steuert, aufweisen. 25 FIG. 10 is a flowchart illustrating a data restoration operation of a Storage system illustrated according to an embodiment of the inventive concept. A data recovery operation of a memory system will be described below with reference to FIG 25 to be discribed. Herein, a memory system may include at least one nonvolatile memory device and a memory controller that controls the at least one nonvolatile memory device.

In Operation S610 kann der Speichercontroller programmierte Daten von der wenigstens einen nichtflüchtigen Speichervorrichtung, wo eine Programmieroperation programmiert wird, lesen. In Operation S620 kann der Speichercontroller einen Fehler der gelesenen Daten korrigieren. In Operation S630 kann der Speichercontroller beurteilen, ob ein Fehler der gelesenen Daten korrigierbar ist. Wenn ein Fehler der gelesenen Daten unkorrigierbar ist, schreitet das Verfahren zur Operation S650 voran, in welcher eine Daten-Wiederherstellungsoperation zum Wiederherstellen von programmierten Daten durchgeführt wird. Hierin kann die Daten-Wiederherstellungsoperation in einer Art und Weise durchgeführt werden, welche unter Bezugnahme auf die 1 bis 24 beschrieben ist. Wenn ein Fehler der gelesenen Daten korrigierbar ist, kann der Speichercontroller in Operation S640 beurteilen, ob eine fehlerhafte Bit-Anzahl über einem vorbestimmten Wert ist. Wenn dies so ist, schreitet das Verfahren zu Operation S650 voran, um eine Daten-Zuverlässigkeit sicherzustellen. Falls nicht, kann die Daten-Wiederherstellungsoperation beendet werden. Wie obenstehend beschrieben ist, kann eine Daten-Wiederherstellungsoperation basierend auf einem Fehler von gelesenen Daten bestimmt werden.In operation S610, the memory controller may read programmed data from the at least one non-volatile memory device where a program operation is being programmed. In operation S620, the memory controller may correct an error in the read data. In operation S630, the memory controller may judge whether an error of the read data is correctable. If an error of the read data is uncorrectable, the process proceeds to operation S650 in which a data restoration operation for recovering programmed data is performed. Herein, the data recovery operation may be performed in a manner which is described with reference to FIGS 1 to 24 is described. If an error of the read data is correctable, the memory controller may judge in operation S640 if an erroneous bit count is above a predetermined value. If so, the method proceeds to operation S650 to ensure data reliability. If not, the data recovery operation can be terminated. As described above, a data recovery operation may be determined based on an error of read data.

26 ist ein Flussdiagramm, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Untenstehend wird eine Daten-Wiederherstellungsoperation eines Speichersystems unter Bezugnahme auf 26 beschrieben werden. In Operation S710 kann ein Speichercontroller Programmierstatus-Informationen lesen, welche einen Status einer Programmieroperation wenigstens einer nichtflüchtigen Speichervorrichtung anzeigen. In Operation S720 kann der Speichercontroller beurteilen, ob eine Daten-Wiederherstellungsoperation benötigt wird, basierend auf den gelesenen Programmierstatus-Informationen. Beispielsweise kann, wenn ein Programmierstatus einen vollständigen Programmierfehler bzw. eine vollständige Programmier-Fehlfunktion anzeigt, eine Daten-Wiederherstellungsoperation benötigt werden. In diesem Fall kann in Operation S730 der Speichercontroller einen Daten-Wiederherstellungsbefehl an die nichtflüchtige Speichervorrichtung ausgeben. In Operation S740 kann die nichtflüchtige Speichervorrichtung eine Daten-Wiederherstellungsoperation in Antwort auf den Daten-Wiederherstellungsbefehl durchführen. Die Daten-Wiederherstellungsoperation kann in einer Art und Weise durchgeführt werden, welche unter Bezugnahme auf die 1 bis 24 beschrieben ist. Wie obenstehend beschrieben ist, kann eine Daten-Wiederherstellungsoperation unter Verwendung von Programmierstatus-Informationen einer nichtflüchtigen Speichervorrichtung bestimmt werden. 26 FIG. 10 is a flowchart illustrating a data recovery operation of a memory system according to another embodiment of the inventive concept. FIG. A data recovery operation of a memory system will be described below with reference to FIG 26 to be discribed. In operation S710, a memory controller may read programming status information indicating a status of a program operation of at least one nonvolatile memory device. In operation S720, the memory controller may judge whether a data recovery operation is needed based on the read programming status information. For example, if a programming status indicates a complete programming error or a complete programming malfunction, a data recovery operation may be required. In this case, in operation S730, the memory controller may issue a data recovery command to the nonvolatile memory device. In operation S740, the nonvolatile memory device may perform a data recovery operation in response to the data recovery command. The data recovery operation may be performed in a manner that is described with reference to FIGS 1 to 24 is described. As described above, a data recovery operation may be determined using programming status information of a non-volatile storage device.

27 ist ein Flussdiagramm, welches eine Daten-Wiederherstellungsoperation eines Speichersystems noch einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Untenstehend wird eine Daten-Wiederherstellungsoperation eines Speichersystems mit Bezugnahme auf 27 beschrieben werden. Eine nichtflüchtige Speichervorrichtung kann eine Wiederherstellungsoperation für Lower-Tail-Daten unter Verwendung von Daten-Latches DL1 bis DLk (es sei Bezug genommen auf 2) durchführen. Ein Lower-Tail kann ein Abschnitt sein, in dem eine Zell-Programmieroperation fehlgeschlagen ist, wie unter Bezugnahme auf 3 beschrieben ist. In Operation S810 können die Daten-Latches DL1 bis DLk Daten eines Zielzustandes aufrechterhalten, wenn eine Zell-Programmieroperation fehlgeschlagen ist. Ebenso kann die nichtflüchtige Speichervorrichtung eine Wiederherstellungsoperation für Upper-Tail-Daten unter Verwendung eines Wiederherstellungs-Referenzbits RRB oder wenigstens einer Leseoperation für eine Daten-Wiederherstellung durchführen. Ein Upper-Tail kann ein Abschnitt sein, in dem eine Zell-Programmieroperation durchgeführt ist, wie unter Bezugnahme auf 5 beschrieben ist. Wie unter Bezugnahme auf die 5 und 6 beschrieben ist, kann die nichtflüchtige Speichervorrichtung Zieldaten TD, welche einen Zielzustand anzeigen, unter Verwendung eines Wiederherstellungs-Referenzbits RRB und einer Leseoperation wiederherstellen. Eine Daten-Wiederherstellungsoperation des erfinderischen Konzepts kann eine Wiederherstellungsoperation für Lower-Tail/Upper-Tail-Daten durchführen. 27 FIG. 10 is a flowchart illustrating a data recovery operation of a memory system of still another embodiment of the inventive concept. FIG. A data recovery operation of a memory system will be described below with reference to FIG 27 to be discribed. A nonvolatile memory device may perform a lower tail data recovery operation using data latches DL1 to DLk (refer to FIG 2 ) carry out. A lower tail may be a section in which a cell program operation has failed as described with reference to FIG 3 is described. In operation S810, the data latches DL1 to DLk may maintain data of a target state when a cell program operation has failed. Also, the nonvolatile memory device may perform an upper tail data recovery operation using a recovery reference bit RRB or at least a data recovery read operation. An upper tail may be a section in which a cell programming operation is performed as described with reference to FIG 5 is described. As with reference to the 5 and 6 11, the nonvolatile memory device may restore target data TD indicative of a target state by using a recovery reference bit RRB and a read operation. A data recovery operation of the inventive concept may perform a restore operation for lower tail / upper tail data.

28 ist ein Flussdiagramm, welches eine Daten-Wiederherstellungsoperation eines Speichersystems gemäß noch einer anderen Ausführungsform des erfinderischen Konzepts veranschaulicht. Untenstehend wird eine Daten-Wiederherstellungsoperation eines Speichersystems unter Bezugnahme auf 28 beschrieben werden. In Operation S910 kann eine nichtflüchtige Speichervorrichtung einen Daten-Wiederherstellungsbefehl und eine Adresse von einem Speichercontroller empfangen. Die Adresse kann auf eine neue Seite zeigen, in der wiederhergestellte Daten programmiert sind bzw. werden. In Operation S920 kann die nichtflüchtige Speichervorrichtung eine Daten-Wiederherstellungsoperation in Antwort auf den zugeführten Daten-Wiederherstellungsbefehl und eine Adresse durchführen. Die Daten-Wiederherstellungsoperation kann in einer Art und Weise durchgeführt werden, welche unter Bezugnahme auf die 1 bis 14 beschrieben ist. Wie obenstehend beschrieben ist, können Zieldaten gemäß einem Daten-Wiederherstellungsbefehl wiederhergestellt werden und wiederhergestellte Daten können bei einer neuen Seite, welche durch eine Adresse bestimmt ist, programmiert werden. 28 FIG. 10 is a flowchart illustrating a data recovery operation of a memory system according to still another embodiment of the inventive concept. A data recovery operation of a memory system will be described below with reference to FIG 28 to be discribed. In operation S910, a nonvolatile memory device may receive a data recovery command and an address from a memory controller. The address may point to a new page where recovered data is programmed. In operation S920, the nonvolatile memory device may perform a data recovery operation in response to the supplied data recovery command and an address. The Data recovery operation may be performed in a manner that is described with reference to FIGS 1 to 14 is described. As described above, destination data may be restored in accordance with a data restoration command, and recovered data may be programmed at a new page designated by an address.

Mit dem erfinderischen Konzept können Zustandsinformationen (beispielsweise RRB), welche einem spezifischen Zustand zugeordnet sind, welcher relativ viele Fehlerbits verursacht, bei einer Programmieroperation gesetzt/gespeichert werden. Bei einer Daten-Wiederherstellungsoperation können Zieldaten, welche dem bestimmten bzw. spezifischen Zustand entsprechen, unter Verwendung der Zustandsinformationen wiederhergestellt werden.With the inventive concept, state information (eg, RRB) associated with a specific state causing relatively many error bits can be set / stored in a program operation. In a data recovery operation, target data corresponding to the specific state can be restored by using the state information.

Das erfinderische Konzept ist auf eine vertikale NAND-Flash-Speichervorrichtung anwendbar.The inventive concept is applicable to a vertical NAND flash memory device.

29 ist eine perspektivische Ansicht eines Speicherblocks gemäß dem erfinderischen Konzept. Bezug nehmend auf 29 können wenigstens eine Masse-Auswahlleitung GSL, eine Mehrzahl von Wortleitungen WL und wenigstens eine String- bzw. Strang-Auswahlleitung SSL auf einem Substrat zwischen Wortleitungsschnitten gestapelt sein. Hierin kann die wenigstens eine Strang-Auswahlleitung SSL durch einen Strang-Auswahl-Leitungsschnitt getrennt sein. Eine Mehrzahl von Säulen kann wenigstens eine Masse-Auswahlleitung GSL, eine Mehrzahl von Wortleitungen WL und wenigstens eine Strang-Auswahlleitung SSL durchdringen. Hierin können wenigstens eine Masse-Auswahlleitung SSL, eine Mehrzahl von Wortleitungen WL und wenigstens eine Strang-Auswahlleitung SSL gebildet werden, so dass sie eine Substratform haben. Bitleitungen BL können mit einer oberen Oberfläche der Mehrzahl von Säulen verbunden sein. Der Speicherblock in 29 kann eine zusammengeführte Wortleitungsstruktur haben. Das erfinderische Konzept ist jedoch nicht darauf beschränkt. 29 is a perspective view of a memory block according to the inventive concept. Referring to 29 For example, at least one ground select line GSL, a plurality of word lines WL, and at least one string select line SSL may be stacked on a substrate between word line cuts. Herein, the at least one string select line SSL may be separated by a thread select line cut. A plurality of columns may penetrate at least one ground select line GSL, a plurality of word lines WL, and at least one string select line SSL. Herein, at least one ground select line SSL, a plurality of word lines WL, and at least one string select line SSL may be formed to have a substrate shape. Bit lines BL may be connected to an upper surface of the plurality of pillars. The memory block in 29 may have a merged wordline structure. However, the inventive concept is not limited thereto.

30 ist ein Blockschaltbild, welches schematisch ein Speichersystem gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 30 kann ein Speichersystem 1000 wenigstens eine nichtflüchtige Speichervorrichtung 1100 und einen Speichercontroller 1200 aufweisen. Die nichtflüchtige Speichervorrichtung 1100 kann konfiguriert sein, so dass sie eine Daten-Wiederherstellungsoperation durchführt, welche unter Bezugnahme auf die 1 bis 28 beschrieben ist. 30 FIG. 15 is a block diagram schematically illustrating a memory system according to an embodiment of the inventive concept. FIG. Referring to 30 can be a storage system 1000 at least one non-volatile memory device 1100 and a memory controller 1200 exhibit. The nonvolatile storage device 1100 may be configured to perform a data recovery operation which is described with reference to FIGS 1 to 28 is described.

Die nichtflüchtige Speichervorrichtung 1100 kann optional mit einer Hochspannung Vpp von außerhalb versorgt werden. Der Speichercontroller 1200 kann mit der nichtflüchtigen Speichervorrichtung 1100 über eine Mehrzahl von Kanälen verbunden sein. Der Speichercontroller 1200 kann wenigstens eine zentrale Verarbeitungseinheit (CPU = Central Processing Unit) 1210, einen Pufferspeicher 1220, eine ECC-Schaltung 1230, ein ROM 1240, ein Host-Interface bzw. eine Host-Schnittstelle 1250 und ein Speicher-Interface bzw. eine Speicher-Schnittstelle 1260 aufweisen. Obwohl in 30 nicht gezeigt, kann der Speichercontroller 1200 weiterhin eine Zufallsschaltung aufweisen, welche Daten zufällig anordnet. Das Speichersystem 1000 gemäß einer Ausführungsform des erfinderischen Konzepts ist auf einen Perfect-Page-New(PPN)-Speicher anwendbar.The nonvolatile storage device 1100 can be optionally supplied with a high voltage Vpp from outside. The memory controller 1200 can with the non-volatile memory device 1100 be connected via a plurality of channels. The memory controller 1200 at least one central processing unit (CPU = Central Processing Unit) 1210 , a cache 1220 , an ECC circuit 1230 , a ROM 1240 , a host interface or a host interface 1250 and a memory interface 1260 exhibit. Although in 30 not shown, the memory controller 1200 further comprising a random circuit which randomly arranges data. The storage system 1000 according to one embodiment of the inventive concept is applicable to a Perfect Page New (PPN) memory.

Der Speichercontroller 1200 kann einen Daten-Wiederherstellungsbefehl erzeugen, wenn eine Programmieroperation der nichtflüchtigen Speichervorrichtung 1100 fehlgeschlagen ist oder wenn die Zuverlässigkeit einer Programmieroperation benötigt wird, und kann den Daten-Wiederherstellungsbefehl für die nichtflüchtige Speichervorrichtung 1100 vorsehen.The memory controller 1200 may generate a data restoration command when a program operation of the nonvolatile memory device 1100 failed or if the reliability of a programming operation is needed, and may the data recovery command for the non-volatile memory device 1100 provide.

Der Speichercontroller 1200 kann die ECC-Schaltung 1230 aufweisen, welche auf einen Fehler von Daten gemäß einem Fehlerkorrektur-Code (ECC = Error Correction Code) konfiguriert ist. Die ECC-Schaltung 1230 kann einen Fehlerkorrektur-Code-Wert von zu programmierenden Daten bei einer Schreiboperation berechnen, einen Fehler von gelesenen Daten bei einer Leseoperation basierend auf dem Fehlerkorrektur-Code-Wert korrigieren und einen Fehler von wiederhergestellten Daten aus der nichtflüchtigen Speichervorrichtung 1100 bei einer Daten-Wiederherstellungsoperation korrigieren. Der Speichercontroller 1200 kann die nichtflüchtige Speichervorrichtung 1100 mit einem Programmierbefehl vorsehen derart, dass Daten, welche bei einer Daten-Wiederherstellungsoperation wiederhergestellt werden, bei einer anderen physikalischen Seite programmiert werden.The memory controller 1200 can the ECC circuit 1230 which is configured for an error of data according to an Error Correction Code (ECC). The ECC circuit 1230 may calculate an error correction code value of data to be programmed in a write operation, correct an error of read data in a read operation based on the error correction code value, and an error of recovered data from the nonvolatile memory device 1100 in a data recovery operation. The memory controller 1200 can the non-volatile storage device 1100 with a program command such that data recovered in a data recovery operation is programmed on a different physical page.

Das Speichersystem 1000 kann eine Daten-Zuverlässigkeit durch ein Wiederherstellen von Zieldaten bei einer Daten-Wiederherstellungsoperation verbessern. Ebenso kann das Speichersystem 1000 eine Chipgröße verringern, da es einen getrennten Speicherplatz zum Speichern von Zieldaten für eine Daten-Wiederherstellungsoperation nicht notwendig macht.The storage system 1000 can improve data reliability by restoring destination data in a data recovery operation. Likewise, the storage system 1000 reduce a chip size because it does not require a separate memory space for storing target data for a data recovery operation.

31 ist ein Blockschaltbild, welches schematisch eine Speicherkarte gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 31 kann eine Speicherkarte 2000 wenigstens einen Flash-Speicher 2100, eine Pufferspeicher-Vorrichtung 2200 und einen Speichercontroller 2300 zum Steuern des Flash-Speichers 2100 und der Pufferspeicher-Vorrichtung 2200 aufweisen. 31 Fig. 10 is a block diagram schematically illustrating a memory card according to an embodiment of the inventive concept. Referring to 31 can a memory card 2000 at least one flash memory 2100 , a cache device 2200 and a memory controller 2300 to control the flash memory 2100 and the cache device 2200 exhibit.

Der Flash-Speicher 2100 kann optional mit einer Hochspannung Vpp von außerhalb versorgt werden. Der Flash-Speicher 2100 kann konfiguriert sein, um eine Daten-Wiederherstellungsoperation, welche in den 1 bis 28 beschrieben ist, durchzuführen. Die Pufferspeicher-Vorrichtung 2200 kann verwendet werden, um vorübergehend Daten, welche während des Betriebs der Speicherkarte 2000 erzeugt werden, zu speichern. Die Pufferspeicher-Vorrichtung 2200 kann implementiert werden unter Verwendung eines DRAM oder eines SRAM. Der Speichercontroller 2300 kann mit dem Flash-Speicher 2100 über eine Mehrzahl von Kanälen verbunden sein. Der Speichercontroller 2300 kann zwischen einem Host und dem Flash-Speicher 2100 verbunden sein. Der Speichercontroller 2300 kann konfiguriert sein, um auf den Flash-Speicher 2100 in Antwort auf eine Anfrage von dem Host zuzugreifen.The flash memory 2100 can be optionally supplied with a high voltage Vpp from outside. The flash memory 2100 may be configured to perform a data recovery operation contained in the 1 to 28 described to perform. The Cache Device 2200 Can be used to temporarily store data during operation of the memory card 2000 be generated to save. The Cache Device 2200 can be implemented using a DRAM or SRAM. The memory controller 2300 can with the flash memory 2100 be connected via a plurality of channels. The memory controller 2300 can be between a host and the flash memory 2100 be connected. The memory controller 2300 can be configured to access the flash memory 2100 in response to a request from the host.

Der Speichercontroller 2300 kann wenigstens einen Mikroprozessor 2310, ein Host-Interface 2320 und ein Flash-Interface 2330 aufweisen. Der Mikroprozessor 2310 kann konfiguriert sein, um Firmware zu treiben. Das Host-Interface 2320 kann mit dem Host über ein Karten-Protokoll (beispielsweise SD/MMC) für Datenaustausch zwischen dem Host und der Speicherkarte 2000 koppeln bzw. verbunden sein.The memory controller 2300 can at least a microprocessor 2310 , a host interface 2320 and a flash interface 2330 exhibit. The microprocessor 2310 can be configured to drive firmware. The host interface 2320 can communicate with the host through a card protocol (such as SD / MMC) for data exchange between the host and the memory card 2000 be coupled or connected.

Die Speicherkarte 2000 ist auf Multimedia-Karten (MMCs), Security Digitals (SDs), Mini SDs, Speichersticks, Smart-Media, Trans-Flash-Cards und dergleichen anwendbar.The memory card 2000 It is applicable to Multimedia Cards (MMCs), Security Digitals (SDs), Mini SDs, Memory Sticks, Smart Media, Trans Flash Cards, and the like.

32 ist ein Blockschaltbild, welches schematisch ein moviNAND gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 32 kann eine moviNAND-Vorrichtung 3000 wenigstens eine NAND-Flash-Speichervorrichtung 3100 und einen Controller 3200 aufweisen. Die moviNAND-Vorrichtung 3000 kann den MMC 4.4(oder auch Bezug genommen darauf als „eMMC”)-Standard unterstützen. 32 Fig. 10 is a block diagram schematically illustrating a moviNAND according to an embodiment of the inventive concept. Referring to 32 can a moviNAND device 3000 at least one NAND flash memory device 3,100 and a controller 3200 exhibit. The moviNAND device 3000 can support the MMC 4.4 (or referred to as "eMMC") standard.

Die NAND-Flash-Speichervorrichtung 3100 kann eine Single-Data-Rate(SDR)-NAND Flash-Speichervorrichtung oder eine Double-Data-Rate(DDR)-NAND-Flash-Speichervorrichtung sein. In beispielhaften Ausführungsformen kann die NAND-Flash-Speichervorrichtung 3100 NAND-Flash-Speicherchips aufweisen. Hierin kann die NAND-Flash-Speichervorrichtung 3100 durch ein Stapeln der NAND-Flash-Memory-Speicherchips auf einem Gehäuse (beispielsweise FBGA, Fine-Pitch-Ball-Grid-Array, etc.) implementiert sein. Jeder NAND-Flash-Memory-Speicherchip kann konfiguriert sein, so dass er eine Daten-Wiederherstellungsoperation, welche in den 1 bis 24 beschrieben ist, durchführt.The NAND flash memory device 3,100 may be a single data rate (SDR) NAND flash memory device or a double data rate (DDR) NAND flash memory device. In example embodiments, the NAND flash memory device 3,100 NAND flash memory chips have. Herein, the NAND flash memory device 3,100 be implemented by stacking the NAND flash memory memory chips on a package (eg, FBGA, fine pitch ball grid array, etc.). Each NAND flash memory memory chip may be configured to perform a data recovery operation included in the 1 to 24 is described performs.

Der Controller 3200 kann mit der Flash-Speichervorrichtung 3100 über eine Mehrzahl von Kanälen verbunden sein. Der Controller 3200 kann wenigstens einen Controller-Kern 3210, ein Host-Interface 3250 und ein NAND-Interface 3260 aufweisen. Der Controller-Kern 3210 kann einen Gesamtbetrieb der moviNAND-Vorrichtung 3000 steuern. Das Host-Interface 3250 kann konfiguriert sein, um eine MMC-Schnittstelle bzw. ein MMC-Interface zwischen dem Controller 3210 und einem Host durchzuführen. Das NAND-Interface 3260 kann konfiguriert sein, so dass es zwischen der NAND-Flash-Speichervorrichtung 3100 und dem Controller 3200 koppelt. In beispielhaften Ausführungsformen kann das Host-Interface 3250 ein paralleles Interface (beispielsweise ein MMC-Interface) sein. In anderen beispielhaften Ausführungsformen kann das Host-Interface 3250 der moviNAND-Vorrichtung 3000 ein serielles Interface sein (beispielsweise UHS-II, UFS, etc.).The controller 3200 can with the flash memory device 3,100 be connected via a plurality of channels. The controller 3200 can be at least one controller core 3210 , a host interface 3250 and a NAND interface 3260 exhibit. The controller core 3210 can a total operation of the moviNAND device 3000 Taxes. The host interface 3250 can be configured to have an MMC interface or an MMC interface between the controller 3210 and a host. The NAND interface 3260 can be configured so that it is between the NAND flash memory device 3,100 and the controller 3200 coupled. In exemplary embodiments, the host interface 3250 a parallel interface (for example an MMC interface). In other exemplary embodiments, the host interface 3250 the moviNAND device 3000 a serial interface (for example, UHS-II, UFS, etc.).

Die moviNAND-Vorrichtung 3000 kann Leistungsversorgungsspannungen Vcc und Vccq von dem Host empfangen. Hierin kann die Leistungsversorgungsspannung Vcc (ungefähr 3,3 Volt) der NAND-Flash-Speichervorrichtung 3100 und dem NAND-Interface 3200 zur Verfügung gestellt werden, während die Leistungsversorgungsspannung Vccq (ungefähr 1,8 Volt/3,3 Volt) dem Controller 3200 zur Verfügung gestellt werden kann. In beispielhaften Ausführungsformen kann eine externe Hochspannung Vpp der moviNAND-Vorrichtung 3000 zugeführt werden.The moviNAND device 3000 can receive power supply voltages Vcc and Vccq from the host. Herein, the power supply voltage Vcc (about 3.3 volts) of the NAND flash memory device 3,100 and the NAND interface 3200 while the power supply voltage Vccq (approximately 1.8 volts / 3.3 volts) is provided to the controller 3200 can be made available. In exemplary embodiments, an external high voltage Vpp of the moviNAND device 3000 be supplied.

Die moviNAND-Vorrichtung 3000 gemäß einer Ausführungsform des erfinderischen Konzepts kann vorteilhaft sein, um Massen-Daten zu speichern, so wie sie eine verbesserte Lesecharakteristik haben kann. Die moviNAND-Vorrichtung 3000 gemäß einer Ausführungsform des erfinderischen Konzepts ist auf kleine und niedrigleistende mobile Produkte (beispielsweise ein Galaxy S, iPhone, etc.) anwendbar.The moviNAND device 3000 According to one embodiment of the inventive concept, it may be advantageous to store mass data as it may have an improved reading characteristic. The moviNAND device 3000 according to one embodiment of the inventive concept is applicable to small and low-performing mobile products (for example, a Galaxy S, iPhone, etc.).

33 ist ein Blockschaltbild, welches schematisch ein Festkörperlaufwerk gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 33 kann ein Festkörperlaufwerk (SSD = Solid State Drive) 4000 eine Mehrzahl von Flash-Speichervorrichtung 4100 und einen SSD-Controller 4200 aufweisen. Die Flash-Speichervorrichtung 4100 kann optional mit einer hohen Spannung Vpp von außerhalb versorgt werden. Die Flash-Speichervorrichtung 4100 kann konfiguriert sein, so dass sie eine Daten-Wiederherstellungsoperation, welche unter Bezugnahme auf die 1 bis 28 beschrieben ist, durchführt. Der SSD-Controller 4200 kann mit den Flash-Speichervorrichtungen 4100 über eine Mehrzahl von Kanälen CH1 bis CHi verbunden sein. Der SSD-Controller 4200 kann wenigstens eine CPU 4210, ein Host-Interface 4220, einen Pufferspeicher 4230 und ein Flash-Interface 4240 aufweisen. 33 FIG. 10 is a block diagram schematically illustrating a solid-state drive according to an embodiment of the inventive concept. FIG. Referring to 33 can a solid state drive (SSD = Solid State Drive) 4000 a plurality of flash memory device 4100 and an SSD controller 4200 exhibit. The flash memory device 4100 can be optionally supplied with a high voltage Vpp from outside. The flash memory device 4100 may be configured to perform a data recovery operation which is described with reference to FIGS 1 to 28 is described performs. The SSD controller 4200 can with the flash storage devices 4100 be connected via a plurality of channels CH1 to CHi. The SSD controller 4200 can at least one CPU 4210 , a host interface 4220 , a cache 4230 and a flash interface 4240 exhibit.

Die SSD 400 gemäß einer Ausführungsform des erfinderischen Konzepts kann eine Programmieroperation durchführen, welche in der Lage ist, die Zuverlässigkeit von Daten zu verbessern. Eine detailliertere Beschreibung des SSD 4000 ist im US-Patent Nr. 7,802,054 , 8,027,194 und 8,122,193 und der US-Patent-Veröffentlichung 2007/0106836 und 2010/0082890 offenbart, deren gesamte Inhalte hierin durch Bezugnahme mit einbezogen sind.The SSD 400 According to an embodiment of the inventive concept, a programming operation capable of improving the reliability of data can be performed. A more detailed description of the SSD 4000 is in the U.S. Patent No. 7,802,054 . 8,027,194 and 8,122,193 and the US Patent Publication 2007/0106836 and 2010/0082890 , the entire contents of which are incorporated herein by reference.

34 ist ein Blockschaltbild, welches schematisch eine Kommunikationsvorrichtung gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 34 kann eine Kommunikationsvorrichtung 8000 eine Kommunikationseinheit 8100, einen Controller 8200, eine Speichereinheit 8300, eine Anzeige-Einheit 8400, eine Touchscreen-Einheit 8500 und eine Audio-Einheit 8600 aufweisen. 34 FIG. 10 is a block diagram schematically illustrating a communication device according to an embodiment of the inventive concept. FIG. Referring to 34 can be a communication device 8000 a communication unit 8100 , a controller 8200 , a storage unit 8300 , a display unit 8400 , a touchscreen unit 8500 and an audio unit 8600 exhibit.

Die Speichereinheit 8300 kann wenigstens einen DRAM 8310, wenigstens ein OneNAND 8320 und wenigstens ein moviNAND 8330 aufweisen. Wenigstens eines des OneNAND 8320 und des moviNAND 8330 können konfiguriert sein, so dass sie einem Speichersystem 2700 in 27 gleich sind. Eine detaillierte Beschreibung von typischen mobilen Vorrichtungen ist in den US-Patent-Veröffentlichungen Nr. 2010/0010040 , 2010/0062715 , 2010/00199081 , 2010/0309237 und 2010/0315325 offenbart, deren gesamte Inhalte hierin durch Bezugnahme mit einbezogen sind.The storage unit 8300 can at least a DRAM 8310 , at least one OneNAND 8320 and at least one moviNAND 8330 exhibit. At least one of the OneNAND 8320 and the moviNAND 8330 can be configured so that they are a storage system 2700 in 27 are the same. A detailed description of typical mobile devices is given in FIGS US Patent Publication No. 2010/0010040 . 2010/0062715 . 2010/00199081 . 2010/0309237 and 2010/0315325 , the entire contents of which are incorporated herein by reference.

35 ist ein Blockschaltbild, welches schematisch ein Smart-TV-System gemäß einer Ausführungsform des erfinderischen Konzepts veranschaulicht. Bezug nehmend auf 35 weist ein Smart-TV-System 9000 einen Smart-TV 9110, eine Revue 9200, eine Settop-Box 9300, einen drahtlosen Router 9400, eine Tastatur 9500 und ein Mobiltelefon bzw. Smartphone 9600 auf. Eine drahtlose Kommunikation kann zwischen dem Smart-TV 9100 und dem Router 9400 durchgeführt werden. Der Smart-Fernseher 9100 kann durch die Revue 9200, welche eine offene Plattform ist, mit dem Internet verbunden werden. Der Smart-Fernseher TV 9100 kann es einem Betrachter ermöglichen, Kabel- und Satelliten-Übertragungen, welche durch die Settop-Box 9300 übertrsagen werden, zu sehen. Der Smart-TV 9100 kann gemäß der Steuerung des Keypad bzw. der Tastatur 9500 oder des Smart-Phones 9600 betrieben werden. Der Smart-TV 9100 kann ein Speichersystem 1000, welches in 30 veranschaulicht ist, enthalten. 35 FIG. 10 is a block diagram schematically illustrating a smart TV system according to an embodiment of the inventive concept. FIG. Referring to 35 has a smart TV system 9000 a smart TV 9110 , a revue 9200 , a set-top box 9300 , a wireless router 9400 , a keyboard 9500 and a mobile phone or smartphone 9600 on. Wireless communication can be between the Smart TV 9100 and the router 9400 be performed. The smart TV 9100 can through the revue 9200 which is an open platform to be connected to the Internet. The smart TV TV 9100 It may allow a viewer to receive cable and satellite transmissions through the set-top box 9300 be transposed to see. The smart TV 9100 can according to the control of the keypad or the keyboard 9500 or the smart phone 9600 operate. The smart TV 9100 can be a storage system 1000 which is in 30 is illustrated.

Ein Speichersystem oder eine Speichervorrichtung gemäß dem erfinderischen Konzept kann in verschiedenen Typen von Gehäusen angebracht sein. Beispiele der Gehäuse in dem Speichersystem oder der Speichervorrichtung gemäß dem erfinderischen Konzept können ein Package-on-Package (PoP), Ballgrid Arrays (BGAs), Chip-Scale Packages (CSPs), einen Plastic-leaded Chip Carrier (PLCC), ein Plastic Dual Inline Package (PDIP), ein Die-in-Wavel-Pack, ein Die-in-Wafer-Form, einen Chip-an-Board (COB = Chip an Board), ein Ceramic-Dual-Inline-Package (CERDIP), ein Plastic-Metric-Quad-Flat-Pack (MQFP), ein Thin-Quad-Flat-Pack (TQFP), eine Small Outline-Integrated Circuit (SOIC), ein Shrink-Small Outline Package (SSOP), ein Thin Small Outline-Package (TSOP), ein System-in-Package (SIP), ein Multichip-Package (MCP), ein Wafer-Fabricated Package (WFP) und ein Wafer-Level-Processed Stack Package (WSP) aufweisen.A memory system or memory device according to the inventive concept may be mounted in various types of housings. Examples of the packages in the memory system or the memory device according to the inventive concept may include a package-on-package (PoP), ball grid arrays (BGAs), chip-scale packages (CSPs), a plastic-leaded chip carrier (PLCC), a plastic Dual Inline Package (PDIP), a die-in-wavelet pack, a die-in-wafer mold, a chip-on-board (COB), a ceramic dual-inline package (CERDIP) , a Plastic Metric Quad Flat Pack (MQFP), a Thin Quad Flat Pack (TQFP), a Small Outline Integrated Circuit (SOIC), a Shrink Small Outline Package (SSOP), a Thin Small Outline Package (TSOP), a system-in-package (SIP), a multi-chip package (MCP), a wafer-fabricated package (WFP) and a wafer-level-processed stack package (WSP).

Während das erfinderische Konzept unter Bezugnahme auf beispielhafte Ausführungsformen beschrieben wurde, wird es für Fachleute offensichtlich sein, dass verschiedene Änderungen und Abwandlungen getätigt werden können, ohne vom Gedanken und dem Umfang der vorliegenden Erfindung abzuweichen. Demnach sollte es verstanden werden, dass die obigen Ausführungsformen nicht beschränkend sondern veranschaulichend sind.While the inventive concept has been described with reference to exemplary embodiments, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the spirit and scope of the present invention. Thus, it should be understood that the above embodiments are not limitative but illustrative.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

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.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • KR 10-2012-0056641 [0001] KR 10-2012-0056641 [0001]
  • US 7692970 [0075] US 7692970 [0075]
  • US 8068361 [0075] US8068361 [0075]
  • US 2011-0515520 [0075] US 2011-0515520 [0075]
  • US 2011-0110154 [0075] US 2011-0110154 [0075]
  • US 2011-0051514 [0118] US 2011-0051514 [0118]
  • US 8050101 [0121] US 8050101 [0121]
  • US 2010-0008149 [0121] US 2010-0008149 [0121]
  • US 7802054 [0149] US 7802054 [0149]
  • US 8027194 [0149] US8027194 [0149]
  • US 8122193 [0149] US 8122193 [0149]
  • US 2007/0106836 [0149] US 2007/0106836 [0149]
  • US 2010/0082890 [0149] US 2010/0082890 [0149]
  • US 2010/0010040 [0151] US 2010/0010040 [0151]
  • US 2010/0062715 [0151] US 2010/0062715 [0151]
  • US 2010/00199081 [0151] US 2010/00199081 [0151]
  • US 2010/0309237 [0151] US 2010/0309237 [0151]
  • US 2010/0315325 [0151] US 2010/0315325 [0151]

Claims (22)

Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung (100), das Folgendes aufweist: ein Erfassen von Fehlern, welche während einer Programmieroperation zum Programmieren eines Abschnitts einer ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der nichtflüchtigen Speichervorrichtung (100) erzeugt werden, durch ein Lesen der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) und eines Force-Bit-Daten-Vektors, welcher während der Programmieroperation verifiziert wird, um zu identifizieren, ob irgendeine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) fehlerhafte Daten enthalten.Method for operating a non-volatile memory device ( 100 ), comprising: detecting errors during a program operation for programming a portion of a first plurality of multibit nonvolatile memory cells (MC1-MCm) in the nonvolatile memory device (10); 100 ) by reading the first plurality of multibit nonvolatile memory cells (MC1-MCm) and a force-bit data vector verified during the program operation to identify whether any of the first plurality of non-volatile multibit memory cells Memory cells (MC1-MCm) contain incorrect data. Verfahren nach Anspruch 1, wobei das Erfassen von Fehlern weiterhin ein Lesen von Daten aus einem Seitenpuffer (PB1–PBn) aufweist, welcher der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) zugeordnet ist, um zu identifizieren, welche von der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) gelöschte Zellen sind, welche im Wesentlichen hohe Schwellenspannungen haben.The method of claim 1, wherein detecting errors further comprises reading data from a page buffer (PB1-PBn) associated with the first plurality of multibit nonvolatile memory cells (MC1-MCm) to identify which of the first A plurality of non-volatile multi-bit memory cells (MC1-MCm) are erased cells having substantially high threshold voltages. Verfahren nach Anspruch 1, wobei die Programmieroperation ein Verifizieren eines anfänglichen Force-Bit-Daten-Vektors aufweist, welcher äquivalente Datenwerte darin hat.The method of claim 1, wherein the programming operation comprises verifying an initial force-bit data vector having equivalent data values therein. Verfahren nach Anspruch 1, wobei die Programmieroperation ein Verifizieren eines anfänglichen Force-Bit-Daten-Vektors aufweist, welcher äquivalente erste Datenwerte darin hat, und wobei das Verifizieren ein Halten des anfänglichen Force-Bit-Vektors oder ein Modifizieren des anfänglichen Force-Bit-Vektors in einen modifizierten Force-Bit-Daten-Vektor aufweist, welcher eine Mehrzahl von zweiten Datenwerten darin hat, welche jeweilige eine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) identifizieren, welche wenigstens eine teilweise Programmierung während der Programmieroperation durchlaufen haben.The method of claim 1, wherein the programming operation comprises verifying an initial force-bit data vector having equivalent first data values therein, and wherein verifying comprises holding the initial force-bit vector or modifying the initial force-bit vector. Vector into a modified force-bit data vector having a plurality of second data values therein identifying respective ones of the first plurality of non-volatile multi-bit memory cells (MC1-MCm) which have undergone at least partial programming during the programming operation , Verfahren nach Anspruch 2, wobei die Programmieroperation Folgendes aufweist: ein Verifizieren eines anfänglichen Force-Bit-Daten-Vektors, welcher äquivalente erste Datenwerte darin hat, in einen modifizierten Force-Bit-Daten-Vektor, welcher eine Mehrzahl von zweiten Datenwerten darin hat, welche jeweilige eine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) identifizieren, welche wenigstens eine teilweise Programmierung während der Programmieroperation durchlaufen haben; und ein Aktualisieren von Daten in dem Seitenpuffer (PB1–PBn) in Antwort auf ein erfolgreiches Programmieren einer oder mehrerer der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) während der Programmieroperation.The method of claim 2, wherein the programming operation comprises: verifying an initial force-bit data vector having equivalent first data values therein into a modified force-bit data vector having a plurality of second data values therein, each one of the first plurality of non-volatile multi-bit memory cells (MC1-MCm) which have undergone at least partial programming during the program operation; and updating data in the page buffer (PB1-PBn) in response to successfully programming one or more of the first plurality of multibit nonvolatile memory cells (MC1-MCm) during the program operation. Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung (100), das Folgendes aufweist: ein Erfassen von Fehlern, welche während einer Programmieroperation zum Programmieren einer ausgewählten Seite von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der nichtflüchtigen Speichervorrichtung (100) erzeugt wurden, durch ein Auswerten von: (i) Daten, welche aus der ausgewählten Seite von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) gelesen werden, (ii) einem Force-Bit-Daten-Vektor, welcher während der Programmieroperation modifiziert wird, und (iii) Daten in einem Seitenpuffer (PB1–PBn), welcher der Seite von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) zugeordnet ist, um zu identifizieren, ob irgendeine der nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der ausgewählten Seite gelöschte Zellen sind, welche im Wesentlichen hohe Schwellenspannungen haben.Method for operating a non-volatile memory device ( 100 comprising detecting errors during a program operation to program a selected page of non-volatile multi-bit memory cells (MC1-MCm) in the nonvolatile memory device (10); 100 ) by evaluating: (i) data read from the selected page of non-volatile multi-bit memory cells (MC1-MCm), (ii) a force-bit data vector which is modified during the program operation , and (iii) data in a page buffer (PB1-PBn) associated with the page of multibit nonvolatile memory cells (MC1-MCm) to identify whether any of the multibit nonvolatile memory cells (MC1-MCm) in the selected one Page deleted cells, which have substantially high threshold voltages. Verfahren nach Anspruch 6, wobei die Programmieroperation ein Modifizieren eines anfänglichen Force-Bit-Daten-Vektors, welcher äquivalente erste Datenwerte darin hat, in einen modifizierten Force-Bit-Daten-Vektor aufweist, welcher eine Mehrzahl von zweiten Datenwerten darin hat, welche eine jeweilige Mehrzahl der nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der ausgewählten Seite als wenigstens eine teilweise Programmierung während der Programmieroperation durchlaufen habend identifizieren.The method of claim 6, wherein the programming operation comprises modifying an initial force-bit data vector having equivalent first data values therein into a modified force-bit data vector having therein a plurality of second data values identify respective plurality of non-volatile multi-bit memory cells (MC1-MCm) in the selected page as having undergone at least partial programming during the programming operation. Verfahren nach Anspruch 7, wobei die Programmieroperation weiterhin ein Rücksetzen wenigstens einiger der Daten in dem Seitenpuffer (PB1–PBn) auf Default-Werte in Antwort auf ein erfolgreiches Programmieren einer oder mehrerer der nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der ausgewählten Seite während der Programmieroperation aufweist.The method of claim 7, wherein the programming operation further comprises resetting at least some of the data in the page buffer (PB1-PBn) to default values in response to successfully programming one or more of the non-volatile multi-bit memory cells (MC1-MCm) in the selected page during the programming operation. Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung (100), das Folgendes aufweist: ein Ändern eines ersten Multibit-Datenwertes, welcher einem ersten Programmierzustand einer ersten nichtflüchtigen Multibit-Speicherzelle in der nichtflüchtigen Speichervorrichtung (100) zugeordnet ist, auf einen zweiten Multibit-Datenwert, welcher einem Löschzustand der ersten nichtflüchtigen Multibit-Speicherzelle zugeordnet ist, in Antwort auf ein Verifizieren, dass die erste nichtflüchtige Multibit-Speicherzelle gültig in den ersten Programmierzustand während einer Programmieroperation programmiert wurde; und ein Lesen von Force-Bit-Daten, welche während der Programmieroperation verifiziert wurden, um zu bestätigen, dass der zweite Multibit-Datenwert, welcher der ersten nichtflüchtigen Multibit-Speicherzelle zugeordnet ist, eine genau programmierte Zelle reflektiert.Method for operating a non-volatile memory device ( 100 comprising changing a first multi-bit data value corresponding to a first programming state of a first non-volatile multi-bit memory cell in the nonvolatile memory device ( 100 ) is assigned to a second multi-bit data value associated with an erase state of the first non-volatile multi-bit memory cell in response to verifying that the first non-volatile multi-bit memory cell was validly programmed to the first programming state during a program operation; and reading force bit data verified during the program operation to confirm that the second multi-bit data value corresponding to the first non-volatile multi-bit memory cell associated with a precisely programmed cell. Verfahren nach Anspruch 9, wobei die Programmieroperation ein Rücksetzen des ersten Multibit-Datenwerts auf den zweiten Multibit-Datenwert in einem Seitenpuffer (PB1–PBn) aufweist.The method of claim 9, wherein the program operation comprises resetting the first multi-bit data value to the second multi-bit data value in a page buffer (PB1-PBn). Verfahren nach Anspruch 10, wobei das Lesen ein Lesen des Seitenpuffers (PB1–PBn), der Force-Bit-Daten, welche während der Programmieroperation modifiziert wurden, und einer Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der nichtflüchtigen Speichervorrichtung (100) aufweist, um gelöschte Zellen in der Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) zu identifizieren, welche inakzeptabel hohe Schwellenspannungen haben.The method of claim 10, wherein the reading comprises reading the page buffer (PB1-PBn), the force-bit data modified during the programming operation, and a plurality of multibit nonvolatile memory cells (MC1-MCm) in the non-volatile memory device ( 100 ) to identify erased cells in the plurality of non-volatile multi-bit memory cells (MC1-MCm) which have unacceptably high threshold voltages. Verfahren nach Anspruch 9, wobei dem Lesen von Force-Bit-Daten, welche während der Programmieroperation modifiziert wurden, ein Laden eines Multibit-Force-Bit-Vektors von äquivalenten Logikwerten in ein Force-Bit-Register vorangeht.The method of claim 9, wherein reading force bit data modified during the program operation precedes loading of a multibit force bit vector of equivalent logic values into a force bit register. Verfahren nach Anspruch 12, weiterhin aufweisend ein Modifizieren wenigstens eines Abschnitts des Multibit-Force-Bit-Vektors in dem Force-Bit-Register während der Programmieroperation, um eine Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der nichtflüchtigen Speichervorrichtung (100) zu identifizieren, welche ein gewolltes Programmieren unter Verwendung einer ISSP-Programmiertechnik durchlaufen haben.The method of claim 12, further comprising modifying at least a portion of the multi-bit force-bit vector in the force-bit register during the program operation to obtain a plurality of multi-bit nonvolatile memory cells (MC1-MCm) in the nonvolatile memory device. 100 ) who have undergone a desired programming using an ISSP programming technique. Verfahren zum Betreiben einer nichtflüchtigen Speichervorrichtung (100), das Folgendes aufweist: ein Durchführen einer Fehler-Erfassungsoperation auf einer Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der nichtflüchtigen Speichervorrichtung (100) durch ein Lesen der Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) zusammen mit einem Lesen von Post-Programmierdaten von einem Seitenpuffer (PB1–PBn) und Force-Bit-Daten, welche während des Programmierens der Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) verwendet wurden, um dadurch zu identifizieren, ob irgendeine der nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der Zeile gelöschte Zellen sind, welche inaktzeptabel hohe Schwellenspannungen haben.Method for operating a non-volatile memory device ( 100 comprising: performing an error detection operation on a row of non-volatile multi-bit memory cells (MC1-MCm) in the non-volatile memory device (FIG. 100 by reading the row of non-volatile multi-bit memory cells (MC1-MCm) along with reading post-program data from a page buffer (PB1-PBn) and force-bit data generated during programming of the row of non-volatile multi-bit memory cells (MC1-MCm) were used to thereby identify whether any of the nonvolatile multi-bit memory cells (MC1-MCm) in the row are erased cells having excessively high threshold voltages. Verfahren nach Anspruch 14, wobei dem Durchführen Folgendes vorangeht: ein Laden einer Mehrzahl von Seiten von Daten in den Seitenpuffer (PB1–PBn); und ein Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) mit der Mehrzahl von Seiten von Daten aus dem Seitenpuffer (PB1–PBn).The method of claim 14, wherein said performing is preceded by: loading a plurality of pages of data into the page buffer (PB1-PBn); and programming the row of non-volatile multi-bit memory cells (MC1-MCm) with the plurality of pages of data from the page buffer (PB1-PBn). Verfahren nach Anspruch 15, wobei das Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) ein Rücksetzen wenigstens einiger der Daten in dem Seitenpuffer (PB1–PBn) aufweist, wenn entsprechende Programmierzustände von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der Zeile als genau verifiziert werden.The method of claim 15, wherein programming the row of non-volatile multi-bit memory cells (MC1-MCm) comprises resetting at least some of the data in the page buffer (PB1-PBn) when corresponding programming states of non-volatile multi-bit memory cells (MC1-MCm) in of the line are verified as being accurate. Verfahren nach Anspruch 16, wobei das Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) ein Modifizieren von Bits eines vorgeladenen Force-Bit-Vektors aufweist, um dadurch die Informationen von Programmieroperationen auf entsprechenden nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) innerhalb der Zeile anzuzeigen.The method of claim 16, wherein programming the row of non-volatile multi-bit memory cells (MC1-MCm) comprises modifying bits of a preloaded force-bit vector to thereby encode the information of programming operations on respective nonvolatile multi-bit memory cells (MC1-MCm). within the line. Verfahren nach Anspruch 16, wobei das Programmieren der Zeile von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) ein Modifizieren von Bits eines vorgeladenen Force-Bit-Vektors aufweist, um dadurch die Leistungsfähigkeit von ISSP-Programmieroperationen auf entsprechenden nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) innerhalb der Zeile anzuzeigen.The method of claim 16, wherein programming the row of non-volatile multi-bit memory cells (MC1-MCm) comprises modifying bits of a preloaded force-bit vector to thereby increase the performance of ISSP programming operations on respective nonvolatile multi-bit memory cells (MC1-MC). MCm) within the line. Integriertes Schaltkreisspeichersystem, das Folgendes aufweist: wenigstens eine nichtflüchtige Speichervorrichtung (100); und einen Speichercontroller (1200, 2300, 4200), welcher elektrisch mit der wenigstens einen nichtflüchtigen Speichervorrichtung (100) gekoppelt ist, wobei der Speichercontroller (1200, 2300, 4200) eine zentrale Verarbeitungsschaltung und eine ECC-Schaltung darin aufweist, wobei die ECC-Schaltung konfiguriert ist, um eine Daten-Wiederherstellungsoperation auf Daten, welche in die wenigstens eine nichtflüchtige Speichervorrichtung (100) während einer Programmieroperation programmiert wurden, durchzuführen durch ein Lesen einer ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) in der wenigstens einen nichtflüchtigen Speichervorrichtung (100) und eines Force-Bit-Daten-Vektors, der während der Programmieroperation modifiziert wurde, um zu identifizieren, ob irgendeine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) fehlerhafte Daten enthält.Integrated circuit memory system, comprising: at least one non-volatile memory device ( 100 ); and a memory controller ( 1200 . 2300 . 4200 ) which is electrically connected to the at least one non-volatile memory device ( 100 ), the memory controller ( 1200 . 2300 . 4200 ) has a central processing circuit and an ECC circuit therein, wherein the ECC circuit is configured to perform a data recovery operation on data stored in the at least one nonvolatile memory device (10). 100 ) during a programming operation, performed by reading a first plurality of multibit nonvolatile memory cells (MC1-MCm) in the at least one nonvolatile memory device ( 100 ) and a force-bit data vector modified during the program operation to identify whether any of the first plurality of multibit nonvolatile memory cells (MC1-MCm) contains erroneous data. Speichersystem nach Anspruch 19, wobei die Daten-Wiederherstellungsoperation ein Lesen von Daten von einem Seitenpuffer (PB1–PBn) aufweist, welcher der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) zugeordnet ist, um zu identifizieren, welche der ersten Mehrzahl der nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) gelöschte Zellen sind, welche im Wesentlichen hohe Schwellenspannungen haben. The memory system of claim 19, wherein the data recovery operation comprises reading data from a page buffer (PB1-PBn) associated with the first plurality of multibit nonvolatile memory cells (MC1-MCm) to identify which of the first plurality of memory cells non-volatile multi-bit memory cells (MC1-MCm) are deleted cells which have substantially high threshold voltages. Speichersystem nach Anspruch 19, wobei die Programmieroperation ein Modifizieren eines anfänglichen Force-Bit-Daten-Vektors, welcher äquivalente erste Datenwerte darin hat, in einen modifizierten Force-Bit-Daten-Vektor aufweist, welcher eine Mehrzahl von zweiten Datenwerten darin, hat, welche jeweilige eine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) identifizieren, welche wenigstens ein teilweises Programmieren während der Programmieroperation durchlaufen haben.The memory system of claim 19, wherein the programming operation comprises modifying an initial force-bit data vector having equivalent first data values therein into a modified force-bit data vector having a plurality of second data values therein identify respective ones of the first plurality of non-volatile multi-bit memory cells (MC1-MCm) which have undergone at least partial programming during the programming operation. Speichersystem nach Anspruch 20, wobei die Programmieroperation Folgendes aufweist: ein Modifizieren eines anfänglichen Force-Bit-Daten-Vektors, welcher äquivalente erste Datenwerte darin hat, in einen modifizierten Force-Bit-Daten-Vektor, welcher eine Mehrzahl von zweiten Datenwerten darin hat, welche jeweilige eine der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) identifizieren, welche wenigstens ein teilweises Programmieren während der Programmieroperation durchlaufen haben; und ein Aktualisieren von Daten in dem Seitenpuffer (PB1–PBn) in Antwort auf ein erfolgreiches Programmieren von einer oder mehreren der ersten Mehrzahl von nichtflüchtigen Multibit-Speicherzellen (MC1–MCm) während der Programmieroperation.The memory system of claim 20, wherein the programming operation comprises: modifying an initial force-bit data vector having equivalent first data values therein into a modified force-bit data vector having a plurality of second data values therein, each one of the first plurality of non-volatile multi-bit memory cells (MC1-MCm) which have undergone at least partial programming during the program operation; and updating data in the page buffer (PB1-PBn) in response to successfully programming one or more of the first plurality of multibit nonvolatile memory cells (MC1-MCm) during the program operation.
DE201310105356 2012-05-29 2013-05-24 Method for operating non-volatile memory device for use in smart-TV system, involves detecting errors generated during programming operation for programming portion of non-volatile multi-bit memory cells in non-volatile memory device Pending DE102013105356A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2012-0056641 2012-05-29
KR1020120056641A KR101996004B1 (en) 2012-05-29 2012-05-29 Programming method of nonvolatile memory device and memory system having the same
US13/777,512 US9053822B2 (en) 2012-05-29 2013-02-26 Methods of operating nonvolatile memory devices that support efficient error detection
US13/777,512 2013-02-26

Publications (1)

Publication Number Publication Date
DE102013105356A1 true DE102013105356A1 (en) 2013-12-05

Family

ID=49579602

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310105356 Pending DE102013105356A1 (en) 2012-05-29 2013-05-24 Method for operating non-volatile memory device for use in smart-TV system, involves detecting errors generated during programming operation for programming portion of non-volatile multi-bit memory cells in non-volatile memory device

Country Status (1)

Country Link
DE (1) DE102013105356A1 (en)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070106836A1 (en) 2005-11-10 2007-05-10 Jeong-Woo Lee Semiconductor solid state disk controller
US20100001990A1 (en) 2008-07-04 2010-01-07 Mi-Hae Kim Scan driver and organic light emitting display device using the same
US20100010040A1 (en) 2008-07-11 2010-01-14 Lyn Howard Jones Triazol Derivatives Useful For The Treatment of Diseases
US20100008149A1 (en) 2008-07-09 2010-01-14 Samsung Electronics Co., Ltd. Flash memory device and programming method thereof
US20100062715A1 (en) 2008-09-09 2010-03-11 Samsung Electronic Co., Ltd. Portable electronic apparatus functioning as pen-table and computer system using the same
US20100082890A1 (en) 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations
US7692970B2 (en) 2006-11-22 2010-04-06 Samsung Electronics Co., Ltd. Flash memory devices that utilize age-based verify voltages to increase data reliability and methods of operating same
US7802054B2 (en) 2004-12-21 2010-09-21 Samsung Electronics Co., Ltd. Apparatus and methods using invalidity indicators for buffered memory
US20100309237A1 (en) 2009-06-09 2010-12-09 Samsung Electronics Co., Ltd. Method and device for driving a plurality of display devices
US20100315325A1 (en) 2009-06-16 2010-12-16 Samsung Electronics Co., Ltd. Light source unit and display apparatus including the same
US20110051514A1 (en) 2009-08-27 2011-03-03 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system incorporating same, and method of operating same
US20110110154A1 (en) 2009-11-11 2011-05-12 Samsung Electronics Co., Ltd. Method of programming nonvolatile memory device
US20110115520A1 (en) 2009-11-19 2011-05-19 Pavel Horsky Capacitor test method and circuit therefor
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8050101B2 (en) 2008-09-22 2011-11-01 Samsung Electronics Co., Ltd. Nonvolatile memory devices having erased-state verify capability and methods of operating same
US8068361B2 (en) 2008-08-06 2011-11-29 Samsung Electronics Co., Ltd. Systems and methods for performing a program-verify process on a nonvolatile memory by selectively pre-charging bit lines associated with memory cells during the verify operations
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR20120056641A (en) 2010-11-25 2012-06-04 한국전자통신연구원 Method and apparstus of detecting dissimilar type commnunication system

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US7802054B2 (en) 2004-12-21 2010-09-21 Samsung Electronics Co., Ltd. Apparatus and methods using invalidity indicators for buffered memory
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
US20070106836A1 (en) 2005-11-10 2007-05-10 Jeong-Woo Lee Semiconductor solid state disk controller
US7692970B2 (en) 2006-11-22 2010-04-06 Samsung Electronics Co., Ltd. Flash memory devices that utilize age-based verify voltages to increase data reliability and methods of operating same
US20100001990A1 (en) 2008-07-04 2010-01-07 Mi-Hae Kim Scan driver and organic light emitting display device using the same
US20100008149A1 (en) 2008-07-09 2010-01-14 Samsung Electronics Co., Ltd. Flash memory device and programming method thereof
US20100010040A1 (en) 2008-07-11 2010-01-14 Lyn Howard Jones Triazol Derivatives Useful For The Treatment of Diseases
US8068361B2 (en) 2008-08-06 2011-11-29 Samsung Electronics Co., Ltd. Systems and methods for performing a program-verify process on a nonvolatile memory by selectively pre-charging bit lines associated with memory cells during the verify operations
US20100062715A1 (en) 2008-09-09 2010-03-11 Samsung Electronic Co., Ltd. Portable electronic apparatus functioning as pen-table and computer system using the same
US8050101B2 (en) 2008-09-22 2011-11-01 Samsung Electronics Co., Ltd. Nonvolatile memory devices having erased-state verify capability and methods of operating same
US20100082890A1 (en) 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations
US20100309237A1 (en) 2009-06-09 2010-12-09 Samsung Electronics Co., Ltd. Method and device for driving a plurality of display devices
US20100315325A1 (en) 2009-06-16 2010-12-16 Samsung Electronics Co., Ltd. Light source unit and display apparatus including the same
US20110051514A1 (en) 2009-08-27 2011-03-03 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system incorporating same, and method of operating same
US20110110154A1 (en) 2009-11-11 2011-05-12 Samsung Electronics Co., Ltd. Method of programming nonvolatile memory device
US20110115520A1 (en) 2009-11-19 2011-05-19 Pavel Horsky Capacitor test method and circuit therefor
KR20120056641A (en) 2010-11-25 2012-06-04 한국전자통신연구원 Method and apparstus of detecting dissimilar type commnunication system

Similar Documents

Publication Publication Date Title
US9183924B2 (en) Methods of operating nonvolatile memory devices that support efficient error detection
US9818485B2 (en) Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods
DE102014101267B4 (en) Storage system with non-volatile storage device and programming method thereof
US9613687B2 (en) Memory, memory controller, memory system, method of memory, memory controller and memory system
KR101787612B1 (en) Method of storing data in a nonvolatile memory device and method of operating a nonvolatile memory device
US8767475B2 (en) Method of programming a nonvolatile memory device
DE102012104713A1 (en) Non-volatile memory device and erase method
US20150117100A1 (en) Storage device and related programming method
CN107025944A (en) The method for detecting the erasing failure wordline in non-volatile memory devices
DE102011087102A1 (en) Method of reading memory cells, nonvolatile memory element, electronic device, memory card and data storage device
DE102015105858A1 (en) Semiconductor device with peripheral circuit area and a first and a second memory area, and associated programming method
DE102012108545A1 (en) Method for reading memory cells with different threshold voltages without changing the word line voltage, as well as non-volatile memory device using this
DE102013109235A1 (en) An abnormal word line detector flash memory system and method for detecting an abnormal word line
DE112008001151B4 (en) Multi-bit programming device and method for multi-bit programming
CN106157999A (en) Semiconductor storage unit and operational approach thereof including illusory memory element
DE102014103125A1 (en) A method and apparatus for optimizing the Log Likelihood Ratio (LLR) used for a nonvolatile memory device and for correcting errors in a nonvolatile memory device
DE102014100161A1 (en) Storage system and method of operation thereof
DE102013108456B4 (en) Non-volatile memory device and programming method
DE102018117357A1 (en) A memory device having a circuit for detecting a word line defect and operating method thereof
US8441862B2 (en) Program method of multi-bit memory device and data storage system using the same
CN103971724A (en) Memory, memory controller, memory system, and operating method thereof
DE102013100596A1 (en) Method for performing overwriting operation in e.g. vertical NOT-AND (NAND) flash memory device used in e.g. mobile telephone, involves providing memory cell with different program modes, if respective-bit-data is stored
DE102010037064A1 (en) A nonvolatile memory device and system and method of programming a nonvolatile memory device
DE112015004531T5 (en) Latch initialization for a data storage device
DE102013200515A1 (en) Semiconductor memory device

Legal Events

Date Code Title Description
R012 Request for examination validly filed