KR20110125029A - Nonvolatile memory device and program method thereof - Google Patents
Nonvolatile memory device and program method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
Description
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 공통 소스 라인의 노이즈를 감소시키는 불휘발성 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.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
메모리 셀 어레이(110)는 데이터를 저장하기 위한 메모리 셀들(memory cells)을 포함한다. 복수의 메모리 셀들은 페이지(page)를 구성한다. 복수의 페이지들은 블럭(block)을 구성한다. 플래시 메모리 장치는 구조적인 특징으로 인해 페이지 단위로 읽기 또는 쓰기 동작을 수행하고, 블럭 단위로 소거 동작을 수행한다.The
각각의 메모리 블럭은 복수의 비트 라인들(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
행 디코더(120)는 복수의 워드 라인들을 통해 메모리 셀 어레이(110)와 연결된다. 행 디코더(120)는 어드레스(ADDR)를 입력받는다. 행 디코더(120)는 행 어드레스(row address)에 따라 메모리 셀 어레이(110)의 블럭 또는 페이지를 선택한다. 제어 로직(130)은 외부 장치(예를 들면, 호스트, 메모리 컨트롤러, 메모리 인터페이스)의 커맨드(CMD) 그리고 제어 신호(CTRL)에 응답하여 플래시 메모리 장치(100)의 제반 동작을 제어한다. 예를 들면, 제어 로직(130)은 플래시 메모리 장치(100)의 읽기, 쓰기(또는 프로그램), 소거(또는 이레이즈) 동작을 제어한다. 이러한 동작을 위하여, 제어 로직(130)은 전압 발생기(135)를 제어하여 바이어스(bias) 전압을 발생한다.The
제어 로직(130)에 포함된 전압 발생기(135)는 읽기, 쓰기, 소거 동작 시에 비트 라인에 제공될 바이어스 전압을 발생한다. 또한, 전압 발생기(135)는 읽기, 쓰기, 소거 동작 시에 워드 라인에 제공될 바이어스 전압을 발생한다. 예를 들면, 읽기 동작 시에, 전압 발생기(135)는 선택 워드 라인에 제공되는 선택 읽기 전압(VRD)과 비선택 워드 라인으로 제공되는 비선택 읽기 전압(VREAD) 등을 발생한다. 다른 예로써, 쓰기 동작 시에, 전압 발생기(135)는 프로그램 전압(VPGM)과 검증 전압(VVRF) 등을 발생한다.The
데이터 입출력 회로(140)는 복수의 비트 라인들(BL0~BLm)을 통해 메모리 셀 어레이(110)와 연결된다. 데이터 입출력 회로(140)는 복수의 데이터 입출력 회로들(141_0~141_m)을 포함한다. 데이터 입출력 회로들(141_0~141_m) 각각은 복수의 비트 라인들(BL0~BLm)에 각각 연결된다. 데이터 입출력 회로(140)는 데이터 입출력 버퍼(도시되지 않음)를 통해 데이터(data)를 출력하고 입력받는다.The data input /
데이터 입출력 회로(140)는 복수의 메모리 셀들 중 선택 메모리 셀에 저장된 데이터를 비트 라인을 통해 읽어낸다. 읽혀진 데이터는 데이터 입출력 버퍼를 통해 플래시 메모리 장치의 외부로 출력된다. 또한, 데이터 입출력 회로(140)는 복수의 메모리 셀들 중 선택 메모리 셀에 프로그램될 데이터를 임시로 저장한다. 데이터 입출력 회로(140)에 저장된 데이터는 프로그램 동작 시에 해당 메모리 셀에 프로그램된다. 이러한 데이터 입출력 회로(140)의 동작은 제어 로직(130)의 제어에 따라 수행된다.The data input /
플래시 메모리 장치(100)는, 프로그램 동작 시에, 선택 워드 라인에 프로그램 전압(VPGM)을 인가한 후, 프로그램 검증 동작(program verify operation)을 수행한다. 프로그램 검증 동작은 메모리 셀의 문턱 전압이 목표 프로그램 상태(target program state)에 도달하였는지를 검증하기 위한 동작이다. 프로그램 검증 동작은 선택 워드 라인에 연결된 복수의 메모리 셀들에 대해 동시에 수행된다. 따라서, 복수의 메모리 셀들에는 프로그램 검증을 필요로 하는 셀과 필요로 하지 않는 셀이 포함되어 있다. 여기에서, 프로그램 검증을 필요로 하지 않는 메모리 셀은 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀일 것이다. 또는, 프로그램 검증을 필요로 하지 않는 메모리 셀은 문턱 전압이 목표 프로그램 상태에 도달한 메모리 셀일 것이다. 또는, 프로그램 검증을 필요로 하지 않는 메모리 셀은, 임시 프로그램 상태로부터 목표 프로그램 상태로 프로그램되는 메모리 셀인 경우, 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀일 것이다.In the program operation, the
본 발명의 실시 예에 따른 프로그램 검증 동작은 선택 검증 동작(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 /
선택 검증 동작에 의해서 메모리 셀이 프로그램 패스(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
따라서, 본 발명의 실시 예에 따르면, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(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
스트링 선택 트랜지스터(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
이러한 공통 소스 라인 전압(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 /
도 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
비록 도시되지는 않았지만, 프로그램 검증 동작은 프리차지(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
도 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
임시 프로그램 상태(TST1)에 대한 제 1 선택 검증 동작(selective verify 11)이 수행되는 동안, 임시 프로그램 상태(TST1)로부터 프로그램되는 메모리 셀(즉, 목표 프로그램 상태가 ST2, ST3, 및 ST4인 메모리 셀)의 데이터 입출력 회로만이 각각의 비트 라인을 프리차지한다. 제어 로직(130)이 제 1 선택 검증 전압(VSLVRF11)을 선택 워드 라인에 인가하면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태(예를 들면, 프로그램 패스 또는 페일)는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다. 이때, 임시 프로그램 상태(TST1)로부터 프로그램되지 않는 메모리 셀(즉, 임시 프로그램 상태 TST2, TST3, 및 TST4로부터 프로그램되는 메모리 셀)의 데이터 입출력 회로는 프로그램 상태를 프로그램 페일된 것(즉, 메모리 셀이 온 셀인 것)으로 저장할 것이다.While the first selective verify
제 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
제 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
한편, 임시 프로그램 상태(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
한편, 임시 프로그램 상태(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
소정의 증가분(Δ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
선택 검증 동작이 수행된 후, 제어 로직(130)은 선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 목표 프로그램 상태에 따라 순차 검증 동작을 수행한다(S130 단계). 순차 검증 동작이 수행되는 동안, 데이터 입출력 회로들(140) 각각은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 결과에 따라 해당 비트 라인을 선택적으로 프리차지한다. 즉, 데이터 입출력 회로들(140) 각각은 앞서 수행된 선택 검증 동작 또는 앞서 수행된 순차 검증 동작에서 프로그램 패스된 메모리 셀의 비트 라인만을 프리차지한다.After the selection verify operation is performed, the
제어 로직(130)은 순차 검증 전압(VSQVRF)이 선택 워드 라인에 인가되도록, 전압 발생기(135)를 제어할 것이다. 순차 검증 동작이 완료되면, 프리차지된 비트 라인에 연결된 메모리 셀의 프로그램 상태는 메모리 셀의 상태에 따라 결정되고, 프로그램 상태는 해당 데이터 입출력 회로에 저장된다.The
순차 검증 동작은 복수의 순차 검증 동작으로 구성된다. 제어 로직(130)은 선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 모든 목표 프로그램 상태에 대해서 순차 검증 동작이 수행되었는지의 여부를 판별한다(S140 단계). 선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 모든 목표 프로그램 상태에 대한 순차 검증 동작이 수행되지 않았다면, 제어 로직(130)은 나머지 목표 프로그램 상태에 대한 순차 검증 동작(S130 단계)을 문턱 전압 크기가 작은 목표 프로그램 상태부터 순차적으로 수행한다.The sequential verification operation consists of a plurality of sequential verification operations. The
선택 검증 동작이 수행된 임시 프로그램 상태로부터 프로그램될 수 있는 모든 목표 프로그램 상태에 대해서 순차 검증 동작이 수행되었다면, 제어 로직(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
모든 임시 프로그램 상태에 대한 선택 검증 동작과 모든 목표 프로그램 상태에 대한 순차 검증 동작이, 문턱 전압의 크기에 따라 순차적으로 수행되었다면, 제어 로직(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
본 발명의 실시 예에 따른 프로그램 검증 동작은 선택 검증 동작(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 /
도 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
SSD(1100)는 호스트(1500)의 액세스 요청에 응답하여 동작된다. 즉, 호스트(1500)로부터의 요청에 응답하여, SSD 컨트롤러(1200)는 저장 매체(1400)를 액세스하도록 구성된다. 예를 들면, SSD 컨트롤러(1200)는 저장 매체(220)의 읽기, 쓰기 그리고 소거 동작을 제어하도록 구성된다. 버퍼 메모리 장치(1300)에는 저장 매체(1400)에 저장될 데이터가 임시 저장된다. 또한, 버퍼 메모리 장치(1300)에는 저장 매체(1400)로부터 읽혀진 데이터가 임시 저장된다. 버퍼 메모리 장치(1300)에 저장된 데이터는 SSD 컨트롤러(1200)의 제어에 따라 저장 매체(1400) 또는 호스트(1500)로 전송된다.The
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
본 발명의 실시 예에 따른 데이터 저장 장치(1000)의 저장 매체(1400)는, 선택 검증 동작과 순차 검증 동작으로 구성되는 프로그램 검증 동작을 수행한다. 따라서, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(CSL)에 전류가 흐를 때 발생하는 공통 소스 라인(CSL)의 노이즈가 감소될 것이다. 이러한 저장 매체(1400)로 인하여 데이터 저장 장치(1000)의 신뢰성이 향상될 수 있다.The
도 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
메모리 컨트롤러(2200)는 호스트(2100) 및 불휘발성 메모리 장치(2900)에 연결된다. 호스트(2100)로부터의 요청에 응답하여, 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900)을 액세스하도록 구성된다. 예를 들면, 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900)의 읽기, 쓰기 그리고 소거 동작을 제어하도록 구성된다. 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900) 및 호스트(2100) 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(2200)는 불휘발성 메모리 장치들(2900)을 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.The
메모리 컨트롤러(2200)는 램(random access memory: RAM), 중앙 처리 장치(central processing unit: CPU), 호스트 인터페이스(host interface), 에러 정정 블럭(error correcting code: ECC), 그리고 메모리 인터페이스(memory interface)와 같은 잘 알려진 구성 요소들을 포함할 수 있다. 램(2600)은 중앙 처리 장치(2400)의 동작 메모리(working memory)로써 이용될 수 있다. 중앙 처리 장치(2400)는 메모리 컨트롤러(2200)의 제반 동작을 제어한다.The
호스트 인터페이스(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
에러 정정 블럭(2700)은 불휘발성 메모리 장치들(2900)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성될 수 있다. 에러 정정 블럭(2700)은 메모리 컨트롤러(2200)의 구성 요소로 제공될 수 있다. 다른 예로써, 에러 정정 블럭(2700)은 불휘발성 메모리 장치들(2900) 각각의 구성 요소로 제공될 수 있다. 메모리 인터페이스(2500)는 불휘발성 메모리 장치들(2900)과 메모리 컨트롤러(2200)를 인터페이싱(interfacing)할 수 있다.The
메모리 컨트롤러(2200)의 구성 요소들이 위에서 언급된 구성 요소들에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 메모리 컨트롤러(2200)는 초기 부팅 동작에 필요한 코드 데이터(code data) 그리고 호스트(2100)와의 인터페이싱을 위한 데이터를 저장하는 ROM(read only memory)을 더 포함할 수 있다.It will be appreciated that the components of the
메모리 컨트롤러(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
다른 예로써, 메모리 컨트롤러(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
다른 예로써, 불휘발성 메모리 장치(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
본 발명의 실시 예에 따른 메모리 시스템(2000)의 불휘발성 메모리 장치(2900)는, 선택 검증 동작과 순차 검증 동작으로 구성되는 프로그램 검증 동작을 수행한다. 따라서, 프로그램 검증을 필요로하지 않는 메모리 셀(예를 들면, 목표 프로그램 상태보다 낮은 문턱 전압을 갖는 메모리 셀, 목표 프로그램 상태에 도달한 메모리 셀, 또는 서로 다른 임시 프로그램 상태로부터 프로그램되는 메모리 셀)은 이후의 프로그램 검증 동작 시에 온 셀 전류가 흐르지 않을 것이다. 온 셀 전류가 감소하면, 공통 소스 라인(CSL)에 전류가 흐를 때 발생하는 공통 소스 라인(CSL)의 노이즈가 감소될 것이다. 이러한 불휘발성 메모리 장치(2900)로 인하여 메모리 시스템(2000)의 신뢰성이 향상될 수 있다.The
도 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
네트워크 어댑터(3100)는 컴퓨터 시스템(3000)과 외부의 네트워크들 간의 인터페이싱을 제공한다. 중앙 처리 장치(3200)는 램(3400)에 상주하는 운영 체제(Operating System)나 응용 프로그램(Application Program)을 구동하기 위한 제반 연산처리를 수행한다. 데이터 저장 장치(3300)는 컴퓨터 시스템(3000)에서 필요한 제반 데이터를 저장한다. 예를 들면, 데이터 저장 장치(3300)에는 컴퓨터 시스템(3000)을 구동하기 위한 운영 체제(Operating System), 응용 프로그램(Application Program), 다양한 프로그램 모듈(Program Module), 프로그램 데이터(Program data), 그리고 유저 데이터(User data) 등이 저장된다. The
램(3400)은 컴퓨터 시스템(3000)의 워킹 메모리로 사용될 수 있다. 부팅 시에 램(3400)에는 데이터 저장 장치(3300)로부터 읽혀진 운영 체제(Operating System), 응용 프로그램(Application Program), 다양한 프로그램 모듈(Program Module)과 프로그램들의 구동에 소요되는 프로그램 데이터(Program data)가 로드된다. 롬(3500)에는 부팅시 운영 체제(Operating System)가 구동되기 이전부터 활성화되는 기본적인 입출력 시스템인 바이오스(BIOS: Basic Input/Output System)가 저장된다. 유저 인터페이스(3600)를 통해서 컴퓨터 시스템(3000)과 사용자 사이의 정보 교환이 이루어진다.The
이외에도, 컴퓨터 시스템(3000)은 배터리(Battery)나 모뎀(Modem) 등을 더 포함할 수 있다. 또한, 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨터 시스템에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램(Mobile DRAM) 등이 더 제공될 수 있음은 잘 이해될 것이다.In addition, the
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.
상기 선택 검증 동작은 상기 순차 검증 동작보다 앞서 수행되는 프로그램 방법.The method of claim 1,
The selective verify operation is performed before the sequential verify operation.
상기 선택 검증 동작을 수행하는 단계에서, 상기 일부의 목표 프로그램 상태들로 프로그램될 메모리 셀들의 비트 라인들은 선택적으로 프리차지되는 프로그램 방법.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.
상기 프리차지된 메모리 셀들은 각각의 프로그램 상태에 따라 프로그램 검증 결과가 판단되는 프로그램 방법.The method of claim 3, wherein
And a program verification result according to each program state of the precharged memory cells.
상기 프리차지되지 않은 메모리 셀들은 프로그램 페일된 것으로 판단되는 프로그램 방법.The method of claim 3, wherein
And the non-precharged memory cells are determined to be program failed.
상기 순차 검증 동작은 상기 일부의 목표 프로그램 상태들 각각에 대해서 수행되는 프로그램 방법.The method of claim 1,
The sequential verify operation is performed on each of the some target program states.
상기 순차 검증 동작은 상기 선택 검증 동작 또는 앞서 수행된 순차 검증 동작의 프로그램 검증 결과에 따라 상기 메모리 셀들을 선택적으로 프리차지하는 프로그램 방법.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.
상기 순차 검증 동작에 있어서, 프로그램 패스된 것으로 판단된 메모리 셀을 선택적으로 프리차지하는 프로그램 방법.The method according to claim 6,
And in the sequential verify operation, selectively precharge a memory cell determined to be a program pass.
상기 순차 검증 동작을 수행하는 단계에서 인가되는 순차 검증 전압은 상기 선택 검증 동작을 수행하는 단계에서 인가되는 선택 검증 전압 보다 높은 것을 특징으로 하는 프로그램 방법.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.
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)
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)
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)
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)
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 |
-
2010
- 2010-05-12 KR KR1020100044556A patent/KR101662277B1/en active IP Right Grant
-
2011
- 2011-05-03 US US13/100,134 patent/US8422292B2/en active Active
- 2011-05-10 JP JP2011105041A patent/JP5780824B2/en active Active
Patent Citations (4)
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)
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 |