KR100847587B1 - Variable programming of non-volatile memory - Google Patents

Variable programming of non-volatile memory Download PDF

Info

Publication number
KR100847587B1
KR100847587B1 KR1020067023277A KR20067023277A KR100847587B1 KR 100847587 B1 KR100847587 B1 KR 100847587B1 KR 1020067023277 A KR1020067023277 A KR 1020067023277A KR 20067023277 A KR20067023277 A KR 20067023277A KR 100847587 B1 KR100847587 B1 KR 100847587B1
Authority
KR
South Korea
Prior art keywords
nonvolatile
programming
reservoirs
program
programmed
Prior art date
Application number
KR1020067023277A
Other languages
Korean (ko)
Other versions
KR20070022693A (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 KR1020067023277A priority Critical patent/KR100847587B1/en
Publication of KR20070022693A publication Critical patent/KR20070022693A/en
Application granted granted Critical
Publication of KR100847587B1 publication Critical patent/KR100847587B1/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
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Abstract

비 휘발성 반도체 메모리에 있어서, 프로그램 방해를 감소시킬 수 있는 시스템과 방법들이 다양한 실시예를 통해 제공된다. 일 실시예에서, NAND 스트링의 마지막 워드라인에 연결된 셀들과 같이 선택된 메모리 셀들은, 하나 이상의 프로그램 검증 레벨들 또는 전압들을 이용하여 프로그램되는 바, 이들 검증 레벨들 또는 전압들은 다른 셀들 또는 다른 워드라인들을 프로그램할때 사용되는 것과 다르다. 예시적인 일 실시예는, 프로그램 동작동안에 스트링에서 프로그램될 마지막 워드라인을 프로그램할 때, 선택된 물리적 상태에 대해 더 낮은 임계전압 검증 레벨을 사용하는 것을 포함한다. 또 다른 실시예는 마지막 워드라인의 메모리 셀들을 선택된 물리적 상태로 프로그램하기 위해 더 낮은 임계전압을 인가하는 것을 포함한다. 몇몇 예시적인 구현예에서는, 더 낮은 검증 레벨을 사용하여 프로그램된 상태들을 판독하기 위한 추가적인 판독레벨들이 설정된다. 일 실시예에서는, NAND 스트링에서 프로그램될 마지막 워드라인과 같은 선택된 메모리 셀들 또는 워드라인들을 프로그래밍할 때에, 명목상 스텝 사이즈보다 큰 제 2 프로그램 전압 스텝 사이즈가 사용된다.In non-volatile semiconductor memory, systems and methods are provided through various embodiments that can reduce program disturb. In one embodiment, selected memory cells, such as cells connected to the last wordline of a NAND string, are programmed using one or more program verify levels or voltages, where these verify levels or voltages may be used to select other cells or other word lines. It is different from the one used when programming. One exemplary embodiment includes using a lower threshold voltage verify level for a selected physical state when programming the last wordline to be programmed in a string during a program operation. Yet another embodiment includes applying a lower threshold voltage to program the memory cells of the last wordline to the selected physical state. In some example implementations, additional read levels are set for reading programmed states using a lower verify level. In one embodiment, when programming selected memory cells or word lines, such as the last word line to be programmed in the NAND string, a second program voltage step size that is nominally larger than the step size is used.

플래시, 메모리, 워드라인, 프로그램 Flash, memory, wordline, program

Description

비휘발성 메모리의 가변 프로그래밍{VARIABLE PROGRAMMING OF NON-VOLATILE MEMORY}VARIABLE PROGRAMMING OF NON-VOLATILE MEMORY

본 발명은 대체적으로 비휘발성 메모리 디바이스의 프로그래밍에 관련된 기술이다.The present invention is generally a technique related to the programming of a nonvolatile memory device.

반도체 메모리 장치는 다양한 전자 장치에서 더욱더 일반적으로 사용되어 왔다. 예를 들어, 비휘발성 반도체 메모리는 셀룰러 전화기, 디지털 카메라, 개인 휴대정보 단말기(PDA), 휴대용 연산 장치, 비-휴대용 연산 장치 및 기타 장치에서 사용된다. 전기적으로 소거가능하고 프로그램가능한 읽기 전용 메모리(Electrical Erasable Programmable Read Only Memory,EEPROM) 및 플래시 메모리가 가장 일반적인 비휘발성 반도체 메모리이다.Semiconductor memory devices have been more and more commonly used in various electronic devices. For example, nonvolatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants (PDAs), portable computing devices, non-portable computing devices, and other devices. Electrically erasable and programmable read only memory (EEPROM) and flash memory are the most common nonvolatile semiconductor memories.

플래쉬 메모리 시스템의 일례에서는, NAND 구조를 사용하는 바, 직렬로 연결된 복수개 트랜지스터들의 정렬을 포함하며, 두개의 선택 게이트들 사이에서 샌드위치되어 있다. 상기 상기 직렬로 된 트랜지스터와 선택 게이트들은 '낸드(NAND) 스트링' 이라고 일컬어 진다. 도1은 하나의 낸드 스트링을 도시한 평면도이다. 도2는 도1에 도시된 구조의 등가회로이다.In one example of a flash memory system, a NAND structure is used, which includes an arrangement of a plurality of transistors connected in series, sandwiched between two select gates. The series transistors and select gates are referred to as 'NAND strings'. 1 is a plan view showing one NAND string. FIG. 2 is an equivalent circuit of the structure shown in FIG.

도1과 도2에 도시된 낸드 스트링은, 직렬로 연결되어 있으며 제 1 선택 게이 트(120)과 제 2 선택 게이트(122) 사이에서 샌드위치된 4개의 트랜지스터(100, 102, 104, 106)를 포함한다. 선택 게이트(120)는 낸드 스트링을 비트라인(126)에 연결한다. 선택 게이트(122)는 낸드 스트링을 소스라인(128)에 연결한다. 선택 게이트(120)는, 선택 게이트(120)의 제어 게이트(120CG)에 적절한 전압을 인가함으로서 제어할 수 있다. 선택 게이트(122)는, 선택 게이트(122)의 제어 게이트(122CG)에 적절한 전압을 인가함으로서 제어할 수 있다.The NAND strings shown in FIGS. 1 and 2 connect four transistors 100, 102, 104, 106 connected in series and sandwiched between the first select gate 120 and the second select gate 122. Include. The select gate 120 connects the NAND string to the bit line 126. The select gate 122 connects the NAND string to the source line 128. The selection gate 120 can be controlled by applying an appropriate voltage to the control gate 120CG of the selection gate 120. The selection gate 122 can be controlled by applying an appropriate voltage to the control gate 122CG of the selection gate 122.

각각의 트랜지스터(100, 102, 104, 106)들은 제어 게이트와 플로팅 게이트를 포함한다. 예를 들면, 트랜지스터(100)는 제어 게이트(100CG)와 플로팅 게이트(100FG)를 갖는다. 트랜지스터(102)는 제어 게이트(102CG)와 플로팅 게이트(102FG)를 갖는다. 트랜지스터(104)는 제어 게이트(104CG)와 플로팅 게이트(104FG)를 갖는다. 트랜지스터(106)는 제어 게이트(106CG)와 플로팅 게이트(106FG)를 갖는다. 제어 게이트(100CG)는 워드라인(WL3)에 연결되어 있고, 제어 게이트(102CG)는 워드라인(WL2)에 연결되어 있고, 제어 게이트(104CG)는 워드라인(WL1)에 연결되어 있고, 제어 게이트(106CG)는 워드라인(WL0)에 연결되어 있다. Each of the transistors 100, 102, 104, 106 includes a control gate and a floating gate. For example, transistor 100 has control gate 100CG and floating gate 100FG. Transistor 102 has control gate 102CG and floating gate 102FG. Transistor 104 has control gate 104CG and floating gate 104FG. Transistor 106 has control gate 106CG and floating gate 106FG. The control gate 100CG is connected to the word line WL3, the control gate 102CG is connected to the word line WL2, the control gate 104CG is connected to the word line WL1, and the control gate 106CG is connected to the word line WL0.

도3은 전술한 낸드 스트링의 절단면을 도시한 단면도이다. 도3에 도시된 바와같이, 낸드 스트링의 트랜지스터들(셀들이라고 호칭되거나 또는 메모리 셀들이라고 호칭된다)은 P-웰 영역에 형성된다. 각각의 트랜지스터는 제어 게이트(100CG, 102CG, 104CG, 106CG)와 플로팅 게이트(100FG, 102FG, 104FG, 106FG)로 구성된 스택된(stacked) 게이트 구조를 포함한다. 플로팅 게이트들은 P-웰 표면 상에서 산화물 필름위에 형성된다. 제어 게이트는 플로팅 게이트 위에 존재하며, 산화층이 제 어 게이트와 플로팅 게이트를 분리한다. 도3에서는 트랜지스터들(120, 122)의 제어 게이트와 플로팅 게이트가 묘사되고 있는 것처럼 보이는 것에 주의하라. 하지만, 트랜지스터(120, 122)의 경우, 제어 게이트와 플로팅 게이트는 서로 연결되어 있다. 3 is a cross-sectional view showing a cut surface of the NAND string described above. As shown in Fig. 3, the NAND string transistors (called cells or memory cells) are formed in the P-well region. Each transistor includes a stacked gate structure consisting of control gates 100CG, 102CG, 104CG, 106CG and floating gates 100FG, 102FG, 104FG, 106FG. Floating gates are formed on the oxide film on the P-well surface. The control gate is above the floating gate, and an oxide layer separates the control gate and the floating gate. Note that in FIG. 3, the control and floating gates of transistors 120 and 122 appear to be depicted. However, in the transistors 120 and 122, the control gate and the floating gate are connected to each other.

메모리 셀들(100, 102, 104, 106)의 제어 게이트들은 워드라인들을 형성한다. N+ 확산층들(130, 132, 134, 136, 138)은 이웃 셀들 사이에서 공유되며, 이에 의해 상기 셀들이 직렬로 서로 연결되어 낸드 스트링을 형성한다. 이러한 N+ 확산층들은 각 셀들의 소스와 드레인을 형성한다. 예를 들면, N+ 확산층(130)은 트랜지스터(122)의 드레인에 해당하고 트랜지스터(106)의 소스에 해당하며, N+ 확산층(132)은 트랜지스터(106)의 드레인에 해당하고 트랜지스터(104)의 소스에 해당하며, N+ 확산층(134)은 트랜지스터(104)의 드레인에 해당하고 트랜지스터(102)의 소스에 해당하며, N+ 확산층(136)은 트랜지스터(102)의 드레인에 해당하고 트랜지스터(100)의 소스에 해당하며, N+ 확산층(138)은 트랜지스터(100)의 드레인에 해당하고 트랜지스터(120)의 소스에 해당한다. N+ 확산층(126)은 낸드 스트링의 비트라인에 연결되며, 반면에 N+ 확산층(128)은 다수개 낸드 스트링들의 공통 소스라인에 연결된다. Control gates of the memory cells 100, 102, 104, 106 form word lines. N + diffusion layers 130, 132, 134, 136, and 138 are shared between neighboring cells, whereby the cells are connected in series to form a NAND string. These N + diffusion layers form the source and drain of each cell. For example, N + diffusion layer 130 corresponds to the drain of transistor 122 and the source of transistor 106, and N + diffusion layer 132 corresponds to the drain of transistor 106 and the source of transistor 104. N + diffusion layer 134 corresponds to the drain of transistor 104 and the source of transistor 102, and N + diffusion layer 136 corresponds to the drain of transistor 102 and the source of transistor 100. The N + diffusion layer 138 corresponds to the drain of the transistor 100 and corresponds to the source of the transistor 120. N + diffusion layer 126 is connected to the bit line of the NAND string, while N + diffusion layer 128 is connected to the common source line of the plurality of NAND strings.

비록, 도1 내지 도3이 하나의 낸드 스트링내의 4개의 메모리 셀들을 도시하고 있지만, 4개의 트랜지스터를 사용하는 것은 다만 일례일 뿐이다. 낸드 스트링은 4개보다 더 적은 메모리 셀들을 가질 수 있거나 또는 4개 보다 더 많은 메모리 셀들을 가질 수 있다. 예를 들면,어떤 낸드 스트링들은 8개의 메모리 셀들을 포함할 수 있으며, 16개, 32개 등등의 메모리 셀을 갖을 수 있다. 이상에서 논의된 바는 하나의 낸드 스트링내의 메모리 셀들의 갯수를 특정하게 한정하는 것이 아니다.Although FIGS. 1-3 show four memory cells in one NAND string, using four transistors is just one example. The NAND string may have fewer than four memory cells or may have more than four memory cells. For example, some NAND strings may include eight memory cells, and may have 16, 32, and so on. The discussion above does not specifically limit the number of memory cells in one NAND string.

낸드 구성을 사용하는 플래쉬 메모리 시스템의 전형적인 구조는 복수개의 낸드 스트링들을 포함할 것이다. 예를 들어 도4는, 훨씬 더 많은 낸드 스트링들을 보유하고 있는 메모리 어레이에서, 3개의 낸드 스트링(202, 204, 206)을 도시한 도면이다. 도4에 도시된 각각의 낸드 스트링은 4개의 메모리 셀과 2개의 선택 트랜지스터를 포함한다. 예를 들어, 낸드 스트링(202)는 선택 트랜지스터들(220, 230)과 메모리 셀들(222, 224, 226, 228)을 포함한다. 낸드 스트링(204)는 선택 트랜지스터들(240, 250)과 메모리 셀들(242, 244, 246, 248)을 포함한다. 각각의 스트링은 선택 트랜지스터에 의해 소스라인에 연결된다(즉, 선택 트랜지스터 230과 선택 트랜지스터 250). 선택 라인(SGS)은 선택 게이트들의 소스측을 제어하기 위해서 사용된다.A typical structure of a flash memory system using a NAND configuration will include a plurality of NAND strings. For example, Figure 4 shows three NAND strings 202, 204, 206 in a memory array that holds even more NAND strings. Each NAND string shown in FIG. 4 includes four memory cells and two select transistors. For example, the NAND string 202 includes select transistors 220 and 230 and memory cells 222, 224, 226 and 228. The NAND string 204 includes select transistors 240 and 250 and memory cells 242, 244, 246 and 248. Each string is connected to the source line by a select transistor (ie, select transistor 230 and select transistor 250). The select line SGS is used to control the source side of the select gates.

다양한 낸드 스트링들은, 선택 라인 SGD에 의해 제어되는 선택 트랜지스터들20, 240, 등등)에 의해 각각의 비트라인들에 연결된다. 다른 실시예들에서는, 상기 선택 라인들은 공통일 필요는 없다. 워드라인(WL3)은 메모리 셀(222)과 메모리 셀(242)의 제어 게이트들에 연결된다. 워드라인(WL2)은 메모리 셀(224)과 메모리 셀(244)의 제어 게이트들에 연결된다. 워드라인(WL1)은 메모리 셀(226)과 메모리 셀(246)의 제어 게이트들에 연결된다. 워드라인(WL0)은 메모리 셀(228)과 메모리 셀(248)의 제어 게이트들에 연결된다. 도시된 바와같이, 각각의 비트라인과 각각의 낸드 스트링은 메모리 셀 어레이의 컬럼들(columns)을 구성한다. 워드라인들(WL3, WL2, WL1, WL0)은 어레이의 로우(rows)를 구성한다. 각각의 워드라인은, 로우에 위치한 각 메모리 셀의 제어 게이트에 연결된다. 예를 들면, 워드라인(WL2)은 메모리 셀들(224, 244, 252)의 제어 게이트들에 연결된다.The various NAND strings are connected to the respective bit lines by select transistors 20, 240, etc. controlled by the select line SGD. In other embodiments, the select lines need not be common. The word line WL3 is connected to the memory cell 222 and the control gates of the memory cell 242. The word line WL2 is connected to the memory cell 224 and the control gates of the memory cell 244. The word line WL1 is connected to the memory cell 226 and the control gates of the memory cell 246. The word line WL0 is connected to the memory cell 228 and the control gates of the memory cell 248. As shown, each bit line and each NAND string constitute columns of a memory cell array. The word lines WL3, WL2, WL1, and WL0 constitute rows of the array. Each word line is connected to a control gate of each memory cell located in a row. For example, the word line WL2 is connected to the control gates of the memory cells 224, 244, and 252.

각각의 메모리 셀은 데이터(디지탈 또는 아날로그)를 저장할 수 있다. 디지탈 데이터 1 비트를 저장할 때에, 메모리 셀의 가능한 임계전압의 범위는, 논리 데이터 "1" 과 "0"에 할당되는 2 개의 범위로 나뉜다. 낸드 타입의 플래쉬 메모리에 관한 일 실시예에서, 메모리 셀이 소거된 이후에 임계전압은 음의 값을 갖으며, 이는 논리 "1" 로 정의된다. 프로그램 동작 이후에 임계전압은 양의 값을 갖으며, 이는 논리 "0" 로 정의된다. 임계전압이 음(negative)이며 제어 게이트에 0 볼트가 인가되어 읽기(read) 동작이 시도될 때, 메모리 셀은 턴온되어 논리 "1"이 저장되었음을 표시한다. 임계전압이 양(positive)이며 제어 게이트에 0 볼트가 인가되어 읽기(read) 동작이 시도될 때, 메모리 셀은 턴온되지 않는 바, 이는 논리 "0"이 저장되었음을 표시한다. 또한, 하나의 메모리 셀은 정보의 복수 레벨을 저장할 수 있는데, 예를 들면, 디지털 데이터의 복수 비트들을 저장할 수 있다. 데이터의 복수 레벨들을 저장하는 경우에, 가능한 임계전압의 범위는 데이터의 레벨 갯수만큼 나뉘어 진다. 예를 들면, 정보에 관한 네 개의 레벨이 저장되는 경우, 데이터 값 "11", "10", "01", "00" 에 할당되는 네 개의 임계전압 범위들이 존재할 것이다. 낸드 타입 메모리에 관한 일 실시예에서, 소거 동작 이후의 임계전압은 음이며 "11"로 정의된다. 양의 임계전압들은 상태 "10", "01", "00"를 위해 사용된다.Each memory cell can store data (digital or analog). When storing one bit of digital data, the range of possible threshold voltages of the memory cell is divided into two ranges allocated to logical data " 1 " and " 0 ". In one embodiment of a NAND type flash memory, the threshold voltage has a negative value after the memory cell is erased, which is defined as logic "1". After the program operation, the threshold voltage has a positive value, which is defined as logic "0". When the threshold voltage is negative and 0 volts is applied to the control gate and a read operation is attempted, the memory cell is turned on to indicate that logic "1" is stored. When the threshold voltage is positive and 0 volts is applied to the control gate and a read operation is attempted, the memory cell is not turned on, indicating that logic "0" is stored. In addition, one memory cell may store multiple levels of information, for example, multiple bits of digital data. In the case of storing multiple levels of data, the range of possible threshold voltages is divided by the number of levels of data. For example, if four levels of information are stored, there will be four threshold voltage ranges assigned to the data values "11", "10", "01" and "00". In one embodiment of the NAND type memory, the threshold voltage after the erase operation is negative and is defined as "11". Positive threshold voltages are used for states "10", "01", and "00".

낸드 타입 플래쉬 메모리에 관련된 실시예들과 그들의 동작은 다음의 미국 특허들/미국 출원들에서 제공되며, 이러한 모든 특허들과 출원들은 참조로서 본 명세서에 편입된다. 미국 등록 특허 US 5,570,315, US 5,774,397, US 6,046,935, US 6,456,528, US 5,570,315, 미국 특허 출원 09/893,277(공개번호 US2003/0002348). 다른 타입들의 플래쉬 메모리 디바이스들 역시 본 발명의 실시예들을 따라 사용될 수 있다. 예를 들면, 다음의 등록특허들은 노아(NOR) 타입 플래쉬 메모리들에 관한것이며 이들은 본 명세서에 참조로서 전체적으로 편입된다. 미국 등록특허 US 5,095,344, US 5,172,338, US 5,890,192, US 6,151,248. 다른 타입의 플래쉬 메모리에 관한 또 다른 실시예는 미국 등록특허 US 6,151,248에 개시되어 있으며, 이 또한 참조로서 본 명세서에 전체적으로 편입된다.Embodiments related to NAND type flash memory and their operation are provided in the following US patents / US applications, all of which are incorporated herein by reference. US Patents US 5,570,315, US 5,774,397, US 6,046,935, US 6,456,528, US 5,570,315, US Patent Application 09 / 893,277 (published US2003 / 0002348). Other types of flash memory devices may also be used in accordance with embodiments of the present invention. For example, the following patents relate to NOR type flash memories, which are incorporated herein by reference in their entirety. US Patents US 5,095,344, US 5,172,338, US 5,890,192, US 6,151,248. Another embodiment of another type of flash memory is disclosed in US Pat. No. 6,151,248, which is also incorporated herein by reference in its entirety.

플래쉬 메모리 셀을 프로그래밍할 때에, 프로그램 전압이 제어 게이트에 인가되며 비트라인은 접지된다. P-웰로부터의 전자들은 플로팅 게이트로 주입된다. 플로팅 게이트에 전자들이 축적될 때, 플로팅 게이트는 음으로 충전되며 셀의 임계전압은 증가된다. 프로그램 되어질 셀의 제어 게이트에 프로그램 전압을 인가하기 위해서, 그 프로그램 전압은 적절한 워드라인에 인가된다. 먼저에서 논의된 바와같이, 그 워드라인은 또한 동일한 워드라인을 사용하는 각각의 다른 낸드 스트링들의 소정 셀에도 연결되어 있다. 예를 들어, 도4의 셀(224)를 프로그래밍할 때에, 프로그램 전압은 또한 셀 244의 제어 게이트에도 인가될 것인 바, 왜냐하면, 양쪽 셀이 동일한 워드라인을 공유하기 때문이다. 동일한 워드라인에 연결된 다른 셀들은 프로그래밍하지 않으면서 상기 워드라인에 연결된 하나의 셀을 프로그램하고자 할 때에 문제가 발생하는 바, 예를 들면, 도4에서 셀(224)는 프로그램되어야 하나, 셀(244)는 프로그램되지 않아야 할 때이다. 프로그램 전압은 하나의 워드라인에 연결된 모든 셀들에 인가되기 때문에, 워드라인 상에서 선택되지 않은 셀(프로그램 되지 않을 셀), 특히 프로그래밍을 위해 선택된 셀에 인접한 셀은 의도와 달리 프로그램될 수도 있다. 예를 들면, 로우 방향으로 셀(244)은 셀(224)에 인접하고 있다. 셀(224)를 프로그래밍할 때, 셀(244)이 의도와 달리 프로그램될 염려가 있다. 선택된 워드라인 상의 선택되지 않은 셀에 대한 의도하지 않은 프로그래밍은 프로그램 혼란(program diturb)이라고 호칭된다.When programming the flash memory cell, a program voltage is applied to the control gate and the bit line is grounded. Electrons from the P-well are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate is negatively charged and the threshold voltage of the cell is increased. In order to apply a program voltage to the control gate of the cell to be programmed, the program voltage is applied to the appropriate word line. As discussed earlier, the wordline is also connected to a given cell of each of the different NAND strings using the same wordline. For example, when programming cell 224 of Figure 4, the program voltage will also be applied to the control gate of cell 244, because both cells share the same wordline. Problems arise when trying to program one cell connected to the word line without programming other cells connected to the same word line. For example, in FIG. 4, cell 224 must be programmed, but cell 244 ) Is when it should not be programmed. Since the program voltage is applied to all cells connected to one word line, cells not selected on the word line (cells not to be programmed), especially cells adjacent to the cell selected for programming, may be programmed differently. For example, in the row direction, cell 244 is adjacent to cell 224. When programming cell 224, cell 244 may be programmed differently than intended. Unintentional programming of unselected cells on a selected wordline is called program diturb.

프로그램 혼란을 방지하기 위해 많은 기술들이 적용되어 왔다. "셀프 부스팅(self-boosting)" 이라고 알려진 방법에서는, 선택되지 않은 비트라인들은 전기적으로 분리되며 프로그래밍 동안에 선택되지 않은 워드라인들에 통과전압(일예로, 10 볼트)이 인가된다. 선택되지 않은 워드라인들은 선택되지 않은 비트라인들에 연결되므로, 선택되지 않은 비트라인들의 채널내에 소정 전압(일례로, 8 볼트)이 존재하게 하는데, 이에 의해 프로그램 혼란이 감소하는 경향이 있다. 셀프 부스팅은 채널내에서 전압 부양(voltage boost)을 초래하는 바, 이는 터널 산화막 양단의 전압을 감소시키는 경향이 있으며 따라서, 프로그램 혼란을 감소시킨다.Many techniques have been applied to prevent program confusion. In a method known as "self-boosting", unselected bit lines are electrically isolated and a pass voltage (eg, 10 volts) is applied to unselected word lines during programming. Unselected wordlines are connected to unselected bitlines, so that there is a predetermined voltage (e.g., 8 volts) in the channel of the unselected bitlines, which tends to reduce program confusion. Self-boosting results in voltage boost in the channel, which tends to reduce the voltage across the tunnel oxide and thus reduces program confusion.

낸드 스트링은 전형적으로(항상 그렇지는 않지만) 소스측에서부터 드레인 측으로 프로그래밍되는데, 예를 들면, 메모리 셀(228)에서부터 메모리 셀(222)로 프로그래밍된다. 낸드 스트링의 마지막(또는 마지막 부근) 메모리 셀을 프로그램하려고 프로그래밍 프로세스가 준비되었을 때, 금지된 스트링(예를 들면 스트링 204) 상의 미리 프로그램된 모든 셀들 또는 대부분의 셀들이 만일 프로그램되었다면, 미 리 프로그램된 셀들의 플로팅 게이트들내에는 음의 전하가 존재한다. 플로팅 게이트들 상의 이러한 음의 전하때문에, 부양 전위(boosting potential)는 충분히 높게 상승하지 못하며 마지막 몇개의 워드라인들에는 여전히 프로그램 혼란이 존재할 수도 있다. 예를 들면, 셀(222)을 프로그래밍할 때, 만일 셀들(244, 246, 248)이 프로그램되어 있었다면, 이러한 트랜지스터들(244, 246, 248) 각각은 그들의 플로팅 게이트에 음의 전하를 가지며, 이로인해 셀프 부스팅 프로세스의 부양 레벨을 제한하게 되고 셀(242)에서 프로그램 혼란을 허용할 가능성이 있다.NAND strings are typically (but not always) programmed from source side to drain side, for example, from memory cell 228 to memory cell 222. When the programming process is ready to program the last (or near the end) memory cell of the NAND string, all of the preprogrammed cells or most of the cells on the forbidden string (e.g., string 204) have been programmed, if already programmed. There is a negative charge in the floating gates of the cells. Because of this negative charge on the floating gates, the boosting potential does not rise high enough and there may still be program confusion in the last few wordlines. For example, when programming cell 222, if cells 244, 246, 248 were programmed, each of these transistors 244, 246, 248 has a negative charge on their floating gate, This will limit the level of support of the self-boosting process and potentially allow for program confusion in cell 242.

셀프 부스팅에 대해 앞서 논의된 바와같은 문제는, 국부 셀프 부스팅(Local Self Boosting : LSB) 및 소거 영역 셀프 부스팅(Erased Area Self Boosting : EASB)과 같은 다양한 방식들을 통해 제기되어 왔다. 향상된 셀프 부스팅 기술을 포함하고 있는 이러한 다양한 방식들에 대한 개관은 "Improved Self Boosting Technique" 라는 명칭으로 출원된 미국 특허출원 10/379,608에서 찾을 수 있으며, 이 출원은 참조로서 본 명세서에 전체적으로 편입된다. 이러한 방식들은 프로그램 혼란의 발생을 줄이기 위한 향상된 점을 제공하고 있지만은, 프로그램 혼란의 발생을 완벽하게 종식시키고 있지 못하며, 프로그램 혼란을 이끄는 또 다른 문제점들을 야기할 수도 있다. The problem as discussed above for self boosting has been raised through various methods such as Local Self Boosting (LSB) and Eraseed Area Self Boosting (EASB). An overview of these various approaches including improved self-boosting techniques can be found in US patent application Ser. No. 10 / 379,608, filed "Improved Self Boosting Technique," which is incorporated herein by reference in its entirety. While these approaches provide improvements to reduce the incidence of program confusion, they do not completely stop the occurrence of program confusion and may cause other problems that lead to program confusion.

따라서, 프로그램 혼란을 감소시키거나 제거할 수 있는 좀더 우수한 매커니즘이 필요하게 되었다.Thus, there is a need for better mechanisms that can reduce or eliminate program clutter.

본 발명은 대체적으로는 프로그래밍, 프로그래밍에 대한 검증, 메모리 디바이스내의 비휘발성 저장 소자들의 읽기에 관련된 기술이다. 본 발명의 다양한 실시예들에 따른 시스템들과 방법들은 다양한 프로그램 타겟 레벨들, 다양한 검증 레벨들, 다양한 읽기 레벨들 그리고 프로그래밍시, 검증시, 메모리 디바이스에서 선택된 저장 소자들을 읽을 때의 다양한 스텝(step) 사이즈들을 사용할 수 있다. 이러한 시스템들과 방법들에서는, 선택된 저장소자들을 타겟(target) 물리적 상태들로 프로그램하기 위하여 좀더 작은 프로그램 전압을 사용함으로서, 메모리 디바이스에서 프로그램 혼란의 감소와 향상된 데이터 보유를 제공할 수 있다. 또한, 증가된 스텝 사이즈들은 프로그래밍 속도를 증가시키는데에도 사용될 수 있다. The present invention is generally related to programming, verification of programming, and reading of nonvolatile storage elements in a memory device. Systems and methods in accordance with various embodiments of the present invention provide various program target levels, various verify levels, various read levels, and various steps when reading selected storage elements in a memory device during programming, verify, and the like. ) Sizes are available. In such systems and methods, using smaller program voltages to program selected reservoirs into target physical states can provide reduced data clutter and improved data retention in the memory device. In addition, increased step sizes can also be used to increase programming speed.

본 발명에 따른 일실시예에서는, 메모리 시스템을 프로그래밍할 때에, 적어도 2개의 검증 세트들 또는 타겟 레벨들이 사용된다. 선택 워드라인들을 프로그래밍할 때 사용되는 검증레벨들은, 다른 워드라인들을 프로그래밍할 때 사용되는 명목상(nominal)의 검증레벨들하고는 다를 수 있다. 예를 들면, 저장 소자들의 그룹의 마지막 워드라인 또는 그룹의 상기 마지막 워드라인 부근의 워드라인은 검증레벨들의 제 2 세트를 이용하여 프로그래밍될 수 있다. 상기 마지막 워드라인은, 프로그램 동작 동안에 그룹에서 프로그램되는 마지막 워드라인이 될 수 있다. 검증 레벨들의 제 2 세트는, 저장소자가 프로그램될 수도 있는 각각의 물리적인 상태를 위한 제 2 레벨들을 포함할 수 있으며 또는 소정 상태를 대표하기 위해 사용되는 가장 높은 임계전압 범위에 대응하는 물리적 상태와 같이, 선택 물리적 상태들만을 위한 제 2 레벨을 포함할 수 있다. In one embodiment according to the present invention, at least two verify sets or target levels are used when programming a memory system. The verify levels used when programming the select word lines may be different from the nominal verify levels used when programming other word lines. For example, the last wordline of a group of storage elements or a wordline near the last wordline of a group may be programmed using a second set of verify levels. The last word line may be the last word line programmed in a group during a program operation. The second set of verify levels may include second levels for each physical state in which the reservoir may be programmed, or such as a physical state corresponding to the highest threshold voltage range used to represent a given state. And a second level for select physical states only.

마지막 워드라인에 연결된 메모리 셀들 또는 마지막 워드라인에 가까운 워드라인에 연결된 메모리 셀들은, 물리적 상태들을 나타내는 임계전압 분포들을 다른 메모리 셀들보다 더 조밀하게 할 수 있다. 검증 레벨들의 제 2 세트는 이러한 장점을 가지며, 선택된 메모리 셀들이 물리적 상태를 대표하기 위해 좀더 낮은 임계전압들로 프로그램되도록 검증 레벨들의 제 2 세트가 선택될 수 있다. 더 조밀한 분포들 때문에, 상태들 사이에서 적절한 간격을 유지하면서도 임계전압 범위들은 감소될 수 있다. 이러한 방법에 의하면, 선택된 상태로 메모리 셀의 상태를 증가시키기 위해 사용되는 프로그램 전압은 감소될 수 있다. 감소된 프로그램 전압을 사용함으로서, 메모리 디바이스의 프로그램 혼란을 감소시킬 수 있다. 특히, 마지막 워드라인에 연결된 저장소자들이 경험하는 프로그램 혼란이 감소될 수 있으며, 또는 저장 소자들의 그룹에서 마지막 워드라인 인근의 워드라인에 연결된 저장소자가 경험하는 프로그램 혼란 역시 감소될 수 있다.Memory cells connected to the last word line or memory cells connected to a word line close to the last word line may make the threshold voltage distributions representing the physical states more dense than other memory cells. The second set of verify levels has this advantage and a second set of verify levels can be selected such that the selected memory cells are programmed to lower threshold voltages to represent a physical state. Because of the denser distributions, the threshold voltage ranges can be reduced while maintaining proper spacing between states. According to this method, the program voltage used to increase the state of the memory cell to the selected state can be reduced. By using a reduced program voltage, program disruption of the memory device can be reduced. In particular, program confusion experienced by reservoirs connected to the last wordline may be reduced, or program confusion experienced by reservoirs connected to the wordline near the last wordline in a group of storage elements may be reduced.

읽기(read) 레벨들의 제 2 세트 역시 본 발명에 따른 일실시예에서 사용된다. 읽기(read) 레벨들의 제 2 세트는, 선택된 물리적 상태를 대표하는 감소된 임계전압 분포들을 갖는 메모리 셀들을 읽기 위해 선택될 수 있다.A second set of read levels is also used in one embodiment according to the present invention. The second set of read levels may be selected to read memory cells with reduced threshold voltage distributions representative of the selected physical state.

본 발명에 따른 예시적인 일실시예는 비휘발성 메모리를 프로그래밍 하는 방법을 포함하며, 이는 하나 이상의 비휘발성 저장소자들의 제 1 세트를 제 1 물리적 상태로 프로그래밍하는 단계, 그리고 하나 이상의 비휘발성 저장소자들의 제 2 세트를 제 1 물리적 상태로 프로그래밍하는 단계 -여기서, 상기 제 1 물리적 상태는, 하나 이상의 비휘발성 저장소자들의 상기 제 1 세트를 위한 전압보다 낮은 하나 이상의 비휘발성 저장소자들의 상기 제 2 세트를 위한 최소 전압을 포함함- 을 포함하여 이루어진다. One exemplary embodiment according to the present invention includes a method of programming a nonvolatile memory, which comprises programming a first set of one or more nonvolatile reservoirs into a first physical state, and Programming a second set to a first physical state, wherein the first physical state is configured to program the second set of one or more nonvolatile reservoirs lower than the voltage for the first set of one or more nonvolatile reservoirs. Including a minimum voltage for the.

본 발명에 따른 또 다른 예시적인 실시예에는, 비휘발성 메모리를 프로그래밍하는 방법을 포함하며, 이는 하나 이상의 비휘발성 저장소자들의 제 1 세트를 제 1 타겟 레벨을 이용하여 제 1 물리적 상태로 프로그래밍하는 단계, 그리고 하나 이상의 비휘발성 저장소자들의 제 2 세트를 제 2 타겟 레벨을 이용하여 제 1 물리적 상태로 프로그래밍하는 단계 -여기서, 상기 제 2 타겟 레벨은 상기 제 1 타겟 레벨보다 낮음- 을 포함하여 이루어진다. Yet another exemplary embodiment in accordance with the present invention includes a method of programming a nonvolatile memory, which comprises programming a first set of one or more nonvolatile reservoirs to a first physical state using a first target level. And programming a second set of one or more nonvolatile reservoirs to a first physical state using a second target level, wherein the second target level is lower than the first target level.

본 발명에 따른 다른 실시예에서는, 프로그래밍 동작 동안 프로그램 펄스가 증가되는 스텝 사이즈는, 그룹내의 마지막 워드라인과 같은 선택 워드라인들에 대해서는 더 크다. 이러한 실시예에서는, 검증 레벨들의 제 2 세트는 비록 사용이 가능하지만 사용될 필요는 없다. 좀더 조밀한 임계전압 분포들을 갖는 메모리 셀들의 그룹들의 경우, 선택된 임계전압 범위들 내에서 저장소자들을 여전히 정확하게 프로그래밍하면서도, 상기 스텝 사이즈는 증가될 수 있다. 좀더 조밀한 임계전압 분포들 때문에, 하나의 상태에 대한 가장 높은 임계전압과 다음 상태에 대한 가장 낮은 임계전압 사이에서 좀더 큰 이격(separation)이 존재한다. 증가된 스텝 사이즈는, 선택된 저장소자들의 그룹에 대해 증가된 프로그래밍 속도를 가져올 수 있으며, 따라서 전체 메모리 디바이스에 대해 증가된 프로그래밍 속도를 가져올 수 있다. In another embodiment according to the invention, the step size at which the program pulse is increased during the programming operation is larger for selected word lines, such as the last word line in the group. In this embodiment, the second set of verify levels is available but need not be used. For groups of memory cells with denser threshold voltage distributions, the step size can be increased while still programming the reservoirs accurately within the selected threshold voltage ranges. Because of the denser threshold voltage distributions, there is a greater separation between the highest threshold voltage for one state and the lowest threshold voltage for the next state. Increased step size can result in increased programming speed for a group of selected reservoirs and thus increased programming speed for the entire memory device.

본 발명의 일 실시예에 따른 시스템은, 저장소자들의 어레이(array)와 관리 회로를 포함할 수 있다. 상기 관리회로는 전용 하드웨어를 포함할 수 있다. 또한, 상기 관리회로는 비휘발성 메모리(예를들면, 플래쉬 메모리, EEPROM 등등) 또는 다른 메모리 디바이스와 같은 하나 이상의 저장소자에 저장된 소프트웨어에 의해 프로그램되는 하드웨어를 포함할 수 도 있다. 일 실시예에서, 상기 관리회로는 제어기와 상태머신을 포함한다. 다른 실시예에서, 관리회로는 상태머신만을 포함하며 제어기는 포함하지 않는다. 또 다른 실시예에서, 관리회로는 상태머신, 감지 증폭기들 그리고 제어기 중 적어도 하나를 포함한다. 관리회로는 다양한 실시예들에서 전술한 단계들을 수행한다. 본 발명의 몇몇 실시예에 따른 방법은 상태머신에 의해 수행된다. 다른 구현예들에서는, 상태머신은 저장소자들의 어레이와 같이 집적회로에 형성된다.The system according to an embodiment of the present invention may include an array of reservoirs and management circuitry. The management circuit may include dedicated hardware. In addition, the management circuitry may include hardware programmed by software stored in one or more reservoirs, such as non-volatile memory (eg, flash memory, EEPROM, etc.) or other memory device. In one embodiment, the management circuit comprises a controller and a state machine. In another embodiment, the management circuit includes only the state machine and no controller. In yet another embodiment, the management circuit includes at least one of a state machine, sense amplifiers and a controller. The management circuit performs the steps described above in various embodiments. The method according to some embodiments of the present invention is performed by a state machine. In other implementations, the state machine is formed in an integrated circuit as an array of reservoirs.

본 발명의 다른 특징들, 양상들, 목적들은 발명의 상세한 설명, 도면, 청구항들을 참조하여 설명된다.Other features, aspects, and objects of the invention are described with reference to the detailed description, drawings, and claims of the invention.

도1은 낸드 스트링의 평면도이다.1 is a plan view of a NAND string.

도2는 도1에 도시된 낸드 스트링의 등가회로를 도시한 도면이다.FIG. 2 is a diagram showing an equivalent circuit of the NAND string shown in FIG.

도3은 도1에 도시된 낸드 스트링의 단면을 도시한 단면도이다.3 is a cross-sectional view showing a cross section of the NAND string shown in FIG.

도4는 3개의 낸드 스트링에 관한 회로도이다.4 is a circuit diagram of three NAND strings.

도5는 본 발명에 따른 다양한 양상들이 구현될 수 있는 비휘발성 메모리 시스템의 일 실시예에 관한 블록도면이다.Figure 5 is a block diagram of one embodiment of a nonvolatile memory system in which various aspects in accordance with the present invention may be implemented.

도6은 메모리 어레이의 예시적인 구조를 도시한 도면이다.6 illustrates an exemplary structure of a memory array.

도7은 다양한 실시예들에서 선택된 워드라인에 인가될 수 있는 예시적인 프로그램 전압신호, 검증 전압신호를 도시한 도면이다.7 is a diagram illustrating an exemplary program voltage signal and a verify voltage signal that may be applied to a selected word line in various embodiments.

도8은 4개의 상태를 갖는 2 비트의 데이터를 저장하는 저장 소자들의 예시적인 임계전압 분포들을 도시한 도면이다.8 illustrates exemplary threshold voltage distributions of storage elements for storing two bits of data having four states.

도9는 저장소자들의 예시적인 임계전압 분포들과 다중 상태 메모리 셀들을 4개의 물리적인 상태들로 프로그래밍하는 기술에 관한 일례를 도시한 도면이다.9 illustrates an example threshold voltage distributions of reservoirs and an example of a technique for programming multi-state memory cells into four physical states.

도10은 4개의 물리적인 상태들로 프로그램되는 저장소자들의 그룹의 예시적인 임계전압 분포들을 도시한 도면이다.10 is a diagram illustrating exemplary threshold voltage distributions of a group of reservoirs programmed into four physical states.

도11은 예시적인 임계전압 분포들과 본 발명의 일실시예에 따라 프로그램되는 메모리 셀 어레이의 검증레벨을 도시한 도면이다.Figure 11 illustrates exemplary threshold voltage distributions and the verify level of a memory cell array programmed according to one embodiment of the present invention.

도12는 일실시예에 따른 프로그래밍 프로세스에 관한 순서도이다.12 is a flow diagram of a programming process according to one embodiment.

도13은 일실시예에 따른 프로그래밍 프로세스에 관한 순서도이다.13 is a flowchart of a programming process according to an embodiment.

본 발명은 유사한 구성요소들은 유사한 참조번호로 표시되는 첨부된 도면들에 도시되어 있는 바, 이는 일례로서 도시된 것이며 제한을 하기 위해 도시된 것이 아니다. 일 실시예에 대한 참조들은 본 명세서에서 개시된 동일한 실시예일 필요는 없으며 이러한 참조들은 적어도 하나를 의미한다. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated in the accompanying drawings in which like elements are designated by like reference numerals, which are shown by way of example and not by way of limitation. References to one embodiment need not be the same embodiment disclosed herein and these references refer to at least one.

후술할 설명에서, 본 발명의 다양한 양상들이 설명될 것이다. 하지만, 본 명세서에 개시된 몇몇 양상들만에 의해 또는 모든 양상들에 의해 본 발명이 수행될 수도 있음은 해당 기술분야의 당업자에게 있어 자명할 것이다. 설명을 위해, 특정한 번호들, 물질들 그리고 구성들이 본 발명에 대한 완전한 이해를 제공하기 위해 서술된다. 하지만, 특별한 지엽적인 세부 설명이 없이도 본 발명이 실시될 수도 있 음은 해당 기술분야의 당업자에게 자명하다. 다른 사례들에 있어서, 공지된 특징들은 생략되거나 간략화되는데, 이는 본 발명을 명료하게 설명하기 위해서이다.In the following description, various aspects of the invention will be described. However, it will be apparent to one skilled in the art that the present invention may be practiced by only some of the aspects disclosed herein or by all of the aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without the specific local details. In other instances, well-known features are omitted or simplified for the purpose of clarifying the invention.

본 발명을 이해하는데 있어 가장 도움이 될 만한 방식에 의해, 다양한 동작들이 복수개의 분리된 단계들로서 차례로 설명될 것이다 하지만, 이러한 동작들이 필수적으로 순서에 의존적임을 암시하는 것처럼 그 설명의 순서가 해석되어서는 안된다.In a manner that is most helpful in understanding the present invention, various operations will be described in turn as a plurality of separate steps, but the order of description is to be construed as to imply that these operations are necessarily order dependent. Can not be done.

도5는 본 발명을 구현하기 위해 사용될 수 있는 플래쉬 메모리 시스템의 일 실시예에 관한 블록도이다. 메모리 셀 어레이(302)는 컬럼 제어회로(304), 로우 제어회로(306), C-소스 제어회로(310) 그리고 P-웰 제어회로(308)에 의해 제어된다. 컬럼 제어회로(304)는 메모리 셀 어레이(302)의 비트라인들에 연결되어 있는 바, 이는 메모리 셀들에 저장된 데이터에 대한 읽기, 프로그램 동작동안에 메모리 셀들의 상태에 대한 결정, 그리고 프로그래밍을 증진시키거나 또는 프로그래밍을 방해하기 위해 비트라인들의 전위 레벨들에 대한 제어를 위해서이다. 로우 제어회로(306)는 워드라인들에 연결되어 있는 바, 이는 워드라인들에서 하나를 선택, 읽기전압의 인가, 컬럼 제어회로(304)에 의해 제어되는 비트라인의 전위레벨들과 결합된 프로그램 전압들의 인가, 그리고 소거전압의 인가를 위해서이다. C-소스 제어회로(310)는, 메모리 셀에 연결된 공통 소스 라인(Common source line)(도6에서 'C-소스' 라고 표기됨)을 제어한다. P-웰 제어회로(308)는 P-웰 전압을 제어한다.Figure 5 is a block diagram of one embodiment of a flash memory system that can be used to implement the present invention. The memory cell array 302 is controlled by the column control circuit 304, the row control circuit 306, the C-source control circuit 310 and the P-well control circuit 308. The column control circuit 304 is connected to the bit lines of the memory cell array 302, which enhances the reading of data stored in the memory cells, the determination of the state of the memory cells during program operations, and programming. Or for control over the potential levels of the bit lines to interrupt programming. The row control circuit 306 is connected to the word lines, which selects one of the word lines, applies a read voltage, and combines the potential levels of the bit line controlled by the column control circuit 304. For the application of voltages and the application of an erase voltage. The C-source control circuit 310 controls a common source line (denoted as 'C-source' in FIG. 6) connected to the memory cell. P-well control circuit 308 controls the P-well voltage.

메모리 셀들에 저장된 데이터는 컬럼 제어회로(304)에 의해 읽혀지며 그리고 데이터 입출력 버퍼(312)를 통해 외부 입출력 라인(External I/O Line)들로 출력된 다. 메모리 셀에 저장될 프로그램 데이터는 외부 입출력 라인들을 통해 데이터 입출력 버퍼(312)로 입력되며 그리고 컬럼 제어회로(304)로 전달된다. 외부 입출력 라인들은 제어기(318)에 연결된다.The data stored in the memory cells are read by the column control circuit 304 and output to external I / O lines through the data input / output buffer 312. The program data to be stored in the memory cell is input to the data input / output buffer 312 through external input / output lines and transferred to the column control circuit 304. External input / output lines are connected to the controller 318.

플래쉬 메모리 디바이스를 제어하기 위한 명령 데이터는 제어기(318)로 입력된다. 명령 데이터는 어떤 동작이 요구되고 있는지를 플래쉬 메모리에게 알려준다. 입력 명령은 상태머신(316)으로 전달되는 바, 상태머신(316)은 컬럼 제어회로(304), 로우 제어회로(306), C-소스 제어회로(310), P-웰 제어회로(308) 그리고 데이터 입출력 버퍼(312)를 제어한다. 상태머신(316)은 또한, READY/BUSY, PASS/FAIL 과 같은 플래쉬 메모리의 상태 데이터를 출력할 수 있다.Command data for controlling the flash memory device is input to the controller 318. The command data tells the flash memory what action is required. The input command is transmitted to the state machine 316, and the state machine 316 includes the column control circuit 304, the row control circuit 306, the C-source control circuit 310, and the P-well control circuit 308. The data input / output buffer 312 is controlled. The state machine 316 may also output state data of a flash memory such as READY / BUSY and PASS / FAIL.

개인 컴퓨터, 디지털 카메라, PDA(Personal Digital Assistant) 등등과 같은 호스트 시스템과 연결되어 있거나 또는 연결될 수 있다. 제어기는, 메모리 어레이(302)에 데이터를 저장하라는 명령 또는 메모리 어레이(302)로부터 데이터를 독출하라는 명령과 같은 명령들을 시동하는 호스트와 통신하거나 또는 이러한 데이터를 제공하거나 수신한다. 제어기(318)는 이러한 명령들을 명령회로들(314)에 의해 번역되거나 수행될 수 있는 명령 신호들로 변환하는 바, 명령회로들(314)은 상태머신과 연결되어 있다. 제어기(318)는 전형적으로 버퍼 메모리를 포함하고 있는데 이는, 메모리 어레이에 사용자 데이터를 겹쳐쓰거나 또는 메모리 어레이부터 사용자 데이터를 읽기 위해서이다.It may or may be connected to a host system such as a personal computer, digital camera, personal digital assistant (PDA) and the like. The controller communicates with or provides or receives such data to initiate commands such as instructions to store data in memory array 302 or instructions to read data from memory array 302. The controller 318 translates these commands into command signals that can be translated or performed by the command circuits 314, which are connected to the state machine. Controller 318 typically includes a buffer memory, either to overwrite user data on or read user data from the memory array.

일 예시적인 메모리 시스템은 하나의 집적회로를 포함하여 이루어지는데, 상기 집적회로는 제어기(318)와 하나 또는 이상의 집적회로 칩들을 포함하며, 이들 각각은 메모리 어레이와 연관된 제어 입출력 그리고 상태머신 회로들을 포함한다. 메모리 어레이들과 시스템의 제어 회로들을 함께 하나 이상의 집적회로 칩들에 집적하는 것이 요즘 추세이다. 메모리 시스템은 호스트 시스템의 일부로서 내장될 수도 있으며, 호스트 시스템들에 착탈 가능하게 삽입되는 메모리 카드(또는 다른 패키지)내에 포함될 수도 있다. 이러한 카드는 전체 메모리 시스템(예를 들면, 상기 제어기를 포함하는)을 포함할 수도 있으며 또는 주변회로들과 관련된(제어기가 호스트내에 내장된) 메모리 어레이만을 포함할 수도 있다. 따라서, 상기 제어기는 호스트내에 내장될 수도 있으며 또는 착탈식 메모리 시스템내에 포함될 수도 있다.One exemplary memory system comprises one integrated circuit, which includes a controller 318 and one or more integrated circuit chips, each of which includes control inputs and outputs and state machine circuits associated with the memory array. do. Background Art Trends are integrating memory arrays and control circuits of a system together in one or more integrated circuit chips. The memory system may be embedded as part of the host system and may be included in a memory card (or other package) that is removably inserted into the host systems. Such a card may comprise an entire memory system (e.g., including the controller) or may only include a memory array associated with peripheral circuits (the controller is embedded in the host). Thus, the controller may be embedded within the host or included in a removable memory system.

도6을 참조하면, 메모리 셀 어레이(302)의 예시적인 구조가 도시되어 있다. 일 실시예에서는, 1024 개의 블록들로 나뉘어진 하나의 낸드 플래쉬 EEPROM 이 설명된다. 각 블록에 저장된 데이터는 동시에 소거된다. 일 실시예에서는 상기 블록이, 동시에 소거되는 셀들의 가장 작은 단위가 된다. 이러한 실시예에서, 각각의 블록내에는 짝수 컬럼들과 홀수 컬럼들로 구분된 8512 개의 컬럼들이 존재한다. 비트라인들 역시 짝수 비트라인들(BLe)과 홀수 비트라인들(BLo)로 구분된다. 도6을 참조하면, 직렬로 연결된 4개의 메모리 셀들이 하나의 낸드 스트링을 구성하고 있음을 알 수 있다. 비록 4개의 셀들이 각각의 낸드 스트링에 포함되어 있다고 도시되어 있지만, 4개보다 더 많거나 더 적은 갯수(예를 들면, 16, 32 등)의 셀들이 사용될 수 있다. 낸드 스트링의 한쪽 터미널은 제 1 선택 트랜지스터(SGD)를 통해 대응하는 비트라인에 연결되어 있으며, 다른 한쪽 터미널은 제 2 선택 트랜지스터(SGS)를 통해 C-소스에 연결되어 있다.Referring to Figure 6, an exemplary structure of a memory cell array 302 is shown. In one embodiment, one NAND flash EEPROM is divided into 1024 blocks. Data stored in each block is erased at the same time. In one embodiment, the block is the smallest unit of cells that are simultaneously erased. In this embodiment, there are 8512 columns in each block divided into even columns and odd columns. The bit lines are also divided into even bit lines BLe and odd bit lines BLO. Referring to FIG. 6, it can be seen that four memory cells connected in series constitute one NAND string. Although four cells are shown to be included in each NAND string, more or fewer than four (eg, 16, 32, etc.) may be used. One terminal of the NAND string is connected to the corresponding bit line through the first select transistor SGD, and the other terminal is connected to the C-source through the second select transistor SGS.

읽기 동작과 프로그래밍 동작 동안에, 4256 개의 메모리 셀이 동시에 선택된다. 선택된 메모리 셀들은 동일한 워드라인(예를 들면, WL2-i)을 가지며 그리고 같은 종류(예를 들면, 짝수 비트라인들)의 비트라인을 갖는다. 따라서, 532 바이트의 데이터가 동시에 읽혀지거나 프로그램될 수 있다. 동시에 읽혀지거나 프로그램될 수 있는 이러한 532 바이트의 데이터는 논리 페이지(logical page)를 구성한다. 그러므로, 이러한 실시예에서는, 하나의 블록은 적어도 8개의 페이지들을 저장할 수 있다. 각각의 메모리 셀이 2 비트의 데이터(예를 들면, 다중-레벨 셀)를 저장할 때, 하나의 블록은 16개의 페이지들을 저장한다. During a read operation and a programming operation, 4256 memory cells are selected simultaneously. The selected memory cells have the same word line (eg WL2-i) and bit lines of the same kind (eg even bit lines). Thus, 532 bytes of data can be read or programmed simultaneously. These 532 bytes of data, which can be read or programmed at the same time, constitute a logical page. Therefore, in such an embodiment, one block can store at least eight pages. When each memory cell stores two bits of data (eg, a multi-level cell), one block stores 16 pages.

일 실시예에서는, P-웰 전압을 소거전압(예를 들면, 20 볼트)으로 증가시키고 선택된 블록의 워드라인들을 접지시킴으로서, 메모리 셀들은 소거된다. 소스 라인들과 비트라인들은 플로팅 상태이다. 소거 동작은, 전체 메모리 셀에 대해, 분리된 블록들에 대해, 또는 셀들의 다른 단위에 대해 수행될 수 있다. 전자들은 플로팅 게이트에서 P-웰 영역으로 이송되며, 임계전압은 음(negative)으로 된다.In one embodiment, the memory cells are erased by increasing the P-well voltage to an erase voltage (eg, 20 volts) and grounding the word lines of the selected block. Source lines and bit lines are floating. The erase operation may be performed on the entire memory cell, on separate blocks, or on another unit of cells. Electrons are transferred from the floating gate to the P-well region and the threshold voltage becomes negative.

읽기 동작과 검증 동작에서, 선택 게이트들(SGD 와 SGS)과 선택되지 못한 워드라인들(예를 들면, WL0, WL1, WL3)은 읽기 통과 전압(예를 들면, 4.5 볼트)으로 상승되며 트랜지스터들을 통과 게이트와 같이 동작하도록 만든다. 선택된 워드라인(예를 들면, WL2)은 각각의 읽기 동작과 검증 동작에 특정된 레벨의 전압에 연결되는데, 이는 관심있는 메모리 셀의 임계전압이 이러한 레벨에 도달했는지 안했는지를 판별하기 위해서이다. 예를 들면, 1 비트 메모리 셀의 읽기 동작에서, 선택된 워드라인(WL2)이 접지되었다면, 임계전압이 0 볼트보다 높은지 아닌지가 검출된다. 1 비트 메모리 셀의 검증 동작에서, 선택된 워드라인(WL2)이 예를 들어, 2.4 볼트에 연결되면, 임계전압이 2.4 볼트에 도달하였는지 또는 또 다른 임계전압 레벨에 도달하였는지가 검증된다. 소스와 P-웰은 0 볼트이다. 선택된 비트라인들(BLe)은 예를 들어 0.7 볼트로 선행 충전된다. 만일, 임계전압이 읽기 또는 검증 레벨보다 높다면, 관련된 비트라인(BLe)의 전위는 하이(high) 레벨을 유지하는 바, 이는 도통되지 않은(non-conductive) 메모리 셀 때문이다. 다른 한편으로는, 만일 임계전압이 읽기 또는 검증 레벨보다 낮다면, 관련된 비트라인(BLe)의 전위는 낮은(low) 레벨(예를 들면, 0.5 볼트 이하)로 감소하는 바, 이는 도통된(conductive) 메모리 셀(M) 때문이다. 메모리 셀의 상태는 비트라인에 연결된 감지 증폭기에 의해 검출된다. 메모리 셀이 소거되었느냐 또는 프로그램되었느냐의 차이점은, 음의 전하가 플로팅 게이트에 저장되었느냐 아니냐에 의존한다. 예를 들어 만일, 음의 전하가 플로팅 게이트에 저장되면, 임계전압은 더 높아지게 되며 트랜지스터는 증가형 모드(enhancement mode)에 있게 된다.In the read and verify operations, the select gates SGD and SGS and the unselected word lines (e.g., WL0, WLl, WL3) are raised to the read pass voltage (e.g. 4.5 volts) and the transistors Make it act like a pass gate. The selected word line (e.g., WL2) is connected to a voltage at a level specified for each read and verify operation to determine whether or not the threshold voltage of the memory cell of interest has reached this level. For example, in a read operation of a 1 bit memory cell, if the selected word line WL2 is grounded, it is detected whether or not the threshold voltage is higher than 0 volts. In the verify operation of the 1 bit memory cell, if the selected word line WL2 is connected to, for example, 2.4 volts, it is verified whether the threshold voltage has reached 2.4 volts or another threshold voltage level. Source and P-well are zero volts. The selected bit lines BLe are precharged to 0.7 volts, for example. If the threshold voltage is higher than the read or verify level, the potential of the associated bit line BLe remains at a high level because of the non-conductive memory cell. On the other hand, if the threshold voltage is lower than the read or verify level, the potential of the associated bit line BLe decreases to a low level (eg 0.5 volts or less), which is conductive. This is because of the memory cell (M). The state of the memory cell is detected by a sense amplifier connected to the bit line. The difference between whether the memory cell is erased or programmed depends on whether negative charge is stored in the floating gate. For example, if negative charge is stored in the floating gate, the threshold voltage is higher and the transistor is in an enhancement mode.

전술한 바와같은 소거, 읽기 그리고 검증 동작들은 해당 기술분야에서 공지된 기술들에 따라 수행된다. 따라서, 설명된 세세한 많은 부분들이 가변될 수 있음은 당업자에게 있어 자명할 것이다.Erase, read and verify operations as described above are performed in accordance with techniques known in the art. Thus, it will be apparent to those skilled in the art that many of the details described may be varied.

본 발명의 일 실시예에서 메모리 셀을 프로그래밍할 때에, 드레인과 P-웰은 0 볼트를 인가받는 반면에 제어 게이트는, 도7에 도시된 바와같이 증가된 크기를 갖는 프로그래밍 펄스들의 세트를 입력받는다. 일실시예에서, 펄스들의 크기는 7 볼트에서 15볼트 사이의 값을 갖는다. 다른 실시예에서는, 펄스들의 범위는 변할 수 있으며, 예를 들면, 12볼트의 시작 레벨을 가질 수 있다. 메모리 셀을 프로그래밍 하는 동안에, 펄스들 사이의 간격들에서 검증동작들이 수행된다. 즉, 병렬로 프로그래밍될 셀들의 그룹에 속한 각각의 셀들의 프로그래밍 레벨은, 각각의 프로그래밍 펄스 사이에서 판독되어 그것이 검증레벨과 대등한가 또는 검증레벨보다 더 큰가가 판별되는데, 검증레벨은 셀들이 프로그래밍되어질 레벨이다. 프로그래밍을 검증하는 하나의 수단은 특정한 비교 지점에서의 도통을 테스트하는 것이다. 충분히 프로그램되었다고 검증된 셀들은 록 아웃(lock out)되는 바, NAND 셀에서 예를 들면, 비트라인 전압을 0 부터 Vdd(예를 들면, 2.5 볼트)까지 증가시켜 이러한 셀들에 대한 프로그래밍 프로세스를 중단한다. 셀들을 록 아웃하는 다양한 방법 또는 셀의 플로팅 게이트에 저장된 전하를 변화시키는 조건의 프로그래밍 펄스에 대한 다양한 제거 어플리케이션이 사용될 수 있다. 몇몇 케이스에서는, 복수개의 펄스들이 제한될 것이며(일례로 20개 펄스들) 그리고 마지막 펄스에 의해서 주어진 메모리 셀이 완전하게 프로그램되지 않는다면, 에러가 추정된다. 몇몇 구현예에서는, 메모리 셀들은 프로그래밍전에 소거된다(블록단위 또는 다른 단위로).In one embodiment of the invention, when programming a memory cell, the drain and the P-well are applied with zero volts while the control gate receives a set of programming pulses with increased magnitude as shown in FIG. . In one embodiment, the magnitude of the pulses has a value between 7 volts and 15 volts. In other embodiments, the range of pulses may vary, for example having a starting level of 12 volts. During programming of the memory cell, verify operations are performed at intervals between pulses. That is, the programming level of each cell belonging to the group of cells to be programmed in parallel is read between each programming pulse to determine whether it is equal to or greater than the verify level, where the verify level is to be programmed. Level. One means of verifying programming is to test continuity at specific comparison points. Cells that have been verified to be fully programmed are locked out, stopping the programming process for these cells by increasing the bitline voltage from 0 to Vdd (eg 2.5 volts) in the NAND cell, for example. . Various methods of locking out the cells or various removal applications for programming pulses with conditions that change the charge stored in the floating gate of the cell can be used. In some cases, a plurality of pulses will be limited (e.g. 20 pulses) and an error is estimated if the memory cell given by the last pulse is not fully programmed. In some implementations, memory cells are erased (in blocks or other units) prior to programming.

삭제delete

플래쉬 메모리 셀들의 어레이들에 대해 많은 셀들이 병렬로 검증된다. 다중 상태 플래쉬 메모리 셀들에 대한 몇몇 실시예에서는, 모든 개별적인 프로그램 펄스이후에, 상기 메모리 셀들은 검증 단계들의 세트를 경험할 것이며, 메모리 셀이 어떤 상태내에 있는지 판별된다. 예를 들면, 8개의 상태에서 데이터를 저장할 수 있는 다중 상태 메모리 셀은, 7개의 비교 지점들에 대한 검증 동작들의 수행을 필요로 할 수도 있다. 따라서, 2개의 연속적인 프로그래밍 펄스들 사이에서 7개의 검증 동작들을 수행하기 위해 7개의 검증 펄스들이 인가된다. 7개의 검증 동작들에 기초하여, 시스템은 메모리 셀들의 상태를 판단할 수 있다. 검증에 관한 시간 부담을 줄이는 한가지 방법으로 좀 더 효율적인 검증 프로세스를 사용할 수 있으며, 예를 들어, 2002년 12월 5일자로 출원된 미국 특허출원번호 10/314055, "Smart Verify for Multi-State Memories" 에 개시된 내용이 그러하며, 상기 출원은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다. Many cells are verified in parallel for arrays of flash memory cells. In some embodiments for multi-state flash memory cells, after every individual program pulse, the memory cells will experience a set of verify steps, and it is determined in which state the memory cell is in. For example, a multi-state memory cell capable of storing data in eight states may require performing verify operations on seven comparison points. Thus, seven verify pulses are applied to perform seven verify operations between two consecutive programming pulses. Based on the seven verify operations, the system can determine the state of the memory cells. One way to reduce the time burden on verification is to use a more efficient verification process, for example, see US Patent Application No. 10/314055, "Smart Verify for Multi-State Memories," filed December 5, 2002. As such, the application is incorporated herein by reference in its entirety as a reference to the present invention.

도7을 살펴보면, 프로그램 전압 신호가 도시되어 있다. 이 신호는 증가하는 크기를 갖는 펄스들의 세트를 가지고 있다. 펄스들의 크기는, 기 설정된 스텝 사이즈에 의해 각 펄스마다 증가한다. 복수 비트들의 데이터를 저장하는 메모리 셀들을 포함하는 일 실시예에서, 예시적인 스텝 사이즈는 0.2 볼트이다. 프로그램 펄스들 사이에 검증 펄스들이 존재한다. 도7의 신호는 4개의 상태를 갖는 메모리셀을 가정한 것이며, 따라서, 3개의 검증 펄스들이 도시되어 있다. 예를 들면, 프로그래밍 펄스들(480과 482) 사이에는 3개의 검증 펄스들이 있다. 첫번째 검증 펄스(또는, 전압 레벨)(484)가 0 볼트로 도시되어 있다. 상기 첫번째 검증 펄스 다음에 두번째 검증 펄스가 뒤따른다. 상기 두번째 검증 펄스 다음에 세번째 검증 펄스가 뒤따른다. Referring to Fig. 7, a program voltage signal is shown. This signal has a set of pulses with increasing magnitudes. The magnitude of the pulses is increased for each pulse by the preset step size. In one embodiment including memory cells that store multiple bits of data, an exemplary step size is 0.2 volts. There are verify pulses between the program pulses. The signal of Fig. 7 assumes a memory cell having four states, and therefore three verify pulses are shown. For example, there are three verify pulses between programming pulses 480 and 482. The first verify pulse (or voltage level) 484 is shown at zero volts. The second verify pulse is followed by the first verify pulse. A third verify pulse follows the second verify pulse.

도8은 각각의 메모리 셀이 4개의 물리적인 상태에서 2 비트의 데이터를 저장할 때, 메모리 셀 어레이의 예시적인 임계전압 분포들을 도시하고 있다. 분포(502)는 소거된 상태("11" 을 저장)에 있는 셀들의 임계전압들의 분포를 나타내는 바, 음의 임계전압 레벨을 갖는다. 분포(504)는 첫번째로 프로그램된 상태("10" 을 저 장)에 있는 셀들의 임계전압들의 분포를 나타낸다. 분포(506)는 두번째로 프로그램된 상태("11" 을 저장)에 있는 셀들의 임계전압들의 분포를 나타낸다. 분포(508)는 세번째로 프로그램된 상태("01" 을 저장)에 있는 셀들의 임계전압들의 분포를 나타낸다. 이러한 실시예에서 하나의 메모리 셀내에 저장된 2 비트들 각각은, 서로 다른 논리 페이지로부터 비롯된다. 즉, 각 메모리 셀에 저장된 2 비트들 중 각각의 비트는 서로 다른 논리 페이지의 주소를 운반한다. 사각형 안에 표시된 비트는 아래쪽(lower) 페이지에 대응한다. 원안에 표시된 비트는 위쪽(upper) 페이지에 대응한다. 어떤 실시예에서는, 그레이 코드(gray code)를 이용하여 논리적 상태들이 메모리 셀의 물리적 상태들에 할당되는 바, 때문에 플로팅 게이트의 임계전압이 오류에 의해 이동되어도, 오직 단 하나의 비트만이 영향을 받게 된다. Figure 8 shows exemplary threshold voltage distributions of a memory cell array when each memory cell stores two bits of data in four physical states. Distribution 502 represents the distribution of the threshold voltages of the cells in an erased state (storing " 11 ") and has a negative threshold voltage level. Distribution 504 represents the distribution of the threshold voltages of the cells in the first programmed state (saving "10"). Distribution 506 represents the distribution of threshold voltages of the cells in the second programmed state (storing " 11 "). Distribution 508 represents the distribution of threshold voltages of the cells in the third programmed state (stored "01"). In this embodiment each of the two bits stored in one memory cell comes from a different logical page. That is, each of the two bits stored in each memory cell carries an address of a different logical page. The bits shown in the rectangle correspond to the lower pages. The bits shown in the circle correspond to the upper page. In some embodiments, logical states are assigned to the physical states of a memory cell using gray code, so that even if the threshold voltage of the floating gate is moved by an error, only one bit is affected. Will receive.

도9는, 도8에 도시된 임계전압 분포들을 갖는 메모리 셀 어레이와 같은 4-상태 NAND 메모리 셀을 프로그래밍하는 2 패스(two pass) 기술의 일례를 보여준다. 첫번째 프로그래밍 패스에서, 아래쪽 논리 페이지로 프로그램될 비트에 따라, 셀의 임계전압 레벨이 설정된다. 만일, 상기 비트가 논리 "1" 이라면, 임계전압은 변화하지 않는데, 왜냐하면, 그전에 소거되었던 결과, 상기 비트는 적절한 상태에 있기 때문이다. 하지만, 만일 프로그램되어질 비트가 논리 "0" 이라면, 셀의 임계전압 레벨은 증가되어 화살표 512에 도시된 바와같이 임계전압 분포(504) 내에 있게된다. 이에 의해 제 1 프로그래밍 패스가 완료된다. FIG. 9 shows an example of a two pass technique for programming a four-state NAND memory cell, such as a memory cell array with the threshold voltage distributions shown in FIG. In the first programming pass, according to the bit to be programmed into the lower logical page, the threshold voltage level of the cell is set. If the bit is a logic " 1, " the threshold voltage does not change because the bit is in the proper state as a result of being erased before. However, if the bit to be programmed is a logic "0", the threshold voltage level of the cell is increased to be within threshold voltage distribution 504 as shown by arrow 512. This completes the first programming pass.

제 2 프로그래밍 패스에 있어서, 셀의 임계전압 레벨은, 위쪽 논리 페이지로 프로그램되고 있는 비트에 따라서 설정된다. 만일, 위쪽 논리 페이지 비트가 논리 "1"을 저장하기로 한다면, 프로그래밍이 발생하지 않는데, 왜나하면 상기 셀이 임계전압 분포들(502 또는 504)에 대응하는 물리적 상태들 중 어느 하나에 있기 때문이며, 여기서 임계전압 분포들(502 또는 504)은 아래쪽 페이지 비트의 프로그래밍에 좌우되며 둘다 모두 위쪽 페이지 비트 "1"을 운반한다. 만일, 위쪽 페이지 비트가 논리 "0" 이 될 예정이라면, 셀은 2번째로 프로그램된다. 만일, 제 1 패스로 인해 셀이 임계전압 분포(502)에 대응하는 소거된 상태로 남아있다면, 2번째 양상(phase)에서 상기 셀이 프로그램되는 바, 화살표(516)에 도시된 것처럼 임계전압이 증가되어 임계전압 분포(508)내에 있도록 프로그램된다. 만일, 상기 셀이 제 1 프로그래밍 패스의 결과로 임계전압 분포(504)에 대응하는 상태로 프로그램 되었었다면, 메모리 셀은 제 2 패스에서 한층 더 프로그램되어 임계전압 분포(506)내에 있도록 임계전압이 증가된다. 이는 화살표(514)에 의해 도시되어 있다. 제 2 패스의 결과는, 위쪽 페이지에 대해 논리 "0" 을 저장하도록 배정된 상태로 상기 셀을 프로그램하는 것이며, 이때 제 1 프로그래밍 패스의 결과는 변경되지 않는다. In the second programming pass, the threshold voltage level of the cell is set according to the bit being programmed into the upper logical page. If the upper logical page bit decides to store a logic "1", no programming occurs because the cell is in one of the physical states corresponding to threshold voltage distributions 502 or 504, The threshold voltage distributions 502 or 504 here depend on the programming of the lower page bits and both carry the upper page bit "1". If the upper page bit is going to be a logic "0", the cell is programmed second. If the cell remains in the erased state corresponding to the threshold voltage distribution 502 due to the first pass, then the cell is programmed in the second phase, as shown by arrow 516. And is programmed to be within threshold voltage distribution 508. If the cell was programmed to correspond to the threshold voltage distribution 504 as a result of the first programming pass, then the memory cell is further programmed in the second pass to increase the threshold voltage such that it is within the threshold voltage distribution 506. do. This is illustrated by arrow 514. The result of the second pass is to program the cell with a state allocated to store a logic " 0 " for the upper page, with the result of the first programming pass unchanged.

물론, 만일 메모리가 4개 이상의 물리적 상태를 갖고 동작된다면, 메모리 셀들의 정의된 전압 임계 윈도우내에는 복수개의 임계전압 분포들이 존재할 것이며 이는 상태들의 갯수와 동일하다. 더 나아가, 비록 특정한 비트 패턴들이 각각의 분포들 또는 각각의 물리적 상태들에 할당되었다 하여도, 이와 다른 비트 패턴들이 할당될 수도 있으며, 이와같은 경우 상태들(상태들 사이에서 프로그래밍이 발생함)은 도9 내지 도10에 도시된 바와 다를 수 있다. Of course, if the memory is operated with more than four physical states, there will be a plurality of threshold voltage distributions within the defined voltage threshold window of the memory cells, which is equal to the number of states. Furthermore, even though specific bit patterns have been assigned to respective distributions or respective physical states, different bit patterns may be assigned, in which case states (programming between states) 9 to 10 may be different.

통상적으로, 병렬로 프로그램되는 셀들은 하나의 워드라인상의 교변하는 셀 들이다. 예를 들어, 도4는 하나의 워드라인(WL2) 상의 수 많은 셀들 중에서 3개의 메모리 셀(224, 244, 525)을 도시하고 있다. 교변하는 셀들 중 하나의 세트(224와 252를 포함하는)는 논리 페이지 0과 2(짝수 페이지)으로부터의 비트들을 저장하는 반면에, 교변하는 셀들의 다른 하나의 세트(244를 포함하는)는 논리 페이지 1과 3(홀수 페이지)으로부터의 비트들을 저장한다. Typically, cells programmed in parallel are alternating cells on one word line. For example, FIG. 4 shows three memory cells 224, 244, and 525 of a number of cells on one word line WL2. One set of alternating cells (including 224 and 252) stores bits from logical pages 0 and 2 (even pages), while the other set of alternating cells (including 244) is logical Store bits from pages 1 and 3 (odd pages).

향상된 신뢰성을 제공하기 위해, 물리적 상태들에 대한 개별적인 임계분포들은 조밀해지는 것(분포가 좁아짐)이 바람직한데, 왜나하면 좀더 조밀한 분포가 좀 더 넓은 판독 마진(상태들간의 거리) 및 프로그램 마진을 가져오기 때문이다. 하지만, 메모리 셀들의 플로팅 게이트들 사이에서의 전하 결합은, 플로팅 게이트에 저장된 명목상 전하(apparent charge)의 증가를 야기할 수도 있다. 명목상 전하의 증가는 개별적인 메모리 셀의 임계전압의 증가를 야기할 수도 있으며, 따라서 소정의 물리적 상태들에 대응하는 더 넓은 전압 분포가 야기될 수도 있다.In order to provide improved reliability, it is desirable that individual critical distributions for physical states be denser (narrower in distribution), because a denser distribution may yield wider read margins (distance between states) and program margins. Because import. However, charge coupling between the floating gates of the memory cells may cause an increase in the nominal charge stored in the floating gate. Increasing the nominal charge may result in an increase in the threshold voltage of the individual memory cell, thus resulting in a wider voltage distribution corresponding to certain physical states.

인접한 플로팅 게이트들로부터의 전하들에 의해 기인하는 전기장의 존재때문에, 플로팅 게이트에 저장된 명목상 전하의 이동(shift)이 발생할 수도 있다. 지금 읽고자 하는 현재의 셀이 프로그램되었던 이후에, 인접한 메모리 셀들이 프로그램될 수도 또는 소거될 수도 있다는 점이 문제점이다. 예를 들어, 제 1 데이터 세트에 대응토록 하기위해, 셀들의 제 1 세트가 프로그램되어 그들의 플로팅 게이트들에 전하의 일정 레벨이 부가되는 경우를 생각해 보자. 셀들의 제 2 세트(예를 들어, 셀들의 제 1 세트에 인접한)가 제 2 데이터 세트로 프로그램된 이후에, 제 1 세트의 플로팅 게이트들로부터 판독된 전하 레벨은 때때로 프로그램된 것과 다른 것으로 여겨지는데, 이는 제 2 세트의 플로팅 게이트들에서 기인한 전기장의 영향때문이다. 즉, 인접한 플로팅 게이트들의 전기장이, 읽고자 하는 셀의 플로팅 게이트의 명목상 전압 레벨에 영향을 끼쳤기 때문에 관찰된 에러가 발생하였다고 할 수 있다. 이는 유핀(Yupin) 효과라고 알려져 있으며, 미국특허 US 5,867,429, 미국 특허 US 5,930,167 에 상세히 기술되어 있고 상기 특허들은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다. NAND 타입의 메모리 디바이스들에서, 메모리 셀들은 인접한 워드라인들과 플로팅 게이트들 간의 전하 결합 뿐만 아니라, 인접한 비트라인들과 플로팅 게이트들간의 전하 결합 역시 경험할 수 있다. 하지만, 워드라인과 워드라인간의 전하 결합은 그 어떤 비트라인간 전하 결합보다도 더 우세한 것이 전형적이다. Due to the presence of the electric field caused by the charges from adjacent floating gates, a nominal shift of charge stored in the floating gate may occur. The problem is that after the current cell to be read now has been programmed, adjacent memory cells may be programmed or erased. For example, to correspond to the first data set, consider a case where a first set of cells is programmed so that a certain level of charge is added to their floating gates. After a second set of cells (eg, adjacent to a first set of cells) is programmed into a second data set, the charge level read from the floating gates of the first set is sometimes considered to be different from that programmed. This is due to the influence of the electric field due to the second set of floating gates. That is, the observed error occurred because the electric fields of adjacent floating gates affected the nominal voltage level of the floating gate of the cell to be read. This is known as the Yupin effect and is described in detail in US Pat. No. 5,867,429, US Pat. No. 5,930,167, which is incorporated herein in its entirety by reference to the present invention. In NAND type memory devices, memory cells may experience charge coupling between adjacent word lines and floating gates, as well as charge coupling between adjacent bit lines and floating gates. However, the charge coupling between word lines and word lines is typically superior to any other charge coupling between bit lines.

메모리 어레이의 어떤 메모리 셀들은, 감소된 유핀 효과를 경험하거나 또는 유핀 효과를 경험하지 못할 것이다. 예를 들어 도4를 참조하면, 도4에 도시된 NAND 스트링에서 소스측에서 드레인측으로 프로그래밍이 일어난다고 가정하면, 마지막 워드라인(WL3)에 연결된 메모리 셀들은, 매우 미약한 유핀 효과를 경험하거나 또는 유핀 효과를 경험하지 못할 것이다. 왜나하면, 이들은 프로그램 동작동안에 그 스트링에서 프로그램될 마지막 메모리 셀들이므로, 후속으로 프로그램된 플로팅 게이트들로부터의 전하 결합이 미약하거나 없을 것이기 때문이다. 하지만, 다른 워드라인들의 메모리 셀들은 워드라인 0, 1 또는 2 의 프로그램 이후에 프로그램될 것이다. 예를 들면, 메모리 셀(228)의 플로팅 게이트에 저장된 전하는, 상기 메모리 셀의 타겟(target) 물리적 상태를 나타내는 원하는 레벨로 프로그램 될 수도 있다. 메모리 셀(228)을 프로그래밍한 이후에, 워드라인 1 에 연결된 메모리 셀들이 프로그램될 것이다. 메모리 셀(226)의 플로팅 게이트에 저장된 전하는, 후속하는 프로그램 동작동안에 증가될 수도 있다. 메모리 셀(226)의 플로팅 게이트로부터의 전기장은, 프로그램된 이후에, 메모리 셀(228)의 플로팅 게이트의 명목상 전하 레벨에 영향을 줄 수 있다. 메모리 셀(228)의 플로팅 게이트에 저장된 명목상 전하에서의 이러한 증가는, 메모리 셀의 임계전압의 증가를 야기시킬 것이다. 셀 어레이내의 메모리 셀들의 플로팅 게이트들에서 명목상의 전하가 증가된 영향은, 메모리 셀들의 물리적 상태들에 대한 임계전압 분포들을 넓힐 것이다. Some memory cells in the memory array may experience a reduced Yupin effect or no Yupin effect. For example, referring to FIG. 4, assuming that programming takes place from the source side to the drain side in the NAND string shown in FIG. 4, the memory cells connected to the last word line WL3 experience a very weak Yupin effect or You won't experience the Yupin effect. Because these are the last memory cells to be programmed in the string during the program operation, the charge coupling from subsequently programmed floating gates will be weak or absent. However, memory cells of other word lines will be programmed after the programming of word lines 0, 1 or 2. For example, the charge stored in the floating gate of memory cell 228 may be programmed to a desired level that represents the target physical state of the memory cell. After programming memory cell 228, memory cells connected to wordline 1 will be programmed. Charge stored at the floating gate of memory cell 226 may be increased during subsequent program operations. The electric field from the floating gate of memory cell 226 may affect the nominal charge level of the floating gate of memory cell 228 after it is programmed. This increase in the nominal charge stored at the floating gate of the memory cell 228 will cause an increase in the threshold voltage of the memory cell. The effect of increased nominal charge on the floating gates of the memory cells in the cell array will widen the threshold voltage distributions for the physical states of the memory cells.

하지만, WL3에 연결된 메모리 셀들은, 동일한 NAND 스트링상의 다른 메모리 셀들의 전기장에 의해 미약하거나 전무한 임계전압 변화를 경험할 것이다. 앞서 논의된 바와같이 프로그램 동작동안에는, 워드라인(WL3)에 연결된 메모리 셀들을 프로그램한 이후에는, 특정한 스트링에 대해 그 어떤 메모리 셀들도 프로그램되지 않을 것이다. 따라서, WL3에 연결된 메모리 셀들 후속으로 프로그램된 인접한 플로팅 게이트들로부터의 영향이 없을 것이다. 만일 예를 들어, 프로그래밍이 짝수 비트라인으로부터 홀수 비트라인으로 일어난다면, 짝수 비트라인에 연결된 셀은 인접한 홀수 비트라인들로부터의 약한 전하 결합을 경험할 수도 있다. 워드라인간 결합에 비하면 상기 비트라인간 결합의 양은 작다. 따라서, WL3에 연결된 메모리 셀들의 임계전압 분포들은 넓혀지만, 전하 결합으로 인해 다른 워드라인들에 연결된 메모리 셀들이 경험하는 정도까지 넓혀지지는 않는다. However, memory cells connected to WL3 will experience a slight or no threshold voltage change due to the electric field of other memory cells on the same NAND string. During the program operation, as discussed above, after programming the memory cells connected to the word line WL3, no memory cells will be programmed for a particular string. Thus, there will be no influence from adjacent floating gates programmed after the memory cells connected to WL3. For example, if programming takes place from an even bit line to an odd bit line, the cell connected to the even bit line may experience weak charge coupling from adjacent odd bit lines. Compared to word line coupling, the amount of bit line coupling is small. Thus, the threshold voltage distributions of the memory cells connected to WL3 are widened, but not to the extent experienced by memory cells connected to other word lines due to charge coupling.

도10은 도4와 도6에 도시된 바와같은 메모리 셀 어레이의 임계전압 분포들을 도시하고 있는데, 각각의 메모리 셀은 4개의 물리적 상태들(0, 1, 2, 3) 들 하나에 2비트의 데이터들 저장한다. 도10은, 워드라인들의 제 1 세트(예를 들면, WL0-WL2)에 연결된 메모리 셀들의 임계전압 분포들을 나타내는, 분포들의 제 1 세트(522, 524, 526)를 도시하고 있다. 분포(520)는 소거된 상태에 있는 모든 셀들의 분포를 나타낸다. 또한, 도10에는 마지막 워드라인(예를 들면, WL3)에 연결된 메모리 셀들의 임계전압 분포들을 나타내는, 분포들의 제 2 세트(532, 534, 536)가 도시되어 있다. 많은 수의 다른 구성들(예를 들면, 하나의 스트링당 16, 32 또는 그 이상의 셀들도 가능하며 3 비트 또는 그 이상의 데이터를 저장할 수도 있음)이 사용될 수도 있다는 점이 인식되어야 할 것이다. FIG. 10 shows threshold voltage distributions of a memory cell array as shown in FIGS. 4 and 6, each memory cell having two bits in one of four physical states (0, 1, 2, 3). Save the data. FIG. 10 shows a first set of distributions 522, 524, 526 that represent threshold voltage distributions of memory cells connected to a first set of word lines (eg, WL0-WL2). Distribution 520 represents the distribution of all cells in the erased state. Also shown in FIG. 10 is a second set 532, 534, 536 of distributions representing threshold voltage distributions of memory cells connected to the last word line (eg, WL3). It should be appreciated that a large number of other configurations (eg, 16, 32 or more cells per string may be possible and may store 3 bits or more data) may be used.

WL3에 연결된 메모리 셀들을 나타내는 분포들의 상기 제 2 세트는, 다른 워드라인들에 연결된 메모리 셀들을 나타내는 분포들의 제 1 세트보다 더 조밀하다(tighter). 예를 들면, 분포(522, 524, 526)는 0.5V 또는 0.4V 크기의 폭을 가질 수 있는 반면에, 분포(532, 534, 536)는 0.3V 또는 0.2V 크기의 폭을 가질 수 있다. 본 명세서에서 제시된 전압들은 설명을 위한 것이며 단지 예시에 불과하다. 분포들의 제 1 세트는 분포들의 제 2 세트보다 넓은데, 이는 전술한 바와같이 인접한 메모리 셀들 사이의 전하 결합때문이다. The second set of distributions representing memory cells connected to WL3 is tighter than the first set of distributions representing memory cells connected to other word lines. For example, distributions 522, 524, 526 can have a width of 0.5V or 0.4V, while distributions 532, 534, 536 can have a width of 0.3V or 0.2V. The voltages presented herein are for illustration only and are illustrative only. The first set of distributions is wider than the second set of distributions because of the charge coupling between adjacent memory cells as described above.

신뢰성 있는 데이터 저장을 위해서는 다음과 같은 점이 필요하다. 복수 상태 메모리 셀의 다중 임계전압 범위들은, 서로간에 충분한 여유를 갖고 분리되어 있어야만 상기 메모리 셀의 레벨이 명확하게 프로그램되거나 판독될 수 있다. 전형적인 메모리 디바이스들에서, 판독 및 검증 레벨들의 하나의 세트가 시스템의 모든 메모 리셀에 대해 사용되는 바, 특정 메모리 셀이 어떤 워드라인에 연결되어 있는지를 고려하지 않고 사용되고 있다. 예를 들면, Vv2 와 같은 프로그램 검증 레벨은, 시스템내의 임의의 메모리 셀을 상태 2로 프로그램할 때에 사용될 것이다. 이러한 레벨들은, 임계전압 범위들 사이에서 적절한 분리를 유지할 만한 지점에서 설정되며 인접한 플로팅 게이트들로부터의 크로스-커플링에 의해 야기되는 임계전압들의 더 넓은 분포를 설명한다. 예를 들면, 프로그램 검증 레벨 Vv2는, 물리적 상태 1에 대한 가장 높은 가능 임계전압과 물리적 상태 2에 대한 가장 낮은 가능 임계전압사이에서 적절한 분리를 유지할 수 있는 레벨에서 설정된다. 이러한 레벨은, 유핀 효과에 의해 임계전압들의 더 넓은 분포들을 갖는 상태들 사이에서도 적절한 분리를 유지할 것이다. The following points are required for reliable data storage. Multiple threshold voltage ranges of a multi-state memory cell must be sufficiently separated from each other so that the level of the memory cell can be clearly programmed or read. In typical memory devices, one set of read and verify levels is used for every memory cell in the system, without considering which word line the particular memory cell is connected to. For example, a program verify level, such as Vv2, will be used when programming any memory cell in the system to state 2. These levels are set at points that will maintain proper separation between threshold voltage ranges and account for a wider distribution of threshold voltages caused by cross-coupling from adjacent floating gates. For example, the program verify level Vv2 is set at a level that can maintain a proper separation between the highest possible threshold voltage for physical state 1 and the lowest possible threshold voltage for physical state 2. This level will maintain proper separation even between states with wider distributions of threshold voltages by the Yupin effect.

도10을 참조하면 알 수 있는 바와같이, 메모리 셀이 연결된 워드라인을 고려함이 없이, 하나의 검증 레벨 세트를 사용함으로서, 과-보정(over-compensation)을 야기하고 후속적으로 몇몇 메모리 셀들(특히, 스트링의 마지막 워드라인에 연결된 셀들)에서 필요로 하는 것 보다 더 높은 검증 및 타겟 레벨을 야기할 수 있다.As can be seen with reference to FIG. 10, using one set of verify levels, without considering the word lines to which the memory cells are connected, causes over-compensation and subsequently several memory cells (especially , Cells connected to the last wordline of the string) can result in a higher verify and target level than needed.

앞서 논의된 바와같이, 마지막 워드라인은 다른 워드라인들 보다 더 큰 양의 프로그램 방해(예를 들어, 불충분한 부스팅으로 인한 프로그램 방해)를 경험할 수 있다. 프로그램 방해는 대부분 높은 프로그램 전압 또는 펄스들 때문에 발생한다. 프로그래밍 동안에 마지막 워드라인에 인가되는 프로그램 전압의 레벨을 감소시킴으로서, 마지막 워드라인에서의 상기 프로그램 방해는 감소될 수 있다. As discussed above, the last wordline may experience a greater amount of program disturbance than other wordlines (eg, program disturbance due to insufficient boosting). Program disturb is most often due to high program voltage or pulses. By reducing the level of program voltage applied to the last word line during programming, the program disturb at the last word line can be reduced.

본 발명의 일실시예에 따르면, 추가적인 한 세트의 프로그램 검증 및 판독 레벨이 선택된 메모리 셀들 또는 워드라인들에 대해 설정된다. 예를 들면, 추가적인 검증레벨 세트는 프로그램될 셀들의 그룹의 마지막 워드라인에 대해 사용될 수 있다. 레벨들의 추가적인 세트는 또한, 마지막 워드라인의 다음번 워드라인 등등과 같은 워드라인들 또는 또 다른 선택 셀들에 대해 사용될 수 있다. 추가적인 타겟 레벨들 및 검증 레벨들을 사용함으로서, 좀더 조밀한 임계전압 분포들을 갖는 임의의 워드라인은 이득을 볼 수 있으며 또한 신뢰성 있게 프로그램될 수 있다. 워드라인들에 대한 전압 분포들이 다른 워드라인들에 대한 전압 분포들 보다 조밀하기 때문에, 추가적인 세트내에서 하나 이상의 레벨들은, 레벨들의 제 1 세트내의 대응 레벨보다 더 낮아질 수 있다(임계전압 검증 파라미터를 예로 가정하면). 더 낮은 프로그램 검증 레벨들을 사용함으로서, 저장소자를 특정한 상태로 프로그램하는데 필요한 프로그램 전압이 감소될 수 있다. 더 낮은 프로그램 전압을 사용함에 따라, 프로그램 방해의 발생이나 메모리 셀이 경험하는 방해의 정도는 감소될 수 있다. According to one embodiment of the invention, an additional set of program verify and read levels is set for selected memory cells or word lines. For example, an additional set of verify levels can be used for the last word line of the group of cells to be programmed. An additional set of levels may also be used for word lines, such as the next word line of the last word line, or the like, or for other selected cells. By using additional target levels and verify levels, any word line with more dense threshold voltage distributions can gain and be reliably programmed. Since the voltage distributions for the word lines are denser than the voltage distributions for other word lines, one or more levels in the additional set may be lower than the corresponding level in the first set of levels (threshold verification parameter Assuming yes). By using lower program verify levels, the program voltage needed to program the reservoir to a particular state can be reduced. As a lower program voltage is used, the occurrence of program disturbances or the degree of disturbance experienced by memory cells can be reduced.

도11은 프로그램 검증 레벨들의 2 세트의 사용으로부터 기인하는 예시적인 임계전압 분포들을 도시하고 있다. 상태2와 상태3을 위한 상기 더 낮은 프로그램 검증 레벨은, WL3에 연결된 셀들의 임계전압 분포들의 변화를 야기한다. WL0-WL2에 연결된 메모리 셀들은, 각각 물리적 상태 1, 2 및 3 에 대응하여 522, 524 및 526으로 표시된 임계전압 분포들을 갖는다. WL0-WL2에 연결된 메모리 셀은, 프로그램 검증 레벨 Vv1 (일례로 0.4V), Vv2_WL0-2 (일례로 1.5V) 및 Vv3_WL0-2 (일례로 2.8V) 를 사용하여 상태 1, 2 및 3으로 프로그램된다. 예를 들면, WL0에 연결되어 있으며 상태 2로 프로그램되기로 의도된 메모리 셀은, 프로그램 검증 레벨인 Vv2_WL0-2 보다 상위에 있도록 자신의 임계전압을 프로그램할 것이다. 일 실시예에 있어서, 검증 레벨과 동등한 제어 게이트 전압 검증 파라미터가 메모리 셀에 인가된다. 만일, Vv3_WL0-2 와 동등한 레벨의 제어 게이트 전압이 인가되면 상기 메모리 셀이 도통되며, Vv2_WL0-2 와 동등한 레벨의 제어 게이트 전압이 인가되면 상기 메모리 셀이 비도통 된다면, 상기 메모리 셀은 상태 2로 프로그램되어 있다고 검증된다. 11 illustrates example threshold voltage distributions resulting from the use of two sets of program verify levels. The lower program verify level for state 2 and state 3 causes a change in the threshold voltage distributions of the cells connected to WL3. Memory cells connected to WL0-WL2 have threshold voltage distributions labeled 522, 524, and 526 corresponding to physical states 1, 2, and 3, respectively. The memory cells connected to WL0-WL2 are programmed to states 1, 2, and 3 using program verify levels Vv1 (0.4V for example), Vv2_WL0-2 (1.5V for example) and Vv3_WL0-2 (2.8V for example). do. For example, a memory cell connected to WL0 and intended to be programmed to state 2 will program its threshold voltage to be above the program verify level Vv2_WL0-2. In one embodiment, a control gate voltage verify parameter equal to the verify level is applied to the memory cell. If a control gate voltage equal to Vv3_WL0-2 is applied, the memory cell is turned on. If a control gate voltage equal to Vv2_WL0-2 is applied, the memory cell is non-conducted. Is verified to be programmed.

WL3에 연결된 메모리 셀들은, 상태 1, 2, 및 3에 대해 임계전압 분포들(532, 534, 536)을 각각 갖는다. 프로그램되는 마지막 워드라인(예를 들면, WL3)에 대해 물리적 상태들 2 와 3은 더 낮은 타겟들을 가지며, 도11에 도시된 바와같이 이동된 분포들이(534 와 536) 야기된다. 더 낮은 프로그램 검증 레벨인 Vv2_WL3(예를 들면, 1.3V)와 Vv3_WL3(예를 들면, 2.4V)는, WL3에 연결된 메모리 셀들을 프로그래밍할 때 사용된다. 예를 들면, 상태 2로 프로그램되기로 의도된 메모리 셀은, 그의 임계전압이 프로그램 검증 레벨인 Vv2_WL3 보다 크거나 같아질 때까지 프로그램될 것이다. 비록, 마지막 워드라인에 대해 임계전압 분포들이 이동되었다 하여도, WL0-2에 대한 물리적 상태 2 는 WL3에 대한 물리적 상태 2와 동일한 물리적 상태이다. 그러므로, 물리적 상태 2 와 3 는 더 낮은 타겟 레벨들을 가지며(예를 들어, Vv2_WL3 vs Vv2_WL0-2), 따라서 다른 워드라인들에 대한 것보다 프로그램될 마지막 워드라인(일례로 WL3)에 대해 더 낮은 최소 전압들을 갖는다. 본 발명의 다른 실시예에서는, 또한, 마지막 워드라인에 대한 추가적인 검증 레벨이 상태 1 을 위해 사용될 수 있다. Memory cells connected to WL3 have threshold voltage distributions 532, 534, 536 for states 1, 2, and 3, respectively. For the last wordline to be programmed (e.g., WL3), physical states 2 and 3 have lower targets, resulting in shifted distributions 534 and 536 as shown in FIG. The lower program verify levels, Vv2_WL3 (eg 1.3V) and Vv3_WL3 (eg 2.4V), are used when programming the memory cells connected to WL3. For example, a memory cell intended to be programmed to state 2 will be programmed until its threshold voltage is greater than or equal to the program verify level Vv2_WL3. Although the threshold voltage distributions have been shifted for the last word line, physical state 2 for WL0-2 is the same physical state as physical state 2 for WL3. Therefore, physical states 2 and 3 have lower target levels (eg Vv2_WL3 vs Vv2_WL0-2), and therefore a lower minimum for the last wordline to be programmed (eg WL3) than for other wordlines. Have voltages. In another embodiment of the present invention, an additional verify level for the last wordline can also be used for state 1.

검증 레벨들의 제 2 세트를 사용하여 프로그램된 워드라인(들)에 대해 판독 레벨들의 제 2 세트가 설정될 수 있다. 예를 들어 다시한번 도11을 참조하면, Vr2_WL3(일례로, 0.9V)는 WL3에 연결된 메모리 셀들에 대한 상태 2 판독 레벨이며, 반면에 Vr2_WL0-2(일례로, 1.1V)는 WL0-WL2에 연결된 메모리 셀들에 대한 상태 2 판독 레벨이다. Vr3_WL3(일례로, 1.8V)는 WL3에 연결된 메모리 셀들에 대한 상태 3 판독 레벨이며, 반면에 Vr3_WL0-2(일례로, 2.2V)는 WL0-WL2에 연결된 메모리 셀들에 대한 상태 3 판독 레벨이다. 비록 도시되지는 않았지만, 하나이상의 상태 1 판독 레벨들이 사용될 수 있으며 예를 들어 0V 부근의 값으로 세팅된다. WL3에 대한 판독 레벨들의 제 2 세트는, WL3을 위해 사용되는 검증 레벨들의 제 2 세트와 함께 사용될 수 있다. 하지만, 상기 판독 레벨들의 제 2 세트는 사용될 필요가 없다. 예를 들어, WL0-WL2에 대응하는 판독 레벨들은 WL3을 위해서도 사용될 수 있는 바, 심지어 WL3에 연결된 메모리 셀들이 검증 레벨들의 제 2 세트를 이용하여 프로그램되었던 경우라 하더라도 사용될 수 있다. 검증 레벨들의 제 2 세트를 이용하여 프로그램된 메모리 셀들은, 판독 레벨들의 제 1 세트를 이용함으로서 적절히 판독될 수 있으며, 이는 해당 기술분야의 당업자에게 자명할 것이다.A second set of read levels can be set for the wordline (s) programmed using the second set of verify levels. For example, referring again to Figure 11, Vr2_WL3 (e.g., 0.9V) is the state 2 read level for memory cells connected to WL3, while Vr2_WL0-2 (e.g., 1.1V) is applied to WL0-WL2. State 2 read level for connected memory cells. Vr3_WL3 (e.g., 1.8V) is the state 3 read level for memory cells connected to WL3, while Vr3_WL0-2 (e.g., 2.2V) is the state 3 read level for memory cells connected to WL0-WL2. Although not shown, one or more state 1 read levels can be used and set to a value near 0V, for example. The second set of read levels for WL3 may be used with the second set of verify levels used for WL3. However, the second set of read levels need not be used. For example, read levels corresponding to WL0-WL2 may also be used for WL3, even if memory cells connected to WL3 have been programmed using a second set of verify levels. Memory cells programmed using the second set of verify levels can be read properly by using the first set of read levels, as will be apparent to those skilled in the art.

판독 동작동안에 판독되었다면 특정한 물리적 상태를 가리켰을 임계전압들의 범위는, 추가적인 판독 레벨들이 사용될 때, 또한 이동된다. 예를 들어, WL3에 연결된 셀의 프로그램된 임계전압이, Vr2_WL3 와 Vr3_WL3 사이에 사이에 있다고 판단되면, 상기 셀은 물리적 상태 2에 있다고 판독될 것이다. 비록, 전압들의 범위들은 서로 다르지만, 마지막 워드라인에 대한 상기 물리적 상태들은 다른 워드라인들에 대한 물리적 상태들과 같다. 판독 레벨들의 단일 세트를 사용하는 실시예들에 있어서, 임계전압들의 범위(만일 판독된다면 특정한 상태를 나타낼 것인)는 워드라인에 관계없이 동일할 것이다. 하지만, 프로그램 검증 또는 타겟 레벨들의 추가적인 세트로 인해 실제적인 임계전압들의 분포들은 이동될 것이다. The range of threshold voltages that would have indicated a particular physical state if read during a read operation is also shifted when additional read levels are used. For example, if it is determined that the programmed threshold voltage of a cell connected to WL3 is between Vr2_WL3 and Vr3_WL3, the cell will be read as being in physical state 2. Although the ranges of voltages are different, the physical states for the last word line are the same as the physical states for other word lines. In embodiments using a single set of read levels, the range of threshold voltages (which would indicate a particular state if read) would be the same regardless of the word line. However, due to program verification or an additional set of target levels, the actual distribution of threshold voltages will shift.

본 발명에 따른 일 실시예에서, 더 낮은 검증 레벨들을 갖고 있는 메모리 셀들을 프로그래밍할 때에 더 낮은 프로그램 전압들이 사용된다. 도4의 실시예에서, WL3의 메모리 셀들을 프로그램하여 상태들을 선택하기 위해, 더 낮은 프로그램 전압이 적용될 수 있다. WL3에 연결된 메모리 셀들을 프로그래밍할 때에 상태 2와 3에 대해 더 낮은 검증 또는 타겟 레벨이 사용되기 때문에, 메모리 셀이 상태 2 또는 3에 다다를 때까지 셀 내부에 저장되는 전하는 더 적은 양을 필요로 한다. 필요로 하는 전하의 양이 적기때문에, 셀 내부에 저장된 전하를 더 낮은 필요레벨까지 증가시키기 위해서는 더 낮은 프로그램 전압이 인가될 수 있다. 본 발명에 따른 일실시예에서, WL3을 프로그래밍할 때에, 다른 프로그램 전압 또는 프로그램 전압 신호가 사용될 수 있는 바, 따라서 더 낮은 프로그램 전압들이 사용된다. 다른 실시예들에서는, WL3 을 프로그래밍할 때에, 그 외의 워드라인들을 프로그래밍할 때 사용되는 신호와 동일한 신호가 사용될 수 있다. In one embodiment according to the invention, lower program voltages are used when programming memory cells with lower verify levels. In the embodiment of Figure 4, a lower program voltage may be applied to program the memory cells of WL3 to select states. Because lower verification or target levels are used for states 2 and 3 when programming the memory cells connected to WL3, the charge stored inside the cell requires less amount until the memory cells reach state 2 or 3 . Because the amount of charge required is small, a lower program voltage can be applied to increase the charge stored inside the cell to a lower required level. In one embodiment according to the present invention, when programming WL3, other program voltages or program voltage signals may be used, so lower program voltages are used. In other embodiments, when programming WL3, the same signal as the signal used when programming other word lines may be used.

예를 들어, 도7에 도시된 바와같은 증가하는 프로그램 전압이 일실시예에서 사용될 수 있다. 전술한 바와같이, 상기 증가하는 전압은, 이러한 셀들이 그들의 타겟 상태들에 도달했는지를 검증하는 어플리케이션으로부터 제거된다. 검증레벨이, 그리고 그 결과로서 요구되고 있는 프로그램된 임계전압, WL3에 대해서는 더 낮기 때문에, WL3에 연결된 셀이 선택 상태로 프로그램되었다고 검증되기 전에 아마도 더 적은 펄스들이 요구될 것이다. 즉, 이 말은, WL3에 연결된 메모리 셀들에 대해서는, 더 낮은 저장 전하 또는 더 낮은 임계전압이 요구된다는 의미이다. 따라서, 다른 워드라인들에 연결된 셀들에 비해 이러한 셀들은 그들의 타겟 임계전압 레벨들에 보다 빨리 도달 할 것이다. 따라서, 상기 프로그램 전압은 이러한 셀들로부터 보다 더 빨리 제거될 것이며, 결과적으로 더 적은 프로그램 펄스들 및/또는 더 적은 피크 프로그램 펄스를 구비한 어플리케이션이 가능하다.For example, increasing program voltage as shown in FIG. 7 may be used in one embodiment. As noted above, the increasing voltage is eliminated from the application verifying that these cells have reached their target states. Since the verify level is lower for the programmed threshold voltage, WL3, which is required as a result, perhaps fewer pulses will be required before verifying that the cell connected to WL3 has been programmed to the selected state. In other words, this means that for memory cells connected to WL3, a lower storage charge or lower threshold voltage is required. Thus, these cells will reach their target threshold voltage levels faster than cells connected to other word lines. Thus, the program voltage will be removed more quickly from these cells, resulting in an application with fewer program pulses and / or fewer peak program pulses.

도12는 본 발명의 일실시예에 따른 메모리 시스템을 프로그래밍하는 방법을 서술한 플로우 차트이다. 특정한 어플리케이션에 따라 또는 구현예에 따라 다양한 단계들이 수정되거나, 추가되거나, 또는 제거될 수 있지만, 이러한 것들이 여전히 본 명세서에서 개시된 발명의 범위와 사상내에 있음은 해당 기술분야의 당업자에게 는 자명할 것이다. 전술한 바와같은 2-패스 프로그래밍 동작에서, 예를 들면, 다중 프로그래밍 단계 또는 다중 검증 단계들이 하나의 반복구간(iteration)내에서 사용될 수도 있다. 다양한 구현예들에서, 메모리 셀들은 프로그래밍되기 전에 소거된다(블록 단위 또는 다른 단위들로). 도12의 단계 602에서, 데이터 로드 명령(data load command)은 제어기(318)에 의해 발행되어 데이터 입력/출력 버퍼(312)로 입력된다. 상기 입력된 데이터는 명령으로 인식되며 상태 머신(316)에 의해 래치되는데, 이는 명령 래치 신호(미도시)가 명령회로(314)로 입력되기 때문이다. 단계 604에서, 페이지 어드레스를 가리키는 어드레스 데이터가, 제어기(318)로부터 데이터 입력/출력 버퍼(312)로 입력된다. 상기 입력된 데이터는 페이지 어드레스로 인식되 며 상태 머신(316)에 의해 래치되는데, 이는 어드레스 래치 신호가 명령회로(314)로 입력되기 때문이다. 단계 606에서, 532 바이트의 프로그램 데이터가 데이터 입력/출력 버퍼(312)로 입력된다. 주목할만한 점으로, 532 바이트의 프로그램 데이터는 서술된 특정한 실시예에 대해 특별한 것이며, 다른 구현예들에서는 다양한 사이즈의 프로그램 데이터가 요구되거나 사용될 수도 있다는 점을 유의해야 한다. 이 데이터는, 선택된 비트라인을 위해 레지스터내에서 래치될 수 있다. 어떤 실시예들에서는, 상기 데이터는 또한, 검증 동작들에 사용되는 선택된 비트라인들을 위해 제 2 레지스터에서 래치된다. 단계 608에서, 프로그램 명령이 제어기(318)에 의해 발행되어 데이터 입력/출력 버퍼(312)로 입력된다. 상기 명령은 상태 머신(316)에 의해 래치되는데, 상기 명령 래치 신호가 명령 회로들(314)로 입력되기 때문이다.12 is a flow chart illustrating a method of programming a memory system in accordance with one embodiment of the present invention. Although various steps may be modified, added, or removed depending on the particular application or implementation, it will be apparent to those skilled in the art that these are still within the scope and spirit of the invention disclosed herein. In a two-pass programming operation as described above, for example, multiple programming steps or multiple verify steps may be used within one iteration. In various implementations, memory cells are erased (in block or other units) before being programmed. In step 602 of Figure 12, a data load command is issued by the controller 318 and entered into the data input / output buffer 312. The input data is recognized as a command and latched by the state machine 316 because a command latch signal (not shown) is input to the command circuit 314. In step 604, address data indicating the page address is input from the controller 318 to the data input / output buffer 312. The input data is recognized as a page address and latched by the state machine 316 because an address latch signal is input to the command circuit 314. At step 606, 532 bytes of program data are input to the data input / output buffer 312. Notably, it should be noted that 532 bytes of program data is specific to the particular embodiment described, and in other implementations program data of various sizes may be required or used. This data can be latched in a register for the selected bit line. In some embodiments, the data is also latched in a second register for selected bit lines used for verify operations. In step 608, a program command is issued by the controller 318 and input into the data input / output buffer 312. The command is latched by the state machine 316 because the command latch signal is input to the command circuits 314.

단계 610에서, Vpgm은 시작 펄스(예를 들어, 12 볼트)로 초기화되며 그리고 상태 머신(316)에 의해 유지되는 프로그램 카운터 PC는 0으로 초기화된다. 단계 612에서, 어떤 워드라인이 프로그램되고 있는지에 대한 결정이 수행된다. 만일, 프로그램되고 있는 워드라인이, 프로그램 동작 동안에 스트링에서 프로그램될 마지막 워드라인이라면, 상기 플로우 차트에서 단계 614 로 진행한다. 만일, 프로그램되고 있는 워드라인이, 프로그램 동작 동안에 스트링에서 프로그램될 마지막 워드라인이아니라면, 상기 플로우 차트에서 단계 616 으로 진행한다. 단계 616 에서, 명목상 검증 파라미터 값들 또는 타겟 레벨들은 복원된다(retrieve). 상기 명목상 값들은 메모리 셀을 프로그래밍할 때 사용되는 전형적인 검증 레벨들일 수 있다. 논의된 바와같이, 이러한 값들은, 메모리 셀들에서 더 넓어진 임계전압 분포를 야기하는 원인이 될 수도 있다. 일 실시예에서 예를 들면, 상기 명목상 프로그램 검증 값들은, 도11에 도시된 바와같은 Vv1, Vv2_WL0-2, Vv3_WL0-2 이다. 만일, 스트링의 마지막 워드라인이 프로그램되고 있다면, 상기 마지막 워드라인을 위한 검증 파라미터 값은 단계 614 에서 복원될 수 있다. 전에도 논의된 바와같이, 마지막 워드라인을 위한 상기 검증 파라미터 값들은, 명목상 검증 파라미터 값들(임계전압 검증 파라미터라 가정하자) 보다 더욱 더 낮을 수 있다. 이와같이 더 낮은 검증 파라미터 값들로 인해, 데이터 상태들을 나타내는데 사용되는 임계전압 범위들간에 적절한 이격을 유지할 수 있는데, 이는 마지막 워드라인에 연결된 메모리 셀들에는 유핀 효과(Yupin effect)가 미약하기 때문이며 따라서, 다른 워드라인들에 연결된 메모리 셀들 보다 좀 더 조밀한 임계전압 분포들이 가능하다.At step 610, Vpgm is initialized with a start pulse (eg, 12 volts) and the program counter PC maintained by state machine 316 is initialized to zero. At step 612, a determination is made as to which word line is being programmed. If the word line being programmed is the last word line to be programmed in the string during a program operation, then flow proceeds to step 614 in the flowchart. If the wordline being programmed is not the last wordline to be programmed in the string during a program operation, then flow proceeds to step 616 in the flowchart. In step 616, the nominal verification parameter values or target levels are retrieved. The nominal values may be typical verify levels used when programming a memory cell. As discussed, these values may cause a wider threshold voltage distribution in the memory cells. For example, in one embodiment, the nominal program verification values are Vv1, Vv2_WL0-2, Vv3_WL0-2 as shown in FIG. If the last wordline of the string is being programmed, the verify parameter value for the last wordline may be restored at step 614. As discussed previously, the verify parameter values for the last wordline may be even lower than the nominal verify parameter values (assuming threshold voltage verify parameters). These lower verify parameter values maintain adequate separation between the threshold voltage ranges used to represent the data states, because the Yupin effect is weak for memory cells connected to the last wordline, and thus different words. More dense threshold voltage distributions are possible than memory cells connected to lines.

단계 618 에서, 프로그램 전압(Vpgm) 펄스는 선택된 워드라인에 인가된다. 상기 프로그램될 메모리 셀들을 포함하는 비트라인들은 접지되어 있는 반면에, 다른 비트라인들은 프로그래밍을 방지하기 위하여 VDD에 연결되어 있다. 단계 620에서, 선택된 메모리 셀들의 상태들이 검증된다. 이러한 선택된 메모리 셀들은, 단계 616 또는 단게 614 에서 복원된 검증 파라미터 값들을 이용하여 검증된다. 전술한 바와같이, 다양한 검증 파라미터들이 단계 620 에서 사용될 수 있다. 예를 들면, 메모리 셀에서의 감지된 드레인 소스 전류의 검증 파라미터가 일 실시예에서 사용될 수 있다. 다른 실시예에서, 메모리 셀에 인가되는 제어 게이트 전압이 검증 파라미터로서 사용될 수 있다. 만일, 선택된 셀의 타겟 임계전압이 적절한 레벨(예를 들면, 논리 0 을 위해 프로그램된 레벨 또는 다중 상태 셀의 특정한 상태)에 도달하였음이 감지된다면, 상기 선택된 셀은 그 목적 전압으로 프로그램되었는지가 검증된다. 만일, 선택된 셀의 타겟 임계전압이 적절한 레벨에 도달하지 못했음이 감지된다면, 상기 선택된 셀은 그 목적 전압으로 프로그램되었는지가 검증되지 않는다. 그들의 목적 상태로 프로그램되었는지가 단계 620 에서 검증되는 이러한 셀들은 후속 프로그래밍에서 제외될 것이다. 단계 622에서, 적절한 데이터 저장 레지스터를 체크하는 것과 같은 방법을 통해, 프로그램될 모든 셀들이 검증되었는지 아닌지가 결정된다. 만일 그렇다면, 상기 프로그래밍 프로세스는 종료되며 성공한 것이 되는데, 모든 선택된 메모리 셀들이 프로그램되었고 검증되었기 때문이다. 패스(pass)의 상태는 단계 624 에서 보고된다. 만일, 단계 622 에서, 모든 메모리 셀들이 검증된 것은 아니다 라고 판단되면, 상기 프로그램 프로세스는 계속된다. 단계 626에서, 상기 프로그램 카운터 PC는 프로그램 제한 값에 대해 체크된다. 프로그램 제한 값에 대한 일례는 20 이다. 만일, 프로그램 카운터 PC가 20 보다 작지 않다면, 프로그램 프로세스는 실패한 것이고, 실패의 상태가 단계 628에서 보고된다. 만일, 프로그램 카운터 PC 가 20 보다 작다면, 상기 Vpgm 레벨은 스텝 사이즈만큼 증가하게 되며, 프로그램 카운터 PC 는 단계 630에서 증가된다. 단계 630 이후에, 상기 프로세스 루프는 단계 618로 돌아가 다음번 Vpgm 펄스를 인가한다. In step 618, a program voltage Vpgm pulse is applied to the selected word line. The bit lines containing the memory cells to be programmed are grounded, while the other bit lines are connected to VDD to prevent programming. In step 620, the states of the selected memory cells are verified. These selected memory cells are verified using the verification parameter values restored in step 616 or step 614. As mentioned above, various verification parameters may be used in step 620. For example, a verification parameter of sensed drain source current in a memory cell can be used in one embodiment. In another embodiment, the control gate voltage applied to the memory cell can be used as the verification parameter. If it is detected that the target threshold voltage of the selected cell has reached an appropriate level (e.g., a level programmed for logic 0 or a specific state of a multi-state cell), verify that the selected cell has been programmed to that target voltage. do. If it is detected that the target threshold voltage of the selected cell has not reached the appropriate level, it is not verified whether the selected cell has been programmed to its target voltage. These cells, which are verified at step 620, whether they were programmed to their destination state, will be excluded from subsequent programming. In step 622, it is determined whether all cells to be programmed have been verified or not, such as by checking an appropriate data storage register. If so, the programming process ends and succeeds since all selected memory cells have been programmed and verified. The status of the pass is reported at step 624. If at step 622 it is determined that not all the memory cells have been verified, the program process continues. In step 626, the program counter PC is checked for a program limit value. An example of a program limit value is 20. If the program counter PC is not less than 20, the program process has failed and the status of the failure is reported at step 628. If the program counter PC is less than 20, the Vpgm level is increased by the step size, and the program counter PC is increased at step 630. After step 630, the process loop returns to step 618 to apply the next Vpgm pulse.

성공적인 프로그램 프로세스의 말미에, 메모리 셀들의 임계전압들은, 프로그램된 메모리 셀들을 위한 하나 이상의 임계전압 분포들 내에 있어야 하거나 또는 소거된 메모리 셀들의 임계전압들 분포내에 있어야한다. 일 실시예에 따르면, 스트링의 마지막 워드라인에 연결된 메모리 셀은, 특정 물리적 상태를 나타내는 제 1 전압 분포내로 프로그램될 수도 있으며, 스트링의 다른 워드라인들중 하나에 연결된 메모리 셀은 동일한 물리적 상태를 나타내는 제 2 임계전압 분포내에 있도록 프로그램 될 수도 있다.At the end of a successful program process, the threshold voltages of the memory cells must be within one or more threshold voltage distributions for the programmed memory cells or within the threshold voltage distributions of the erased memory cells. According to one embodiment, a memory cell connected to the last wordline of a string may be programmed into a first voltage distribution representing a particular physical state, and a memory cell connected to one of the other wordlines of the string represents the same physical state. It may be programmed to be within the second threshold voltage distribution.

본 발명의 일 실시예에 따르면, 선택된 메모리 셀 또는 셀들에 프로그램 전압 또는 펄스를 인가한 이후에, 다양한 검증 파라미터들이 사용될 수 있다. 상기 메모리 셀의 프로그램 가능한 임계전압이 최소 검증 레벨보다 높은지를 검증하거나 또는, 특정한 물리적 상태를 위한 타겟 레벨에 있는지를 검증함으로서, 메모리 셀이 그 타겟 상태에 도달했는지를 판별하기 위한 검증 파라미터가 사용될 수 있다. 본 발명의 일실시예에서는, 예를 들면 메모리 셀의 감지된 드레인 소스 전류가 검증 파라미터로서 사용된다. According to one embodiment of the invention, after applying a program voltage or pulse to a selected memory cell or cells, various verify parameters may be used. Verification parameters may be used to determine whether the memory cell has reached its target state by verifying whether the programmable threshold voltage of the memory cell is above a minimum verify level or by verifying that it is at a target level for a particular physical state. have. In one embodiment of the invention, for example, the sensed drain source current of the memory cell is used as the verification parameter.

일 실시예에 따르면, 마지막 워드라인을 프로그램할 때 또는 그룹(NAND 스트링과 같은)내에서의 마지막 워드라인 인근의 워드라인을 프로그램할 때에, 프로그램 펄스를 증가시키기 위해 더 큰 스텝 사이즈가 사용될 수 있다. 이러한 실시예에서, 마지막 워드라인에 연결된 메모리 셀들을 위한 상기 검증 레벨들은, 그 외의 워드라인들에 연결된 셀들을 위해 사용되는 검증레벨들과 동일할 수도 있지만, 꼭 그래야 하는 것은 아니다. 도10에 도시된 바와같이, 마지막 워드라인에 연결된 메모리 셀들을 위한 임계전압 분포들은, 그 외의 워드라인들에 연결된 메모리 셀들을 위한 대응 임계전압 분포들 보다 더 조밀하다. 이로인해, 제 1 상태에 있는 메모리 셀의 최대 가능 임계전압과 다음 상태에 있는 메모리 셀의 최소 가능 임계전압 사이의 간격은 더 벌어진다. 예를 들면, WL3에 연결된 메모리 셀에서 상태 2와 상태 3을 나타내는 잠재적 임계전압 레벨들 사이의 간격(542)은, 다른 워드라인에 연결된 메모리 셀에서 상태 2 와 상태 3을 나타내는 잠재적 임계전압 레벨들 사이의 간격(540)보다 더 넓다. 일 실시예에서, 간격(540)은 0.9V 정도의 크기일 수 있으며 반면에 간격(542)는 1.1V 정도의 크기를 갖는다. According to one embodiment, when programming the last wordline or when programming a wordline near the last wordline in a group (such as a NAND string), a larger step size may be used to increase the program pulse. . In such an embodiment, the verify levels for memory cells connected to the last word line may be the same as, but not necessarily, the verify levels used for cells connected to other word lines. As shown in Fig. 10, threshold voltage distributions for memory cells connected to the last word line are denser than corresponding threshold voltage distributions for memory cells connected to other word lines. As a result, the distance between the maximum possible threshold voltage of the memory cell in the first state and the minimum possible threshold voltage of the memory cell in the next state is widened. For example, the interval 542 between potential threshold voltage levels representing state 2 and state 3 in a memory cell connected to WL3 may indicate potential threshold voltage levels representing state 2 and state 3 in a memory cell connected to another wordline. Wider than the interval 540 between. In one embodiment, the spacing 540 may be on the order of 0.9V, while the spacing 542 is on the order of 1.1V.

도11의 WL0-2에 연결된 메모리 셀들과 같이, 약 300 밀리볼트 정도의 분포를 갖는 전형적인 메모리 셀들을 위해, 300 밀리볼트(mmV)의 프로그램 전압 스텝 사이즈가 사용될 수 있다. 작은 스텝 사이즈가 프로그램 전압 펄스를 증가시키는데 사용되는데, 이는 과-프로그래밍(overprogramming)없이 타겟 임계전압 범위내에서 메모리 셀을 정확하게 프로그램하기 위해서이다. 반면에, 증가된 스텝 사이즈는 프로그래밍 시간을 증가시킬수 있으며, 증가된 스텝 사이즈는 더 넓은 임계전압 분포들을 야기하며 결과적으로 다양한 상태들을 나타내는 전압들 사이에서 더 좁은 간격을 야기한다. 하지만, 서로 다른 상태들을 나타내는 잠재적 임계전압들 사이에서 더 넓은 간격을 갖는다면, 적절한 간격을 유지하면서도 더 큰 스텝 사이즈가 사용될 수 있다. 예를 들면, 스트링의 마지막 워드라인은, 더 큰 프로그램 스텝 사이즈로 프로그램될 수 있는 바, 정확한 프로그래밍과 적절한 간격을 여전히 유지하면서도 프로그램될 수 있다. 일 실시예에서, 500 밀리볼트의 프로그램 전압 스텝 사이즈가, 마지막 워드라인에 연결된 메모리 셀들을 위한 펄스들을 증가시키는데 사용될 수도 있다. 상기 500 밀리볼트의 스텝 사이즈를 갖고도, 여전히 메모리 셀들을 목적 상태로 정확하게 프로그래밍할 수 있다. WL3에 대한 임계전압 분포들의 폭들은 결과적으로 증가하겠지만, 다른 워드라인들에 대한 임계전압 분포들의 폭들과 유사할 정도로만 증가할 것이다. 이와같이 증가된 프로그램 스텝 사이즈를 사용함으로서, 메모리 셀 또는 워드라인을 위한 프로그래밍 시간이 감소될 수 있다. 마지막 워드라인에 연결된 메모리 셀들처럼 선택된 메모리 셀에 대한 프로그래밍 시간이 감소됨으로서, 전체 메모리 시스템에 대한 총 프로그래밍 시간 또한 감소될 수 있다. For typical memory cells with a distribution on the order of 300 millivolts, such as the memory cells connected to WL0-2 in FIG. 11, a program voltage step size of 300 millivolts (mmV) may be used. Small step sizes are used to increase the program voltage pulses to accurately program memory cells within the target threshold voltage range without overprogramming. On the other hand, increased step size can increase programming time, which results in wider threshold voltage distributions and consequently narrower spacing between voltages representing various states. However, if there is a wider gap between potential threshold voltages representing different states, a larger step size can be used while maintaining the proper spacing. For example, the last wordline of a string can be programmed with a larger program step size, so that it can be programmed while still maintaining correct programming and proper spacing. In one embodiment, a program voltage step size of 500 millivolts may be used to increase the pulses for the memory cells connected to the last wordline. Even with the 500 millivolt step size, the memory cells can still be accurately programmed to the desired state. The widths of the threshold voltage distributions for WL3 will eventually increase, but only to a degree similar to the widths of the threshold voltage distributions for other word lines. By using this increased program step size, programming time for memory cells or word lines can be reduced. As the programming time for the selected memory cell is reduced, such as the memory cells connected to the last wordline, the total programming time for the entire memory system can also be reduced.

도13은 본 발명의 일실시예에 따라 메모리 시스템을 프로그래밍하는 방법을 도시한 플로우 차트인데, 메모리 셀이 어떤 워드라인에 연결되었는지에 따라 가변적인 프로그램 스텝 사이즈가 사용되는 방법을 도시한 도면이다. 도13의 단계 602에서 단계 610 까지는, 도12의 단계 602에서 단계 610에 대응된다. 단계 662에서, 프로그램 펄스가 선택된 워드라인, 예를 들면 도4의 WL2, WL3, 에 인가된다. 프로그램될 메모리 셀들을 포함하고 있는 비트라인들은 접지되는 반면에, 다른 비트라인들은 VDD에 연결되어 프로그래밍이 금지된다.FIG. 13 is a flow chart illustrating a method of programming a memory system in accordance with an embodiment of the present invention, which illustrates how a variable program step size is used depending on which word line the memory cell is connected to. Steps 602 to 610 of FIG. 13 correspond to steps 610 and 610 of FIG. In step 662, a program pulse is applied to the selected word line, for example WL2, WL3, in FIG. The bit lines containing the memory cells to be programmed are grounded, while the other bit lines are connected to VDD to prevent programming.

단계 664에서, 선택된 메모리 셀들의 상태들이 검증된다. 만일, 선택된 메모리 셀의 상기 타겟 임계전압이 적절한 레벨(예를 들면, 논리 "0" 을 위해 프로그램된 레벨 또는 복수 상태 셀에서의 특정한 상태)에 도달하였음이 감지된다면, 상기 선택된 셀은 그 타겟 상태로 프로그램되었는지가 검증된다. 만일, 임계전압이 적절한 레벨에 도달하지 못했다고 감지된다면, 상기 선택된 셀은 그 타겟 상태로 프로그램되었는지에 대해 검증되지 않는다. 단계 644에서 검증되는 이러한 셀들은, 후속 프로그래밍으로부터 제외될 것이다. 적절한 데이터 스토리지 레지스터를 체킹하는 방법 등을 통해, 프로그램될 모든 셀들이 검증되었는지가 단계 666에서 체크된 다. 만일 그렇다면, 상기 프로그래밍 프로세스는 종료되며 성공한 것이 되는데, 모든 선택된 메모리 셀들이 프로그램되었고 검증되었기 때문이다. 패스(pass)의 상태는 단계 668 에서 보고된다. 만일, 단계 666 에서, 모든 메모리 셀들이 검증된 것은 아니다 라고 판단되면, 상기 프로그램 프로세스는 계속된다. 단계 670에서, 상기 프로그램 카운터 PC는 프로그램 제한 값에 대해 체크된다. 프로그램 제한 값에 대한 일례는 20 이다. 만일, 프로그램 카운터 PC가 20 보다 작지 않다면, 프로그램 프로세스는 실패한 것이고, 실패의 상태가 단계 672에서 보고된다.In step 664, the states of the selected memory cells are verified. If it is detected that the target threshold voltage of the selected memory cell has reached an appropriate level (e.g., a level programmed for logic "0" or a specific state in a multi-state cell), the selected cell is in that target state. Is programmed as If it is detected that the threshold voltage has not reached the appropriate level, the selected cell is not verified whether it has been programmed to its target state. These cells verified at step 644 will be excluded from subsequent programming. The method checks at step 666 whether all cells to be programmed have been verified, such as by checking the appropriate data storage registers. If so, the programming process ends and succeeds since all selected memory cells have been programmed and verified. The status of the pass is reported at step 668. If at step 666 it is determined that not all the memory cells have been verified, the program process continues. In step 670, the program counter PC is checked for a program limit value. An example of a program limit value is 20. If the program counter PC is not less than 20, then the program process has failed and the status of the failure is reported in step 672.

단계 674에서, 프로그램될 선택된 워드라인이, 프로그램 동작동안에 스트링에서 프로그램될 마지막 워드라인인가 아닌가에 대한 판단이 수행된다. 만일, 선택된 워드라인이, 스트링의 마지막 워드라인이 아니라면, 단계 676에서 Vpgm은 제 1 스텝 사이즈에 의해 증가되며 PC(프로그램 카운터)는 증가된다. Vpgm 을 계단 증가시키고 PC 를 증가시킨 이후에, 플로우 차트는 단계 662로 진행한다. 만일, 단계 674에서, 스트링의 마지막 워드라인이 상기 선택된 워드라인이라고 판단되면, 단계 678에서 Vpgm은 제 2 스텝 사이즈에 의해 증가되며 PC 또한 증가된다. 단계 678에서 사용되는 상기 제 2 스텝 사이즈는, 단계 676에서 사용되는 제 1 스텝 사이즈보다 크다. 이와같이 PC를 증가시키고 Vpgm을 계단 증가시킨 이후에, 플로우 차트는 단계 662로 진행된다. In step 674, a determination is made as to whether the selected wordline to be programmed is the last wordline to be programmed in the string during a program operation. If the selected word line is not the last word line of the string, then at step 676 Vpgm is increased by the first step size and the PC (program counter) is increased. After increasing Vpgm and increasing PC, the flow chart proceeds to step 662. If it is determined in step 674 that the last word line of the string is the selected word line, then in step 678 Vpgm is increased by the second step size and the PC is also increased. The second step size used in step 678 is larger than the first step size used in step 676. After increasing the PC and increasing Vpgm step by step, the flow chart proceeds to step 662.

제어 게이트에 특정한 전압을 인가하고 그리고 메모리 셀이 턴온 또는 턴오프인지를 판별함으로서 검증 프로세스가 수행된다는 가정하에서, 본 명세서에서 개시된 내용중 많은 부분이 제시된 것이다. 하지만, 메모리 셀을 검증(및 판독)하는 다른 수단들은 매우 많으며, 메모리 셀의 상태를 판별하기 위한 다양한 검증 파라미터들이 본 발명의 기술적 사상의 범위내에서 사용될 수 있음은 물론이다. 예를 들면, 어떤 특정한 판독 조건하에서 저장소자의 전류가 기준 전류들의 세트와 비교되는 방식과 같은 소정의 전류 감지 시스템이 사용될 수 있다. 다른 실시예에서는, 저장소자의 상태가 복수개의 서로 다른 파라미터들을 사용하여 판별될 수 있다. 예를 들면, 전류 감지에 의해 셀에 저장된 전하의 레벨에 대한 판별이 수행될 수 있는데, 상기 전류 감지에서는, 고정된 바이어스 조건들을 이용하여 셀의 도통 정도(magnitude of conduction)가 감지된다. 다른 방법으로, 임계전압들을 감지함으로서 이러한 판별이 수행될 수도 있는데, 여기서는 다양한 조향(steering) 게이트 바이어스 조건들을 이용하여 전술한 바와같은 도통의 징후들이 감지된다. 또 다른 방법으로, 동적으로 유보된 감지 노드(예를 들면, 선행-충전된 캐패시터)의 방전율을 조절하는 구동력을, 셀의 전하레벨이 결정하게 함으로서, 전술한 바와같은 판별이 동적으로 수행될 수도 있다. 소정의 방전 레벨에 도달하는데 걸리는 시간을 측정함으로서, 셀에 저장된 전하의 레벨을 판별할 수 있다. 이러한 경우, 셀의 상태를 표시하는 파라미터는 시간이다. 이러한 접근법은 미국특허번호 US 6,222,762에 서술되어 있으며, 상기 특허는 본 발명에 대한 참조가 되며 전체로서 본 명세서에 편입된다. 또 다른 대안적인 기술은, 파라미터로서 주파수를 이용하며, 상기 주파수를 사용하여 저장소자의 상태가 판별되는 기술인 바, 이는 미국특허번호 US 6,044,019에 개시되어 있으며, 이 특허 역시 본 발명에 대한 참조로서 본 명세서에 전체적으로 편입된다. 전류를 감지하는 접근법들은 미국특허번호 US 5,172,338에 좀더 상세히 서술되어 있으며, 이 또한 본 발명에 대한 참조로서 본 명세서에 전체적으로 편입된다.Many of the disclosures herein are presented, assuming that the verification process is performed by applying a specific voltage to the control gate and determining whether the memory cell is on or off. However, there are many other means for verifying (and reading) the memory cell, and of course, various verification parameters for determining the state of the memory cell can be used within the scope of the inventive concept. For example, certain current sensing systems can be used, such as how the current of the reservoir under certain reading conditions is compared to the set of reference currents. In other embodiments, the state of the reservoir may be determined using a plurality of different parameters. For example, a determination of the level of charge stored in a cell may be performed by current sensing, where the magnitude of conduction of the cell is sensed using fixed bias conditions. Alternatively, this determination may be performed by sensing threshold voltages, where the indications of conduction as described above are detected using various steering gate bias conditions. Alternatively, the determination as described above may be performed dynamically by allowing the cell's charge level to determine the driving force that regulates the discharge rate of the dynamically held sense node (e.g., a pre-charged capacitor). have. By measuring the time taken to reach a predetermined discharge level, the level of charge stored in the cell can be determined. In this case, the parameter indicating the state of the cell is time. This approach is described in US Pat. No. 6,222,762, which is a reference to the invention and is incorporated herein in its entirety. Another alternative technique is a technique in which a frequency is used as a parameter and the state of the reservoir is determined using the frequency, which is disclosed in US Pat. No. 6,044,019, which is also a reference to the present invention. Is incorporated in its entirety. Approaches for sensing current are described in more detail in US Pat. No. 5,172,338, which is also incorporated herein in its entirety by reference to the present invention.

전술한 실시예들은 NAND 플래시 메모리에 관해 제공되었다. 하지만, 본 발명의 원리들은 다른 타입의 비휘발성 메모리들에도 응용될 수 있으며, 이러한 비휘발성 메모리들에는 현존하는 메모리들 뿐만 아니라 현재 개발되고 있는 새로운 기술을 이용하기 위해 기획된 비휘발성 메모리들이 포함된다.The above embodiments have been provided with respect to NAND flash memory. However, the principles of the present invention can be applied to other types of nonvolatile memories, which include nonvolatile memories designed to take advantage of existing technologies as well as new technologies currently being developed. .

본 발명의 실시예들에 관한 전술한 내용들은 예시와 설명을 위해 제공되었을 뿐이며, 실시예에 대한 모든 것을 속속들이 규명한다던가 또는 실시예만으로 본 발명을 제한하고자 의도된 것이 아님을 유의해야 한다. 해당 기술분야의 당업자에게는 다양한 변형예와 수정예들이 자명할 것이다. 본 발명의 기술적 사상과 실질적인 응용을 최적으로 설명하기 위해, 본 발명의 실시예들이 선택되고 기술되었으며, 따라서 해당 기술분야의 당업자들은 본 발명, 다양한 실시예들 및 특정한 사용에 적합한 다양한 변형예들을 이해할 수 있을 것이다. 본 발명의 범위는 후속되는 청구항들 및 그들의 등가물들에 의해서 정의되어야 한다.It should be noted that the foregoing descriptions of the embodiments of the present invention have been provided for purposes of illustration and description only, and are not intended to be exhaustive or to limit the invention to the embodiments. Various modifications and variations will be apparent to those skilled in the art. In order to best describe the technical idea and practical application of the present invention, embodiments of the present invention have been selected and described, and therefore those skilled in the art will understand the present invention, various embodiments, and various modifications suitable for a particular use. Could be. The scope of the invention should be defined by the claims that follow and their equivalents.

Claims (43)

하나 이상의 비휘발성 저장소자들의 제 1 세트를 제 1 물리적 상태로 프로그래밍하는 단계; 그리고Programming a first set of one or more nonvolatile reservoirs into a first physical state; And 하나 이상의 비휘발성 저장소자들의 제 2 세트를 상기 제 1 물리적 상태로 프로그래밍하는 단계 -여기서, 상기 제 1 물리적 상태는, 하나 이상의 비휘발성 저장소자들의 상기 제 1 세트에 대한 최소 전압보다 더 낮은, 하나 이상의 비휘발성 저장소자들의 상기 제 2 세트에 대한 최소 전압을 포함함-Programming a second set of one or more nonvolatile reservoirs into the first physical state, wherein the first physical state is lower than a minimum voltage for the first set of one or more nonvolatile reservoirs. Includes a minimum voltage for the second set of ideal nonvolatile reservoirs- 를 포함하여 이루어지는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.A method of programming a nonvolatile memory, characterized in that it comprises a. 제1항에 있어서, 상기 제 1 물리적 상태는,The method of claim 1, wherein the first physical state, 상기 제 1 세트를 위한 제 1 최소 임계전압과 상기 제 2 세트를 위한 제 2 최소 임계전압을 포함하며, 상기 제 2 최소 임계전압은 상기 제 1 최소 임계전압보다 작은 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And a first minimum threshold voltage for the first set and a second minimum threshold voltage for the second set, wherein the second minimum threshold voltage is less than the first minimum threshold voltage. How to program. 제2항에 있어서,The method of claim 2, 상기 제 1 세트를 상기 제 1 물리적 상태로 프로그래밍하는 상기 단계는,Programming the first set to the first physical state comprises: 제 1 타겟 레벨을 이용하여 상기 제 1 세트를 프로그래밍하는 것을 포함하며; 그리고 Programming the first set using a first target level; And 제 2 세트를 프로그래밍하는 상기 단계는,The programming of the second set includes: 제 2 타겟 레벨을 이용하여 상기 제 2 세트를 프로그래밍하는 것을 포함하여 이루어진 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Programming said second set using a second target level. 제3항에 있어서,The method of claim 3, 상기 제 1 세트를 프로그래밍하는 단계는 Programming the first set includes: 상기 제 1 세트를 상기 제 1 물리적 레벨로 프로그래밍한 것을 검증하는 단계를 포함하며 -여기서, 검증은, 상기 하나 이상의 비휘발성 저장소자들의 상기 제 1 세트의 임계전압이, 상기 제 1 타겟 레벨에 도달했는지를 판별하는 것을 포함함-; 그리고Verifying the programming of the first set to the first physical level, wherein verifying, wherein the threshold voltage of the first set of the one or more nonvolatile reservoirs reaches the first target level. Determining whether it did; And 상기 제 2 세트를 프로그래밍하는 단계는 Programming the second set includes: 상기 제 2 세트를 상기 제 1 물리적 레벨로 프로그래밍한 것을 검증하는 단계를 포함 -여기서, 검증은, 상기 하나 이상의 비휘발성 저장소자들의 상기 제 2 세트의 임계전압이, 상기 제 2 타겟 레벨에 도달했는지를 판별하는 것을 포함함-Verifying programming the second set to the first physical level, wherein verifying whether the threshold voltage of the second set of the one or more non-volatile reservoirs has reached the second target level. Includes determining 하는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And programming a nonvolatile memory. 제4항에 있어서,The method of claim 4, wherein 상기 제 1 타겟 레벨은 상기 제 1 최소 임계전압과 동등하며; 그리고The first target level is equal to the first minimum threshold voltage; And 상기 제 2 타겟 레벨은 상기 제 2 최소 임계전압과 동등한 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said second target level is equal to said second minimum threshold voltage. 제1항에 있어서, The method of claim 1, 상기 제 2 세트를 프로그래밍하는 단계는, 상기 제 1 세트를 프로그래밍하는 단계 이후에 수행되는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Programming the second set is performed after programming the first set. 제6항에 있어서,The method of claim 6, 비휘발성 저장소자들의 상기 제 1 세트와 비휘발성 저장소자들의 상기 제 2 세트는 NAND 스트링의 일부이며;The first set of nonvolatile reservoirs and the second set of nonvolatile reservoirs are part of a NAND string; 하나 이상의 비휘발성 저장소자들의 상기 제 2 세트는, 상기 NAND 스트링의 특정 워드라인에 연결되어 있으며; 그리고The second set of one or more nonvolatile reservoirs is coupled to a particular wordline of the NAND string; And 하나 이상의 비휘발성 저장소자들의 상기 제 1 세트는, 상기 NAND 스트링의 다른 워드라인들에 연결되어 있는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said first set of one or more nonvolatile reservoirs is connected to other word lines of said NAND string. 제7항에 있어서,The method of claim 7, wherein 상기 특정 워드라인은 프로그램 동작 동안에 상기 NAND 스트링에서 프로그램될 마지막 워드라인인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And said particular word line is the last word line to be programmed in said NAND string during a program operation. 제1항에 있어서,The method of claim 1, 상기 제 1 세트를 프로그래밍하는 단계는, 상기 제 1 세트를 상기 제 1 물리적 상태로 프로그램하기 위해 제 1 최대 프로그램 전압을 인가하기로 의도하는 것을 포함하며; 그리고Programming the first set includes intending to apply a first maximum program voltage to program the first set to the first physical state; And 상기 제 2 세트를 프로그래밍하는 단계는, 상기 제 2 세트를 상기 제 1 물리적 상태로 프로그램하기 위해 제 2 최대 프로그램 전압을 인가하기로 의도하는 것을 포함하며, 상기 제 2 최대 프로그램 전압은 상기 제 1 최대 프로그램 전압보다 작은 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Programming the second set includes intending to apply a second maximum program voltage to program the second set to the first physical state, the second maximum program voltage being the first maximum. A method of programming a nonvolatile memory, characterized in that it is less than a program voltage. 제1항에 있어서,The method of claim 1, 상기 제 1 세트를 판독하는 단계, -여기서, 상기 판독단계는, 상기 1 세트의 상기 하나 이상의 저장소자들이 상기 제 1 물리적 상태로 프로그램되었는지를 판별하기 위해 하나 이상의 제 1 판독 값들을 인가하는 단계를 포함함- ; 그리고Reading the first set, wherein the reading comprises applying one or more first read values to determine whether the one or more reservoirs of the set are programmed to the first physical state. Contains-; And 상기 제 2 세트를 판독하는 단계, -여기서, 상기 판독단계는, 상기 2 세트의 상기 하나 이상의 저장소자들이 상기 제 2 물리적 상태로 프로그램되었는지를 판별하기 위해 하나 이상의 제 2 판독 값들을 인가하는 단계를 포함함- ; Reading the second set, wherein the reading comprises applying one or more second read values to determine whether the two sets of one or more reservoirs have been programmed to the second physical state. Contains-; 를 더 포함하여 이루어지며, 그리고 상기 하나 이상의 제 2 판독 값들은 상기 하나 이상의 제1 판독 값들 보다 작은 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein the one or more second read values are less than the one or more first read values. 제1항에 있어서,The method of claim 1, 상기 제 1 세트의 가장 높은 임계전압 범위에 대응하는 상기 제 1 물리적 상태가 물리적 상태들을 나타내기 위해 사용되며 그리고 상기 제 2 세트의 가장 높은 임계전압 범위가 물리적 상태들을 나타내기 위해 사용되는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.The first physical state corresponding to the highest threshold voltage range of the first set is used to indicate physical states and the highest threshold voltage range of the second set is used to indicate physical states. To program nonvolatile memory. 제1항에 있어서,The method of claim 1, 하나 이상의 비휘발성 메모리 소자들의 상기 제 1 세트와 하나 이상의 비휘발성 메모리 소자들의 상기 제 2 세트는, 2진 비휘발성 저장소자들의 하나 이상의 세트들인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Wherein said first set of one or more nonvolatile memory elements and said second set of one or more nonvolatile memory elements are one or more sets of binary nonvolatile reservoirs. 제1항에 있어서, The method of claim 1, 하나 이상의 비휘발성 메모리 소자들의 상기 제 1 세트와 하나 이상의 비휘발성 메모리 소자들의 상기 제 2 세트는, 복수-상태 비휘발성 저장소자들의 하나 이상의 세트들인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said first set of one or more nonvolatile memory elements and said second set of one or more nonvolatile memory elements are one or more sets of multi-state nonvolatile reservoirs. 제1항에 있어서, The method of claim 1, 하나 이상의 비휘발성 메모리 소자들의 상기 제 1 세트와 하나 이상의 비휘발성 메모리 소자들의 상기 제 2 세트는, 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said first set of one or more nonvolatile memory elements and said second set of one or more nonvolatile memory elements are flash memory devices. 제1항에 있어서,The method of claim 1, 상기 제 1 세트와 상기 제 2 세트는 플래시 메모리 디바이스들의 어레이의 부분이며;The first set and the second set are part of an array of flash memory devices; 상기 어레이는 호스트 시스템과 통신하며; 그리고The array is in communication with a host system; And 상기 어레이는 상기 호스트 시스템으로부터 제거가능한 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And the array is removable from the host system. 제 1 타겟 레벨을 이용하여 하나 이상의 비휘발성 저장소자들의 제 1 세트를 제 1 물리적 상태로 프로그래밍하는 단계; 그리고Programming the first set of one or more nonvolatile reservoirs into a first physical state using the first target level; And 제 2 타겟 레벨을 이용하여 하나 이상의 비휘발성 저장소자들의 제 2 세트를 상기 제 1 물리적 상태로 프로그래밍하는 단계 -여기서, 상기 제 2 타겟 레벨은 상기 제 1 타겟 레벨보다 낮음-Programming a second set of one or more nonvolatile reservoirs into the first physical state using a second target level, wherein the second target level is lower than the first target level. 를 포함하여 이루어지는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.A method of programming a nonvolatile memory, characterized in that it comprises a. 제16항에 있어서,The method of claim 16, 상기 제 1 타겟 레벨은 제 1 최소 임계전압 레벨이며; 그리고The first target level is a first minimum threshold voltage level; And 상기 제 2 타겟 레벨은 제 2 최소 임계전압 레벨인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said second target level is a second minimum threshold voltage level. 제16항에 있어서, The method of claim 16, 하나 이상의 비휘발성 저장소자들의 제 1 세트를 프로그래밍하는 상기 단계는, 상기 제 1 타겟 레벨을 이용하여 상기 제 1 세트를 상기 제 1 물리적 레벨로 프로그래밍한 것을 검증하는 단계를 포함하며; Programming the first set of one or more non-volatile reservoirs includes verifying programming the first set to the first physical level using the first target level; 하나 이상의 비휘발성 저장소자들의 제 2 세트를 프로그래밍하는 상기 단계는, 상기 제 2 타겟 레벨을 이용하여 상기 제 2 세트를 상기 제 1 물리적 레벨로 프로그래밍한 것을 검증하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.The programming of the second set of one or more non-volatile reservoirs comprises verifying programming the second set to the first physical level using the second target level. How to program volatile memory. 제16항에 있어서,The method of claim 16, 상기 제 2 세트를 프로그래밍하는 상기 단계는 상기 제 1 세트를 프로그래밍하는 상기 단계 이후에 수행되는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Programming said second set is performed after said programming said first set. 제19항에 있어서,The method of claim 19, 상기 제 1 세트와 상기 제 2 세트는 NAND 스트링의 일부이며;The first set and the second set are part of a NAND string; 하나 이상의 비휘발성 저장소자들의 상기 제 2 세트는, 상기 NAND 스트링의 특정 워드라인에 연결되어 있으며; 그리고The second set of one or more nonvolatile reservoirs is coupled to a particular wordline of the NAND string; And 하나 이상의 비휘발성 저장소자들의 상기 제 1 세트는, 상기 NAND 스트링의 다른 워드라인들에 연결되어 있는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said first set of one or more nonvolatile reservoirs is connected to other word lines of said NAND string. 제20항에 있어서,The method of claim 20, 상기 특정 워드라인은 프로그램 동작 동안에 상기 NAND 스트링에서 프로그램될 마지막 워드라인인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And said particular word line is the last word line to be programmed in said NAND string during a program operation. 제16항에 있어서, 상기 제 1 물리적 상태는,The method of claim 16, wherein the first physical state, 비휘발성 저장소자들의 상기 제 1 세트에 대한 최소 임계전압보다 더 낮은, 비휘발성 저장소자들의 상기 제 2 세트에 대한 최소 임계전압을 포함하는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And a minimum threshold voltage for the second set of nonvolatile reservoirs that is lower than the minimum threshold voltage for the first set of nonvolatile reservoirs. 제16항에 있어서,The method of claim 16, 하나 이상의 비휘발성 메모리 소자들의 상기 제 1 세트와 하나 이상의 비휘발성 메모리 소자들의 상기 제 2 세트는, 하나 이상의 복수-상태 플래시 비휘발성 저장소자들의 세트들인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Wherein said first set of one or more nonvolatile memory elements and said second set of one or more nonvolatile memory elements are sets of one or more multi-state flash nonvolatile reservoirs. 제16항에 있어서,The method of claim 16, 상기 제 1 세트와 상기 제 2 세트는 플래시 메모리 디바이스들의 어레이의 부분이며;The first set and the second set are part of an array of flash memory devices; 상기 어레이는 호스트 시스템과 통신하며; 그리고The array is in communication with a host system; And 상기 어레이는 상기 호스트 시스템으로부터 제거가능한 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And the array is removable from the host system. 비휘발성 저장소자들의 세트 -여기서, 상기 비휘발성 저장소자들의 세트는 제 1 세트의 물리적 상태들을 갖는 비휘발성 저장소자들의 제 1 서브세트와 상기 제 1 세트의 물리적 상태들을 갖는 비휘발성 저장소자들의 제 2 서브세트를 포함하며, 하나 이상인 물리적 상태들의 상기 제 1 세트는 비휘발성 저장소자들의 상기 제 1 서브세트에 비해 비휘발성 저장소자들의 상기 제 2 서브세트에서 더 낮은 전압값들을 가짐-; 그리고Set of nonvolatile reservoirs, wherein the set of nonvolatile reservoirs comprises a first subset of nonvolatile reservoirs having a first set of physical states and a first subset of nonvolatile reservoirs having the first set of physical states Wherein the first set of one or more physical states has lower voltage values in the second subset of nonvolatile reservoirs as compared to the first subset of nonvolatile reservoirs; And 상기 비휘발성 저장소자들과 통신하는 관리 회로Management circuitry in communication with the nonvolatile reservoirs 를 포함하여 이루어진 것을 특징으로 하는 비휘발성 메모리 시스템.Non-volatile memory system comprising a. 제25항에 있어서,The method of claim 25, 하나 이상인 상기 제 1 세트의 물리적 상태들은, 비휘발성 저장소자들의 상기 제 1 서브세트에 대한 최소 임계전압들 보다, 비휘발성 저장소자들의 상기 제 2 서브세트에 대한 더 낮은 최소 임계전압들을 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.One or more of the first set of physical states includes lower minimum threshold voltages for the second subset of nonvolatile reservoirs than minimum threshold voltages for the first subset of nonvolatile reservoirs. Non-volatile memory system characterized by. 제25항에 있어서,The method of claim 25, 상기 관리 회로는, 비휘발성 저장소자들의 상기 제 1 서브세트를 하나 이상의 상기 제 1 세트의 물리적 상태들로 프로그램하기 위해 하나 이상의 제 1 타겟 레벨들을 사용하며, 비휘발성 저장소자들의 상기 제 2 서브세트를 하나 이상의 상기 제 1 세트의 물리적 상태들로 프로그램하기 위해 하나 이상의 제 2 타겟 레벨들을 사용하는 것을 특징으로 하는 비휘발성 메모리 시스템.The management circuit uses one or more first target levels to program the first subset of nonvolatile reservoirs into one or more of the first set of physical states, and wherein the second subset of nonvolatile reservoirs Use one or more second target levels to program a into one or more of the first set of physical states. 제27항에 있어서,The method of claim 27, 상기 하나 이상의 제 2 타겟 레벨들은 상기 하나 이상의 상기 제 1 타겟 레벨들보다 낮은 것을 특징으로 하는 비휘발성 메모리 시스템.And the one or more second target levels are lower than the one or more first target levels. 제28항에 있어서,The method of claim 28, 하나 이상인 상기 제 1 타겟 레벨들은, 비휘발성 저장소자들의 상기 제 1 서브세트에 대한 하나 이상인 상기 제 1 세트의 물리적 상태들의 하나 이상인 최소 임계전압들이며; 그리고One or more of the first target levels are minimum threshold voltages that are one or more of the first set of physical states that are one or more for the first subset of non-volatile reservoirs; And 하나 이상인 상기 제 2 타겟 레벨들은, 비휘발성 저장소자들의 상기 제 2 서브세트에 대한 하나 이상인 상기 제 1 세트의 물리적 상태들의 하나 이상인 최소 임계전압들인 것을 특징으로 하는 비휘발성 메모리 시스템.And the one or more second target levels are minimum threshold voltages that are one or more of the first set of physical states that are one or more for the second subset of non-volatile reservoirs. 제25항에 있어서,The method of claim 25, 비휘발성 저장소자들의 상기 세트는 복수-상태 플래시 비휘발성 저장소자들의 세트인 것을 특징으로 하는 비휘발성 메모리 시스템.And wherein said set of nonvolatile reservoirs is a set of multi-state flash nonvolatile reservoirs. 제25항에 있어서,The method of claim 25, 상기 관리회로는 상태머신, 감지 증폭기들 그리고 제어기 중 적어도 하나를 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.And said management circuitry comprises at least one of a state machine, sense amplifiers, and a controller. 제25항에 있어서,The method of claim 25, 상기 비휘발성 저장소자들의 상기 세트는 플래시 메모리 디바이스들의 어레이의 일부분이며;The set of non-volatile reservoirs is part of an array of flash memory devices; 상기 어레이는 호스트 시스템과 통신하며; 그리고The array is in communication with a host system; And 상기 어레이는 상기 호스트 시스템으로부터 제거가능한 것을 특징으로 하는 비휘발성 메모리 시스템.And said array is removable from said host system. 제 1 워드라인에 연결된 저장소자들의 제 1 세트 -여기서, 상기 저장소자들의 제 1 세트는 물리적 상태들의 제 1 세트를 가짐-;A first set of reservoirs connected to a first wordline, wherein the first set of reservoirs has a first set of physical states; 제 2 워드라인에 연결된 저장소자들의 제 2 세트 -여기서, 상기 제 2 워드라인은 프로그램 동작동안에 상기 제 1 워드라인 이후에 프로그램되며, 상기 저장소자들의 제 2 세트는 물리적 상태들의 상기 제 1 세트를 가짐-;A second set of reservoirs connected to a second word line, wherein the second word line is programmed after the first word line during a program operation, and the second set of reservoirs is configured to store the first set of physical states. Has-; 비휘발성 저장소자들의 상기 제 1 세트와 비휘발성 저장소자들의 상기 제 2 세트를 프로그램하기 위해 적응된 관리회로 -여기서, 상기 관리회로는 하나 이상인 제 1 타겟 레벨들을 사용하여 상기 비휘발성 저장소자들의 상기 제 1 세트를 하나 이상의 물리적 상태들의 상기 제 1 세트로 프로그램하고, 상기 관리회로는 하나 이상인 제 2 타겟 레벨들을 사용하여 상기 비휘발성 저장소자들의 상기 제 2 세트를 하나 이상의 물리적 상태들의 상기 제 1 세트로 프로그램하며, 상기 하나 이상인 상기 제 2 타겟 레벨들은 하나 이상인 상기 제 1 타겟 레벨들 보다 낮은 것을 특징으로 하는 비휘발성 메모리 시스템.A management circuit adapted to program the first set of nonvolatile reservoirs and the second set of nonvolatile reservoirs, wherein the management circuitry uses the one or more first target levels Program the first set into the first set of one or more physical states, and wherein the management circuitry uses the one or more second target levels to program the second set of non-volatile reservoirs into the first set of one or more physical states And the one or more second target levels are lower than the one or more first target levels. 제33항에 있어서,The method of claim 33, wherein 하나 이상인 물리적 상태들의 상기 제 1 세트는The first set of one or more physical states is 비휘발성 저장소자들의 상기 제 1 서브세트보다, 비휘발성 저장소자들의 상기 제 2 서브세트에 대한 더 낮은 최소 임계전압을 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.And a lower minimum threshold voltage for the second subset of nonvolatile reservoirs than the first subset of nonvolatile reservoirs. 제33항에 있어서,The method of claim 33, wherein 상기 비휘발성 저장소자들의 제 1 세트는 복수-상태 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 메모리 시스템.And the first set of nonvolatile reservoirs are multi-state flash memory devices. 제 1 타겟 레벨을 이용하여 하나 이상의 비휘발성 저장소자들의 제 1 세트를 제 1 물리적 상태로 프로그래밍하는 수단; 그리고Means for programming a first set of one or more nonvolatile reservoirs to a first physical state using the first target level; And 제 2 타겟 레벨을 이용하여 하나 이상의 비휘발성 저장소자들의 제 2 세트를 제 1 물리적 상태로 프로그래밍하는 수단Means for programming a second set of one or more nonvolatile reservoirs into a first physical state using a second target level 을 포함하여 이루어지며, It is made, including 상기 제 2 타겟 레벨은 상기 제 1 타겟 레벨보다 낮은 것을 특징으로 하는 비휘발성 메모리 시스템. And the second target level is lower than the first target level. 제 1 물리적 상태로 제 1 비휘발성 저장소자를 프로그래밍하는 단계;Programming the first nonvolatile reservoir with the first physical state; 상기 제 1 비휘발성 저장소자를 상기 제 1 물리적 상태로 프로그래밍한 것을 검증 파라미터의 제 1 값을 이용하여 검증하는 단계;Verifying the programming of the first nonvolatile reservoir to the first physical state using a first value of a verification parameter; 상기 제 1 물리적 상태로 제 2 비휘발성 저장소자를 프로그래밍하는 단계; 그리고Programming a second non-volatile reservoir into the first physical state; And 상기 제 2 비휘발성 저장소자를 상기 제 1 물리적 상태로 프로그래밍한 것을 상기 검증 파라미터의 제 2 값을 이용하여 검증하는 단계Verifying the programming of the second non-volatile reservoir to the first physical state using a second value of the verification parameter. 를 포함하여 이루어지는 비휘발성 메모리를 프로그래밍하는 방법.The method of programming a nonvolatile memory comprising a. 제37항에 있어서,The method of claim 37, 상기 제 1 비휘발성 저장소자를 프로그래밍하는 상기 단계는The programming of the first nonvolatile reservoir is 상기 제 1 비휘발성 저장소자가 하나의 NAND 스트링에서 프로그램될 마지막 워드라인에 연결되지 않았는지를 판별하고 상기 판별에 대응하여 상기 검증 파라미 터의 상기 제 1 값에 액세스하는 단계를 포함하며; 그리고Determining whether the first non-volatile reservoir is not connected to the last wordline to be programmed in one NAND string and accessing the first value of the verification parameter in response to the determination; And 상기 제 2 비휘발성 저장소자를 프로그래밍하는 상기 단계는The step of programming the second nonvolatile reservoir is 상기 제 2 비휘발성 저장소자가 상기 NAND 스트링에서 프로그램될 마지막 워드라인에 연결되었는지를 판별하고 상기 판별에 대응하여 상기 검증 파라미터의 상기 제 2 값에 액세스하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Determining whether the second nonvolatile reservoir is connected to the last wordline to be programmed in the NAND string and accessing the second value of the verification parameter in response to the determination. How to program. 제38항에 있어서,The method of claim 38, 프로그램 전압을 증가시키며, 상기 제 1 비휘발성 저장소자를 프로그래밍하는 상기 단계를 반복하며, 만일 상기 검증단계가 상기 제 1 비휘발성 저장소자가 상기 제 1 물리적 상태로 프로그램되었음을 검증하지 않았다면, 상기 제 1 비휘발성 저장소자에 대한 프로그래밍을 검증하는 단계; 그리고Increasing the program voltage, repeating the programming of the first nonvolatile reservoir, and if the verifying step does not verify that the first nonvolatile reservoir is programmed to the first physical state, the first nonvolatile Verifying programming for the reservoir; And 프로그램 전압을 증가시키며, 상기 제 2 비휘발성 저장소자를 프로그래밍하는 상기 단계를 반복하며, 만일 상기 검증단계가 상기 제 2 비휘발성 저장소자가 상기 제 1 물리적 상태로 프로그램되었음을 검증하지 않았다면, 상기 제 2 비휘발성 저장소자에 대한 프로그래밍을 검증하는 단계Increasing the program voltage, repeating the programming of the second nonvolatile reservoir, and if the verifying step has not verified that the second nonvolatile reservoir is programmed to the first physical state, the second nonvolatile Steps to verify programming for the repository 를 더 포함하여 이루어진 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.The method of programming a nonvolatile memory, characterized in that further comprises. 제39항에 있어서,The method of claim 39, 상기 검증 파라미터의 상기 제 1 값을 사용하여 상기 제 1 비휘발성 저장소자에 대한 프로그래밍을 검증하는 상기 단계는 Verifying programming for the first nonvolatile reservoir using the first value of the verify parameter 상기 제 1 비휘발성 저장소자의 임계전압이 제 1 레벨 또는 그 이상일 때 상기 제 1 비휘발성 저장소자가 상기 제 1 물리적 상태로 프로그램되는지를 검증하는 단계를 포함하며; 그리고Verifying that the first nonvolatile reservoir is programmed to the first physical state when the threshold voltage of the first nonvolatile reservoir is at or above a first level; And 상기 검증 파라미터의 상기 제 2 값을 사용하여 상기 제 2 비휘발성 저장소자에 대한 프로그래밍을 검증하는 상기 단계는 Verifying programming for the second non-volatile reservoir using the second value of the verification parameter 상기 제 2 비휘발성 저장소자의 임계전압이 제 2 레벨 또는 그 이상일 때 상기 제 2 비휘발성 저장소자가 상기 제 1 물리적 상태로 프로그램되는지를 검증하는 단계를 포함하며 Verifying that the second nonvolatile reservoir is programmed to the first physical state when the threshold voltage of the second nonvolatile reservoir is at or above a second level; 여기서 상기 제 2 레벨은 상기 제 1 레벨보다 작은 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.Wherein the second level is less than the first level. 제 1 워드라인에 연결된 비휘발성 저장소자에 프로그램 전압을 인가하는 단계 -여기서, 상기 비휘발성 저장소자는 비휘발성 저장소자들의 스트링의 일부임-Applying a program voltage to a nonvolatile reservoir connected to a first word line, wherein the nonvolatile reservoir is part of a string of nonvolatile reservoirs 상기 비휘발성 저장소자가 타겟 상태로 프로그램되었는지를 판별하는 단계; 그리고Determining whether the nonvolatile reservoir has been programmed to a target state; And 상기 프로그램 전압을 증가시키고, 만일 상기 비휘발성 저장소자가 상기 타겟 상태로 프로그램되지 않았다면 상기 증가된 프로그램 전압을 상기 비휘발성 저장소자에 인가하는 단계 Increasing the program voltage and applying the increased program voltage to the nonvolatile reservoir if the nonvolatile reservoir has not been programmed to the target state; -여기서, 상기 상기 프로그램 전압을 증가시키는 단계는, 만일 상기 제 1 워드라인이 프로그램 동작동안에 상기 스트링에서 프로그램될 마지막 워드라인이라면 제 1 양만큼 상기 프로그램 전압을 증가시키고 만일 상기 제 1 워드라인이 프로그램 동작동안에 상기 스트링에서 프로그램될 마지막 워드라인이 아니라면 제 2 양만큼 상기 프로그램 전압을 증가시킴-;Wherein said increasing said program voltage increases said program voltage by a first amount if said first word line is the last word line to be programmed in said string during a program operation and said first word line is programmed. Increasing the program voltage by a second amount if not the last wordline to be programmed in the string during operation; 를 포함하여 이루어지는 비휘발성 메모리를 프로그래밍하는 방법.The method of programming a nonvolatile memory comprising a. 제41항에 있어서,The method of claim 41, wherein 상기 제 1 양은 상기 제 2 양보다 큰것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said first amount is greater than said second amount. 제42항에 있어서,The method of claim 42, wherein 상기 스트링은 NAND 스트링이며; 그리고The string is a NAND string; And 상기 비휘발성 저장소자는 복수-상태 플래시 저장소자인 것을 특징으로 하는 비휘발성 메모리를 프로그래밍하는 방법.And wherein said non- volatile reservoir is a multi-state flash reservoir.
KR1020067023277A 2004-04-06 2005-03-23 Variable programming of non-volatile memory KR100847587B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067023277A KR100847587B1 (en) 2004-04-06 2005-03-23 Variable programming of non-volatile memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/818,597 2004-04-06
KR1020067023277A KR100847587B1 (en) 2004-04-06 2005-03-23 Variable programming of non-volatile memory

Publications (2)

Publication Number Publication Date
KR20070022693A KR20070022693A (en) 2007-02-27
KR100847587B1 true KR100847587B1 (en) 2008-07-22

Family

ID=41640273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067023277A KR100847587B1 (en) 2004-04-06 2005-03-23 Variable programming of non-volatile memory

Country Status (1)

Country Link
KR (1) KR100847587B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180065132A (en) 2016-12-07 2018-06-18 한국과학기술연구원 Nonvolatile memory device using ambipolar chrge trap characteristic and programing method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271553A2 (en) * 2001-06-27 2003-01-02 SanDisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory in multiple-data states
US6643188B2 (en) 2001-12-27 2003-11-04 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device adapted to store a multi-valued data in a single memory cell

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271553A2 (en) * 2001-06-27 2003-01-02 SanDisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory in multiple-data states
US6643188B2 (en) 2001-12-27 2003-11-04 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device adapted to store a multi-valued data in a single memory cell

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180065132A (en) 2016-12-07 2018-06-18 한국과학기술연구원 Nonvolatile memory device using ambipolar chrge trap characteristic and programing method thereof

Also Published As

Publication number Publication date
KR20070022693A (en) 2007-02-27

Similar Documents

Publication Publication Date Title
KR102095137B1 (en) Sub-block mode for non-volatile memory
EP1738374B1 (en) Variable programming of non-volatile memory
CN106688042B (en) Partial block erase for data refresh
KR100813287B1 (en) Self boosting technique for non-volatile memory
KR100952235B1 (en) Selective application of program inhibit schemes in non-volatile memory
KR101161429B1 (en) Programming method based on the behaviour of non-volatile memory cells
KR100916679B1 (en) Faster programming of higher level states in multi-level cell flash memory
KR100897415B1 (en) Word line compensation in non-volatile memory erasure operation
JP4490977B2 (en) Nonvolatile memory programming method
EP1812932B1 (en) High speed programming system with reduced over programming
WO2016081064A1 (en) Nand boosting using dynamic ramping of word line voltages
CN108428466B (en) Sequential deselection of word lines to suppress first read problems
US11309030B2 (en) Word line discharge skip for faster read time
JP5114621B2 (en) Controlled boost in soft programming of non-volatile memory
KR101000546B1 (en) Continued verification in non-volatile memory write operations
KR101012130B1 (en) Reducing the impact of program disturb during read
KR100966358B1 (en) Method for controlled programming of non-volatile memory exhibiting bit line coupling
KR20080100416A (en) Last-first mode and method for programming of non-volatile memory of nand type with reduced program disturb
KR101012131B1 (en) Reducing the impact of program disturb
KR100847587B1 (en) Variable programming of non-volatile memory

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: 20130620

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee