KR20110001095A - Non volatile memory device and method of programming the same - Google Patents

Non volatile memory device and method of programming the same Download PDF

Info

Publication number
KR20110001095A
KR20110001095A KR1020090058486A KR20090058486A KR20110001095A KR 20110001095 A KR20110001095 A KR 20110001095A KR 1020090058486 A KR1020090058486 A KR 1020090058486A KR 20090058486 A KR20090058486 A KR 20090058486A KR 20110001095 A KR20110001095 A KR 20110001095A
Authority
KR
South Korea
Prior art keywords
program
pulse
pulses
page
start voltage
Prior art date
Application number
KR1020090058486A
Other languages
Korean (ko)
Inventor
신태식
백광호
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to KR1020090058486A priority Critical patent/KR20110001095A/en
Publication of KR20110001095A publication Critical patent/KR20110001095A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Abstract

PURPOSE: A non-volatile memory and a programming method are provided to improve the program speed by differently setting the program initiation voltage by determining a page where a slow cell is. CONSTITUTION: The memory cells comprise the several physical pages for storing data. A controller(160) generates the program pulse for the program operation. A pulse generating part(162) generates the program pulse. A pulse counter(163) counts the number of the program pulse generated by the pulse generating part.

Description

불휘발성 메모리 소자 및 그 프로그램 방법{Non volatile memory device and method of programming the same}Non-volatile memory device and method of programming thereof

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

메모리 소자 중에서 불휘발성 메모리 소자는 전원 공급이 중단되어도 저장된 데이터가 지워지지 않는 특성이 있다. 대표적인 불휘발성 메모리 소자로 플래시 메모리 소자가 있다. 플래시 메모리 소자는 메모리 셀 어레이의 구조에 따라 크게 노아 플래시 메모리 소자와 낸드 플래시 메모리 소자로 구분할 수 있다. 플래시 메모리 셀의 게이트는 터널 절연막, 플로팅 게이트, 유전체막 및 컨트롤 게이트를 포함하는 구조로 이루어진다. Among the memory devices, the nonvolatile memory device does not erase stored data even when power supply is interrupted. A typical nonvolatile memory device is a flash memory device. Flash memory devices can be classified into NOR flash memory devices and NAND flash memory devices according to the structure of the memory cell array. The gate of the flash memory cell has a structure including a tunnel insulating film, a floating gate, a dielectric film, and a control gate.

불휘발성 메모리 소자의 메모리 셀은 F-N 터널링을 이용해서 프로그램한다. 프로그램 동작시에 메모리 셀의 컨트롤 게이트에 고전압을 인가하면, 플로팅 게이트로 전자가 축적된다. 그리고 리드 동작 시 플로팅 게이트에 축적된 전자의 양에 따라 달라지는 메모리 셀의 문턱전압을 검출하고 검출된 문턱전압의 레벨에 따라서 저장된 데이터가 결정된다.Memory cells of the nonvolatile memory device are programmed using F-N tunneling. When a high voltage is applied to the control gate of the memory cell during the program operation, electrons are accumulated in the floating gate. In the read operation, the threshold voltage of the memory cell, which varies according to the amount of electrons accumulated in the floating gate, is detected, and the stored data is determined according to the detected threshold voltage level.

메모리 셀의 컨트롤 게이트에 인가되는 전압에 따라서 플로팅 게이트에 축적 되는 전자의 양이 결정된다. 그러나 모든 메모리 셀이 동일한 특성을 갖는 것이 아니기 때문에 동일한 전압을 컨트롤 게이트에 인가하여도, 플로팅 게이트에 축적되는 전하의 양이 틀려질 수 있다. 따라서 프로그램이 진행되는 속도도 메모리 셀의 특성에 따라 달라진다.The amount of electrons accumulated in the floating gate is determined by the voltage applied to the control gate of the memory cell. However, since not all memory cells have the same characteristics, even if the same voltage is applied to the control gate, the amount of charge accumulated in the floating gate may be different. Therefore, the speed at which the program proceeds also depends on the characteristics of the memory cell.

따라서 본 발명이 이루고자 하는 기술적 과제는 프로그램이 느리게 진행되는 슬로우(Slow) 셀이 있는 페이지에 대한 프로그램 시작 전압을 다른 페이지에 대한 프로그램 시작 전압과 다르게 하여 불필요한 프로그램 펄스 인가를 줄여 프로그램 성능을 향상시킬 수 있는 불휘발성 메모리 소자 및 그 프로그램 방법을 제공하는데 있다.Therefore, the technical problem to be achieved by the present invention is to improve the program performance by reducing the application of unnecessary program pulses by changing the program start voltage for a page with a slow cell that is slower than the program start voltage for another page. The present invention provides a nonvolatile memory device and a program method thereof.

본 발명의 특징에 따른 불휘발성 메모리 소자는,Nonvolatile memory device according to a feature of the present invention,

데이터 저장을 위한 여러 개의 물리 페이지를 포함하고, 각각의 물리 페이지가 제 1 및 제 2 논리 페이지를 포함하는 메모리 셀들; 상기 메모리 셀들을 프로그램을 할 때, 프로그램 동작을 위한 프로그램 펄스를 생성하고, 제 1 논리 페이지가 프로그램될 때 까지 생성되는 프로그램 펄스 수에 따라 제 2 논리 페이지의 프로그램 시작 전압이 변경되도록 제어하는 제어부를 포함한다.Memory cells including a plurality of physical pages for data storage, each physical page including first and second logical pages; When the memory cells are programmed, the controller generates a program pulse for a program operation and controls the program start voltage of the second logical page to be changed according to the number of program pulses generated until the first logical page is programmed. Include.

상기 제어부는, 상기 프로그램 펄스를 생성하는 펄스 생성부; 상기 제 1 논리 페이지에 대한 프로그램이 완료될 때까지, 상기 펄스 생성부가 생성하는 프로그램 펄스의 개수를 카운트하는 펄스 카운터; 상기 펄스 카운터가 카운트한 펄스의 개수에 따라서 제 2 논리 페이지의 프로그램 시작 전압을 설정하고, 프로그램 동작을 제어하기 위한 프로그램 제어부를 포함한다.The control unit includes a pulse generator for generating the program pulse; A pulse counter that counts the number of program pulses generated by the pulse generator until the program for the first logical page is completed; And a program controller configured to set a program start voltage of a second logical page according to the number of pulses counted by the pulse counter, and control a program operation.

상기 제어부는 상기 펄스 카운터가 카운트한 펄스의 개수를 저장하기 위한 레지스터를 더 포함한다.The controller further includes a register for storing the number of pulses counted by the pulse counter.

상기 레지스터에 상기 펄스 개수에 따른 프로그램 시작 전압 정보가 저장되는 것을 특징으로 한다.The program start voltage information according to the number of pulses is stored in the register.

상기 프로그램 제어부는, 상기 펄스 카운터가 카운트한 펄스의 개수가 많을수록 상기 제 2 논리 페이지의 프로그램 시작 전압을 높게 설정하는 것을 특징으로 한다.The program controller sets the program start voltage of the second logical page to be higher as the number of pulses counted by the pulse counter increases.

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

하나의 물리 페이지가 제 1 및 제 2 논리 페이지를 포함하는 불휘발성 메모리 소자가 제공되는 단계; 상기 제 1 논리 페이지의 프로그램이 완료될 때까지 생성되는 펄스의 개수를 카운팅하는 단계; 및 상기 제 2 논리 페이지를 프로그램하기 전에, 상기 카운팅된 펄스의 개수에 따라 상기 제 2 논리 페이지를 프로그램하기 위한 프로그램 시작 전압을 설정하고 상기 제 2 논리 페이지의 프로그램을 수행하는 단계를 포함한다.Providing a nonvolatile memory device in which one physical page includes first and second logical pages; Counting the number of pulses generated until the program of the first logical page is completed; And before programming the second logical page, setting a program start voltage for programming the second logical page according to the number of counted pulses and performing a program of the second logical page.

상기 카운팅된 펄스의 개수는 별도 저장부에 저장되는 것을 특징으로 한다.The number of counted pulses is stored in a separate storage unit.

상기 제 2 논리 페이지의 프로그램 시작 전압은, 상기 카운팅된 펄스의 개수가 많을수록, 높은 전압 레벨로 설정되는 것을 특징으로 한다.The program start voltage of the second logical page is set to a higher voltage level as the number of counted pulses increases.

상기 카운팅된 펄스의 개수에 따라 설정하기 위한 프로그램 시작 전압 정보를 상기 불휘발성 메모리 소자의 별도의 저장부에 미리 저장하는 것을 특징으로 한다.The program start voltage information for setting according to the counted pulses may be stored in advance in a separate storage unit of the nonvolatile memory device.

이상에서 설명한 바와 같이, 본 발명에 따른 불휘발성 메모리 소자 및 그 프로그램 방법은 슬로우(Slow) 셀이 있는 페이지를 판단하고, 슬로우 셀이 있는 페이지에 대해서는 프로그램 시작 전압을 다르게 설정하여 프로그램 속도를 향상시킬 수 있다.As described above, the nonvolatile memory device and the program method thereof according to the present invention can determine a page having a slow cell and improve a program speed by setting a different program start voltage for a page having a slow cell. Can be.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. It is provided to inform you.

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

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

메모리 셀 어레이(110)는 복수개의 메모리 셀들이 비트라인(Bit Line; BL)과 워드라인(Word Line; WL)으로 연결된다. In the memory cell array 110, a plurality of memory cells are connected to a bit line BL and a word line WL.

불휘발성 메모리 소자(100)는 프로그램을 수행할 때 페이지 단위로 프로그램을 수행한다. 이때 메모리 셀에 저장할 수 있는 비트의 개수가 하나인 싱글 레벨 셀(Single Level Cell)은 하나의 페이지가 하나의 워드라인에 대응된다.The nonvolatile memory device 100 performs a program in units of pages when performing a program. In this case, one page corresponds to one word line in a single level cell having one bit that can be stored in a memory cell.

그리고 메모리 셀에 저장할 수 있는 비트의 개수가 2개인 멀티 레벨 셀(Multi Level Cell)의 경우에는 하나의 워드라인은 물리적인 페이지에 대응되고, 하나의 워드라인에는 저장될 수 있는 비트의 개수에 따라서 논리적인 페이지가 복수개 포함된다. 예를 들어 3비트를 저장할 수 있는 경우 하나의 물리 페이지는 3개의 논리 페이지를 포함한다.In the case of a multi-level cell having two bits that can be stored in a memory cell, one word line corresponds to a physical page, and one word line corresponds to the number of bits that can be stored. A plurality of logical pages are included. For example, if three bits can be stored, one physical page includes three logical pages.

본 발명의 실시 예에 따른 메모리 셀들은 2비트의 데이터를 저장할 수 있는 멀티 레벨 셀이며, 하나의 물리 페이지에 LSB(Least Significant Bit) 페이지와 MSB(Most Significant Bit) 페이지로 나뉘는 논리 페이지가 포함된다.Memory cells according to an embodiment of the present invention are multi-level cells capable of storing two bits of data, and one physical page includes a logical page divided into a LSB (Least Significant Bit) page and a MSB (Most Significant Bit) page. .

페이지 버퍼부(120)는 하나 이상의 비트라인에 연결되는 페이지 버퍼들을 포함한다. 각각의 페이지 버퍼는 하나 이상의 래치회로를 포함하고, 프로그램을 위한 데이터를 래치하거나, 메모리 셀에 저장된 데이터를 독출하여 저장한다.The page buffer unit 120 includes page buffers connected to one or more bit lines. Each page buffer includes one or more latch circuits, and latches data for a program or reads and stores data stored in a memory cell.

데이터 입출력부(130)는 제어부(160)의 제어신호에 따라서 페이지 버퍼부(120)에 데이터 입출력을 한다.The data input / output unit 130 performs data input / output to the page buffer unit 120 according to the control signal of the controller 160.

X 디코더(140)는 메모리 셀 어레이(110)의 워드라인들을 동작 전압이 제공되는 글로벌 워드라인(Global Word Line; GWL)에 연결한다.The X decoder 140 connects word lines of the memory cell array 110 to a global word line GWL provided with an operating voltage.

전압 제공부(150)는 제어부(160)에서 입력되는 제어신호에 의해서 프로그램 전압, 패스전압, 독출전압을 포함한 동작 전압들을 생성하여 글로벌 워드라인(GWL)에 제공한다.The voltage provider 150 generates operating voltages including a program voltage, a pass voltage, and a read voltage based on a control signal input from the controller 160 and provides the generated voltages to the global word line GWL.

특히 프로그램 동작에서, 전압 제공부(150)는 제어부(160)에서 입력되는 제어신호에 의해 프로그램 전압을 생성하고, 제어부(160)에서 입력되는 프로그램 펄 스에 따른 프로그램 전압을 글로벌 워드라인(GWL)들 중 프로그램 전압 제공을 위한 글로벌 워드라인(GWL)으로 제공한다.In particular, in the program operation, the voltage providing unit 150 generates a program voltage according to a control signal input from the controller 160 and converts the program voltage according to the program pulse input from the controller 160 into the global word line GWL. Among them, a global word line (GWL) for providing a program voltage is provided.

제어부(160)는 불휘발성 메모리 소자(100)의 동작을 제어하는 제어신호들을 출력한다. 본 발명의 실시 예에 따른 제어부(160)는 프로그램 제어부(161), 펄스 생성부(162), 펄스 카운터(163) 및 레지스터(164)를 포함한다.The controller 160 outputs control signals for controlling the operation of the nonvolatile memory device 100. The controller 160 according to an exemplary embodiment of the present invention includes a program controller 161, a pulse generator 162, a pulse counter 163, and a register 164.

프로그램 제어부(161)는 프로그램 동작 제어를 위한 제어신호들을 출력한다. 특히 레지스터(164)에 저장된 펄스 수 정보에 따라서 프로그램 시작 전압을 설정하고, 설정된 프로그램 시작 전압에 대한 정보를 전압 제공부(150)로 제공하여 프로그램 전압을 생성하게 한다.The program controller 161 outputs control signals for controlling the program operation. In particular, the program start voltage is set according to the pulse number information stored in the register 164, and information about the set program start voltage is provided to the voltage providing unit 150 to generate the program voltage.

펄스 생성부(162)는 프로그램 동작이 수행되는 동안에 전압 제공부(150)에 제공하기 위한 프로그램 펄스를 생성한다. 펄스 생성부(152)는 프로그램 제어부(161)의 제어에 의해서 펄스를 생성한다.The pulse generator 162 generates a program pulse for providing to the voltage provider 150 while the program operation is performed. The pulse generator 152 generates a pulse under the control of the program controller 161.

펄스 카운터(163)는 펄스 생성부(162)가 프로그램을 종료할 때까지 생성하는 펄스의 개수를 카운팅하고, 카운팅된 펄스 수 정보는 레지스터(164)에 저장된다. 또한 레지스터(164)는 프로그램 펄스 수 정보에 따라서 각각 설정해야 하는 프로그램 시작 전압에 대한 정보를 저장할 수 있다.The pulse counter 163 counts the number of pulses generated by the pulse generator 162 until the program ends, and the counted pulse number information is stored in the register 164. In addition, the register 164 may store information about program start voltages to be set, respectively, according to the program pulse number information.

불휘발성 메모리 소자(100)는 프로그램을 수행할 때, 한 번에 고전압을 프로그램 전압으로 인가하여 프로그램을 하지 않고, ISPP(Increment Step Pulse Program) 방식에 따라 프로그램 펄스에 따라서 프로그램 전압을 스텝 전압만큼 상승시켜 제공한다.When performing a program, the nonvolatile memory device 100 does not program by applying a high voltage as a program voltage at a time, and increases a program voltage by a step voltage according to a program pulse according to an incremental step pulse program (ISPP) method. Provide it.

도 2a 및 도 2b는 일실시 예에 따른 불휘발성 메모리 소자의 프로그램 동작에서 인가되는 프로그램 전압을 나타낸다.2A and 2B illustrate a program voltage applied in a program operation of a nonvolatile memory device according to example embodiments.

특히 도 2a는 본 발명의 실시 예에 따른 불휘발성 메모리 소자(100)를 프로그램 펄스에 따라 인가되는 프로그램 전압 중, LSB 페이지 프로그램시에 인가되는 프로그램 전압이고, 도 2b는 MSB 페이지 프로그램시에 인가되는 프로그램 전압이다.Particularly, FIG. 2A is a program voltage applied when programming an LSB page among program voltages applied to a nonvolatile memory device 100 according to a program pulse, and FIG. 2B is applied when programming an MSB page. Program voltage.

도 2a에서 LSB 페이지 프로그램을 할 때, 프로그램 펄스가 인가됨에 따라 프로그램 전압(Vpgm)을 제 1 프로그램 시작 전압(Vpgm_start1)으로부터 스텝 펄스(Vst)만큼 상승시켜 인가한다고 가정한다. 그리고 제 1 케이스(A)는 일반적인 프로그램 속도를 갖는 노멀(normal) 메모리 셀에 인가되는 프로그램 전압이고, 제 2 케이스(B)는 프로그램 속도가 느린 슬로우(Slow) 셀에 인가되는 프로그램 전압이다. In the LSB page program of FIG. 2A, it is assumed that the program voltage Vpgm is increased by the step pulse Vst from the first program start voltage Vpgm_start1 as the program pulse is applied. The first case A is a program voltage applied to a normal memory cell having a general program speed, and the second case B is a program voltage applied to a slow cell having a slow program speed.

제 1 케이스(A)의 경우에 프로그램 펄스가 제 1 프로그램 펄스(P1)에서 제 5 프로그램 펄스(P5)까지 인가되면 프로그램이 완료된다고 할 때, 제 2 케이스(B)는 제 6 프로그램 펄스(P6)까지 인가되어야 프로그램이 완료된다. 즉 노멀 셀에 비하여 슬로우 셀은 더 많은 프로그램 펄스를 인가하여 더 높은 프로그램 전압까지 인가해야만 프로그램이 완료된다.In the case of the first case A, when the program is completed when the program pulse is applied from the first program pulse P1 to the fifth program pulse P5, the second case B is the sixth program pulse P6. The program must be completed until). That is, compared to normal cells, slow cells apply more program pulses to higher program voltages to complete the program.

이는 MSB 페이지의 경우에도 마찬가지로 나타난다.This is also true for MSB pages.

도 2b에서, 제 2 프로그램 시작전압(Vpgm_start2)에서 시작하여 스텝 전압(Vst)만큼 프로그램 전압을 상승시킨다고 할 때 제 1 케이스(A)는 제 6 프로그램 펄스(P6)까지 인가했을 때 프로그램이 완료된다면, 제 2 케이스(B)는 제 7 프로그램 펄스(P7)까지 인가해야 프로그램이 완료된다.In FIG. 2B, when the program voltage is increased by the step voltage Vst starting from the second program start voltage Vpgm_start2, if the first case A is applied up to the sixth program pulse P6, the program is completed. The second case B must be applied up to the seventh program pulse P7 to complete the program.

따라서 슬로우 셀이 포함되는 페이지에 대해서는 더 많은 프로그램 펄스가 인가되어야 하고, 그에 따라 프로그램 시간이 길어지게 된다.Therefore, more program pulses need to be applied to the page including the slow cell, resulting in a longer program time.

따라서 본 발명의 실시 예에서는 LSB 페이지의 프로그램 결과에 따라서 슬로우 셀이 있는 페이지를 구분하고, 슬로우 셀이 있는 페이지에 대한 MSB 페이지 프로그램시의 프로그램 시작 전압은 다르게 설정하는 방법을 이용한다.Therefore, according to an exemplary embodiment of the present invention, a page having a slow cell is classified according to a program result of an LSB page, and a program start voltage for programming an MSB page for a page having a slow cell is set differently.

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

도 3에서, 본 발명의 실시 예에 따른 프로그램 방법은 먼저 LSB 페이지 프로그램을 수행한다(S301). LSB 페이지의 프로그램을 위해서 프로그램 제어부(161)는 LSB 페이지 프로그램 완료가 될 때까지 펄스 생성부(162)가 프로그램 펄스를 생성하도록 하고, 펄스 카운터(163)는 펄스 생성부(162)가 생성하는 프로그램 펄스의 개수를 카운팅한다(S303).In FIG. 3, the program method according to an embodiment of the present invention first performs an LSB page program (S301). In order to program the LSB page, the program controller 161 causes the pulse generator 162 to generate a program pulse until the LSB page program is completed, and the pulse counter 163 generates a program generated by the pulse generator 162. The number of pulses is counted (S303).

그리고 LSB 페이지 프로그램이 완료되면(S305), 펄스 카운터(163)는 지금까지 카운팅된 펄스 수 정보를 레지스터(164)에 저장한다(S307).When the LSB page program is completed (S305), the pulse counter 163 stores the pulse number information counted so far in the register 164 (S307).

그리고 MSB 페이지의 프로그램이 시작되면(S309), 프로그램 제어부(161)는 레지스터(164)에 저장된 펄스 수 정보를 로딩한다(S311). 그리고 펄스 수 정보에 따라서 MSB 페이지의 프로그램 시작 전압을 설정한다(S313).When the program of the MSB page starts (S309), the program control unit 161 loads the pulse number information stored in the register 164 (S311). The program start voltage of the MSB page is set according to the pulse number information (S313).

이때 프로그램 시작전압은 펄스 수 정보에 따라 설정해야 하는 프로그램 시 작 전압 정보를 레지스터(164)에 저장하고, 프로그램 제어부(161)가 이를 함께 로딩하여 설정할 수 있다. 또 다른 방법으로는 프로그램 제어부(161)의 내부에 펄스 수 정보에 따라 프로그램 시작 전압을 설정할 수 있게 하는 알고리즘 또는 데이터 테이블을 가지고 있을 수도 있다. 이때의 알고리즘 또는 데이터 테이블은 실험적인 데이터를 이용해서 만들어질 수 있다.In this case, the program start voltage may store the program start voltage information to be set according to the pulse number information in the register 164, and the program control unit 161 may load and set the program start voltage information together. In another method, the program control unit 161 may have an algorithm or a data table for setting a program start voltage according to the pulse number information. The algorithm or data table at this time can be made using experimental data.

그리고 프로그램 시작 전압이 설정되면, 프로그램 제어부(161)는 설정된 프로그램 시작 전압을 생성하도록 전압 제공부(150)로 제어신호를 출력하는 한편, 펄스 생성부(162)가 프로그램 펄스를 생성하도록 제어한다.When the program start voltage is set, the program controller 161 outputs a control signal to the voltage providing unit 150 to generate the set program start voltage, and controls the pulse generator 162 to generate a program pulse.

상기한 프로그램 방법에 따라서 LSB 페이지를 프로그램하는 동안 도 2a와 같이 제 1 케이스(A)와 제 2 케이스(B)에 대해서 프로그램 펄스가 다르게 인가되어 프로그램이 진행된다. 그리고 MSB 페이지 프로그램을 수행할 때 노멀 셀과 슬로우 셀이 포함되는 페이지 각각에 인가되는 프로그램 전압은 다음과 같다.According to the programming method described above, a program pulse is applied differently to the first case A and the second case B while the LSB page is programmed, and the program proceeds. When the MSB page program is executed, the program voltage applied to each page including the normal cell and the slow cell is as follows.

도 4는 도 3에 의한 MSB 페이지 프로그램시의 프로그램 전압을 나타낸다.FIG. 4 shows a program voltage when programming an MSB page according to FIG. 3.

도 4를 참조하면, 슬로우 셀이 없는 노멀 셀들이 있는 페이지에 인가되는 제 1 케이스(A)와 슬로우 셀이 있는 페이지에 인가되는 제 2 케이스(B)에 대해서 프로그램 펄스는 모두 제 6 프로그램 펄스(P6)만이 인가된다.Referring to FIG. 4, for the first case A applied to the page with normal cells without the slow cell and the second case B applied to the page with the slow cell, the program pulses are both the sixth program pulse ( Only P6) is applied.

다만, 도 3의 단계S311 및 S313에 의해서 제 1 케이스는 제 3 프로그램 시작 전압(Vpgm_start3)이 인가되고, 제 2 케이스(B)는 제 4 프로그램 시작 전압(Vpgm_start4)이 시작전압으로 설정된다.However, in step S311 and S313 of FIG. 3, the third program start voltage Vpgm_start3 is applied to the first case, and the fourth program start voltage Vpgm_start4 is set to the start voltage in the second case B. FIG.

도 2a 와 도 3을 예를 들어서 상세히 설명하면 다음과 같다.2A and 3 will be described in detail with reference to the following.

LSB 페이지의 프로그램이 진행되는 동안에, 펄스 카운터(163)는 프로그램 펄스의 개수를 카운팅하고, 카운팅된 펄스 수 정보를 레지스터(164)에 저장한다.While the program of the LSB page is in progress, the pulse counter 163 counts the number of program pulses and stores the counted pulse number information in the register 164.

제 1 케이스(A)의 경우에는 펄스 수 정보로 '5'가 저장되고, 제 2 케이스(B)의 경우에는 펄스 수 정보로 '6'이 저장된다.In the case of the first case A, '5' is stored as the pulse number information, and in the case of the second case B, the '6' is stored as the pulse number information.

그리고 MSB 페이지의 프로그램을 시작하기 전에, 프로그램 제어부(161)는 레지스터(164)에 저장된 펄스 수 정보를 확인한다.And before starting the program of the MSB page, the program controller 161 checks the pulse number information stored in the register 164.

이때 제 1 케이스(A)의 경우에는 펄스 수 정보가 '5'이므로 MSB페이지의 프로그램 시작 전압을 제 3 프로그램 시작 전압(Vpgm_start3)으로 설정한다.In this case, since the pulse number information is '5' in the first case A, the program start voltage of the MSB page is set to the third program start voltage Vpgm_start3.

그러나 제 2 케이스(B)의 경우에는 펄스 수 정보가 '6'이므로 해당 페이지가 슬로우 셀을 포함하고 있다고 판단할 수 있다. 따라서 프로그램 제어부(161)는 프로그램 시작 전압을 제 4 프로그램 시작 전압(Vpgm_start4)로 설정한다. 슬로우 셀이 있는 페이지에 대해서는 프로그램 시작 전압을 노멀 셀이 있는 페이지 보다 높게 설정함으로써 슬로우 셀의 프로그램 속도를 높여 프로그램 펄스의 개수를 줄일 수 있다.However, in the second case B, since the pulse number information is '6', it may be determined that the corresponding page includes the slow cell. Therefore, the program controller 161 sets the program start voltage to the fourth program start voltage Vpgm_start4. For pages with slow cells, the program start voltage may be set higher than that with pages with normal cells, thereby increasing the program speed of the slow cells and reducing the number of program pulses.

상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention described above has been described in detail in a preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, it will be understood by those skilled in the art that various embodiments of the present invention are possible within the scope of the technical idea of the present invention.

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

도 2a 및 도 2b는 일실시 예에 따른 불휘발성 메모리 소자의 프로그램 동작에서 인가되는 프로그램 전압을 나타낸다.2A and 2B illustrate a program voltage applied in a program operation of a nonvolatile memory device according to example embodiments.

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

도 4는 도 3에 의한 MSB 페이지 프로그램시의 프로그램 전압을 나타낸다.FIG. 4 shows a program voltage when programming an MSB page according to FIG. 3.

*도면의 주요 부분의 간단한 설명** Brief description of the main parts of the drawings *

100 : 불휘발성 메모리 소자 110 : 메모리 셀 어레이100 nonvolatile memory device 110 memory cell array

120 : 페이지 버퍼부 130 : 데이터 입출력부120: page buffer unit 130: data input and output unit

140 : X 디코더 150 : 전압 제공부140: X decoder 150: voltage provider

160 : 제어부160: control unit

Claims (9)

데이터 저장을 위한 여러 개의 물리 페이지를 포함하고, 각각의 물리 페이지가 제 1 및 제 2 논리 페이지를 포함하는 메모리 셀들;Memory cells including a plurality of physical pages for data storage, each physical page including first and second logical pages; 상기 메모리 셀들을 프로그램을 할 때, 프로그램 동작을 위한 프로그램 펄스를 생성하고, 제 1 논리 페이지가 프로그램될 때 까지 생성되는 프로그램 펄스 수에 따라 제 2 논리 페이지의 프로그램 시작 전압이 변경되도록 제어하는 제어부A controller configured to generate a program pulse for a program operation when programming the memory cells, and to control a program start voltage of a second logical page to be changed according to the number of program pulses generated until the first logical page is programmed 를 포함하는 불휘발성 메모리 소자.Nonvolatile memory device comprising a. 제 1항에 있어서,The method of claim 1, 상기 제어부는,The control unit, 상기 프로그램 펄스를 생성하는 펄스 생성부;A pulse generator for generating the program pulse; 상기 제 1 논리 페이지에 대한 프로그램이 완료될 때까지, 상기 펄스 생성부가 생성하는 프로그램 펄스의 개수를 카운트하는 펄스 카운터;A pulse counter that counts the number of program pulses generated by the pulse generator until the program for the first logical page is completed; 상기 펄스 카운터가 카운트한 펄스의 개수에 따라서 제 2 논리 페이지의 프로그램 시작 전압을 설정하고, 프로그램 동작을 제어하기 위한 프로그램 제어부를 포함하는 불휘발성 메모리 소자.And a program controller for setting a program start voltage of a second logical page according to the number of pulses counted by the pulse counter, and controlling a program operation. 제 2항에 있어서,3. The method of claim 2, 상기 제어부는 상기 펄스 카운터가 카운트한 펄스의 개수를 저장하기 위한 레지스터를 더 포함하는 불휘발성 메모리 소자.The control unit further comprises a register for storing the number of pulses counted by the pulse counter. 제 3항에 있어서,The method of claim 3, wherein 상기 레지스터에 상기 펄스 개수에 따른 프로그램 시작 전압 정보가 저장되는 것을 특징으로 하는 불휘발성 메모리 소자.And the program start voltage information corresponding to the number of pulses is stored in the register. 제 2항에 있어서,3. The method of claim 2, 상기 프로그램 제어부는,The program control unit, 상기 펄스 카운터가 카운트한 펄스의 개수가 많을수록 상기 제 2 논리 페이지의 프로그램 시작 전압을 높게 설정하는 것을 특징으로 하는 불휘발성 메모리 소자.And as the number of pulses counted by the pulse counter increases, the program start voltage of the second logical page is set higher. 하나의 물리 페이지가 제 1 및 제 2 논리 페이지를 포함하는 불휘발성 메모리 소자가 제공되는 단계;Providing a nonvolatile memory device in which one physical page includes first and second logical pages; 상기 제 1 논리 페이지의 프로그램이 완료될 때까지 생성되는 펄스의 개수를 카운팅하는 단계; 및Counting the number of pulses generated until the program of the first logical page is completed; And 상기 제 2 논리 페이지를 프로그램하기 전에, 상기 카운팅된 펄스의 개수에 따라 상기 제 2 논리 페이지를 프로그램하기 위한 프로그램 시작 전압을 설정하고 상기 제 2 논리 페이지의 프로그램을 수행하는 단계Before programming the second logical page, setting a program start voltage for programming the second logical page according to the number of counted pulses and performing a program of the second logical page 를 포함하는 불휘발성 메모리 소자의 프로그램 방법.Program method of a nonvolatile memory device comprising a. 제 6항에 있어서,The method of claim 6, 상기 카운팅된 펄스의 개수는 별도 저장부에 저장되는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And counting the number of pulses stored in a separate storage unit. 제 7항에 있어서,The method of claim 7, wherein 상기 제 2 논리 페이지의 프로그램 시작 전압은,The program start voltage of the second logical page is 상기 카운팅된 펄스의 개수가 많을수록, 높은 전압 레벨로 설정되는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And the higher the number of counted pulses, the higher the voltage level is. 제 7항에 있어서,The method of claim 7, wherein 상기 카운팅된 펄스의 개수에 따라 설정하기 위한 프로그램 시작 전압 정보를 상기 불휘발성 메모리 소자의 별도의 저장부에 미리 저장하는 것을 특징으로 하는 불휘발성 메모리 소자의 프로그램 방법.And storing program start voltage information for setting according to the counted pulses in a separate storage unit of the nonvolatile memory device in advance.
KR1020090058486A 2009-06-29 2009-06-29 Non volatile memory device and method of programming the same KR20110001095A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090058486A KR20110001095A (en) 2009-06-29 2009-06-29 Non volatile memory device and method of programming the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090058486A KR20110001095A (en) 2009-06-29 2009-06-29 Non volatile memory device and method of programming the same

Publications (1)

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

Family

ID=43609704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090058486A KR20110001095A (en) 2009-06-29 2009-06-29 Non volatile memory device and method of programming the same

Country Status (1)

Country Link
KR (1) KR20110001095A (en)

Similar Documents

Publication Publication Date Title
US8234440B2 (en) Nonvolatile semiconductor memory device with advanced multi-page program operation
JP5259481B2 (en) Nonvolatile semiconductor memory device
US8630123B2 (en) Method of operating nonvolatile memory device
US8107287B2 (en) Method of programming nonvolatile memory device
US7072221B2 (en) Flash memory device and method for driving the same
US7978512B2 (en) Semiconductor memory system
KR20080018495A (en) Multi-bit flash memory device and program method thereof
KR20080084025A (en) Charge trap type non volatile memory device and program method thereof
JP2010211883A (en) Nonvolatile semiconductor memory device
JP2004227748A (en) Page buffer of nand type flash memory
US20110292734A1 (en) Method of programming nonvolatile memory device
TW201546810A (en) NAND type flash memory and programming method thereof
US20090055579A1 (en) Semiconductor memory device for simultaneously programming plurality of banks
US7782676B2 (en) Method of operating a nonvolatile memory device
JP5731622B2 (en) Flash memory, bad block management method and management program
KR20130138019A (en) Nonvolatile memory device and method for controlling the same
WO2021212399A1 (en) Memory device and programming method thereof
JP5814961B2 (en) Nonvolatile semiconductor memory device
KR20110001095A (en) Non volatile memory device and method of programming the same
JPH11250672A (en) Nonvolatile semiconductor memory
KR20120078839A (en) Semiconductor memory device and erase method thereof
KR101034444B1 (en) Nonvolatile memory device and method for operating the same
KR101131945B1 (en) Non-volatile memory device
KR20110001058A (en) Method of operating non-volatile memory device
CN115966232A (en) Nonvolatile memory, programming method and erasing method thereof, and electronic device

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination