KR20090011207A - Method of programming for 3bit multi level cell memory device - Google Patents

Method of programming for 3bit multi level cell memory device Download PDF

Info

Publication number
KR20090011207A
KR20090011207A KR1020070074571A KR20070074571A KR20090011207A KR 20090011207 A KR20090011207 A KR 20090011207A KR 1020070074571 A KR1020070074571 A KR 1020070074571A KR 20070074571 A KR20070074571 A KR 20070074571A KR 20090011207 A KR20090011207 A KR 20090011207A
Authority
KR
South Korea
Prior art keywords
gray code
bit
threshold voltage
data
program
Prior art date
Application number
KR1020070074571A
Other languages
Korean (ko)
Inventor
양창원
김유성
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to KR1020070074571A priority Critical patent/KR20090011207A/en
Publication of KR20090011207A publication Critical patent/KR20090011207A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

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

Abstract

A programming method of a 3-bit multi-level cell memory device is provided to minimize errors and to perform a programming operation by defining a 3-bit code value according to a gray code while data are programmed in a multi-level cell memory device for storing 3-bit data. A programming method of a 3-bit multi-level cell memory device includes a programming process for moving cells from a first state to a second to eighth states of cell threshold voltages(201-208) according to a program pulse. The programming method further includes a process for composing a program by setting a different value in only one bit of adjacent cells and 3-bit data.

Description

3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법{Method of programming for 3bit multi level cell memory device}Method of programming for 3-bit multi-level cell memory device

본 발명은 3비트 멀티 레벨 셀(Multi Level Cell; MLC) 메모리 소자의 동작에 관한 것으로, 특히 3비트의 그레이 코드를 적용할 수 있는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the operation of 3-bit multi-level cell (MLC) memory devices, and more particularly to a method for programming 3-bit multi-level cell memory devices to which 3-bit gray codes can be applied.

잘 알려진 NAND 플래시 메모리 장치는 메모리 셀 어레이, 행 디코더, 페이지 버퍼를 포함한다. 상기 메모리 셀 어레이는 행들을 따라 신정된 복수개의 워드 라인들과 열들을 따라 신장된 복수개의 비트 라인들과 상기 비트라인들에 각각 대응되는 복수개의 셀 스트링들로 이루어진다.Well known NAND flash memory devices include memory cell arrays, row decoders, and page buffers. The memory cell array includes a plurality of word lines and columns defined along rows and a plurality of bit lines extending along columns and a plurality of cell strings corresponding to the bit lines, respectively.

상기 메모리 셀 어레이의 일 측에는, 스트링 선택 라인, 워드 라인들, 공통 소오스 라인과 연결되는 행 디코더가 위치하고, 다른 일 측에는 복수개의 비트 라인에 연결되는 페이지 버퍼가 위치한다.One side of the memory cell array includes a row decoder connected to string selection lines, word lines, and a common source line, and a page buffer connected to a plurality of bit lines is located on the other side.

최근에는 이러한 플래시 메모리의 집적도를 더욱 향상시키기 위해 한 개의 메모리 셀에 복수개의 데이터를 저장할 수 있는 다중 비트 셀에 대한 연구가 활발히 진행되고 있다. 이러한 방식의 메모리 셀을 멀티 레벨 셀(Multi Level Cell; 이 하 MLC 라 함)라 한다. 이와 대비되는 단일 비트의 메모리 셀을 싱글 레벨 셀(Single Level Cell; 이하 SLC 라 함)이라 한다.Recently, in order to further improve the density of such flash memories, studies on multiple bit cells capable of storing a plurality of data in one memory cell have been actively conducted. This type of memory cell is referred to as a multi level cell (hereinafter referred to as MLC). In contrast, a single bit memory cell is referred to as a single level cell (hereinafter referred to as SLC).

도 1은 일반적인 2비트 MLC의 셀 문턱전압 분포도이다.1 is a cell threshold voltage distribution diagram of a typical 2-bit MLC.

도 1을 참조하면, 2비트의 데이터를 저장할 수 있는 MLC는 4개의 분포로 나누어 셀 문턱전압 분포도에 나타난다. 즉, 프로그램되어 있지 않은 [11] 상태의 셀 문턱전압 분포와, 프로그램되어 있는 [10], [00], [01]의 상태의 셀 문턱 전압 분포를 나타낸다.Referring to FIG. 1, an MLC capable of storing two bits of data is divided into four distributions and appears in a cell threshold voltage distribution diagram. That is, the cell threshold voltage distribution of the [11] state which is not programmed and the cell threshold voltage distribution of the state of [10], [00], and [01] which are programmed are shown.

각각의 프로그램은 두 개의 비트에서 하위 비트에 대한 LSB(Least Significant Bit) 프로그램과, MSB(Most Significant Bit) 프로그램으로 이루어진다.Each program consists of a Least Significant Bit (LSB) program and a Most Significant Bit (MSB) program for the lower bits in two bits.

LSB 프로그램은 [11] 상태에서 [10] 상태로의 프로그램하는 것으로(S101), LSB 프로그램 이후에 MSB 프로그램을 수행하여 [10] 상태를 [00] 상태로 프로그램하거나(S102), [11] 상태를 [01] 상태로 프로그램한다(S103).The LSB program is programmed from the [11] state to the [10] state (S101), and after the LSB program, the MSB program is executed to program the [10] state to the [00] state (S102), or [11] state. Program in the state (S103).

이와 같이 프로그램을 하는 방식은 그레이 코드(Gray Code)를 이용한 프로그램 방식으로, 데이터를 구성하는 비트들 중에서 어느 하나의 비트만이 변경되도록 프로그램을 하는 방식을 나타낸다. 즉, 한번에 프로그램으로 하나의 비트만이 변경 가능하도록 한다.The programming method as described above is a program method using a gray code, and represents a method of programming such that only one bit of bits constituting data is changed. That is, only one bit can be changed by the program at a time.

따라서 [11] 상태의 문턱전압을 갖는 셀들은 [10] 또는 [01]로 변경이 가능하다. 따라서 각각의 셀 문턱전압 분포의 문턱전압 이동 전압의 크기를 비교하면, [10] 상태는 [11]에서 이동하는 Vt1의 문턱전압 이동이 있고, [00] 상태는 [10]에 서 이동하는 Vt2의 문턱전압이 이동이 있으며, [01] 상태는 [11]에서 이동하는 Vt3의 문턱전압 이동이 있다.Therefore, cells having a threshold voltage of the [11] state can be changed to [10] or [01]. Thus, comparing the magnitudes of the threshold voltage shift voltages of the cell threshold voltage distributions, the [10] state has a threshold voltage shift of Vt1 moving from [11], and the [00] state has Vt2 moving from [10]. There is a shift in the threshold voltage of [01], and there is a shift in the threshold voltage of Vt3 moving in [11].

상기와 같이 그레이 코드를 적용하여 2비트의 데이터 저장이 가능한 멀티 레벨 셀 메모리 소자를 프로그램하는 방법 이외에 현재 3비트의 멀티 레벨 셀에 대한 그레이 코드에 대한 정의가 이루어지지 않고 있다.As described above, in addition to a method of programming a multi-level cell memory device capable of storing 2-bit data by applying a gray code, a gray code for a 3-bit multi-level cell is not currently defined.

따라서 본 발명이 이루고자 하는 기술적 과제는 3비트의 데이터를 저장할 수 있는 멀티 레벨 셀에 데이터 프로그램을 하는데 있어서 그레이 코드를 적용할 수 있도록 하는 3비트 그레이 코드를 제공하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법을 제공하는데 있다.Accordingly, a technical problem of the present invention is to program a 3-bit multi-level cell memory device that provides a 3-bit gray code for applying a gray code in a data program to a multi-level cell capable of storing 3-bit data. To provide a method.

상기한 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법은,Program method of a three-bit multi-level cell memory device according to an aspect of the present invention for achieving the above technical problem,

3비트의 데이터를 저장할 수 있는 멀티 레벨 셀을 포함하는 메모리 소자의 프로그램 방법에 있어서, 제1 상태의 셀들을 프로그램 펄스에 따라 제2 내지 제8 상태로 셀 문턱전압 상태가 이동하도록 프로그램하되, 인접한 셀과 3 비트의 데이터 중 하나의 비트만이 다른 값을 갖도록 설정하여 프로그램하는 것을 특징으로 한다.A method of programming a memory device including a multi-level cell capable of storing three bits of data, the method comprising: programming a cell threshold voltage state to move cells of a first state from a second to an eighth state according to a program pulse, It is characterized in that only one bit of the cell and three bits of data is set to have a different value and programmed.

상기 제 1 상태의 셀들은 [111] 의 데이터 코드인 것을 특징으로 한다.The cells in the first state are characterized in that the data code of [111].

상기 문턱전압이 변경되면서 '1' 데이터가 '0'으로 변경되거나 또는 '0' 데이터가 '1'로 변경되는 것을 특징으로 한다.As the threshold voltage is changed, '1' data is changed to '0' or '0' data is changed to '1'.

상기 3비트 멀티 레벨 셀은 소거셀에서 문턱 전압값이 높아지는 순서로 그레이 코드에 의해 정의된 코드를 사용하는 것을 특징으로 한다.The 3-bit multi-level cell uses codes defined by gray codes in order of increasing threshold voltage values in the erase cell.

상기 그레이 코드는, [111], [101], [001], [011], [010], [000], [100], [110] 인 것을 특징으로 한다.The gray code may be [111], [101], [001], [011], [010], [000], [100], or [110].

상기 그레이 코드는, [111], [011], [010], [000], [001], [101], [100], [110] 인 것을 특징으로 한다.The gray code is characterized by being [111], [011], [010], [000], [001], [101], [100], and [110].

상기 그레이 코드는, [111], [101], [100], [000], [001], [011], [010], [110] 인 것을 특징으로 한다.The gray code is characterized in that [111], [101], [100], [000], [001], [011], [010], and [110].

상기 그레이 코드는, [111], [011], [001], [101], [100], [000], [010], [110] 인 것을 특징으로 한다.The gray code is characterized in that [111], [011], [001], [101], [100], [000], [010], and [110].

상기 그레이 코드는, [111], [110], [100], [000], [010], [011], [001], [101] 인 것을 특징으로 한다.The gray code may be [111], [110], [100], [000], [010], [011], [001], or [101].

상기 그레이 코드는, [111], [011], [010], [110], [100], [000], [001], [101] 인 것을 특징으로 한다.The gray code may be [111], [011], [010], [110], [100], [000], [001], or [101].

상기 그레이 코드는, [111], [110], [010], [011], [001], [000], [100], [101] 인 것을 특징으로 한다.The gray code may be [111], [110], [010], [011], [001], [000], [100], or [101].

상기 그레이 코드는, [111], [110], [001], [000], [010], [110], [100], [101] 인 것을 특징으로 한다.The gray code is characterized in that [111], [110], [001], [000], [010], [110], [100], and [101].

상기 그레이 코드는, [111], [110], [100], [101], [001], [000], [010], [011] 인 것을 특징으로 한다.The gray code is characterized in that [111], [110], [100], [101], [001], [000], [010], and [011].

상기 그레이 코드는, [111], [101], [001], [000], [100], [110], [010], [011] 인 것을 특징으로 한다.The gray code is characterized in that [111], [101], [001], [000], [100], [110], [010], and [011].

상기 그레이 코드는, [111], [110], [010], [000], [100], [101], [001], [011] 인 것을 특징으로 한다.The gray code may be [111], [110], [010], [000], [100], [101], [001], or [011].

상기 그레이 코드는, [111], [101], [010], [000], [100], [101], [001], [011] 인 것을 특징으로 한다.The gray code is characterized by being [111], [101], [010], [000], [100], [101], [001], and [011].

상기 그레이 코드는, [111], [101], [001], [011], [010], [110], [100], [000] 인 것을 특징으로 한다.The gray code is characterized by being [111], [101], [001], [011], [010], [110], [100], and [000].

상기 그레이 코드는, [111], [110], [010], [011], [001], [101], [100], [000] 인 것을 특징으로 한다.The gray code is characterized by being [111], [110], [010], [011], [001], [101], [100], and [000].

상기 그레이 코드는, [111], [110], [100], [101], [001], [011], [010], [000] 인 것을 특징으로 한다.The gray code may be [111], [110], [100], [101], [001], [011], [010], or [000].

상기 그레이 코드는, [111], [011], [001], [101], [100], [110], [010], [000] 인 것을 특징으로 한다.The gray code is characterized in that [111], [011], [001], [101], [100], [110], [010], and [000].

상기 그레이 코드는, [111], [011], [010], [110], [100], [101], [001], [000] 인 것을 특징으로 한다.The gray code may be [111], [011], [010], [110], [100], [101], [001], or [000].

상기 그레이 코드는, [111], [101], [100], [110], [010], [011], [001], [000] 인 것을 특징으로 한다.The gray code may be [111], [101], [100], [110], [010], [011], [001], or [000].

이상에서 설명한 바와 같이, 본 발명에 따른 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법은 3비트의 데이터를 저장할 수 있는 멀티 레벨 셀 메모리 소자에 데이터를 프로그램할 때 그레이 코드에 따른 3비트 코드 값을 정의하여 에러를 최소화하며 프로그램할 수 있다.As described above, the program method of a 3-bit multi-level cell memory device according to the present invention defines a 3-bit code value according to gray code when programming data to a multi-level cell memory device capable of storing 3-bit data. Can be programmed with minimal errors.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. It is provided to inform you.

3비트의 데이터를 저장할 수 있는 멀티 레벨 셀(Multi Level Cell; MLC)은 모두 8개의 데이터 상태로 표현된다. 즉, 각각 이진비트와 십진수로 [111;7], [110;6], [101;5], [100;4], [011;3], [010;2], [001;1], [000;0] 표현되며, 본 발명의 실시 예에서는 상기의 십진수 표현과 2진 비트 표현을 함께 사용하여 설명을 하기로 한다.Multi Level Cells (MLCs) capable of storing three bits of data are represented by eight data states. That is, [111; 7], [110; 6], [101; 5], [100; 4], [011; 3], [010; 2], [001; 1], It is represented, and in the embodiment of the present invention will be described using the decimal representation and the binary bit representation together.

또한, 상기 3비트의 MLC가 8개의 데이터 상태로 표현되는 것에 의해, 3비트의 MLC의 문턱전압 분포 역시 8개로 표현된다. 그리고 MLC 메모리 소자가 프로그램을 페이지 단위로 수행하기 때문에 3비트의 MLC는 논리적으로 3개의 페이지에 대해 세 번에 걸친 프로그램이 수행된다. In addition, since the three-bit MLC is represented by eight data states, the threshold voltage distribution of the three-bit MLC is also represented by eight. In addition, since the MLC memory device executes a program in units of pages, a three-bit MLC logically executes three programs for three pages.

즉, 가장 하위의 비트(Low)에 대한 첫 번째 페이지 프로그램, 그리고 두 번째 비트(High)에 대한 두 번째 페이지 프로그램, 마지막으로 세 번째 가장 상위 비트(Top)에 대한 세 번째 페이지 프로그램을 수행함으로써 상기의 8개의 상태를 갖는 셀들로 프로그램된다.That is, the first page program for the lowest bit (Low), the second page program for the second bit (High), and finally the third page program for the third highest bit (Top) Are programmed into cells with eight states of

도 2는 본 발명의 실시 예에 따른 그레이 코드를 적용한 3비트 MLC의 셀 문 턱 전압 분포를 나타낸 도면이다.2 is a diagram illustrating cell threshold voltage distribution of a 3-bit MLC to which a gray code is applied according to an exemplary embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시 예에 따른 3비트의 데이터 저장이 가능한 멀티 레벨 셀(Multi Level Cell; MLC)의 문턱전압분포를 나타내는 것이다. 상기의 각 데이터의 상태는 그레이 코드를 적용한 하나의 예를 나타낸 것이다.2 illustrates a threshold voltage distribution of a multi level cell (MLC) capable of storing 3-bit data according to an exemplary embodiment of the present invention. The state of each data described above shows an example in which a gray code is applied.

상기와 같은 3비트의 MLC를 프로그램하는데 있어서, 각각의 상태에 2진 비트 또는 십진수의 코드를 할당하여 정의함으로써, 메모리 소자는 셀 문턱전압을 검증하여 어떠한 데이터가 저장되었는지를 판단한다.In programming the 3-bit MLC as described above, by assigning a binary bit or a decimal code to each state, the memory device verifies the cell threshold voltage to determine what data is stored.

예를 들어, 도 2의 문턱전압 분포 및 데이터 코드가 할당된 경우는 독출전압(R1)과 독출전압(R2)의 사이의 문턱전압을 갖는 셀은 [110;6]의 데이터를 갖는다고 가정할 수 있다. For example, when the threshold voltage distribution and the data code of FIG. 2 are allocated, it is assumed that a cell having a threshold voltage between the read voltage R1 and the read voltage R2 has data of [110; 6]. Can be.

이상과 같은 그레이 코드를 적용하여 데이터 코드를 상태별로 정의하여 프로그램 또는 독출을 하면, 그레이 코드의 특성에 따라 에러 발생을 최소로 줄일 수 있다.If the data code is defined for each state by applying the gray code as described above, the program or the read can be minimized according to the characteristics of the gray code.

이때, 본 발명의 실시 예와 같이 그레이 코드로 프로그램을 하는 방식은 다음의 규칙에 따른다. 먼저 모든 프로그램은 2진 비트로 '1'에서 '0'으로 변경되거나, '0'에서 '1'로 변경되는 경우로 프로그램이 된다. 동일한 상태로는 변경될 수 없다.At this time, as in the embodiment of the present invention, the programming in gray code follows the following rule. First, every program is a binary bit that changes from '1' to '0' or '0' to '1'. It cannot be changed to the same state.

먼저 가장 첫 번째 페이지의 프로그램을 시작할 때, 하위(Low)비트는 '1'의 상태로 시작해야 한다. 즉 소거셀은 [1]의 상태를 가지며, 소거셀의 상태에서 첫 번째 페이지의 프로그램을 통해 '0'의 상태로 프로그램되거나, '1'의 상태를 유지 한다. 따라서 첫 번째 페이지의 프로그램은 '1' 데이터 상태인 셀들에 대해서만 수행된다 할 수 있다.When starting the program on the first page first, the Low bit must start with a state of '1'. That is, the erase cell has a state of [1] and is programmed to a state of '0' through the program of the first page in the state of the erase cell, or maintains a state of '1'. Therefore, the program of the first page may be performed only for cells in the '1' data state.

그리고 두 번째 페이지의 프로그램에서는 '1' 데이터 상태인 셀들과, 첫 번째 페이지 프로그램 동작에서 문턱전압이 이동했던 셀들만이 프로그램되어 상태 변경이 된다.In the program of the second page, only cells in the '1' data state and cells in which the threshold voltage has moved in the first page program operation are programmed to change state.

마지막으로 세 번째 페이지의 프로그램에서는 '1'데이터 상태인 셀들과 첫 번째 페이지 프로그램 동작 및 두 번째 프로그램 동작에서 문턱전압이 이동했던 셀들만이 프로그램되어 상태 변경된다.Finally, in the program of the third page, only cells in the '1' data state, and the cells whose threshold voltages are moved in the first page program operation and the second program operation are programmed and changed state.

이를 상기 도 2를 참조하여 설명하면 다음과 같다.This will be described with reference to FIG. 2 as follows.

먼저 도 2와 같이 제 1 내지 제 8 문턱전압 분포(201 내지 208)를 가지는 셀들의 데이터 코드를 정의하지 않은 상태에서 단순히 프로그램 과정만을 설명하고자 한다. 이때, 제 1 문턱전압 분포(201)는 '1' 데이터를 가지는 소거셀이다.First, only a program process will be described without defining a data code of cells having the first to eighth threshold voltage distributions 201 to 208 as shown in FIG. 2. In this case, the first threshold voltage distribution 201 is an erase cell having '1' data.

따라서 첫 번째 페이지의 프로그램에 의해 제 1 문턱전압 분포(201)를 가지는 셀들의 일부는 제 2 문턱전압 분포(202)를 가지는 셀들로 프로그램된다.Therefore, some of the cells having the first threshold voltage distribution 201 are programmed into the cells having the second threshold voltage distribution 202 by the program of the first page.

그리고 두 번째 페이지의 프로그램에서는 '1'의 데이터를 가지는 제 1 문턱전압 분포(201)와, 첫 번째 페이지의 프로그램에서 문턱전압 분포가 변경되었던 제 2 문턱전압 분포(202)를 가지는 셀들이 프로그램되어 상태 변경이 된다. 즉 제 1 문턱전압 분포(201)를 가지는 셀들중 일부는 제 4 문턱전압 분포(204)를 가지는 셀들로 변경되고, 제 2 문턱전압 분포(202)를 가지는 셀들 중 일부는 제 5 문턱전압 분포(205)를 가지는 셀들로 변경된다.In the program of the second page, cells having a first threshold voltage distribution 201 having data of '1' and a second threshold voltage distribution 202 whose threshold voltage distribution has been changed in the program of the first page are programmed. The state changes. That is, some of the cells having the first threshold voltage distribution 201 are changed to cells having the fourth threshold voltage distribution 204, and some of the cells having the second threshold voltage distribution 202 are the fifth threshold voltage distribution ( 205).

마지막으로 세 번째 페이지의 프로그램에서는 '1'의 데이터를 가지는 제 1 문턱전압 분포(201)와 첫 번째 프로그램에서 문턱전압 분포가 변경되었던 제 2 문턱전압 분포(202)와, 두 번째 프로그램에서 문턱전압 분포가 변경된 제 4 및 제 5 문턱전압 분포(204, 205)를 가지는 셀들이 세 번째 페이지 프로그램에 의해 상태 변경이 된다.Lastly, in the program of the third page, the first threshold voltage distribution 201 having data of '1', the second threshold voltage distribution 202 whose threshold voltage distribution is changed in the first program, and the threshold voltage in the second program The cells having the fourth and fifth threshold voltage distributions 204 and 205 whose distributions are changed are changed state by the third page program.

즉, 제 1 문턱전압 분포(201)를 가지는 셀들 중 일부는 제 3 문턱전압 분포(203)를 가지는 셀들로 변경된다. 제 2 문턱전압 분포(202)를 가지는 셀들 중 일부는 제 7문턱전압 분포(207)를 가지는 셀들로 변경된다. 또한 제 4 문턱전압 분포(204)를 가지는 셀들 중 일부는 제 6 문턱전압 분포(206)를 가지는 셀들로 변경된다. 마지막으로 제 5 문턱전압 분포(205)를 가지는 셀들중 일부는 제 8 문턱전압 분포(208)를 가지는 셀들로 변경된다.That is, some of the cells having the first threshold voltage distribution 201 are changed to cells having the third threshold voltage distribution 203. Some of the cells having the second threshold voltage distribution 202 are changed to cells having the seventh threshold voltage distribution 207. In addition, some of the cells having the fourth threshold voltage distribution 204 are changed to cells having the sixth threshold voltage distribution 206. Finally, some of the cells having the fifth threshold voltage distribution 205 are changed to cells having the eighth threshold voltage distribution 208.

상기와 같이 각각의 8 개의 셀 문턱전압 분포들은 앞서 언급한 규칙에 따라 프로그램되는데, 이러한 상태로 프로그램된 셀 문턱전압 분포들이 각각 가지게 되는 그레이 코드에 따르는 코드값은 다음의 도 3과 같이 18가지로 나타난다.As described above, each of the eight cell threshold voltage distributions is programmed according to the aforementioned rule, and the code values according to the gray codes of the cell threshold voltage distributions programmed in this state are 18 as shown in FIG. appear.

표 1은 본 발명의 실시 예에 따른 3비트의 그레이 코드 표를 나타낸다.Table 1 shows a 3-bit gray code table according to an embodiment of the present invention.

Figure 112007054019921-PAT00001
Figure 112007054019921-PAT00001

표 3을 참조하면, 18 케이스(Case)의 3비트 그레이 코드를 나타낸 것으로, 상기 도 2의 제 1 내지 제 8 셀 문턱전압 분포(201 내지 208)에 설정하여 사용할 수 있다.Referring to Table 3, a three-bit gray code of 18 cases (Case) is shown, which may be set and used in the first to eighth cell threshold voltage distributions 201 to 208 of FIG. 2.

대표적으로, 첫 번째 케이스와 같이 소거셀인 제 1 문턱전압 분포(201)가 [111;7]의 코드로 정의 되고, 제 2 문턱전압 분포(202)는 [101; 5]의 코드로 정의된다. 또한 제 3 문턱전압 분포(203)는 [001;1]의 코드로 정의되고, 제 4 문턱전압 분포(204)는 [011;3]의 코드로 정의되며, 제 5 문턱전압 분포(205)는 [010;2]의 코드로 정의된다. 제 6 문턱전압 분포(206)는 [000;0]의 코드로 정의되고, 제 7 문턱전압 분포(207)는 [100;4]의 코드로 정의되며, 제 8 문턱전압 분포(208)는 [110;6]의 코드로 정의된다.Typically, as in the first case, the first threshold voltage distribution 201, which is an erase cell, is defined as a code of [111; 7], and the second threshold voltage distribution 202 is defined as [101; 5]. In addition, the third threshold voltage distribution 203 is defined by the code of [001; 1], the fourth threshold voltage distribution 204 is defined by the code of [011; 3], and the fifth threshold voltage distribution 205 is It is defined as a code of [010; 2]. The sixth threshold voltage distribution 206 is defined by a code of [000; 0], the seventh threshold voltage distribution 207 is defined by a code of [100; 4], and the eighth threshold voltage distribution 208 is [ 110; 6].

상기 도 2와 같은 문턱전압 분포의 이동은 표 3의 두 번째 케이스를 프로그램하는 경우를 도시한 것이다.The shift of the threshold voltage distribution as shown in FIG. 2 illustrates a case in which the second case of Table 3 is programmed.

도 2와 같이 표 1에 나타난 18 케이스는 모두 그레이 코드를 만족하며, 앞서 언급한 세 가지의 조건에 만족하여 프로그램되어야 한다.As shown in FIG. 2, all 18 cases shown in Table 1 satisfy the gray code and must be programmed by satisfying the three conditions mentioned above.

이때 프로그램을 통해 변경될 수 있는 데이터는 '1'->'0'으로 변경되는 경우 이외에 '0' 데이터가 '1'데이터로 변경되는 경우도 가능하며, 메모리 소자의 프로그램 알고리즘에 따라 그레이 코드에 따른 코드를 적용하여 프로그램 방법을 설정할 수 있다.In this case, data that can be changed through the program can be changed to '1' data as well as '1'-> '0', and it can be changed to gray code according to the program algorithm of the memory device. The program method can be set by applying the code according to the method.

상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention described above has been described in detail in a preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, the present invention will be understood by those skilled in the art that various embodiments are possible within the scope of the technical idea of the present invention.

도 1은 일반적인 2비트 MLC의 셀 문턱전압 분포도이다.1 is a cell threshold voltage distribution diagram of a typical 2-bit MLC.

도 2는 본 발명의 실시 예에 따른 그레이 코드를 적용한 3비트 MLC의 셀 문턱 전압 분포를 나타낸 도면이다.2 is a diagram illustrating a cell threshold voltage distribution of a 3-bit MLC to which a gray code is applied according to an exemplary embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 3비트의 그레이 코드 표를 나타낸다.3 illustrates a 3-bit gray code table according to an embodiment of the present invention.

Claims (22)

3비트의 데이터를 저장할 수 있는 멀티 레벨 셀을 포함하는 메모리 소자의 프로그램 방법에 있어서,In the method of programming a memory device comprising a multi-level cell capable of storing three bits of data, 제1 상태의 셀들을 프로그램 펄스에 따라 제2 내지 제8 상태로 셀 문턱전압 상태가 이동하도록 프로그램하되, 인접한 셀과 3 비트의 데이터 중 하나의 비트만이 다른 값을 갖도록 설정하여 프로그램하는 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.The cell threshold voltage state is programmed to move the cells of the first state to the second to eighth states according to a program pulse, but the program is set so that only one bit of the adjacent cell and the 3-bit data has a different value. A three-bit multi-level cell memory device programming method. 제 1 항에 있어서, The method of claim 1, 상기 제 1 상태의 셀들은 [111] 의 데이터 코드인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And the cells of the first state are data codes of [111]. 제 1항에 있어서,The method of claim 1, 상기 문턱전압이 변경되면서 '1' 데이터가 '0'으로 변경되거나 또는 '0' 데이터가 '1'로 변경되는 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And the '1' data is changed to '0' or the '0' data is changed to '1' as the threshold voltage is changed. 제 1항에 있어서,The method of claim 1, 상기 3비트 멀티 레벨 셀은 소거셀에서 문턱 전압값이 높아지는 순서로 그레 이 코드에 의해 정의된 코드를 사용하는 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.The 3 bit multi-level cell uses a code defined by the gray code in the order of increasing the threshold voltage value in the erase cell. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [101], [001], [011], [010], [000], [100], [110] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [101], [001], [011], [010], [000], [100], and [110]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [011], [010], [000], [001], [101], [100], [110] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [011], [010], [000], [001], [101], [100], and [110]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [101], [100], [000], [001], [011], [010], [110] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [101], [100], [000], [001], [011], [010], and [110]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [011], [001], [101], [100], [000], [010], [110] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [011], [001], [101], [100], [000], [010], and [110]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [100], [000], [010], [011], [001], [101] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [110], [100], [000], [010], [011], [001], and [101]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [011], [010], [110], [100], [000], [001], [101] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [011], [010], [110], [100], [000], [001], and [101]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [010], [011], [001], [000], [100], [101] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [110], [010], [011], [001], [000], [100], and [101]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [001], [000], [010], [110], [100], [101] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [110], [001], [000], [010], [110], [100], and [101]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [100], [101], [001], [000], [010], [011] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [110], [100], [101], [001], [000], [010], and [011]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [101], [001], [000], [100], [110], [010], [011] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [101], [001], [000], [100], [110], [010], and [011]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [010], [000], [100], [101], [001], [011] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [110], [010], [000], [100], [101], [001], and [011] a method for programming a three-bit multi-level cell memory device. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [101], [010], [000], [100], [101], [001], [011] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [101], [010], [000], [100], [101], [001], and [011]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [101], [001], [011], [010], [110], [100], [000] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [101], [001], [011], [010], [110], [100], and [000]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [010], [011], [001], [101], [100], [000] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [110], [010], [011], [001], [101], [100], and [000]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [110], [100], [101], [001], [011], [010], [000] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.And [111], [110], [100], [101], [001], [011], [010], and [000]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [011], [001], [101], [100], [110], [010], [000] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [011], [001], [101], [100], [110], [010], and [000]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [011], [010], [110], [100], [101], [001], [000] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [011], [010], [110], [100], [101], [001], and [000]. 제 4항에 있어서,The method of claim 4, wherein 상기 그레이 코드는,The gray code is, [111], [101], [100], [110], [010], [011], [001], [000] 인 것을 특징으로 하는 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법.[111], [101], [100], [110], [010], [011], [001], and [000], wherein the method of programming a three-bit multi-level cell memory device.
KR1020070074571A 2007-07-25 2007-07-25 Method of programming for 3bit multi level cell memory device KR20090011207A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070074571A KR20090011207A (en) 2007-07-25 2007-07-25 Method of programming for 3bit multi level cell memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070074571A KR20090011207A (en) 2007-07-25 2007-07-25 Method of programming for 3bit multi level cell memory device

Publications (1)

Publication Number Publication Date
KR20090011207A true KR20090011207A (en) 2009-02-02

Family

ID=40682384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070074571A KR20090011207A (en) 2007-07-25 2007-07-25 Method of programming for 3bit multi level cell memory device

Country Status (1)

Country Link
KR (1) KR20090011207A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366017B1 (en) * 2011-03-23 2014-02-21 시게이트 테크놀로지 엘엘씨 Non­sequential encoding scheme for multi­level cell(mlc)memory cells
CN104934062A (en) * 2014-03-18 2015-09-23 株式会社东芝 Nonvolatile memory and writing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366017B1 (en) * 2011-03-23 2014-02-21 시게이트 테크놀로지 엘엘씨 Non­sequential encoding scheme for multi­level cell(mlc)memory cells
CN104934062A (en) * 2014-03-18 2015-09-23 株式会社东芝 Nonvolatile memory and writing method
CN104934062B (en) * 2014-03-18 2019-03-12 东芝存储器株式会社 Nonvolatile memory and wiring method

Similar Documents

Publication Publication Date Title
US9111616B2 (en) Multi-bit flash memory device and memory cell array
US7310347B2 (en) States encoding in multi-bit flash cells
US7716413B2 (en) Method of making a multi-bit-cell flash memory
US7660160B2 (en) Flash memory device and method of operating the same
JP4653738B2 (en) Method of operating flash memory cell and flash memory device
KR100953047B1 (en) Method of operating a non volatile memory device
US8107287B2 (en) Method of programming nonvolatile memory device
EP2048667B1 (en) Methods of programming non-volatile memory cells
US7623375B2 (en) Method of operating a flash memory device
CA2728697A1 (en) Multiple-bit per cell (mbc) non-volatile memory apparatus and system having polarity control and method of programming same
KR20100046757A (en) Memory device and program method thereof
KR100953065B1 (en) Non volatile memory device
KR20090011207A (en) Method of programming for 3bit multi level cell memory device
JP6303039B2 (en) Cell location programming for storage systems
KR101227368B1 (en) Method for data programming of a NAND flash memory device and method for data reading of the same
KR20100106761A (en) Program method of flash device
KR100719381B1 (en) Mlc nand flash memory with address setting flag
KR101261052B1 (en) Multi level cell memory device and data store method of the memory device
KR101003212B1 (en) Nonvolatile memory device and method for program therof

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination