KR20170065240A - Programming method of a non volatile memory device - Google Patents
Programming method of a non volatile memory device Download PDFInfo
- Publication number
- KR20170065240A KR20170065240A KR1020150171434A KR20150171434A KR20170065240A KR 20170065240 A KR20170065240 A KR 20170065240A KR 1020150171434 A KR1020150171434 A KR 1020150171434A KR 20150171434 A KR20150171434 A KR 20150171434A KR 20170065240 A KR20170065240 A KR 20170065240A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- memory cells
- voltage
- word line
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
비휘발성 메모리 장치의 프로그램 방법이 개시된다. 본 개시의 실시 예에 따른 비휘발성 메모리 장치의 프로그램 방법은, 메모리 셀들의 적어도 일부를 타겟 상태로 프로그램하도록 설정되는 1차 프로그램 전압을 기초로 상기 메모리 셀들을 프로그램하는 단계; 상기 메모리 셀들의 문턱 전압 산포에 따라 판단되는 상기 메모리 셀들의 프로그램 속도에 기초하여, 상기 메모리 셀들을 문턱 전압 산포 폭이 서로 다른, 복수의 셀 그룹으로 구분하는 단계; 상기 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로, 상기 복수의 셀 그룹 중 상기 타겟 상태로 프로그램된 제1 셀 그룹을 제외한 다른 셀 그룹들을 상기 타겟 상태로 재프로그램하는 단계를 포함한다. A programming method of a non-volatile memory device is disclosed. A programming method of a non-volatile memory device according to an embodiment of the present disclosure includes programming the memory cells based on a primary program voltage that is set to program at least a portion of the memory cells into a target state; Dividing the memory cells into a plurality of cell groups having different threshold voltage spreads, based on a programming rate of the memory cells determined according to a threshold voltage distribution of the memory cells; A plurality of cell groups other than the first cell group programmed to the target state among the plurality of cell groups are set to the target state based on a plurality of secondary program voltages set based on a threshold voltage difference between the plurality of cell groups And reprogramming.
Description
본 개시의 기술적 사상은 반도체 장치에 관한 것으로서, 구체적으로 비휘발성 메모리 장치의 프로그램 방법에 관한 것이다. Technical aspects of the present disclosure relate to a semiconductor device, and more particularly, to a programming method of a nonvolatile memory device.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분된다. 비휘발성 메모리 장치의 일 예로서, 플래쉬 메모리 장치는 휴대폰, 디지털 카메라, 휴대용 정보 단말기(PDA), 이동식 컴퓨터 장치, 고정식 컴퓨터 장치 및 기타 장치에서 사용될 수 있다.A memory device is used to store data, and is divided into a volatile memory device and a non-volatile memory device. As an example of a non-volatile memory device, the flash memory device may be used in a cell phone, a digital camera, a personal digital assistant (PDA), a mobile computer device, a stationary computer device, and other devices.
본 개시의 기술적 사상이 해결하려는 과제는 프로그램 속도를 향상시키고, 프로그램 상태의 메모리 셀들의 문턱 전압 산포의 폭을 감소시킬 수 있는 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법을 제공하는 데에 있다.The problem to be solved by the technical idea of the present disclosure is to provide a programming method of a nonvolatile memory device and a nonvolatile memory device which can improve the program speed and reduce the width of the threshold voltage distribution of memory cells in programmed state .
상기 기술적 과제를 달성하기 위한 본 개시의 실시 예에 따른 멀티 비트 데이터를 저장하는 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은, 메모리 셀들의 적어도 일부를 타겟 상태로 프로그램하도록 설정되는 1차 프로그램 전압을 기초로 상기 메모리 셀들을 프로그램하는 단계; 상기 메모리 셀들의 문턱 전압 산포에 따라 판단되는 상기 메모리 셀들의 프로그램 속도에 기초하여, 상기 메모리 셀들을 문턱 전압 산포 폭이 서로 다른, 복수의 셀 그룹으로 구분하는 단계; 및 상기 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로, 상기 복수의 셀 그룹 중 상기 타겟 상태로 프로그램된 제1 셀 그룹을 제외한 다른 셀 그룹들을 상기 타겟 상태로 재프로그램하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method for programming a non-volatile memory device including memory cells storing multi-bit data, the method comprising: Programming the memory cells based on a voltage; Dividing the memory cells into a plurality of cell groups having different threshold voltage spreads, based on a programming rate of the memory cells determined according to a threshold voltage distribution of the memory cells; And a plurality of cell groups other than the first cell group programmed to the target state among the plurality of cell groups based on a plurality of secondary program voltages set based on a threshold voltage difference between the plurality of cell groups, Lt; / RTI >
상기 기술적 과제를 달성하기 위한 본 개시의 다른 실시 예에 따른 비휘발성 메모리 장치의 프로그램 방법은, 메모리 셀들을 제N-1 (N은 2 이상의 정수) 상태로 프로그램하는 단계; 상기 메모리 셀들에 연결된 워드라인의 프로그램 속도를 검출하는 단계; 상기 검출된 워드라인의 프로그램 속도를 기초로, 제N 상태에 대응하는 제N 프로그램 전압 셋의 전압 레벨을 조절하는 단계; 및 상기 제N 프로그램 전압 셋을 기초로 상기 메모리 셀들의 적어도 일부를 상기 제N 상태로 프로그램하는 단계를 포함하고, 상기 메모리 셀들을 상기 제N-1 상태로 프로그램하는 단계는, 상기 메모리 셀들에 인가된 1차 프로그램 전압에 따른 메모리 셀들의 문턱 전압 산포를 기초로, 상기 메모리 셀들을 프로그램 속도에 따라 문턱 전압 범위가 서로 다른 복수의 셀 그룹으로 구분하고, 상기 복수의 셀 그룹 중 일부 셀 그룹에 상기 복수의 셀 그룹의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 인가할 수 있다. According to another aspect of the present invention, there is provided a method of programming a nonvolatile memory device, the method comprising: programming memory cells to an N-th (N is an integer of 2 or more) state; Detecting a program rate of a word line coupled to the memory cells; Adjusting a voltage level of the Nth program voltage set corresponding to the N state based on the detected program rate of the word line; And programming at least a portion of the memory cells to the N-th state based on the N-th program voltage set, wherein programming the memory cells to the N-1 state comprises: Dividing the memory cells into a plurality of cell groups having different threshold voltage ranges according to the program speed based on the distribution of the threshold voltages of the memory cells in accordance with the primary program voltage, It is possible to apply a plurality of secondary program voltages set based on the threshold voltage difference of the plurality of cell groups.
상기 기술적 과제를 달성하기 위한 본 개시의 다른 실시 예에 따른 멀티 비트 데이터를 저장하는 메모리 셀들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은, n번째(n은 정수) 워드라인의 메모리 셀들을 상기 n번째 워드라인에 대응하는 1차 프로그램 전압을 기초로 프로그램하는 단계; n+1번째 워드라인의 메모리 셀들을 상기 n+1번째 워드라인에 대응하는 1차 프로그램 전압을 기초로 프로그램하는 단계; 및 상기 n번째 워드라인의 상기 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하고, 상기 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로, 상기 n번째 워드라인의 메모리 셀들을 상기 타겟 상태로 재프로그램하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of programming a non-volatile memory device including memory cells storing multi-bit data, Programming a first program voltage corresponding to a first word line; programming the memory cells of the (n + 1) th word line based on the primary program voltage corresponding to the (n + 1) th word line; And dividing the memory cells of the n-th word line into a plurality of cell groups according to a program rate, and based on a plurality of secondary program voltages set based on a threshold voltage difference between the plurality of cell groups, Programming the memory cells of the word line to the target state.
본 개시의 기술적 사상에 따른 비휘발성 메모리 장치의 프로그램 방법에 따르면, 원-샷 메모리 셀의 문턱 전압 산포를 기초로, 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하고, 서로 다른 문턱 전압 산포 폭을 갖는 복수의 셀 그룹 각각이 타겟 상태로 프로그램되도록 상기 복수의 셀 그룹의 문턱 전압 차이를 기초로 설정된 프로그램 전압들을 기초로, 각각의 셀 그룹을 프로그램함으로써, 메모리 셀 어레이에 데이터를 프로그램하는데 소요되는 시간을 감소시키고 각 프로그램 상태의 문턱 전압 산포의 폭을 감소시킬 수 있다.According to the programming method of the nonvolatile memory device according to the technical idea of the present disclosure, based on the threshold voltage distribution of the one-shot memory cell, the memory cells are divided into a plurality of cell groups according to the program speed, Programming each cell group based on program voltages set based on a threshold voltage difference of the plurality of cell groups so that each of the plurality of cell groups having a width is programmed to a target state, And reduce the width of the threshold voltage distribution of each program state.
또한, 본 개시의 기술적 사상에 따른 비휘발성 메모리 장치의 프로그램 방법에 따르면, 메모리 셀들을 각각의 프로그램 상태로 프로그램하기 전, 워드 라인 별 프로그램 속도를 체크하고, 상기 프로그램 속도에 따른 보상 전압을 프로그램 전압에 반영함으로써, 메모리 셀 어레이에 프로그램된 프로그램 상태 각각의 문턱 전압 산포의 폭을 감소시킬 수 있다. According to the programming method of the nonvolatile memory device according to the technical idea of the present disclosure, before the memory cells are programmed into their respective program states, the programming speed for each word line is checked, The width of the threshold voltage distribution of each programmed state programmed into the memory cell array can be reduced.
또한, 본 개시의 기술적 사상에 따른 비휘발성 메모리 장치의 프로그램 방법에 따르면, 하나의 워드라인의 메모리 셀들에 대하여 프로그램 수행 시, 상기 워드라인 및 상기 워드라인에 인접한 워드라인에 대하여 각각의 워드 라인에 대응하는, 1차 프로그램 전압을 인가하여 1차 프로그램을 수행한 후, 상기 워드라인의 원-샷 메모리 셀의 문턱 전압 산포를 기초로 상기 워드라인의 메모리 셀들에 대하여 2차 프로그램을 수행함으로써, 워드라인간 커플링 효과에 따른 각 프로그램 상태들의 문턱 전압 산포의 이동을 방지할 수 있다.In addition, according to the programming method of the nonvolatile memory device according to the technical idea of the present disclosure, when the program is executed for the memory cells of one word line, the word line and the word line adjacent to the word line By performing a secondary program on the memory cells of the word line based on a threshold voltage distribution of the one-shot memory cells of the word line after applying a corresponding primary programming voltage to perform the primary programming, It is possible to prevent the shift of the threshold voltage distribution of each program state according to the human coupling effect.
본 개시의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 2는 본 개시의 실시예에 따른 메모리 블록의 일 예를 나타내는 회로도이다.
도 3은 본 개시의 실시예에 따른 메모리 블록의 다른 예를 나타내는 회로도이다.
도 4는 도 3의 회로도에 따른 메모리 블록을 나타내는 사시도이다.
도 5a 및 도 5b는 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 설명하는 도면이다.
도 6은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 7a 및 도 7b는 셀 그룹들의 문턱 전압 범위의 설정에 따른 메모리 셀들의 산포를 나타내는 그래프이다.
도 8(a)~(d)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다.
도 9는 도 8에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다.
도 10은 본 개시의 실시예에 따른 프로그램 방법을 보다 상세하게 설명한 도면이다.
도 11(a)~(c)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다.
도 12는 도 11에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다.
도 13은 본 개시의 실시예에 따른 프로그램 방법을 보 다상세하게 설명한 도면이다.
도 14a 및 도 14b는 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 설명하는 도면이다.
도 15(a)~(f)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다.
도 16은 도 15에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다.
도 17(a)~(d)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다.
도 18은 도 17에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다.
도 19는 본 개시의 실시예에 다른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 20은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 21은 각 프로그램 상태에 따른 메모리 셀들의 문턱 전압 산포를 나타낸다.
도 22는 본 개시의 실시예에 따른 메모리 장치의 동작 방법의 일 예로서, 워드 라인에 인가되는 전압 펄스를 나타내는 파형이다.
도 23은 본 개시의 실시예에 따른 메모리 장치의 동작 방법의 일 예로서, 워드 라인에 인가되는 전압 펄스를 나타내는 파형이다.
도 24는 본 개시의 실시예에 따른 프로그램 방법의 다른 예를 나타내는 흐름도이다.
도 25a 내지 도 25c는 도 24의 흐름도에서, 각 단계에 따른 워드라인의 문턱 전압 산포를 나타내는 그래프이다.
도 26a 및 도 26b는 워드라인의 메모리 셀들에 대한 초기 프로그램 단계 및 후기 프로그램단계를 나타내는 도면이다.
도 27은 본 개시의 실시예에 따른 프로그램 방법의 다른 예를 나타내는 흐름도이다.
도 28은 본 개시의 실시예에 따른 메모리 셀 어레이의 프로그램 방법을 나타낸다.
도 29는 워드 라인 별 프로그램 속도를 나타내는 그래프이다.
도 30은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 31은 본 개시의 실시예에 따른 워드 라인의 프로그램 속도 감지 및 프로그램 전압 레벨 보상 방법을 설명하는 도면이다.
도 32는 본 개시의 실시예에 따른 워드 라인의 프로그램 속도를 반영하여 프로그램 전압 레벨을 설정하는 방법을 나타내는 도면이다.
도 33a 내지 도 33c는 본 개시의 실시예에 따른 프로그램 방법의 단계별 워드라인의 문턱 전압 산포를 나타내는 그래프이다.
도 34는 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 35는 프로그램 수행 중 워드 라인의 프로그램 속도 감지 방법을 나타내는 도면이다.
도 36은 본 개시의 실시예에 따른 메모리 장치의 동작 방법의 일 실시예를 나타낸다.
도 37은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 보다 상세하게 나타낸 흐름도이다.
도 38은 본 개시의 실시예에 따른 프로그램 제어부의 일 예를 나타내는 블록도이다.
도 39는 본 개시의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 40은 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 41은 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 42는 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다.
도 43은 본 개시의 실시예에 따른 UFS(uiversal flash storage)를 나타내는 블록도이다. BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the detailed description of the present disclosure.
1 is a block diagram illustrating a memory device according to an embodiment of the present disclosure;
2 is a circuit diagram showing an example of a memory block according to an embodiment of the present disclosure;
3 is a circuit diagram showing another example of the memory block according to the embodiment of the present disclosure;
4 is a perspective view showing a memory block according to the circuit diagram of Fig.
5A and 5B are diagrams illustrating a method of operating a memory device according to an embodiment of the present disclosure.
6 is a flow diagram illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure.
7A and 7B are graphs showing the distribution of memory cells according to the setting of the threshold voltage range of the cell groups.
8A to 8D are graphs showing steps of an example of the programming method according to the embodiment of the present disclosure.
FIG. 9 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in FIG.
10 is a diagram illustrating in more detail a programming method according to an embodiment of the present disclosure.
11 (a) to 11 (c) are graphs showing steps of an example of the programming method according to the embodiment of the present disclosure.
12 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in FIG.
13 is a diagram illustrating in more detail a programming method according to an embodiment of the present disclosure.
14A and 14B are diagrams for explaining a method of operating the memory device according to the embodiment of the present disclosure.
15 (a) to (f) are graphs showing steps of an example of the program method according to the embodiment of the present disclosure.
16 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in FIG.
17A to 17D are graphs showing steps of an example of the programming method according to the embodiment of the present disclosure.
18 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in Fig.
19 is a flow chart illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure.
20 is a flow diagram illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure.
Figure 21 shows the threshold voltage distribution of memory cells in accordance with each program state.
22 is an example of a method of operating a memory device according to an embodiment of the present disclosure, and is a waveform showing a voltage pulse applied to a word line.
23 is an example of a method of operating a memory device according to an embodiment of the present disclosure, and is a waveform showing a voltage pulse applied to a word line.
24 is a flowchart showing another example of the program method according to the embodiment of the present disclosure.
25A to 25C are graphs showing the threshold voltage distribution of the word line according to each step in the flowchart of FIG.
26A and 26B are diagrams showing the initial programming steps and the late programming steps for the memory cells of the word line.
27 is a flowchart showing another example of the program method according to the embodiment of the present disclosure.
28 shows a programming method of a memory cell array according to an embodiment of the present disclosure.
29 is a graph showing the program speed for each word line.
30 is a flow diagram illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure.
31 is a diagram illustrating a program speed sensing and program voltage level compensation method of a word line according to an embodiment of the present disclosure;
32 is a diagram illustrating a method of setting a program voltage level to reflect a program speed of a word line according to an embodiment of the present disclosure;
33A-33C are graphs showing the threshold voltage distribution of word lines in stages of the programming method according to an embodiment of the present disclosure;
34 is a flow chart illustrating a method of operation of a memory device in accordance with an embodiment of the present disclosure.
35 is a diagram showing a method of detecting a program speed of a word line during program execution.
36 illustrates an embodiment of a method of operating a memory device according to an embodiment of the present disclosure.
37 is a flow chart illustrating in greater detail an operation method of a memory device according to an embodiment of the present disclosure.
38 is a block diagram showing an example of a program control unit according to the embodiment of the present disclosure;
39 is a block diagram illustrating a memory system in accordance with an embodiment of the present disclosure.
40 is a block diagram illustrating a memory card system in accordance with one embodiment of the present disclosure;
41 is a block diagram illustrating a computing system in accordance with one embodiment of the present disclosure.
42 is a block diagram illustrating an SSD system in accordance with one embodiment of the present disclosure;
43 is a block diagram illustrating a universal flash storage (UFS) according to an embodiment of the present disclosure.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. The present invention is capable of various modifications and various forms, and specific embodiments are illustrated and described in detail in the drawings. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for similar elements in describing each drawing. In the accompanying drawings, the dimensions of the structures are enlarged or reduced from the actual dimensions for the sake of clarity of the present invention.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprises", "having", and the like are used to specify that a feature, a number, a step, an operation, an element, a part or a combination thereof is described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. Also, the terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
도 1은 본 개시의 실시예에 따른 메모리 장치를 나타내는 블록도이다. 1 is a block diagram illustrating a memory device according to an embodiment of the present disclosure;
도 1을 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 로우 디코더(120), 입출력 회로(130), 전압 생성부(140) 및 제어 로직(150)을 포함할 수 있다. 메모리 장치(100)는 비휘발성 메모리 셀들을 포함하는 비휘발성 메모리 장치일 수 있다. Referring to FIG. 1, a
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드(NAND) 플래쉬 메모리 셀들인 경우를 예로 하여 실시예들을 상술하기로 한다. 그러나, 본 개시의 기술적 사상은 이에 제한되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.The
일 실시예에서, 메모리 셀 어레이(110)는 3차원 (3D) 메모리 셀 어레이일 수 있다. 3차원 메모리 셀 어레이는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판 상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 "모놀리식"은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다. 상기 3D 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 낸드 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다. 그러나, 이에 제한되는 것은 아니며, 다른 실시예에 있어서, 메모리 셀 어레이(110)는 2차원 메모리 셀 어레이일 수 있다. In one embodiment, the
본 실시예에서, 메모리 셀 어레이(110)에 포함되는 각 메모리 셀은 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 예를 들어, 메모리 셀은 2 비트 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 또 다른 예로서, 메모리 셀은 3 비트 데이터를 저장하는 트리플 레벨 셀(triple level cell, TLC)일 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 다른 실시예에서, 메모리 셀 어레이(110)에 포함되는 일부 메모리 셀들은 1 비트 데이터를 저장하는 싱글 레벨 셀(single level cell, SLC)이고, 다른 일부 메모리 셀들은 멀티 레벨 셀(multi level cell, MLC)일 수 있다.In this embodiment, each memory cell included in the
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함하고, 워드 라인들(WL), 스트링 선택 라인들(SSL), 그라운드 선택 라인들(GSL) 및 비트 라인들(BL)에 연결될 수 있다. 구체적으로 메모리 셀 어레이(110)는 워드 라인들(WL) 또는 선택 라인들(SSL, GSL)을 통해 로우 디코더(120)에 연결되고, 비트 라인들(BL)을 통해서 입출력 회로(130)에 연결될 수 있다. The
메모리 셀 어레이(110)는 복수의 메모리 블록(BL1~BLKi)을 포함할 수 있다. 복수의 메모리 블록(BLK1~BLKi)은 싱글 레벨 셀들을 포함하는 싱글 레벨 셀 블록, 멀티 레벨 셀들을 포함하는 멀티 레벨 셀 블록 및 트리플 레벨 셀들을 포함하는 트리플 레벨 셀 블록 중 적어도 하나를 포함할 수 있다. 메모리 셀 어레이(110)에 포함된 복수의 메모리 블록들 중 일부 메모리 블록은 싱글 레벨 셀 블록일 수 있고, 다른 블록들은 멀티 레벨 셀 블록 또는 트리플 레벨 셀 블록일 수 있다.The
메모리 셀 어레이(110)에 소거 전압이 인가되면 복수의 메모리 셀들은 소거 상태가 되며, 메모리 셀 어레이(110)에 프로그램 전압이 인가되면 복수의 메모리 셀들은 프로그램 상태가 된다. 이때, 각 메모리 셀은 문턱 전압(threshold voltage, Vth)에 따라 구분되는 소거 상태(E) 및 적어도 하나의 프로그램 상태를 가질 수 있다.When an erase voltage is applied to the
일 실시예에서, 메모리 셀이 싱글 레벨 셀인 경우, 메모리 셀은 소거 상태 및 프로그램 상태를 가질 수 있다. 다른 실시예에서, 메모리 셀이 멀티 레벨 셀인 경우, 메모리 셀은 소거 상태 및 적어도 세 개의 프로그램 상태를 가질 수 있다. In one embodiment, if the memory cell is a single level cell, the memory cell may have an erase state and a program state. In another embodiment, if the memory cell is a multi-level cell, the memory cell may have an erase state and at least three program states.
본 실시예에 있어서, 메모리 셀들은 프로그램되는 속도에 따라 복수의 셀 그룹으로 구분되어, 프로그램될 수 있다. In this embodiment, the memory cells are divided into a plurality of cell groups according to the programmed speed and can be programmed.
예를 들어, 메모리 셀들은 프로그램 상태에 대응하여 미리 설정된 1차 프로그램 전압에 기초하여 프로그램된 후, 상기 메모리 셀들의 가우시안 형태의 문턱 전압 산포(이후, 간략하게 산포라고 개시한다)에 기초하여 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 수 있다. 이후, 세 개의 셀 그룹 중 메모리 셀들의 산포의 최상위 영역에 대응하는 제1 셀 그룹을 제외한 다른 셀 그룹들이, 복수의 2차 프로그램 전압을 기초로, 상기 프로그램 상태로 재프로그램될 수 있다. 이때, 복수의 2차 프로그램 전압은 원-샷 메모리 셀들의 산포 및 1차 프로그램 전압에 따라 미리 설정될 수 있다. For example, the memory cells may be programmed based on a preset primary programming voltage in response to a program state, and then programmed based on a threshold voltage distribution of the Gaussian form of the memory cells (hereinafter briefly referred to as " As shown in FIG. Subsequently, other cell groups other than the first cell group corresponding to the uppermost region of the distribution of the memory cells among the three cell groups can be reprogrammed into the program state based on the plurality of secondary program voltages. At this time, the plurality of secondary program voltages may be preset according to the dispersion of the one-shot memory cells and the primary program voltage.
일 실시예에 있어서, 제1 셀 그룹은 세 개의 셀 그룹 중 가장 빠른 속도로 프로그램되며, 제1 셀 그룹의 산포는 프로그램 상태의 타겟 산포에 포함될 수 있다. In one embodiment, the first cell group is programmed at the highest rate among the three cell groups, and the distribution of the first cell group may be included in the target distribution of the programmed state.
일 실시예에 있어서, 메모리 셀들의 산포의 중간 영역에 대응하는 셀 그룹의 문턱 전압 범위는 다른 셀 그룹들의 문턱 전압 범위보다 좁을 수 있다. In one embodiment, the threshold voltage range of the cell group corresponding to the middle region of the distribution of memory cells may be narrower than the threshold voltage range of other cell groups.
이러한 단계들을 포함하는 1회의 프로그램 싸이클 동안 상기 메모리 셀들이 복수의 프로그램 상태들 중 하나로 프로그램될 수 있다. 복수회의 프로그램 싸이클 동안 메모리 셀들이 복수의 프로그램 상태로 프로그램될 수 있다. 예를 들어, 메모리 셀이 2 비트의 데이터를 저장하는 멀티 비트 셀일 경우, 메모리 셀은 3개의 프로그램 상태를 가질 수 있고, 3회의 프로그램 싸이클 동안 복수의 메모리 셀들 각각이 상기 3개의 프로그램 상태 중 하나로 프로그램될 수 있다. During one program cycle including these steps, the memory cells may be programmed into one of a plurality of program states. During a plurality of program cycles, memory cells may be programmed in a plurality of program states. For example, if the memory cell is a multi-bit cell storing two bits of data, the memory cell may have three program states and each of the plurality of memory cells during three program cycles may be programmed into one of the three program states .
로우 디코더(120)는 로우 어드레스(X-ADDR)에 응답하여 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있다. 로우 디코더(120)는 워드 라인에 워드 라인 전압을 전달한다. 프로그램 동작시, 로우 디코더(120)는 선택된 워드라인에 프로그램 전압과 검증 전압을, 비선택된 워드 라인(Unselected WL)에는 프로그램 인히빗 전압을 인가할 수 있다. 예컨대 독출 동작시, 로우 디코더(120)는 선택 워드 라인에는 독출 전압을, 비선택된 워드 라인에는 독출 인히빗 전압을 인가할 수 있다. 또한, 로우 디코더(120)는 로우 어드레스(X-ARRD)에 응답하여 스트링 선택 라인들(SSL) 중 일부 스트링 선택 라인 또는 그라운드 선택 라인들(GSL) 중 일부 그라운드 선택 라인을 선택할 수 있다.The
입출력 회로(130)는 외부로부터(예를 들어, 메모리 콘트롤러) 데이터를 입력 받고, 입력된 데이터를 메모리 셀 어레이(110)에 저장한다. 또한, 입출력 회로(130)는 메모리 셀 어레이(110)로부터 데이터를 읽고, 독출된 데이터를 외부로 출력할 수 있다. 입출력 회로(130)는 비트 라인들(BL)에 대응하는 페이지 퍼버들(미도시)을 포함할 수 있다. 페이지 버퍼는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결될 수 있고, 제어 로직(150)으로부터 수신한 칼럼 어드레스(Y-ADDR)에 응답하여 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있다. 프로그램 동작 시 페이지 버퍼는 기입 드라이버로 동작하여 메모리 셀 어레이(110)에 저장하고자 하는 데이터(DATA)를 프로그램할 수 있다. The input /
전압 생성부(140)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(110)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(140)는 워드 라인 전압, 예를 들어, 프로그램 전압(또는 기입 전압), 독출 전압, 패스 전압(또는 워드 라인 비선택 전압), 또는 검증 전압 등을 생성할 수 있다. 전압 생성부(140)는 비트 라인 전압, 예를 들어 비트 라인 포싱 전압, 인히빗 전압 등을 생성할 수 있다. 또한, 전압 생성부(140)는 전압 제어 신호(CTRL_vol)를 기초로 하여 스트링 선택 라인 전압 및 그라운드 선택 라인 전압을 더 생성할 수 있다. The
제어 로직(150)은 메모리 컨트롤러(도 1의 200)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(110)에 데이터를 기입하거나 메모리 셀 어레이(110)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(150)은 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다.The
제어 로직(150)에서 출력된 각종 제어 신호는 전압 생성부(140), 로우 디코더(120) 및 입출력 회로(130)에 제공될 수 있다. 구체적으로, 제어 로직(150)은 전압 생성부(140)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(120)에 로우 어드레스(X-ADDR)를 제공할 수 있으며, 입출력 회로(130)에 칼럼 어드레스(Y-ADDR)를 제공할 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 제어 로직(150)은 전압 생성부(140), 로우 디코더(120) 및 입출력 회로(130)에 다른 제어 신호들을 더 제공할 수 있다.The various control signals output from the
제어 로직(150)은 본 개시의 프로그램 방법에 따른 프로그램 시퀀스에 따라, 메모리 셀 어레이(110)에 대한 프로그램을 제어하기 위한 프로그램 제어부(160)를 구비할 수 있다. The
프로그램 제어부(160)는 메모리 장치의(100)의 프로그램 동작을 제어할 수 있다. 실시예에 있어서, 프로그램 제어부(160)는 복수의 프로그램 상태들 각각에 대응하는 복수의 구동 전압들의 전압 레벨을 설정할 수 있다. 복수의 구동 전압은, 복수의 프로그램 상태 각각에 대응하는 프로그램 전압들, 검증 전압들, 오프셋 전압들, 워드라인의 프로그램 속도에 따른 보상 전압들 등을 포함할 수 있다. The
실시예에 있어서, 프로그램 제어부(160)는 메모리 셀 어레이(110)에 테스트 프로그램 전압을 인가하고, 적어도 하나의 독출 전압을 기초로 메모리 셀들의 가우시안 형태의 문턱 전압 분포를 판단할 수 있다. 프로그램 제어부(160)는 상기 메모리 셀들의 문턱 전압 분포를 기초로, 프로그램 동작 시, 프로그램될 메모리 셀들을 프로그램 속도별 그룹으로 분할하기 위한 제어 신호들, 예컨대 적어도 하나의 검증 전압, 검증 독출 시, 센싱 타임을 설정 신호 등을 설정할 수 있다. 또한, 프로그램 제어부(160)는 각 프로그램 상태별로 대응하는 프로그램 전압 셋(예컨대, 1차 프로그램 전압 및 복수의 2차 프로그램 전압들)의 전압 레벨을 설정할 수 있다. In an embodiment, the
실시예에 있어서, 프로그램 제어부(160)는 메모리 셀들을 각각의 프로그램 상태로 프로그램하기 전, 예컨대, 이전 상태의 프로그램 수행 시, 각 워드 라인 별 프로그램 속도를 감지하고, 프로그램 속도에 따른 워드 라인 별 보상 전압을 설정할 수 있다. 또한, 프로그램 제어부(160)는 각 프로그램 상태에 대한 프로그램 전압 설정 시, 상기 보상 전압 및 이전 상태의 프로그램 전압을 기초로 프로그램 전압의 전압 레벨을 조절할 수 있다. In the embodiment, the
실시예에 있어서, 프로그램 제어부(160)는 메모리 셀 어레이(110)의 워드라인별 프로그램 시퀀스를 제어할 수 있다. 프로그램 제어부(160)는 한 워드라인의 메모리 셀들에 대하여 프로그램이 수행될 때, 상기 워드라인의 메모리 셀들에 대하여 1차 프로그램 전압을 기초로 1차 프로그램을 수행하고, 상기 1차 프로그램이 수행된 메모리 셀들을 프로그램 속도별로 복수의 셀 그룹으로 구분하고, 상기 복수의 셀 그룹의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로 상기 메모리 셀들에 대하여 2차 프로그램을 수행할 수 있다. 이때, 상기 프로그램 제어부(160)는 한 워드라인의 메모리 셀들에 대하여 1차 프로그램을 수행하고, 인접한 워드라인에 대하여 1차 프로그램을 수행한 후, 상기 워드라인의 메모리 셀들에 대하여 2차 프로그램을 수행하도록 프로그램 시퀀스를 설정함으로써, 인접한 워드라인간 커플링 효과를 방지할 수 있다. In the embodiment, the
본 실시예에 따른 메모리 장치(100)는 프로그램 수행 시, 복수의 프로그램 상태 각각에 대응하여 미리 설정된 프로그램 전압을 기초로 메모리 셀들을 프로그램할 수 있다. 또한, 메모리 장치(100)는 원-샷 메모리 셀의 문턱 전압 산포를 기초로, 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하고, 서로 다른 문턱 전압 산포 폭을 갖는 복수의 셀 그룹 각각이 타겟 상태로 프로그램되도록 상기 복수의 셀 그룹의 문턱 전압 차이를 기초로 설정된 프로그램 전압들을 기초로, 각각의 셀 그룹을 프로그램함으로써, 각 프로그램 상태에 대하여 동일한 프로그램 횟수를 적용하여 프로그램할 수 있다. 이에 따라 메모리 장치(100)의 프로그램 시간이 감소될 수 있고 또한 각 프로그램 상태의 문턱 전압 산포의 폭이 감소될 수 있다. The
또한, 본 실시예에 따른 메모리 장치(100)는 메모리 셀들을 각각의 프로그램 상태로 프로그램하기 전, 워드 라인 별 메모리 셀들의 프로그램 속도를 체크하고, 상기 프로그램 속도에 따른 보상 전압을 프로그램 전압에 반영함으로써, 메모리 셀 어레이에 프로그램된 프로그램 상태 각각의 문턱 전압 산포의 폭을 감소시킬 수 있다. Further, the
또한, 본 실시예에 따른 메모리 장치(100)는 하나의 워드라인의 메모리 셀들에 대하여 프로그램 수행 시, 상기 워드라인 및 상기 워드라인에 인접한 워드라인에 대하여 각각의 워드 라인에 대응하는, 1차 프로그램 전압을 인가하여 1차 프로그램을 수행한 후, 상기 워드라인의 원-샷 메모리 셀의 문턱 전압 산포를 기초로 상기 워드라인의 메모리 셀들에 대하여 2차 프로그램을 수행함으로써, 워드라인간 커플링 효과를 감소시킬 수 있다.In addition, the
이하, 본 개시의 실시예에 따른 메모리 장치(100) 및 메모리 장치의 프로그램 방법 및 동작 방법에 대하여 보다 상세하게 설명하기로 한다.
Hereinafter, the programming method and the operating method of the
도 2는 본 개시의 실시예에 따른 메모리 블록의 일 예를 나타내는 회로도이다. 2 is a circuit diagram showing an example of a memory block according to an embodiment of the present disclosure;
도 2를 참조하면, 메모리 블록(BLKa)은 수평 구조의 낸드 플래쉬 메모리일 수 있다. 메모리 블록(BLKa)은 예를 들어, 개의 메모리 셀들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 각 스트링(STR)은 직렬로 연결된 메모리 셀들(MC)의 양 끝에 각각 연결되는 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 여기서, 스트링들(STR)의 개수, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수는 실시예에 따라 다양하게 변경될 수 있다. Referring to FIG. 2, the memory block BLKa may be a horizontal NAND flash memory. The memory block BLKa may include, for example, d (d is an integer of 2 or more) strings (STRs) in which two memory cells are connected in series. Each string STR may include a string selection transistor SST and a ground selection transistor GST, which are connected to both ends of the memory cells MC connected in series. Here, the number of strings STR, the number of word lines WL, and the number of bit lines BL may be variously changed according to the embodiment.
도 2와 같은 구조를 갖는 메모리 블록을 포함하는 낸드 플래쉬 메모리 장치는 메모리 블록 단위로 소거가 수행되고, 각 워드 라인(WL1 내지 WL8)에 대응되는 페이지(PAGE) 단위로 프로그램을 수행할 수 있다. 일 예에서, 메모리 셀(MC)이 싱글 레벨 셀인 경우, 각 워드 라인에 하나의 페이지(PAGE)가 대응될 수 있다. 다른 예에서, 메모리 셀(MC)이 멀티 레벨 셀 또는 트리플 레벨 셀인 경우, 각 워드 라인에 복수의 페이지들(PAGE)이 대응될 수 있다.
The NAND flash memory device including the memory block having the structure as shown in FIG. 2 is erased in units of memory blocks and can perform a program in units of pages corresponding to the word lines WL1 to WL8. In one example, when the memory cell MC is a single level cell, one page (PAGE) may be associated with each word line. In another example, when the memory cell MC is a multi-level cell or a triple level cell, a plurality of pages (PAGE) may be associated with each word line.
도 3은 본 개시의 실시예에 따른 메모리 블록의 다른 예를 나타내는 회로도이다.3 is a circuit diagram showing another example of the memory block according to the embodiment of the present disclosure;
도 3을 참조하면, 메모리 블록(BLKb)은 수직 구조의 낸드 플래쉬 메모리일 수 있다. 메모리 블록(BLKb)은 복수의 낸드 스트링들(NS11 내지 NS33), 복수의 워드 라인들(WL1 내지 WL8), 복수의 비트 라인들(BL1 내지 BL3), 그라운드 선택 라인 들(GSL1, GSL2, GSL3), 복수의 스트링 선택 라인들(SSL1 내지 SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.Referring to FIG. 3, the memory block BLKb may be a vertical NAND flash memory. The memory block BLKb includes a plurality of NAND strings NS11 to NS33, a plurality of word lines WL1 to WL8, a plurality of bit lines BL1 to BL3, ground selection lines GSL1, GSL2 and GSL3, A plurality of string selection lines SSL1 to SSL3, and a common source line CSL. Here, the number of NAND strings, the number of word lines, the number of bit lines, the number of ground selection lines, and the number of string selection lines may be variously changed according to the embodiment.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공된다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 이하에서는, 편의상 낸드 스트링을 스트링이라고 지칭하기로 한다.NAND strings NS11, NS21 and NS31 are provided between the first bit line BL1 and the common source line CSL and NAND strings NS11, NS21 and NS31 are provided between the second bit line BL2 and the common source line CSL. NS12, NS22 and NS32 are provided and NAND strings NS13, NS23 and NS33 are provided between the third bit line BL3 and the common source line CSL. Each NAND string (e.g., NS11) may include a string selection transistor SST connected in series, a plurality of memory cells MC1 through MC8, and a ground selection transistor GST. Hereinafter, the NAND string will be referred to as a string for convenience.
하나의 비트 라인에 공통으로 연결된 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 스트링들(NS11, NS21, NS31)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 스트링들(NS12, NS22, NS32)은 제2 칼럼에 대응되며, 제3 비트 라인(BL3)에 공통으로 연결된 스트링들(NS13, NS23, NS33)은 제3 칼럼에 대응될 수 있다.Strings connected in common to one bit line constitute one column. For example, the strings NS11, NS21, and NS31 connected in common to the first bit line BL1 correspond to the first column and the strings NS12, NS22, and NS31 connected in common to the second bit line BL2, NS32 correspond to the second column, and the strings NS13, NS23, and NS33 connected in common to the third bit line BL3 may correspond to the third column.
하나의 스트링 선택 라인에 연결되는 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 스트링 선택 라인(SSL1)에 연결된 스트링들(NS11, NS12, NS13)은 제1 로우에 대응되고, 제2 스트링 선택 라인(SSL2)에 연결된 스트링들(NS21, NS22, NS23)은 제2 로우에 대응되며, 제3 스트링 선택 라인(SSL3)에 연결된 스트링들(NS31, NS32, NS33)은 제3 로우에 대응될 수 있다.The strings connected to one string selection line constitute one row. For example, the strings NS11, NS12 and NS13 connected to the first string selection line SSL1 correspond to the first row and the strings NS21, NS22 and NS23 connected to the second string selection line SSL2 correspond to the first row, And the strings NS31, NS32, NS33 connected to the third string selection line SSL3 may correspond to the third row.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL1 내지 SSL3)에 연결된다. 복수의 메모리 셀들(MC1 내지 MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 그라운드 선택 라인들(GSL1, GSL2, GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.The string selection transistor SST is connected to the string selection lines SSL1 to SSL3. A plurality of memory cells MC1 to MC8 are connected to the corresponding word lines WL1 to WL8, respectively. The ground selection transistor GST is connected to the ground selection lines GSL1, GSL2 and GSL3. The string selection transistor SST is connected to the corresponding bit line BL, and the ground selection transistor GST is connected to the common source line CSL.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되어 있고, 스트링 선택 라인들(SSL1 내지 SSL3)은 서로 분리되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 스트링 선택 라인(SSL1)이 선택될 수 있다. 일 실시예에 있어서, 도 4에 도시된 바와 같이, 그라운드 선택 라인들(GSL1, GSL2, GSL3)은 서로 분리될 수 있다. 다른 실시예에 있어서, 그라운드 선택 라인들(GSL1, GSL2, GSL3)은 서로 연결될 수 있다.
The word lines (for example, WL1) having the same height are connected in common, and the string selection lines SSL1 to SSL3 are separated from each other. For example, when programming the memory cells connected to the first word line WL1 and belonging to the strings NS11, NS12 and NS13, the first word line WL1 and the first string selection line SSL1, Can be selected. In one embodiment, as shown in FIG. 4, the ground selection lines GSL1, GSL2, and GSL3 may be separated from each other. In another embodiment, the ground selection lines GSL1, GSL2, and GSL3 may be connected to each other.
도 4는 도 3의 회로도에 따른 메모리 블록을 나타내는 사시도이다. 4 is a perspective view showing a memory block according to the circuit diagram of Fig.
도 4를 참조하면, 메모리 블록(BLK)은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 기판(SUB)은 도 1의 제1 반도체층(10)일 수 있다. 기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, x방향)을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공될 수 있다. 공통 소스 라인(CSL)은 수직형 메모리 셀들로 전류를 공급하는 소스 영역으로서 기능할 수 있다.Referring to FIG. 4, the memory block BLK is formed in a direction perpendicular to the substrate SUB. The substrate SUB may be the first semiconductor layer 10 of Fig. The substrate SUB has a first conductivity type (for example, p type) and extends on the substrate SUB in a first direction (e.g., x direction) and a second conductivity type , n-type) doped with impurities can be provided on the common source line CSL. The common source line CSL can function as a source region for supplying current to vertical memory cells.
인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제2 방향(예를 들어, y 방향)을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.A plurality of insulating films IL extending in a second direction (e.g., the y direction) are formed on a region of the substrate SUB between two adjacent common source lines CSL in a third direction (e.g., z direction), and the plurality of insulating films IL are spaced apart from each other by a specific distance along the third direction. For example, the plurality of insulating films IL may include an insulating material such as silicon oxide.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 채널홀이 형성될 수 있다. 채널홀은 수직 방향으로 연장하는 컵 형상(또는 바닥이 막힌 실린더 형상)으로 형성될 수 있다. 또는 채널홀은 도시된 바와 같이 필라 형상으로 형성될 수 있다. 이하, 채널홀은 필라(pillars)라고 지칭하기로 한다. 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 수 있다. 구체적으로, 각 필라 (P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.A channel hole is sequentially formed along the first direction on the region of the substrate SUB between two adjacent common source lines CSL and through the plurality of insulating films IL along the third direction . The channel hole may be formed in a cup shape (or a bottomed cylinder shape) extending in the vertical direction. Or the channel hole may be formed in a pillar shape as shown in FIG. Hereinafter, the channel hole will be referred to as pillars. The plurality of pillars (P) can contact the substrate (SUB) through a plurality of insulating films (IL). In particular, the surface layer S of each pillar P may comprise a silicon material having a first type and function as a channel region. On the other hand, the inner layer (I) of each pillar (P) may comprise an insulating material such as silicon oxide or an air gap.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에 게이트 전극(GE)이 제공될 수 있다.A charge storage layer CS is provided along the exposed surfaces of the insulating films IL, pillars P and the substrate SUB in the region between the two adjacent common source lines CSL. For example, the charge storage layer (CS) may have an oxide-nitride-oxide (ONO) structure. In addition, in the region between the two adjacent common source lines CSL, the gate electrode GE can be provided on the exposed surface of the charge storage layer CS.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들 또는 드레인 컨택들(DR) 상에, 제2 방향(예를 들어, y 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL)이 제공될 수 있다.Drains or drain contacts DR are provided on the plurality of pillars P, respectively. For example, the drains or drain contacts DR may comprise silicon material doped with dopants having a second conductivity type. On the drains or drain contacts DR, bit lines BL extending in a second direction (e.g., the y direction) and spaced a certain distance along the first direction may be provided.
도 4를 참조하여, 메모리 블록의 실시 예를 설명하였다. 그러나, 이에 제한되는 것은 아니며 메모리 블록의 구조는 다양하게 변형될 수 있다.
Referring to Fig. 4, an embodiment of a memory block has been described. However, the present invention is not limited thereto, and the structure of the memory block may be variously modified.
도 5a 및 도 5b는 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 설명하는 도면이다. 도 5a는 메모리 셀들의 원-샷 산포를 기초로 메모리 셀들을 프로그램 속도에 따라 복수의 셀 그룹으로 구분하는 방법을 나타내고, 도 5b는 프로그램 속도에 따라 구분되는 복수의 셀 그룹에 인가되는 프로그램 전압을 나타낸다.5A and 5B are diagrams illustrating a method of operating a memory device according to an embodiment of the present disclosure. FIG. 5A shows a method of dividing memory cells into a plurality of cell groups according to a program rate based on one-shot distribution of memory cells, FIG. 5B shows a method of dividing a program voltage applied to a plurality of cell groups .
원-샷 산포는 선택된 워드라인으로 하나의 프로그램 펄스 전압이 인가될 때 발생되는 메모리 셀들의 문턱 전압의 산포를 의미한다. 도 5a를 참조하면, 워드라인에 하나의 프로그램 펄스 전압이 인가되면, 상기 워드라인에 연결된 메모리 셀들의 문턱 전압 산포, 다시 말해 원-샷 산포는 도시된 바와 같이, 가우시안 분포를 가질 수 있다. One-shot scattering refers to the scattering of the threshold voltages of memory cells that occur when one program pulse voltage is applied to a selected word line. Referring to FIG. 5A, when one program pulse voltage is applied to a word line, the threshold voltage distribution of the memory cells connected to the word line, that is, one-shot dispersion, may have a Gaussian distribution, as shown.
본 실시예에 따른 메모리 장치의 동작 방법, 다시 말해 프로그램 방법에 따르면, 1차 프로그램 전압(primary program voltage), 예컨대 제1 프로그램 전압(Vpgm1)을 기초로 형성되는 메모리 셀의 원-샷 산포(OS)를 기초로, 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹(MCG1, MCG2, MCG3)으로 구분하고, 복수의 셀 그룹(MCG1, MCG2, MCG3)들 간의 문턱 전압 차이 또는 복수의 셀 그룹(MCG1, MCG2, MCG3)들의 문턱 전압 범위(dVth1, dVth2, dVth3; 또는 문턱 전압 산포 폭이라고 함)에 기초하여 설정되는 복수의 2차 프로그램 전압들, 예컨대 제2 프로그램 전압(Vpgm2) 및 제3 프로그램 전압(Vpgm3)을 기초로, 메모리 셀들을 타겟 프로그램 상태(Pn)로 프로그램할 수 있다. 이때, 복수의 셀 그룹(MCG1, MCG2, MCG3)의 문턱 전압 범위(dVth1, dVth2, dVth3)는 서로 다르게 설정될 수 있다. 실시예에 있어서, 문턱 전압 범위(dVth1, dVth2, dVth3)는 각각의 셀 그룹의 단위 문턱 전압 범위에 포함되는 메모리 셀의 개수에 기초하여 설정될 수 있다. 예컨대, 문턱 전압 범위(dVth1, dVth2, dVth3)는 각각의 셀 그룹의 단위 문턱 전압 범위에 포함되는 메모리 셀의 개수(이하, 단위 셀 개수라고 함)에 반비례하게 설정될 수 있다. 도시된 가우시안 형태의 원-샷 산포에 따르면, 원-샷 산포의 중간 영역에 포함되는 제2 셀 그룹(MCG2)의 단위 셀 개수는 원-샷 산포의 엣지 영역에 포함되는 제1 셀 그룹(MCG1) 또는 제3 셀 그룹(MCG3)의 단위 셀 개수보다 많을 수 있다. 따라서, 제2 셀 그룹(MCG2)의 문턱 전압 범위(dVth2)는 제1 셀 그룹(MCG1) 또는 제2 셀 그룹(CMG3)의 문턱 전압 범위(dVth1, dVth3)보다 좁게 설정될 수 있다. According to the operating method of the memory device according to the present embodiment, that is, according to the programming method, a one-shot dispersion (OS) of a memory cell formed on the basis of a primary program voltage such as a first program voltage Vpgm1 MCG1, MCG2, and MCG3 according to the program speed and divides the threshold voltage difference between the plurality of cell groups MCG1, MCG2, and MCG3 or the plurality of cell groups MCG1, Such as the second program voltage Vpgm2, and the third program voltage Vpgm2, which are set based on the threshold voltage range (dVth1, dVth2, dVth3; or the threshold voltage dispersion width) (Vpgm3), the memory cells can be programmed to the target program state Pn. At this time, the threshold voltage ranges (dVth1, dVth2, dVth3) of the plurality of cell groups MCG1, MCG2, MCG3 can be set to be different from each other. In the embodiment, the threshold voltage range (dVth1, dVth2, dVth3) can be set based on the number of memory cells included in the unit threshold voltage range of each cell group. For example, the threshold voltage range (dVth1, dVth2, dVth3) may be set in inverse proportion to the number of memory cells included in the unit threshold voltage range of each cell group (hereinafter referred to as the number of unit cells). According to the Gaussian-type one-shot scattering shown in the figure, the number of unit cells of the second cell group MCG2 included in the middle region of the one-shot scattering is larger than that of the first cell group MCG1 included in the edge region of the one- Or the number of unit cells of the third cell group MCG3. Therefore, the threshold voltage range dVth2 of the second cell group MCG2 can be set to be narrower than the threshold voltage range dVth1, dVth3 of the first cell group MCG1 or the second cell group CMG3.
한편, 프로그램 전압들(Vpgm1, Vpgm2, Vpgm3) 간의 오프셋 전압(Voff1, Voff2) 다시 말해, 전압 증가량은 상기 복수의 셀 그룹(MCG1, MCG2, MCG3)의 문턱 전압 차이 또는 문턱 전압 범위(dVth1, dVth2, dVth3)에 기초하여 설정될 수 있다. 예컨대, 제1 오프셋 전압(Voff1) 및 제2 오프셋 전압(Voff2)은 제2 셀 그룹(MCG2)의 문턱 전압 범위(dVth2) 및 제3 셀 그룹(MCG3)의 문턱 전압 범위(dVth3)에 기초하여 설정될 수 있다. 실시예에 있어서, 제1 오프셋 전압(Voff1) 및 제2 오프셋 전압(Voff2)은 제2 셀 그룹(MCG2)의 문턱 전압 범위 (dVth2)및 제3 셀 그룹(MCG3)의 문턱 전압 범위(dVth3)에 비례할 수 있다. 실시예에 있어서, 제1 오프셋 전압(Voff1) 및 제2 오프셋 전압(Voff2)은 각각 문턱 전압 범위 dVth2 및 dVth3와 같을 수 있다. dVth3가 dVth2보다 넓으므로, 제2 오프셋 전압(Voff2)이 제1 오프셋 전압(Voff1) 보다 클 수 있다. On the other hand, the offset voltage Voff1, Voff2 between the program voltages Vpgm1, Vpgm2, and Vpgm3, that is, the voltage increase amount is the threshold voltage difference of the plurality of cell groups MCG1, MCG2, MCG3 or the threshold voltage range dVth1, dVth2 , dVth3). For example, the first offset voltage Voff1 and the second offset voltage Voff2 are set based on the threshold voltage range dVth2 of the second cell group MCG2 and the threshold voltage range dVth3 of the third cell group MCG3 Can be set. The first offset voltage Voff1 and the second offset voltage Voff2 are set to the threshold voltage range dVth2 of the second cell group MCG2 and the threshold voltage range dVth3 of the third cell group MCG3, . ≪ / RTI > In an embodiment, the first offset voltage Voff1 and the second offset voltage Voff2 may be equal to the threshold voltage ranges dVth2 and dVth3, respectively. Since dVth3 is wider than dVth2, the second offset voltage Voff2 may be larger than the first offset voltage Voff1.
한편, 1차 프로그램 전압, 다시 말해 제1 프로그램 전압(Vpgm1)은 메모리 셀들의 적어도 일부, 예컨대 메모리 셀들 중 프로그램 속도가 상대적으로 빠른 메모리 셀들이 타겟 상태(Pn)의 타겟 산포(TP)에 포함되도록 미리 설정된 전압일 수 있다. 실시예에 있어서, 제1 프로그램 전압(Vpgm1)은 원-샷 산포의 최상위 셀 그룹, 예컨대 제1 셀 그룹(MCG1)의 메모리 셀들이 타겟 산포(TP)에 포함되도록 미리 설정된 전압일 수 있다. On the other hand, the primary program voltage, that is, the first program voltage Vpgm1 is set so that at least some of the memory cells, for example, among the memory cells, the memory cells whose programming speed is relatively fast are included in the target distribution TP of the target state Pn It may be a preset voltage. In an embodiment, the first program voltage Vpgm1 may be a pre-set voltage such that the memory cells of the top cell group, e.g., the first cell group MCG1, of the one-shot dispersion are included in the target distribution TP.
도 6은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 5a, 5b 및 도 6을 참조하여, 본 개시의 실시예에 따른 메모리 장치의 동작 방법에 따라 메모리 셀들을 복수의 프로그램 상태 중 어느 하나의 상태로 프로그램하는 방법을 설명하기로 한다. 6 is a flow diagram illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure. 5A, 5B, and 6, a method of programming memory cells into one of a plurality of program states according to an operation method of a memory device according to an embodiment of the present disclosure will be described.
도 6을 참조하면, 1차 프로그램 전압을 기초로 메모리 셀들을 프로그램할 수 있다(S110). 1차 프로그램 전압은 제1 프로그램 전압(Vpgm1)을 포함한다. 이전 상태(Pn-1)(또는 소거 상태)의 메모리 셀들에 제1 프로그램 전압(Vpgm1)을 인가함으로써, 1차 프로그램을 수행한다. 메모리 셀들의 일부, 프로그램 속도가 빠른 메모리 셀들이 타겟 산포(TP)에 포함될 수 있다. Referring to FIG. 6, memory cells may be programmed based on the primary program voltage (S110). The primary program voltage includes the first program voltage Vpgm1. The first program is executed by applying the first program voltage Vpgm1 to the memory cells in the previous state Pn-1 (or erase state). Some of the memory cells, memory cells with fast program speeds, may be included in the target spread (TP).
예를 들어, 메모리 셀들이 제1 프로그램 상태로 프로그램될 경우, 제1 프로그램 상태에 대응하여 미리 설정된 1차 프로그램 전압, 다시 말해 제1 프로그램 전압(Vpgm1)이 메모리 셀들에 인가될 수 있다. 이에 따라, 메모리 셀들이 러프하게 제1 프로그램 상태로 프로그램될 수 있다. 메모리 셀들의 일부, 예컨대 메모리 셀들 중 프로그램 속도가 상대적으로 빠른 일부 메모리 셀들이 제1 프로그램 상태의 타겟 산포에 포함될 수 있다. For example, when the memory cells are programmed in the first program state, a predetermined primary programming voltage, i.e., the first program voltage Vpgm1, corresponding to the first program state may be applied to the memory cells. Thus, the memory cells can be roughly programmed to the first program state. Some of the memory cells, e.g., some of the memory cells, may be included in the target distribution of the first program state, with some memory cells having relatively fast programming speeds.
1차 프로그램이 수행된 메모리 셀들을 검증 독출하고, 메모리 셀들의 문턱 전압 기초로 상기 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분할 수 있다(S120). 예컨대, 메모리 셀들이 적어도 세 개의 셀 그룹으로 구분될 수 있다. The memory cell in which the primary program has been executed can be verified and read out, and the memory cells can be divided into a plurality of cell groups according to the programming speed based on the threshold voltage of the memory cells (S120). For example, memory cells may be divided into at least three cell groups.
1차 프로그램 수행에 따라, 메모리 셀들의 원-샷 산포가 형성되며, 메모리 셀들을 검증 독출하여 복수의 셀 그룹으로 구분할 수 있다. 도 5a에는 메모리 셀들이 세 개의 셀 그룹으로 구분되는 것으로 도시되었으나, 이에 제한되는 것은 아니다. 메모리 셀들은 더 많은 수의 셀 그룹으로 구분될 수 있다. According to the primary program execution, one-shot scattering of memory cells is formed, and the memory cells can be read out to be divided into a plurality of cell groups. Although FIG. 5A illustrates that the memory cells are divided into three cell groups, the present invention is not limited thereto. The memory cells can be divided into a larger number of cell groups.
메모리 셀이 2 비트의 데이터를 저장하는 멀티 레벨 셀일 경우, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 다른 실시예에 있어서, 메모리 셀이 3 비트의 데이터를 저장하는 트리플 레벨 셀일 경우, 메모리 셀들을 다섯 개의 셀 그룹으로 구분할 수 있다. 그러나, 이에 제한되는 것은 아니며, 프로그램 상태의 타겟 산포의 폭에 따라서 셀 그룹의 개수가 결정될 수 있다. 예컨대, 프로그램 상태의 타겟 산포 폭이 좁을 경우의 셀 그룹의 개수는 프로그램 상태의 타겟 산포 폭이 넓을 경우의 셀 그룹의 개수보다 많을 수 있다.When the memory cell is a multi-level cell storing two bits of data, the memory cells can be divided into three cell groups. In another embodiment, when the memory cell is a triple level cell storing three bits of data, the memory cells can be divided into five cell groups. However, the present invention is not limited thereto, and the number of cell groups can be determined according to the width of the target distribution in the program state. For example, the number of cell groups when the target scatter width in the program state is narrow may be larger than the number of cell groups in the case where the target scatter width in the program state is wide.
한편, S120 단계에서, 복수의 셀 그룹의 문턱 전압 범위는 서로 다르게 설정될 수 있다. 예컨대, 복수의 셀 그룹 중 메모리 셀들의 산포의 중간 영역에 대응하는 셀 그룹의 문턱 전압 범위는 다른 셀 그룹들의 문턱 전압 범위보다 상대적으로 좁게 설정될 수 있다. 또한, 메모리 셀들의 산포의 상위 영역 또는 하위 영역에 대응하는 셀 그룹들의 문턱 전압 범위는 다른 메모리 셀들의 문턱 전압 범위보다 상대적으로 넓게 설정될 수 있다. On the other hand, in step S120, the threshold voltage ranges of the plurality of cell groups may be set to be different from each other. For example, the threshold voltage range of the cell group corresponding to the middle region of the distribution of the memory cells among the plurality of cell groups may be set to be relatively narrower than the threshold voltage range of the other cell groups. Further, the threshold voltage range of the cell groups corresponding to the upper region or the lower region of the distribution of the memory cells may be set to be relatively wider than the threshold voltage range of the other memory cells.
예컨대, 도 5a에 도시된 바와 같이, 제1 내지 제3 셀 그룹(MCG1, MCG2, MCG3) 중, 메모리 셀들의 산포의 중간 영역에 대응하는 제2 셀 그룹(MCG2)의 문턱 전압 범위(dVth2)는 산포의 엣지 영역에 대응하는 제1 셀 그룹(MCG1) 또는 제3 셀 그룹(MCG3)의 문턱 전압 범위(dVth1, dVth3)보다 상대적으로 좁게 설정될 수 있다. 5A, the threshold voltage range dVth2 of the second cell group MCG2 corresponding to the middle region of the distribution of the memory cells among the first to third cell groups MCG1, MCG2, and MCG3, May be set to be relatively narrower than the threshold voltage range (dVth1, dVth3) of the first cell group MCG1 or the third cell group MCG3 corresponding to the edge region of the scattering.
한편, 상기 메모리 셀들은 미리 설정된 검증 전압을 기초로 검증 독출됨으로써, 복수의 셀 그룹으로 구분될 수 있다. 이때, 검증 전압은 복수의 셀 그룹들이 서로 다른 문턱 전압 범위를 갖도록 설정될 수 있다. 검증 전압은, 메모리 장치의 제조 단계, 메모리 장치의 초기화 단계 또는 트레이닝 단계 등에서, 원-샷 프로그램에 따른 메모리 셀들의 프로그램 상태(예컨대, 원-샷 산포의 산포 범위, 산포의 위치 등) 및 복수의 셀 그룹의 문턱 전압 범위들에 기초하여 설정될 수 있다Meanwhile, the memory cells can be divided into a plurality of cell groups by reading and verifying based on a preset verification voltage. At this time, the verify voltage may be set so that a plurality of cell groups have different threshold voltage ranges. The verify voltage can be used to determine the program state of the memory cells in accordance with the one-shot program (e.g., the dispense range of the one-shot dispense, the dispense position, etc.) May be set based on the threshold voltage ranges of the cell group
예컨대, 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 기초로 메모리 셀들을 검증 독출함으로써, 메모리 셀들을 복수의 셀 그룹으로 구분할 수 있다. 제1 검증 전압(Vrf1)과 제2 검증 전압(Vrf2)의 전압 차이는 제2 셀 그룹(MCG2)의 문턱 전압 범위(dVth2)에 비례할 수 있다. For example, the memory cells can be divided into a plurality of cell groups by verifying and reading the memory cells based on the first verify voltage Vrf1 and the second verify voltage Vrf2. The voltage difference between the first verify voltage Vrf1 and the second verify voltage Vrf2 may be proportional to the threshold voltage range dVth2 of the second cell group MCG2.
일 실시예에 있어서, 하나의 검증 전압을 기초로 메모리 셀들을 시간을 달리하여 두 번 센싱함으로써, 메모리 셀들을 한번의 검증 독출 동작을 통하여 세 개의 셀 그룹으로 구분할 수 있다. 이를 더블 센싱 동작이라고 지칭할 수 있다. 이때, 첫번째 센싱 시점과 두 번째 센싱 시점간의 시간 간격은 제2 셀 그룹(MCG2)의 문턱 전압 범위(dVth2)에 기초하여 설정될 수 있다. 예를 들어, 제2 셀 그룹(MCG2)의 문턱 전압 범위가 1V(volt) 일 때의 상기 시간 간격은, 문턱 전압 범위가 0.8V일 때의 상기 시간 간격보다 좁게 설정될 수 있다.In one embodiment, memory cells can be divided into three cell groups through a single verify read operation by sensing memory cells twice at different times based on one verify voltage. This can be referred to as a double sensing operation. At this time, the time interval between the first sensing time and the second sensing time may be set based on the threshold voltage range (dVth2) of the second cell group MCG2. For example, the time interval when the threshold voltage range of the second cell group MCG2 is 1V (volt) may be set to be narrower than the time interval when the threshold voltage range is 0.8V.
이후, 복수의 셀 그룹의 문턱 전압 차이를 기초로 전압 레벨이 설정된 2차 프로그램 전압, 예컨대 제2 프로그램 전압(Vpgm2) 및 제3 프로그램 전압(Vpgm3)을 기초로, 복수의 셀 그룹 중 적어도 일부의 셀 그룹을 재 프로그램할 수 있다(S130). 다시 말해, 복수의 셀 그룹 중, 타겟 산포(TP)에 포함되는 셀 그룹을 제외한 셀 그룹들을 재 프로그램할 수 있다. 예를 들어, 제1 셀 그룹(MCG1)이 타겟 산포(TP)에 포함되고, 다른 셀 그룹들(MCG2, MCG3)이 타겟 산포(TP)를 벗어난 경우, 타겟 산포(TP)에 포함되는 제1 셀 그룹(MCG1)을 제외한 제2 셀 그룹(MCG2) 및 제3 셀 그룹(MCG3)을 타겟 상태로 재프로그램할 수 있다. 제2 셀 그룹(MCG2) 및 제3 셀 그룹(MCG3)을 복수의 2차 프로그램 전압, 다시 말해 제2 프로그램 전압(Vgpm2) 및 제3 프로그램 전압(Vpgm3)을 기초로 재프로그램할 수 있다. 제2 셀 그룹(MCG2) 및 제3 셀 그룹(MCG3)에 제1 프로그램 전압(Vpgm1)으로부터 제1 오프셋 전압 (Voff1)만큼 전압 레벨이 증가된 제2 프로그램 전압(Vpgm2)을 인가할 수 있다. 이에 따라 제2 셀 그룹(MCG2)의 메모리 셀들이 타겟 산포(TP)에 포함될 수 있다. 다음으로, 제3 셀 그룹(MVG3)에, 제2 프로그램 전압(Vpgm2)로부터 제2 오프셋 전압(Voff2)만큼 전압 레벨이 증가된 제3 프로그램 전압(Vpgm3)을 인가할 수 있다. 이에 따라 제3 셀 그룹(MCG3)의 메모리 셀들이 타겟 산포(TP)에 포함될 수 있다. Thereafter, based on the second program voltage Vpgm2 and the third program voltage Vpgm3, the voltage level of which is set based on the threshold voltage difference of the plurality of cell groups, at least some of the plurality of cell groups The cell group can be reprogrammed (S130). In other words, among the plurality of cell groups, the cell groups excluding the cell group included in the target spread TP can be reprogrammed. For example, if the first cell group MCG1 is included in the target spread TP and the other cell groups MCG2 and MCG3 are out of the target spread TP, The second cell group MCG2 and the third cell group MCG3 excluding the cell group MCG1 can be reprogrammed to the target state. The second cell group MCG2 and the third cell group MCG3 can be reprogrammed based on a plurality of secondary program voltages, i.e., the second program voltage Vgpm2 and the third program voltage Vpgm3. The second program voltage Vpgm2 whose voltage level is increased by the first offset voltage Voff1 from the first program voltage Vpgm1 can be applied to the second cell group MCG2 and the third cell group MCG3. Accordingly, the memory cells of the second cell group MCG2 may be included in the target spread TP. Next, the third program voltage Vpgm3 whose voltage level is increased by the second offset voltage Voff2 from the second program voltage Vpgm2 may be applied to the third cell group MVG3. Accordingly, the memory cells of the third cell group MCG3 may be included in the target spread TP.
일 실시예에 있어서, 제2 셀 그룹(MCG2) 및 제3 셀 그룹(MCG3)에 제1 프로그램 전압(Vpgm1)으로부터 제1 오프셋 전압(Voff1) 및 제2 오프셋 전압(Voff2)의 합만큼 전압 레벨이 증가된 제2 프로그램 전압(Vpgm2)을 인가함으로써, 2차 프로그램을 수행할 수 있다. 이때, 제2 셀 그룹(MCG2)의 메모리 셀들의 비트 라인에 포싱 전압을 인가함으로써, 제2 셀 그룹(MCG2)의 프로그램 속도를 늦출 수 있다. 포싱 전압의 전압 레벨은, 제2 오프셋 전압(Voff2) 레벨과 동일할 수 있다. 이에 따라, 제2 셀 그룹(MCG2) 및 제3 셀 그룹(MCG3)의 메모리 셀들이 타겟 산포(TP)에 포함될 수 있다.
The first program voltage Vpgm1 is applied to the second cell group MCG2 and the third cell group MCG3 at a voltage level equal to the sum of the first offset voltage Voff1 and the second offset voltage Voff2, By applying the increased second program voltage Vpgm2, a secondary program can be executed. At this time, the programming speed of the second cell group MCG2 can be slowed down by applying the forcing voltage to the bit lines of the memory cells of the second cell group MCG2. The voltage level of the forcing voltage may be equal to the level of the second offset voltage Voff2. Accordingly, the memory cells of the second cell group MCG2 and the third cell group MCG3 may be included in the target spread TP.
도 7a 및 도 7b는 셀 그룹들의 문턱 전압 범위의 설정에 따른 메모리 셀들의 산포를 나타내는 그래프이다. 도 7a는 셀 그룹들의 문턱 전압 범위를 동일하게 설정한 경우를 나타내고, 도 7b는 본 개시의 실시예에 따라 셀 그룹들의 문턱 전압 범위를 서로 다르게 설정한 경우를 나타낸다.7A and 7B are graphs showing the distribution of memory cells according to the setting of the threshold voltage range of the cell groups. FIG. 7A shows a case where the threshold voltage ranges of the cell groups are set to be the same, and FIG. 7B shows the case where the threshold voltage ranges of the cell groups are set differently according to the embodiment of the present disclosure.
도 7a를 참조하면, 예를 들어, 메모리 셀들을 ISPP(Incremental Step Pulse Programming) 방식에 따라 프로그램할 경우, 메모리 셀들은 문턱 전압 범위가 동일한 복수개의 셀 그룹으로 구분될 수 있다. 각 프로그램 단계에 따라 전압 펄스가 일정한 레벨로 증가하므로, 각 프로그램 단계에서 타겟 프로그램 상태로 프로그램되는 셀 그룹들의 문턱 전압 범위(또는 산포 폭)또한 서로 동일할 수 있다. 이때, 제2 셀 그룹(MCG2)의 메모리 셀의 개수는 제1 셀 그룹(MCG1) 또는 제 3 셀 그룹(MCG3)의 메모리 셀의 개수보다 많다. 따라서, 제2 셀 그룹(MCG2)의 최종 산포의 문턱 전압 범위(dVthF2)는 제1 셀 그룹(MCG1) 및 제3 셀 그룹(MCG3)의 최종 산포의 문턱 전압 범위(dVthF1)보다 넓을 수 있다. 이와 같이, 메모리 셀들을 문턱 전압 범위가 동일한 복수개의 셀 그룹으로 구분하여 프로그램할 경우, 셀 그룹들의 최종 문턱 산포의 문턱 전압 범위가 서로 다를 수 있다. 셀 그룹들의 최종 문턱 산포는 타겟 프로그램 상태의 타겟 산포에 포함되어야 한다. 따라서, 셀 그룹들 중 가장 산포가 넓은 셀 그룹의 최종 산포를 상기 타겟 산포에 맞추기 위해서 프로그램 횟수가 증가될 수 있다.Referring to FIG. 7A, when memory cells are programmed according to the ISPP (Incremental Step Pulse Programming) scheme, the memory cells may be divided into a plurality of cell groups having the same threshold voltage range. Since the voltage pulse is increased to a certain level according to each program step, the threshold voltage range (or the spreading width) of the cell groups programmed in the target program state in each program step may also be equal to each other. At this time, the number of memory cells of the second cell group MCG2 is larger than the number of memory cells of the first cell group MCG1 or the third cell group MCG3. Therefore, the threshold voltage range dVthF2 of the final dispersion of the second cell group MCG2 may be wider than the threshold voltage range dVthF1 of the final dispersion of the first cell group MCG1 and the third cell group MCG3. In this way, when the memory cells are divided into a plurality of cell groups having the same threshold voltage range, the threshold voltage range of the final threshold voltage distribution of the cell groups may be different from each other. The final threshold distribution of the cell groups should be included in the target distribution of the target program state. Thus, the number of programs can be increased to match the final disparity of the cell group with the largest disparity among the cell groups to the target disparity.
그러나, 도 7b에 도시된 바와 같이, 본 개시의 실시예에 따라 메모리 셀들을 문턱 전압 범위를 달리하여 복수개의 셀 그룹으로 구분하되, 각 셀 그룹의 단위 셀 개수에 반비례하게 각 셀 그룹의 문턱 전압 범위를 설정하면, 각 셀 그룹에 포함되는 메모리 셀들의 개수의 차이가 크지 않을 수 있다. However, as shown in FIG. 7B, according to the embodiment of the present disclosure, the memory cells are divided into a plurality of cell groups with different threshold voltage ranges, and the threshold voltages of the respective cell groups in inverse proportion to the number of the unit cells of each cell group If the range is set, the difference in the number of memory cells included in each cell group may not be large.
상기 문턱 전압 범위에 따라 전압 레벨이 설정되는 프로그램 전압들에 기초하여 복수의 셀 그룹을 프로그램하면, 각 셀 그룹들의 최종 산포의 문턱 전압 범위(dVthF3)는 서로 유사할 수 있다. 도 7a의 프로그램 방법으로 프로그램할 경우와 비교하면, 각 셀 그룹의 최종 산포의 문턱 전압 범위 중 최대값(dVthF3)은 도 7a의 각 셀 그룹의 최종 산포 중 최대값(dVthF2)보다 좁을 수 있다. 따라서, 본 개시의 실시예에 따른 프로그램 방법에 따라, 셀 그룹들의 문턱 전압 범위를 서로 다르게 설정하여 프로그램하면, 프로그램 횟수가 감소되거나 또는 프로그램이 완료된 메모리 셀들의 문턱 전압 산포의 폭이 감소될 수 있다.
If a plurality of cell groups are programmed based on the program voltages whose voltage levels are set according to the threshold voltage range, the threshold voltage range (dVthF3) of the final dispersion of the respective cell groups may be similar to each other. 7A, the maximum value (dVthF3) of the threshold voltage range of the final dispersion of each cell group may be narrower than the maximum value (dVthF2) of the final dispersion of each cell group in Fig. 7A. Therefore, according to the programming method according to the embodiment of the present disclosure, by setting the threshold voltage range of the cell groups differently, programming can reduce the program number or reduce the width of the threshold voltage distribution of the memory cells in which the program is completed .
도 8(a)~(d)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다. 도 9는 도8에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다.8A to 8D are graphs showing steps of an example of the programming method according to the embodiment of the present disclosure. FIG. 9 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in FIG.
도 8(a) 및 도 9를 참조하면, 소거 상태(E)의 메모리 셀들에 1차 프로그램 전압, 다시 말해 제1 프로그램 전압(Vpgm1)을 인가한다. 이에 따라, 제1 프로그램 전압(Vpgm1)에 따른 메모리 셀들의 원-샷 산포가 형성된다. 원-샷 산포는 가우시안 형태를 가질 수 있다. 원-샷 산포의 상위 영역(원-샷 산포의 우측 영역)은 제1 프로그램 상태(P1)의 타겟 산포(TP1)에 포함될 수 있다. 다시 말해, 메모리 셀들의 원-샷 산포에서, 상위 일부의 메모리 셀들의 문턱 전압은 타겟 산포(TP1)의 문턱 전압 범위(dVT)내에 포함될 수 있다. 8A and 9, a first program voltage, that is, a first program voltage Vpgm1, is applied to the memory cells in the erase state E. Thereby, a one-shot dispersion of the memory cells according to the first program voltage Vpgm1 is formed. One-shot shots can have a Gaussian shape. The upper region of the one-shot scatter (right region of the one-shot scatter) may be included in the target scatter TP1 of the first program state P1. In other words, in one-shot shots of memory cells, the threshold voltage of the memory cells of the upper portion may be included within the threshold voltage range dVT of the target distribution TP1.
도 8(b)를 참조하면, 메모리 셀들의 문턱 전압을 기초로, 메모리 셀들을 프로그램 속도에 따른 세 개의 셀 그룹(G1, G2, G3)로 구분한다. 검증 독출을 통해 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 일 실시예에 있어서, 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 기초로 메모리 셀들을 검증 독출함으로써, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 실시예에 있어서, 제1 검증 전압(Vrf1) 과 제2 검증 전압(Vrf2)의 전압 차이는 제2 셀 그룹(G2)의 문턱 전압 범위(dVth2)와 같을 수 있다. 실시예에 있어서, 제1 검증 전압(Vrf1)은 메모리 셀들이 제1 프로그램 상태로 정상적으로 프로그램되었는지 검증하는 제1 프로그램 상태에 대한 검증 독출 전압(Vv1)과 동일할 수 있다. Referring to FIG. 8B, the memory cells are divided into three cell groups G1, G2 and G3 according to the programming speed, based on the threshold voltages of the memory cells. The memory cells can be divided into three cell groups through the verification readout. In one embodiment, the memory cells can be divided into three cell groups by verifying and reading the memory cells based on the first verify voltage Vrf1 and the second verify voltage Vrf2. In the embodiment, the voltage difference between the first verify voltage Vrf1 and the second verify voltage Vrf2 may be equal to the threshold voltage range dVth2 of the second cell group G2. In an embodiment, the first verify voltage Vrfl may be equal to the verify read voltage Vvl for the first program state to verify that the memory cells are normally programmed to the first program state.
셀 그룹들(G1, G2, G3)의 문턱 전압 범위(dVth1, dVTh2, dVth3)는 대응하는 셀 그룹의 단위 문턱 전압 범위에 기초하여 설정될 수 있다. 예컨대, 문턱 전압 범위(dVth1, dVth2, dVth3)는 각각의 셀 그룹의 단위 문턱 전압 범위에 포함되는 메모리 셀의 개수(이하, 단위 셀 개수라고 함)에 반비례하게 설정될 수 있다. 제2 셀 그룹(G2)의 문턱 전압 범위(dVth2)는 제1 셀 그룹(G1)의 문턱 전압 범위(dVth1) 또는 제2 셀 그룹(G3)의 문턱 전압 범위(dVth3)보다 좁을 수 있다. The threshold voltage range (dVth1, dVTh2, dVth3) of the cell groups G1, G2, G3 can be set based on the unit threshold voltage range of the corresponding cell group. For example, the threshold voltage range (dVth1, dVth2, dVth3) may be set in inverse proportion to the number of memory cells included in the unit threshold voltage range of each cell group (hereinafter referred to as the number of unit cells). The threshold voltage range dVth2 of the second cell group G2 may be narrower than the threshold voltage range dVthl of the first cell group G1 or the threshold voltage range dVth3 of the second cell group G3.
제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 메모리 셀들에 복수의 2차 프로그램 전압 중 제2 프로그램 전압(Vpgm2)이 인가됨으로써, 메모리 셀들의 산포가 도 8(c)에 도시된 바와 같이 변경된다. 제2 프로그램 전압(Vpgm2)의 전압 레벨은 제1 프로그램 전압(Vpgm1)의 전압 레벨에, 제1 오프셋 전압(Voff1)이 더해진 값이다. 제1 오프셋 전압(Voff1)은 제2 셀 그룹(G2)의 문턱 전압 범위(dVth2)와 같을 수 있다. The second program voltage Vpgm2 of the plurality of secondary program voltages is applied to the memory cells of the second cell group G2 and the third cell group G3, . The voltage level of the second program voltage Vpgm2 is a value obtained by adding the first offset voltage Voff1 to the voltage level of the first program voltage Vpgm1. The first offset voltage Voff1 may be equal to the threshold voltage range dVth2 of the second cell group G2.
이미 타겟 산포(TP1)에 포함된 제1 셀 그룹(G1)을 제외한, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 메모리 셀들에 제2 프로그램 전압(Vpgm2)이 인가됨으로써, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 문턱 전압 산포가 우측으로 이동하며, 제2 셀 그룹(G2)은 타겟 산포(TP1)에 포함될 수 있다. The second program voltage Vpgm2 is applied to the memory cells of the second cell group G2 and the third cell group G3 except for the first cell group G1 already included in the target distribution TP1, The threshold voltage dispersion of the two cell group G2 and the third cell group G3 moves to the right and the second cell group G2 can be included in the target dispersion TP1.
이후, 도 8(d)에 도시된 바와 같이, 제3 셀 그룹(G3)의 메모리 셀들에 2차 프로그램 전압 중 제3 프로그램 전압(Vpgm3)이 인가된다. 제3 프로그램 전압(Vpgm3)의 전압 레벨은 제2 프로그램 전압(Vpgm2)의 전압 레벨에, 제2 오프셋 전압(Voff2)이 더해진 값이다. 제2 오프셋 전압(Voff1)은 제3 셀 그룹(G3)의 문턱 전압 범위(dVth3)와 같을 수 있다. 따라서, 제3 셀 그룹(G3)의 문턱 전압 산포가 우측으로 이동하며, 제3 셀 그룹(G3)은 타겟 산포(TP1)에 포함될 수 있다. 이로써, 메모리 셀들이 제1 프로그램 상태(P1)로 프로그램될 수 있다. Thereafter, as shown in Fig. 8 (d), the third program voltage Vpgm3 of the secondary program voltage is applied to the memory cells of the third cell group G3. The voltage level of the third program voltage Vpgm3 is a value obtained by adding the second offset voltage Voff2 to the voltage level of the second program voltage Vpgm2. The second offset voltage Voff1 may be equal to the threshold voltage range dVth3 of the third cell group G3. Therefore, the threshold voltage distribution of the third cell group G3 moves to the right, and the third cell group G3 can be included in the target cell population TP1. Thereby, the memory cells can be programmed in the first program state P1.
이상, 도 8 및 도 9를 참조하여, 메모리 셀들을 제1 프로그램 상태(P1)로 프로그램하는 경우를 단계적으로 설명하였다. 상술한 방법은, 메모리 셀들을, 다른 프로그램 상태로 프로그램하는 경우에도 적용될 수 있다.
8 and 9, the case of programming the memory cells into the first program state P1 has been described step by step. The above-described method can also be applied to the case where the memory cells are programmed in a different program state.
도 10은 본 개시의 실시예에 따른 프로그램 방법을 보다 상세하게 설명한 도면이다. 도 10은 도 8 및 도 9에 따른 프로그램 방법을 보다 상세하게 설명한 것으로서, 도 8및 도 9를 참조하여 설명한 내용은 도 10의 실시예에 적용될 수 있다. 10 is a diagram illustrating in more detail a programming method according to an embodiment of the present disclosure. FIG. 10 is a more detailed description of the programming method according to FIGS. 8 and 9, and the description with reference to FIGS. 8 and 9 can be applied to the embodiment of FIG.
도 10을 참조하면, 메모리 셀들이 연결된 워드 라인에 제1 프로그램 전압을 인가함으로써 제1 프로그램을 수행할 수 있다(S210). 메모리 셀들의 일부의 산포, 다시 말해, 메모리 셀들의 원-샷 산포의 상위 영역의 산포는 타겟 프로그램 상태의 타겟 산포에 포함될 수 있다. Referring to FIG. 10, a first program may be executed by applying a first program voltage to a word line to which memory cells are connected (S210). The distribution of a portion of the memory cells, i. E., The distribution of the upper region of the one-shot distribution of memory cells, may be included in the target distribution of the target programmed state.
메모리 셀들의 문턱 전압을 기초로 메모리 셀들을 프로그램 속도에에 따른 세 개의 셀 그룹으로 구분한다(S220). 미리 설정된 검증 전압을 기초로 제1 프로그램된 메모리 셀들을 검증 독출하여, 메모리 셀들을 문턱 전압에 따라 세 개의 셀 그룹으로 구분할 수 있다. 이때, 상대적으로 문턱 전압이 높은 셀 그룹, 예컨대 제1 셀 그룹은, 프로그램 속도가 빠른 패스트 셀을 포함하고, 상대적으로 문턱 전압이 낮은 셀 그룹, 예컨대 제 3 셀 그룹은 프로그램 속도가 느린 슬로우 셀을 포함한다. 따라서, 메모리 셀들은 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 수 있다. 이때, 세 개의 셀 그룹 중 메모리 셀들의 산포의 중간 영역에 해당하는 셀 그룹, 예컨대 제2 셀 그룹의 문턱 전압 범위는 다른 셀 그룹들, 예컨대 제1 셀 그룹 및 제2 셀 그룹의 문턱 전압 범위보다 좁게 설정될 수 있다. Based on the threshold voltages of the memory cells, the memory cells are divided into three cell groups according to the program speed (S220). The first programmed memory cells may be verified and read based on a preset verification voltage to divide the memory cells into three cell groups according to the threshold voltage. At this time, a cell group having a relatively high threshold voltage, for example, a first cell group includes a fast cell having a high program rate, and a cell group having a relatively low threshold voltage, such as a third cell group, . Thus, the memory cells can be divided into three cell groups according to the program speed. At this time, the threshold voltage range of the cell group corresponding to the middle region of the scattering of the memory cells among the three cell groups, for example, the second cell group, is higher than the threshold voltage range of the other cell groups such as the first cell group and the second cell group Can be set narrowly.
메모리 셀들이 세 개의 셀 그룹으로 구분된 후, 제2 프로그램 단계(S230) 및 제3 프로그램 단계(S240)가 수행될 수 있다. After the memory cells are divided into three cell groups, a second program step S230 and a third program step S240 may be performed.
우선, 제1 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압을 인가한다(S231). 제1 셀 그룹의 산포는 타겟 프로그램 상태의 타겟 산포에 포함될 수 있다. 따라서, 제1 셀 그룹에 대한 프로그램은 더이상 진행되지 않는다. 제1 셀 그룹에 대하여 프로그램이 수행되는 것을 방지하기 위하여 제1 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압이 인가될 수 있다.First, an inhigh voltage is applied to the bit line of the memory cells of the first cell group (S231). The distribution of the first cell group may be included in the target distribution of the target program state. Thus, the program for the first cell group no longer proceeds. An inhigh voltage may be applied to the bit line of the memory cells of the first cell group to prevent the program from being performed for the first cell group.
이후, 워드 라인에 제2 프로그램 전압을 인가할 수 있다(S232). 제2 프로그램 전압은 제1 프로그램 전압으로부터 제1 오프셋 전압만큼 전압 레벨이 증가된 전압이며, 제1 오프셋 전압은 제2 셀 그룹의 문턱 전압 범위에 기초하여 설정될 수 있다. 제2 프로그램(S230)에 따라, 제2 셀 그룹의 산포는 타겟 프로그램 상태의 타겟 산포에 포함될 수 있다. Thereafter, the second program voltage may be applied to the word line (S232). The second program voltage is a voltage whose voltage level is increased from the first program voltage by the first offset voltage, and the first offset voltage may be set based on the threshold voltage range of the second cell group. According to the second program S230, the distribution of the second cell group may be included in the target distribution of the target program state.
제1 셀 그룹 및 제2 셀 그룹의 산포가 타겟 산포에 포함되므로, 이후 제3 셀 그룹에 대하여 제3 프로그램(S240)이 수행될 수 있다.Since the scattering of the first cell group and the second cell group is included in the target scatter, a third program (S240) may then be performed for the third cell group.
제1 셀 그룹 및 제2 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압을 인가하고(S241), 워드 라인에, 제3 프로그램 전압을 인가한다(S242). 제3 프로그램 전압은 제2 프로그램 전압으로부터 제2 오프셋 전압만큼 전압 레벨이 증가된 전압이며, 제2 오프셋 전압은 제3 셀 그룹의 문턱 전압 범위에 기초하여 설정될 수 있다. 제3 프로그램(S240)에 따라, 제3 셀 그룹의 산포는 타겟 산포에 포함될 수 있다. 이로써, 하나의 프로그램 상태에 대한 프로그램이 완료될 수 있다.An inhigh voltage is applied to the bit lines of the memory cells of the first cell group and the second cell group (S241), and the third program voltage is applied to the word line (S242). The third program voltage may be a voltage whose voltage level is increased from the second program voltage by a second offset voltage and the second offset voltage may be set based on a threshold voltage range of the third cell group. According to the third program (S240), the distribution of the third cell group may be included in the target distribution. Thereby, the program for one program state can be completed.
한편, 도시되지는 않았으나, 일 실시예에 있어서, 상기 S240 단계 이후, 메모리 셀들이 정상적으로 타겟 프로그램 상태로 프로그램되었는지를 판단하는 검증 독출 단계가 수행될 수 있다. 임계값을 넘는 수의 메모리 셀들이 타겟 프로그램 상태의 타겟 산포를 벗어나는 경우, 상기 메모리 셀들에 대하여 추가적인 프로그램이 수행될 수도 있다. 또는 상기 메모리 셀들이 포함되는 페이지는 페일(fail) 처리될 수 있다.
Meanwhile, although not shown, in one embodiment, after step S240, a verify reading step may be performed to determine whether the memory cells are normally programmed to the target program state. If the threshold number of memory cells deviate from the target spread of the target program state, additional programming may be performed on the memory cells. Or a page including the memory cells may be failed.
도 11(a)~(c)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다. 도 12는 도 11에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다. 11 (a) to 11 (c) are graphs showing steps of an example of the programming method according to the embodiment of the present disclosure. 12 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in FIG.
도 11(a) 및 도 12를 참조하면, 소거 상태(E)의 메모리 셀들에 1차 프로그램 전압, 즉 제1 프로그램 전압(Vpgm1)인가되어, 메모리 셀들에 대하여 제1 프로그램(PGM1)이 수행될 수 있다. 도 11(b)를 참조하면, 메모리 셀들의 문턱 전압을 기초로, 메모리 셀들을 프로그램 속도에 따른 세 개의 셀 그룹(G1, G2, G3)로 구분한다. 도 11(a) 및 도 11(b)의 단계는 도 8(a),(b)의 단계와 동일한 바, 자세한 설명은 생략하기로 한다.11A and 12, a first program voltage, that is, a first program voltage Vpgm1 is applied to the memory cells in the erase state E, and the first program PGM1 is performed on the memory cells . Referring to FIG. 11B, the memory cells are divided into three cell groups G1, G2 and G3 according to the programming speed, based on the threshold voltages of the memory cells. The steps of FIGS. 11A and 11B are the same as those of FIGS. 8A and 8B, and a detailed description thereof will be omitted.
제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 메모리 셀들에 제2 프로그램 전압(Vpgm2)이 인가됨으로써, 제2 프로그램(PGM2)이 수행될 수 있다. 메모리 셀들의 산포가 도 11(c)에 도시된 바와 같이 변경된다. 제2 프로그램 전압(Vpgm2)의 전압 레벨은 제1 프로그램 전압(Vpgm1)의 전압 레벨에, 오프셋 전압(Voff)이 더해진 값이다. 오프셋 전압(Voff)은 제2 셀 그룹(G2)의 문턱 전압 범위(dVth2)와 제3 셀 그룹(G3)의 문턱 전압 범위(dVth3)와 같을 수 있다. 이미 타겟 산포(TP1)에 포함된 제1 셀 그룹(G1)을 제외한, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 메모리 셀들에 제2 프로그램 전압(Vpgm2)이 인가됨으로써, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 문턱 전압 산포가 우측으로 이동할 수 있다. 한편, 제2 셀 그룹(G3)의 메모리 셀들에 제2 프로그램 전압(Vpgm2)이 인가되면, 제2 셀 그룹(G3)는 과프로그램(over program)될 수 있다. 제2 셀 그룹(G3)의 메모리 셀들의 산포의 문턱 전압은 타겟 산포(TP1)의 문턱 전압보다 높아질 수 있다. 이를 방지하기 위하여, 제2 셀 그룹(G2)의 메모리 셀들의 비트 라인에 포싱 전압(VBLF)를 인가함으로써, 제2 셀 그룹(G2)의 프로그램 속도를 늦출 수 있다. 예컨대, 포싱 전압(VBLF)의 레벨은, 인히빗 전압의 레벨보다 낮을 수 있다. 예컨대, 포싱 전압(VBLF)의 레벨은, 제3 셀 그룹(G3)의 문턱 전압 범위(dVth3)에 대응할 수 있다. 이에 따라, 제2 프로그램 전압(Vpgm2) 및 포싱 전압(VBLF)을 기초로, 2차 프로그램(PGM2) 수행함에 따라, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)이 타겟 산포(TP1)에 포함될 수 있다. 이로써, 메모리 셀들이 제1 프로그램 상태(P1)로 프로그램될 수 있다.
The second program voltage Vpgm2 may be applied to the memory cells of the second cell group G2 and the third cell group G3 so that the second program PGM2 may be performed. The dispersion of the memory cells is changed as shown in Fig. 11 (c). The voltage level of the second program voltage Vpgm2 is a value obtained by adding the offset voltage Voff to the voltage level of the first program voltage Vpgm1. The offset voltage Voff may be equal to the threshold voltage range dVth2 of the second cell group G2 and the threshold voltage range dVth3 of the third cell group G3. The second program voltage Vpgm2 is applied to the memory cells of the second cell group G2 and the third cell group G3 except for the first cell group G1 already included in the target distribution TP1, The threshold voltage distribution of the two-cell group G2 and the third cell group G3 can move to the right. On the other hand, if the second program voltage Vpgm2 is applied to the memory cells of the second cell group G3, the second cell group G3 may be over programmed. The threshold voltage of the distribution of the memory cells of the second cell group G3 may be higher than the threshold voltage of the target distribution TP1. In order to prevent this, the programming speed of the second cell group G2 can be slowed down by applying the forcing voltage VBLF to the bit lines of the memory cells of the second cell group G2. For example, the level of the forcing voltage VBLF may be lower than the level of the inhigh voltage. For example, the level of the forcing voltage VBLF may correspond to the threshold voltage range dVth3 of the third cell group G3. Accordingly, the second cell group G2 and the third cell group G3 are divided into the target cell group TP1 (TP1) and the second cell group G2 (cell group G2) by performing the secondary program PGM2 on the basis of the second program voltage Vpgm2 and the forcing voltage VBLF, ). Thereby, the memory cells can be programmed in the first program state P1.
도 13은 본 개시의 실시예에 따른 프로그램 방법을 보다 상세하게 설명한 도면이다. 도 13은 도 11 및 도 12에 따른 프로그램 방법을 보다 상세하게 설명한 것으로서, 도 11 및 도 12를 참조하여 설명한 내용은 도 13의 실시예에 적용될 수 있다. 13 is a diagram for explaining the programming method according to the embodiment of the present disclosure in more detail. FIG. 13 illustrates the programming method according to FIG. 11 and FIG. 12 in more detail, and the description with reference to FIG. 11 and FIG. 12 can be applied to the embodiment of FIG.
도 13을 참조하면, 메모리 셀들이 연결된 워드 라인에 제1 프로그램 전압을 인가하여, 메모리 셀들에 대하여 제1 프로그램을 수행하고(S310), 메모리 셀들의 문턱 전압을 기초로 메모리 셀들을 프로그램 속도에에 따른 세 개의 셀 그룹으로 구분한다(S320). S310 및 S320 단계는 도 10의 S210 및 S220 단계와 동일한 바, 상세한 설명은 생략하기로 한다. Referring to FIG. 13, a first program voltage is applied to a word line to which memory cells are connected, a first program is performed on the memory cells (S310), and the memory cells are programmed (S320). ≪ / RTI > Steps S310 and S320 are the same as steps S210 and S220 of FIG. 10, and a detailed description thereof will be omitted.
메모리 셀들을 세 개의 셀 그룹으로 구분한 후, 제2 프로그램(S330)을 수행할 수 있다. After dividing the memory cells into three cell groups, a second program (S330) may be performed.
제1 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압을 인가한다(S331). 제1 셀 그룹의 산포는 타겟 프로그램 상태의 타겟 산포에 포함될 수 있다. 따라서, 제1 셀 그룹에 대한 프로그램은 더이상 진행되지 않는다. 제1 셀 그룹에 대하여 재프로그램이 수행되는 것을 방지하기 위하여 제1 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압이 인가될 수 있다.Inhibit voltage is applied to the bit line of the memory cells of the first cell group (S331). The distribution of the first cell group may be included in the target distribution of the target program state. Thus, the program for the first cell group no longer proceeds. An inhigh voltage may be applied to the bit line of the memory cells of the first cell group to prevent the reprogramming from being performed for the first cell group.
제2 셀 그룹의 메모리 셀들의 비트 라인에 포싱 전압을 인가한다(S332). A forcing voltage is applied to the bit lines of the memory cells of the second cell group (S332).
제2 셀 그룹 및 제3 셀 그룹의 산포는 문턱 전압 상에서의 산포의 위치 및 범위가 서로 다르다. 이러한 제2 셀 그룹 및 제3 셀 그룹을 동시에 타겟 상태로 프로그램하기 위하여, 상대적으로 프로그램 속도가 빠른 제2 셀 그룹의 메모리 셀들의 비트 라인에 포싱 전압을 인가하여, 프로그램 속도를 늦춘다.The dispersion of the second cell group and the third cell group is different in the position and range of scattering on the threshold voltage. In order to simultaneously program the second cell group and the third cell group in the target state, a forcing voltage is applied to the bit line of the memory cells of the second cell group having a relatively high program speed to slow the program speed.
이후, 워드 라인에, 제2 프로그램 전압을 인가한다(S343). 제2 프로그램 전압은 1차 프로그램 전압, 다시 말해 제1 프로그램 전압으로부터 오프셋 전압만큼 전압 레벨이 증가된 전압이며, 오프셋 전압은 제2 셀 그룹의 문턱 전압 범위 및 제3 셀 그룹의 문턱 전압 범위에 기초하여 설정될 수 있다. 예컨대, 오프셋 전압은 제2 셀 그룹의 문턱 전압 범위 및 제3 셀 그룹의 문턱 전압 범위의 합과 같다. Then, the second program voltage is applied to the word line (S343). The second program voltage is a voltage at which the voltage level is increased by the offset voltage from the first program voltage, that is, from the first program voltage, and the offset voltage is based on the threshold voltage range of the second cell group and the threshold voltage range of the third cell group . For example, the offset voltage is equal to the sum of the threshold voltage range of the second cell group and the threshold voltage range of the third cell group.
일 실시예에서, 인히빗 전압 인가(S331) 및 포싱 전압 인가(S332)는 동시에 수행될 수 있다. 더 나아가, 인히빗 전압 인가(S331), 포싱 전압 인가(S332) 및 제2 프로그램 전압 인가(S343)는 동시에 수행될 수 있다.
In one embodiment, the application of the inhavit voltage (S331) and the application of the forcing voltage (S332) can be performed simultaneously. Furthermore, the inhighbing voltage application (S331), the forcing voltage application (S332), and the second program voltage application (S343) can be performed simultaneously.
도 14a 및 도 14b는 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 설명하는 도면이다. 도 14a는 메모리 셀들의 원-샷 산포를 기초로 메모리 셀들을 프로그램 속도에 따른 다섯 개의 셀 그룹으로 구분하는 방법을 나타내고, 도 14b는 복수의 셀 그룹에 인가되는 프로그램 전압을 나타낸다. 14A and 14B are diagrams for explaining a method of operating the memory device according to the embodiment of the present disclosure. FIG. 14A shows a method of dividing memory cells into five cell groups according to a program speed based on one-shot distribution of memory cells, and FIG. 14B shows a program voltage applied to a plurality of cell groups.
도 14a를 참조하면, 메모리 셀들의 원-샷 산포를 기초로, 메모리 셀들을 프로그램 속도에 따른 다섯 개의 셀 그룹(MCG1 ~ MCG5)으로 구분할 수 있다. 다섯 개의 셀 그룹(MCG1~MCG5)의 문턱 전압 범위는 서로 다를 수 있다. Referring to FIG. 14A, based on the one-shot distribution of memory cells, memory cells can be divided into five cell groups MCG1 to MCG5 according to the program speed. The threshold voltage ranges of the five cell groups (MCG1 to MCG5) may be different from each other.
예컨대, 문턱 전압 범위(dVth1 ~ dVth5)는 각각의 셀 그룹의 단위 문턱 전압 범위에 포함되는 메모리 셀의 개수(이하, 단위 셀 개수라고 함)에 반비례하게 설정될 수 있다. 도시된 원-샷 산포에 따르면, 제3 셀 그룹(MCG3)의 단위 셀 개수는 상대적으로 다른 셀 그룹들의 단위 셀 개수보다 많을 수 있다. 따라서, 제3 셀 그룹(MCG3)의 문턱 전압 범위(dVth3)가 다른 셀 그룹들의 문턱 전압 범위보다 좁게 설정될 수 있다. 반대로, 원-샷 산포의 엣지 영역, 예컨대, 제1 셀 그룹(MCG1) 또는 제5 셀 그룹(MCG5)의 단위 셀 개수는 상대적으로 다른 셀 그룹들의 단위 셀 개수보다 적다. 따라서, 1 셀 그룹(MCG1)의 문턱 전압 범위(dVth1) 또는 제5 셀 그룹(MCG5)의 문턱 전압 범위(dVth5)는 다른 셀 그룹들의 문턱 전압 범위보다 넓게 설정될 수 있다. For example, the threshold voltage range (dVth1 to dVth5) may be set in inverse proportion to the number of memory cells (hereinafter, referred to as unit cell number) included in the unit threshold voltage range of each cell group. According to the illustrated one-shot shot, the number of unit cells of the third cell group MCG3 may be greater than the number of unit cells of relatively different cell groups. Therefore, the threshold voltage range dVth3 of the third cell group MCG3 can be set to be narrower than the threshold voltage range of other cell groups. On the contrary, the number of unit cells of the edge area of the one-shot scattering, for example, the first cell group MCG1 or the fifth cell group MCG5, is smaller than the number of unit cells of relatively different cell groups. Therefore, the threshold voltage range dVthl of the one cell group MCG1 or the threshold voltage range dVth5 of the fifth cell group MCG5 can be set to be wider than the threshold voltage range of the other cell groups.
이와 같이, 문턱 전압 범위가 서로 다르게 설정된 다섯 개의 셀 그룹(MCG1 MCG5)으로 구분된 메모리 셀들은, 복수의 셀 그룹(MCG1~MCG5)의 문턱 전압 차이 또는 문턱 전압 범위(dVth1~dVth5)에 기초하여 설정되는 복수의 2차 프로그램 전압들(Vpgm2~Vpgm5)을 기초로, 타겟 프로그램 상태(Pn)로 재프로그램될 수 있다. As described above, the memory cells divided into the five cell groups MCG1 MCG5 whose threshold voltage ranges are set to be different from each other are selected based on the threshold voltage difference or the threshold voltage range (dVth1 to dVth5) of the plurality of cell groups MCG1 to MCG5 And can be reprogrammed to the target program state Pn based on a plurality of secondary program voltages Vpgm2 to Vpgm5 to be set.
도 14b를 참조하면, 제1 프로그램 전압(Vpgm1)은 메모리 셀들의 적어도 일부가 타겟 상태(Pn)의 타겟 산포(TP)에 포함되도록 미리 설정된 전압일 수 있다. 실시예에 있어서, 제1 프로그램 전압(Vpgm1)은 원-샷 산포의 최상위 셀 그룹, 예컨데 제1 셀 그룹(MCG1)의 메모리 셀들이 타겟 산포(TP)에 포함되도록 미리 설정된 전압일 수 있다.14B, the first program voltage Vpgm1 may be a predetermined voltage such that at least some of the memory cells are included in the target distribution TP of the target state Pn. In an embodiment, the first program voltage Vpgm1 may be a preset voltage such that the memory cells of the top cell group, e.g., the first cell group MCG1, of the one-shot scatter are included in the target spread TP.
제2 내지 제5 프로그램 전압(Vpgm2 ~ Vpgm5)은 제1 프로그램 전압(Vpgm1)으로부터 차례로 전압 레벨이 증가된 전압일 수 있다. 프로그램 전압들(Vpgm1 ~ Vpgm5) 간의 오프셋 전압들(Voff1 ~ Voff4) 다시 말해, 전압 증가량은 제2 내지 제5 셀 그룹(MCG2 ~ MCG5)의 문턱 전압 차이 또는 문턱 전압 범위(dVth2 ~ dVth5)에 기초하여 설정될 수 있다. 실시예에 있어서, 오프셋 전압들(Voff1 ~ Voff4)은 문턱 전압 범위(dVth2 ~ dVth5)에 비례할 수 있다. 실시예에 있어서 오프셋 전압들(Voff1 ~ Voff4)은 각각 문턱 전압 범위(dVth2 ~ dVth5)와 같을 수 있다. 이에 따라, 제2 오프셋 전압(Voff2)이 상대적으로 작고, 제4 오프셋 전압(Voff4)이 상대적으로 클 수 있다.
The second to fifth program voltages Vpgm2 to Vpgm5 may be voltages whose voltage levels are sequentially increased from the first program voltage Vpgm1. Offset voltages Voff1 to Voff4 between the program voltages Vpgm1 to Vpgm5 In other words, the voltage increase amount is based on the threshold voltage difference or the threshold voltage range (dVth2 to dVth5) of the second to fifth cell groups MCG2 to MCG5 . In the embodiment, the offset voltages Voff1 to Voff4 may be proportional to the threshold voltage range (dVth2 to dVth5). In the embodiment, the offset voltages Voff1 to Voff4 may be equal to the threshold voltage range (dVth2 to dVth5), respectively. Accordingly, the second offset voltage Voff2 may be relatively small, and the fourth offset voltage Voff4 may be relatively large.
도 15(a)~(f)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다. 도 16은 도 15에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다. 15 (a) to (f) are graphs showing steps of an example of the program method according to the embodiment of the present disclosure. 16 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in FIG.
도 15(a) 및 도 16을 참조하면, 제1 프로그램(PGM1)을 수행한다. 소거 상태(E)의 메모리 셀들에 제1 프로그램 전압(Vpgm1)이 인가할 수 있다. 이에 따라, 제1 프로그램 전압(Vpgm1)에 따른 메모리 셀들의 원-샷 산포가 형성된다. 원-샷 산포의 상위 영역(원-샷 산포의 우측 영역)은 제1 프로그램 상태(P1)의 타겟 산포(TP1)에 포함될 수 있다.Referring to Figs. 15A and 16, a first program PGM1 is executed. The first program voltage Vpgm1 may be applied to the memory cells in the erase state E. Thereby, a one-shot dispersion of the memory cells according to the first program voltage Vpgm1 is formed. The upper region of the one-shot scatter (right region of the one-shot scatter) may be included in the target scatter TP1 of the first program state P1.
도 15(b)를 참조하면, 메모리 셀들의 문턱 전압을 기초로, 메모리 셀들을 프로그램 속도에 따른 다섯 개의 셀 그룹(G1~ G5)으로 구분한다. 일 실시예에서, 적어도 네 개의 검증 전압을 기초로, 순차적으로 메모리 셀들을 독출함으로써, 메모리 셀들을 다섯 개의 셀 그룹(G1~ G5)으로 구분할 수 있다. 다른 실시예에 있어서, 도 16에 도시된 바와 같이, 적어도 2회의 검증 단계(VF1, VF2)를 통해 메모리 메모리 셀들을 다섯 개의 셀 그룹(G1 ~ G5)으로 구분할 수 있다. Referring to FIG. 15B, the memory cells are divided into five cell groups (G1 to G5) according to the programming speed, based on the threshold voltages of the memory cells. In one embodiment, the memory cells can be divided into five cell groups (G1 to G5) by sequentially reading the memory cells based on at least four verify voltages. In another embodiment, as shown in FIG. 16, memory memory cells can be divided into five cell groups (G1 to G5) through at least two verification steps (VF1, VF2).
본 실시예에서는, 도 16에 도시된 바와 같이, 적어도 2회의 검증 단계(VF1, VF2)를 통해 메모리 메모리 셀들을 다섯 개의 셀 그룹(G1 ~ G5)으로 구분하는 것을 가정하여 설명하기로 한다. 제1 검증 단계(VF1)에서, 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 기초로 메모리 셀들을 검증 독출함으로써, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 메모리 셀들은, 제1 셀 그룹(G1), 제2 셀 그룹(G2) 및 나머지 셀 그룹(G3, G4, G5)으로 구분될 수 있다. In this embodiment, it is assumed that memory memory cells are divided into five cell groups (G1 to G5) through at least two verification steps (VF1 and VF2) as shown in FIG. In the first verification step VF1, the memory cells can be divided into three cell groups by verifying and reading the memory cells based on the first verification voltage Vrf1 and the second verification voltage Vrf2. The memory cells may be divided into a first cell group G1, a second cell group G2 and a remaining cell group G3, G4 and G5.
이후, 제2 프로그램(VPGM2)을 수행한다. 타겟 산포(TP1)에 포함된 제1 셀 그룹(G1)을 제외한 제2 셀 그룹(G2) 및 나머지 셀 그룹들(G3~ G5)의 메모리 셀들에 제2 프로그램 전압(Vpgm2)이 인가됨으로써, 메모리 셀들의 산포가 도 15(C)에 도시된 바와 같이, 변경된다. 제2 프로그램 전압(Vpgm2)의 전압 레벨은 제1 프로그램 전압(Vpgm1)의 전압 레벨에 제1 오프셋 전압(Voff1)이 더해진 값이다. 제1 오프셋 전압(Voff1)은 제2 셀 그룹(G2)의 문턱 전압 범위(dVth2)와 같을 수 있다. 제2 내지 제5 셀 그룹들(G2~ G5)의 문턱 전압 산포가 우측으로 이동하며, 제2 셀 그룹(G2)은 타겟 산포(TP1)에 포함될 수 있다.Thereafter, the second program VPGM2 is executed. The second program voltage Vpgm2 is applied to the memory cells of the second cell group G2 and the remaining cell groups G3 to G5 excluding the first cell group G1 included in the target distribution TP1, The dispersion of the cells is changed as shown in Fig. 15 (C). The voltage level of the second program voltage Vpgm2 is a value obtained by adding the first offset voltage Voff1 to the voltage level of the first program voltage Vpgm1. The first offset voltage Voff1 may be equal to the threshold voltage range dVth2 of the second cell group G2. The threshold voltage distribution of the second to fifth cell groups G2 to G5 moves to the right and the second cell group G2 can be included in the target dispersion TP1.
다음으로, 제3 프로그램(VPGM3)을 수행한다. 나머지 셀 그룹, 예컨대 제3 내지 제5 셀 그룹(G3~G5)의 메모리 셀들에 제3 프로그램 전압(Vpgm3)이 인가됨으로써, 메모리 셀들의 산포가 도 15(d)에 도시된 바와 같이 변경된다. 제3 셀 그룹(G3)은 타겟 산포(TP1)에 포함될 수 있다. 제3 프로그램 전압(Vpgm3)의 전압 레벨은 2 차 프로그램 전압(Vpgm2)의 전압 레벨에, 제2 오프셋 전압(Voff2)이 더해진 값이다. 제2 오프셋 전압(Voff2)은 제3 셀 그룹(G3)의 문턱 전압 범위(dVth3)와 같을 수 있다. 제2 오프셋 전압(Voff2)은 제1 오프셋 전압(Voff1)보다 작을 수 있다. 이에 따라, 제3 프로그램(VPGM3)에 따른 메모리 셀들의 산포의 이동 폭은 제2 프로그램 (VPGM2)에 따른 메모리 셀들의 산포의 이동 폭보다 작을 수 있다. Next, the third program (VPGM3) is executed. The third program voltage Vpgm3 is applied to the memory cells of the remaining cell groups, for example, the third to fifth cell groups G3 to G5, so that the dispersion of the memory cells is changed as shown in Fig. 15 (d). The third cell group G3 may be included in the target spread TP1. The voltage level of the third program voltage Vpgm3 is a value obtained by adding the second offset voltage Voff2 to the voltage level of the secondary program voltage Vpgm2. The second offset voltage Voff2 may be equal to the threshold voltage range dVth3 of the third cell group G3. The second offset voltage Voff2 may be smaller than the first offset voltage Voff1. Accordingly, the shift width of the distribution of the memory cells according to the third program VPGM3 may be smaller than the shift width of the distribution of the memory cells according to the second program VPGM2.
다음으로, 2차 검증(VF2)을 수행한다. 제1 검증 전압(Vrf1) 및 제2 검증 전압(Vrf2)을 기초로 메모리 셀들을 검증 독출함으로써, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 메모리 셀들은, 타겟 산포(TP1)에 포함되는 제1 내지 제3 셀 그룹(G1~G3), 제4 셀 그룹(G4) 및 제5 셀 그룹(G5)으로 구분될 수 있다. 일 실시예에 있어서, 제1 셀 그룹(G1) 및 제2 셀 그룹(G2)을 제외한, 상기 나머지 셀 그룹(G3~G5)의 메모리 셀들을 검증 독출함으로써, 상기 나머지 셀 그룹(G3~G5)의 메모리 셀들을 제3 셀 그룹(G3), 제4 셀 그룹(G4) 및 제5 셀 그룹(G5)로 구분할 수 있다. 이러한 경우 검증 독출에 따른 소비 전력을 줄일 수 있다. Next, the secondary verification (VF2) is performed. The memory cells can be divided into three cell groups by verifying and reading the memory cells based on the first verify voltage Vrf1 and the second verify voltage Vrf2. The memory cells may be divided into first to third cell groups G1 to G3, a fourth cell group G4 and a fifth cell group G5 included in the target spread TP1. In one embodiment, the memory cells of the remaining cell groups (G3 to G5) except for the first cell group (G1) and the second cell group (G2) are verified and read, May be divided into a third cell group G3, a fourth cell group G4, and a fifth cell group G5. In this case, power consumption due to verification reading can be reduced.
이후, 제4 프로그램(PGM4)을 수행한다. 타겟 산포(TP1)에포함된 제1 내지 3 셀 그룹(G1 ~ G3)을 제외한 제4 셀 그룹(G4) 및 제5 셀 그룹(G5)의 메모리 셀들에 제4 프로그램 전압(Vpgm4)이 인가됨으로써, 메모리 셀들의 산포가 도 15(e)에 도시된 바와 같이, 변경된다. 제4 프로그램 전압(Vpgm4)의 전압 레벨은 제3 프로그램 전압(Vpgm3)의 전압 레벨에 제3 오프셋 전압(Voff3)이 더해진 값이다. 제3 오프셋 전압(Voff3)은 제4 셀 그룹(G4)의 문턱 전압 범위(dVth4)와 같을 수 있다. 제4 셀 그룹(G4) 및 제5 셀 그룹(G5)의 문턱 전압 산포가 우측으로 이동하며, 제4 셀 그룹(G4)은 타겟 산포(TP1)에 포함될 수 있다.Thereafter, the fourth program PGM4 is performed. The fourth program voltage Vpgm4 is applied to the memory cells of the fourth cell group G4 and the fifth cell group G5 excluding the first to third cell groups G1 to G3 included in the target distribution TP1 , The distribution of the memory cells is changed, as shown in Fig. 15 (e). The voltage level of the fourth program voltage Vpgm4 is a value obtained by adding the third offset voltage Voff3 to the voltage level of the third program voltage Vpgm3. The third offset voltage Voff3 may be equal to the threshold voltage range dVth4 of the fourth cell group G4. The threshold voltage distributions of the fourth cell group G4 and the fifth cell group G5 move to the right and the fourth cell group G4 can be included in the target cell population TP1.
다음으로, 제5 프로그램(VPGM5)을 수행한다. 타겟 산포(TP1)에 포함되지 않은 나머지 셀 그룹, 다시 말해 제5 셀 그룹(G5)의 메모리 셀들에 제5 프로그램 전압(Vpgm5)이 인가됨으로써, 메모리 셀들의 산포가 도 15(f)에 도시된 바와 같이 변경된다. 제5 프로그램 전압(Vpgm5)의 전압 레벨은 제4 프로그램 전압(Vpgm4)의 전압 레벨에, 제4 오프셋 전압(Voff4)이 더해진 값이다. 제4 오프셋 전압(Voff4)은 제5 셀 그룹(G5)의 문턱 전압 범위(dVth5)와 같을 수 있다. 제4 오프셋 전압(Voff4)은 다른 오프셋들보다 상대적으로 클 수 있다. 따라서, 5차 프로그램(VPGM5)에 따른 메모리 셀들의 산포의 이동폭이 전술한 2차 내지 4차 프로그램(VPGM2~VPMG4) 수행 단계보다 상대적으로 클 수 있다. 이에 따라, 제5 셀 그룹(G5)은 타겟 산포(TP1)에 포함될 수 있다. 이로써, 메모리 셀들이 제1 프로그램 상태(P1)로 프로그램될 수 있다.
Next, the fifth program (VPGM5) is executed. The fifth program voltage Vpgm5 is applied to the remaining cell groups not included in the target distribution TP1, that is, the memory cells of the fifth cell group G5, so that the dispersion of the memory cells is as shown in Fig. 15 (f) . The voltage level of the fifth program voltage Vpgm5 is a value obtained by adding the fourth offset voltage Voff4 to the voltage level of the fourth program voltage Vpgm4. The fourth offset voltage Voff4 may be equal to the threshold voltage range dVth5 of the fifth cell group G5. The fourth offset voltage Voff4 may be relatively larger than other offsets. Therefore, the shift range of the memory cells according to the fifth program VPGM5 can be relatively larger than the second to fourth programs VPGM2 to VPMG4. Accordingly, the fifth cell group G5 may be included in the target spread TP1. Thereby, the memory cells can be programmed in the first program state P1.
도 17(a)~(d)는 본 개시의 실시예에 따른 프로그램 방법의 일 예를 단계별로 나타낸 그래프이다. 도 18은 도 17에서 프로그램되는 메모리 셀에 연결된 워드 라인에 인가되는 전압의 파형도이다. 17A to 17D are graphs showing steps of an example of the programming method according to the embodiment of the present disclosure. 18 is a waveform diagram of a voltage applied to a word line connected to a memory cell programmed in Fig.
도 17(a)~(d)에 따른 프로그램 방법은 도 15(a) ~(f)와 유사하다. 다만, 본 실시예에 따른 프로그램 방법에서는, 제2 프로그램 단계(PGM2) 및 제3 프로그램(PGM3) 단계에서, 두 개의 셀 그룹이 타겟 산포(TP1)에 포함될 수 있다. 도 17(b) 및 도 18의 제2 프로그램 단계(PGM2)를 참조하면, 제2 프로그램 단계(PGM2)에서, 제2 셀 그룹(G2)의 메모리 셀들에 제1 포싱 전압(VBF1)을 인가하고, 제2 내지 제5 셀 그룹(G2~G5)의 메모리 셀들에, 제2 프로그램 전압(Vpgm2)을 인가할 수 있다. 이에 따라, 제2 셀 그룹(G2) 및 제3 셀 그룹(G3)의 메모리 셀들이 타겟 산포(TP1)에 포함될 수 있다. 이때, 제2 프로그램 전압(Vpgm2)의 전압 레벨은 제1 프로그램 전압(Vpgm1)으로부터 제1 오프셋 전압(Voff1)만큼 증가된 레벨일 수 있다. 제1 오프셋 전압(Voff1)은 제2 셀 그룹의(G2)의 문턱 전압 범위(dVth2) 및 제3 셀 그룹(G3)의 문턱 전압 범위(dVth3)의 합과 같을 수 있으며, 제1 포싱 전압(VBLF1)은 제3 셀 그룹(G3)의 문턱 전압 범위(dVth3)과 같을 수 있다. The programming method according to Figs. 17 (a) to 17 (d) (f). However, in the programming method according to the present embodiment, in the second program step PGM2 and the third program PGM3 step, two cell groups may be included in the target spread TP1. Referring to FIG. 17 (b) and the second program step PGM2 in FIG. 18, in the second program step PGM2, the first forcing voltage VBF1 is applied to the memory cells in the second cell group G2 , And the second program voltage Vpgm2 to the memory cells of the second to fifth cell groups G2 to G5. Accordingly, the memory cells of the second cell group G2 and the third cell group G3 can be included in the target spread TP1. At this time, the voltage level of the second program voltage Vpgm2 may be increased from the first program voltage Vpgm1 by the first offset voltage Voff1. The first offset voltage Voff1 may be equal to the sum of the threshold voltage range dVth2 of the second cell group G2 and the threshold voltage range dVth3 of the third cell group G3, VBLF1 may be equal to the threshold voltage range dVth3 of the third cell group G3.
또한, 도 17(c) 및 도 18의 제3 프로그램 단계(PGM3)를 참조하면, 제3 프로그램 단계(PGM3)에서, 제4 셀 그룹(G4)의 메모리 셀들에 제2 포싱 전압(VBF2)을 인가하고, 제4 및 제5 셀 그룹(G4, G5)의 메모리 셀들에 제3 프로그램 전압(Vpgm3)을 인가할 수 있다. 이에 따라 제4 셀 그룹(G3) 및 제5 셀 그룹(G5)의 메모리 셀들이 타겟 산포(TP1)에 포함될 수 있다. 이때, 제3 프로그램 전압(Vpgm3)의 전압 레벨은 제2 프로그램 전압(Vpgm2)으로부터 제2 오프셋 전압(Voff2)만큼 증가된 레벨일 수 있다. 제2 오프셋 전압(Voff2)은 제4 셀 그룹의(G4)의 문턱 전압 범위(dVth4) 및 제5 셀 그룹(G5)의 문턱 전압 범위(dVth3)의 합과 같을 수 있으며, 제2 포싱 전압(VBLF2)은 제5 셀 그룹(G5)의 문턱 전압 범위(dVth5)과 같을 수 있다. Referring to FIG. 17C and the third program step PGM3 in FIG. 18, in the third program step PGM3, the second forcing voltage VBF2 is applied to the memory cells of the fourth cell group G4 And the third program voltage Vpgm3 may be applied to the memory cells of the fourth and fifth cell groups G4 and G5. Accordingly, the memory cells of the fourth cell group G3 and the fifth cell group G5 may be included in the target spread TP1. At this time, the voltage level of the third program voltage Vpgm3 may be increased from the second program voltage Vpgm2 by the second offset voltage Voff2. The second offset voltage Voff2 may be equal to the sum of the threshold voltage range dVth4 of the fourth cell group G4 and the threshold voltage range dVth3 of the fifth cell group G5, VBLF2 may be equal to the threshold voltage range dVth5 of the fifth cell group G5.
이로써, 메모리 셀들을 타겟 프로그램 상태, 예컨대 제1 프로그램 상태(P1)로 프로그램할 수 있으며, 이때, 제2 및 제3 프로그램 단계에서, 적어도 두 개의 셀 그룹을 동시에 타겟 산포(TP)에 포함될 수 있도록 프로그램함으로써, 프로그램 단계를 줄일 수 있다.
In this way, the memory cells can be programmed to a target program state, e.g., a first program state P1, wherein at least two cell groups can be simultaneously included in a target distribution (TP) in the second and third program steps By programming, the program steps can be reduced.
도 19는 본 개시의 실시예에 다른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 19는 도 17의 메모리 장치의 동작 방법을 보다 상세하게 설명하는 도면이다.19 is a flow chart illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure. 19 is a diagram for explaining the operation method of the memory device of FIG. 17 in more detail.
도 19를 참조하면, 메모리 셀들이 연결된 워드 라인에 1차 프로그램 전압, 다시 말해 제1 프로그램 전압을 인가함으로써, 제1 프로그램을 수행한다(S410). 메모리 셀들의 일부의 산포는 타겟 산포에 포함될 수 있다.Referring to FIG. 19, a first program is executed by applying a first program voltage, that is, a first program voltage, to a word line to which memory cells are connected (S410). The scattering of a portion of the memory cells may be included in the target scatter.
이후, 제1 프로그램이 수행된 메모리 셀들을 문턱 전압을 기초로, 프로그램 속도에 따른 세 개의 셀 그룹으로 구분할 수 있다(S420). 예컨대, 메모리 셀들을 제1, 제2 및 나머지 셀 그룹으로 구분할 수 있다. 미리 설정된 검증 전압을 기초로 메모리 셀들을 검증 독출함으로써, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 예컨대, 제1 및 제2 검증 전압(Vrf1, Vrf2)를 기초로, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. 제1 셀 그룹의 문턱 전압이 가장 높고, 나머지 셀 그룹의 문턱 전압이 가장 낮을 수 있다. 이때, 메모리 셀들의 문턱 전압이 높을수록 메모리 셀들의 프로그램 속도가 빠를 수 있다. 따라서, 메모리 셀들은 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 수 있다.Thereafter, the memory cells on which the first program has been executed can be divided into three cell groups according to the program speed based on the threshold voltage (S420). For example, the memory cells can be divided into first, second, and remaining cell groups. By validating and reading memory cells based on a preset verify voltage, memory cells can be divided into three cell groups. For example, the memory cells can be divided into three cell groups based on the first and second verify voltages Vrf1 and Vrf2. The threshold voltage of the first cell group may be the highest and the threshold voltage of the remaining cell group may be the lowest. At this time, the higher the threshold voltage of the memory cells, the faster the programming speed of the memory cells may be. Thus, the memory cells can be divided into three cell groups according to the program speed.
이후, 제2 및 나머지 셀 그룹에 대하여 제2 프로그램을 수행할 수 있다(S430). 이때, 문턱 전압이 가장 높은 셀 그룹인, 제1 셀 그룹은 타겟 산포에 포함될 수 있다. 따라서, 제1 셀 그룹에 대하여 프로그램이 수행되는 것을 방지하기 위하여 제1 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압을 인가할 수 있다(S431). Thereafter, a second program may be performed for the second and remaining cell groups (S430). At this time, the first cell group, which is the cell group having the highest threshold voltage, may be included in the target scatter. Accordingly, in order to prevent the program from being executed for the first cell group, an inhigh voltage may be applied to the bit line of the memory cells of the first cell group (S431).
제2 셀 그룹의 메모리 셀들의 비트 라인에 제1 포싱 전압을 인가하고(S432) 워드 라인에 제2 프로그램 전압을 인가(S433)함으로써, 제2 프로그램을 수행할 수 있다. 제2 셀 그룹의 산포의 이동 폭은 나머지 셀 그룹의 산포의 이동 폭보다 적어야 한다. 따라서, 제2 셀 그룹의 메모리 셀들의 비트 라인에 포싱 전압을 인가함으로써, 제2 셀 그룹의 프로그램 속도를 늦출 수 있다. 이에 따라, 제2 프로그램 전압을 기초로, 제2 셀 그룹 및 나머지 셀 그룹 중 일부, 예컨대 제3 셀 그룹의 메모리 셀들을 동시에 타겟 프로그램 상태로 프로그램할 수 있다. 이때 제2 프로그램 전압의 전압 레벨은 제1 프로그램 전압으로부터 제1 오프셋 전압만큼 증가된 레벨일 수 있다. 제1 오프셋 전압은 제2 셀 그룹의의 문턱 전압 범위 및 나머지 셀 그룹 중 문턱 전압이 상대적으로 높은 셀 그룹, 예컨대 제3 셀 그룹의 문턱 전압 범위의 합과 같을 수 있으며, 제1 포싱 전압은 제3 셀 그룹의 문턱 전압 범위와 같을 수 있다. The second program can be performed by applying a first forcing voltage to the bit line of the memory cells of the second cell group (S432) and applying a second program voltage to the word line (S433). The moving width of the scattering of the second cell group should be smaller than the moving width of the scattering of the remaining cell group. Thus, by applying a forcing voltage to the bit lines of the memory cells of the second cell group, the programming speed of the second cell group can be slowed down. Thus, based on the second program voltage, the memory cells of the second cell group and some of the remaining cell groups, such as the third cell group, can be simultaneously programmed into the target program state. The voltage level of the second program voltage may be a level increased from the first program voltage by the first offset voltage. The first offset voltage may be equal to the sum of the threshold voltage range of the second cell group and the threshold voltage range of the third cell group having a relatively high threshold voltage among the remaining cell groups, And may be equal to the threshold voltage range of the three-cell group.
다음으로, 메모리 셀들을 문턱 전압에 따라 다시 세 개의 셀 그룹으로 구분할 수 있다(S440). 실시예에 있어서, 전술한 예컨대, 제1 및 제2 검증 전압(Vrf1, Vrf2)를 기초로, 메모리 셀들을 세 개의 셀 그룹으로 구분할 수 있다. Next, the memory cells may be divided into three cell groups according to the threshold voltage (S440). In the embodiment, the memory cells can be divided into three cell groups based on the above-described first and second verification voltages Vrf1 and Vrf2, for example.
실시예에 있어서, 나머지 셀 그룹을 검증 독출함으로써, 나머지 셀 그룹을 상기 제3, 제4 및 제5 셀 그룹으로 구분할 수 있다. 이때, 제3 셀 그룹의 메모리 셀들은 타겟 산포에 포함될 수 있다.In an embodiment, the remaining cell groups may be divided into the third, fourth, and fifth cell groups by reading out the remaining cell groups. At this time, the memory cells of the third cell group may be included in the target scatter.
제4 및 제5 셀 그룹의 메모리 셀들에 대하여 제3 프로그램을 수행할 수 있다(S450). 이미 타겟 산포에 포함된 제1 셀 그룹, 제2 셀 그룹 및 제3 셀 그룹의 메모리 셀들에 대하여 프로그램이 수행되는 것을 방지하기 위하여 제1 내지 제3 셀 그룹의 메모리 셀들의 비트 라인에 인히빗 전압을 인가할 수 있다(S451). The third program may be executed for the memory cells of the fourth and fifth cell groups (S450). In order to prevent the program from being executed on the memory cells of the first cell group, the second cell group and the third cell group already included in the target scatter, the bit line of the memory cells of the first through third cell groups (S451).
제4 셀 그룹의 메모리 셀들의 비트 라인에 포싱 전압을 인가하고(S452), 워드 라인에 제3 프로그램 전압을 인가함으로써, 제3 프로그램을 수행할 수 있다(S453). 제4 셀 그룹의 산포의 이동 폭은 제5 셀 그룹의 산포의 이동 폭보다 적어야 한다. 따라서, 제4 셀 그룹의 메모리 셀들의 비트 라인에 포싱 전압을 인가함으로써, 제4 셀 그룹의 프로그램 속도를 늦출 수 있다. 이에 따라, 제3 프로그램 전압을 기초로, 제4 셀 그룹 및 제5 셀 그룹의 메모리 셀들을 동시에 타겟 프로그램 상태로 프로그램할 수 있다. 이때 제3 프로그램 전압의 전압 레벨은 제2 프로그램 전압으로부터 제2 오프셋 전압만큼 증가된 레벨일 수 있다. 제2오프셋 전압은 제4 셀 그룹의의 문턱 전압 범위 및 제5 셀 그룹의 문턱 전압 범위의 합과 같을 수 있으며, 제2 포싱 전압은 제5 셀 그룹의 문턱 전압 범위와 같을 수 있다.A forging voltage is applied to the bit line of the memory cells of the fourth cell group (S452), and a third program voltage is applied to the word line (S453). The moving width of the scattering of the fourth cell group should be smaller than the moving width of the scattering of the fifth cell group. Thus, by applying the forcing voltage to the bit line of the memory cells of the fourth cell group, the programming speed of the fourth cell group can be slowed down. Thus, based on the third program voltage, the memory cells of the fourth cell group and the fifth cell group can be simultaneously programmed into the target program state. The voltage level of the third program voltage may be a level increased from the second program voltage by the second offset voltage. The second offset voltage may be equal to the sum of the threshold voltage range of the fourth cell group and the threshold voltage range of the fifth cell group and the second forcing voltage may be equal to the threshold voltage range of the fifth cell group.
이처럼, 제1 프로그램 상태로 프로그램되도록 설정된 메모리 셀들 전체에 대하여 제1 프로그램이 수행된 이후, 메모리 셀들은 프로그램 속도에 따른 다섯 개의 셀 그룹으로 구분되고, 제1 셀 그룹을 제외한 다른 셀 그룹들에 대하여 2 개의 셀 그룹 단위로, 재프로그램을 수행할 수 있다.
After the first program is executed for all of the memory cells set to be programmed in the first program state, the memory cells are divided into five cell groups according to the program speed, and for the other cell groups except for the first cell group It is possible to perform reprogramming in units of two cell groups.
도 20은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 도 20은 메모리 장치가 메모리 셀 각각에 2 비트의 데이터를 저장하는 경우의 프로그램 방법을 나타낸다. 도 21은 각 프로그램 상태에 따른 메모리 셀들의 문턱 전압 산포를 나타낸다. 20 is a flow diagram illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure. 20 shows a programming method when the memory device stores two bits of data in each of the memory cells. Figure 21 shows the threshold voltage distribution of memory cells in accordance with each program state.
도 20을 참조하면, 메모리 장치(도 1의 100)는 외부, 예컨대 메모리 컨트롤러로부터 멀티 비트 데이터 및 프로그램 명령을 수신하면(S510), 본 개시의 실시예에 따른 프로그램 동작을 수행할 수 있다. Referring to FIG. 20, the memory device 100 (FIG. 1) may perform a program operation according to an embodiment of the present disclosure when receiving multi-bit data and program instructions from an external device, for example, a memory controller (S510).
메모리 장치는 제1 프로그램 전압 셋을 기초로, 메모리 셀들을 제1 프로그램 상태로 프로그램할 수 있다(S520). 제1 프로그램 전압 셋은, 메모리 셀들을 제1 프로그램 상태로 프로그램하기 위한, 제1 내지 제n 프로그램 전압을 포함할 수 있다. 제1 프로그램 전압은, 1차 프로그램 전압이고, 제2 내지 제n 프로그램 전압은 복수의 2차 프로그램 전압이다. 예컨대, 도 5a에 도시된 바와 같이, 메모리 셀들을 프로그램 속도에 따라 세 개의 셀 그룹으로 구분하여 프로그램하는 경우, 제1 프로그램 전압 셋은, 제1 내지 제3 프로그램 전압을 포함할 수 있다. 다른 실시예에 있어서, 제1 프로그램 전압 셋은, 제1 및 제2 프로그램 전압과 포싱 전압을 포함할 수 있다. The memory device may program the memory cells to a first program state based on the first program voltage set (S520). The first program voltage set may comprise first through n th program voltages for programming the memory cells into a first program state. The first program voltage is a first program voltage, and the second through n-th program voltages are a plurality of secondary program voltages. For example, as shown in FIG. 5A, when the memory cells are programmed by dividing into three groups of cells according to the program speed, the first program voltage set may include first to third program voltages. In another embodiment, the first program voltage set may comprise first and second program voltages and a forcing voltage.
이때, 제1 프로그램 전압은, 메모리 셀들의 적어도 일부가 타겟 프로그램 상태의 타겟 산포에 포함되도록 미리 설정된 전압일 수 있다. 일 실시예에 있어서, 제1 프로그램 전압은, 1차 프로그램이 수행된 후, 메모리 셀들이 복수의 셀 그룹으로 구분될 경우, 원-샷 산포의 최상위 셀 그룹의 메모리 셀들이 타겟 산포에 포함되도록 미리 설정된 전압일 수 있다. 제2 내지 제n 프로그램 전압은, 복수의 셀 그룹들간의 문턱 전압 차이에 따라 설정된 전압일 수 있다.At this time, the first program voltage may be a predetermined voltage such that at least some of the memory cells are included in the target distribution of the target programmed state. In one embodiment, when the memory cells are divided into a plurality of cell groups after the primary program is executed, the first program voltage may be pre-programmed such that the memory cells of the top- It may be a set voltage. The second to n-th program voltages may be a voltage set according to a threshold voltage difference between a plurality of cell groups.
제1 프로그램 상태에 대한 프로그램이 완료되면, 메모리 장치는 제2 프로그램 전압 셋을 기초로 메모리 셀들을 제2 프로그램 상태로 프로그램할 수 있다(530). 제2 프로그램 전압 셋은, 메모리 셀들을 제2 프로그램 상태로 프로그램하기 위한, 제1 내지 제n 프로그램 전압을 포함할 수 있다. When the program for the first program state is completed, the memory device may program the memory cells to a second program state based on the second program voltage set (530). The second program voltage set may comprise first through n th program voltages for programming the memory cells into a second program state.
일 실시예에 있어서, 메모리 장치는 제1 프로그램 상태로 프로그램된 메모리 셀들 중 일부의 메모리 셀들을 제2 프로그램 상태로 프로그램할 수 있다. 다른 실시예에 있어서, 메모리 장치는 제1 프로그램 상태로 프로그램된 메모리 셀들과는 다른 메모리 셀들을 제2 프로그램 상태로 프로그램할 수 있다. In one embodiment, the memory device may program memory cells of some of the memory cells programmed into the first program state to a second program state. In another embodiment, the memory device may program memory cells different from the memory cells programmed in the first program state to a second program state.
제2 프로그램 상태에 대한 프로그램이 완료되면, 메모리 장치는 제3 프로그램 전압 셋을 기초로 메모리 셀들을 제3 프로그램 상태로 프로그램할 수 있다(S540). 제3 프로그램 전압 셋은, 메모리 셀들을 제3 프로그램 상태로 프로그램하기 위한, 제1 내지 제n 프로그램 전압을 포함할 수 있다. When the program for the second program state is completed, the memory device may program the memory cells to a third program state based on the third program voltage set (S540). The third program voltage set may comprise first through n th program voltages for programming the memory cells into a third program state.
일 실시예에 있어서, 메모리 장치는 제2 프로그램 상태로 프로그램된 메모리 셀들 중 일부의 메모리 셀들을 제3 프로그램 상태로 프로그램할 수 있다. 다른 실시예에 있어서, 메모리 장치는 제1 및 제2 프로그램 상태로 프로그램된 메모리 셀들과는 다른 메모리 셀들을 제3 프로그램 상태로 프로그램할 수 있다.In one embodiment, the memory device may program memory cells of some of the memory cells programmed into the second program state to a third program state. In another embodiment, the memory device may program memory cells different from the memory cells programmed into the first and second program states into a third program state.
한편, 각 프로그램 상태에 대한 제1 프로그램 전압, 다시 말해 1차 프로그램 전압의 전압 레벨은, 이전 프로그램 상태의 제1 프로그램 전압 및, 프로그램 오프셋에 의하여 설정될 수 있다. On the other hand, the first program voltage for each program state, i.e., the voltage level of the primary program voltage, can be set by the first program voltage of the previous program state and the program offset.
도 21에 도시된 바와 같이, 제2 프로그램 상태(P2)와 제1 프로그램 상태(P1)의 문턱 전압 차이가 제2 프로그램 오프셋(VoffP2)일 경우, 제2 프로그램 상태(P2)에 대한 제1 프로그램 전압(Vpgm12)의 전압 레벨은 제1 프로그램 상태(P1)에 대한 제1 프로그램 전압(Vpgm11) 및 제2 프로그램 오프셋(VoffP2)에 기초하여 설정될 수 있다. 또한, 제3 프로그램 상태(P3)와 제2 프로그램 상태(P2)의 문턱 전압 차이가 제3 프로그램 오프셋(VoffP3)일 경우, 제3 프로그램 상태(P3)에 대한 제1 프로그램 전압(Vpgm13)은 제2 프로그램 상태(P2)에 대한 1차 프로그램 전압(Vpgm12) 및 제3 프로그램 오프셋(VoffP3)에 기초하여 설정될 수 있다. As shown in FIG. 21, when the threshold voltage difference between the second program state P2 and the first program state P1 is the second program offset VoffP2, the first program for the second program state P2 The voltage level of the voltage Vpgm12 may be set based on the first program voltage Vpgm11 and the second program offset VoffP2 for the first programmed state P1. When the threshold voltage difference between the third program state P3 and the second program state P2 is the third program offset VoffP3, the first program voltage Vpgm13 for the third program state P3 is The first program voltage Vpgm12 and the third program offset VoffP3 for the two program states P2.
한편, 각각의 프로그램 단계(S520, S530, S540)에는 도 5a내지 도 19를 참조하여 설명한 본 개시의 실시예에 따른 프로그램 방법이 적용될 수 있다. 각각의 프로그램 단계에서, 제1 프로그램 전압, 다시 말해 1차 프로그램 전압에 따라 제1 프로그램이 수행된 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하고, 상기 복수의 셀 그룹들의 서로 다른 문턱 전압 범위에 대응하여 설정되는 복수의 2차 프로그램 전압들이 타겟 산포에 포함되지 않는 메모리 셀 그룹에 인가되어, 프로그램이 수행될 수 있다. Meanwhile, the program method according to the embodiment of the present disclosure described with reference to Figs. 5A to 19 can be applied to each program step (S520, S530, S540). In each of the program stages, the memory cells in which the first program is executed according to the first program voltage, that is, the first program voltage, are divided into a plurality of cell groups according to the program speed, A plurality of secondary program voltages set corresponding to the range may be applied to the memory cell group not included in the target scatter, so that the program can be executed.
메모리 셀들을 복수의 프로그램 상태로 프로그램할 때, ISPP 방식으로 프로그램 할 경우, 두 프로그램 상태 간의 문턱 전압 차이가 상대적으로 클 경우, 두 프로그램 상태 간의 문턱 전압 차이가 상대적으로 작은 경우보다 프로그램 횟수가 증가될 수 있다. 그러나, 본 개시의 실시예에 따른 메모리 장치의 동작 방법에 따르면, 각각의 프로그램 상태에 대응하는 프로그램 전압을 미리 설정하고, 미리 설정된 프로그램 전압을 기초로 메모리 셀들을 각 프로그램 상태로 프로그램하므로, 두 프로그램 상태 간의 문턱 전압 차이에 무관하게 미리 설정된 프로그램 횟수에 따라 메모리 셀들이 프로그램될 수 있다.
When the memory cells are programmed in a plurality of program states and when programming in the ISPP scheme, when the threshold voltage difference between the two program states is relatively large, the program frequency is increased compared to the case where the threshold voltage difference between the two program states is relatively small . However, according to the operation method of the memory device according to the embodiment of the present disclosure, since the program voltage corresponding to each program state is set in advance and the memory cells are programmed in each program state based on the preset program voltage, The memory cells can be programmed according to a preset program number regardless of the threshold voltage difference between states.
도 22는 본 개시의 실시예에 따른 메모리 장치의 동작 방법의 일 예로서, 워드 라인에 인가되는 전압 펄스를 나타내는 파형이다. 22 is an example of a method of operating a memory device according to an embodiment of the present disclosure, and is a waveform showing a voltage pulse applied to a word line.
도 22에는, 메모리 셀이 2 비트의 데이터를 저장하는 멀티 비트 셀인 경우, 메모리 셀들이 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3)가 차례로 프로그램되는 방법이 도시된다. 22 shows how the memory cells are programmed in sequence in the first program state P1, the second program state P2 and the third program state P3 in the case where the memory cell is a multi-bit cell storing two bits of data .
도 22를 참조하면, 메모리 장치의 프로그램 단계는 제1 프로그램 구간(P1 PGM), 제2 프로그램 구간(P2 PGM) 및 제3 프로그램 구간(P3 PGM)을 포함할 수 있다. Referring to FIG. 22, the program step of the memory device may include a first program period P1 PGM, a second program period P2 PGM, and a third program period P3 PGM.
외부(예컨대 메모리 컨트롤러)로부터 멀티 비트 데이터 및 상기 멀티 비트 데이터의 저장을 요청하는 커맨드가 수신되면, 제1 프로그램 구간(P1 PGM)에 메모리 셀들이 제1 프로그램 상태로 프로그램되고, 제2 프로그램 구간(P2 PGM)에 메모리 셀들이 제2 프로그램 상태로 프로그램되고, 제3 프로그램 구간(P3 PGM)에 메모리 셀들이 제3 프로그램 상태로 프로그램 될 수 있다. 이로써, 멀티 비트 데이터가 메모리 셀 어레이(도 1의 110)의 하나의 워드 라인에 연결된 메모리 셀들, 예컨대 페이지에 저장될 수 있다. When the command for requesting the storage of the multi-bit data and the multi-bit data is received from the outside (for example, the memory controller), the memory cells are programmed to the first program state in the first program period P1 PGM, P2 PGM) may be programmed in the second program state, and the memory cells in the third program period (P3 PGM) may be programmed in the third program state. Thereby, the multi-bit data can be stored in memory cells, e.g., pages, connected to one word line of the memory cell array (110 in FIG. 1).
각각의 프로그램 구간, 다시 말해 각 프로그램 루프에는 적어도 두 번의 프로그램 단계, 예컨대, 제1 및 제2 프로그램 단계 및 검증 독출 단계(VF)를 포함할 수 있다. 도 22에는 각각의 프로그램 구간에, 두 번의 프로그램 단계 및 한번의 검증 독출 단계를 포함하는 것으로 도시되었으나, 이에 제한되는 것은 아니다. 메모리 셀들이 프로그램 속도에 따라 몇 개의 셀 그룹으로 구분되는지, 일부 셀 그룹에 대하여 비트라인 포싱 프로그램이 수행되는지 여부 등에 따라 프로그램 횟수 또는 검증 독출 횟수가 더 증가될 수 있다. Each program section, i. E., Each program loop, may include at least two program steps, e. G., A first and a second program step, and a verification read step (VF). FIG. 22 shows, but is not limited to, two program steps and one verification read step in each program section. The program number or the number of verification readout times can be further increased depending on whether the memory cells are divided into several cell groups according to the program speed or whether a bit line forging program is executed for some cell groups.
한편, 각각의 프로그램 구간에서 수행되는, 프로그램 단계 및 검증 독출 단계는, 도 5a 내지 도19를 참조하여 설명한 바에 따라, 수행될 수 있다. 1차 프로그램 전압을 기초로, 제1 프로그램이 수행된 메모리 셀들을 검증 독출 단계(VF)에서, 프로그램 속도에 따른 복수의 셀 그룹으로 구분하고, 타겟 산포에 포함되지 않는 셀 그룹에 대하여 복수의 셀 그룹의 문턱 전압 범위를 기초로 전압 레벨이 설정되는 복수의 2차 프로그램 전압들, 예컨대 제2 및 제3 프로그램 전압을 기초로 재프로그램(예컨대, 제2 프로그램 및 제3 프로그램을 수행)하여, 메모리 셀들을 각 프로그램 상태의 타겟 산포에 포함되도록 프로그램할 수 있다. On the other hand, the program step and the verification reading step, which are performed in each program section, can be performed as described with reference to Figs. 5A to 19. In the verify reading step (VF), the memory cells on which the first program has been executed are divided into a plurality of cell groups according to the program speed based on the primary program voltage, and a plurality of cells (E.g., perform a second program and a third program) based on a plurality of secondary program voltages, e.g., a second and a third program voltage, for which a voltage level is set based on the threshold voltage range of the group, The cells can be programmed to be included in the target distribution of each program state.
한편, 각 프로그램 구간에서, 1차 프로그램 전압(Vpgm11, Vpgm12, Vpgm13)의 전압 레벨은, 이전 프로그램 구간의 1차 프로그램 전압 및 각 프로그램 상태의 프로그램 오프셋에 따라 결정될 수 있다. 이때, 프로그램 오프셋은, 도 21에 도시된 바와 같이, 프로그램 상태들 간의 문턱 전압 차이를 의미한다. 예를 들어, 제2 프로그램 구간(P2 PGM)에서, 1차 프로그램 전압(Vpgm12)의 전압 레벨은, 제1 프로그램 구간(P1 PGM)에서의 1차 프로그램 전압(Vpgm11)에 제2 프로그램 오프셋(VoffP2)이 더해진 값일 수 있다. 제3 프로그램 구간(P3 PGM)에서, 1차 프로그램 전압(Vpgm13)의 전압 레벨은, 제2 프로그램 구간(P1 PGM)에서의 1차 프로그램 전압(Vpgm12)에 제3 프로그램 오프셋(VoffP3)이 더해진 값일 수 있다. On the other hand, in each program period, the voltage levels of the primary program voltages Vpgm11, Vpgm12, and Vpgm13 may be determined according to the primary program voltage of the previous program period and the program offset of each program state. At this time, the program offset means a threshold voltage difference between program states, as shown in FIG. For example, in the second program period P2 PGM, the voltage level of the primary program voltage Vpgm12 is equal to the voltage level of the first program voltage Vpgm11 in the first program period P1 PGM at the second program offset VoffP2 ) May be added. In the third program period P3 PGM, the voltage level of the primary program voltage Vpgm13 is a value obtained by adding the third program offset VoffP3 to the primary program voltage Vpgm12 in the second program period P1 PGM .
한편, 메모리 셀들이 제3 프로그램 상태로 프로그램된 후, 검증 독출 동작이 수행될 수 있다. 검증 독출 동작을 통하여 메모리 셀들이 정상적으로 프로그램 되었는지를 판단할 수 있다. 일 실시예에 있어서, 제3 프로그램 상태에 대하여 검증 독출 동작이 수행될 수 있다. 메모리 셀들이 정상적으로 제3 프로그램 상태로 프로그램되었다고 판단되는 경우, 다른 메모리 셀들 또한 정상적으로 제1 프로그램 상태 또는 제2 프로그램 상태로 프로그램되었다고 판단할 수 있다. 그러나, 이에 제한되는 것은 아니며, 다른 실시예에 있어서, 제1 내지 제3 프로그램 상태 각각에 대하여 검증 독출 동작이 수행될 수도 있다.
On the other hand, after the memory cells are programmed to the third program state, a verify read operation can be performed. It is possible to determine whether the memory cells are normally programmed through the verify read operation. In one embodiment, a verify read operation may be performed on the third program state. If it is determined that the memory cells are normally programmed to the third program state, it can be determined that the other memory cells are also normally programmed to the first program state or the second program state. However, the present invention is not limited thereto, and in another embodiment, a verify read operation may be performed for each of the first to third program states.
도 23은 본 개시의 실시예에 따른 메모리 장치의 동작 방법의 일 예로서, 워드 라인에 인가되는 전압 펄스를 나타내는 파형이다. 23 is an example of a method of operating a memory device according to an embodiment of the present disclosure, and is a waveform showing a voltage pulse applied to a word line.
도 23에는, 메모리 셀이 2 비트의 데이터를 저장하는 멀티 비트 셀인 경우, 메모리 셀들이 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3)가 차례로 프로그램되는 방법이 도시된다. 도23의 프로그램 방법은 도 22에 도시된 프로그램 방법과 유사하다. 다만, 도 23에서, 메모리 셀들을 제1 프로그램 상태로 프로그램하는 제1 프로그램 구간(P1 PGM)의 검증독출 단계(VF)에서 메모리 셀들이 프로그램 속도에 따른 복수의 셀 그룹으로 구분되고, 상기 메모리 셀들 각각에 대응하는 셀 그룹이 레지스터에 저장될 수 있다. 예컨대, 복수의 셀 그룹은 제1 내지 제3 셀 그룹을 포함하고, 제1 셀 그룹은 패스트 셀, 제2 셀 그룹은 노멀 셀, 제3 셀 그룹은 슬로우 셀로 지정될 경우, 상기 메모리 셀들이 패스트 셀, 노멀 셀 및 슬로우 셀 중 어떤 셀에 해당하는지에 대한 정보가 저장될 수 있다. 예를 들어, 상기 정보는 프로그램 제어부(예컨대 도 1의 160) 내부에 구비되는 레지스터에 저장될 수 있다. 23 shows how the memory cells are programmed in sequence in a first program state P1, a second program state P2 and a third program state P3 in the case where the memory cell is a multi-bit cell storing two bits of data . The programming method of Fig. 23 is similar to the programming method of Fig. However, in FIG. 23, in the verify reading step VF of the first program period (P1 PGM) for programming the memory cells into the first program state, the memory cells are divided into a plurality of cell groups according to the program speed, The cell group corresponding to each can be stored in the register. For example, when a plurality of cell groups includes first to third cell groups, a first cell group is designated as a fast cell, a second cell group as a normal cell, and a third cell group as a slow cell, Cell, a normal cell, and a slow cell. For example, the information may be stored in a register included in the program controller (e.g., 160 in FIG. 1).
이에 따라, 제2 프로그램 구간(P2 PGM) 및 제3 프로그램 구간(P3 PGM) 에서는, 1차 프로그램 전압(Vpgm12, Vpg12)이 인가된 후, 검증 독출 단계 없이, 상기 제1 프로그램 구간(P1 PGM)에서 제1 셀 그룹, 예컨대 패스트 셀로 분류된 메모리 셀들을 제외한 다른 메모리 셀들에 대하여 제2 프로그램 전압(Vpgm22, Vpgm23)을 인가함으로써 재프로그램할 수 있다.
Accordingly, in the second program period P2 PGM and the third program period P3 PGM, the first program voltages Vpgm12 and Vpg12 are applied and then the first program period P1 PGM is performed without the verification readout step. Programmed by applying a second program voltage Vpgm22, Vpgm23 to memory cells other than memory cells classified as a first cell group, e.g., a fast cell.
도 24는 본 개시의 실시예에 따른 프로그램 방법의 다른 예를 나타내는 흐름도이고, 도 25a 내지 도 25c는 도 24의 흐름도에서, 각 단계에 따른 워드라인의 문턱 전압 산포를 나타내는 그래프이다. 도 24의 프로그램 방법은, 본 개시의 실시예에 따른 프로그램 방법에 있어서, 인접한 워드라인간의 커플링 효과를 감소시키기 위한 프로그램 방법을 나타낸다. 도 24의 프그램 방법은 도 5a 내지 도 19의 프로그램 방법의 변형례이다. 따라서 도 5a내지 도 19를 참조하여 설명한 내용은 본 실시예에 적용될 수 있다.FIG. 24 is a flow chart showing another example of the programming method according to the embodiment of the present disclosure, and FIGS. 25A to 25C are graphs showing the threshold voltage distribution of the word line according to each step in the flowchart of FIG. 24 shows a programming method for reducing the coupling effect between adjacent word lines in the programming method according to the embodiment of the present disclosure. The program method of Fig. 24 is a modification of the program method of Figs. 5A to 19. Therefore, the contents described with reference to Figs. 5A to 19 can be applied to this embodiment.
도 24 를 참조하면, n번째(n은 정수) 워드라인(WLn)의 메모리 셀들에 대하여 초기 프로그램(primary program)(1st PGM)을 수행한다(S610). 이때, 초기 프로그램 단계(1st PGM)는 메모리 셀들에 1차 프로그램 전압을 인가하는 단계를 포함할 수 있다. 이에 따라, 1차 프로그램 전압에 따른 메모리 셀들의 원-샷 산포가 형성될 수 있다. 이때, 상기 1차 프로그램 전압은, 메모리 셀들에 저장되는 멀티 비트 데이터에 대응하는 복수의 프로그램 상태 각각에 대응하는 복수의 제1 프로그램 전압을 포함할 수 있다. 일 실시예에 있어서, 상기 복수의 제1 프로그램 전압은 상기 n번째 워드라인의 메모리 셀들 중 상대적으로 프로그램 속도가 빠른 m개 미만의 메모리 셀들이 각각 대응하는 프로그램 상태로 프로그램되도록 설정된 전압일 수 있다. 상기 초기 프로그램 단계(1st PGM)는, 상기 n번째 워드라인(WLn)에 상기 복수의 제1 프로그램 전압을 차례로 인가하는 단계를 포함할 수 있다. 이에 따라, 도 25a에 도시된 바와 같이, 각각의 프로그램 상태, 예컨대 제1 내지 제3 프로그램 상태(P1, P2, P3)에 대한 메모리 셀들의 원-샷 산포가 형성될 수 있다. Referring to FIG. 24, an initial program (1st PGM) is performed on memory cells of the n-th (n is an integer) word line WLn (S610). At this time, the initial program stage (1st PGM) may include applying a primary programming voltage to the memory cells. Thus, a one-shot dispersion of memory cells according to the primary programming voltage can be formed. At this time, the primary program voltage may include a plurality of first program voltages corresponding to each of a plurality of program states corresponding to the multi-bit data stored in the memory cells. In one embodiment, the plurality of first program voltages may be a voltage that is set such that less than m memory cells having relatively fast program rates among the memory cells of the nth word line are programmed in corresponding program states, respectively. The initial programming step (1st PGM) may include sequentially applying the plurality of first program voltages to the nth word line (WLn). Thus, as shown in Fig. 25A, a one-shot scatter of memory cells for each program state, e.g., the first to third program states P1, P2, and P3, can be formed.
이후, n+1 번째 워드라인(WLn+1)의 메모리 셀들에 대하여 초기 프로그램(1st PGM)을 수행한다(S620). n+1번째 워드라인(WLn+1)은 n번째 워드라인(WLn)에 인접하게 배치되는 워드라인이며, n번째 워드라인(WLn)보다 프로그램이 나중에 수행되는 워드라인일 수 있다. n+1 번째 워드라인(WLn+1)에, 대응하는 복수의 제1 프로그램 전압이 인가될 수 있으며, n+1 번째 워드라인에 대하여 도 25a에 도시된 바와 같이, 각각의 프로그램 상태에 대한 n+1 번째 워드라인(WLn+1)의 메모리 셀들의 원-샷 산포가 형성될 수 있다. 이때, n+1번째 워드라인(WLn+1)의 메모리 셀들을 프로그램함에 따라 n번째 워드라인(WLn)의 메모리 셀들에 커플링 효과가 발생할 수 있다. 이에 따라, 도 25b에 도시된 바와 같이, n번째 워드라인(WLn)의 메모리 셀들의 각 프로그램 상태에 대응하는 원-샷 산포가 우측으로 이동할 수 있다. Thereafter, an initial program (1st PGM) is performed on the memory cells of the (n + 1) th word line WLn + 1 (S620). The (n + 1) th word
다음으로, n번째 워드라인(WLn)의 메모리 셀들에 대하여 후기 프로그램(secondary program) (2nd PGM)을 수행한다(S630). 후기 프로그램 단계(2nd PGM)는, 검증 독출을 통하여, n번째 워드라인(WLn)의 메모리 셀들을 프로그램 속도에 기초하여 문턱 전압 산포 폭이 서로 다른 복수의 셀 그룹으로 구분하는 단계(VF) 및 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로, 상기 복수의 셀 그룹 중 일부 셀 그룹, 예컨대 상기 복수의 셀 그룹 중 타겟 상태로 프로그램된 제1 셀 그룹을 제외한 다른 셀 그룹들을 재프로그램하는 단계(PGM2)를 포함할 수 있다. 일 실시예에 있어서, 상기 복수의 셀 그룹 중 문턱 전압 산포가 가장 높은 제1 셀 그룹은, m개 또는 m개 이상의 메모리 셀들을 포함할 수 있다. Next, a secondary program (2nd PGM) is performed on the memory cells of the nth word line WLn (S630). The second program step (2nd PGM) includes a step (VF) of dividing the memory cells of the nth word line (WLn) into a plurality of cell groups having different threshold voltage spreading widths based on the program speed, Based on a plurality of secondary program voltages that are set based on a threshold voltage difference between the cell groups of the plurality of cell groups, for example, among the plurality of cell groups, And reprogramming other cell groups (PGM2). In one embodiment, the first cell group having the highest threshold voltage offset among the plurality of cell groups may include m or m or more memory cells.
일 실시예에 있어서, 후기 프로그램 단계(2nd PGM)는, n번째 워드라인(WLn)의 메모리 셀들이 대응하는 프로그램 상태로 정상적으로 프로그램되었는지를 판단하는 검증 독출 단계를 더 포함할 수 있다. In one embodiment, the late program step (2nd PGM) may further comprise a verify read step of determining whether the memory cells of the nth word line WLn are normally programmed to the corresponding program state.
본 실시예에 따르면, 상기 n번째 워드라인(WLn)에 대한 프로그램 수행 시, 후기 프로그램(2nd PGM) 수행 전에 상기 n+1 번째 워드라인(WLn+1)의 메모리 셀들에 초기 프로그램(1st PGM)을 수행함으로써, 커플링 효과가 미리 반영된 n번째 워드라인(WLn)의 메모리 셀들의 원-샷 산포를 기초로 n번째 워드라인(WLn)의 메모리 셀들에 대하여 후기 프로그램(2nd PGM)을 수행함으로써, 워드라인간 커플링 효과에 따른 각 프로그램 상태들의 문턱 전압 산포 이동을 방지할 수 있다.
According to the present embodiment, an initial program (1st PGM) is applied to the memory cells of the (n + 1) th word line WLn + 1 before the execution of the second program PGM at the time of executing the program for the nth word line WLn. (2nd PGM) on the memory cells of the n-th word line WLn based on the one-shot dispersion of the memory cells of the n-th word line WLn in which the coupling effect is reflected in advance, It is possible to prevent the shift of the threshold voltage of each program state due to the Wraith human coupling effect.
도 26a 및 도 26b는 워드라인의 메모리 셀들에 대한 초기 프로그램 단계 및 후기 프로그램단계를 나타내는 도면이다. 메모리 셀들에 2 비트의 데이터가 저장되며, 메모리 셀들이 제1 내지 제3 프로그램 상태로 프로그램되는 경우를 가정하여 설명하기로 한다. Figures 26A and 26B are diagrams showing initial programming steps and late programming steps for memory cells of a word line. 2-bit data is stored in the memory cells, and the memory cells are programmed in the first to third program states.
도 26a 및 도 26b를 참조하면, 워드라인(예컨대 n번째 워드라인(WLn))의 메모리 셀들에 제1 내지 제3 프로그램 상태 각각에 대응하는 제1 프로그램 전압이 차례로 인가됨으로써, 제1 내지 제3 프로그램 상태 각각에 대응하는 초기 프로그램(PGM11, PGM12, PGM13)(1st PGM)이 수행될 수 있다. 26A and 26B, the first program voltage corresponding to each of the first to third program states is sequentially applied to the memory cells of the word line (e.g., the n-th word line WLn) The initial programs PGM11, PGM12, and PGM13 (1st PGM) corresponding to the respective program states can be performed.
이후, 워드라인의 메모리 셀들에, 후기 프로그램(2nd PGM)이 수행될 수 있다. 이때, 도 26a에 도시된 바와 같이, 각 프로그램 상태에 대한 검증 독출 단계 및 재프로그램 단계가 차례로 수행될 수 있다. 예컨대, 제1 프로그램 상태에 대한 검증독출 단계(VF_1) 및 재프로그램 단계(예컨대 제2 프로그램 단계(PGM21))가 수행됨으로서, 제1 프로그램 상태로 프로그램되는 메모리 셀들에 대한 프로그램이 완료되고, 이후, 제2 프로그램 상태에 대한 검증독출 단계(VF_2) 및 재프로그램 단계(예컨대 제2 프로그램 단계(PGM22))가 수행됨으로서, 제2 프로그램 상태로 프로그램되는 메모리 셀들에 대한 프로그램이 완료되고, 마지막으로, 제3 프로그램 상태에 대한 검증독출 단계(VF_3) 및 재프로그램 단계(예컨대 제2 프로그램 단계(PGM23))가 수행됨으로서, 제3 프로그램 상태로 프로그램되는 메모리 셀들에 대한 프로그램이 완료될 수 있다. Thereafter, in the memory cells of the word line, the late program (2nd PGM) may be performed. At this time, as shown in FIG. 26A, the verification readout step and the reprogramming step for each program state can be performed in order. For example, the verification readout step (VF_1) for the first program state and the reprogramming step (e.g., the second program step (PGM21)) are performed to complete the program for the memory cells programmed in the first program state, The program for the memory cells programmed in the second program state is completed by performing the verify readout step VF_2 for the second program state and the reprogram step (e.g., the second program step PGM22), and finally, The program for the memory cells programmed in the third program state can be completed by performing the verify readout step VF_3 and the reprogramming step (e.g., the second program step PGM23) for the three program states.
다른 실시예로서, 도 26 b에 도시된 바와 같이, 후기 프로그램 단계(2nd PGM)에서, 각 프로그램 상태에 대한 검증 독출 단계(VF_1, VF2, VF3)가 모두 수행된 후, 각 프로그램 상태에 대한 재프로그램 단계(예컨대 각 프로그램 상태에 대한 제2 프로그램 단계(PGM21, PGM22, PGM3)가 수행될 수 있다.
As another embodiment, after the verification read-out step (VF_1, VF2, VF3) for each program state is performed in the late program step (2nd PGM) as shown in Fig. 26B, A program step (e.g., a second program step (PGM21, PGM22, PGM3) for each program state may be performed.
도 27은 본 개시의 실시예에 따른 프로그램 방법의 다른 예를 나타내는 흐름도이다. 도 27의 프로그램 방법은, 도 25a 내지 25c에 따른 프로그램 방법과 유사하다. 다만, 도 14a 도시된 바와 같이, 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하는 단계에서, 메모리 셀들을 적어도 5개의 셀 그룹으로 구분할 경우, 도 27에 도시된 바와 같이, 후기 프로그램 단계는 복수회의 검증 독출 단계 및 복수회의 재프로그램 단계를 포함할 수 있다.
27 is a flowchart showing another example of the program method according to the embodiment of the present disclosure. The programming method of Fig. 27 is similar to that of Figs. 25A to 25C. However, as shown in FIG. 14A, in the step of dividing the memory cells into a plurality of cell groups according to the program speed, when the memory cells are divided into at least five cell groups, as shown in FIG. 27, A plurality of verification readout steps and a plurality of reprogramming steps.
도 28은 본 개시의 실시예에 따른 메모리 셀 어레이의 프로그램 방법을 나타낸다. 일 실시예에 있어서, 메모리 셀 어레이는 2차원 메모리 셀 어레이를 포함할 수 있다. 28 shows a programming method of a memory cell array according to an embodiment of the present disclosure. In one embodiment, the memory cell array may comprise a two-dimensional memory cell array.
도 28을 참조하면, 메모리 셀 어레이는 복수의 워드 라인, 예컨대 제1 내지 제8 워드 라인(WL1~WL8)을 포함하는 복수의 메모리 블록을 포함할 수 있다. 일 실시예에 있어서, 제1 내지 제8 워드 라인(WL1~WL8)은 차례 인접하게 배치될 수 있으며, 제1 워드라인(WL1)부터 제8 워드라인(WL8)의 순서로 프로그램이 수행될 수 있다. Referring to FIG. 28, the memory cell array may include a plurality of memory blocks including a plurality of word lines, for example, first to eighth word lines WL1 to WL8. In one embodiment, the first to eighth word lines WL1 to WL8 may be arranged in turn adjacent to each other, and the program may be executed in the order of the first word line WL1 to the eighth word line WL8 have.
이때, 인접한 워드라인에 대하여 프로그램이 수행됨에 따라 발생하는 커플링 효과를 감소시키기 위하여, 도 24를 참조하여 전술한 바와 같이, 하나의 워드 라인에 대하여 프로그램 수행시, 상기 워드라인 이후에 프로그램되는 인접한 워드라인에 대하여 초기 프로그램(1st PGM)을 수행한 후, 상기 워드 라인에 대하여 후기 프로그램(2nd PGM)을 수행할 수 있다. At this time, in order to reduce the coupling effect that occurs as the program is executed for the adjacent word lines, as described above with reference to FIG. 24, when a program is executed for one word line, After the initial program (1st PGM) is performed on the word line, a later program (2nd PGM) may be performed on the word line.
예컨대, 제1 워드 라인(WL1)의 메모리 셀들에 대하여 초기 프로그램(1st PGM)을 수행하고, 제2 워드라인(WL2)의 메모리 셀들에 대하여 초기 프로그램(1st PGM)을 수행할 수 있다. 이후, 제1 워드라인(WL1)의 메모리 셀들에 대하여 후기 프로그램(2nd PGM)을 수행함으로써, 제1 워드라인(WL1)의 메모리 셀들에 대한 프로그램을 완료할 수 있다. For example, the initial program (1st PGM) may be performed on the memory cells of the first word line WL1 and the initial program (1st PGM) may be performed on the memory cells of the second word line WL2. Thereafter, the program for the memory cells of the first word line WL1 can be completed by performing a later program (2nd PGM) on the memory cells of the first word line WL1.
다음으로, 제3 워드라인(WL3)에 대하여 초기 프로그램(1st PGM)을 수행한 후, 제2 워드라인(WL2)에 대하여 후기 프로그램(2nd PGM)을 수행함으로써, 제2 워드라인(WL2)의 메모리 셀들에 대한 프로그램을 완료할 수 있다. Next, after the initial program (1st PGM) is performed for the third word line WL3 and the latter program (2nd PGM) is performed for the second word line WL2, The program for the memory cells can be completed.
이러한 방법으로, 차례로 모든 워드라인들, 예컨대 제1 내지 제8 워드 라인(WL1~WL8)에 대하여 프로그램을 수행할 수 있다.
In this way, it is possible to sequentially program all the word lines, for example, the first to eighth word lines WL1 to WL8.
도 29는 워드 라인 별 프로그램 속도를 나타내는 그래프이다.29 is a graph showing the program speed for each word line.
가로축은 워드 라인 번호, 세로축은 각 워드 라인에 메모리 셀들을 소정의 상태, 예컨대 프리 프로그램 상태로 프로그램하기 위한, 원-샷 전압 펄스를 인가하였을 때, 워드 라인별 문턱 전압을 나타낸다. 문턱 전압이 높을수록 프로그램 속도가 빠르다고 판단할 수 있다. The horizontal axis represents the word line number, and the vertical axis represents the threshold voltage per word line when a one-shot voltage pulse is applied to program the memory cells in a predetermined state, for example, a pre-program state, on each word line. The higher the threshold voltage, the faster the program speed can be determined.
도 29에 도시된 바와 같이, 프로그램 속도는 워드 라인별로 차이가 있을 수 있다. 또한, 동일한 워드 라인이라 할지라도, 프로그램 싸이클에 따라 프로그램 속도가 달라질 수 있다. 도 29에 도시된 바와 같이, 프로그램 싸이클, 즉 프로그램 및 소거 횟수가 증가할수록, 워드 라인의 프로그램 속도가 증가할 수 있다. As shown in FIG. 29, the program speed may be different for each word line. In addition, even if the word line is the same, the program speed can be changed according to the program cycle. As shown in FIG. 29, as the number of program cycles, that is, the number of program and erase operations, is increased, the program speed of the word line can be increased.
워드 라인별 프로그램 속도의 차이가 크면, 프로그램된 메모리 셀들의 각 프로그램 상태의 산포 폭이 증가할 수 있다. 따라서, 프로그램 속도의 보상이 필요하다.If the difference in the word line-specific program speed is large, the spread width of each program state of the programmed memory cells may increase. Therefore, it is necessary to compensate the program speed.
도 30은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 30 is a flow diagram illustrating a method of operating a memory device in accordance with an embodiment of the present disclosure.
도 30을 참조하면, 메모리 장치(도 1의 100)는 외부, 예컨대 메모리 컨트롤러로부터 멀티 비트 데이터 및 프로그램 명령을 수신할 수 있다(S710). 메모리 장치는 프로그램이 수행될 어드레스에 대응하는 워드라인의 프로그램 속도를 감지할 수 있다(S720). Referring to FIG. 30, the memory device (100 of FIG. 1) may receive multi-bit data and program instructions from an external, e.g., memory controller (S710). The memory device may sense the program rate of the word line corresponding to the address at which the program is to be performed (S720).
일 실시예에 있어서, 메모리 장치는 프로그램이 수행될 워드 라인에 프리 프로그램 전압을 인가하고, 프리 프로그램 상태로 프로그램된 오프셀 개수를 카운팅하여 상기 워드 라인의 프로그램 속도를 감지할 수 있다. In one embodiment, the memory device may sense the program rate of the word line by applying a pre-program voltage to the word line on which the program is to be programmed and counting the number of off-cells programmed in the pre-programmed state.
메모리 장치는 감지된 워드 라인의 프로그램 속도를 반영하여 워드 라인별 프로그램 속도를 보상하여 프로그램 전압들의 전압 레벨을 설정할 수 있다(S730). 예를 들어, 워드 라인의 프로그램 속도가 기준 값과 다르면, 감지된 프로그램 속도와 기준 값의 차이에 대응하여 설정된 보상 전압이 프로그램 전압들의 디폴트 레벨에 더해질 수 있다. The memory device may set the voltage level of the program voltages by compensating the program speed for each word line to reflect the program speed of the sensed word line (S730). For example, if the program rate of the word line differs from the reference value, a compensation voltage set corresponding to the difference between the sensed program speed and the reference value may be added to the default level of the program voltages.
한편, 도 22에 도시된 바와 같이, 프로그램 전압들의 전압 레벨은, 각 프로그램 상태의 1차 프로그램 전압(Vpgm11, Vpgm12, Vpgm13)을 기초로 설정되며, 제2 프로그램 상태에 대한 1차 프로그램 전압(Vpgm12)의 전압 레벨은 제1 프로그램 상태에 대한 1차 프로그램 전압(Vpgm11)에 기초하여 설정될 수 있다. 따라서, 제1 프로그램 상태에 대한 1차 프로그램 전압(Vpgm11)의 전압 레벨 설정 시, 상기 프로그램 속도에 따른 보상 전압을 반영함으로써, 워드 라인별 프로그램 속도를 보상한 프로그램 전압들의 전압 레벨을 설정할 수 있다. 이에 따라 각 프로그램 상태 각각에 대한 프로그램 전압 셋이 설정될 수 있다. 프로그램 전압 셋은 1차 프로그램 전압 및 복수의 2차 프로그램 전압을 포함할 수 있다. 22, the voltage levels of the program voltages are set based on the primary program voltages Vpgm11, Vpgm12, and Vpgm13 of the respective program states, and the voltage levels of the primary program voltages Vpgm12 May be set based on the primary program voltage Vpgm11 for the first programmed state. Therefore, when setting the voltage level of the primary program voltage Vpgm11 for the first program state, the voltage level of the program voltages compensated for the word line-specific program speed can be set by reflecting the compensation voltage according to the program speed. Thus, a program voltage set for each program state can be set. The program voltage set may comprise a primary program voltage and a plurality of secondary program voltages.
이후, 프로그램 속도가 반영된 프로그램 전압들의 전압 레벨에 따라 각 프로그램 상태에 대한 프로그램이 수행될 수 있다. 제n 프로그램 전압 셋을 기초로 메모리 셀들을 제n 프로그램 상태로 프로그램할 수 있다(S740). 예컨대, 메모리 셀들이 제1 내지 제3 프로그램 상태로 프로그램될 경우, 제1 내지 제3 프로그램 전압 셋을 기초로 메모리 셀들이 각각 제1 내지 제3 프로그램 상태로 프로그램될 수 있다.
Thereafter, a program for each program state can be performed according to the voltage level of the program voltages reflecting the program speed. The memory cells may be programmed to the nth program state based on the nth program voltage set (S740). For example, when the memory cells are programmed in the first to third program states, the memory cells may be programmed to the first to third program states, respectively, based on the first to third program voltage sets.
도 31은 본 개시의 실시예에 따른 워드 라인의 프로그램 속도 감지 및 프로그램 전압 레벨 보상 방법을 설명하는 도면이다.31 is a diagram illustrating a program speed sensing and program voltage level compensation method of a word line according to an embodiment of the present disclosure;
도 31을 참조하면, 워드 라인의 프로그램 속도를 감지하기 위하여, 메모리 장치는 워드 라인에 원-샷의 프리 프로그램 전압을 인가함으로써, 워드 라인의 메모리 셀들을 프리 프로그램 상태(P0)로 프로그램할 수 있다. 이때, 메모리 장치는, 프리 프로그램 상태(P0)로 프로그램된 메모리 셀들, 즉 프리 프로그램 상태(P0)에 대한 오프셀들의 개수를 카운팅함으로써, 워드 라인의 프로그램 속도를 감지할 수 있다. 31, in order to sense the programming speed of the word line, the memory device may program the memory cells of the word line into the pre-programmed state P0 by applying a one-shot pre-program voltage to the word line . At this time, the memory device can sense the program speed of the word line by counting the number of off cells for the memory cells programmed in the pre-programmed state P0, that is, the pre-programmed state P0.
프리 프로그램 상태(P0)는, 소거 상태(E)와 제1 프로그램 상태(P1)의 사이에 위치하는 상태일 수 있다. 상기 프리 프로그램 상태(P0)는 메모리 셀들에 저장되는 멀티 비트 데이터에 대응하는 상태는 아니며, 워드 라인의 프로그램 속도를 검출하기 위한 임의의 상태일 수 있다. The pre-programmed state P0 may be a state located between the erased state E and the first programmed state P1. The pre-programmed state P0 is not a state corresponding to the multi-bit data stored in the memory cells, and may be any state for detecting the program speed of the word line.
카운팅된 프리 프로그램 상태의 오프셀의 개수는 워드 라인의 프로그램 속도에 대응할 수 있다. 오프셀의 개수가 많을수록 프로그램 속도가 빠를 수 있다. 메모리 장치는 오프셀의 개수를 기초로 프로그램 속도를 판단하고, 프로그램 전압들의 전압 레벨 설정 시 프로그램 속도에 대응하는 보상 전압을 적용할 수 있다. The number of off-cells in the counted pre-programmed state may correspond to the program rate of the word line. The larger the number of off-cells, the faster the program speed. The memory device can determine the program speed based on the number of off-cells and apply the compensation voltage corresponding to the program speed when setting the voltage level of the program voltages.
일 실시예에 있어서, 메모리 장치, 예컨대 프로그램 제어부(도 1의 160)는 오프셀의 개수에 따른 보상 전압을 저장한 테이블을 포함할 수 있다. 메모리 장치는 상기 테이블을 참조로, 카운팅된 오프셀 개수에 따른 보상 전압을 선택하고, 상기 보상 전압을 프로그램 전압 레벨 설정 시 적용할 수 있다.In one embodiment, a memory device, e.g., a program controller (160 of FIG. 1), may include a table storing a compensation voltage according to the number of off cells. The memory device can select a compensation voltage according to the counted number of off-cells with reference to the table, and apply the compensation voltage when setting the program voltage level.
예를 들어, 도 31에 도시된 바와 같이, 프로그램의 시작 전압 설정 시 보상 전압이 적용될 수 있다. 예컨대, 프로그램 시작 전압은, 제1 프로그램 상태의 1차 프로그램 전압(Vpgm11)일 수 있다. 디폴트 레벨의 프로그램 시작 전압(Vdf1)에 워드라인의 프로그램 속도에 따른 보상 전압(VoffWL)이 더해져 제1 프로그램 상태의 1차 프로그램 전압(Vpgm11)의 전압 레벨이 설정될 수 있다.
For example, as shown in FIG. 31, a compensation voltage may be applied in setting the start voltage of the program. For example, the program start voltage may be the primary program voltage Vpgm11 in the first programmed state. The voltage level of the primary program voltage Vpgm11 in the first program state can be set by adding the compensation voltage VoffWL according to the program speed of the word line to the program voltage Vdf1 of the default level.
도 32는 본 개시의 실시예에 따른 워드 라인의 프로그램 속도를 반영하여 프로그램 전압 레벨을 설정하는 방법을 나타내는 도면이다.32 is a diagram illustrating a method of setting a program voltage level to reflect a program speed of a word line according to an embodiment of the present disclosure;
도 32를 참조하면, 프리 프로그램 단계(P0 PGM)에서, 메모리 셀들에 프리 프로그램 전압이 인가되고, 검증 독출을 통해 프리 프로그램 상태의 오프셀 개수를 카운팅 함으로써, 워드 라인의 프로그램 속도가 감지될 수 있다. 이후, 각 프로그램 단계(P1 PGM, P2 PGM, P3 PGM)에서, 각각의 프로그램 단계에 대응하는 프로그램 전압 셋 설정시 상기 보상 전압을 적용할 수 있다. 예컨대, 각 프로그램 단계의 제1 프로그램 전압(Vpgm11, Vpgm12, Vpgm13) 설정시 상기 보상 전압이 적용될 수 있다.
Referring to FIG. 32, in the pre-program step (P0 PGM), the program rate of the word line can be sensed by applying a pre-program voltage to the memory cells and counting the number of off-cells in the pre-programmed state through the verify read . Thereafter, in each of the program stages (P1 PGM, P2 PGM, and P3 PGM), the compensation voltage can be applied when setting the program voltage set corresponding to each program stage. For example, the compensation voltage may be applied when the first program voltages Vpgm11, Vpgm12, and Vpgm13 of the respective program stages are set.
도 33a 내지 도 33c는 본 개시의 실시예에 따른 프로그램 방법의 단계별 워드라인의 문턱 전압 산포를 나타내는 그래프이다.33A-33C are graphs showing the threshold voltage distribution of word lines in stages of the programming method according to an embodiment of the present disclosure;
도 33a 내지 도 33c에 도시된 프로그램 방법은 도 24의 프로그램 방법의 변형례이다. 도 33a 및 도 33b를 참조하면, n번째 워드라인(WLn)의 메모리 셀들에 대하여 초기 프로그램(1st PGM)이 수행되고, 이후, n+1 번째 워드라인(WLn)의 메모리 셀들에 대하여 초기 프로그램(1st PGM)이 수행될 수 있다. 이때, 초기 프로그램 단계는 프리 프로그램 단계(PGM0), 프리 독출 검증 단계(VF0) 및 메모리 셀들에 대하여 각 프로그램 단계에 대응하는 1차 프로그램 전압을 인가하는 단계(PGM1)를 포함할 수 있다. 프리 프로그램 단계(PGM0)에서, 메모리 셀들에 프리 프로그램 전압을 인가하고, 프리 독출 검증 단계(VF0)에서, 프리 프로그램 상태에 대한 오프셀의 개수를 카운팅함으로써, 워드라인의 프로그램 속도를 감지할 수 있다. 감지된 워드라인의 프로그램 속도에 따른 보상 전압을 기초로 각 프로그램 단계에 대한 프로그램 전압 셋의 전압 레벨을 설정할 수 있다. 예컨대, 각 프로그램 단계에 대응하는 1차 프로그램 전압의 전압 레벨에 보상 전압이 더해질 수 있다. 이후, 프리 프로그램 전압이 인가된 메모리 셀들에 대하여 워드라인의 프로그램 속도에 따른 보상 전압이 더해진 각 프로그램 단계에 따른 1차 프로그램 전압을 인가함으로써, 프로그램 상태들 각각에 대응하는 원-샷 산포가 형성될 수 있다. The program method shown in Figs. 33A to 33C is a modification of the program method of Fig. 33A and 33B, an initial program (1st PGM) is performed on the memory cells of the n-th word line WLn and an initial program (1st PGM) is performed on the memory cells of the (n + 1) 1st PGM) can be performed. At this time, the initial program step may include a pre-program step PGM0, a pre-read verification step (VF0), and a step (PGM1) of applying a primary program voltage corresponding to each program step to the memory cells. In the pre-program stage PGM0, the program rate of the word line can be sensed by applying a pre-program voltage to the memory cells and counting the number of off cells for the pre-program state in the pre-read verify step (VF0) . The voltage level of the program voltage set for each program stage can be set based on the compensation voltage according to the program rate of the sensed word line. For example, a compensation voltage may be added to the voltage level of the primary program voltage corresponding to each program step. Thereafter, by applying a primary programming voltage according to each programming step to which a compensating voltage according to the programming speed of the word line is applied to the memory cells to which the pre-program voltage is applied, a one-shot dispersion corresponding to each of the program states is formed .
이후, 도 33에 도시된 바와 같이, n번째 워드 라인(WLn)에 대하여 후기 프로그램(2nd PGM)을 수행함으로써, n번째 워드라인(WLn)의 메모리 셀들에 대하여 프로그램이 완료될 수 있다. 후기 프로그램 단계(2nd PGM)는, 검증 독출을 통하여, n번째 워드라인(WLn)의 메모리 셀들을 프로그램 속도에 기초하여 문턱 전압 산포 폭이 서로 다른 복수의 셀 그룹으로 구분하는 단계(VF) 및 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로, 상기 복수의 셀 그룹 중 일부 셀 그룹, 예컨대 상기 복수의 셀 그룹 중 타겟 상태로 프로그램된 제1 셀 그룹을 제외한 다른 셀 그룹들을 재프로그램하는 단계(PGM2)를 포함할 수 있다. 이때, 상기 복수의 2차 프로그램 전압은 상기 복수의 그룹간의 문턱 전압 차이 및 상기 워드라인의 프로그램 속도에 따른 보상 전압에 기초하여 설정될 수 있다.
Thereafter, as shown in FIG. 33, the program can be completed for the memory cells of the n-th word line WLn by performing the latter program (2nd PGM) for the n-th word line WLn. The second program step (2nd PGM) includes a step (VF) of dividing the memory cells of the nth word line (WLn) into a plurality of cell groups having different threshold voltage spreading widths based on the program speed, Based on a plurality of secondary program voltages that are set based on a threshold voltage difference between the cell groups of the plurality of cell groups, for example, among the plurality of cell groups, And reprogramming other cell groups (PGM2). At this time, the plurality of secondary program voltages may be set based on a threshold voltage difference between the plurality of groups and a compensation voltage according to a program speed of the word line.
도 34는 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 나타내는 흐름도이다. 34 is a flow chart illustrating a method of operation of a memory device in accordance with an embodiment of the present disclosure.
도 34를 참조하면, 메모리 셀들이 제N-1 프로그램 상태(N은 2이상의 정수)로 프로그램될 수 있다(S810). 제N-1 프로그램 상태는, 복수의 프로그램 상태들 중, 문턱 전압이 가장 높은 최상위 프로그램 상태를 제외한 프로그램 상태일 수 있다. Referring to FIG. 34, the memory cells may be programmed in the (N-1) th program state (N is an integer of 2 or more) (S810). The (N-1) th program state may be a program state among a plurality of program states except for the topmost program state with the highest threshold voltage.
메모리 셀들이 제N-1 프로그램 상태로 프로그램된 후, 또는 제N-1 상태로 프로그램 되는 중에, 워드 라인의 프로그램 속도를 검출할 수 있다(S820). 일 실시예에 있어서, 제N-1 프로그램 상태에 대한 검증 독출 동작 시, 오프셀의 개수를 카운팅 함으로써, 프로그램 속도를 감지할 수 있다. 예컨대, 메모리 셀들에 대하여 1차 프로그램을 수행한 후, 메모리 셀들을 복수의 셀 그룹으로 구분할 때, 복수의 셀 그룹 중 문턱 전압 레벨이 가장 높은 제1 셀 그룹의 메모리 셀들의 개수를 카운팅함으로써, 워드 라인의 프로그램 속도를 검출할 수 있다. The program speed of the word line may be detected after the memory cells are programmed to the N-1 < th > program state or the N-1 < th > In one embodiment, during a verify read operation for the (N-l) program state, the program rate may be sensed by counting the number of off cells. By counting the number of memory cells of the first cell group having the highest threshold voltage level among the plurality of cell groups when dividing the memory cells into a plurality of cell groups after performing the primary program for the memory cells, The program speed of the line can be detected.
검출된 워드라인의 프로그램 속도에 따른 보상 전압을 기초로 제N 프로그램 상태에 대한 프로그램 전압, 예컨대 제N 프로그램 전압 셋의 전압 레벨을 설정할 수 있다(S830). 다시 말해, 제N-1 프로그램 상태에 대응하는 워드라인의 프로그램 속도에 따른 보상 전압이 제N 프로그램 전압 셋에 반영될 수 있다. The program voltage for the N-th program state, for example, the voltage level of the N-th program voltage set, may be set based on the compensation voltage according to the detected program speed of the word line (S830). In other words, the compensation voltage according to the program speed of the word line corresponding to the (N-1) th program state may be reflected in the Nth program voltage set.
이에 따라, 제N-1 프로그램 상태에 대응하는 워드 라인의 프로그램 속도에 따른 보상 전압이 반영된 제N 프로그램 전압 셋을 기초로, 메모리 셀들을 제N 프로그램 상태로 프로그램할 수 있다(S840). Accordingly, the memory cells can be programmed to the N-th program state based on the N-th program voltage set in which the compensation voltage according to the program speed of the word line corresponding to the N-1-th program state is reflected (S840).
일 실시예에 있어서, 도 34의 흐름도는, 도 30의 S730 단계 이후에 수행되는 동작 방법을 나타낸다. In one embodiment, the flowchart of FIG. 34 shows an operation method performed after step S730 of FIG.
전술한 도 30의 S720 단계 및 S730 단계에 따라, 메모리 셀들에 대한 프로그램 수행 전, 워드 라인의 프로그램 속도가 감지되고, 이에 따라 워드 라인의 프로그램 속도를 보상한 프로그램 전압 레벨이 설정될 수 있다. 이후, 도 34의 S810 단계 및 S840 단계에 따라, 각 프로그램 루프마다 워드라인의 프로그램 속도를 감지하고, 상기 프로그램 속도를 기초로 다음 프로그램 루프의 프로그램 전압에 반영할 수 있다. According to the steps S720 and S730 of FIG. 30 described above, the program speed of the word line is sensed before the execution of the program for the memory cells, so that the program voltage level compensating the program speed of the word line can be set. Thereafter, in accordance with steps S810 and S840 in FIG. 34, the program speed of the word line can be sensed for each program loop, and the program voltage of the next program loop can be reflected on the basis of the program speed.
도 30을 참조하면, 메모리 장치는 메모리 셀들에 대한 프로그램 수행 전, 워드 라인의 프로그램 속도(예컨대, 초기 프로그램 속도)를 감지하고, 워드 라인별 프로그램 속도를 기초로 프로그램 전압들의 전압 레벨을 조절할 수 있다. 이에 따라, 워드 라인별 프로그램 속도가 보상될 수 있다. 그러나, 프로그램이 수행됨에 따라, 워드 라인의 프로그램 속도가 달라지고 프로그램 산포가 증가될 수 있다. 본 실시예에 따른 동작 방법에 따르면, 매 프로그램 루프마다 워드 라인의 프로그램 속도를 감지하고, 프로그램 속도에 따른 보상 전압을 다음 프로그램 루프의 프로그램 전압에 반영함으로써, 프로그램 산포 특성을 향상시킬 수 있다.
Referring to Figure 30, the memory device may sense the program rate of the word line (e.g., the initial program rate) and adjust the voltage level of the program voltages based on the word line-by-word program rate prior to program execution for the memory cells . Thus, the word line-specific program speed can be compensated. However, as the program is executed, the program speed of the word line may be changed and the program spread may be increased. According to the operation method according to the present embodiment, the program spreading characteristic can be improved by sensing the program speed of the word line for each program loop and reflecting the compensation voltage according to the program speed to the program voltage of the next program loop.
도 35는 프로그램 수행 중 워드 라인의 프로그램 속도 감지 방법을 나타내는 도면이다.35 is a diagram showing a method of detecting a program speed of a word line during program execution.
도 35는 도 5a 내지 도 19를 참조하여 전술한 본 개시의 실시예에 따른 프로그램 방법에 따라, 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하여 프로그램할 때, 워드 라인의 프로그램 속도 감지 방법을 나타낸다.FIG. 35 is a block diagram of a programming method according to an embodiment of the present disclosure described above with reference to FIGS. 5A to 19, when programming memory cells into a plurality of cell groups according to a program speed, .
도 35를 참조하면, 메모리 셀들이 제1 프로그램 상태(P1)로 프로그램될 경우, 우선 1차 프로그램 전압(Vpgm11)이 메모리 셀들에 인가될 수 있다. 이때, 메모리 셀들의 일부, 예컨대 원-샷 산포의 상위 영역의 메모리 셀들은 제1 프로그램 상태(P1)의 타겟 산포에 포함될 수 있다. 35, when the memory cells are programmed in the first program state P1, the primary program voltage Vpgm11 may first be applied to the memory cells. At this time, some of the memory cells, e.g., memory cells in the upper region of the one-shot scatter, may be included in the target distribution of the first program state P1.
메모리 셀들을 세 개의 셀 그룹으로 구분하기 위하여, 검증 독출이 수행될 수 있다. 이때, 제1 프로그램 상태(P1)에 대한 오프셀의 개수를 카운트하여, 워드 라인의 프로그램 속도를 감지할 수 있다. 예컨대, 제1 프로그램 상태(P1)의 오프셀은, 제1 셀 그룹(MCG1)에 포함되는 셀들일 수 있다. To distinguish the memory cells into three cell groups, a verify read can be performed. At this time, the number of off-cells for the first program state P1 may be counted to sense the program speed of the word line. For example, the off cells of the first program state P1 may be cells included in the first cell group MCG1.
이후, 오프셀을 제외한 메모리 셀들, 예컨대 제2 셀 그룹(MCG2) 및 제3 셀 그룹(MCG3)의 메모리 셀들이 재프로그램되고, 이에 따라, 메모리 셀들이 모두 제1 프로그램 상태(P1)로 프로그램된 후, 메모리 셀들 중 일부가 제2 프로그램 상태(P2)로 프로그램될 수 있다. 이때, 제2 프로그램 상태(P2)에 대한 프로그램 전압 레벨이 설정될 수 있다. 제1 프로그램 상태(P1)를 프로그램 하던 중 감지된 프로그램 속도에 따른 보상 전압에 기초하여 제2 프로그램 상태(P2)에 대한 프로그램 전압들의 전압 레벨, 예컨대 제2 프로그램 전압 셋의 전압 레벨이 설정될 수 있다.Thereafter, the memory cells of the memory cells other than the off-cells, for example the second cell group MCG2 and the third cell group MCG3, are reprogrammed so that all the memory cells are programmed to the first program state P1 , Some of the memory cells may be programmed to the second program state P2. At this time, the program voltage level for the second program state P2 may be set. The voltage level of the program voltages for the second program state P2, for example, the voltage level of the second program voltage set, can be set based on the compensation voltage according to the detected program speed during the programming of the first program state P1 have.
제1 프로그램 상태(P1)의 1차 프로그램 전압(Vpgm11)에 제2 프로그램 오프셋(VoffP2)이 더해져 제2 프로그램 상태(P2)의 1차 프로그램 전압(Vpgm12)이 설정될 수 있는데, 이때, 프로그램 속도에 따른 보상 전압(VoffWL)이 추가로 더해질 수 있다. 이에 따라, 제2 프로그램 상태(P2)의 프로그램 전압들의 전압 레벨에는, 제1 프로그램 상태(P1) 에 대한 프로그램 수행 시 감지된 워드 라인의 프로그램 속도가 반영될 수 있다. The second program offset VoffP2 may be added to the primary program voltage Vpgm11 of the first program state P1 to set the primary program voltage Vpgm12 of the second program state P2, The compensation voltage VoffWL can be further added. Accordingly, the voltage level of the program voltages of the second program state P2 can reflect the program speed of the detected word line in executing the program for the first program state P1.
전술한 본 개시의 실시예에 따른 동작 방법, 다시 말해 프로그램 방법에 따르면, 매 프로그램 루프마다, 워드 라인의 프로그램 속도가 검출되고, 검출된 프로그램 속도는 다음 프로그램 루프의 프로그램 전압에 반영하여 프로그램을 수행함으로써, 각 프로그램 상태의 산포 특성이 향상될 수 있다.
According to the operation method according to the above-described embodiment of the present disclosure, that is, according to the program method, the program speed of the word line is detected for every program loop, and the detected program speed is reflected on the program voltage of the next program loop , The scattering characteristic of each program state can be improved.
도 36은 본 개시의 실시예에 따른 메모리 장치의 동작 방법의 일 실시예를 나타낸다. 36 illustrates an embodiment of a method of operating a memory device according to an embodiment of the present disclosure.
도 36을 참조하면, 매 프로그램 루프마다, 워드 라인의 프로그램 속도가 감지될 수 있다. 메모리 셀이 2 비트의 데이터를 저장하는 멀티 레벨 셀일 경우, 메모리 셀은 제1 내지 제3 프로그램 상태(P1, P2, P3) 중 하나로 프로그램될 수 있다. Referring to FIG. 36, for each program loop, the program rate of the word line can be sensed. When the memory cell is a multi-level cell storing two bits of data, the memory cell can be programmed to one of the first to third program states P1, P2, and P3.
메모리 셀들에 대하여 프로그램이 수행되기 전, 1차 프로그램 속도 감지(SPD1)가 수행될 수 있다. 1차 프로그램 속도 감지(SPD1)에 따른, 워드 라인의 프로그램 속도에 따라, 1차 프로그램 상태(P1)에 대응하는 프로그램 전압들의 전압 레벨, 예컨대, 1차 프로그램 상태(P1)의 1차 프로그램 전압(Vpgm11)이 조절될 수 있다. The primary program speed detection (SPD1) may be performed before the program is executed on the memory cells. The voltage level of the program voltages corresponding to the primary program state P1, for example, the primary program voltage (P1) of the primary program state P1, according to the program speed of the word line in accordance with the primary program speed sensing SPD1 Vpgm11) can be adjusted.
이후, 제1 프로그램 상태(P1)에 대한 프로그램 수행 중, 검증 독출(VF) 단계에서 2차 프로그램 속도 감지(SPD2)가 수행되고, 2차 프로그램 속도 감지(SPD2)에 따른 워드 라인의 프로그램 속도에 따라, 제2 프로그램 상태(P2)에 대응하는 프로그램 전압들의 전압 레벨이 조절될 수 있다. 예컨대, 2차 프로그램 상태(P2)의 1차 프로그램 전압(Vpgm12)의 전압 레벨이 조절될 수 있다. Thereafter, during the execution of the program for the first program state P1, the secondary program speed detection SPD2 is performed in the verify read (VF) step and the program speed of the word line according to the secondary program speed detection (SPD2) Accordingly, the voltage level of the program voltages corresponding to the second program state P2 can be adjusted. For example, the voltage level of the primary program voltage Vpgm12 in the secondary program state P2 can be adjusted.
제2 프로그램 상태(P2)에 대한 프로그램 수행 중, 검증 독출(VF) 단계에서, 3차 프로그램 속도 감지(SPD3)가 수행될 수 있다. 3차 프로그램 속도 감지(SPD3)에 따른, 워드 라인의 프로그램 속도에 따라, 3차 프로그램 상태(P3)에 대응하는 프로그램 전압들의 전압 레벨이 조절될 수 있다. 에컨대, 제3 프로그램 상태(P3)의 1차 프로그램 전압(Vpgm13)의 전압 레벨이 조절될 수 있다.
During program execution for the second program state P2, in the verify read (VF) step, third order program velocity detection SPD3 may be performed. Depending on the programming speed of the word line in accordance with the tertiary program speed sensing SPD3, the voltage level of the program voltages corresponding to the tertiary program state P3 can be adjusted. The voltage level of the primary program voltage Vpgm13 in the third program state P3 can be adjusted.
도 37은 본 개시의 실시예에 따른 메모리 장치의 동작 방법을 보다 상세하게 나타낸 흐름도이다.37 is a flow chart illustrating in greater detail an operation method of a memory device according to an embodiment of the present disclosure.
도 37을 참조하면, 워드 라인에 대한 1차 프로그램 속도 감지가 수행될 수 있다(S910). 상기 1차 프로그램 속도 감지는 메모리 셀들에 대하여 프로그램이 수행 되기 이전에 수행될 수 있으며, 감지된 프로그램 속도를 기초로, 제1 프로그램 상태에 대한 프로그램 전압 레벨이 설정될 수 있다(S920).Referring to FIG. 37, a primary program speed sensing for a word line may be performed (S910). The primary program speed sensing may be performed before the program is executed for the memory cells, and the program voltage level for the first program state may be set based on the sensed program speed (S920).
예컨대, 제1 프로그램 상태(P1)의 1차 프로그램 전압(Vpgm11)에 프로그램 속도에 따른 제1 보상 전압(VoffWL1)이 반영될 수 있다. For example, the first compensation voltage VoffWL1 according to the program speed may be reflected in the primary program voltage Vpgm11 in the first program state P1.
메모리 셀들에 제1 프로그램 상태(P1)의 1차 프로그램 전압(Vpgm11)이 인가됨으로써, 메모리 셀들이 제1 프로그램 상태를 타겟으로 1차 프로그램될 수 있다(S930). By applying the primary program voltage Vpgm11 of the first program state P1 to the memory cells, the memory cells can be primarily programmed to the first program state (S930).
이후, 메모리 셀들의 문턱 전압을 기초로 메모리 셀들을 프로그램 속도에 따른 세 개의 셀 그룹으로 구분할 수 있다(S940). 이때, 워드 라인에 대한 2차 프로그램 속도 감지가 수행될 수 있다(S950). 메모리 셀들이 프로그램 속도에 따른 세 개의 셀 그룹으로 구분될 때, 문턱 전압 영역에서 최상위 상태에 해당하는 제1 셀 그룹은 제1 프로그램 상태(P1)의 타겟 산포에 포함될 수 있다. 상기 제1 셀 그룹에 포함되는 메모리 셀들의 개수를 카운팅하여, 프로그램 속도를 감지할 수 있다. Thereafter, the memory cells can be divided into three cell groups according to the programming speed based on the threshold voltage of the memory cells (S940). At this time, the secondary program speed sensing for the word line may be performed (S950). When the memory cells are divided into three cell groups according to the program speed, the first cell group corresponding to the highest state in the threshold voltage region may be included in the target scatter of the first program state P1. The number of memory cells included in the first cell group may be counted to detect the program speed.
이후, 계속하여 제1 프로그램 상태(P1)에 대한 프로그램이 수행된다. 셀 그룹의 산포가 제1 프로그램 상태(P1)의 타겟 산포에 포함되도록, 메모리 셀들에 대하여 재 프로그램(예컨대 제2 프로그램, 또는 제3 프로그램 등)이 수행될 수 있다. 이에 따라 메모리 셀들이 제1 프로그램 상태(P1)로 프로그램될 수 있다.Thereafter, the program for the first program state P1 is continuously executed. (E.g., a second program, a third program, or the like) may be performed on the memory cells such that the spread of the cell group is included in the target distribution of the first program state P1. Whereby the memory cells can be programmed to the first program state P1.
제1 프로그램 상태(P1)의 프로그램이 완료된 후, 2차 프로그램 속도 감지에 따른 워드 라인의 프로그램 속도를 기초로 제2 프로그램 상태에 대한 프로그램 전압들의 전압 레벨이 설정될 수 있다(S970). 예컨대, 제2 프로그램 상태(P2)의 1차 프로그램 전압(Vpgm12)에 프로그램 속도에 따른 제2 보상 전압(VoffWL2)이 더해질 수 있다.After the program in the first program state P1 is completed, the voltage level of the program voltages for the second program state may be set based on the program speed of the word line in accordance with the second program speed sensing (S970). For example, the second compensation voltage VoffWL2 according to the program speed may be added to the primary program voltage Vpgm12 in the second program state P2.
메모리 셀들에 제2 프로그램 상태(P2)의 1차 프로그램 전압(Vpgm12)이 인가됨으로써, 메모리 셀들이 제2 프로그램 상태(P2)를 타겟으로 1차 프로그램될 수 있다. 이후, 전술한 바와 같이, 각 프로그램 단계마다 워드 라인의 프로그램 속도가 감지되며, 이에 따라 다음 프로그램 단계의 프로그램 전압들의 전압 레벨이 조절될 수 있다.
By applying the primary program voltage Vpgm12 of the second program state P2 to the memory cells, the memory cells can be primarily programmed to target the second program state P2. Thereafter, as described above, the program speed of the word line is sensed for each program step, so that the voltage level of the program voltages of the next program stage can be adjusted.
도 38은 본 개시의 실시예에 따른 프로그램 제어부의 일 예를 나타내는 블록도이다.38 is a block diagram showing an example of a program control unit according to the embodiment of the present disclosure;
일 실시예에 있어서, 프로그램 제어부(160a)는 제어 로직(도 1의 150)에 포함될 수 있다. 다른 실시예에 있어서, 프로그램 제어부(160a)는 별도의 기능 블록으로서 구현될 수 있다. In one embodiment, the
도 38을 참조하면, 프로그램 제어부(160a)는 프로그램 제어 로직(160-1) 및 레지스터(160-2)를 포함할 수 있다. 프로그램 제어 로직(160-1)은 프로그램 동작을 위한 구동 전압들을 설정하는 동작을 수행하고, 설정된 구동 전압들의 전압 레벨을 레지스터(160-2)에 저장될 수 있다. 또한, 프로그램 제어 로직(160-1)은 워드 라인의 프로그램 속도에 따른 보상 전압을 설정하는 동작을 수행하고, 설정된 워드 라인별 보상 전압을 레지스터(160-2)에 저장할 수 있다. Referring to FIG. 38, the
일 실시예에 있어서, 구동 전압들 및 워드 라인별 보상 전압은 테이블 형태로 레지스터(160-2)에 저장될 수 있다. 레지스터(160-2)는 구동 전압들의 전압 레벨, 예컨대 구동 전압들의 디폴트 레벨을 포함하는 제1 테이블(TB1) 및 워드 라인의 프로그램 속도에 따른 보상 전압 레벨을 포함하는 제2 테이블(TB2)을 포함할 수 있다. In one embodiment, the driving voltages and the compensation voltage per word line may be stored in register 160-2 in tabular form. The register 160-2 includes a first table TB1 including a voltage level of driving voltages, e.g., a default level of driving voltages, and a second table TB2 including a compensation voltage level according to a programming speed of a word line can do.
일 실시예에 있어서, 프로그램 제어 로직(160-1)은 메모리 컨트롤러로부터 기입 요청 커맨드가 수신되기 전(예컨대 메모리 장치의 초기화 구간, 등 트레이닝 구간 또는 등)에 구동 전압들의 디폴트 레벨을 설정할 수 있다. 이후, 프로그램 명령이 수신되면, 프로그램될 워드 라인의 프로그램 속도를 검출하고, 프로그램 속도에 따른 보상 전압(VoffWL)의 레벨을 결정할 수 있다. In one embodiment, the program control logic 160-1 may set a default level of drive voltages before the write request command is received from the memory controller (e.g., an initialization interval, a softer training interval, or the like, of the memory device). Thereafter, when a program command is received, the program speed of the word line to be programmed can be detected, and the level of the compensation voltage VoffWL can be determined according to the program speed.
제1 테이블(TB1)에 저장된 구동 전압들의 전압 레벨은 디폴트 레벨일 수 있다. 각각의 워드 라인에 대하여 프로그램이 수행될 경우, 디폴트 레벨의 구동 잔압들에 보상 전압(VoffWL)이 적용되어 구동 전압들이 보상될 수 있다. The voltage level of the driving voltages stored in the first table TB1 may be a default level. When the program is executed for each word line, the compensation voltage VoffWL is applied to the drive voltages of the default level so that the drive voltages can be compensated.
예를 들어, 메모리 컨트롤러로부터 멀티 비트 데이터 및 프로그램 명령이 수신되면, 프로그램 제어부(160)는 워드 라인의 프로그램 속도를 감지하고, 제어 로직(160-1)은 레지스터(160-2)를 액세스하여, 제1 테이블(TB1)의 구동 전압들 및 제2 테이블(TB2)의 프로그램 속도에 따른 보상 전압을 기초로 대응하는 구동 전압들의 전압 레벨을 설정할 수 있다. 또한, 본 개시의 실시예에 따라 프로그램 제어부(160)는 프로그램 수행 중, 워드 라인의 프로그램 속도를 감지하고, 감지된 프로그램 속도에 따라, 제2 테이블(TB2)의 프로그램 속도에 따른 보상 전압을 기초로, 다음 프로그램 상태에 대한 구동 전압들, 예컨대 프로그램 전압들의 전압 레벨을 설정할 수 있다. 그리고, 상기 구동 전압의 전압 레벨을 나타내는 프로그램 제어 신호(CTRL_PGM)를 생성하여 전압 발생부(도 1의 140)에 제공할 수 있다. For example, when a multi-bit data and program instruction is received from the memory controller, the
이상으로 도 38을 참조하여 메모리 장치에 구비되는 프로그램 제어부의 구성 및 기능을 설명하였다. 그러나, 상술한 내용은 일 실시예이며, 본 개시의 기술적 사상은 이에 제한되는 것은 아니다. 레지스터(160-2)에 저장되는 구동 전압들 및 보상 전압들의 형태는 다양할 수 있다. 또한, 프로그램 제어부는 본 개시의 실시예들에 따른 프로그램 방법에 따라 메모리 셀 어레이에 대하여 프로그램이 수행될 수 있도록 메모리 장치를 제어하는 더 다양한 기능들을 수행할 수 있다.
The configuration and functions of the program control unit provided in the memory device have been described above with reference to FIG. However, the above description is an embodiment, and the technical idea of the present disclosure is not limited thereto. The types of driving voltages and compensation voltages stored in the register 160-2 may vary. In addition, the program control unit may perform more various functions for controlling the memory device so that the program can be executed on the memory cell array according to the programming method according to the embodiments of this disclosure.
도 39는 본 개시의 실시예에 따른 메모리 시스템을 나타내는 블록도이다. 39 is a block diagram illustrating a memory system in accordance with an embodiment of the present disclosure.
메모리 시스템(1000)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants: PDA), 피엠피(Portable Multimedia Player: PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 장치에 탑재될 수 있다.The
도 39를 참조하면, 메모리 시스템(1000)은 메모리 장치(100) 및 메모리 컨트롤러(200)를 포함할 수 있다. 메모리 장치(100)는 메모리 셀 어레이(110), 제어 로직(150) 및 프로그램 제어부(160)를 포함할 수 있다.39, the
메모리 셀 어레이(110)는 복수의 메모리 셀 블록을 포함할 수 있으며, 메모리 컨트롤러로부터 수신되는 데이터를 저장할 수 있다. The
제어 로직(150)은 메모리 컨트롤러(200)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다. 예컨대, 제어 로직(150)은 메모리 셀 어레이(110)에 데이터를 기입하거나 메모리 셀 어레이(110)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. The
프로그램 제어부(160)는, 메모리 셀 어레이(110)에 멀티 비트 데이터가 저장되도록 메모리 장치(100)를 제어할 수 있다. 프로그램 제어부(160)는, 하나의 프로그램 상태로 프로그램이 수행되도록 설정된 메모리 셀들을 프로그램 속도에 따라 적어도 세 개의 셀 그룹으로 구분하고 각각의 셀 그룹에 대하여 서로 다른 프로그램 전압 또는 프로그램 횟수가 적용되어 상기 메모리 셀들이 프로그램될 수 있도록 메모리 장치(100)를 제어할 수 있다. 프로그램 제어부(160)는 또한, 워드 라인별 프로그램 속도를 검출하고, 프로그램 속도에 따른 보상 전압을 기초로, 상기 워드 라인에 인가되는 각 프로그램 상태의 프로그램 전압들의 전압 레벨을 조절할 수 있다. 프로그램 제어부(160)는 매 프로그램 루프마다, 프로그램 속도를 감지하고, 감지된 프로그램 속도에 따른 보상 전압을 기초로, 다음 프로그램 루프에 대한 프로그램 전압들의 전압 레벨을 조절할 수 있다. 또한, 프로그램 제어부(160)는 한 워드 라인에 대한 프로그램 수행 시, 상기 워드 라인에 대한 초기 프로그램 수행 후, 인접한 워드라인에 대하여 초기 프로그램을 수행한 후, 상기 워드 라인에 대하여 후기 프로그램을 수행하도록 프로그램 시퀀스를 설정함으로써, 인접한 워드라인간의 커플링 효과를 감소시킬 수 있다. 이외에도, 프로그램 제어부(160)는 도 5a 내지 도 38을 참조하여 설명한 본 개시의 실시예에 따른 메모리 장치의 프로그램 방법에 따라 프로그램이 수행될 수 있도록, 메모리 장치(100)의 각 구성요소, 예컨대, 로우 디코더, 입출력 회로, 전압 생성부 등을 제어할 수 있다. The
메모리 컨트롤러(200)는 호스트(HOST)로부터의 독출/기입 요청에 응답하여 메모리 장치(100)에 저장된 데이터를 독출하도록 또는 메모리 장치(100)에 데이터를 기입하도록 메모리 장치(100)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(200)는 메모리 장치(100)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(100)에 대한 프로그램(또는 기입), 독출 및 소거 동작을 제어할 수 있다. 메모리 컨트롤러(200)는 프로그램 동작을 위한 데이터(DATA)를 메모리 장치(100)에 송신할 수 있다. 메모리 컨트롤러(200)는 메모리 장치(100)의 프로그램 단위에 해당하는 사이즈의 데이터(DATA), 상기 데이터가 저장되는 어드레스(ADDR) 및 기입 요청을 나타내는 커맨드(CMD)를 메모리 장치(100)로 제공할 수 있다. The
도시되지는 않았으나, 메모리 컨트롤러(200)는 램(RAM), 프로세싱 유닛(processing unit), 호스트 인터페이스 및 메모리 인터페이스를 포함할 수 있다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 수 있고, 프로세싱 유닛은 메모리 컨트롤러(200)의 동작을 제어할 수 있다. 호스트 인터페이스는 호스트 및 메모리 컨트롤러(200) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들어, 메모리 컨트롤러(200)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(HOST)와 통신하도록 구성될 수 있다.Although not shown, the
한편, 다른 실시예에 있어서, 프로그램 제어부(160)의 일부 기능은 메모리 컨트롤러(200)에서 수행될 수 있다. 예컨대, 메모리 컨트롤러(200)는 메모리 장치(100)의 메모리 셀 어레이(110)에 대한 프로그램 동작을 제어할 수 있다. 일 실시예에 있어서, 메모리 컨트롤러(200)는 또한, 본 개시의 실시예들에 따른 프로그램 방법을 적용하는 시퀀스를 결정하고, 상기 시퀀스를 나타내는 제어 신호(CTRL)를 메모리 장치(100)에 제공할 수 있다. On the other hand, in another embodiment, some functions of the
예컨대, 프로그램 동작을 위한 구동 전압들의 설정을 제어하기 위한 제어 신호(CTRL)를 메모리 장치(100)에 제공할 수 있다. 또한, 메모리 컨트롤러(200)는 메모리 셀 어레이(110)의 산포 특성 등을 판단하고, 판단 결과에 따라, 프로그램 수행 시 메모리 셀들을 프로그램 속도에 따라 몇 개의 셀 그룹으로 구분할지 결정할 수 있다. 예를 들어, 메모리 셀 어레이(110)의 일부 영역의 메모리 셀들이 열화되어 산포 특성이 나쁘다고 판단되면, 상기 영역의 메모리 셀들에 대하여 프로그램 동작이 수행될 경우, 프로그램 속도에 따라 구분되는 셀 그룹의 개수를 증가시킴으로서, 프로그램 상태의 산포 특성을 개선할 수 있다. For example, the
이와같이, 메모리 컨트롤러(200)는 메모리 장치(100)의 프로그램 속도 또는 프로그램 상태의 메모리 셀들의 산포 특성이 향상되도록 메모리 장치(100)를 제어할 수 있다.
In this way, the
도 40은 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.40 is a block diagram illustrating a memory card system in accordance with one embodiment of the present disclosure;
도 40을 참조하면, 메모리 카드 시스템(2000)은 호스트(2100) 및 메모리 카드(2200)를 포함할 수 있다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속부(2120)를 포함할 수 있다. 메모리 카드(2200)는 카드 접속부(2210), 카드 컨트롤러(2220) 및 메모리 장치(2220)를 포함할 수 있다. 40, the
호스트(2100)는 메모리 카드(2200)에 데이터를 기입하거나, 메모리 카드(2200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(2110)는 커맨드(CMD), 호스트(2100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(2120)를 통해 메모리 카드(2200)로 전송할 수 있다.The
카드 컨트롤러(2220)는 카드 접속부(2210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(2220)에 저장할 수 있다. 메모리 장치(2220)는 호스트(2100)로부터 전송된 데이터를 저장할 수 있다. 메모리 장치(2220)는 도 1을 참조하여 전술한 메모리 장치(도 1의 100)를 포함할 수 있으며, 메모리 장치(2220)는 도 5a 내지 도 38을 참조하여 설명한 본 개시의 실시예에 따른 프로그램 방법 또는 동작 방법에 따라 카드 컨트롤러(2110)으로부터 수신되는 데이터(DATA)를 메모리 셀 어레이에 저장할 수 있다. 데이터를 프로그램 하는 시간이 단축될 수 있으며, 프로그램 산포 특성이 향상됨에 따라, 메모리 카드(2200)의 동작 속도 및 메모리 카드 시스템(2000)의 동작 속도가 향상될 수 있다. The
메모리 카드(2220)는 컴팩트 플래쉬 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래쉬 메모리 드라이버 등으로 구현될 수 있다.
The
도 41은 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다. 41 is a block diagram illustrating a computing system in accordance with one embodiment of the present disclosure.
도 41을 참조하면, 컴퓨팅 시스템(3000)은 메모리 시스템(3100), 프로세서(3200), RAM(3300), 입출력 장치(3400), 및 전원 장치(3500) 포함할 수 있다. 한편, 도 19에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(3000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.41, a
프로세서(3200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3200)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(3200)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3600)를 통하여 RAM(3300), 입출력 장치(3400) 및 메모리 시스템(3100)과 통신을 수행할 수 있다. 실시예에 따라, 프로세서(3200)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 시스템(3100)은 버스(3600)를 통하여 프로세서(3200), RAM(3300) 및 입출력 장치(3500)와 통신할 수 있다. 메모리 시스템(3100)은 프로세서(3200)의 요청에 따라, 수신되는 데이터를 저장하거나 저장된 데이터를 프로세서(3200), RAM(3300) 또는 입출력 장치(3400)에 제공할 수 있다. 한편, 메모리 시스템(3100)은 도 39를 참조하여 설명한 메모리 시스템(1000) 이 적용될 수 있다. 또는 메모리 시스템(3100)은 도 1을 참조하여 설명한 메모리 장치(100)를 포함할 수 있으며, 메모리 장치(3110)는 도 5a 내지 도 38을 참조하여 설명한 본 개시의 실시예에 따른 프로그램 방법 또는 동작 방법에 따라 메모리 컨트롤러(3120)으로부터 수신되는 데이터(DATA)를 메모리 셀 어레이에 저장할 수 있다. 이에 따라 데이터를 프로그램 하는 시간이 단축될 수 있으며, 프로그램 산포 특성이 개선되어, 메모리 시스템(3100)의 동작 속도 및 컴퓨팅 시스템(3000) 동작 속도가 향상될 수 있다.
RAM(3300)은 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, RAM(3300)은 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. The
입출력 장치(3400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3500)는 컴퓨팅 시스템(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
The input /
도 42는 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다. 42 is a block diagram illustrating an SSD system in accordance with one embodiment of the present disclosure;
도 42를 참조하면, SSD 시스템(4000)은 호스트(4100) 및 SSD(4200)를 포함할 수 있다. SSD(4200)는 신호 커넥터(signal connector)를 통해 호스트(4100)와 신호를 주고 받으며, 전원 커넥터(power connector)를 통해 전원을 입력 받는다. Referring to FIG. 42, the
SSD(4200)는 SSD 컨트롤러(4210), 보조 전원 장치(4220) 및 복수의 메모리 장치들(4230, 4240, 4250)을 포함할 수 있다. 상기 복수의 메모리 장치들(4230, 4240, 4250)은 수직 적층형 NAND 플래시 메모리 장치일 수 있다. 복수의 메모리 장치들(4230, 4240, 4250) 중 적어도 하나는 도 1을 참조하여 설명한 메모리 장치(100)를 포함할 수 있다. 구체적으로, 복수의 메모리 장치들(4230, 4240, 4250) 중 적어도 하나는, 도 5a 내지 도 38을 참조하여 설명한 본 개시의 실시예에 따른 프로그램 방법 또는 동작 방법에 따라 SSD 컨트롤러(4210)으로부터 수신되는 데이터(DATA)를 메모리 셀 어레이에 저장할 수 있다. 이에 따라 데이터를 프로그램 하는 시간이 단축될 수 있고 프로그램 산포 특성이 향상되어, SSD(4200)의 동작 특성이 향상될 수 있다.
The
도 43은 본 개시의 실시예에 따른 UFS(uiversal flash storage)를 나타내는 블록도이다. 43 is a block diagram illustrating a universal flash storage (UFS) according to an embodiment of the present disclosure.
도 43을 참조하면, UFS 시스템(5000)은 UFS 호스트(5100), UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 착탈형 UFS 카드(5500)를 포함할 수 있다. UFS 호스트(5100)는 모바일 장치의 어플리케이션 프로세서일 수 있다. UFS 호스트(5100), UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 및 착탈형 UFS 카드(5500) 각각은 UFS 프로토콜에 의하여 외부의 장치들과 통신할 수 있다. UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 및 착탈형 UFS 카드(5500) 중 적어도 하나는 도 1 에 도시된 메모리 장치(100)를 포함할 수 있다. 또한, UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 및 착탈형 UFS 카드(5500) 중 적어도 하나는 도 5a 내지 도 38을 참조하여 설명한 본 개시의 실시예들에 따른 프로그램 방법이 적용될 수 있다. 이에 따라, UFS 시스템(5000)의 동작 속도가 향상될 수 있다. Referring to FIG. 43, the
한편, 임베디드 UFS 장치(5400)와 착탈형 UFS 카드(5500)는 UFS 프로토콜이 아닌 다른 프로토콜에 의해 통신할 수 있다. UFS 호스트(5100)와 착탈형 UFS 카드(5500)는 다양한 카드 프로토콜(예를 들어, UFDs, MMC, SD, mini SD, Micro SD 등)에 의해 통신할 수 있다.
Meanwhile, the embedded
본 개시의 실시예들에 따른 메모리 카드, 비휘발성 메모리 장치, 카드 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 개시에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.Memory cards, non-volatile memory devices, and card controllers in accordance with embodiments of the present disclosure may be implemented using various types of packages. For example, the flash memory device and / or the memory controller according to the present disclosure may be implemented as a package on package, ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carriers (PLCC) Linear Package (PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flatpack Outline (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline (TSOP), System In Package (SIP), Multi Chip Package (MCP), Wafer-Level Fabricated Package (WFP) WSP), and the like.
본 개시는 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.Although the present disclosure has been described with reference to the embodiments shown in the drawings, it is to be understood that various modifications and equivalent embodiments may be made by those skilled in the art without departing from the scope and spirit of the present invention. Accordingly, the true scope of protection of the present disclosure should be determined by the technical idea of the appended claims.
1000: 메모리 시스템
100: 메모리 장치
200: 메모리 컨트롤러
160: 프로그램 제어부1000: Memory system
100: memory device
200: Memory controller
160: Program control section
Claims (10)
n번째 워드라인의 메모리 셀들을 상기 n번째 워드라인에 대응하는 1차 프로그램 전압을 기초로 프로그램하는 단계;
n+1번째 워드라인의 메모리 셀들을 상기 n+1번째 워드라인에 대응하는 1차 프로그램 전압을 기초로 프로그램하는 단계; 및
상기 n번째 워드라인의 상기 메모리 셀들을 프로그램 속도에 따른 복수의 셀 그룹으로 구분하고, 상기 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 복수의 2차 프로그램 전압을 기초로, 상기 n번째 워드라인의 메모리 셀들을 상기 타겟 상태로 재프로그램하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법. A method of programming a non-volatile memory device including memory cells storing multi-bit data,
programming the memory cells of the nth word line based on a primary program voltage corresponding to the nth word line;
programming the memory cells of the (n + 1) th word line based on the primary program voltage corresponding to the (n + 1) th word line; And
Wherein the memory cells of the n-th word line are divided into a plurality of cell groups according to a program rate, and based on a plurality of secondary program voltages set based on a threshold voltage difference between the plurality of cell groups, And reprogramming the memory cells of the line to the target state.
상기 멀티 비트 데이터에 대응하는 복수의 프로그램 상태 각각에 대응하는 복수의 제1 프로그램 전압을 포함하고,
상기 n번째 워드라인의 메모리 셀들을 상기 1차 전압을 기초로 프로그램하는 단계는,
상기 n번째 워드라인의 메모리 셀들에 상기 복수의 제1 프로그램 전압을 차례로 인가하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법. 2. The method of claim 1,
And a plurality of first program voltages corresponding to each of a plurality of program states corresponding to the multi-bit data,
Programming the memory cells of the nth word line based on the primary voltage comprises:
And sequentially applying the plurality of first program voltages to the memory cells of the nth word line.
상기 복수의 제1 프로그램 전압은, 상기 제1 내지 제3 프로그램 상태 각각에 대응하여 설정되는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. 3. The method of claim 2, wherein the plurality of program states include first to third program states,
Wherein the plurality of first program voltages are set corresponding to the first to third program states, respectively.
상기 n번째 워드라인에 제1 프로그램 상태에 대응하는 제1의 1차 전압을 인가하는 단계; 및
상기 n번째 워드라인에 제2 프로그램 상태에 대응하는 제2의 1차 전압을 인가하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법. 3. The method of claim 2, wherein programming the memory cells of the nth word line based on the primary voltage comprises:
Applying a first primary voltage corresponding to a first program state to the nth word line; And
And applying a second primary voltage corresponding to a second program state to the nth word line.
상기 n번째 워드라인의 메모리 셀들을 상기 멀티 비트 데이터에 대응하는 복수의 프로그램 상태 각각에 대한 복수의 셀 그룹으로 구분하는 단계; 및
상기 복수의 프로그램 상태 각각에 대한 상기 복수의 셀 그룹간의 문턱 전압 차이에 기초하여 설정되는 상기 복수의 프로그램 상태 각각에 대한 복수의 2차 프로그램 전압을 기초로, 상기 n번째 워드라인의 메모리 셀들을 상기 타겟 상태로 재프로그램하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법. 2. The method of claim 1, wherein reprogramming the memory cells of the nth word line to the target state comprises:
Dividing memory cells of the nth word line into a plurality of cell groups for each of a plurality of program states corresponding to the multi-bit data; And
Based on a plurality of secondary program voltages for each of the plurality of program states set based on a threshold voltage difference between the plurality of cell groups for each of the plurality of program states, And reprogramming to a target state.
상기 n번째 워드라인의 메모리 셀들 중 제1 프로그램 상태에 대응하는 상기 제1의 1차 프로그램 전압이 인가된 메모리 셀들을 상기 제1 프로그램 상태에 대한 복수의 셀 그룹으로 구분하는 단계;
상기 n번째 워드라인의 메모리 셀들 중 제2 프로그램 상태에 대응하는 제2의 1차 프로그램 전압이 인가된 메모리 셀들을 상기 제2 프로그램 상태에 대한 복수의 셀 그룹으로 구분하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. 6. The method of claim 5, wherein the dividing into the plurality of cell groups comprises:
Dividing memory cells to which the first primary program voltage corresponding to a first program state among the memory cells of the nth word line is applied into a plurality of cell groups for the first program state;
And dividing memory cells to which a second primary program voltage corresponding to a second program state among the memory cells of the nth word line is applied into a plurality of cell groups for the second program state, Lt; RTI ID = 0.0 > volatile < / RTI > memory device.
상기 n번째 워드라인의 메모리 셀들 중 제1 프로그램 상태에 대응하는 제1의 1차 프로그램 전압이 인가된 제1 메모리 셀들을 복수의 셀 그룹으로 구분하고, 제1의 2차 프로그램 전압을 기초로 상기 제1 메모리 셀들을 재프로그램하는 단계; 및
상기 n번째 워드라인의 메모리 셀들 중 제2 프로그램 상태에 대응하는 제2 1차 프로그램 전압이 인가된 제2 메모리 셀들을 복수의 셀 그룹으로 구분하고, 제2의 2차 프로그램 전압을 기초로 상기 제2 메모리 셀들을 재프로그램하는 단계를 포함하는 비휘발성 메모리 장치의 프로그램 방법. 2. The method of claim 1, wherein reprogramming the memory cells of the nth word line to the target state comprises:
A first memory cell in which a first program voltage corresponding to a first program state of memory cells of the nth word line is applied is divided into a plurality of cell groups, Re-programming the first memory cells; And
A second memory cell in which a second program voltage corresponding to a second program state of the memory cells of the nth word line is applied is divided into a plurality of cell groups, Lt; RTI ID = 0.0 > 1, < / RTI > 2 memory cells.
상기 n번째 워드라인에 대응하는 상기 1차 프로그램 전압이, 상기 n번째 워드라인의 메모리 셀들 중 상대적으로 프로그램 속도가 빠른 m개 미만의 메모리 셀들을 각각 대응하는 타겟 상태로 프로그램하도록 설정될 때,
상기 n번째 워드라인의 상기 복수의 셀 그룹 중, 문턱 전압이 가장 높은 제1 셀 그룹은, m개의 메모리 셀들을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법. 3. The method of claim 2,
When the primary program voltage corresponding to the n-th word line is set to program each of the memory cells of the n-th word line with less than m memory cells of relatively fast programming speed,
Wherein among the plurality of cell groups of the nth word line, the first cell group having the highest threshold voltage includes m memory cells.
상기 n번째 워드라인의 초기 프로그램 속도를 검출하는 단계; 및
상기 초기 프로그램 속도를 기초로, 상기 멀티 비트 데이터에 대응하는 복수의 프로그램 상태들 각각에 대응하는 상기 1차 프로그램 전압의 전압 레벨을 조절하는 단계를 더 포함하는 비휘발성 메모리 장치의 프로그램 방법.The method according to claim 1,
Detecting an initial program rate of the nth word line; And
And adjusting a voltage level of the primary program voltage corresponding to each of a plurality of program states corresponding to the multi-bit data, based on the initial program rate.
상기 n번째 워드라인에 프리 프로그램 전압을 인가하는 단계; 및
프리 프로그램 상태에 대한 오프셀로 검출된 메모리 셀들의 개수를 카운팅하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.10. The method of claim 9, wherein detecting the initial program rate of the nth word line comprises:
Applying a pre-program voltage to the nth word line; And
And counting the number of memory cells detected as off-cells for the pre-programmed state.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150171434A KR102502234B1 (en) | 2015-12-03 | 2015-12-03 | Programming method of a non volatile memory device |
US15/294,995 US9953703B2 (en) | 2015-10-16 | 2016-10-17 | Programming method of non volatile memory device |
US15/917,753 US10090045B2 (en) | 2015-10-16 | 2018-03-11 | Programming method of non volatile memory device according to program speed of memory cells |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150171434A KR102502234B1 (en) | 2015-12-03 | 2015-12-03 | Programming method of a non volatile memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170065240A true KR20170065240A (en) | 2017-06-13 |
KR102502234B1 KR102502234B1 (en) | 2023-02-21 |
Family
ID=59218738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150171434A KR102502234B1 (en) | 2015-10-16 | 2015-12-03 | Programming method of a non volatile memory device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102502234B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200071605A (en) * | 2018-12-11 | 2020-06-19 | 에스케이하이닉스 주식회사 | Semiconductor memory device and operating method thereof |
US11475975B2 (en) | 2020-04-20 | 2022-10-18 | SK Hynix Inc. | Semiconductor memory device and method of operating the semiconductor memory device |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100891405B1 (en) * | 2007-09-27 | 2009-04-02 | 주식회사 하이닉스반도체 | Non volatile memory device and method for operating thereof |
KR20120055733A (en) * | 2003-10-20 | 2012-05-31 | 가부시끼가이샤 도시바 | Programming method based on the behaviour of non-volatile memory cells |
KR20130012308A (en) * | 2011-07-25 | 2013-02-04 | 삼성전자주식회사 | Method of programming a nonvolatile memory device |
KR20130015401A (en) * | 2011-08-03 | 2013-02-14 | 삼성전자주식회사 | Non-volatile memory device and program method thereof |
KR20130016619A (en) * | 2011-08-08 | 2013-02-18 | 삼성전자주식회사 | Program method of non-volatile memory device |
KR20140074552A (en) * | 2012-12-10 | 2014-06-18 | 에스케이하이닉스 주식회사 | Semiconductor device and operating method thereof |
KR20140096796A (en) * | 2013-01-29 | 2014-08-06 | 삼성전자주식회사 | Multi-level Nonvolatile memory and Method of Progmming threrof |
KR20150029405A (en) * | 2013-09-10 | 2015-03-18 | 에스케이하이닉스 주식회사 | Semiconductor memory device and programming method thereof |
KR20150050019A (en) * | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | Nonvolatile memory device and defected wordline detection method thereof |
KR20150091684A (en) * | 2014-02-03 | 2015-08-12 | 에스케이하이닉스 주식회사 | Semiconductor Apparatus |
KR20160065508A (en) * | 2014-12-01 | 2016-06-09 | 박금숙 | Sludge dewatering device |
-
2015
- 2015-12-03 KR KR1020150171434A patent/KR102502234B1/en active IP Right Grant
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120055733A (en) * | 2003-10-20 | 2012-05-31 | 가부시끼가이샤 도시바 | Programming method based on the behaviour of non-volatile memory cells |
KR100891405B1 (en) * | 2007-09-27 | 2009-04-02 | 주식회사 하이닉스반도체 | Non volatile memory device and method for operating thereof |
KR20130012308A (en) * | 2011-07-25 | 2013-02-04 | 삼성전자주식회사 | Method of programming a nonvolatile memory device |
KR20130015401A (en) * | 2011-08-03 | 2013-02-14 | 삼성전자주식회사 | Non-volatile memory device and program method thereof |
KR20130016619A (en) * | 2011-08-08 | 2013-02-18 | 삼성전자주식회사 | Program method of non-volatile memory device |
KR20140074552A (en) * | 2012-12-10 | 2014-06-18 | 에스케이하이닉스 주식회사 | Semiconductor device and operating method thereof |
KR20140096796A (en) * | 2013-01-29 | 2014-08-06 | 삼성전자주식회사 | Multi-level Nonvolatile memory and Method of Progmming threrof |
KR20150029405A (en) * | 2013-09-10 | 2015-03-18 | 에스케이하이닉스 주식회사 | Semiconductor memory device and programming method thereof |
KR20150050019A (en) * | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | Nonvolatile memory device and defected wordline detection method thereof |
KR20150091684A (en) * | 2014-02-03 | 2015-08-12 | 에스케이하이닉스 주식회사 | Semiconductor Apparatus |
KR20160065508A (en) * | 2014-12-01 | 2016-06-09 | 박금숙 | Sludge dewatering device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200071605A (en) * | 2018-12-11 | 2020-06-19 | 에스케이하이닉스 주식회사 | Semiconductor memory device and operating method thereof |
US10885993B2 (en) | 2018-12-11 | 2021-01-05 | SK Hynix Inc. | Semiconductor memory device and operating method thereof |
US11238947B2 (en) | 2018-12-11 | 2022-02-01 | SK Hynix Inc. | Semiconductor memory device and operating method thereof |
US11475975B2 (en) | 2020-04-20 | 2022-10-18 | SK Hynix Inc. | Semiconductor memory device and method of operating the semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
KR102502234B1 (en) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10090045B2 (en) | Programming method of non volatile memory device according to program speed of memory cells | |
KR102532998B1 (en) | Nonvolatile memory device and method of programming in the same | |
KR102579879B1 (en) | Nonvolatile memory devices and method of reading the same | |
CN107123442B (en) | Memory device and memory system | |
KR102442337B1 (en) | Nonvolatile memory device and method of operating the same | |
CN106486166B (en) | Memory device, memory system and operating method thereof | |
KR102505852B1 (en) | Operating method of non-volatile memory device | |
KR101913331B1 (en) | Nonvolatile memory device, novolatile memory system, program method thereof, and operation method of controller controlling the same | |
KR102274280B1 (en) | Method of operating a non-volatile memory device | |
US9978458B2 (en) | Memory device, memory system, and read/verify operation method of the memory device | |
KR102449196B1 (en) | Nonvolatile memory device and program method of a nonvolatile memory device | |
KR102360211B1 (en) | Methods of operating memory systems | |
KR102347182B1 (en) | Memory device, Memory system, Method of operating the memory device and Method of operating the memory system | |
KR20140025164A (en) | Nonvolitile memory device and data processing methods thereof | |
KR20100033192A (en) | Flash memory device and systems and reading methods thereof | |
CN109872761B (en) | Nonvolatile memory device for improving data reliability and method of operating the same | |
KR20160109906A (en) | Nonvolatile memory device and program method of a nonvolatile memory device | |
KR102504295B1 (en) | Nonvolatile Memory Device, and Programming Method Thereof | |
KR102131060B1 (en) | Read and write operation method of nonvolatile memory device | |
KR20190102508A (en) | Nonvolatile memory device and operating method of the same | |
KR20150031778A (en) | Non-volatile memory device and method of operation thereof | |
KR102502234B1 (en) | Programming method of a non volatile memory device | |
KR102397394B1 (en) | Operating method of a non volatile memory device | |
KR102361642B1 (en) | Programming method and operating method of a non volatile memory device | |
KR20180086047A (en) | A nonvolatile memory device for varying a recovery interval and an operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |