KR20110125029A - Nonvolatile memory device and program method thereof - Google Patents

Nonvolatile memory device and program method thereof Download PDF

Info

Publication number
KR20110125029A
KR20110125029A KR1020100044556A KR20100044556A KR20110125029A KR 20110125029 A KR20110125029 A KR 20110125029A KR 1020100044556 A KR1020100044556 A KR 1020100044556A KR 20100044556 A KR20100044556 A KR 20100044556A KR 20110125029 A KR20110125029 A KR 20110125029A
Authority
KR
South Korea
Prior art keywords
program
sequential
verify
memory cells
voltage
Prior art date
Application number
KR1020100044556A
Other languages
Korean (ko)
Other versions
KR101662277B1 (en
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 KR1020100044556A priority Critical patent/KR101662277B1/en
Priority to US13/100,134 priority patent/US8422292B2/en
Priority to JP2011105041A priority patent/JP5780824B2/en
Publication of KR20110125029A publication Critical patent/KR20110125029A/en
Application granted granted Critical
Publication of KR101662277B1 publication Critical patent/KR101662277B1/en

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
    • 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/24Bit-line control 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/30Power supply 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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
    • 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

PURPOSE: A nonvolatile memory device and a program method thereof are provided to reduce the threshold voltage distribution of a memory cell by reducing a noise voltage of a noise voltage in a common source line. CONSTITUTION: In a nonvolatile memory device and a program method thereof, a program voltage is applied. A selection verification operation is performed. The selection verification operation selects memory cells to be programmed. The memory cells are programmed to a target program states. An consecutive verification operation is performed. The consecutive verification operation precharges the bit line of the memory cells and determines whether a programming is performed or not.

Description

불휘발성 메모리 장치 및 그것의 프로그램 방법{NONVOLATILE MEMORY DEVICE AND PROGRAM METHOD THEREOF}Nonvolatile memory device and its program method {NONVOLATILE MEMORY DEVICE AND PROGRAM METHOD THEREOF}

본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 공통 소스 라인의 노이즈를 감소시키는 불휘발성 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.The present invention relates to a semiconductor memory device, and more particularly, to a nonvolatile memory device and a program method thereof for reducing noise of a common source line.

반도체 메모리 장치는 일반적으로 휘발성 메모리와 불휘발성 메모리 장치로 분류된다. 휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터를 잃지만, 불휘발성 메모리 장치는 전원이 차단되더라도 저장된 데이터를 보존할 수 있다. 불휘발성 메모리 장치들은 다양한 형태의 메모리 셀 트랜지스터를 포함한다. 불휘발성 메모리 장치에는 메모리 셀 트랜지스터의 구조에 따라 플래시 메모리(Flash Memory), 강유전체 램(Ferroelectric RAM: FRAM), 마그네틱 램(Magnetic RAM: MRAM), 상 변화 램(Phase change RAM: PRAM)등이 포함된다.Semiconductor memory devices are generally classified into volatile memory and nonvolatile memory devices. Volatile memory devices lose their stored data when their power supplies are interrupted, while nonvolatile memory devices retain their stored data even when their power supplies are interrupted. Nonvolatile memory devices include various types of memory cell transistors. Nonvolatile memory devices include flash memory, ferroelectric RAM (FRAM), magnetic RAM (MRAM), and phase change RAM (PRAM), depending on the structure of the memory cell transistor. do.

플래시 메모리 장치는 셀 어레이 구조에 따라 크게 노어(NOR) 플래시 메모리 장치와 낸드(NAND) 플래시 메모리 장치로 구분된다. 노어 플래시 메모리 장치는 메모리 셀 트렌지스터들이 각각 독립적으로 비트 라인(bit line)과 워드 라인(word line)에 연결되는 구조를 갖는다. 따라서, 노어 플래시 메모리 장치는 우수한 랜덤 액세스(random access) 시간 특성을 갖는다. 반면, 낸드 플래시 메모리 장치는 복수의 메모리 셀 트렌지스터들이 직렬로 연결되는 구조를 갖는다. 이러한 구조를 셀 스트링(string) 구조라고 하며, 셀 스트링당 한 개의 비트 라인 컨택(contact)을 필요로 한다. 따라서, 낸드 플래시 메모리 장치는 집적도면에서 우수한 특성을 갖는다.Flash memory devices are classified into NOR flash memory devices and NAND flash memory devices according to cell array structures. The NOR flash memory device has a structure in which memory cell transistors are independently connected to a bit line and a word line, respectively. Thus, NOR flash memory devices have excellent random access time characteristics. On the other hand, the NAND flash memory device has a structure in which a plurality of memory cell transistors are connected in series. Such a structure is called a cell string structure and requires one bit line contact per cell string. Therefore, the NAND flash memory device has excellent characteristics in terms of integration degree.

플래시 메모리 장치는 데이터를 저장하는 메모리 셀 어레이를 포함한다. 메모리 셀 어레이는 복수의 메모리 블럭들(blocks)로 구성된다. 각각의 메모리 블럭은 복수의 페이지들(pages)로 구성된다. 각각의 페이지는 복수의 메모리 셀들(cells)로 구성된다. 각각의 메모리 셀은 문턱 전압 분포에 따라 온 셀(on cell)과 오프 셀(off cell)로 구분된다. 온 셀은 소거된 셀(erased cell)이고, 오프 셀은 프로그램된 셀(programmed cell)이다. 플래시 메모리 장치는 구조적인 특징으로 인해 메모리 블럭 단위로 소거 동작을 수행하고, 페이지 단위로 읽기 또는 쓰기 동작을 수행한다.The flash memory device includes a memory cell array for storing data. The memory cell array is composed of a plurality of memory blocks. Each memory block consists of a plurality of pages. Each page consists of a plurality of memory cells. Each memory cell is divided into an on cell and an off cell according to a threshold voltage distribution. The on cell is an erased cell and the off cell is a programmed cell. The flash memory device performs an erase operation on a memory block basis and a read or write operation on a page basis due to a structural feature.

플래시 메모리 장치는 셀 스트링 구조(cell string structure)로 되어 있다. 셀 스트링은 스트링 선택 라인(string select line: SSL)에 연결되는 스트링 선택 트랜지스터(string select transistor: SST), 복수의 워드 라인들(word lines: WL)에 연결되는 메모리 셀들 그리고 접지 선택 라인(ground select line: GSL)에 연결되는 접지 선택 트랜지스터(ground select transistor: GST)를 포함한다. 스트링 선택 트랜지스터는 비트 라인(bit line: BL)에 연결되고, 접지 선택 트랜지스터는 공통 소스 라인(common source line: CSL)에 연결된다.The flash memory device has a cell string structure. The cell string includes a string select transistor (SST) connected to a string select line (SSL), memory cells connected to a plurality of word lines (WL), and a ground select line (ground select). and a ground select transistor (GST) connected to the line: GSL. The string select transistor is connected to a bit line BL, and the ground select transistor is connected to a common source line CSL.

한편, 공통 소스 라인(CSL)에 노이즈(noise) 전압이 발생하는 경우, 공통 소스 라인(CSL)의 노이즈 전압은 플래시 메모리 장치의 오동작을 유발시킬 수 있다. 예를 들면, 특정 메모리 셀이 충분히 프로그램(또는 쓰기) 되지 않았음에도 불구하고 프로그램 된 것으로 검증될 수 있다. 프로그램 동작이 완료된 후 해당 메모리 셀을 읽는(read) 경우, 이러한 오동작으로 인하여 메모리 셀이 프로그램되지 않은 메모리 셀로 읽혀질 수 있다.Meanwhile, when a noise voltage occurs in the common source line CSL, the noise voltage of the common source line CSL may cause a malfunction of the flash memory device. For example, a particular memory cell may be verified as programmed even though it is not sufficiently programmed (or written). When the corresponding memory cell is read after the program operation is completed, the memory cell may be read as an unprogrammed memory cell due to such a malfunction.

본 발명의 목적은 공통 소스 라인의 노이즈를 감소시킬 수 있는 불휘발성 메모리 장치 및 그것의 프로그램 방법을 제공하는 데 있다.It is an object of the present invention to provide a nonvolatile memory device and a program method thereof that can reduce noise of a common source line.

본 발명의 실시 예에 따른 복수의 메모리 셀들을 복수의 목표 프로그램 상태들로 프로그램하는 불휘발성 메모리 장치의 프로그램 방법은, 프로그램 전압을 인가하는 단계; 상기 복수의 목표 프로그램 상태들 중 일부의 목표 프로그램 상태들로 프로그램될 메모리 셀들을 선택하기 위한 선택 검증 동작을 수행하는 단계; 및 상기 선택 검증 동작에 의해 선택된 메모리 셀들의 비트 라인을 프리차지하여 프로그램 여부를 판단하기 위한 순차 검증 동작을 수행하는 단계를 포함한다.A program method of a nonvolatile memory device for programming a plurality of memory cells into a plurality of target program states according to an embodiment of the present invention, the method comprising: applying a program voltage; Performing a selective verify operation to select memory cells to be programmed to some target program states of the plurality of target program states; And pre-charging the bit lines of the memory cells selected by the selection verifying operation to perform a sequential verifying operation to determine whether the program is programmed.

실시 예에 있어서, 상기 선택 검증 동작은 상기 순차 검증 동작보다 앞서 수행된다.In an embodiment, the selective verify operation is performed before the sequential verify operation.

실시 예에 있어서, 상기 선택 검증 동작을 수행하는 단계에서, 상기 일부의 목표 프로그램 상태들로 프로그램될 메모리 셀들의 비트 라인들은 선택적으로 프리차지된다.In an embodiment, in performing the selection verify operation, bit lines of memory cells to be programmed to the some target program states are selectively precharged.

실시 예에 있어서, 상기 프리차지된 메모리 셀들은 각각의 프로그램 상태에 따라 프로그램 검증 결과가 판단된다.In example embodiments, a program verification result may be determined according to each program state of the precharged memory cells.

실시 예에 있어서, 상기 프리차지되지 않은 메모리 셀들은 프로그램 페일된 것으로 판단된다.In an embodiment, the non-precharged memory cells are determined to be program failed.

실시 예에 있어서, 상기 순차 검증 동작은 상기 일부의 목표 프로그램 상태들 각각에 대해서 수행된다.In an embodiment, the sequential verify operation is performed for each of the some target program states.

실시 예에 있어서, 상기 순차 검증 동작은 상기 선택 검증 동작 또는 앞서 수행된 순차 검증 동작의 프로그램 검증 결과에 따라 상기 메모리 셀들을 선택적으로 프리차지한다.In example embodiments, the sequential verify operation selectively precharges the memory cells according to a program verify result of the selective verify operation or the sequential verify operation previously performed.

실시 예에 있어서, 상기 순차 검증 동작에 있어서, 프로그램 패스된 것으로 판단된 메모리 셀을 선택적으로 프리차지한다.In the embodiment, in the sequential verification operation, the memory cells determined to have been program-passed are selectively precharged.

실시 예에 있어서, 상기 순차 검증 동작에 있어서, 프로그램 페일된 것으로 판단된 메모리 셀의 비트 라인에 접지 전압을 인가한다.In an embodiment, in the sequential verification operation, a ground voltage is applied to a bit line of a memory cell determined to be program failed.

실시 예에 있어서, 상기 순차 검증 동작을 수행하는 단계에서 인가되는 순차 검증 전압은 상기 선택 검증 동작을 수행하는 단계에서 인가되는 선택 검증 전압 보다 높은 것을 특징으로 한다.In example embodiments, the sequential verify voltage applied in the performing the sequential verify operation may be higher than the select verify voltage applied in the performing the select verify operation.

실시 예에 있어서, 상기 프로그램하는 단계에서 인가되는 프로그램 전압은 상기 순차 검증 전압보다 높은 것을 특징으로 한다.In example embodiments, the program voltage applied in the programming may be higher than the sequential verify voltage.

실시 예에 있어서, 상기 프로그램하는 단계, 상기 선택 검증을 수행하는 단계, 및 상기 순차 검증을 수행하는 단계로 하나의 프로그램 루프를 구성하며, 상기 프로그램 루프는 정해진 횟수만큼 반복된다.In an embodiment, the programming, performing the selective verification, and performing the sequential verification constitute one program loop, and the program loop is repeated a predetermined number of times.

실시 예에 있어서, 상기 프로그램하는 단계에서 인가되는 프로그램 전압은 프로그램 루프가 증가할 때마다 소정의 증가분만큼 증가된다.In an embodiment, the program voltage applied in the programming step is increased by a predetermined increment every time the program loop is increased.

실시 예에 있어서, 상기 목표 프로그램 상태는 하나의 소거 상태와 복수의 프로그램 상태들로 구성된다. In an embodiment, the target program state consists of one erase state and a plurality of program states.

실시 예에 있어서, 상기 복수의 프로그램 상태들은 상기 메모리 셀이 저장할 수 있는 데이터 비트 수에 따라 결정된다.In example embodiments, the plurality of program states may be determined according to the number of data bits that the memory cell can store.

본 발명의 실시 예에 따른 불휘발성 메모리 장치는, 워드 라인과 비트 라인들 각각에 연결되고, 복수의 목표 프로그램 상태들로 프로그램되는 메모리 셀들; 상기 비트 라인들 각각에 연결되어, 상기 비트 라인들을 프리차지하고 상기 메모리 셀들에 저장된 데이터를 읽어내는 데이터 입출력 회로들; 및 상기 워드 라인에 프로그램 전압을 인가하고, 상기 메모리 셀들의 프로그램 여부를 판단하기 위한 프로그램 검증 동작을 수행하도록 상기 데이터 입출력 회로들을 제어하는 제어 로직을 포함하되, 상기 프로그램 검증 동작은 상기 복수의 목표 프로그램 상태들 중 일부의 목표 프로그램 상태들로 프로그램될 상기 메모리 셀들을 선택하기 위한 선택 검증 동작과, 상기 선택 검증 동작에 의해 선택된 메모리 셀들의 비트 라인을 프리차지하여 프로그램 여부를 판단하는 순차 검증 동작을 포함한다.In an embodiment, a nonvolatile memory device may include: memory cells connected to a word line and a bit line and programmed into a plurality of target program states; Data input / output circuits connected to each of the bit lines to precharge the bit lines and read data stored in the memory cells; And control logic to control the data input / output circuits to apply a program voltage to the word line and to perform a program verify operation for determining whether the memory cells are programmed, wherein the program verify operation includes the plurality of target programs. A select verify operation for selecting the memory cells to be programmed to the target program states of some of the states, and a sequential verify operation for determining whether to program by precharging a bit line of the memory cells selected by the select verify operation. do.

실시 예에 있어서, 상기 제어 로직은 상기 순차 검증 동작보다 상기 선택 검증 동작을 먼저 수행한다.In example embodiments, the control logic performs the selective verification operation before the sequential verification operation.

실시 예에 있어서, 상기 선택 검증 동작 동안, 상기 일부의 목표 프로그램 상태들로 프로그램될 메모리 셀들의 데이터 입출력 회로들은 각각의 비트 라인들을 프리차지한다.In example embodiments, data input / output circuits of memory cells to be programmed to the some target program states precharge respective bit lines during the selection verify operation.

실시 예에 있어서, 상기 순차 검증 동작은 상기 일부의 목표 프로그램 상태들 각각에 대해서 수행되고, 상기 순차 검증 동작 동안, 상기 데이터 입출력 회로들은 상기 선택 검증 동작 또는 앞서 수행된 순차 검증 동작의 프로그램 검증 결과에 따라 각각의 비트 라인들을 선택적으로 프리차지한다.In example embodiments, the sequential verify operation may be performed for each of the plurality of target program states, and during the sequential verify operation, the data input / output circuits may be configured to the program verify result of the selective verify operation or the previously performed sequential verify operation. Selectively precharge each bit line accordingly.

실시 예에 있어서, 프로그램 검증 결과가 프로그램 패스된 것으로 판단된 메모리 셀들의 데이터 입출력 회로들은 각각의 비트 라인들을 프리차지한다.In some example embodiments, the data input / output circuits of the memory cells determined to have been program-passed precharge each bit line.

본 발명에 따른 불휘발성 메모리 장치는 프로그램 동작 시에 공통 소스 라인의 노이즈 전압을 감소시킬 수 있고, 공통 소스 라인의 노이즈 전압을 감소시킴으로써 메모리 셀의 문턱 전압 분포가 넓어지는 것을 줄일 수 있다.The nonvolatile memory device according to the present invention can reduce the noise voltage of the common source line during a program operation, and reduce the widening of the threshold voltage distribution of the memory cell by reducing the noise voltage of the common source line.

도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 예시적으로 보여주는 블럭도이다.
도 2는 도 1에 도시된 메모리 셀 어레이의 구조를 예시적으로 보여주는 회로도이다.
도 3은 메모리 셀의 문턱 전압의 오류를 보여주는 도면이다.
도 4는 선택 워드 라인에 프로그램 검증 전압이 인가될 때 온 셀의 수를 보여주는 도면이다.
도 5는 공통 소스 라인에 존재하는 노이즈 전압의 영향을 받는 메모리 셀의 문턱 전압 분포를 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램 상태를 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 프로그램 동작을 예시적으로 보여주는 흐름도이다.
도 8은 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램 검증 전압을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 프로그램 동작의 바이어스 조건을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 프로그램 동작을 예시적으로 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 사용자 장치를 예시적으로 보여주는 블럭도이다.
도 12는 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 또 다른 사용자 장치를 예시적으로 보여주는 블럭도이다.
도 13은 도 11의 데이터 저장 장치를 장착하는 컴퓨팅 시스템을 예시적으로 보여주는 블럭도이다.
1 is a block diagram illustrating a nonvolatile memory device in accordance with an embodiment of the present invention.
FIG. 2 is a circuit diagram exemplarily illustrating a structure of a memory cell array shown in FIG. 1.
3 is a diagram illustrating an error of a threshold voltage of a memory cell.
4 is a diagram illustrating the number of on cells when a program verify voltage is applied to a selected word line.
5 is a diagram illustrating a threshold voltage distribution of a memory cell affected by a noise voltage present in a common source line.
6 is a diagram illustrating a program state of a multi-level cell according to an embodiment of the present invention.
7 is a flowchart illustrating a program operation according to an embodiment of the present invention.
8 is a diagram illustrating a program verify voltage of a multi-level cell according to an embodiment of the present invention.
9 is a diagram illustrating a bias condition of a program operation according to an embodiment of the present invention.
10 is a flowchart illustrating a program operation according to an embodiment of the present invention.
11 is a block diagram illustrating a user device including a nonvolatile memory device according to an embodiment of the present invention.
12 is a block diagram illustrating another user device including a nonvolatile memory device according to an embodiment of the present invention.
FIG. 13 is a block diagram illustrating an example computing system equipped with the data storage device of FIG. 11.

본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.Advantages and features of the present invention, and methods for achieving the same will be described with reference to embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments described herein and may be embodied in other forms. The embodiments are provided so that those skilled in the art can easily carry out the technical idea of the present invention to those skilled in the art.

도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 본 명세서에서 특정한 용어들이 사용되었으나. 이는 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미 한정이나 특허 청구 범위에 기재된 본 발명의 권리 범위를 제한하기 위하여 사용된 것은 아니다.In the drawings, embodiments of the present invention are not limited to the specific forms shown and are exaggerated for clarity. Although specific terms are used herein. It is used for the purpose of illustrating the present invention and is not intended to limit the scope of the present invention as defined in the meaning limitations or claims.

본 명세서에서 ‘및/또는’이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, ‘연결되는/결합되는’이란 표현은 다른 구성요소와 직접적으로 연결되거나 다른 구성요소를 통해 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 ‘포함한다’ 또는 ‘포함하는’으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.The expression " and / or " is used herein to mean including at least one of the elements listed before and after. In addition, the expression “connected / combined” is used to include directly connected to or indirectly connected to other components. In this specification, the singular forms also include the plural unless specifically stated otherwise in the phrases. Also, as used herein, "comprising" or "comprising" means to refer to the presence or addition of one or more other components, steps, operations and elements.

이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 예시적으로 보여주는 블럭도이다.1 is a block diagram illustrating a nonvolatile memory device in accordance with an embodiment of the present invention.

본 발명의 실시 예에 따른 불휘발성 메모리 장치는 낸드 플래시 메모리 장치로 구성될 것이다. 하지만, 불휘발성 메모리 장치가 낸드 플래시 메모리 장치에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 불휘발성 메모리 장치는 노어 플래시 메모리 장치, PRAM(Phase-change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등과 같은 불휘발성 메모리 장치들 중 하나로 구성될 수 있다.The nonvolatile memory device according to the embodiment of the present invention will be configured as a NAND flash memory device. However, it will be understood that the nonvolatile memory device is not limited to the NAND flash memory device. For example, the nonvolatile memory device may be configured as one of nonvolatile memory devices such as a NOR flash memory device, a phase-change RAM (PRAM), a ferroelectric RAM (FRAM), and a magnetic RAM (MRAM).

도 1을 참조하면, 플래시 메모리 장치(100)는 메모리 셀 어레이(memory cell array, 110), 행 디코더(row decoder, 120), 제어 로직(control logic, 130), 그리고 데이터 입출력 회로(data input/output circuit, 140)를 포함한다. 또한, 제어 로직(130)은 전압 발생기(voltage generator, 135)를 포함한다.Referring to FIG. 1, the flash memory device 100 may include a memory cell array 110, a row decoder 120, control logic 130, and a data input / output circuit. output circuit 140). The control logic 130 also includes a voltage generator 135.

메모리 셀 어레이(110)는 데이터를 저장하기 위한 메모리 셀들(memory cells)을 포함한다. 복수의 메모리 셀들은 페이지(page)를 구성한다. 복수의 페이지들은 블럭(block)을 구성한다. 플래시 메모리 장치는 구조적인 특징으로 인해 페이지 단위로 읽기 또는 쓰기 동작을 수행하고, 블럭 단위로 소거 동작을 수행한다.The memory cell array 110 includes memory cells for storing data. The plurality of memory cells constitute a page. A plurality of pages constitute a block. The flash memory device performs a read or write operation in units of pages and an erase operation in units of blocks due to structural features.

각각의 메모리 블럭은 복수의 비트 라인들(bit lines: BL0~BLm)에 연결된 복수의 셀 스트링들(cell strings)로 구성된다. 도 1에는 예시적으로, 하나의 블럭이 도시되어 있다. 각각의 셀 스트링은 스트링 선택 라인(string select line: SSL)에 연결되는 스트링 선택 트랜지스터(string select transistor: SST), 복수의 워드 라인들(word lines: WL0~WLn)에 연결되는 복수의 메모리 셀들(M0~Mn) 그리고 접지 선택 라인(ground select line: GSL)에 연결되는 접지 선택 트랜지스터(ground select transistor: GST)를 포함한다. 스트링 선택 트랜지스터(SST)는 비트 라인(BL0)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(commnon source line: CSL)에 연결된다.Each memory block is composed of a plurality of cell strings connected to a plurality of bit lines BL0 to BLm. As an example, one block is shown in FIG. Each cell string includes a string select transistor (SST) connected to a string select line SSL and a plurality of memory cells connected to a plurality of word lines WL0 to WLn. M0 to Mn) and a ground select transistor GST connected to a ground select line GSL. The string select transistor SST is connected to the bit line BL0, and the ground select transistor GST is connected to a common source line CSL.

메모리 셀 어레이(110)의 각각의 메모리 셀은 싱글 비트 데이터(single bit data) 또는, 멀티 비트 데이터(multi bit data)를 저장할 수 있다. 싱글 비트 데이터를 저장하는 메모리 셀은 싱글 레벨 셀(single level cell: SLC)이라 하고, 두 비트 이상의 멀티 비트 데이터를 저장하는 메모리 셀은 멀티 레벨 셀(multi level cell: MLC)이라 한다. 싱글 레벨 셀(SLC)은 문턱 전압에 따라 소거 상태와 하나의 프로그램 상태를 갖는다. 멀티 레벨 셀(MLC)은 문턱 전압에 따라 소거 상태와 복수의 프로그램 상태들을 갖는다.Each memory cell of the memory cell array 110 may store single bit data or multi bit data. A memory cell that stores single bit data is called a single level cell (SLC), and a memory cell that stores two or more bits of multi bit data is called a multi level cell (MLC). The single level cell SLC has an erase state and one program state according to a threshold voltage. The multi-level cell MLC has an erase state and a plurality of program states according to a threshold voltage.

행 디코더(120)는 복수의 워드 라인들을 통해 메모리 셀 어레이(110)와 연결된다. 행 디코더(120)는 어드레스(ADDR)를 입력받는다. 행 디코더(120)는 행 어드레스(row address)에 따라 메모리 셀 어레이(110)의 블럭 또는 페이지를 선택한다. 제어 로직(130)은 외부 장치(예를 들면, 호스트, 메모리 컨트롤러, 메모리 인터페이스)의 커맨드(CMD) 그리고 제어 신호(CTRL)에 응답하여 플래시 메모리 장치(100)의 제반 동작을 제어한다. 예를 들면, 제어 로직(130)은 플래시 메모리 장치(100)의 읽기, 쓰기(또는 프로그램), 소거(또는 이레이즈) 동작을 제어한다. 이러한 동작을 위하여, 제어 로직(130)은 전압 발생기(135)를 제어하여 바이어스(bias) 전압을 발생한다.The row decoder 120 is connected to the memory cell array 110 through a plurality of word lines. The row decoder 120 receives an address ADDR. The row decoder 120 selects a block or page of the memory cell array 110 according to a row address. The control logic 130 controls overall operations of the flash memory device 100 in response to a command CMD and a control signal CTRL of an external device (for example, a host, a memory controller, and a memory interface). For example, the control logic 130 controls read, write (or program) and erase (or erase) operations of the flash memory device 100. For this operation, the control logic 130 controls the voltage generator 135 to generate a bias voltage.

제어 로직(130)에 포함된 전압 발생기(135)는 읽기, 쓰기, 소거 동작 시에 비트 라인에 제공될 바이어스 전압을 발생한다. 또한, 전압 발생기(135)는 읽기, 쓰기, 소거 동작 시에 워드 라인에 제공될 바이어스 전압을 발생한다. 예를 들면, 읽기 동작 시에, 전압 발생기(135)는 선택 워드 라인에 제공되는 선택 읽기 전압(VRD)과 비선택 워드 라인으로 제공되는 비선택 읽기 전압(VREAD) 등을 발생한다. 다른 예로써, 쓰기 동작 시에, 전압 발생기(135)는 프로그램 전압(VPGM)과 검증 전압(VVRF) 등을 발생한다.The voltage generator 135 included in the control logic 130 generates a bias voltage to be provided to the bit line during read, write, and erase operations. In addition, the voltage generator 135 generates a bias voltage to be provided to the word line during read, write and erase operations. For example, in a read operation, the voltage generator 135 generates a select read voltage V RD provided to the selected word line, an unselect read read voltage V READ provided to the unselected word line, and the like. As another example, during a write operation, the voltage generator 135 generates a program voltage V PGM , a verify voltage V VRF , and the like.

데이터 입출력 회로(140)는 복수의 비트 라인들(BL0~BLm)을 통해 메모리 셀 어레이(110)와 연결된다. 데이터 입출력 회로(140)는 복수의 데이터 입출력 회로들(141_0~141_m)을 포함한다. 데이터 입출력 회로들(141_0~141_m) 각각은 복수의 비트 라인들(BL0~BLm)에 각각 연결된다. 데이터 입출력 회로(140)는 데이터 입출력 버퍼(도시되지 않음)를 통해 데이터(data)를 출력하고 입력받는다.The data input / output circuit 140 is connected to the memory cell array 110 through a plurality of bit lines BL0 to BLm. The data input / output circuit 140 includes a plurality of data input / output circuits 141_0 to 141_m. Each of the data input / output circuits 141_0 to 141_m is connected to a plurality of bit lines BL0 to BLm, respectively. The data input / output circuit 140 outputs and receives data through a data input / output buffer (not shown).

데이터 입출력 회로(140)는 복수의 메모리 셀들 중 선택 메모리 셀에 저장된 데이터를 비트 라인을 통해 읽어낸다. 읽혀진 데이터는 데이터 입출력 버퍼를 통해 플래시 메모리 장치의 외부로 출력된다. 또한, 데이터 입출력 회로(140)는 복수의 메모리 셀들 중 선택 메모리 셀에 프로그램될 데이터를 임시로 저장한다. 데이터 입출력 회로(140)에 저장된 데이터는 프로그램 동작 시에 해당 메모리 셀에 프로그램된다. 이러한 데이터 입출력 회로(140)의 동작은 제어 로직(130)의 제어에 따라 수행된다.The data input / output circuit 140 reads data stored in a selected memory cell among a plurality of memory cells through a bit line. The read data is output to the outside of the flash memory device through the data input / output buffer. In addition, the data input / output circuit 140 temporarily stores data to be programmed in the selected memory cell among the plurality of memory cells. Data stored in the data input / output circuit 140 is programmed in a corresponding memory cell during a program operation. The operation of the data input / output circuit 140 is performed under the control of the control logic 130.

플래시 메모리 장치(100)는, 프로그램 동작 시에, 선택 워드 라인에 프로그램 전압(VPGM)을 인가한 후, 프로그램 검증 동작(program verify operation)을 수행한다. 프로그램 검증 동작은 메모리 셀의 문턱 전압이 목표 프로그램 상태(target program state)에 도달하였는지를 검증하기 위한 동작이다. 프로그램 검증 동작은 선택 워드 라인에 연결된 복수의 메모리 셀들에 대해 동시에 수행된다. 따라서, 복수의 메모리 셀들에는 프로그램 검증을 필요로 하는 셀과 필요로 하지 않는 셀이 포함되어 있다. 여기에서, 프로그램 검증을 필요로 하지 않는 메모리 셀은 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀일 것이다. 또는, 프로그램 검증을 필요로 하지 않는 메모리 셀은 문턱 전압이 목표 프로그램 상태에 도달한 메모리 셀일 것이다. 또는, 프로그램 검증을 필요로 하지 않는 메모리 셀은, 임시 프로그램 상태로부터 목표 프로그램 상태로 프로그램되는 메모리 셀인 경우, 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀일 것이다.In the program operation, the flash memory device 100 applies a program voltage V PGM to a selected word line and then performs a program verify operation. The program verify operation is an operation for verifying whether the threshold voltage of the memory cell has reached a target program state. The program verify operation is performed simultaneously on a plurality of memory cells connected to the select word line. Accordingly, the plurality of memory cells include cells that require program verification and cells that do not. Here, the memory cell that does not require program verification will be a memory cell having a threshold voltage lower than the target program state. Alternatively, a memory cell that does not require program verification may be a memory cell whose threshold voltage reaches a target program state. Alternatively, a memory cell that does not require program verification may be a memory cell programmed from different temporary program states when the memory cell is programmed from a temporary program state to a target program state.

본 발명의 실시 예에 따른 프로그램 검증 동작은 선택 검증 동작(selective verify operation)과 순차 검증 동작(sequentail verify operation)으로 구성된다. 선택 검증 동작 시에, 데이터 입출력 회로(140)는 저장된 데이터의 임시 프로그램 상태에 따라 해당 비트 라인을 선택적으로 프리차지한다. 예를 들면, 동일한 임시 프로그램 상태로부터 프로그램되는 메모리 셀이 프리차지되도록, 해당 데이터 입출력 회로(140)는 비트 라인에 비트 라인 전압을 인가한다. 반면, 선택 검증 동작이 수행되는 임시 프로그램 상태를 제외한 나머지 임시 프로그램 상태로부터 프로그램되는 메모리 셀은 프리차지되지 않도록, 해당 데이터 입출력 회로(140)는 비트 라인에 접지 전압을 인가한다.A program verifying operation according to an exemplary embodiment of the present invention includes a selective verify operation and a sequential verify operation. In the selection verify operation, the data input / output circuit 140 selectively precharges the corresponding bit line according to the temporary program state of the stored data. For example, the data input / output circuit 140 applies a bit line voltage to a bit line so that memory cells programmed from the same temporary program state are precharged. On the other hand, the data input / output circuit 140 applies a ground voltage to the bit line so that memory cells programmed from the temporary program state except for the temporary program state in which the select verify operation is performed are not precharged.

선택 검증 동작에 의해서 메모리 셀이 프로그램 패스(pass)된 것으로 판별되면, 즉, 오프 셀(off cell)로 판별되면, 오프 셀로 판별된 메모리 셀에 대해서만 이후의 순차 검증 동작이 수행된다. 순차 검증 동작 시에, 데이터 입출 회로(140)는 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작 결과에 따라 각각의 비트 라인을 선택적으로 프리차지한다. 예를 들면, 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작에서 프로그램 패스된(즉, 오프 셀로 판별된) 메모리 셀의 비트 라인이 프리차지되도록, 해당 데이터 입출력 회로(140)는 비트 라인에 비트 라인 전압을 인가한다. 반면, 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작에서 프로그램 페일된(즉, 온 셀로 판별된) 메모리 셀의 비트 라인이 프리차지되지 않도록, 해당 데이터 입출력 회로(140)는 비트 라인에 접지 전압을 인가한다.If it is determined that the memory cell is a program pass by the selective verify operation, that is, if it is determined to be an off cell, the subsequent sequential verification operation is performed only for the memory cell determined as the off cell. In the sequential verification operation, the data fetching circuit 140 selectively precharges each bit line according to the result of the selective verification operation performed previously or the sequential verification operation performed previously. For example, the data input / output circuit 140 may be connected to a bit line such that a bit line of a memory cell program-passed (i.e., determined as an off cell) is precharged in a previously performed selective verify operation or a sequential verify operation previously performed. Apply a bit line voltage. On the other hand, the data input / output circuit 140 is grounded to the bit line so that the bit line of the program fail (ie, determined as on-cell) memory cell is not precharged in the selective verification operation or the previously performed sequential verification operation. Apply voltage.

따라서, 본 발명의 실시 예에 따르면, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(CSL)에 전류가 흐를 때 발생하는 공통 소스 라인(CSL)의 노이즈가 감소될 것이다. 이러한 동작은 후술되는 도 7을 통하여 상세히 설명될 것이다.Thus, according to an embodiment of the present invention, a memory cell that does not require program verification (for example, a memory cell having a threshold voltage lower than a target program state, a memory cell reaching a target program state, or a different temporary program) The memory cell programmed from the state will not flow on cell current during subsequent program verify operations. When the on cell current decreases, noise of the common source line CSL generated when current flows in the common source line CSL will be reduced. This operation will be described in detail with reference to FIG. 7 described below.

도 2는 도 1에 도시된 메모리 셀 어레이의 구조를 예시적으로 보여주는 회로도이다.FIG. 2 is a circuit diagram exemplarily illustrating a structure of a memory cell array shown in FIG. 1.

도 2를 참조하면, 메모리 셀 어레이(110)에 포함되는 하나의 메모리 블럭이 예시적으로 도시되어 있다. 메모리 셀 어레이(110)는 복수의 메모리 블럭들을 포함하고, 각각의 메모리 블럭은 복수의 비트 라인들(BL0~BLm)에 연결된 복수의 셀 스트링들을 포함한다. 각각의 셀 스트링은 비트 라인(BL)과 공통 소스 라인(CSL) 사이에 연결되어 있는 복수의 메모리 셀들(M0~Mn)을 포함한다. 각각의 셀 스트링은 스트링 선택 라인(SSL)에 연결되는 스트링 선택 트랜지스터(SST), 복수의 워드 라인들(WL0~WLn)에 연결되는 복수의 메모리 셀들 그리고 접지 선택 라인(GSL)에 연결되는 접지 선택 트랜지스터(GST)를 포함한다.Referring to FIG. 2, one memory block included in the memory cell array 110 is illustrated. The memory cell array 110 includes a plurality of memory blocks, and each memory block includes a plurality of cell strings connected to the plurality of bit lines BL0 to BLm. Each cell string includes a plurality of memory cells M0 to Mn connected between the bit line BL and the common source line CSL. Each cell string includes a string select transistor SST connected to a string select line SSL, a plurality of memory cells connected to a plurality of word lines WL0 to WLn, and a ground select connected to a ground select line GSL. And a transistor GST.

스트링 선택 트랜지스터(SST)는 비트 라인(BL0)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다. 또한, 저항들(RP0~RPm)은 공통 소스 라인(CSL)에 존재하는 저항 성분을 나타낸다. 예를 들면, 저항들(RP0~RPm)은 공통 소스 라인(CSL)의 기생 저항 또는 기생 커패시턴스(이하, 기생 저항 등이라 칭함)를 나타낸다.The string select transistor SST is connected to the bit line BL0, and the ground select transistor GST is connected to the common source line CSL. In addition, the resistors R P0 to R Pm represent a resistance component present in the common source line CSL. For example, the resistors R P0 to R Pm represent parasitic resistances or parasitic capacitances of the common source line CSL (hereinafter referred to as parasitic resistances).

프로그램 검증 동작 또는 읽기 동작 시에, 셀 스트링에 흐르는 전류량은 온 셀의 수에 따라 달라진다. 그리고 공통 소스 라인 전압(VCSL)은 셀 스트링에 흐르는 전류량에 따라 달라진다. 온 셀의 수에 따른 공통 소스 라인 전압(VCSL)의 변화를 살펴보기 위해, 다음과 같은 두 가지 가정을 한다. 첫째로, 선택 워드 라인(WL0)에 연결되어 있는 메모리 셀(M0)은 소거 상태이며, 선택 워드 라인(WL0)에 연결되어 있는 메모리 셀(M0_1)은 프로그램 상태이다. 둘째로, 선택 워드 라인(WL0)에 연결되어 있는 메모리 셀이 온 셀일 때, 각각의 셀 스트링을 통해 흐르는 전류는 i0, i1이라고 가정한다.In the program verify operation or the read operation, the amount of current flowing through the cell string depends on the number of on cells. The common source line voltage V CSL varies depending on the amount of current flowing in the cell string. In order to examine the change of the common source line voltage V CSL according to the number of on cells, the following two assumptions are made. First, the memory cell M0 connected to the select word line WL0 is in an erased state, and the memory cell M0_1 connected to the select word line WL0 is in a program state. Second, when the memory cells connected to the select word line WL0 are on cells, it is assumed that currents flowing through the respective cell strings are i0 and i1.

이러한 가정에 따르면, 온 셀의 수에 따라 공통 소스 라인 전압(VCSL)은 달라진다. 예를 들어, 비트 라인(BL0)의 선택 워드 라인(WL0)에 연결된 메모리 셀(M0)만 온 셀이고, 비트 라인(BL1)의 선택 워드 라인(WL0)에 연결된 메모리 셀(M0_1)이 오프 셀이면, 저항(RP0) 양단에 걸리는 전압은 (i0×RP0)가 되어, 공통 소스 라인 전압(VCSL)이 발생한다. 다른 예로써, 비트 라인들(BL0, BL1)의 선택 워드 라인(WL0)에 연결된 메모리 셀들(M0, M0_1)이 온 셀이면, 저항(RP0) 양단에 걸리는 전압은 (i0×RP0)가 되고 저항(RP1) 양단에 걸리는 전압은 (i1×RP1)가 되어, 공통 소스 라인 전압(VCSL)이 발생한다. 이는 읽기 또는 프로그램 검증 동작 시에, 온 셀의 수가 달라지면 공통 소스 라인 전압(VCSL)도 달라질 수 있음을 의미한다. 따라서, 본 발명의 실시 예에 따른 프로그램 검증 동작은, 선택 프로그램 검증 동작과 순차 프로그램 검증 동작을 통해 메모리 셀을 선택적으로 프리차지하여, 온 셀의 수를 감소시킬 것이다.According to this assumption, the common source line voltage V CSL varies according to the number of on cells. For example, only the memory cell M0 connected to the select word line WL0 of the bit line BL0 is an on cell, and the memory cell M0_1 connected to the select word line WL0 of the bit line BL1 is an off cell. In this case, the voltage across the resistor R P0 becomes (i0 × R P0 ), and a common source line voltage V CSL is generated. As another example, when the memory cells M0 and M0_1 connected to the selection word line WL0 of the bit lines BL0 and BL1 are on cells, the voltage across the resistor R P0 is (i0 × R P0 ). The voltage across the resistor R P1 becomes (i1 × R P1 ), and a common source line voltage V CSL is generated. This means that in the read or program verify operation, if the number of on cells is changed, the common source line voltage V CSL may also be changed. Accordingly, the program verifying operation according to an exemplary embodiment of the present invention may reduce the number of on cells by selectively precharging the memory cells through the selective program verifying operation and the sequential program verifying operation.

도 3은 메모리 셀의 문턱 전압의 오류를 보여주는 도면이다.3 is a diagram illustrating an error of a threshold voltage of a memory cell.

도 3을 참조하면, 메모리 셀 어레이(도 1의 110 참조)에 포함되는 하나의 메모리 셀이 예시적으로 도시되어 있다. 공통 소스 라인(CSL)에 전류가 흐를 때, 기생 저항 등으로 인해 공통 소스 라인(CSL)의 전압 변화가 발생할 수 있다. 이러한 공통 소스 라인의 전압 변화는 공통 소스 라인(CSL)의 노이즈 전압, 즉, 공통 소스 라인 전압(VCSL)이 된다.Referring to FIG. 3, one memory cell included in a memory cell array (see 110 of FIG. 1) is illustrated. When a current flows in the common source line CSL, a voltage change of the common source line CSL may occur due to a parasitic resistance. The voltage change of the common source line becomes the noise voltage of the common source line CSL, that is, the common source line voltage V CSL .

한편, 메모리 셀의 제어 게이트(G)는 전압 발생기(도 1의 135 참조)로부터 제공되는 전압에 따라 제어된다. 전압 발생기(135)는 접지(GND)를 기준으로 전압(VGG)을 발생한다. 그러나, 메모리 셀의 프로그램 검증 동작 또는 읽기 동작 시에 형성되는 채널(channel)은 메모리 셀의 제어 게이트(G)와 소스(S)간 전압차(VGS)에 따라 제어된다. 따라서 메모리 셀의 제어 게이트(G)에 실제 공급된 전압(VGG)과 메모리 셀의 채널 형성에 영향을 미치는 전압(VGS)간에 전압차(VCSL)가 존재한다.Meanwhile, the control gate G of the memory cell is controlled according to the voltage provided from the voltage generator (see 135 in FIG. 1). The voltage generator 135 generates a voltage V GG based on the ground GND. However, the channel formed during the program verify operation or the read operation of the memory cell is controlled according to the voltage difference V GS between the control gate G and the source S of the memory cell. Therefore, there is a voltage difference V CSL between the voltage V GG actually supplied to the control gate G of the memory cell and the voltage V GS affecting channel formation of the memory cell.

이러한 공통 소스 라인 전압(VCSL)은 프로그램 검증 동작 또는 읽기 동작 시에 데이터 입출력 회로(도 1의 120 참조)의 감지 오류를 발생시킬 수 있다. 이 공통 소스 라인 전압(VCSL)은 메모리 셀들의 데이터에 따른 온 또는 오프 상태에 의존한다. 따라서, 공통 소스 라인 전압(VCSL)은 전압이 일정하지 않고, 잦은 변화가 일어나며, 쉽게 제거될 수 없다.The common source line voltage V CSL may generate a detection error of the data input / output circuit (see 120 of FIG. 1) during a program verify operation or a read operation. This common source line voltage V CSL is dependent on or off depending on the data of the memory cells. Thus, the common source line voltage V CSL is not constant, frequently changes, and cannot be easily removed.

도 4는 선택 워드 라인에 프로그램 검증 전압이 인가될 때 온 셀의 수를 보여주는 도면이다.4 is a diagram illustrating the number of on cells when a program verify voltage is applied to a selected word line.

도 4를 참조하면, 예시적으로, 한 비트의 데이터를 저장하는 싱글 레벨 셀(SLC)의 문턱 전압 분포가 도시되어 있다. 메모리 셀은 문턱 전압에 따라 소거 상태(E)와 프로그램 상태(P)로 구분된다. 읽기 동작 시에, 선택 워드 라인에는 선택 읽기 전압(VRD)이 제공된다. 한편, 프로그램 검증 동작 시에, 선택 워드 라인에는 프로그램 검증 전압(VVRF)이 제공된다. 프로그램 검증 전압(VVRF)이 인가될 때, 메모리 셀들 중에서 온 셀로 식별되는 셀들은 빗금 친 부분에 포함되는 셀들이다. 즉, 소거 상태(E)에 있는 메모리 셀이 온 셀로 식별된다. 그리고 프로그램 상태(P)로 프로그램될 셀 중에서 문턱 전압이 아직 프로그램 검증 전압(VVRF)을 넘지 못한 메모리 셀(P')이 온 셀로 식별될 수 있다.Referring to FIG. 4, an exemplary voltage distribution of a single level cell SLC storing one bit of data is illustrated. The memory cell is divided into an erase state E and a program state P according to a threshold voltage. In a read operation, the select word line is provided with a select read voltage V RD . On the other hand, during the program verify operation, the program verify voltage V VRF is provided to the selected word line. When the program verify voltage V VRF is applied, the cells identified as on cells among the memory cells are cells included in the hatched portion. That is, the memory cell in the erase state E is identified as an on cell. Among the cells to be programmed in the program state P, the memory cell P ′ whose threshold voltage has not yet exceeded the program verification voltage V VRF may be identified as an on cell.

도 2에서 설명한 바와 같이, 공통 소스 라인(CSL)은 일반적으로 메탈 라인(metal line)을 통해 접지 단자에 연결된다. 메탈 라인에는 저항 성분이 존재하기 때문에, 공통 소스 라인(CSL)에 전류가 흐르면 공통 소스 라인 전압(VCSL)의 변화가 발생한다. 여기에서, 공통 소스 라인 전압(VCSL)은 온 셀로 인한 셀 전류에 비례한다. 예를 들면, 선택 워드 라인에 연결된 메모리 셀들의 온 셀의 수가 많아져서 공통 소스 라인(CSL)에 흐르는 전류량이 증가하면, 공통 소스 라인 전압(VCSL)이 증가할 수 있다. 이러한 공통 소스 라인 전압(VCSL)의 변화는 공통 소스 라인(CSL)에 존재하는 노이즈가 된다.As described with reference to FIG. 2, the common source line CSL is generally connected to the ground terminal through a metal line. Since a resistance component exists in the metal line, when a current flows in the common source line CSL , a change in the common source line voltage V CSL occurs. Here, the common source line voltage V CSL is proportional to the cell current due to the on cell. For example, when the number of on cells of the memory cells connected to the selected word line increases so that the amount of current flowing through the common source line CSL increases, the common source line voltage V CSL may increase. The change in the common source line voltage V CSL becomes noise existing in the common source line CSL.

도 5는 공통 소스 라인에 존재하는 노이즈 전압의 영향을 받는 메모리 셀의 문턱 전압 분포를 보여주는 도면이다.5 is a diagram illustrating a threshold voltage distribution of a memory cell affected by a noise voltage present in a common source line.

도 5를 참조하면, 충분히 프로그램되지 않은 메모리 셀들의 문턱 전압 분포가 도시되어 있다. 전술한 바와 같이, 프로그램 검증 동작 시에 온 셀의 수가 많아지면 공통 소스 라인(CSL)에 흐르는 전류량이 증가한다. 공통 소스 라인(CSL)에 흐르는 전류량이 증가하면, 기생 저항 등의 영향으로 인해 공통 소스 라인 전압(VCSL)이 높아진다. 공통 소스 라인 전압(VCSL)이 높아지면, 데이터 입출력 회로(도 1의 140 참조)가 감지(sensing)하는 전류량이 감소한다.Referring to FIG. 5, threshold voltage distributions of memory cells that are not sufficiently programmed are shown. As described above, when the number of on cells increases during the program verify operation, the amount of current flowing through the common source line CSL increases. When the amount of current flowing through the common source line CSL increases, the common source line voltage V CSL increases due to the influence of parasitic resistance and the like. As the common source line voltage V CSL increases, the amount of current sensed by the data input / output circuit (see 140 of FIG. 1) decreases.

데이터 입출력 회로(120)가 감지하는 전류량이 감소하면, 메모리 셀의 문턱 전압 분포가 프로그램 상태(P)에 도달한 것으로 간주 되어 프로그램 동작이 완료될 수 있다. 즉, 메모리 셀이 충분히 프로그램되지 않았음에도 불구하고 프로그램된 것으로 검증하게 되어 프로그램 동작이 완료될 수 있다. 이 경우, 도 5의 점선 안의 빗금친 부분에 분포하는 메모리 셀들로 인해 메모리 셀의 문턱 전압 분포가 넓어진다. 프로그램 동작이 완료된 후에, 문턱 전압이 프로그램 검증 전압(VVRF)을 넘지 못한 상태의 메모리 셀들은 프로그램되지 않은 메모리 셀로 읽혀질 수 있다.When the amount of current sensed by the data input / output circuit 120 decreases, the threshold voltage distribution of the memory cell is considered to have reached the program state P, thereby completing the program operation. That is, even though the memory cell is not sufficiently programmed, the memory cell may be verified as programmed and the program operation may be completed. In this case, the threshold voltage distribution of the memory cell is widened due to the memory cells distributed in the hatched portion in FIG. 5. After the program operation is completed, memory cells whose threshold voltage does not exceed the program verify voltage V VRF may be read into the unprogrammed memory cells.

도 6은 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램 상태를 예시적으로 보여주는 도면이다.6 is a diagram illustrating a program state of a multi-level cell according to an embodiment of the present invention.

멀티 레벨 셀(MLC)은 문턱 전압에 따라 소거 상태와 복수의 프로그램 상태들을 갖는다. 멀티 레벨 셀(MLC)에 있어서, 데이터의 신뢰성을 높이기 위하여 복수의 프로그램 상태들의 문턱 전압 분포를 협소하게 관리하는 것이 중요하다. 도 6에 도시된 바와 같이, 문턱 전압 분포를 협소하게 관리하기 위하여, 멀티 레벨 셀(MLC)은 임시 프로그램(temporary program) 동작에 의해 형성된 임시 프로그램 상태들(TST1~TST4)로부터 목표 프로그램 상태들(ST1~ST16)로 프로그램될 수 있다. 임시 프로그램 상태들(TST1~TST4) 및 목표 프로그램 상태들(ST1~ST16)은 페이지의 데이터 값에 따라 결정된다. 예를 들면, 임시 프로그램 상태들(TST1~TST4) 및 목표 프로그램 상태들(ST1~ST16)은 제 1 및 제 2 하위 비트(LSB) 페이지, 그리고 제 1 및 제 2 상위 비트(MSB) 페이지의 데이터 값에 따라 결정될 것이다.The multi-level cell MLC has an erase state and a plurality of program states according to a threshold voltage. In multi-level cells (MLC), it is important to narrowly manage the threshold voltage distribution of a plurality of program states in order to increase the reliability of data. As shown in FIG. 6, in order to narrowly manage the threshold voltage distribution, the multi-level cell MLC may perform target program states from the temporary program states TST1 to TST4 formed by a temporary program operation. ST1 to ST16). The temporary program states TST1 to TST4 and the target program states ST1 to ST16 are determined according to the data value of the page. For example, the temporary program states TST1 to TST4 and the target program states ST1 to ST16 may include data of the first and second lower bit LSB pages and the first and second higher bit MSB pages. It will depend on the value.

도 6에서는 예시적으로 4비트의 데이터를 저장하는 멀티 레벨 셀(MLC)의 문턱 전압 분포가 예시되어 있다. 메모리 셀은 페이지의 데이터 값에 따라 16개의 상태들(ST1~ST16) 중 어느 하나로 프로그램된다. 문턱 전압 분포를 협소하게 관리하기 위하여, 메모리 셀은 임시 프로그램 상태(TST1)로부터 목표 프로그램 상태들(ST2~ST4)로 프로그램된다. 이러한 프로그램 방법은 화살표①로 도시되어 있다. 또한, 화살표 ②,③, 및 ④로 도시된 것처럼, 메모리 셀은 임시 프로그램 상태들(TST2, TST3, 및 TST4) 각각으로부터 목표 프로그램 상태들(ST5~ST8, ST9~ST12, 및 ST13~ST16) 각각으로 프로그램된다.In FIG. 6, a threshold voltage distribution of a multi-level cell (MLC) that stores four bits of data is illustrated. The memory cell is programmed to any one of sixteen states ST1 to ST16 according to the data value of the page. In order to narrowly manage the threshold voltage distribution, the memory cell is programmed from the temporary program state TST1 to the target program states ST2 to ST4. This programming method is shown by arrow ①. Further, as shown by arrows (2), (3), and (4), the memory cell is each of the target program states ST5 to ST8, ST9 to ST12, and ST13 to ST16 from the temporary program states TST2, TST3, and TST4, respectively. Is programmed.

이해를 돕기 위하여 임시 프로그램 상태(TST1)로부터 프로그램되는 메모리 셀을 예로 들어 설명한다. 임시 프로그램 상태(TST1, 즉, '11' 상태)를 갖는 메모리 셀은, 제 1 및 제 2 상위 비트(MSB)에 따라, 목표 프로그램 상태(ST1, 즉, '1111' 상태)를 유지한다. 또는, 임시 프로그램 상태(TST1, 즉, '11' 상태)를 갖는 메모리 셀은, 제 1 및 제 2 상위 비트(MSB)에 따라, 목표 프로그램 상태(ST2, 즉, '0111' 상태), 목표 프로그램 상태(ST3, 즉, '0011' 상태), 및 목표 프로그램 상태(ST4, 즉, '1011' 상태)로 프로그램된다. 다시 말해서, 메모리 셀은 임시 프로그램 상태에 기초하여 목표 프로그램 상태로 프로그램된다. 따라서, 본 발명의 실시 예에 따르면, 목표 프로그램 검증 동작 시에, 목표 프로그램 상태뿐만 아니라 임시 프로그램 상태에 대해서도 프로그램 검증 동작이 수행된다. 또한, 목표 프로그램 검증 동작 시에, 임시 프로그램 상태와 목표 프로그램 상태에 따라 메모리 셀이 선택적으로 프리차지된다.For convenience of explanation, the memory cell programmed from the temporary program state TST1 will be described as an example. A memory cell having a temporary program state (TST1, that is, a '11' state) maintains a target program state (ST1, that is, a '1111' state) according to the first and second high order bits MSB. Alternatively, a memory cell having a temporary program state (TST1, that is, an '11' state) may be configured to have a target program state (ST2, that is, a '0111' state), a target program according to the first and second high order bits MSB. It is programmed to a state ST3 (that is, a '0011' state) and a target program state (ST4, that is, a '1011' state). In other words, the memory cell is programmed to the target program state based on the temporary program state. Therefore, according to an embodiment of the present invention, in the target program verifying operation, the program verifying operation is performed not only for the target program state but also for the temporary program state. In addition, during the target program verify operation, the memory cells are selectively precharged according to the temporary program state and the target program state.

도 7은 본 발명의 실시 예에 따른 프로그램 동작을 예시적으로 보여주는 흐름도이다.7 is a flowchart illustrating a program operation according to an embodiment of the present invention.

플래시 메모리 장치(도 1의 100 참조)는 메모리 셀의 문턱 전압 분포를 협소하게 만들기 위해서 증가형 스텝 펄스 프로그램(incremetal step pulse program: ISPP) 방식을 사용한다. 증가형 스텝 펄스 프로그램(ISPP) 방식에 따르면, 제어 로직(도 1의 130 참조)은 선택 워드 라인에 인가되는 프로그램 전압이 단계적으로 증가되도록, 전압 발생기(도 1의 135)를 제어한다. 소정의 증가분(ΔV)만큼 증가되는 프로그램 전압이 프로그램 동작이 완료될 때까지 선택 워드 라인에 인가되기 때문에, 프로그램 동작은 복수의 프로그램 루프들(program loop_1~program loop_m)로 이루어진다.The flash memory device (see 100 of FIG. 1) uses an incremental step pulse program (ISPP) scheme to narrow the threshold voltage distribution of the memory cell. According to the incremental step pulse program (ISPP) scheme, the control logic (see 130 of FIG. 1) controls the voltage generator (135 of FIG. 1) so that the program voltage applied to the selected word line is increased step by step. Since a program voltage increased by a predetermined increment ΔV is applied to the selected word line until the program operation is completed, the program operation is composed of a plurality of program loops program loop_1 to program loop_m.

프로그램 루프들 각각은 프로그램 동작과 프로그램 검증 동작을 포함한다. 프로그램 동작 시, 메모리 셀은 주어진 바이어스 조건(예를 들면, 워드 라인에 인가되는 프로그램 전압 및 비트 라인에 인가되는 비트 라인 전압)에 따라 프로그램된다. 프로그램 검증 동작 시, 메모리 셀이 목표 프로그램 상태까지 프로그램되었는지의 여부가 검증된다. 제어 로직(130)은 메모리 셀들이 모두 프로그램될 때까지 정해진 횟수 내에서 프로그램 루프를 반복적으로 수행할 것이다.Each of the program loops includes a program operation and a program verify operation. In a program operation, a memory cell is programmed according to a given bias condition (e.g., a program voltage applied to a word line and a bit line voltage applied to a bit line). In the program verify operation, whether the memory cell has been programmed up to the target program state is verified. The control logic 130 will repeatedly execute the program loop within a predetermined number of times until all the memory cells are programmed.

비록 도시되지는 않았지만, 프로그램 검증 동작은 프리차지(precharge) 구간, 디벨롭(develop) 구간, 센싱(sensing) 구간, 그리고 디스차지(discharge) 구간으로 구성된다. 프리차지 구간에서 비트 라인에 소정의 전압이 인가되고, 디벨롭 구간에서 워드 라인에 검증 전압(VVRF)이 인가되고, 센싱 구간에서 메모리 셀의 상태가 판별될 것이다. 프로그램 검증 동작은 읽혀진 데이터가 외부로 출력되지 않는다는 점을 제외하면 읽기 동작과 동일할 수 있음은 잘 이해될 것이다.Although not shown, the program verifying operation includes a precharge period, a development period, a sensing period, and a discharge period. A predetermined voltage is applied to the bit line in the precharge period, a verification voltage V VRF is applied to the word line in the development period, and the state of the memory cell is determined in the sensing period. It will be appreciated that the program verify operation may be identical to the read operation except that the read data is not output externally.

프로그램 검증 동작은 복수의 선택 검증 동작들(selective verify_1 내지 selective verify_n)과 복수의 순차 검증 동작들(sequential verify_1 내지 sequential verify_n)로 구성된다. 선택 검증 동작은 목표 프로그램 상태로 프로그램 되었는지의 여부를 검증하기 전에, 온 셀 전류를 감소시키기 위하여 임시 프로그램 상태에 따라 메모리 셀을 검증하는 것이다. 순차 검증 동작은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작의 결과에 따라 메모리 셀을 검증하는 것이다. 따라서, 순차 검증 동작들 각각은 선택 검증 동작들 이후에 수행된다. 또한, 순차 검증 동작들 각각은 임시 프로그램 상태로부터 프로그램될 수 있는 목표 프로그램 상태의 수만큼 수행될 것이다. 예시적으로, 도 7에서는 순차 검증 동작들 각각이 복수의 순차 검증 동작들(sequential verify_1a 내지 sequential verify_1z)로 구성되었다.The program verifying operation includes a plurality of selective verifying operations (selective verify_1 to selective verify_n) and a plurality of sequential verifying operations (sequential verify_1 to sequential verify_n). The selective verify operation is to verify the memory cell according to the temporary program state to reduce the on cell current before verifying whether it is programmed to the target program state. The sequential verification operation verifies a memory cell according to a result of the selective verification operation performed previously or the sequential verification operation performed previously. Thus, each of the sequential verify operations is performed after the select verify operations. Further, each of the sequential verify operations will be performed by the number of target program states that can be programmed from the temporary program state. In FIG. 7, each of the sequential verification operations is configured of a plurality of sequential verify operations sequential verify_1a to sequential verify_1z.

도 1에 도시된 바와 같이, 데이터 입출력 회로들(도 1의 141_0~141_m 참조) 각각은 비트 라인들(BL0~BLm)에 각각 대응되어 구성된다. 선택 검증 동작이 수행되는 동안, 데이터 입출력 회로들(141_0~141_m) 각각은 저장된 데이터의 임시 프로그램 상태에 따라 각각의 비트 라인을 선택적으로 활성화한다. 예를 들면, 선택 검증 동작이 수행되는 동안, 데이터 입출력 회로들(141_0~141_m) 각각은 저장된 데이터의 임시 프로그램 상태 별로 해당 비트 라인을 프리차지한다.As illustrated in FIG. 1, each of the data input / output circuits (refer to 141_0 to 141_m in FIG. 1) is configured to correspond to the bit lines BL0 to BLm, respectively. While the selection verify operation is performed, each of the data input / output circuits 141_0 to 141_m selectively activates each bit line according to the temporary program state of the stored data. For example, during the selection verification operation, each of the data input / output circuits 141_0 to 141_m precharges the corresponding bit line for each temporary program state of the stored data.

선택 검증 동작이 완료되면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다. 반면, 프리차지되지 않은 비트 라인에 연결된 메모리 셀(즉, 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 프로그램 페일된 것으로 해당 데이터 입출력 회로에 저장된다.When the selection verify operation is completed, the program state (eg, program pass or fail) of the memory cell connected to the precharged bit line is determined according to the state of the memory cell, and the program state is stored in the corresponding data input / output circuit. On the other hand, the program state (eg, program pass or fail) of a memory cell (ie, a memory cell programmed from another temporary program state) connected to a non-precharged bit line is program failed and stored in the corresponding data input / output circuit. .

선택 검증 동작에 의해서 프로그램 페일로 판별된 메모리 셀(즉, 온 셀로 판별된 메모리 셀)은 이 후의 순차 검증 동작이 수행되지 않는다. 다시 말해서, 선택 검증 동작에 의해서 오프 셀로 판별된 메모리 셀만이 이후의 순차 검증 동작에서 검증된다. 따라서, 순차 검증 동작 시에 온 셀의 수가 줄어들 수 있다.A memory cell determined as a program fail (i.e., a memory cell determined as an on cell) by the selective verify operation does not perform a subsequent sequential verify operation. In other words, only the memory cells identified as off cells by the select verify operation are verified in subsequent sequential verify operations. Therefore, the number of on cells can be reduced during the sequential verification operation.

순차 검증 동작이 수행되는 동안, 데이터 입출력 회로들(141_0~141_m) 각각은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 결과에 따라 각각의 비트 라인을 선택적으로 활성화한다. 예를 들면, 순차 검증 동작이 수행되는 동안, 데이터 입출력 회로들(141_0~141_m) 각각은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작에서 프로그램 패스로 판별된 메모리 셀(즉, 오프 셀로 판별된 메모리 셀)의 비트 라인만을 프리차지한다. 다시 말해서, 목표 프로그램 상태에 근접하지 못한 메모리 셀은 순차 검증 동작의 대상에서 제외된다. 따라서, 순차 검증 동작 시에 온 셀의 수가 줄어들 수 있다.During the sequential verification operation, each of the data input / output circuits 141_0 to 141_m selectively activates each bit line according to the selection verification operation performed previously or the sequential verification result previously performed. For example, during the sequential verification operation, each of the data input / output circuits 141_0 to 141_m is determined as a memory cell (ie, an off cell) determined as a program pass in the previously performed selective verification operation or the previously performed sequential verification operation. Pre-charge only the bit lines). In other words, memory cells that do not approach the target program state are excluded from the sequential verify operation. Therefore, the number of on cells can be reduced during the sequential verification operation.

도 8은 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램 검증 전압을 예시적으로 보여주는 도면이다.8 is a diagram illustrating a program verify voltage of a multi-level cell according to an embodiment of the present invention.

도 7에서 설명한 바와 같이, 본 발명의 실시 예에 따른 하나의 프로그램 검증 동작은 복수의 선택 검증 동작들과 복수의 순차 검증 동작들로 구성된다. 도 8을 참조하면, 제어 로직(도 1의 130 참조)은 선택 워드 라인에 선택 검증 전압들(VSLVRF11, VSLVRF01, VSLVRF00, 및 VSLVRF10) 각각을 인가하여, 대응되는 선택 검증 동작들(selective verify 11, selective verify 01, selective verify 00, 및 selective verify 10)을 수행한다. 또한, 제어 로직(130)은 선택 워드 라인에 순차 검증 전압들(VSQVRFxx11, VSQVRFxx01, VSQVRFxx00, 및 VSQVRFxx10) 각각을 인가하여, 대응되는 순차 검증 동작들(sequential verify 11, sequential verify 01, sequential verify 00, 및 sequential verify 10)을 수행한다.As described with reference to FIG. 7, one program verify operation according to an embodiment of the present invention includes a plurality of selective verify operations and a plurality of sequential verify operations. Referring to FIG. 8, the control logic (see 130 of FIG. 1) applies each of the selection verify voltages V SLVRF11 , V SLVRF01 , V SLVRF00 , and V SLVRF10 to the select word line, thereby corresponding to the corresponding select verify operations ( Perform selective verify 11, selective verify 01, selective verify 00, and selective verify 10). In addition, the control logic 130 applies each of the sequential verify voltages V SQVRFxx11 , V SQVRFxx01 , V SQVRFxx00 , and V SQVRFxx10 to the selected word line, so that the corresponding sequential verify operations (sequential verify 11, sequential verify 01, sequential verify 00, and sequential verify 10).

도 7에서 설명한 프로그램 검증 동작의 이해를 돕기 위하여, 임시 프로그램 상태(TST1)로부터 목표 프로그램 상태들(ST2, ST3, 및 ST4)로 프로그램되는 메모리 셀의 프로그램 동작을 도 1 및 도 8을 참조하여 설명하기로 한다.For better understanding of the program verifying operation described with reference to FIG. 7, the program operation of the memory cell programmed from the temporary program state TST1 to the target program states ST2, ST3, and ST4 will be described with reference to FIGS. 1 and 8. Let's do it.

제어 로직(130)은 데이터 입출력 회로(140)에 저장된 데이터에 따라, 목표 프로그램 상태들(ST2, ST3, 및 ST4)로 프로그램하기 위한 프로그램 전압(VPGM)을 선택 워드 라인에 인가한다. 그 후, 제어 로직(130)은 프로그램 검증 동작을 수행하기 위해서 프로그램 검증 전압들(VVRF)을 선택 워드 라인에 인가한다. 즉, 제어 로직(130)은 제 1 선택 검증 전압(VSLVRF11) 및 제 1 내지 제 3 순차 검증 전압들(VSQVRFxx11)을 순차적으로 선택 워드 라인에 인가한다.The control logic 130 applies a program voltage V PGM to the selected word line for programming to the target program states ST2, ST3, and ST4 according to the data stored in the data input / output circuit 140. Thereafter, the control logic 130 applies program verify voltages V VRF to the selected word line to perform a program verify operation. That is, the control logic 130 sequentially applies the first select verify voltage V SLVRF11 and the first through third sequential verify voltages V SQVRFxx11 to the select word line.

임시 프로그램 상태(TST1)에 대한 제 1 선택 검증 동작(selective verify 11)이 수행되는 동안, 임시 프로그램 상태(TST1)로부터 프로그램되는 메모리 셀(즉, 목표 프로그램 상태가 ST2, ST3, 및 ST4인 메모리 셀)의 데이터 입출력 회로만이 각각의 비트 라인을 프리차지한다. 제어 로직(130)이 제 1 선택 검증 전압(VSLVRF11)을 선택 워드 라인에 인가하면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다. 이때, 임시 프로그램 상태(TST1)로부터 프로그램되지 않는 메모리 셀(즉, 임시 프로그램 상태 TST2, TST3, 및 TST4로부터 프로그램되는 메모리 셀)의 데이터 입출력 회로는 프로그램 상태를 프로그램 페일된 것(즉, 메모리 셀이 온 셀인 것)으로 저장할 것이다.While the first selective verify operation 11 for the temporary program state TST1 is performed, memory cells programmed from the temporary program state TST1 (that is, memory cells whose target program states are ST2, ST3, and ST4). ) Only the data input / output circuitry precharges each bit line. When the control logic 130 applies the first select verify voltage V SLVRF11 to the select word line, the program state (eg, program pass or fail) of the memory cell connected to the precharged bit line is the state of the memory cell. The program state is stored in the corresponding data input / output circuit. At this time, the data input / output circuits of the memory cells that are not programmed from the temporary program state TST1 (that is, memory cells programmed from the temporary program states TST2, TST3, and TST4) are programmed to fail the program state (that is, the memory cells On cell).

제 1 선택 검증 동작(selective verify 11)이 수행된 후, 목표 프로그램 상태(ST2)에 대한 제 1 순차 검증 동작(sequential verify 11a)이 수행된다. 제 1 순차 검증 동작(sequential verify 11a)이 수행되는 동안, 제 1 선택 검증 동작(selective verify 11)의 검증 결과가 프로그램 패스로 저장된 데이터 입출력 회로(즉, 오프 셀인 것으로 판별된 메모리 셀의 데이터 입출력 회로)만이 각각의 비트 라인을 프리차지한다. 제어 로직(130)이 제 1 순차 검증 전압(VSQVRF0111)을 선택 워드 라인에 인가하면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다.After the first selective verify 11 is performed, the first sequential verify 11a for the target program state ST2 is performed. While the first sequential verify operation 11a is performed, the data input / output circuit of the memory cell determined to be an off-cell (ie, the data input / output circuit that is stored in the program path as a result of the verification of the first selective verify operation 11) is stored. ) Only precharges each bit line. When the control logic 130 applies the first sequential verify voltage V SQVRF0111 to the select word line, the program state (eg, program pass or fail) of the memory cell connected to the precharged bit line is the state of the memory cell. The program state is stored in the corresponding data input / output circuit.

제 1 순차 검증 동작(sequential verify 11a)이 수행된 후, 목표 프로그램 상태(ST3)에 대한 제 2 순차 검증 동작(sequential verify 11b)이 수행된다. 제 2 순차 검증 동작(sequential verify 11b)이 수행되는 동안, 제 1 순차 검증 동작(sequential verify 11a)의 검증 결과가 프로그램 패스로 저장된 데이터 입출력 회로(즉, 오프 셀인 것으로 판별된 메모리 셀의 데이터 입출력 회로)만이 각각의 비트 라인을 프리차지한다. 제어 로직(130)이 제 2 순차 검증 전압(VSQVRF0011)을 선택 워드 라인에 인가하면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다. 이때, 제 1 순차 검증 전압(VSQVRF0111)보다 큰 문턱 전압을 갖는 메모리 셀과 제 2 순차 검증 전압(VSQVRF0011)보다 작은 문턱 전압을 갖는 메모리 셀에는 온 셀 전류가 흐른다. 즉, 문턱 전압이 A구간 사이에 위치한 메모리 셀에는 온 셀 전류가 흐른다.After the first sequential verify operation 11a is performed, a second sequential verify operation 11b for the target program state ST3 is performed. While the second sequential verify 11b is performed, the data input / output circuit of the memory cell determined to be off-cell (ie, the data input / output circuit which has been stored in the program path as a result of the verification of the first sequential verify 11a) is stored. ) Only precharges each bit line. When the control logic 130 applies the second sequential verify voltage V SQVRF0011 to the select word line, the program state (eg, program pass or fail) of the memory cell connected to the precharged bit line is the state of the memory cell. The program state is stored in the corresponding data input / output circuit. At this time, the on-cell current flows in the memory cell having a threshold voltage larger than the first sequential verification voltage V SQVRF0111 and the memory cell having a threshold voltage smaller than the second sequential verification voltage V SQVRF0011 . That is, the on-cell current flows through the memory cell where the threshold voltage is between the section A.

한편, 임시 프로그램 상태(TST2)로부터 목표 프로그램 상태들(ST5, ST6, ST7, 및 ST8)로 프로그램되는 메모리 셀들 중에서, 문턱 전압이 B구간 사이에 위치한 메모리 셀은, 제 2 순차 검증 동작(sequential verify 11b)이 수행되는 동안 온 셀 전류가 흐르지 않을 것이다. 왜냐하면, 임시 프로그램 상태(TST1) 이외의 임시 프로그램 상태(TST2, TST3, 및 TST4)로부터 프로그램되는 메모리 셀의 데이터 입출력 회로는, 제 1 선택 검증 동작(selective verify 11) 시에 프로그램 상태가 프로그램 페일된 것으로 저장되어(즉, 온 셀인 것으로 판별되어), 제 2 순차 검증 동작(sequential verify 11b) 시에 해당 비트 라인이 프리차지되지 않았기 때문이다. 따라서, 온 셀 전류는 감소될 것이다.Meanwhile, among the memory cells programmed from the temporary program state TST2 to the target program states ST5, ST6, ST7, and ST8, a memory cell having a threshold voltage between the section B has a second sequential verify operation. On cell current will not flow while 11b) is performed. This is because the data input / output circuits of the memory cells programmed from the temporary program states TST2, TST3, and TST4 other than the temporary program state TST1 have the program state program-failed during the first selective verify operation. This is because the bit line is not precharged at the time of the second sequential verify operation 11 (ie, determined to be on cell). Thus, the on cell current will be reduced.

제 2 순차 검증 동작(sequential verify 11b)이 수행된 후, 목표 프로그램 상태(ST4)에 대한 제 3 순차 검증 동작(sequential verify 11c)이 수행된다. 제 3 순차 검증 동작(sequential verify 11c)이 수행되는 동안, 제 2 순차 검증 동작(sequential verify 11b)의 검증 결과가 프로그램 패스로 저장된 데이터 입출력 회로(즉, 오프 셀인 것으로 판별된 메모리 셀의 데이터 입출력 회로)만이 각각의 비트 라인을 프리차지한다. 제어 로직(130)이 제 3 순차 검증 전압(VSQVRF1011)을 선택 워드 라인에 인가하면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다. 이때, 제 2 순차 검증 전압(VSQVRF0011)보다 큰 문턱 전압을 갖는 메모리 셀과 제 3 순차 검증 전압(VSQVRF1011)보다 작은 문턱 전압을 갖는 메모리 셀에는 온 셀 전류가 흐른다. 즉, 문턱 전압이 C구간 사이에 위치한 메모리 셀에는 온 셀 전류가 흐른다.After the second sequential verify 11b is performed, a third sequential verify 11c for the target program state ST4 is performed. While the third sequential verify 11c is performed, the data input / output circuit of the memory cell determined to be off-cell (ie, the data input / output circuit is stored in the program path as a result of the verification of the second sequential verify 11b). ) Only precharges each bit line. When the control logic 130 applies the third sequential verify voltage V SQVRF1011 to the select word line, the program state (eg, program pass or fail) of the memory cell connected to the precharged bit line is the state of the memory cell. The program state is stored in the corresponding data input / output circuit. At this time, an on-cell current flows in the memory cell having a threshold voltage greater than the second sequential verification voltage V SQVRF0011 and the memory cell having a threshold voltage smaller than the third sequential verification voltage V SQVRF1011 . That is, the on-cell current flows through the memory cell where the threshold voltage is between the C sections.

한편, 임시 프로그램 상태(TST2)로부터 목표 프로그램 상태들(ST5, ST6, ST7, 및 ST84)로 프로그램되는 메모리 셀들 중에서, 문턱 전압이 C구간 사이에 위치한 메모리 셀은, 제 3 순차 검증 동작(sequential verify 11c)이 수행되는 동안 온 셀 전류가 흐르지 않을 것이다. 왜냐하면, 임시 프로그램 상태(TST1) 이외의 임시 프로그램 상태(TST2, TST3, 및 TST4)로부터 프로그램되는 메모리 셀의 데이터 입출력 회로는, 제 1 선택 검증 동작 시에 프로그램 상태가 프로그램 페일된 것으로 저장되어(즉, 온 셀인 것으로 판별되어), 제 3 순차 검증 동작(sequential verify 11c) 시에 해당 비트 라인이 프리차지되지 않았기 때문이다. 따라서 온 셀 전류는 감소될 것이다.Meanwhile, among the memory cells programmed from the temporary program state TST2 to the target program states ST5, ST6, ST7, and ST84, the memory cell in which the threshold voltage is between the C sections is a third sequential verify operation. On cell current will not flow while 11c) is performed. This is because the data input / output circuits of the memory cells programmed from the temporary program states TST2, TST3, and TST4 other than the temporary program state TST1 are stored as program fail (i.e., in the first selection verify operation). This is because the bit line is not precharged at the time of the third sequential verify 11c. Thus the on cell current will be reduced.

도 9는 본 발명의 실시 예에 따른 프로그램 동작의 바이어스 조건을 예시적으로 보여주는 도면이다.9 is a diagram illustrating a bias condition of a program operation according to an embodiment of the present invention.

도 8 및 도 9를 참조하면, 제어 로직(도 1의 130 참조)은 데이터 입출력 회로(도 1의 140 참조)에 저장된 데이터에 따라, 목표 프로그램 상태들로 프로그램하기 위한 프로그램 전압(VPGM)을 선택 워드 라인에 인가한다. 그 후, 제어 로직(130)은 프로그램 검증 동작을 수행하기 위해서 프로그램 검증 전압들(VVRF)을 선택 워드 라인에 인가한다. 즉, 제어 로직(130)은 제 1 선택 검증 전압(VSLVRF11), 제 1 내지 제 3 순차 검증 전압들(VSQVRFxx11), 제 2 선택 검증 전압(VSLVRF01), 제 4 내지 제 7 순차 검증 전압들(VSQVRFxx01), 제 3 선택 검증 전압(VSLVRF00), 제 8 내지 제 11 순차 검증 전압들(VSQVRFxx00), 제 4 선택 검증 전압(VSLVRF10), 및 제 12 내지 제 15 순차 검증 전압들(VSQVRFxx10)을 순차적으로 선택 워드 라인에 인가한다.8 and 9, the control logic (see 130 in FIG. 1) may program the program voltage V PGM for programming to target program states according to data stored in the data input / output circuit (140 in FIG. 1). Applies to the selected word line. Thereafter, the control logic 130 applies program verify voltages V VRF to the selected word line to perform a program verify operation. That is, the control logic 130 may include the first select verify voltage V SLVRF11 , the first through third sequential verify voltages V SQVRFxx11 , the second select verify voltage V SLVRF01 , and the fourth through seventh sequential verify voltages. V SQVRFxx01 , third select verify voltage V SLVRF00 , eighth through eleventh sequential verify voltages V SQVRFxx00 , fourth select verify voltage V SLVRF10 , and twelfth through fifteenth verify voltages (V SQVRFxx10 ) is sequentially applied to the selected word line.

소정의 증가분(ΔV)만큼 증가된 프로그램 전압이 프로그램 동작이 완료될 때까지 선택 워드 라인에 인가되기 때문에, 프로그램 검증 전압들(선택 검증 전압들 및 순차 검증 전압들) 역시 프로그램 전압이 인가될 때마다 순차적으로 인가된다. 인가되는 프로그램 검증 전압들(선택 검증 전압들 및 순차 검증 전압들)은 인가되는 순서대로 점차 증가된다. 즉, 제 1 선택 검증 전압(VSLVRF11)이 가장 작은 전압 값이고, 제 15 순차 검증 전압(VSQVRF1110)이 가장 큰 전압 값이다. 또한, 프로그램 검증 전압들(선택 검증 전압들 및 순차 검증 전압들) 각각은 프로그램 전압보다는 작은 전압으로 인가된다.Since the program voltage increased by a predetermined increment ΔV is applied to the select word line until the program operation is completed, the program verify voltages (selective verify voltages and sequential verify voltages) are also applied whenever the program voltage is applied. It is applied sequentially. The program verify voltages (selective verify voltages and sequential verify voltages) that are applied are gradually increased in the order in which they are applied. That is, the first selective verify voltage V SLVRF11 is the smallest voltage value, and the fifteenth sequential verify voltage V SQVRF1110 is the largest voltage value. Also, each of the program verify voltages (selective verify voltages and sequential verify voltages) is applied with a voltage smaller than the program voltage.

도 10은 본 발명의 실시 예에 따른 프로그램 동작을 예시적으로 보여주는 순서도이다. 본 발명의 실시 예에 따른 프로그램 동작은 도 1 및 도 10을 통해 설명될 것이다.10 is a flowchart illustrating a program operation according to an embodiment of the present invention. Program operations according to an embodiment of the present invention will be described with reference to FIGS. 1 and 10.

제어 로직(130)은 데이터 입출력 회로(140)에 저장된 데이터에 따라, 목표 프로그램 상태로 프로그램하기 위한 프로그램 전압(VPGM)을 선택 워드 라인에 인가한다(S110 단계). 프로그램 전압(VPGM)을 인가한 후, 제어 로직(130)은 임시 프로그램 상태에 따라 선택 검증 동작을 수행한다(S120 단계). 선택 검증 동작이 수행되는 동안, 데이터 입출력 회로들(140) 각각은 저장된 데이터의 임시 프로그램 상태에 대한 선택 검증 동작이 수행되는 경우에만 해당 비트 라인을 선택적으로 프리차지한다. 제어 로직(130)은 선택 검증 전압(VSLVRF)이 선택 워드 라인에 인가되도록, 전압 발생기(135)를 제어할 것이다. 선택 검증 동작이 완료되면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다.The control logic 130 applies a program voltage V PGM to the selected word line for programming to the target program state according to the data stored in the data input / output circuit 140 (step S110). After applying the program voltage V PGM , the control logic 130 performs a selective verify operation according to the temporary program state (S120). During the select verify operation, each of the data input / output circuits 140 selectively precharges the corresponding bit line only when the select verify operation for the temporary program state of the stored data is performed. The control logic 130 will control the voltage generator 135 such that the select verify voltage V SLVRF is applied to the select word line. When the selection verify operation is completed, the program state of the memory cell connected to the precharged bit line is determined according to the state of the memory cell, and the program state is stored in the corresponding data input / output circuit.

선택 검증 동작이 수행된 후, 제어 로직(130)은 선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 목표 프로그램 상태에 따라 순차 검증 동작을 수행한다(S130 단계). 순차 검증 동작이 수행되는 동안, 데이터 입출력 회로들(140) 각각은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 결과에 따라 해당 비트 라인을 선택적으로 프리차지한다. 즉, 데이터 입출력 회로들(140) 각각은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작에서 프로그램 패스된 메모리 셀의 비트 라인만을 프리차지한다.After the selection verify operation is performed, the control logic 130 performs a sequential verification operation according to the target program state that can be programmed from the temporary program state where the selection verify operation is performed (step S130). During the sequential verification operation, each of the data input / output circuits 140 selectively precharges the corresponding bit line according to the selective verification operation performed previously or the sequential verification result performed previously. That is, each of the data input / output circuits 140 precharges only the bit lines of the memory cells that have been program-passed in the selective verify operation or the sequential verify operation previously performed.

제어 로직(130)은 순차 검증 전압(VSQVRF)이 선택 워드 라인에 인가되도록, 전압 발생기(135)를 제어할 것이다. 순차 검증 동작이 완료되면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다.The control logic 130 will control the voltage generator 135 such that the sequential verify voltage V SQVRF is applied to the selected word line. When the sequential verification operation is completed, the program state of the memory cell connected to the precharged bit line is determined according to the state of the memory cell, and the program state is stored in the corresponding data input / output circuit.

순차 검증 동작은 복수의 순차 검증 동작으로 구성된다. 제어 로직(130)은 선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 모든 목표 프로그램 상태에 대해서 순차 검증 동작이 수행되었는지의 여부를 판별한다(S140 단계). 선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 모든 목표 프로그램 상태에 대한 순차 검증 동작이 수행되지 않았다면, 제어 로직(130)은 나머지 목표 프로그램 상태에 대한 순차 검증 동작(S130 단계)을 문턱 전압 크기가 작은 목표 프로그램 상태부터 순차적으로 수행한다.The sequential verification operation consists of a plurality of sequential verification operations. The control logic 130 determines whether or not the sequential verification operation is performed on all target program states that can be programmed from the temporary program state in which the selective verifying operation is performed (step S140). If the sequential verify operation for all target program states that can be programmed from the temporary program state in which the selective verify operation is performed is not performed, the control logic 130 thresholds the sequential verify operation (step S130) for the remaining target program states. It executes sequentially from the small target program state.

선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 모든 목표 프로그램 상태에 대해서 순차 검증 동작이 수행되었다면, 제어 로직(130)은 모든 임시 프로그램 상태에 대해서 선택 검증 동작이 수행되었는지의 여부를 판별한다(S150 단계). 이러한 임시 프로그램 상태는 메모리 셀이 저장할 수 있는 비트 수에 따라 결정될 것이다. 모든 임시 프로그램 상태에 대해서 선택 검증 동작이 수행되지 않았다면, 제어 로직(130)은 나머지 임시 프로그램 상태에 대한 선택 검증 동작(S120 단계)을 문턱 전압 크기가 작은 임시 프로그램 상태부터 순차적으로 수행한다.If the sequential verify operation is performed on all target program states that can be programmed from the temporary program state on which the select verify operation has been performed, the control logic 130 determines whether the select verify operation is performed on all the temporary program states. (Step S150). This temporary program state will be determined by the number of bits that the memory cell can store. If the selective verify operation is not performed for all the temporary program states, the control logic 130 sequentially performs the selective verify operation (step S120) for the remaining temporary program states from the temporary program state having a small threshold voltage level.

모든 임시 프로그램 상태에 대한 선택 검증 동작과 모든 목표 프로그램 상태에 대한 순차 검증 동작이, 문턱 전압의 크기에 따라 순차적으로 수행되었다면, 제어 로직(130)은 프로그램될 메모리 셀들이 모두가 프로그램 패스되었는지의 여부를 확인한다(S160 단계). 프로그램될 메모리 셀들 모두가 프로그램 패스되었으면 제어 로직(130)은 프로그램 동작을 종료한다. 만약, 프로그램될 메모리 셀들이 모두 프로그램 패스되지 않았다면, 제어 로직(130)은 정해진 횟수 내에서 프로그램 전압을 인가하는 동작(S110 단계), 선택 검증 동작(S120 단계), 및 순차 검증 동작(S130 단계)를 반복적으로 수행한다.If the selective verify operation for all the temporary program states and the sequential verify operation for all the target program states are performed sequentially according to the magnitude of the threshold voltage, the control logic 130 determines whether all of the memory cells to be programmed are programmed through. Check (S160 step). If all of the memory cells to be programmed are programmed, the control logic 130 ends the program operation. If all of the memory cells to be programmed are not programmed, the control logic 130 applies the program voltage within a predetermined number of times (step S110), select verification operation (step S120), and sequential verification operation (step S130). Repeatedly

본 발명의 실시 예에 따른 프로그램 검증 동작은 선택 검증 동작(selective verify operation)과 순차 검증 동작(sequentail verify operation)으로 구성된다. 선택 검증 동작 시에, 데이터 입출력 회로(140)는 저장된 데이터의 임시 프로그램 상태에 따라 해당 비트 라인을 선택적으로 프리차지한다. 순차 검증 동작 시에, 데이터 입출 회로(140)는 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작 결과에 따라 각각의 비트 라인을 선택적으로 프리차지한다. 따라서, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(CSL)에 전류가 흐를 때 발생하는 공통 소스 라인(CSL)의 노이즈 전압이 감소될 것이다.A program verifying operation according to an exemplary embodiment of the present invention includes a selective verify operation and a sequential verify operation. In the selection verify operation, the data input / output circuit 140 selectively precharges the corresponding bit line according to the temporary program state of the stored data. In the sequential verification operation, the data fetching circuit 140 selectively precharges each bit line according to the result of the selective verification operation performed previously or the sequential verification operation performed previously. Thus, memory cells that do not require program verification (e.g., memory cells with threshold voltages lower than the target program state, memory cells that reach the target program state, or memory cells programmed from different temporary program states) On-cell current will not flow during subsequent program verify operations. When the on cell current decreases, the noise voltage of the common source line CSL generated when current flows in the common source line CSL will be reduced.

도 11은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 사용자 장치를 예시적으로 보여주는 블럭도이다.11 is a block diagram illustrating a user device including a nonvolatile memory device according to an embodiment of the present invention.

도 11을 참조하면, 데이터 저장 장치(1000)는 솔리드 스테이트 드라이브(solid state drive, 이하, 'SSD'라 칭함)일 것이다. SSD(1100)는 SSD 컨트롤러(SSD controller, 1200), 버퍼 메모리 장치(buffer memory device, 1300), 그리고 저장 매체(1400)를 포함한다. 본 발명의 실시 예에 따른 SSD(1100)는 슈퍼 캐패시터들(super capacitors)을 포함하는 임시 전원 회로를 더 포함할 수 있다. 이러한 임시 전원 회로는 서든 파워 오프(sudden power off)가 발생하는 경우, SSD(1100)가 정상적으로 종료되도록 전원을 공급할 수 있다.Referring to FIG. 11, the data storage device 1000 may be a solid state drive (hereinafter, referred to as 'SSD'). The SSD 1100 may include an SSD controller 1200, a buffer memory device 1300, and a storage medium 1400. The SSD 1100 according to an embodiment of the present invention may further include a temporary power supply circuit including super capacitors. The temporary power supply circuit may supply power such that the SSD 1100 is normally terminated when sudden power off occurs.

SSD(1100)는 호스트(1500)의 액세스 요청에 응답하여 동작된다. 즉, 호스트(1500)로부터의 요청에 응답하여, SSD 컨트롤러(1200)는 저장 매체(1400)를 액세스하도록 구성된다. 예를 들면, SSD 컨트롤러(1200)는 저장 매체(220)의 읽기, 쓰기 그리고 소거 동작을 제어하도록 구성된다. 버퍼 메모리 장치(1300)에는 저장 매체(1400)에 저장될 데이터가 임시 저장된다. 또한, 버퍼 메모리 장치(1300)에는 저장 매체(1400)로부터 읽혀진 데이터가 임시 저장된다. 버퍼 메모리 장치(1300)에 저장된 데이터는 SSD 컨트롤러(1200)의 제어에 따라 저장 매체(1400) 또는 호스트(1500)로 전송된다.The SSD 1100 is operated in response to an access request of the host 1500. That is, in response to a request from the host 1500, the SSD controller 1200 is configured to access the storage medium 1400. For example, SSD controller 1200 is configured to control read, write, and erase operations of storage medium 220. Data to be stored in the storage medium 1400 is temporarily stored in the buffer memory device 1300. In addition, the data read from the storage medium 1400 is temporarily stored in the buffer memory device 1300. Data stored in the buffer memory device 1300 is transmitted to the storage medium 1400 or the host 1500 under the control of the SSD controller 1200.

SSD 컨트롤러(1200)는 복수의 채널들(CH0~CHn)을 통해 저장 매체(1400)와 연결된다. 각각의 채널들(CH0~CHn)에는 복수의 불휘발성 메모리 장치들(NVM00~NVM0i, NVn0~NVni)이 연결된다. 복수의 불휘발성 메모리 장치들은 채널을 공유할 수 있다. 저장 매체(1400)는 본 발명의 실시 예에 따른 낸드 플래시 메모리 장치(NAND flash memory device)로 구성될 것이다. 하지만, 저장 매체(220)가 낸드 플래시 메모리 장치에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 저장 매체(1400)는 노어 플래시 메모리 장치(NOR flash memory device), PRAM(Phase-change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등과 같은 불휘발성 메모리 장치들 중 하나로 구성될 수 있다.The SSD controller 1200 is connected to the storage medium 1400 through a plurality of channels CH0 to CHn. Each of the channels CH0 to CHn is connected to a plurality of nonvolatile memory devices NVM00 to NVM0i and NVn0 to NVni. The plurality of nonvolatile memory devices may share a channel. The storage medium 1400 may be configured as a NAND flash memory device according to an embodiment of the present invention. However, it will be appreciated that the storage medium 220 is not limited to NAND flash memory devices. For example, the storage medium 1400 is configured as one of nonvolatile memory devices such as a NOR flash memory device, a phase-change RAM (PRAM), a ferroelectric RAM (FRAM), and a magnetic RAM (MRAM). Can be.

본 발명의 실시 예에 따른 데이터 저장 장치(1000)의 저장 매체(1400)는, 선택 검증 동작과 순차 검증 동작으로 구성되는 프로그램 검증 동작을 수행한다. 따라서, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(CSL)에 전류가 흐를 때 발생하는 공통 소스 라인(CSL)의 노이즈가 감소될 것이다. 이러한 저장 매체(1400)로 인하여 데이터 저장 장치(1000)의 신뢰성이 향상될 수 있다.The storage medium 1400 of the data storage device 1000 according to an exemplary embodiment of the present invention performs a program verifying operation including a selective verifying operation and a sequential verifying operation. Thus, memory cells that do not require program verification (e.g., memory cells with threshold voltages lower than the target program state, memory cells that reach the target program state, or memory cells programmed from different temporary program states) On-cell current will not flow during subsequent program verify operations. When the on cell current decreases, noise of the common source line CSL generated when current flows in the common source line CSL will be reduced. Due to the storage medium 1400, the reliability of the data storage device 1000 may be improved.

도 12는 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 또 다른 사용자 장치를 예시적으로 보여주는 블럭도이다.12 is a block diagram illustrating another user device including a nonvolatile memory device according to an embodiment of the present invention.

도 12를 참조하면, 메모리 시스템(2000)은 메모리 컨트롤러(2200) 및 불휘발성 메모리 장치를 포함한다. 메모리 시스템(2000)은 복수의 불휘발성 메모리 장치들을 포함할 수 있다. 본 발명의 실시 예에 따른 메모리 시스템(2000)은 복수의 불휘발성 메모리 장치들(2900)을 포함한다.Referring to FIG. 12, the memory system 2000 includes a memory controller 2200 and a nonvolatile memory device. The memory system 2000 may include a plurality of nonvolatile memory devices. The memory system 2000 according to an embodiment of the present invention includes a plurality of nonvolatile memory devices 2900.

메모리 컨트롤러(2200)는 호스트(2100) 및 불휘발성 메모리 장치(2900)에 연결된다. 호스트(2100)로부터의 요청에 응답하여, 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900)을 액세스하도록 구성된다. 예를 들면, 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900)의 읽기, 쓰기 그리고 소거 동작을 제어하도록 구성된다. 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900) 및 호스트(2100) 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900)을 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.The memory controller 2200 is connected to the host 2100 and the nonvolatile memory device 2900. In response to a request from the host 2100, the memory controller 2200 is configured to access the nonvolatile memory devices 2900. For example, the memory controller 2200 is configured to control read, write and erase operations of the nonvolatile memory devices 2900. The memory controller 2200 is configured to provide an interface between the nonvolatile memory devices 2900 and the host 2100. The memory controller 2200 is configured to drive firmware for controlling the nonvolatile memory devices 2900.

메모리 컨트롤러(2200)는 램(random access memory: RAM), 중앙 처리 장치(central processing unit: CPU), 호스트 인터페이스(host interface), 에러 정정 블럭(error correcting code: ECC), 그리고 메모리 인터페이스(memory interface)와 같은 잘 알려진 구성 요소들을 포함할 수 있다. 램(2600)은 중앙 처리 장치(2400)의 동작 메모리(working memory)로써 이용될 수 있다. 중앙 처리 장치(2400)는 메모리 컨트롤러(2200)의 제반 동작을 제어한다.The memory controller 2200 may include random access memory (RAM), a central processing unit (CPU), a host interface, an error correcting code (ECC), and a memory interface. And well known components, such as). The RAM 2600 may be used as a working memory of the central processing unit 2400. The central processing unit 2400 controls overall operations of the memory controller 2200.

호스트 인터페이스(2300)는 호스트(2100)와 메모리 컨트롤러(2200) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들면, 메모리 컨트롤러(2200)는 USB(Universal Serial Bus) 프로토콜, MMC(Multimedia Card) 프로토콜, PCI(Peripheral Component Interconnection) 프로토콜, PCI-E(PCI-Express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, SATA(Serial ATA) 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small Disk Interface) 프로토콜, 그리고 IDE(Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 수 있다.The host interface 2300 may include a protocol for exchanging data between the host 2100 and the memory controller 2200. For example, the memory controller 2200 may include a universal serial bus (USB) protocol, a multimedia card (MMC) protocol, a peripheral component interconnect (PCI) protocol, a PCI-Express (PCI-Express) protocol, and an advanced technology attachment (ATA) protocol. Through one of a variety of interface protocols, such as Serial ATA (SATA) protocol, Small Computer Small Interface (SCSI) protocol, Enhanced Small Disk Interface (ESDI) protocol, and Integrated Drive Electronics (IDE) protocol. Host).

에러 정정 블럭(2700)은 불휘발성 메모리 장치들(2900)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성될 수 있다. 에러 정정 블럭(2700)은 메모리 컨트롤러(2200)의 구성 요소로 제공될 수 있다. 다른 예로써, 에러 정정 블럭(2700)은 불휘발성 메모리 장치들(2900) 각각의 구성 요소로 제공될 수 있다. 메모리 인터페이스(2500)는 불휘발성 메모리 장치들(2900)과 메모리 컨트롤러(2200)를 인터페이싱(interfacing)할 수 있다.The error correction block 2700 may be configured to detect and correct an error of data read from the nonvolatile memory devices 2900. The error correction block 2700 may be provided as a component of the memory controller 2200. As another example, the error correction block 2700 may be provided as a component of each of the nonvolatile memory devices 2900. The memory interface 2500 may interface the nonvolatile memory devices 2900 and the memory controller 2200.

메모리 컨트롤러(2200)의 구성 요소들이 위에서 언급된 구성 요소들에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 메모리 컨트롤러(2200)는 초기 부팅 동작에 필요한 코드 데이터(code data) 그리고 호스트(2100)와의 인터페이싱을 위한 데이터를 저장하는 ROM(read only memory)을 더 포함할 수 있다.It will be appreciated that the components of the memory controller 2200 are not limited to the components mentioned above. For example, the memory controller 2200 may further include a read only memory (ROM) that stores code data necessary for an initial booting operation and data for interfacing with the host 2100.

메모리 컨트롤러(2200) 및 불휘발성 메모리 장치들(2900)은 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 메모리 컨트롤러(2200) 및 불휘발성 메모리 장치들(2900)은 하나의 반도체 장치로 집적되어 PCMCIA(personal computer memory card international association) 카드, CF(compact flash) 카드, 스마트 미디어(smart media) 카드, 메모리 스틱(memory stick), 멀티 미디어(multi media) 카드(MMC, RS-MMC, MMC-micro), SD(secure digital) 카드(SD, Mini-SD, Micro-SD, SDHC), UFS(niversal flash storage) 등을 구성할 수 있다.The memory controller 2200 and the nonvolatile memory devices 2900 may be integrated into one semiconductor device to configure a memory card. For example, the memory controller 2200 and the nonvolatile memory devices 2900 may be integrated into a single semiconductor device such that a personal computer memory card international association (PCMCIA) card, a compact flash (CF) card, and smart media are provided. Cards, memory sticks, multi media cards (MMC, RS-MMC, MMC-micro), secure digital (SD) cards (SD, Mini-SD, Micro-SD, SDHC), UFS ( niversal flash storage).

다른 예로써, 메모리 컨트롤러(2200) 그리고 불휘발성 메모리 장치들(2900)은 반도체 드라이브(solid state drive: SSD), 컴퓨터(computer), 휴대용 컴퓨터(portable computer), UMPC(ultra mobile personal computer), 워크스테이션(work station), 넷북(net book), PDA(personal digital assistant), 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크(home network)를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크(computer network)를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크(telematics network)를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 시스템(computer system)을 구성하는 다양한 구성 요소들 중 하나, RFID(radio frequency identification) 장치 또는 임베디드 시스템(embedded system)에 적용될 수 있다.As another example, the memory controller 2200 and the nonvolatile memory devices 2900 may include a solid state drive (SSD), a computer, a portable computer, an ultra mobile personal computer (UMPC), a workbench. Work stations, netbooks, personal digital assistants, web tablets, wireless phones, mobile phones, digital cameras, digital voice recorders (digital audio recorder), digital audio player (digital audio player), digital video recorder (digital video recorder), digital video player (digital video player), device capable of transmitting and receiving information in a wireless environment, home network One of various electronic devices constituting a computer, One of various electronic devices constituting a computer network, Various electronic devices constituting a telematics network One of them, one of various components constituting a computer system, may be applied to a radio frequency identification (RFID) device or an embedded system.

다른 예로써, 불휘발성 메모리 장치(2900) 또는 메모리 컨트롤러(2200)는 다양한 형태들의 패키지(package)로 실장될 수 있다. 예를 들면, 불휘발성 메모리 장치(2900) 또는 메모리 시스템(2000)은 POP(package on package), ball grid arrays(BGAs), chip scale packages(CSPs), plastic leaded chip carrier(PLCC), plastic dual in-line package(PDIP), die in waffle pack, die in wafer form, chip on board(COB), ceramic dual in-line package(CERDIP), plastic metric quad flat package(MQFP), thin quad flat package(TQFP), small outline IC(SOIC), shrink small outline package(SSOP), thin small outline package(TSOP), thin quad flat package(TQFP), system in package(SIP), multi chip package(MCP), wafer-level fabricated package(WFP), wafer-level processed stack package(WSP) 등과 같은 방식으로 패키지되어 실장될 수 있다.As another example, the nonvolatile memory device 2900 or the memory controller 2200 may be mounted in various types of packages. For example, nonvolatile memory device 2900 or memory system 2000 may include a package on package (POP), ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carrier (PLCC), plastic dual in -line package (PDIP), die in waffle pack, die in wafer form, chip on board (COB), ceramic dual in-line package (CERDIP), plastic metric quad flat package (MQFP), thin quad flat package (TQFP) , small outline IC (SOIC), shrink small outline package (SSOP), thin small outline package (TSOP), thin quad flat package (TQFP), system in package (SIP), multi chip package (MCP), wafer-level fabricated It can be packaged and implemented in the same way as a package (WFP) or wafer-level processed stack package (WSP).

본 발명의 실시 예에 따른 메모리 시스템(2000)의 불휘발성 메모리 장치(2900)는, 선택 검증 동작과 순차 검증 동작으로 구성되는 프로그램 검증 동작을 수행한다. 따라서, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(CSL)에 전류가 흐를 때 발생하는 공통 소스 라인(CSL)의 노이즈가 감소될 것이다. 이러한 불휘발성 메모리 장치(2900)로 인하여 메모리 시스템(2000)의 신뢰성이 향상될 수 있다.The nonvolatile memory device 2900 of the memory system 2000 according to an exemplary embodiment of the present invention performs a program verifying operation including a selective verifying operation and a sequential verifying operation. Thus, memory cells that do not require program verification (e.g., memory cells with threshold voltages lower than the target program state, memory cells that reach the target program state, or memory cells programmed from different temporary program states) On-cell current will not flow during subsequent program verify operations. When the on cell current decreases, noise of the common source line CSL generated when current flows in the common source line CSL will be reduced. Due to the nonvolatile memory device 2900, the reliability of the memory system 2000 may be improved.

도 13은 도 11의 데이터 저장 장치를 장착하는 컴퓨팅 시스템을 예시적으로 보여주는 블럭도이다.FIG. 13 is a block diagram illustrating an example computing system equipped with the data storage device of FIG. 11.

본 발명에 따른 컴퓨터 시스템(3000)은 시스템 버스(3700)에 전기적으로 연결되는 네트워크 어댑터(3100), 중앙 처리 장치(3200), 데이터 저장 장치(3300), 램(3400), 롬(3500) 그리고 사용자 인터페이스(3600)를 포함한다. The computer system 3000 according to the present invention includes a network adapter 3100, a central processing unit 3200, a data storage device 3300, a RAM 3400, a ROM 3500, and the like, which are electrically connected to the system bus 3700. User interface 3600.

네트워크 어댑터(3100)는 컴퓨터 시스템(3000)과 외부의 네트워크들 간의 인터페이싱을 제공한다. 중앙 처리 장치(3200)는 램(3400)에 상주하는 운영 체제(Operating System)나 응용 프로그램(Application Program)을 구동하기 위한 제반 연산처리를 수행한다. 데이터 저장 장치(3300)는 컴퓨터 시스템(3000)에서 필요한 제반 데이터를 저장한다. 예를 들면, 데이터 저장 장치(3300)에는 컴퓨터 시스템(3000)을 구동하기 위한 운영 체제(Operating System), 응용 프로그램(Application Program), 다양한 프로그램 모듈(Program Module), 프로그램 데이터(Program data), 그리고 유저 데이터(User data) 등이 저장된다. The network adapter 3100 provides an interface between the computer system 3000 and external networks. The central processing unit 3200 performs various operations for driving an operating system or an application program resident in the RAM 3400. The data storage device 3300 stores various data necessary for the computer system 3000. For example, the data storage device 3300 may include an operating system for operating the computer system 3000, an application program, various program modules, program data, and the like. User data and the like are stored.

램(3400)은 컴퓨터 시스템(3000)의 워킹 메모리로 사용될 수 있다. 부팅 시에 램(3400)에는 데이터 저장 장치(3300)로부터 읽혀진 운영 체제(Operating System), 응용 프로그램(Application Program), 다양한 프로그램 모듈(Program Module)과 프로그램들의 구동에 소요되는 프로그램 데이터(Program data)가 로드된다. 롬(3500)에는 부팅시 운영 체제(Operating System)가 구동되기 이전부터 활성화되는 기본적인 입출력 시스템인 바이오스(BIOS: Basic Input/Output System)가 저장된다. 유저 인터페이스(3600)를 통해서 컴퓨터 시스템(3000)과 사용자 사이의 정보 교환이 이루어진다.The RAM 3400 may be used as a working memory of the computer system 3000. At boot time, the RAM 3400 includes an operating system, an application program, various program modules, and program data required to drive programs read from the data storage device 3300. Is loaded. The ROM 3500 stores a basic input / output system (BIOS), which is a basic input / output system that is activated before the operating system is started at boot time. Information exchange occurs between the computer system 3000 and the user via the user interface 3600.

이외에도, 컴퓨터 시스템(3000)은 배터리(Battery)나 모뎀(Modem) 등을 더 포함할 수 있다. 또한, 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨터 시스템에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램(Mobile DRAM) 등이 더 제공될 수 있음은 잘 이해될 것이다.In addition, the computer system 3000 may further include a battery or a modem. In addition, although not shown in the drawings, it is well understood that a computer system according to the present invention may be further provided with an application chipset, a camera image processor (CIS), a mobile DRAM, or the like. Will be.

100 : 플래시 메모리 장치
110 : 메모리 셀 어레이
120 : 행 디코더
130 : 제어 로직
135 : 전압 발생기
140 : 데이터 입출력 회로
100: flash memory device
110: memory cell array
120: row decoder
130: control logic
135: voltage generator
140: data input and output circuit

Claims (10)

복수의 메모리 셀들을 복수의 목표 프로그램 상태들로 프로그램하는 불휘발성 메모리 장치의 프로그램 방법에 있어서:
프로그램 전압을 인가하는 단계;
상기 복수의 목표 프로그램 상태들 중 일부의 목표 프로그램 상태들로 프로그램될 메모리 셀들을 선택하기 위한 선택 검증 동작을 수행하는 단계; 및
상기 선택된 메모리 셀들의 비트 라인을 프리차지하여 프로그램 여부를 판단하기 위한 순차 검증 동작을 수행하는 단계를 포함하는 프로그램 방법.
A program method of a nonvolatile memory device for programming a plurality of memory cells into a plurality of target program states:
Applying a program voltage;
Performing a selective verify operation to select memory cells to be programmed to some target program states of the plurality of target program states; And
And pre-charging the bit lines of the selected memory cells to perform a sequential verification operation for determining whether to program the bit lines.
제 1 항에 있어서,
상기 선택 검증 동작은 상기 순차 검증 동작보다 앞서 수행되는 프로그램 방법.
The method of claim 1,
The selective verify operation is performed before the sequential verify operation.
제 1 항에 있어서,
상기 선택 검증 동작을 수행하는 단계에서, 상기 일부의 목표 프로그램 상태들로 프로그램될 메모리 셀들의 비트 라인들은 선택적으로 프리차지되는 프로그램 방법.
The method of claim 1,
And in the performing the select verify operation, bit lines of memory cells to be programmed to the some target program states are selectively precharged.
제 3 항에 있어서,
상기 프리차지된 메모리 셀들은 각각의 프로그램 상태에 따라 프로그램 검증 결과가 판단되는 프로그램 방법.
The method of claim 3, wherein
And a program verification result according to each program state of the precharged memory cells.
제 3 항에 있어서,
상기 프리차지되지 않은 메모리 셀들은 프로그램 페일된 것으로 판단되는 프로그램 방법.
The method of claim 3, wherein
And the non-precharged memory cells are determined to be program failed.
제 1 항에 있어서,
상기 순차 검증 동작은 상기 일부의 목표 프로그램 상태들 각각에 대해서 수행되는 프로그램 방법.
The method of claim 1,
The sequential verify operation is performed on each of the some target program states.
제 6 항에 있어서,
상기 순차 검증 동작은 상기 선택 검증 동작 또는 앞서 수행된 순차 검증 동작의 프로그램 검증 결과에 따라 상기 메모리 셀들을 선택적으로 프리차지하는 프로그램 방법.
The method according to claim 6,
And the sequential verifying operation selectively precharges the memory cells according to a program verifying result of the selective verifying operation or the previously performed sequential verifying operation.
제 6 항에 있어서,
상기 순차 검증 동작에 있어서, 프로그램 패스된 것으로 판단된 메모리 셀을 선택적으로 프리차지하는 프로그램 방법.
The method according to claim 6,
And in the sequential verify operation, selectively precharge a memory cell determined to be a program pass.
제 1 항에 있어서,
상기 순차 검증 동작을 수행하는 단계에서 인가되는 순차 검증 전압은 상기 선택 검증 동작을 수행하는 단계에서 인가되는 선택 검증 전압 보다 높은 것을 특징으로 하는 프로그램 방법.
The method of claim 1,
And the sequential verify voltage applied in performing the sequential verify operation is higher than the select verify voltage applied in performing the select verify operation.
워드 라인과 비트 라인들 각각에 연결되고, 복수의 목표 프로그램 상태들로 프로그램되는 메모리 셀들;
상기 비트 라인들 각각에 연결되어, 상기 비트 라인들을 프리차지하고 상기 메모리 셀들에 저장된 데이터를 읽어내는 데이터 입출력 회로들; 및
상기 워드 라인에 프로그램 전압을 인가하고, 상기 메모리 셀들의 프로그램 여부를 판단하기 위한 프로그램 검증 동작을 수행하도록 상기 데이터 입출력 회로들을 제어하는 제어 로직을 포함하되,
상기 프로그램 검증 동작은 상기 복수의 목표 프로그램 상태들 중 일부의 목표 프로그램 상태들로 프로그램될 상기 메모리 셀들을 선택하기 위한 선택 검증 동작과, 상기 선택 검증 동작에 의해 선택된 메모리 셀들의 비트 라인을 프리차지하여 프로그램 여부를 판단하는 순차 검증 동작을 포함하는 불휘발성 메모리 장치.
Memory cells connected to each of the word line and the bit line and programmed with a plurality of target program states;
Data input / output circuits connected to each of the bit lines to precharge the bit lines and read data stored in the memory cells; And
And a control logic for applying the program voltage to the word line and controlling the data input / output circuits to perform a program verify operation for determining whether the memory cells are programmed.
The program verify operation may include a select verify operation for selecting the memory cells to be programmed to target program states of some of the plurality of target program states, and precharge the bit lines of the memory cells selected by the select verify operation. Nonvolatile memory device including a sequential verify operation for determining whether or not a program.
KR1020100044556A 2010-05-12 2010-05-12 Nonvolatile memory device and program method thereof KR101662277B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100044556A KR101662277B1 (en) 2010-05-12 2010-05-12 Nonvolatile memory device and program method thereof
US13/100,134 US8422292B2 (en) 2010-05-12 2011-05-03 Nonvolatile memory device and program method thereof
JP2011105041A JP5780824B2 (en) 2010-05-12 2011-05-10 Nonvolatile memory device and program method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100044556A KR101662277B1 (en) 2010-05-12 2010-05-12 Nonvolatile memory device and program method thereof

Publications (2)

Publication Number Publication Date
KR20110125029A true KR20110125029A (en) 2011-11-18
KR101662277B1 KR101662277B1 (en) 2016-10-05

Family

ID=44911658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100044556A KR101662277B1 (en) 2010-05-12 2010-05-12 Nonvolatile memory device and program method thereof

Country Status (3)

Country Link
US (1) US8422292B2 (en)
JP (1) JP5780824B2 (en)
KR (1) KR101662277B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160012300A (en) * 2014-07-23 2016-02-03 삼성전자주식회사 Nonvolatile memory device and operating method thereof

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880778B2 (en) * 2010-05-13 2014-11-04 Micron Technology, Inc. Memory buffer having accessible information after a program-fail
US9236136B2 (en) 2012-12-14 2016-01-12 Intel Corporation Lower page read for multi-level cell memory
US8908441B1 (en) 2013-10-15 2014-12-09 Sandisk Technologies Inc. Double verify method in multi-pass programming to suppress read noise
US8902668B1 (en) 2013-10-15 2014-12-02 Sandisk Technologies Inc. Double verify method with soft programming to suppress read noise
JP5553950B1 (en) * 2013-11-01 2014-07-23 エヌ・ティ・ティレゾナント・テクノロジー株式会社 Image transmission system
US9324419B2 (en) 2014-07-15 2016-04-26 Sandisk Technologies Inc. Multiple pass programming for memory with different program pulse widths
US9343141B2 (en) 2014-07-15 2016-05-17 Sandisk Technologies Inc. Reprogramming memory with single program pulse per data state
US9535786B2 (en) * 2015-02-09 2017-01-03 HGST Netherlands B.V. Adaptive targeting of read levels in storage devices
US9595317B2 (en) * 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
KR102456426B1 (en) * 2015-12-28 2022-10-20 엘지이노텍 주식회사 LED voltage driver circuit
US10535412B2 (en) 2018-02-09 2020-01-14 Sandisk Technologies Llc Single pulse verification of memory cells
KR20220023264A (en) * 2020-08-20 2022-03-02 에스케이하이닉스 주식회사 Memory device and operating method thereof
KR20220023263A (en) 2020-08-20 2022-03-02 에스케이하이닉스 주식회사 Memory device and operating method thereof
US20230410923A1 (en) * 2022-06-21 2023-12-21 Sandisk Technologies Llc Hybrid precharge select scheme to save program icc

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000023177A (en) * 1998-09-16 2000-04-25 이데이 노부유끼 Non-volatile semiconductor memory and method of verifying after writing and reading of the same
KR20060065522A (en) * 2004-12-10 2006-06-14 가부시끼가이샤 도시바 Semiconductor memory device and method of programming semiconductor memory device
KR100764747B1 (en) * 2006-09-15 2007-10-08 삼성전자주식회사 Flash memory device and program method thereof
KR20080016543A (en) * 2005-04-05 2008-02-21 샌디스크 코포레이션 Compensating for coupling during read operations of non-volatile-memory

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898349B2 (en) * 1997-07-29 2007-03-28 株式会社東芝 Semiconductor memory device
JP4306042B2 (en) * 1998-09-16 2009-07-29 ソニー株式会社 NONVOLATILE SEMICONDUCTOR MEMORY DEVICE, NONVOLATILE SEMICONDUCTOR MEMORY DEVICE VERIFY METHOD AND READ METHOD
WO2004029984A2 (en) * 2002-09-24 2004-04-08 Sandisk Corporation Non-volatile memory and its sensing method
DE602004007886T2 (en) * 2004-03-30 2008-04-24 Stmicroelectronics S.R.L., Agrate Brianza Sequential write test method with result storage
KR100719368B1 (en) * 2005-06-27 2007-05-17 삼성전자주식회사 Apparatus and Method for Adaptive Incremental Step Pulse Programming in Flash Memory Device
US7301817B2 (en) * 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7564718B2 (en) * 2006-04-12 2009-07-21 Infineon Technologies Flash Gmbh & Co. Kg Method for programming a block of memory cells, non-volatile memory device and memory card device
US7525838B2 (en) * 2006-08-30 2009-04-28 Samsung Electronics Co., Ltd. Flash memory device and method for programming multi-level cells in the same
US8000150B2 (en) * 2007-06-19 2011-08-16 Samsung Electronics Co., Ltd. Method of programming memory device
KR101263818B1 (en) 2007-06-19 2013-05-14 삼성전자주식회사 Programming method of flash memory device
KR101322378B1 (en) * 2007-07-09 2013-10-30 삼성전자주식회사 Nonvolatile semiconductor memory devices and program method thereof
KR101296289B1 (en) 2007-08-20 2013-08-14 삼성전자주식회사 Programming method of Non-volatile memory device
US7813188B2 (en) 2007-09-10 2010-10-12 Hynix Semiconductor Inc. Non-volatile memory device and a method of programming a multi level cell in the same
KR100938044B1 (en) 2007-09-10 2010-01-21 주식회사 하이닉스반도체 Non volatile memory device and multi level cell programming method thereof
KR100960448B1 (en) * 2008-05-13 2010-05-28 주식회사 하이닉스반도체 Programming and verifying method of non volatile memory device
JP2009301681A (en) * 2008-06-17 2009-12-24 Vantel Corp Nonvolatile semiconductor memory device and its control method
KR101468100B1 (en) * 2008-09-23 2014-12-04 삼성전자주식회사 Non-volatile memory device and page buffer circuit
KR101016078B1 (en) * 2009-01-21 2011-02-17 주식회사 하이닉스반도체 Non volatile memory device and operating method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000023177A (en) * 1998-09-16 2000-04-25 이데이 노부유끼 Non-volatile semiconductor memory and method of verifying after writing and reading of the same
KR20060065522A (en) * 2004-12-10 2006-06-14 가부시끼가이샤 도시바 Semiconductor memory device and method of programming semiconductor memory device
KR20080016543A (en) * 2005-04-05 2008-02-21 샌디스크 코포레이션 Compensating for coupling during read operations of non-volatile-memory
KR100764747B1 (en) * 2006-09-15 2007-10-08 삼성전자주식회사 Flash memory device and program method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160012300A (en) * 2014-07-23 2016-02-03 삼성전자주식회사 Nonvolatile memory device and operating method thereof

Also Published As

Publication number Publication date
JP5780824B2 (en) 2015-09-16
JP2011238344A (en) 2011-11-24
US20110280083A1 (en) 2011-11-17
KR101662277B1 (en) 2016-10-05
US8422292B2 (en) 2013-04-16

Similar Documents

Publication Publication Date Title
KR101662277B1 (en) Nonvolatile memory device and program method thereof
KR101669550B1 (en) Flash memory device reducing noise of common source line, operating method thereof, and memory system including that
US8902666B2 (en) Programming method for nonvolatile memory device
KR101468096B1 (en) Method for operating nonvolatile memory device and memory system including the same
US8743632B2 (en) Nonvolatile memory device, operating method thereof, and data storage device having the same
KR20140013383A (en) Nonvolatile memory device and operation method thereof
KR20100004767A (en) Flash memory device reducing noise of common source line, program verify method thereof, and memory system including that
US9466389B2 (en) Multiple programming pulse per loop programming and verification method for non-volatile memory devices
KR102122239B1 (en) Non-volatile memory device and program method of the same
CN108597553B (en) Nonvolatile memory device, operating method thereof, and electronic apparatus having the same
US9030878B2 (en) Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof
KR101644979B1 (en) Nonvolatile memory device and read method thereof
US9251901B2 (en) Semiconductor memory device with high threshold voltage distribution reliability method
KR20130007932A (en) Nonvolatile memory device, method of operating the same, and electronic device having the same
CN110648708B (en) Semiconductor memory device, method of operating the same, and memory system
KR20110037100A (en) Nonvolitile memory device and program method thereof
KR101999764B1 (en) Semiconductor memory device
CN110244093A (en) Low-voltage detection circuit and the memory device for including the low-voltage detection circuit
US9269443B2 (en) Semiconductor device and program fail cells
KR20140144990A (en) Semiconductor memory device and operating method thereof
US11107541B2 (en) Memory device and method of operating the memory device
US9484108B2 (en) Integrated circuit, semiconductor memory device, and operating method thereof
US20150194220A1 (en) Semiconductor device and memory system including the same
KR20100004771A (en) Flash memory device controlling common source line voltage, program verify method thereof, and memory system including that
KR20140021909A (en) Semiconductor memory device and operating method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 4