KR100965076B1 - Programming method for non volatile memory device - Google Patents
Programming method for non volatile memory device Download PDFInfo
- Publication number
- KR100965076B1 KR100965076B1 KR1020080113411A KR20080113411A KR100965076B1 KR 100965076 B1 KR100965076 B1 KR 100965076B1 KR 1020080113411 A KR1020080113411 A KR 1020080113411A KR 20080113411 A KR20080113411 A KR 20080113411A KR 100965076 B1 KR100965076 B1 KR 100965076B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- target cells
- state information
- cells
- start voltage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/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
- Read Only Memory (AREA)
Abstract
본원 발명의 불휘발성 메모리 장치의 프로그램 방법은 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 제1 시작전압에 의한 프로그램 동작을 수행한 경우, 해당 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 빠른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함한다.A program method of a nonvolatile memory device of the present invention includes checking state information of program target cells according to an input of a program command, and performing a program operation based on a first start voltage when the program target cells are slow cells as a result of the check. Performing a program operation based on a second start voltage lower than the first start voltage when the program target cells are fast cells; and performing a program operation based on the first start voltage. Determining a program speed of the corresponding program target cells based on an amount of change in threshold voltages of the program target cells due to the corresponding program operation; Updating.
프로그램 속도, 프로그램/소거 동작 횟수 Program speed, number of program / erase operations
Description
본원 발명은 불휘발성 메모리 장치의 프로그램 방법에 관한 것이다.The present invention relates to a program method of a nonvolatile memory device.
최근 들어 전기적으로 프로그램(program)과 소거(erase)가 가능하고, 일정 주기로 데이터를 재작성해야하는 리프레시(refresh) 기능이 필요 없는 불휘발성 메모리 소자에 대한 수요가 증가하고 있다.Recently, there is an increasing demand for a nonvolatile memory device that can be electrically programmed and erased and that does not require a refresh function to rewrite data at regular intervals.
상기 불휘발성 메모리 셀은 전기적인 프로그램/소거 동작이 가능한 소자로서 얇은 산화막에 인가되는 강한 전기장에 의해 전자가 이동하면서 셀의 문턱전압을 변화시켜 프로그램 및 소거 동작을 수행한다.The nonvolatile memory cell is an electric program / eraseable device that performs program and erase operations by changing a threshold voltage of a cell while electrons are moved by a strong electric field applied to a thin oxide film.
불휘발성 메모리 장치는 통상적으로 데이터가 저장되는 셀들이 매트릭스 형태로 구성된 메모리 셀 어레이, 상기 메모리 셀 어레이의 특정 셀들에 대하여 메모리를 기입하거나 특정 셀에 저장되었던 메모리를 독출하는 페이지 버퍼를 포함한다. 상기 페이지 버퍼는 특정 메모리 셀과 접속된 비트라인 쌍, 메모리 셀 어레이에 기록할 데이터를 임시저장하거나, 메모리 셀 어레이로부터 특정 셀의 데이터를 독출하여 임시 저장하는 레지스터, 특정 비트라인 또는 특정 레지스터의 전압 레벨 을 감지하는 감지노드, 상기 특정 비트라인과 감지노드의 접속여부를 제어하는 비트라인 선택부를 포함한다.A nonvolatile memory device typically includes a memory cell array in which cells in which data is stored is formed in a matrix form, and a page buffer for writing a memory to a specific cell of the memory cell array or reading a memory stored in the specific cell. The page buffer may include a pair of bit lines connected to a specific memory cell, a register for temporarily storing data to be written to the memory cell array, or a register for reading and temporarily storing data of a specific cell from the memory cell array, a voltage of a specific bit line or a specific register. It includes a sensing node for sensing a level, a bit line selection unit for controlling whether the specific bit line and the sensing node is connected.
이러한 불휘발성 메모리 장치는 프로그램/소거 동작의 횟수가 증가할수록 프로그램 속도가 증가하는 것으로 알려져 있다. 프로그램/소거 동작의 횟수가 증가할수록 각 메모리 셀의 플로팅 게이트에 트랩되는 차지(charge)가 증가하면서 각 셀의 문턱전압이 높아지기 때문이다. 따라서 ISPP(Incremental step pulse program)프로그램 방법에 따른 프로그램 펄스가 상대적으로 적게 인가되더라도 목표로 하는 문턱전압 이상으로 프로그램된다.Such a nonvolatile memory device is known to increase program speed as the number of program / erase operations increases. This is because as the number of program / erase operations increases, the charge trapped by the floating gate of each memory cell increases, and the threshold voltage of each cell increases. Therefore, even if a relatively small program pulse according to the ISPP (Incremental step pulse program) program method is applied, it is programmed above a target threshold voltage.
이러한 특성을 고려하여 상기 ISPP 프로그램 방법에서 프로그램 시작전압을 낮게 설정하여 인가하는 방법을 고려할 수 있다. 프로그램/소거 동작 횟수가 낮은 시점에서도 이러한 방법을 사용할 경우 프로그램 시간이 증가하는 문제가 발생한다. 즉 프로그램 시작 전압이 낮아짐에 따라 인가하여야 하는 펄스가 더 많아지기 때문이다. In consideration of such characteristics, a method of applying and setting a program start voltage low in the ISPP program method may be considered. Even when the number of program / erase operations is low, this method increases the program time. That is, as the program start voltage decreases, more pulses need to be applied.
전술한 문제점에 따라 본원 발명이 해결하고자 하는 과제는 프로그램/소거 동작 횟수의 증가에 의한 프로그램 속도의 변경에 따라 가변적으로 프로그램 시작전압을 설정할 수 있는 불휘발성 메모리 장치의 프로그램 방법을 제공하는 것이다. The problem to be solved by the present invention in accordance with the above-described problem is to provide a program method of a nonvolatile memory device that can set the program start voltage variably in accordance with the change of the program speed by the increase in the number of program / erase operations.
전술한 과제를 해결하기 위한 본원 발명의 불휘발성 메모리 장치의 프로그램 방법은 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 제1 시작전압에 의한 프로그램 동작을 수행한 경우, 해당 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 기준값보다 빠른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of a nonvolatile memory device, which includes checking a state information of program target cells according to an input of a program command, and when the program target cells are slow cells, a first start. Performing a program operation based on a voltage; and performing a program operation based on a second start voltage lower than the first start voltage when the program target cells are fast cells as a result of the check; When the program operation is performed, determining the program speed of the program target cells based on the amount of change of the threshold voltage of the program target cells by the program operation, and if the program speed of the program target cells is faster than the reference value Status information of the cells to be programmed Updating.
또한, 본원 발명의 불휘발성 메모리 장치의 프로그램 방법은 프로그램 명령의 입력에 따라 프로그램 대상 셀들의 상태 정보를 체크하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 슬로우 셀인 경우 제1 시작전압에 의한 프로그램 동 작을 수행하는 단계와, 상기 체크 결과 상기 프로그램 대상 셀들이 패스트 셀인 경우 상기 제1 시작전압보다 낮은 제2 시작전압에 의한 프로그램 동작을 수행하는 단계와, 상기 각 프로그램 동작에 의한 프로그램 대상 셀들의 문턱전압 변화량에 기초하여 해당 프로그램 대상 셀들의 프로그램 속도를 판단하는 단계와, 상기 판단 결과 프로그램 대상 셀들의 프로그램 속도가 상기 상태 정보에 포함된 프로그램 속도와 다른 경우 상기 프로그램 대상 셀들의 상태 정보를 갱신하는 단계를 포함한다.In addition, the program method of the nonvolatile memory device of the present invention includes the step of checking the state information of the program target cells according to the input of a program command, and if the program target cells are a slow cell as a result of the check the program operation by the first start voltage Performing a program operation; performing a program operation according to a second start voltage lower than the first start voltage when the program target cells are fast cells; and threshold voltages of program target cells according to each program operation. Determining the program speed of the corresponding program target cells based on the amount of change; and updating the state information of the program target cells when the program speed of the program target cells is different from the program speed included in the state information. Include.
전술한 본원 발명의 과제 해결 수단에 따라 전술한 본원 발명의 과제 해결 수단에 따라 프로그램 시작전압을 가변적으로 설정할 수 있다. 특히 프로그램/소거 동작 횟수가 작은 초기 동작시에는 프로그램 시작전압을 상대적으로 크게 설정하여 프로그램 속도가 느린 셀의 특성을 보상할 수 있다. 또한, 프로그램/소거 동작 횟수가 큰 후기 동작시에는 프로그램 시작전압을 상대적으로 작게 설정하여 프로그램 속도가 빠른 셀의 특성을 보상할 수 있다. 그에 따라 전체적인 프로그램 동작에 소요되는 시간을 감소시킬 수 있다.According to the above-mentioned problem solving means of the present invention, the program start voltage can be variably set according to the above-mentioned problem solving means of the present invention. In particular, in an initial operation having a small number of program / erase operations, a relatively large program start voltage may be set to compensate for a cell having a slow program speed. In addition, in a late operation having a large number of program / erase operations, a program start voltage may be set relatively small to compensate for characteristics of a cell having a high program speed. Accordingly, the time required for the overall program operation can be reduced.
이하, 첨부된 도면들을 참조하여 본원 발명의 바람직한 실시예를 상세히 살펴보기로 한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제 공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, only these embodiments are intended to complete the disclosure of the present invention, and to those skilled in the art to fully understand the scope of the invention. It is provided to inform you. Like numbers refer to like elements in the figures.
도 1은 본원 발명이 적용되는 불휘발성 메모리 장치의 전체 구성을 도시한 도면이다.1 is a view showing the overall configuration of a nonvolatile memory device to which the present invention is applied.
상기 불휘발성 메모리 장치(100)는 메모리 셀 어레이(102), 페이지 버퍼(108), X/Y-디코더(104, 106), 고전압 발생기(110), 명령어 인터페이스 로직부(112), 명령어 레지스터(114), 어드레스 레지스터/카운터(116), 데이터 레지스터(118), IO 버퍼부(120)를 포함한다. 상기 불휘발성 메모리 장치의 동작을 살펴보기로 한다.The
먼저, 상기 명령어 인터페이스 로직부(112)에 대하여 칩 인에이블 신호(/CE) 가 디스에이블되고, 라이트 인에이블 신호(/WE)가 토글되면, 이에 응답하여, 상기 명령어 인터페이스 로직부(112)가 상기 IO 버퍼부(110)와 명령어 레지스터(114)를 통하여 수신되는 명령어 신호를 수신하고, 그 명령어에 따라 프로그램 명령, 소거 명령 또는 독출 명령등을 발생시킨다. 이때, 상기 명령어 신호는 상기 불휘발성 메모리 장치의 동작 모드를 결정하는 페이지 프로그램 셋업 코드(page program setup code)를 포함한다. 한편, 상기 명령어 인터페이스 로직부(112)에서 출력되는 동작상태 신호(/R/B)는 일정 시간 동안 디스에이블되는데, 외부의 메모리 컨트롤러(미도시)는 상기 동작상태 신호(/R/B)를 수신하고 상기 불휘발성 메모리 장치가 프로그램/소거/독출 등의 동작 상태임을 인식한다. 즉, 상기 동작상태 신호(/R/B)가 디스에이블되는 시간 동안, 상기 메모리 셀 어레이 중 하나의 페이지에 대한 프로그 램/소거/독출 등이 실행된다. First, when the chip enable signal / CE is disabled and the write enable signal / WE is toggled with respect to the command interface logic unit 112, in response thereto, the command interface logic unit 112 The command signal received through the
또한, 어드레스 레지스터/카운터(116)는 상기 IO 버퍼부(120)를 통하여 수신되는 어드레스 신호를 수신하고, 로우 어드레스 신호 및 칼럼 어드레스 신호를 발생시킨다. 상기 어드레스 신호는 상기 메모리 셀 중 하나에 포함되는 페이지들 중 하나에 대응한다. 상기 데이터 레지스터(118)는 상기 IO 버퍼부(120)를 통하여 수신되는 각종 데이터들을 임시저장하고, Y-디코더(106)로 전달한다.In addition, the address register /
상기 고전압 발생기(110)는 상기 프로그램 명령, 소거 명령 또는 독출 명령에 응답하여 바이어스 전압들을 발생하고 이를 페이지 버퍼(108), X-디코더(104) 등에 공급한다. The
상기 X-디코더(104)는 상기 로우 어드레스 신호에 응답하여, 상기 메모리 셀 어레이의 블록들 중 하나에 상기 고전압 발생기(110)로 부터 공급받은 바이어스 전압들을 메모리 셀 어레이(102)에 공급한다. 상기 Y-디코더(106)는 상기 컬럼 어드레스 신호에 응답하여, 상기 페이지 버퍼를 통하여 상기 메모리 셀 어레이의 블록들에 의해 공유되는 비트 라인들(미도시)에 데이터 신호를 공급한다. The
상기 페이지 버퍼(108)는 상기 IO 버퍼부(110) 및 상기 Y-디코더(106)를 통하여 수신되는 데이터 신호를 래치하여 상기 메모리 셀 어레이의 블록들에 의해 공유되는 비트 라인들(미도시)에 출력한다.The page buffer 108 latches a data signal received through the
도 2는 통상적인 불휘발성 메모리 장치의 프로그램/소거 동작횟수의 증가에 따른 문턱전압 변화특성을 도시한 그래프이다.FIG. 2 is a graph illustrating a threshold voltage change characteristic according to an increase in the number of program / erase operations of a conventional nonvolatile memory device.
도시된 바와 같이 프로그램/소거 동작 횟수가 증가할수록 프로그램 상태의 문턱 전압 및 소거 상태의 문턱전압이 커지는 현상이 발생한다. 이는 프로그램/소거 동작 횟수가 증가할수록 불휘발성 메모리 셀의 플로팅 게이트에 트랩되는 차지가 증가함에 따라 소거 상태에서도 문턱전압이 증가하기 때문에 발생한다. 그 결과 동일한 프로그램 펄스 인가에 따른 문턱전압의 변화량은 더욱 커지게 된다. 이와 같은 문턱전압의 변화량을 프로그램 속도로 정의한다. 즉 동일한 프로그램 펄스를 인가할 때 문턱전압의 변화량이 더 크면 프로그램 속도가 더 큰 것으로 본다.As illustrated, as the number of program / erase operations increases, the threshold voltage of the program state and the threshold voltage of the erase state increase. This occurs because as the number of program / erase operations increases, the threshold voltage increases even in the erased state as the charge trapped by the floating gate of the nonvolatile memory cell increases. As a result, the amount of change in the threshold voltage according to the application of the same program pulse becomes larger. The amount of change in the threshold voltage is defined as a program speed. In other words, if the threshold voltage change is larger when the same program pulse is applied, the program speed is considered larger.
도시된 바와 같이 프로그램/소거 동작 횟수가 10회인 경우 프로그램 상태의 문턱전압보다 프로그램/소거 동작 횟수가 10K인 경우 프로그램 상태의 문턱전압이 더 큰 것을 알 수 있다. 이는 소거 상태에서도 마찬가지이다. 이와 같이 프로그램/소거 동작의 횟수에 따라 프로그램 속도가 변하게 됨에 따라, 이러한 변화량을 보상하기 위한 프로그램 방법이 사용되고 있다.As shown, when the number of program / erase operations is 10, the threshold voltage of the program state is greater when the number of program / erase operations is 10K than the threshold voltage of the program state. The same is true in the erased state. As the program speed changes according to the number of program / erase operations as described above, a program method for compensating for such a change amount is used.
도 3은 통상적으로 사용되는 불휘발성 메모리 장치의 프로그램 방법의 개념을 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a concept of a program method of a nonvolatile memory device.
도시된 바와 같이 ISPP(Incremental step pulse program) 프로그램 방법에 따라 프로그램 동작이 수행된다. 즉 프로그램 펄스를 인가한 후 검증동작을 실시하며, 각 반복동작마다 프로그램 전압을 스텝전압(Vstep) 만큼 상승시켜 프로그램 동작을 반복한다. 이때 프로그램/소거 동작 횟수에 따라 프로그램 속도가 상이해 지는 점을 고려하여 더미 프로그램 펄스가 인가되는 구간을 추가한다.As shown, a program operation is performed according to an incremental step pulse program (ISPP) program method. That is, the verification operation is performed after the program pulse is applied, and the program operation is repeated by increasing the program voltage by the step voltage Vstep for each repetition operation. At this time, considering the fact that the program speed is different according to the number of program / erase operations, a section to which a dummy program pulse is applied is added.
프로그램/소거 동작 횟수가 1회인 경우에는 제1 시작전압(Vstart1)을 기준으로 하여 ISPP 프로그램 동작을 수행한다. 그러나 프로그램/소거 동작 횟수가 10K 인 경우에는 프로그램 속도가 빠른 상태이므로 상기 제1 시작전압(Vstart1)보다 작은 제2 시작전압(Vstart2)을 기준으로 ISPP 프로그램 동작을 수행할 필요가 있다. 따라서 프로그램/소거 동작을 처음 시작할 때부터 제2 시작전압(Vstart2)을 기준으로 ISPP 프로그램 동작을 수행한다. 프로그램 시작전압이 낮으므로 프로그램/소거 동작 횟수가 1회 내지 10K 인 경우에는 실질적으로 프로그램 효과가 나타나지 않을 수도 있다. 따라서 프로그램/소거 동작 횟수가 1회 내지 10K 인 경우에는 제2 시작전압(Vstart2)이 인가되는 시점부터 제1 시작전압(Vstart1)이 인가되기 직전까지 인가되는 프로그램 펄스가 더미(dummy) 프로그램 펄스가 될 수 있다. 프로그램/소거 동작 횟수가 10K 이상이 되는 경우를 위해, 더미 프로그램 펄스를 인가하고 있으나, 프로그램/소거 동작 횟수가 10K가 되기 전까지는 총 프로그램 시간이 길어지는 문제점이 발생하게 된다. When the number of program / erase operations is one time, the ISPP program operation is performed based on the first start voltage Vstart1. However, when the number of program / erase operations is 10K, since the program speed is high, it is necessary to perform the ISPP program operation based on the second start voltage Vstart2 smaller than the first start voltage Vstart1. Therefore, the ISPP program operation is performed based on the second start voltage Vstart2 from the first start of the program / erase operation. Since the program start voltage is low, the program effect may not actually appear when the number of program / erase operations is 1 to 10K. Therefore, when the number of program / erase operations is 1 to 10K, the program pulses applied from the time when the second start voltage Vstart2 is applied until immediately before the first start voltage Vstart1 are applied are dummy program pulses. Can be. For the case where the number of program / erase operations is 10K or more, a dummy program pulse is applied, but the total program time becomes long until the number of program / erase operations is 10K.
도 4는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.4 is a flowchart illustrating a program method of a nonvolatile memory device according to an exemplary embodiment of the present invention.
먼저, 프로그램 명령이 입력된다(단계 410).First, a program command is input (step 410).
다음으로, 프로그램 대상 셀들의 셀 상태 정보를 체크한다(단계 420).Next, the cell state information of the program target cells is checked (step 420).
상기 셀 상태 정보는 메모리 셀들의 프로그램 속도에 대한 정보를 포함한다.The cell state information includes information about program rates of memory cells.
이때 상기 셀 상태 정보는 프로그램 대상이 되는 셀들의 프로그램 속도가 빨 라서 패스트 셀(fast cell)로 분류되어 있거나, 프로그램 속도가 느려서 슬로우 셀(slow cell)로 분류되어 별도의 저장소에 저장되어 있다. 상기 슬로우 셀과 패스트 셀의 분류는 실시자의 선택에 따라 결정된다. 즉 반복적인 실험을 거쳐 최적화된 값을 기준으로 하여, 해당 기준값보다 프로그램 속도가 빠른 경우에는 패스트 셀로 분류하고, 그보다 프로그램 속도가 느린 경우에는 슬로우 셀로 분류한다.In this case, the cell state information is classified as a fast cell due to a fast program speed of cells to be programmed, or classified as a slow cell due to a slow program speed and stored in a separate storage. The classification of the slow cell and the fast cell is determined by the operator. That is, based on the optimized value through repeated experiments, if the program speed is faster than the reference value, it is classified as a fast cell, and if it is slower than that, it is classified as a slow cell.
상기 셀 상태 정보는 불휘발성 메모리 장치의 제어부에 포함되는 레지스터 또는 불휘발성 메모리 셀들의 스페어 셀, 캠셀 등에 저장될 수 있다. 상기 레지스터에 저장되는 경우에는 불휘발성 메모리 장치에 전원전압이 공급되는 경우, 파워업 리셋신호에 의하여 상기 셀 상태 정보는 초기값으로 설정된다. 바람직하게는, 상기 셀 상태 정보의 초기값은 프로그램 대상셀들이 슬로우 셀임을 지시하는 값으로 설정된다. The cell state information may be stored in a spare cell, a cam cell, or the like of a register or a nonvolatile memory cell included in a control unit of the nonvolatile memory device. When stored in the register, when a power supply voltage is supplied to a nonvolatile memory device, the cell state information is set to an initial value by a power-up reset signal. Preferably, the initial value of the cell state information is set to a value indicating that the program target cells are slow cells.
상기 스페어 셀들의 경우, 소거 동작의 단위가 되는 메모리 셀 블록 별로, 또는 프로그램 동작의 단위가 되는 페이지 별로 각 셀들의 프로그램 속도를 저장하도록 할 수 있다. 각 페이지 별로 프로그램 대상 셀들의 상태 정보를 저장할 수도 있고, 각 메모리 셀 블록 별로 프로그램 대상 셀들의 상태 정보를 저장할 수도 있다.For the spare cells, the program rate of each cell may be stored for each memory cell block that is a unit of an erase operation or for each page that is a unit of a program operation. State information of the program target cells may be stored for each page, or state information of the program target cells may be stored for each memory cell block.
즉, 동일 페이지 내에 있는 프로그램 대상 셀들의 상태 정보는 동일하게 설정하거나, 동일 메모리 셀 블록 내에 있는 프로그램 대상 셀들의 상태 정보는 동일하게 설정한다. 다만, 동질 메모리 셀 블록은 동일 소거 동작 횟수를 가지므로, 메모리 셀 블록별로 상태 정보가 저장되도록 설정하는 것이 효율적일 수 있다. 이때 셀 상태 정보가 동일한 경우에는 동일한 프로그램 시작전압이 인가된다.That is, the state information of the program target cells in the same page is set to the same, or the state information of the program target cells in the same memory cell block is set to the same. However, since the same memory cell block has the same number of erase operations, it may be efficient to set the state information to be stored for each memory cell block. If the cell state information is the same, the same program start voltage is applied.
만약 페이지 별로 셀 상태 정보를 별도 저장한다면, 각 페이지 별로 프로그램 시작전압이 상이하게 설정될 수 있다.If cell state information is separately stored for each page, the program start voltage may be set differently for each page.
상기 셀 상태 정보 체크 결과, 프로그램 대상 셀이 슬로우 셀인 경우에는 제1 시작전압에 따라 프로그램 동작을 수행한다(단계 430, 450).As a result of checking the cell state information, when the program target cell is a slow cell, a program operation is performed according to the first start voltage (
상기 제1 시작전압(Vstart1)은 도 3에서 설명한 바와 같이 프로그램/소거 동작 횟수가 낮은 초기 동작시에 인가되는 전압이다.As described with reference to FIG. 3, the first start voltage Vstart1 is a voltage applied during an initial operation having a low number of program / erase operations.
다음으로, 프로그램 대상 셀들의 프로그램 속도를 판단한다(단계 460).Next, the program speed of the program target cells is determined (step 460).
상기 제1 시작전압(Vstart1)을 한번 인가한 상태에서 각 셀들의 문턱전압 변화량을 측정하여 프로그램 속도를 판단하는 것이다. In the state where the first start voltage Vstart1 is applied once, the program speed is determined by measuring the threshold voltage change of each cell.
상기 판단 결과 프로그램 대상 셀들의 속도가 빠른 패스트 셀인 경우에는 상기 저장된 셀 상태 정보를 갱신한다(단계 470, 480).As a result of the determination, when the program target cells are fast cells, the stored cell state information is updated (
즉, 상기 레지스터등에 저장된 셀 상태 정보에는 프로그램 대상 셀들이 슬로우 셀이라는 정보가 저장되어 있으므로, 이를 수정하여 패스트 셀이라는 정보를 저장한다. 셀 상태 정보가 레지스터에 저장되는 실시예의 경우, 레지스터 자체는 전원공급이 차단될때 마다 저장된 정보가 초기화 되므로, 이와 같은 동작에 의하여 정확한 셀 상태 정보를 확인할 수 있다.That is, since the program target cells are stored in the cell state information stored in the register and the like, the information is modified to store the information called the fast cell. In the embodiment in which the cell state information is stored in the register, since the stored information is initialized whenever the power supply is cut off, the correct cell state information can be confirmed by such an operation.
그리고 이후에 ISPP 프로그램 방법에 따라 프로그램 전압을 증가시켜가면서 프로그램 동작 및 검증 동작을 반복수행한다(단계 490).Thereafter, the program operation and the verify operation are repeatedly performed while increasing the program voltage according to the ISPP program method (step 490).
한편, 상기 판단 결과 프로그램 대상 셀들의 속도가 느린 슬로우 셀인 경우에는 상기 저장된 셀 상태 정보를 유지하고, 프로그램 동작 및 검증 동작을 반복수행하여 프로그램 동작을 완료한다(단계 470, 490).On the other hand, in the case of the slow cells of the program target cells as a result of the determination, the stored cell state information is maintained, and the program operation and the verify operation are repeatedly performed to complete the program operation (
한편, 상기 단계(430)에서 상기 셀 상태 정보 체크 결과, 프로그램 대상 셀이 패스트 셀인 경우에는 제2 시작전압에 따라 프로그램 동작을 수행한다(단계 430, 440).On the other hand, when the cell state information is checked in
상기 제2 시작전압(Vstart2)은 도 3에서 설명한 바와 같이 프로그램/소거 동작 횟수가 높은 구간에서 인가되는 전압이며, 상기 제1 시작전압(Vstart1) 보다 작다.As described above with reference to FIG. 3, the second start voltage Vstart2 is a voltage applied in a high number of program / erase operations, and is smaller than the first start voltage Vstart1.
즉, 프로그램 상태 정보확인 결과, 프로그램 대상 셀들이 패스트 셀인 것으로 확인된 경우, 감소된 프로그램 시작전압에 따라 ISPP 프로그램 동작을 수행한다(단계 490).That is, when it is confirmed that the program target cells are the fast cells, the ISPP program operation is performed according to the reduced program start voltage (step 490).
정리하면, 프로그램 동작을 수행할 때 마다, 해당 셀들의 프로그램 속도에 대한 정보를 미리 체크하여 프로그램 시작전압을 설정한다. 실시예에 따라 매 페이지 별로, 또는 메모리 셀 블록 별로 별도 저장된 셀 상태 정보를 체크하여 프로그램 시작전압을 상이하게 설정한다. 즉 프로그램 속도가 빠른 패스트 셀인 경우에는 프로그램 시작전압을 낮게 설정하고, 프로그램 속도가 느린 슬로우 셀인 경우에는 프로그램 시작전압을 높게 설정한다.In summary, each time a program operation is performed, the program start voltage is set by checking information about program rates of the corresponding cells in advance. According to an exemplary embodiment, program start voltages are set differently by checking cell state information separately stored for each page or for each memory cell block. That is, the program start voltage is set low for fast cells having a high program speed, and the program start voltage is set high for slow cells with a slow program speed.
도 5는 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.5 is a flowchart illustrating a program method of a nonvolatile memory device according to another exemplary embodiment of the present invention.
전체 적인 동작은 도 4와 거의 같다.The overall operation is almost the same as in FIG.
다만 상태 정보 확인 결과 프로그램 대상 셀들이 패스트 셀인 경우, 이후에 수행되는 절차에 다소 차이가 있다.However, when the program target cells are fast cells as a result of checking the state information, there is a slight difference in the procedure to be performed later.
프로그램 상태 정보확인 결과, 프로그램 대상 셀들이 패스트 셀인 것으로 확인된 경우, 제2 프로그램 시작전압에 따라 프로그램 동작을 수행하며(단계 540), 이에 의한 프로그램 동작에 대해서도 프로그램 대상 셀들의 프로그램 속도를 판단한다(단계 560).As a result of checking the program state information, when it is confirmed that the program target cells are fast cells, a program operation is performed according to the second program start voltage (step 540), and the program speeds of the program target cells are also determined in response to the program operation (step 540). Step 560).
즉, 제2 시작전압(Vstart2)을 한번 인가한 상태에서 각 셀들의 문턱전압 변화량을 측정하여 프로그램 속도를 판단하는 것이다. That is, the program speed is determined by measuring the variation in threshold voltages of the cells in the state in which the second start voltage Vstart2 is applied once.
상기 판단 결과 프로그램 대상 셀들의 속도가 기존에 저장된 상태 정보의 값과 변경된 경우에는 상기 저장된 셀 상태 정보를 갱신한다(단계 570, 580).If the speed of the program target cells is changed from the value of the previously stored state information, the stored cell state information is updated (
즉, 제1 프로그램 시작전압에 따라 프로그램 동작을 수행한 경우에는 프로그램 대상 셀들이 슬로우 셀이라는 정보가 저장되어 있고, 제2 프로그램 시작전압에 따라 프로그램 동작을 수행한 경우에는 프로그램 대상 셀들이 패스트 셀이라는 정보가 저장되어 있다.That is, when the program operation is performed according to the first program start voltage, information that the program target cells are slow cells is stored. When the program operation is performed according to the second program start voltage, the program target cells are called fast cells. The information is stored.
그러나 실제 판단 결과, 프로그램 상태 정보와는 달리 프로그램 속도가 기준값보다 빠르다거나, 기준값 보다 느린 경우에는 셀 상태 정보를 갱신한다(단계 580). However, as a result of the actual determination, unlike the program state information, if the program speed is faster than the reference value or slower than the reference value, the cell state information is updated (step 580).
바람직하게는, 제1 프로그램 시작전압에 따라 프로그램 동작을 수행하였는데, 상기 판단결과 패스트 셀로 판단된 경우 패스트 셀이라는 상태 정보를 저장한다. 또한, 제2 프로그램 시작전압에 따라 프로그램 동작을 수행하였는데, 상기 판단결과 슬로우 셀로 판단된 경우 슬로우 셀이라는 상태 정보를 저장한다. Preferably, when the program operation is performed according to the first program start voltage, when it is determined that the fast cell is a fast cell, state information of the fast cell is stored. In addition, when the program operation is performed according to the second program start voltage, when the determination result is the slow cell, state information of the slow cell is stored.
이러한 실시예에 따라 초기 레지스터에 패스트 셀이라는 상태 정보를 저장한 경우에도 셀 상태에 따라 다시 프로그램 시작전압을 조정할 수 있다. According to this embodiment, even when the state information of the fast cell is stored in the initial register, the program start voltage may be adjusted again according to the cell state.
정리하면, 프로그램 동작을 수행할 때 마다, 해당 셀들의 프로그램 속도에 대한 정보를 미리 체크하여 프로그램 시작전압을 설정한다. 실시예에 따라 매 페이지 별로, 또는 메모리 셀 블록 별로 별도 저장된 셀 상태 정보를 체크하여 프로그램 시작전압을 상이하게 설정한다. 즉 프로그램 속도가 빠른 패스트 셀인 경우에는 프로그램 시작전압을 낮게 설정하고, 프로그램 속도가 느린 슬로우 셀인 경우에는 프로그램 시작전압을 높게 설정한다. In summary, each time a program operation is performed, the program start voltage is set by checking information about program rates of the corresponding cells in advance. According to an exemplary embodiment, program start voltages are set differently by checking cell state information separately stored for each page or for each memory cell block. That is, the program start voltage is set low for fast cells having a high program speed, and the program start voltage is set high for slow cells with a slow program speed.
도 1은 본원 발명이 적용되는 불휘발성 메모리 장치의 전체 구성을 도시한 도면이다.1 is a view showing the overall configuration of a nonvolatile memory device to which the present invention is applied.
도 2는 통상적인 불휘발성 메모리 장치의 프로그램/소거 동작횟수의 증가에 따른 문턱전압 변화특성을 도시한 그래프이다.FIG. 2 is a graph illustrating a threshold voltage change characteristic according to an increase in the number of program / erase operations of a conventional nonvolatile memory device.
도 3은 통상적으로 사용되는 불휘발성 메모리 장치의 프로그램 방법의 개념을 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a concept of a program method of a nonvolatile memory device.
도 4는 본원 발명의 일 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.4 is a flowchart illustrating a program method of a nonvolatile memory device according to an exemplary embodiment of the present invention.
도 5는 본원 발명의 또 다른 실시예에 따른 불휘발성 메모리 장치의 프로그램 방법을 도시한 순서도이다.5 is a flowchart illustrating a program method of a nonvolatile memory device according to another exemplary embodiment of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080113411A KR100965076B1 (en) | 2008-11-14 | 2008-11-14 | Programming method for non volatile memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080113411A KR100965076B1 (en) | 2008-11-14 | 2008-11-14 | Programming method for non volatile memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100054465A KR20100054465A (en) | 2010-05-25 |
KR100965076B1 true KR100965076B1 (en) | 2010-06-21 |
Family
ID=42279189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080113411A KR100965076B1 (en) | 2008-11-14 | 2008-11-14 | Programming method for non volatile memory device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100965076B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8724395B2 (en) | 2011-08-03 | 2014-05-13 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related programming method |
US8804422B2 (en) | 2012-06-19 | 2014-08-12 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related method of operation |
US9953703B2 (en) | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
US11869582B2 (en) | 2020-12-01 | 2024-01-09 | Samsung Electronics Co., Ltd. | Non-volatile memory device and method of incrementally programming the same using a plurality of program loops |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101184830B1 (en) | 2010-10-27 | 2012-09-20 | 에스케이하이닉스 주식회사 | Semiconductor memory device and method of operating the same |
KR102423291B1 (en) * | 2016-01-15 | 2022-07-20 | 삼성전자주식회사 | Flash memory device revising program voltage, 3-Dimensional Memory device, Memory system and Program method thereof |
KR102491134B1 (en) * | 2018-09-21 | 2023-01-25 | 에스케이하이닉스 주식회사 | Memory system, operating method thereof and non-volatile memory device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060008942A (en) * | 2003-04-30 | 2006-01-27 | 프리스케일 세미컨덕터, 인크. | A non-volatile memory having a bias on the source electrode for hci programming |
-
2008
- 2008-11-14 KR KR1020080113411A patent/KR100965076B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060008942A (en) * | 2003-04-30 | 2006-01-27 | 프리스케일 세미컨덕터, 인크. | A non-volatile memory having a bias on the source electrode for hci programming |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8724395B2 (en) | 2011-08-03 | 2014-05-13 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related programming method |
US8804422B2 (en) | 2012-06-19 | 2014-08-12 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related method of operation |
US9953703B2 (en) | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
US10090045B2 (en) | 2015-10-16 | 2018-10-02 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device according to program speed of memory cells |
US11869582B2 (en) | 2020-12-01 | 2024-01-09 | Samsung Electronics Co., Ltd. | Non-volatile memory device and method of incrementally programming the same using a plurality of program loops |
Also Published As
Publication number | Publication date |
---|---|
KR20100054465A (en) | 2010-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100976696B1 (en) | Method for programming of non volatile memory device | |
US8630123B2 (en) | Method of operating nonvolatile memory device | |
JP5072723B2 (en) | Nonvolatile semiconductor memory device | |
KR100953045B1 (en) | Programming method of non volatile memory device | |
KR100996108B1 (en) | Programming method of non volatile memory device | |
KR100965071B1 (en) | Method for programming of non volatile memory device | |
US7616496B2 (en) | Charge trap type non-volatile memory device and program method thereof | |
KR100908533B1 (en) | Reading out method for non volatile memory device | |
KR100965076B1 (en) | Programming method for non volatile memory device | |
KR101099982B1 (en) | Method of operating a non volatile device | |
KR100967026B1 (en) | Non volatile memory device and cache reading method thereof | |
JP5280027B2 (en) | Semiconductor device and control method thereof | |
US20100046293A1 (en) | Memory cell block of nonvolatile memory device and method of managing supplementary information | |
KR101068496B1 (en) | Erasing method and programming method of non volatile memory device | |
KR100891411B1 (en) | Non volatile memory device and method of reading out thereof | |
KR101981798B1 (en) | Erasing method and soft programming method of non volatile memory device | |
JP5522682B2 (en) | Semiconductor memory | |
KR20100027781A (en) | Erasing method of non volatile memory device and operationg method using thereof | |
KR20100027784A (en) | Erasing method and soft program method of non volatile memory device | |
KR20090120683A (en) | Programming method and erasing method of non volatile memory device | |
KR20090000330A (en) | Data setting method of non volatile memory device | |
KR20090026510A (en) | Programming method of non volatile memory device | |
KR20100054481A (en) | Method for cache read of non volatile memory device | |
KR20100040425A (en) | Method for bit line precharging of non volatile memory device | |
KR20100054467A (en) | Verifying method for non volatile memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |