Nothing Special   »   [go: up one dir, main page]

KR20110001098A - Program Method of Nonvolatile Memory Device - Google Patents

Program Method of Nonvolatile Memory Device Download PDF

Info

Publication number
KR20110001098A
KR20110001098A KR1020090058489A KR20090058489A KR20110001098A KR 20110001098 A KR20110001098 A KR 20110001098A KR 1020090058489 A KR1020090058489 A KR 1020090058489A KR 20090058489 A KR20090058489 A KR 20090058489A KR 20110001098 A KR20110001098 A KR 20110001098A
Authority
KR
South Korea
Prior art keywords
program
level cell
data
memory device
cell block
Prior art date
Application number
KR1020090058489A
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 KR1020090058489A priority Critical patent/KR20110001098A/en
Publication of KR20110001098A publication Critical patent/KR20110001098A/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

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

Abstract

본 발명은 두 비트 이상의 데이터를 저장할 수 있는 메모리 셀들을 포함하는 멀티 레벨 셀 블록들을 포함하는 불휘발성 메모리 소자가 제공되는 단계; 프로그램 명령에 따라 입력되는 데이터를 상기 멀티 레벨 셀 블록들 중 일부에 싱글 레벨 셀 프로그램 방식으로 프로그램하는 단계; 상기 데이터 저장단계에서 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면, 멀티 레벨 셀 프로그램 명령이 생성되어 상기 저장된 데이터를 선택된 멀티 레벨 셀 블록 전체에 프로그램하는 제 1 프로그램 수행 단계; 및 상기 제 1 프로그램 수행단계에서 사용하는 제 1 검증전압 레벨보다 높은 제 2 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 2 프로그램 수행단계를 포함하는 불휘발성 메모리 소자의 프로그램 방법을 제공한다.According to an aspect of the present invention, there is provided a nonvolatile memory device including multilevel cell blocks including memory cells capable of storing two or more bits of data; Programming data input according to a program command to some of the multi-level cell blocks in a single level cell program method; A first program execution step of generating a multi-level cell program command to program the stored data to the entire selected multi-level cell block when the stored data reaches the capacity to be programmed in the entire multi-level cell block; And a second program performing step of setting a second verification voltage higher than a first verification voltage level used in the first program performing step, and overlapping the stored data in the entire selected multi-level cell block. A program method of a volatile memory device is provided.

프로그램, MLC, SLC Program, MLC, SLC

Description

불휘발성 메모리 소자의 프로그램 방법{Method of programming a non volatile memory device}Method of programming a non volatile memory device

본 발명은 불휘발성 메모리 소자의 프로그램 방법에 관한 것이다.The present invention relates to a method of programming a nonvolatile memory device.

일반적으로, 플래시 메모리는 전기적으로 셀의 데이터를 일괄적으로 소거하는 기능이 있기 때문에, 컴퓨터 및 메모리 카드 등에 널리 사용되고 있다. 최근 들어서는, 휴대폰, PDA, 디지털카메라 등과 같은 휴대용 정보기기의 사용이 급증함에 따라, 하드디스크 대신 플래시 메모리가 저장장치로서 널리 사용되고 있다. 상술한 모바일 기기들은 다양한 기능들(예를 들면, 동영상 재생 기능)을 제공하기 위해서 점차 대용량의 저장 장치들을 필요로 하고 있다. 그러한 요구를 충족하기 위한 다양한 노력들이 행해져 오고 있다. 그러한 노력들 중 하나로서 하나의 메모리 셀에 2비트 데이터 또는 그보다 많은 데이터 비트들을 저장하는 멀티 비트 메모리 장치가 제안되어오고 있다. 메모리 셀당 다중 비트 데이터가 저장되는 메모리 셀을 멀티 레벨 셀(MLC; Multi-Leveled Cell)이라 한다. 그에 반해 메모리 셀당 1비트의 데이터가 저장되는 메모리 셀을 싱글 레벨 셀(SLC; Single-Leveled Cell)이라 한다. In general, flash memories are widely used in computers, memory cards, and the like because they have a function of electrically erasing data of cells collectively. In recent years, as the use of portable information devices such as mobile phones, PDAs, digital cameras, and the like proliferates, flash memory is widely used as a storage device instead of a hard disk. The mobile devices described above increasingly require large storage devices in order to provide various functions (eg, a video playback function). Various efforts have been made to meet that need. As one of such efforts, a multi-bit memory device for storing 2-bit data or more data bits in one memory cell has been proposed. A memory cell in which multi-bit data is stored per memory cell is called a multi-leveled cell (MLC). In contrast, a memory cell storing one bit of data per memory cell is called a single-level cell (SLC).

멀티 레벨 셀을 채택한 플래시 메모리 장치는 가용 용량의 증가는 가능하지만, 데이터의 기입에 소요되는 시간이 증가한다. 반면에, 싱글 레벨 셀을 채택한 플래시 메모리 장치는 가용 용량은 상대적으로 작지만, 데이터의 기입에 소요되는 시간이 짧아 MLC에 비하여 고속의 동작 특성을 갖는다. Flash memory devices employing multi-level cells are capable of increasing usable capacity, but increase the time required to write data. On the other hand, a flash memory device employing a single level cell has a relatively small usable capacity, but has a high operating speed compared to MLC because the time required for writing data is short.

따라서 본 발명이 이루고자 하는 기술적 과제는 데이터의 프로그램 속도를 높이면서 메모리 셀간의 간섭현상을 최소화하여 데이터의 신뢰성을 높일 수 있는 불휘발성 메모리 소자의 프로그램 방법을 제공하는데 있다.Accordingly, an aspect of the present invention is to provide a method of programming a nonvolatile memory device capable of increasing data reliability while minimizing interference between memory cells and increasing data reliability.

본 발명의 특징에 따른 불휘발성 메모리 소자의 프로그램 방법은,Program method of a nonvolatile memory device according to an aspect of the present invention,

두 비트 이상의 데이터를 저장할 수 있는 메모리 셀들을 포함하는 멀티 레벨 셀 블록들을 포함하는 불휘발성 메모리 소자가 제공되는 단계; 프로그램 명령에 따라 입력되는 데이터를 상기 멀티 레벨 셀 블록들 중 일부에 싱글 레벨 셀 프로그램 방식으로 프로그램하는 단계; 상기 데이터 저장단계에서 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면, 멀티 레벨 셀 프로그램 명령이 생성되어 상기 저장된 데이터를 선택된 멀티 레벨 셀 블록 전체에 프로그램하는 제 1 프로그램 수행 단계; 및 상기 제 1 프로그램 수행단계에서 사용하는 제 1 검증전압 레벨보다 높은 제 2 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 2 프로그램 수행단계를 포함한다.Providing a nonvolatile memory device including multilevel cell blocks including memory cells capable of storing two or more bits of data; Programming data input according to a program command to some of the multi-level cell blocks in a single level cell program method; A first program execution step of generating a multi-level cell program command to program the stored data to the entire selected multi-level cell block when the stored data reaches the capacity to be programmed in the entire multi-level cell block; And a second program performing step of setting a second verification voltage higher than a first verification voltage level used in the first program performing step, and overlapping the stored data in the entire selected multi-level cell block.

상기 싱글 레벨 셀 프로그램 방식은, 상기 멀티 레벨 셀 블록의 메모리 셀들에 하나의 비트 정보만 프로그램되도록 하는 방식인 것을 특징으로 한다.The single level cell program method may be configured to program only one bit information into memory cells of the multi-level cell block.

상기 멀티 레벨 셀 프로그램 명령은, 상기 데이터 저장단계에서 저장된 데 이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면서, 상기 불휘발성 메모리 소자가 어떤 동작도 하지 않는 대기 상태이거나, 전원 오프 명령이 입력되었을 때 생성되는 것을 특징으로 한다.The multi-level cell program command has a capacity that is enough to program the data stored in the data storing step to the entire multi-level cell block, so that the nonvolatile memory device does not perform any operation or the power-off command is executed. Characterized in that it is generated when input.

상기 제 2 프로그램 수행단계에서 사용하는 제 2 검증전압 레벨보다 높은 제 3 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 3 프로그램 수행단계를 더 포함한다.And setting a third verification voltage higher than a second verification voltage level used in the second program execution step, and repeating the stored data in the entire multi-level cell block.

상기 멀티 레벨 셀 블록의 프로그램이 종료되면, 상기 저장된 데이터를 소거하는 것을 특징으로 한다.When the program of the multi-level cell block is terminated, the stored data may be erased.

본 발명의 특징에 따른 불휘발성 메모리 소자의 프로그램 방법은,Program method of a nonvolatile memory device according to an aspect of the present invention,

두 비트 이상의 데이터를 저장할 수 있는 메모리 셀들을 포함하는 멀티 레벨 셀 블록들과, 프로그램할 데이터를 임시 저장할 수 있는 버퍼부를 포함하는 불휘발성 메모리 소자가 제공되는 단계; 프로그램 명령에 따라 입력되는 데이터를 상기 버퍼부에 임시 저장하는 단계; 상기 버퍼부에 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면, 멀티 레벨 셀 프로그램 명령이 생성되어 상기 저장된 데이터를 선택된 멀티 레벨 셀 블록 전체에 프로그램하는 제 1 프로그램 수행 단계; 및 상기 제 1 프로그램 수행단계에서 사용하는 제 1 검증전압 레벨보다 높은 제 2 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 2 프로그램 수행단계를 포함한다.Providing a non-volatile memory device including multi-level cell blocks including memory cells capable of storing two or more bits of data, and a buffer unit capable of temporarily storing data to be programmed; Temporarily storing data input according to a program command in the buffer unit; Performing a first program of generating a multi-level cell program command to program the stored data to the entire selected multi-level cell block when the data stored in the buffer unit has a capacity to be programmed in the entire multi-level cell block; And a second program performing step of setting a second verification voltage higher than a first verification voltage level used in the first program performing step, and overlapping the stored data in the entire selected multi-level cell block.

상기 버퍼부는, 상기 멀티 레벨 셀 블록에 데이터를 프로그램하는 속도보다 데이터 저장 속도가 빠른 별도의 저장수단인 것을 특징으로 한다.The buffer unit is characterized in that a separate storage means having a faster data storage speed than the speed of programming data in the multi-level cell block.

상기 멀티 레벨 셀 프로그램 명령은, 상기 버퍼부에 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면서, 상기 불휘발성 메모리 소자가 어떤 동작도 하지 않는 대기 상태이거나, 전원 오프 명령이 입력되었을 때 생성되는 것을 특징으로 한다.The multi-level cell program command has a capacity such that data stored in the buffer unit is programmed to the entire multi-level cell block, and a standby state in which the nonvolatile memory device does not operate or a power-off command is input. When it is generated.

상기 제 2 프로그램 수행단계에서 사용하는 제 2 검증전압 레벨보다 높은 제 3 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 3 프로그램 수행단계를 더 포함한다.And setting a third verification voltage higher than a second verification voltage level used in the second program execution step, and repeating the stored data in the entire multi-level cell block.

상기 멀티 레벨 셀 블록의 프로그램이 종료되면, 상기 저장된 데이터중 상기 선택된 멀티 레벨 셀 블록에 저장된 데이터를 삭제하는 것을 특징으로 한다.When the program of the multi-level cell block is terminated, the data stored in the selected multi-level cell block is deleted from the stored data.

이상에서 설명한 바와 같이, 본 발명에 따른 불휘발성 메모리 소자의 프로그램 방법은, 프로그램 속도를 향상시키면서 메모리 셀간의 간섭을 최소화하여 데이터의 신뢰성을 높일 수 있다.As described above, the method of programming a nonvolatile memory device according to the present invention can improve the reliability of data by minimizing interference between memory cells while improving program speed.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.Hereinafter, preferred 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.

도 1은 본 발명의 일 실시 예에 따른 불휘발성 메모리 소자를 나타낸다.1 illustrates a nonvolatile memory device according to an embodiment of the present invention.

도 1을 참조하면, 불휘발성 메모리 소자(100)는 메모리 셀 어레이(110), 페이지 버퍼부(120), Y 디코더(130), X 디코더(140), 전압 제공부(150) 및 제어부(160)를 포함한다.Referring to FIG. 1, the nonvolatile memory device 100 may include a memory cell array 110, a page buffer unit 120, a Y decoder 130, an X decoder 140, a voltage providing unit 150, and a controller 160. ).

메모리 셀 어레이(110)는 멀티 레벨 셀(Multi Level Cell; 이하 MLC) 블록부(111)와 싱글 레벨 셀(Single Level Cell; 이하 SLC) 블록부(112)를 포함한다.The memory cell array 110 includes a multi level cell (MLC) block unit 111 and a single level cell (MLC) block unit 112.

MLC 블록부(111)는 제 1 내지 제 N MLC 블록들을 포함하고, SLC 블록부(112)는 제 1 내지 제 K SLC 블록들을 포함한다.The MLC block unit 111 includes first to Nth MLC blocks, and the SLC block unit 112 includes first to Kth SLC blocks.

제 1 내지 제 N MLC 블록들은 2비트의 데이터를 저장할 수 있는 메모리 셀들을 포함하고 제 1 내지 제 K SLC 블록들은 한 비트의 데이터를 저장할 수 있는 메모리 셀들을 포함한다.The first through Nth MLC blocks include memory cells capable of storing two bits of data, and the first through Kth SLC blocks include memory cells capable of storing one bit of data.

2비트의 데이터를 저장할 수 있는 메모리 셀이나 한비트의 데이터를 저장할 수 있는 메모리 셀들은 구조상으로 동일하다고 할 수 있다.Memory cells capable of storing two bits of data or memory cells capable of storing one bit of data are identical in structure.

그리고 제 1 내지 제 N MLC 블록들과 제 1 내지 제 K SLC 블록들에 메모리 셀들은 워드라인(Word Line; WL)들과 비트라인(Bit Line; BL)들에 연결된다.The memory cells are connected to word lines WL and bit lines BL in the first to Nth MLC blocks and the first to Kth SLC blocks.

페이지 버퍼부(120)는 하나 이상의 비트라인에 연결되는 페이지 버퍼들을 포함한다. 각각의 페이지 버퍼는 데이터 임시 저장을 위한 래치회로들을 포함하고, 프로그램과 독출 동작을 위해서 동작한다.The page buffer unit 120 includes page buffers connected to one or more bit lines. Each page buffer includes latch circuits for temporary data storage and operates for program and read operations.

Y 디코더(130)는 페이지 버퍼부(120)에 복수개의 페이지 버퍼들의 데이터 입출력 경로를 제공하고, X 디코더(140)는 제어신호에 따라서 메모리 셀 어레이(110)에서 제 1 내지 제 N MLC 블록과 제 1 내지 제 K SLC 블록들 중 하나를 인에이블 시키고, 동작전압이 입력되는 글로벌 워드라인(Global Word Line; GWL)과 인에이블된 블록의 워드라인을 연결한다.The Y decoder 130 provides a data input / output path of the plurality of page buffers to the page buffer unit 120, and the X decoder 140 may be configured to match the first to Nth MLC blocks in the memory cell array 110 according to a control signal. One of the first to K th SLC blocks is enabled, and a global word line (GWL) to which an operating voltage is input is connected to a word line of the enabled block.

전압 제공부(150)는 프로그램, 데이터 독출 또는 소거 동작 등을 위한 동작 전압을 생성하여 제공한다.The voltage provider 150 generates and provides an operating voltage for a program, data read or erase operation.

제어부(160)는 프로그램, 데이터 독출 또는 소거 동작을 제어하기 위한 제어신호를 출력한다. 특히 제어부(160)는 프로그램 명령에 따라서 입력되는 데이터를 우선적으로 SLC 블록부(112)에 프로그램되도록 하고, 이후에 불휘발성 메모리 소자(100)의 SLC 블록부(112)가 모두 프로그램 상태이거나, 동작하지 않고 대기(idle)중이거나, 또는 전원 오프 명령을 입력받으면 SLC 블록부(112)에 저장된 데이터를 블록 단위로 로딩하여 MLC 블록부(111)로 옮겨서 프로그램할 수 있게 제어한다.The controller 160 outputs a control signal for controlling a program, data read or erase operation. In particular, the control unit 160 causes the SLC block unit 112 to program data input in accordance with a program command, and then all of the SLC block units 112 of the nonvolatile memory device 100 are in a program state or operate. If it is not in the idle state or receives a power-off command, the data stored in the SLC block unit 112 is loaded in units of blocks and transferred to the MLC block unit 111 to be programmed.

특히 제어부(160)는 MLC 블록부(111)에 프로그램을 할 때는 제 1 내지 제 N MLC 블록들 중 하나를 선택하여 전체 블록의 데이터를 프로그램하고, 다시 한 번 동일한 데이터를 가지고 검증전압만 높여서 프로그램한다. 이에 대한 상세한 설명은 이후의 도 3을 참조하여 설명하기로 한다.In particular, when programming the MLC block unit 111, the control unit 160 selects one of the first to Nth MLC blocks to program the data of the entire block, and once again increases the verification voltage with the same data. do. A detailed description thereof will be described later with reference to FIG. 3.

제 1 내지 제 K SLC 블록들중 두 개의 SLC 블록의 데이터가 하나의 MLC 메모리 블록에 저장될 수 있으므로, 제어부(160)는 적어도 두 개의 SLC 블록의 데이터가 모두 프로그램될 때까지는 MLC 블록의 프로그램을 하지 않는다.Since data of two SLC blocks of the first to Kth SLC blocks may be stored in one MLC memory block, the controller 160 may program the MLC block until all the data of at least two SLC blocks are programmed. I never do that.

상기한 불휘발성 메모리 소자는 SLC 블록의 프로그램 속도가 MLC 블록에 비하여 빠르기 때문에 프로그램 속도를 높일 수 있다. 또한 MLC 블록에 프로그램하는 방법이 동일한 데이터를 두 번 프로그램하는 방법을 적용하여 데이터의 신뢰성을 높일 수 있다.Since the program speed of the SLC block is faster than that of the MLC block, the nonvolatile memory device may increase the program speed. In addition, the reliability of the data can be improved by applying the method of programming the same data twice as the method of programming the MLC block.

또 다른 실시 예로서는 SLC 블록과 MLC 블록을 따로 지정하지 않고, 하나의 블록에 프로그램될 수 있는 데이터를 임시 저장할 수 있는 버퍼를 별도로 구비하는 경우도 있다.As another embodiment, the SLC block and the MLC block may not be separately designated, but a separate buffer may be provided to temporarily store data that can be programmed in one block.

도 2는 다른 일실시 예에 따른 불휘발성 메모리 소자를 나타낸다.2 illustrates a nonvolatile memory device according to another embodiment.

도 2를 참조하면, 불휘발성 메모리 소자(200)는 도 1의 불휘발성 메모리 소자(100)와 유사한 구성을 갖는다. 즉 메모리 셀 어레이(210), 페이지 버퍼부(220), Y 디코더(230), X 디코더(240), 전압 제공부(250) 및 제어부(260)를 포함한다. 그리고 버퍼(260)를 더 포함한다.Referring to FIG. 2, the nonvolatile memory device 200 has a configuration similar to that of the nonvolatile memory device 100 of FIG. 1. That is, the memory cell array 210, the page buffer unit 220, the Y decoder 230, the X decoder 240, the voltage provider 250, and the controller 260 are included. And a buffer 260.

메모리 셀 어레이(210)는 제 1 내지 제 N MLC 블록들을 포함하고, 각각의 메모리 블록들은 2비트의 데이터를 저장할 수 있는 메모리 셀들을 포함한다.The memory cell array 210 includes first to Nth MLC blocks, and each memory block includes memory cells capable of storing two bits of data.

그리고 메모리 셀들은 워드라인(WL)들과 비트라인(BL)들에 연결된다.The memory cells are connected to word lines WL and bit lines BL.

페이지 버퍼부(220), Y 디코더(230), X 디코더(240), 전압 제공부(250)는 도1의 페이지 버퍼부(120), Y 디코더(130), X 디코더(140), 전압 제공부(150)와 동일한 기능을 한다.The page buffer unit 220, the Y decoder 230, the X decoder 240, and the voltage provider 250 may include the page buffer unit 120, the Y decoder 130, the X decoder 140, and the voltage regulator of FIG. 1. The same function as the study (150).

제어부(260)도 프로그램, 데이터 독출 또는 소거 동작을 위한 제어신호를 출력하고, 제 1 내지 제 N MLC 블록들에 데이터를 프로그램할 때는 동일한 데이터를 이용하여 두 번의 프로그램을 수행하도록 하고, 하나의 블록 전체를 프로그램할 수 있는 데이터가 입력될 때까지 버퍼부(270)에 프로그램할 데이터를 임시 저장하도록 한다.The controller 260 also outputs a control signal for a program, data read or erase operation, and performs two programs using the same data when programming data to the first to Nth MLC blocks, and one block. The data to be programmed are temporarily stored in the buffer unit 270 until data that can be programmed in its entirety is input.

따라서 버퍼부(270)는 하나의 MLC 블록에 저장될 수 있는 데이터가 모두 저장될 수 있을 만큼의 용량이상을 가져야 한다. 버퍼부(270)는 디램 등이 프로그램 속도가 MLC 블록에 비하여 빠른 저장장치로 구성될 수 있다.Therefore, the buffer unit 270 should have a capacity that is larger than all the data that can be stored in one MLC block. The buffer unit 270 may be configured as a storage device such that a DRAM has a faster program speed than an MLC block.

제어부(260)는 버퍼부(270)에 저장된 데이터가 하나의 MLC 블록 전체에 프로그램될 수 있는 만큼이 되면, MLC 블록의 프로그램을 시작한다.When the data stored in the buffer unit 270 is enough to be programmed in one MLC block, the controller 260 starts the program of the MLC block.

이상의 도 1과 도 2와 같은 불휘발성 메모리 소자는 MLC의 프로그램 속도가 SLC에 비해서 현저히 느리다는 단점을 보완할 수 있다. 그리고 MLC의 프로그램은 본 발명의 실시 예와 같이 수행함으로써 주변 셀간에 인터피러런스(interference)에 따른 데이터의 오류도 줄일 수 있다.1 and 2 can compensate for the drawback that the program speed of the MLC is significantly slower than that of the SLC. In addition, by performing the MLC program as in the exemplary embodiment of the present invention, an error of data due to an interference between neighboring cells can be reduced.

도 3은 본 발명의 실시 예에 따른 불휘발성 메모리 소자의 프로그램 방법을 설명하기 위한 동작 순서도이다.3 is a flowchart illustrating a program method of a nonvolatile memory device according to an exemplary embodiment of the present invention.

도 3과 같은 프로그램 동작이 수행되기 전에, 상기 도 1 및 도 2에서 설명한 바와 같이 SLC 블록 또는 버퍼부(270)에 MLC 블록 전체를 프로그램할 수 있는 만큼의 데이터가 저장되어 있어야 한다.Before the program operation as shown in FIG. 3 is performed, as much as the amount of data capable of programming the entire MLC block must be stored in the SLC block or the buffer unit 270 as described above with reference to FIGS. 1 and 2.

그리고 MLC 블록의 프로그램은 더 이상 데이터를 저장할 수 있는 버퍼부(270)나 SLC 블록이 없을 때 수행되기도 하지만, 대부분은 그전에 불휘발성 메모리 소자(100, 200)가 대기 중이거나, 전원오프 명령에 따라서 동작을 종료하기 전에 수행된다.In addition, the program of the MLC block may be executed when there is no buffer unit 270 or an SLC block capable of storing data anymore. However, most of the nonvolatile memory devices 100 and 200 are waiting or the power off command is executed. This is done before ending the operation.

도 3은 대표적으로 도1과 같은 불휘발성 메모리 소자(100)에서의 프로그램 동작을 설명하는 것으로 한다. FIG. 3 is representative of a program operation in the nonvolatile memory device 100 as shown in FIG. 1.

도 3을 참조하면, 불휘발성 메모리 소자(100)의 제어부(160)는 대기상태이거나(S301), 전원 오프 명령이 입력되면(S303), MLC 블록의 프로그램을 시작한다(S305).Referring to FIG. 3, when the control unit 160 of the nonvolatile memory device 100 is in a standby state (S301) or a power off command is input (S303), a program of an MLC block is started (S305).

상기 MLC 블록의 프로그램 명령은 제어부(160)의 내부에서 생성되는 명령이고, 또한 하나의 MLC 블록 전체에 프로그램할 만큼의 데이터가 있어야 생성된다. 즉 두 개의 SLC 블록이 모두 프로그램된 경우에만 하나의 MLC 블록 전체에 프로그램이 가능하기 때문에 적어도 두 개의 SLC 블록이 모두 프로그램 상태에서 MLC 프로그램 명령이 생성될 수 있다.The program command of the MLC block is a command generated inside the controller 160, and is generated only when there is enough data to program in one entire MLC block. That is, since only one SLC block is programmed in the entire MLC block, the MLC program command may be generated in at least two SLC blocks.

본 발명의 실시 예에서는 제 1 및 제 2 SLC 블록에 저장된 데이터를 제 1 MLC 블록으로 프로그램한다고 가정한다.In the embodiment of the present invention, it is assumed that data stored in the first and second SLC blocks are programmed into the first MLC block.

프로그램이 시작되면, 제어부(160)는 먼저 제 1 SLC 블록에서 데이터를 독출 하도록 하여 페이지 버퍼부(120)에 저장될 수 있게 한다. 좀 더 상세하게 하면, 제 1 SLC 블록의 제 1 및 제 2 워드라인의 데이터를 차례로 독출 하여 페이지 버퍼부(120)에 두비트의 데이터가 저장될 수 있게 한다.When the program is started, the controller 160 first reads data from the first SLC block so that the controller 160 can store the data in the page buffer unit 120. In more detail, two bits of data may be stored in the page buffer unit 120 by sequentially reading the data of the first and second word lines of the first SLC block.

이는 페이지 버퍼부(120)에 페이지 버퍼들이 각각 두개 이상의 래치를 가지고 있기 때문에 각각의 래치에 제 1 워드라인에서 독출된 데이터와 제 2 워드라인에서 독출된 데이터를 저장함으로써 가능하다.This is possible by storing the data read from the first word line and the data read from the second word line in each latch since the page buffers each have two or more latches in the page buffer unit 120.

그리고 제어부(160)는 제 1 MLC 블록을 선택하고 제 1 워드라인을 선택하여(S309), 프로그램 및 검증을 하도록 동작 제어를 한다(S311).The controller 160 selects a first MLC block and selects a first word line (S309) to perform an operation control to program and verify (S311).

프로그램이 완료되면, 제 1 MLC 블록의 모든 워드라인에 대한 프로그램이 되었는지를 확인하고(S313), 아직 모든 워드라인에 대한 프로그램이 완료되지 않았다면 다음 워드라인을 선택하여 프로그램을 수행하도록 한다(S307 내지 S315). 이하에서 단계S307 내지 S315의 동작을 첫 번째 프로그램 수행과정이라고 칭하기로 한다.When the program is completed, it is checked whether the program for all the word lines of the first MLC block has been made (S313), and if the program for all the word lines has not yet been completed, the next word line is selected to execute the program (S307 to S315). Hereinafter, the operations of steps S307 to S315 will be referred to as a first program execution process.

각각의 MLC 블록의 워드라인에 대하여 SLC 블록의 두 개의 워드라인에 저장된 데이터가 프로그램되므로 두개의 SLC 블록의 데이터가 필요한 것이다.Since the data stored in the two word lines of the SLC block are programmed for the word lines of each MLC block, the data of the two SLC blocks is required.

한편, 모든 워드라인에 대한 프로그램이 완료되면, MLC 프로그램 과정에서 필요한 검증전압의 레벨을 변경한다(S317).On the other hand, when the program for all word lines is completed, the level of the verification voltage required in the MLC program process is changed (S317).

검증전압의 변경에 대해 다음의 도 4a 및 도 4b를 참조하여 설명하기로 한다.The change in the verification voltage will be described with reference to FIGS. 4A and 4B below.

도 4a 및 도 4b는 MLC 블록의 프로그램 동작에 의한 메모리 셀의 문턱전압 분포의 이동을 나타낸다.4A and 4B show the shift of the threshold voltage distribution of the memory cell by the program operation of the MLC block.

도 4a는 도 3에서 단계S307 내지 S315를 수행하는 동안 메모리 셀들의 문턱전압 분포의 이동을 나타낸다. 즉 가장 처음에 MLC 프로그램이 완료되었을 때의 메모리 셀의 문턱전압은 'A'와 같다.FIG. 4A illustrates a shift in threshold voltage distribution of memory cells during steps S307 to S315 in FIG. 3. That is, the threshold voltage of the memory cell when the MLC program is first completed is equal to 'A'.

그러나 다른 워드라인에 대해 프로그램이 진행되는 동안 주변의 메모리 셀들로부터의 간섭(interference; I)과 프로그램 데이터의 패턴(back pattern; B)에 의해서 문턱전압 분포가 'B'에서 'C'와 같이 계속해서 변경되고, 최악의 상태로는 문턱전압이 겹쳐서 데이터의 신뢰성이 떨어지게 된다.However, while the program is in progress for another word line, the threshold voltage distribution continues as 'B' to 'C' due to interference (I) from surrounding memory cells and back pattern (B) of program data. Change in the worst case, the threshold voltage overlaps, and the reliability of the data is deteriorated.

도 4a의 프로그램 상태에서, 제어부(160)는 동일한 데이터를 다시 로딩하여 프로그램하는 두 번째 프로그램 동작을 수행한다. 이때 도 4a의 'C'와 같이 이미 문턱전압 분포 간에 겹쳐진 부분이 있는 점과, 프로그램 동작에서는 메모리 셀의 문턱전압을 높이는 것밖에 되지 않는 다는 점을 고려하여 검증 전압을 처음의 프로그램 동작에서 보다 높게 설정한다. In the program state of FIG. 4A, the controller 160 performs a second program operation of reloading and programming the same data. At this time, considering that there is an overlap part between threshold voltage distributions as shown in 'C' of FIG. 4A and that the program operation only increases the threshold voltage of the memory cell, the verification voltage is higher than the initial program operation. Set it.

이미 문턱전압 분포 간에 겹쳐진 부분이 있기는 하지만, 제어부(160)는 다시 프로그램해야 하는 데이터를 SLC 블록을 통해서 알 수 있기 때문에 검증전압만 높여서 프로그램을 하면 데이터의 신뢰성을 떨어지지 않는다.Although there is already an overlap between the threshold voltage distribution, the controller 160 can know the data to be reprogrammed through the SLC block, so that the programming of only the verification voltage does not reduce the reliability of the data.

그리고 도 4b와 같이 주변셀간의 간섭과 백패턴 현상에 따른 영향을 받은 메모리 셀들은 두 번째의 프로그램에 대해서는 훨씬 영향을 덜 받게 된다.As shown in FIG. 4B, the memory cells affected by the interference between the neighboring cells and the back pattern phenomenon are much less affected by the second program.

즉, 도 4b에 나타난 바와 같이 두 번째로 프로그램을 진행하면 'D'와 같이 문턱전압 분포가 형성되고, 다른 메모리 셀들의 프로그램이 진행되는 동안에 영향을 받아도 'E'와 같이 문턱전압 분포가 조금 넓어지기는 하지만 최악의 상태인 문턱전압 분포간의 겹침 현상을 방지할 수 있다. 이는 메모리 셀의 특성상 이미 간섭과 백패턴 영향을 받았기 때문에 두 번째로는 영향을 받는 정도가 훨씬 들어든다는 점을 이용한 것이다.That is, as shown in FIG. 4B, when the second program is executed, the threshold voltage distribution is formed as shown in 'D', and the threshold voltage distribution is slightly widened as shown in 'E' even though it is affected during the program of other memory cells. It is possible to prevent overlapping between the threshold voltage distributions, which are late but worst. This is because the characteristics of the memory cell have already been affected by interference and back pattern, and the second is much more affected.

다시 도 3의 설명을 이어서 하면, 검증 전압을 일정 레벨 높여서 변경한 후에는, 제 1 및 제 2 SLC 블록의 데이터를 로딩하고, 워드라인을 선택하여 프로그램하는 과정을 반복한다(S319 내지 S327). 이하에서는 단계S319 내지 단계S327의 동작을 두 번째 프로그램수행과정이라 칭한다. 모든 프로그램이 종료되면, 제 1 및 제 2 SLC 블록은 소거하여 다른 데이터가 저장될 수 있게 한다.Referring to FIG. 3 again, after changing the verification voltage by increasing the predetermined level, the process of loading data of the first and second SLC blocks, selecting and programming word lines is repeated (S319 to S327). Hereinafter, operations of steps S319 to S327 will be referred to as a second program execution process. When all programs are finished, the first and second SLC blocks are erased so that other data can be stored.

첫 번째 프로그램 수행과정과 두 번째 프로그램 수행과정은 검증전압 레벨의 변경만 있고, 동일한 데이터를 동일한 MLC 블록에 프로그램하는 동작이다. 데이터의 신뢰성을 더욱 더 높이기 위해서 검증전압 레벨을 조금 더 높인 후의 세 번째 프로그램 수행을 하는 것도 가능하다.The first program execution process and the second program execution process only change the verify voltage level, and operate the same data in the same MLC block. To further increase the reliability of the data, it is also possible to perform a third program after raising the verification voltage level slightly.

이와 같이 프로그램 동작을 수행함으로써, 외부에서 입력되는 프로그램 데이터에 대해서는 SLC블록이나 버퍼부에 데이터 저장을 하여 속도를 높이고, 내부적으로는 SLC 블록이나 버퍼부의 데이터를 MLC 블록에 프로그램할 때, 동일한 데이터를 이용한 두 번 이상의 프로그램 수행을 하도록 함으로써 데이터의 신뢰성을 확보할 수 있다.By performing the program operation as described above, the data stored in the SLC block or the buffer portion is increased by increasing the speed of the program data input from the outside, and internally, the same data is programmed when the data is programmed in the MLC block. Data reliability can be ensured by performing the program more than once.

또한, 상기 도2와 같이 버퍼부(270)가 별도로 구비되는 불휘발성 메모리 소자(200)의 경우에는 하나의 MLC 블록 전체에 프로그램할 정도의 데이터가 버퍼부(270)에 저장되면 바로 MLC 블록 프로그램을 진행할 수도 있다. 버퍼부(270)의 용량이 하나의 MLC 블록과 동일한 경우에는 버퍼부(270)에 데이터가 더 이상 저장되기 어려우면 MLC 블록 프로그램을 한다. 그리고 버퍼부(270)를 삭제하여 다음의 프로그램 데이터가 저장될 수 있게 한다.In addition, in the case of the nonvolatile memory device 200 in which the buffer unit 270 is separately provided as shown in FIG. 2, when the data enough to be programmed in the entire MLC block is stored in the buffer unit 270, the MLC block program is immediately executed. You can also proceed. If the capacity of the buffer unit 270 is equal to one MLC block, the MLC block program is performed when data is no longer stored in the buffer unit 270. The buffer unit 270 is deleted to store the next program data.

상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있다.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 can be understood by those of ordinary skill in the art that various embodiments are possible within the scope of the technical idea of the present invention.

도 1은 본 발명의 일 실시 예에 따른 불휘발성 메모리 소자를 나타낸다.1 illustrates a nonvolatile memory device according to an embodiment of the present invention.

도 2는 다른 일실시 예에 따른 불휘발성 메모리 소자를 나타낸다.2 illustrates a nonvolatile memory device according to another embodiment.

도 3은 본 발명의 실시 예에 따른 불휘발성 메모리 소자의 프로그램 방법을 설명하기 위한 동작 순서도이다.3 is a flowchart illustrating a program method of a nonvolatile memory device according to an exemplary embodiment of the present invention.

도 4a 및 도 4b는 MLC 블록의 프로그램 동작에 의한 메모리 셀의 문턱전압 분포의 이동을 나타낸다.4A and 4B show the shift of the threshold voltage distribution of the memory cell by the program operation of the MLC block.

Claims (10)

두 비트 이상의 데이터를 저장할 수 있는 메모리 셀들을 포함하는 멀티 레벨 셀 블록들을 포함하는 불휘발성 메모리 소자가 제공되는 단계;Providing a nonvolatile memory device including multilevel cell blocks including memory cells capable of storing two or more bits of data; 프로그램 명령에 따라 입력되는 데이터를 상기 멀티 레벨 셀 블록들 중 일부에 싱글 레벨 셀 프로그램 방식으로 프로그램하는 단계;Programming data input according to a program command to some of the multi-level cell blocks in a single level cell program method; 상기 데이터 저장단계에서 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면, 멀티 레벨 셀 프로그램 명령이 생성되어 상기 저장된 데이터를 선택된 멀티 레벨 셀 블록 전체에 프로그램하는 제 1 프로그램 수행 단계; 및A first program execution step of generating a multi-level cell program command to program the stored data to the entire selected multi-level cell block when the stored data reaches the capacity to be programmed in the entire multi-level cell block; And 상기 제 1 프로그램 수행단계에서 사용하는 제 1 검증전압 레벨보다 높은 제 2 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 2 프로그램 수행단계A second program execution step of setting a second verification voltage higher than the first verification voltage level used in the first program execution step and programming the stored data over the selected multi-level cell block. 를 포함하는 불휘발성 메모리 소자의 프로그램 방법.Program method of a nonvolatile memory device comprising a. 제 1항에 있어서,The method of claim 1, 상기 싱글 레벨 셀 프로그램 방식은,The single level cell program method, 상기 멀티 레벨 셀 블록의 메모리 셀들에 하나의 비트 정보만 프로그램되도록 하는 방식인 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And programming one bit information into memory cells of the multi-level cell block. 제 1항에 있어서,The method of claim 1, 상기 멀티 레벨 셀 프로그램 명령은,The multi-level cell program command, 상기 데이터 저장단계에서 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면서, 상기 불휘발성 메모리 소자가 어떤 동작도 하지 않는 대기 상태이거나, 전원 오프 명령이 입력되었을 때 생성되는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법. Characterized in that the data stored in the data storage step becomes large enough to be programmed in the entire multi-level cell block, and is generated when the nonvolatile memory device does not perform any operation or when a power-off command is input. Program method of a nonvolatile memory device. 제 1항에 있어서,The method of claim 1, 상기 제 2 프로그램 수행단계에서 사용하는 제 2 검증전압 레벨보다 높은 제 3 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 3 프로그램 수행단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.And a third program performing step of setting a third verification voltage higher than a second verification voltage level used in the second program performing step, and overlapping the stored data in the entire selected multi-level cell block. Program method of volatile memory device. 제 4항에 있어서,The method of claim 4, wherein 상기 멀티 레벨 셀 블록의 프로그램이 종료되면, When the program of the multi-level cell block is finished, 상기 저장된 데이터를 소거하는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And erasing the stored data. 두 비트 이상의 데이터를 저장할 수 있는 메모리 셀들을 포함하는 멀티 레벨 셀 블록들과, 프로그램할 데이터를 임시 저장할 수 있는 버퍼부를 포함하는 불휘발 성 메모리 소자가 제공되는 단계;Providing a nonvolatile memory device including multi-level cell blocks including memory cells capable of storing two or more bits of data, and a buffer unit capable of temporarily storing data to be programmed; 프로그램 명령에 따라 입력되는 데이터를 상기 버퍼부에 임시 저장하는 단계;Temporarily storing data input according to a program command in the buffer unit; 상기 버퍼부에 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼의 용량이 되면, 멀티 레벨 셀 프로그램 명령이 생성되어 상기 저장된 데이터를 선택된 멀티 레벨 셀 블록 전체에 프로그램하는 제 1 프로그램 수행 단계; 및Performing a first program of generating a multi-level cell program command to program the stored data to the entire selected multi-level cell block when the data stored in the buffer unit has a capacity to be programmed in the entire multi-level cell block; And 상기 제 1 프로그램 수행단계에서 사용하는 제 1 검증전압 레벨보다 높은 제 2 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 2 프로그램 수행단계A second program execution step of setting a second verification voltage higher than the first verification voltage level used in the first program execution step and programming the stored data over the selected multi-level cell block. 를 포함하는 불휘발성 메모리 소자의 프로그램 방법.Program method of a nonvolatile memory device comprising a. 제 6항에 있어서,The method of claim 6, 상기 버퍼부는,The buffer unit, 상기 멀티 레벨 셀 블록에 데이터를 프로그램하는 속도보다 데이터 저장 속도가 빠른 별도의 저장수단인 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And a separate storage means having a higher data storage speed than a speed of programming data in the multi-level cell block. 제 6항에 있어서,The method of claim 6, 상기 멀티 레벨 셀 프로그램 명령은,The multi-level cell program command, 상기 버퍼부에 저장된 데이터가 멀티 레벨 셀 블록 전체에 프로그램될 만큼 의 용량이 되면서, 상기 불휘발성 메모리 소자가 어떤 동작도 하지 않는 대기 상태이거나, 전원 오프 명령이 입력되었을 때 생성되는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.The data stored in the buffer unit has a capacity that can be programmed in the entire multi-level cell block, and is generated when the nonvolatile memory device is in a standby state in which no operation is performed or when a power-off command is input. Program method of volatile memory device. 제 6항에 있어서,The method of claim 6, 상기 제 2 프로그램 수행단계에서 사용하는 제 2 검증전압 레벨보다 높은 제 3 검증전압을 설정하고, 상기 저장된 데이터를 상기 선택된 멀티 레벨 셀 블록 전체에 중복하여 프로그램하는 제 3 프로그램 수행단계를 더 포함하는 불휘발성 메모리 소자의 프로그램 방법.And a third program performing step of setting a third verification voltage higher than a second verification voltage level used in the second program performing step, and overlapping the stored data in the entire selected multi-level cell block. Program method of volatile memory device. 제 9항에 있어서,The method of claim 9, 상기 멀티 레벨 셀 블록의 프로그램이 종료되면, When the program of the multi-level cell block is finished, 상기 저장된 데이터중 상기 선택된 멀티 레벨 셀 블록에 저장된 데이터를 삭제하는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And deleting data stored in the selected multi-level cell block among the stored data.
KR1020090058489A 2009-06-29 2009-06-29 Program Method of Nonvolatile Memory Device KR20110001098A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090058489A KR20110001098A (en) 2009-06-29 2009-06-29 Program Method of Nonvolatile Memory Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090058489A KR20110001098A (en) 2009-06-29 2009-06-29 Program Method of Nonvolatile Memory Device

Publications (1)

Publication Number Publication Date
KR20110001098A true KR20110001098A (en) 2011-01-06

Family

ID=43609706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090058489A KR20110001098A (en) 2009-06-29 2009-06-29 Program Method of Nonvolatile Memory Device

Country Status (1)

Country Link
KR (1) KR20110001098A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8638603B2 (en) 2011-06-16 2014-01-28 Samsung Electronics Co., Ltd. Data storage system having multi-level memory device and operating method thereof
US8867275B2 (en) 2011-11-21 2014-10-21 Samsung Electronics Co., Ltd. Flash memory device and program method
US9026749B2 (en) 2011-06-14 2015-05-05 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and on-chip buffer program method thereof
US9245630B2 (en) 2013-02-04 2016-01-26 Samsung Electronics Co., Ltd. Memory system comprising nonvolatile memory device and program method thereof
US9785379B2 (en) 2014-02-06 2017-10-10 Samsung Electronics Co., Ltd. Operating method of nonvolatile memory device and nonvolatile memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026749B2 (en) 2011-06-14 2015-05-05 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and on-chip buffer program method thereof
US8638603B2 (en) 2011-06-16 2014-01-28 Samsung Electronics Co., Ltd. Data storage system having multi-level memory device and operating method thereof
US8867275B2 (en) 2011-11-21 2014-10-21 Samsung Electronics Co., Ltd. Flash memory device and program method
US9245630B2 (en) 2013-02-04 2016-01-26 Samsung Electronics Co., Ltd. Memory system comprising nonvolatile memory device and program method thereof
US9785379B2 (en) 2014-02-06 2017-10-10 Samsung Electronics Co., Ltd. Operating method of nonvolatile memory device and nonvolatile memory system

Similar Documents

Publication Publication Date Title
KR100878479B1 (en) Memory system that determines program method based on data information
KR100875539B1 (en) Programmable memory system
US8966163B2 (en) Non-volatile memory device and method for programming the same
US8107287B2 (en) Method of programming nonvolatile memory device
KR102226367B1 (en) Nonvolatile memory device and nonvolatile memory system including the same
KR100805840B1 (en) Flash Memory Device Using Cache and Its Program Method
KR100894809B1 (en) Memory system and its program method
US20080181000A1 (en) Method Of Improving Programming Precision In Flash Memory
KR100823170B1 (en) Memory systems and memory cards that use bad blocks in single-level cell mode
KR101666406B1 (en) Non-volatile memory device and method for programming the device, and memory system
KR100873825B1 (en) Multibit Programming Device and Method of Nonvolatile Memory
TWI746844B (en) Memory device and method of operating the same
JP2013534685A (en) Multi-page programming method for flash memory
KR20100011198A (en) Program method for non-volatile memory device
KR20110051780A (en) How to Program Nonvolatile Memory Devices
JP2010160873A (en) Semiconductor storage device and semiconductor storage system
US9378823B2 (en) Programming a memory cell to a voltage to indicate a data value and after a relaxation time programming the memory cell to a second voltage to indicate the data value
KR20140139335A (en) Nonvolatile memory device and reprogram method thereof
JP2009151865A (en) Nonvolatile semiconductor storage device and its writing method
KR101668340B1 (en) Nand type flash memory and programming method thereof
US8902665B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
JP2006164408A (en) Nonvolatile semiconductor memory device, and data erasure method therefor
KR20110001098A (en) Program Method of Nonvolatile Memory Device
JP2007179701A (en) Nonvolatile semiconductor storage device which stores multivalue data
JP5280027B2 (en) Semiconductor device and control method thereof

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20090629

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid