KR20010061460A - Method for erasing cell of flash memory - Google Patents

Method for erasing cell of flash memory Download PDF

Info

Publication number
KR20010061460A
KR20010061460A KR1019990063956A KR19990063956A KR20010061460A KR 20010061460 A KR20010061460 A KR 20010061460A KR 1019990063956 A KR1019990063956 A KR 1019990063956A KR 19990063956 A KR19990063956 A KR 19990063956A KR 20010061460 A KR20010061460 A KR 20010061460A
Authority
KR
South Korea
Prior art keywords
address
error
value
maximum value
determined
Prior art date
Application number
KR1019990063956A
Other languages
Korean (ko)
Other versions
KR100684709B1 (en
Inventor
신계완
이풍엽
권오원
서성환
Original Assignee
박종섭
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박종섭, 주식회사 하이닉스반도체 filed Critical 박종섭
Priority to KR1019990063956A priority Critical patent/KR100684709B1/en
Publication of KR20010061460A publication Critical patent/KR20010061460A/en
Application granted granted Critical
Publication of KR100684709B1 publication Critical patent/KR100684709B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing

Abstract

PURPOSE: An erasing method of a flash memory is provided to prevent a program fail by verifying the addresses of a cell after executing a post program about all bit lines of a sector at which an erase has been performed. CONSTITUTION: When there is an erase order(S310), a program about a pertinent address is performed(S330), and the pertinent address is verified(S340). An existing of a fail is decided according to a result of the verification(S350). On the occasion of fail, when the present value of a fail-counter is not a maximum value(MAX)(S352), the value of the fail counter is increased(S353), and the pre program step is performed(S330). On the occasion of no fail, when the present verified address is a final address, the fail counter and the address are reset(S370), and the pertinent address is erased(S380), because the per program is finished. After this, the erase of the pertinent address is verified(S390), and the erased pertinent address is verified(S390) in order to decide whether the fail exists or not. When there is the fail, it is decided whether the present value of the fail counter is the maximum value(S401). If the present value of the fail counter is not the maximum value, the present value of the fail counter is increased(S402), and the erase step is performed(S380). If the present value of the fail counter is the maximum value, a fail set-up is performed(S352).

Description

플래시 메모리의 소거방법{Method for erasing cell of flash memory}Method for erasing cell of flash memory

본 발명은 플래시 메모리의 소거방법에 관한 것이며, 상세하게는 플래시 메모리의 쓰기 동작시 저온에서의 소거후 고온에서의 프로그램을 할 경우 검증 레벨의 마진이 작은 비트로 인하여 발생할 수 있는 프로그램 오류를 방지할 수 있는 플래시 메모리의 소거방법에 관한 것이다.The present invention relates to a method of erasing a flash memory, and in particular, when programming at a high temperature after erasing at a low temperature during a write operation of a flash memory, it is possible to prevent a program error that may occur due to a small bit of a verification level margin. A method of erasing a flash memory.

일반적으로 플래시 메모리는 소거(erase)시 문턱전압(Vt)의 분포를 일정하게 하기 위하여, 먼저 프리 프로그램(pre-program)이라는 과정을 실시하여 소거하려는 셀들의 문턱전압(Vt)을 일정하게 세팅한 후 소거를 실시한다. 그리고 소거를 실시한 후에는 포스트 프로그램(post-program)과정을 실시하여 혹시 과소거(over erase)되었을 셀들에 대해서 일정한 문턱전압(Vt)으로 수렴하게 하는 과정을 거친다.In general, in order to make the distribution of the threshold voltage Vt constant during erasing, the flash memory first performs a process called pre-program to constantly set the threshold voltage Vt of cells to be erased. After erasing is performed. After erasing, a post-program process is performed to converge to a predetermined threshold voltage Vt for cells that may have been over erased.

전술한 종래의 소거 방법을 도 1a 및 도 1b를 참조하여 설명하면 다음과 같다.The above-described conventional erase method will be described with reference to FIGS. 1A and 1B.

먼저 소거명령을 준다(S10). 소거명령이 주어지면 프리 프로그램을 시작하기전에 오류카운터 및 어드레스를 리세트하고(S20), 프리프로그램을 시작한다(S30).First, the erase command is given (S10). If an erase command is given, the error counter and address are reset before starting the preprogram (S20), and the preprogram is started (S30).

프리 프로그램을 시작하면 먼저 해당 어드레스를 프로그램한다(S40). 프로그램 후에는 프로그램된 해당 어드레스를 검증한다(S50). 그리고 나서 그 결과에 따라서 프로그램 된 해당 어드레스에 오류가 있는지를 판단한다(S60).When the pre-program is started, the corresponding address is first programmed (S40). After the program, the programmed corresponding address is verified (S50). Then, it is determined whether there is an error in the corresponding address programmed according to the result (S60).

단계(S60)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S80). 단계(S80)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S81)시킨후 프로그램 단계(S40)를 실행한다. 하지만 판단(S80)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 오류(FAIL)설정을 하고 종료한다.If it is determined that there is an error in step S60, it is determined whether the current value of the error counter is a preset maximum value MAX (S80). If it is determined in step S80 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S81) and then the program step (S40) is executed. However, if it is determined in S80 that the value of the error counter is the maximum value MAX, then the error FAIL is set and ends.

한편, 단계(S60)에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종어드레스인지를 판단한다(S70). 단계(S70)에서 최종 어드레스가 아니라고 판단되면현재의 어드레스를 증가(S71)시킨 후 프로그램 단계(S40)를 실행한다.On the other hand, if it is determined that there is no error in step S60, it is determined whether the currently verified address is the final address (S70). If it is determined in step S70 that the address is not the final address, the current address is increased (S71) and then the program step (S40) is executed.

하지만 단계(S70)에서 최종 어드레스라고 판단되면 모든 어드레스의 프리 프로그램이 끝난 상태이므로 소거를 하기 위하여 오류카운터 및 어드레스를 리세트 (S90)하고 소거를 시작한다(S100).However, if it is determined in step S70 that the final address has been pre-programmed, the error counter and address are reset (S90) and the erase is started to erase (S100).

먼저 해당 어드레스를 소거(S110)하고, 해당 어드레스의 소거를 검증한다(S120). 그리고 나서 그 결과에 따라서 소거된 해당 어드레스에 오류가 있는지를 판단한다(S130).First, the address is erased (S110), and the erase of the address is verified (S120). Then, it is determined whether there is an error in the erased corresponding address according to the result (S130).

단계(S130)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S150). 단계(S150)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S151)시킨후 소거 단계(S110)를 실행한다. 하지만 판단(S150)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S81)에서 오류(FAIL)설정을 하고 종료한다.If it is determined in step S130 that there is an error, it is determined whether the current value of the error counter is a preset maximum value MAX (S150). If it is determined in step S150 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S151) and then the erase step (S110) is executed. However, if it is determined in step S150 that the value of the error counter is the maximum value MAX, then an error FAIL is set in step S81 and the process ends.

한편, 단계(S130)에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종어드레스인지를 판단한다(S140). 단계(S140)에서 최종 어드레스가 아니라고 판단되면 현재의 어드레스를 증가(S141)시킨 후 소거단계(S110)를 실행한다.On the other hand, if it is determined that there is no error in step S130, it is determined whether the currently verified address is the final address (S140). If it is determined in step S140 that it is not the final address, the current address is increased (S141) and then the erase step (S110) is executed.

하지만 단계(S140)에서 최종 어드레스라고 판단되면 모든 어드레스의 소거가 끝난 상태이므로 포스트 프로그램을 하기 위하여 오류카운터 및 어드레스를 리세트 한다(S160).However, if it is determined in step S140 that the final address has been erased, all the addresses have been erased and thus the error counter and the address are reset in order to perform the post program (S160).

그리고 나서 해당 어드레스를 프리 프로그램한다(S170). 단계(S170)에서 프로그램 후에는 프로그램된 해당 어드레스를 검증한다(S180). 그리고 나서 그 결과에 따라서 프로그램 된 해당 어드레스에 오류가 있는지를 판단한다(S190).Then, the corresponding address is preprogrammed (S170). After the program in step S170, the programmed corresponding address is verified (S180). Then, it is determined whether there is an error in the corresponding address programmed according to the result (S190).

만약, 단계(S190)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S210). 단계(S210)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S211)시킨후 포스트 프로그램 단계(S170)를 실행한다. 하지만 판단(S210)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S81)에서 오류(FAIL)설정을 하고 종료한다.If it is determined in step S190 that there is an error, it is determined whether the current value of the error counter is a preset maximum value MAX (S210). If it is determined in step S210 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S211) and then the post program step (S170) is executed. However, if it is determined in step S210 that the value of the error counter is the maximum value MAX, then an error FAIL is set in step S81 and the process ends.

한편, 단계(S190)에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종어드레스인지를 판단한다(S200). 단계(S200)에서 최종 어드레스가 아니라고 판단되면 현재의 어드레스를 증가(S201)시킨 후 포스트 프로그램 단계(S170)를 실행한다.On the other hand, if it is determined that there is no error in step S190, it is determined whether the currently verified address is the final address (S200). If it is determined in step S200 that it is not the final address, the current address is increased (S201), and then the post program step (S170) is executed.

하지만 단계(S200)에서 최종 어드레스라고 판단되면 모든 어드레스의 포스트 프로그램이 끝난 상태이므로 패스(PASS)를 설정하고(S220) 종료한다.However, if it is determined in step S200 that the final address is completed, since the post program of all addresses is finished, a pass PASS is set (S220) and ends.

도 2에 도시한 바와 같이 그런데 종래의 방법에 의하여 소거가 이루어지면 소거시의 셀들의 문턱전압은 온도가 상승하게 되면 떨어져 문턱전압 분포가 A에서 B로 변동하게 되는데 그 때문에 포스트 프로그램의 검증을 패스(PASS)한 셀들중, 패스레벨 근처의 문턱전압을 가지는 셀들은 고온에서 문턱전압이 떨어지기 때문에 비트 라인 누설이 증가하게 된다. 따라서 저온에서 소거가 패스된 셀들은 고온 프로그램에서는 비트 라인 누설증가로 인한 오류가 발생하는 문제점이 있었다.As shown in FIG. 2, however, when the erase is performed by the conventional method, the threshold voltage of the cells during erasing drops when the temperature rises, and thus the threshold voltage distribution varies from A to B. Therefore, the verification of the post program passes. Among the (PASS) cells, cells having a threshold voltage near a pass level increase bit line leakage because the threshold voltage drops at a high temperature. As a result, cells that have been erased at low temperatures have a problem in that errors occur due to increased bit line leakage in high temperature programs.

따라서 본 발명은, 포스트 프로그램 과정을 실시함에 있어서 먼저 소거를 실시한 섹터의 전 비트 라인에 대하여 일정시간 포스트 프로그램을 연속적으로 실시한 후 검증을 함으로써 고온에서의 프로그램시 문턱전압이 떨어짐에 따른 누설 증가로 인한 프로그램 오류를 방지할 수 있는 플래시 메모리의 소거방법을 제공하는데 목적이 있다.Accordingly, the present invention, in the post program process, first performs a post program continuously for a predetermined time on all the bit lines of the sector to be erased, and then verifies by increasing leakage due to a drop in threshold voltage during programming at high temperature. An object of the present invention is to provide a method of erasing a flash memory that can prevent a program error.

상기 목적을 달성하기 위하여 본 발명에 따른 플래시 메모리의 소거방법은, 셀을 프리 프로그램하고 검증하는 프리 프로그램/검증 단계, 프리 프로그램 단계 상기 셀을 소거하고 검증하는 소거/검증단계, 소거단계 후 상기 셀의 어드레스 전체를 포스트 프로그램 하는 포스트 프로그램 단계, 포스트 프로그램 단계 후 셀의 어드레스를 검증하여 오류가 있는 어드레스를 다시 포스트 프로그램 하는 포스트 프로그램 검증 단계를 포함하는 것을 특징으로 하는 방법이다.In order to achieve the above object, an erase method of a flash memory according to the present invention includes a preprogram / verify step of pre-programming and verifying a cell, a pre-program step, an erase / verify step of erasing and verifying the cell, and the cell after the erase step. And a post program verifying step of post-programming the address of the cell after verifying the address of the cell after the post program step.

또한 전술한 포스트 프로그램 검증단계는, 어드레스와 오류카운터를 리세트 하는 제 2 리세트단계와, 셀의 해당 어드레스를 검증하는 검증단계와, 검증단계에서 검증된 어드레스에 오류가 있는지를 판단하는 제 3 오류판단단계와, 제 3 오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제 3 최대값판단단계와, 제 3 최대값판단단계에서 오류카운터의 값이 최대값이 아니라고 판단되면 오류가 발생한 해당 어드레스를 포스트 프로그램 하는 재프로그램단계와, 재프로그램단계 후 오류카운터의 값을 증가시키는 카운터증가단계를 포함하고 오류카운터 값의 증가 후 검증단계를 수행하는 것을 특징으로 하는 방법이다. 그리고 제 3 오류판단단계에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종 어드레스인지를 판단하는 어드레스판단계와, 어드레스판단단계에서 현재 검증된 어드레스가 최종 어드레스가 아니라고 판단되면 어드레스를 증가하는 어드레스 증가단계를 포함하며, 현재 검증된 어드레스가 최종 어드레스라고 판단되면 플래시 메모리를 정상이라고 설정하며, 제 3 최대값판단단계에서 오류카운터의 값이 최대값이라고 판단되면 플래시 메모리를 불량이라고 설정하는 것을 특징으로 하는 방법이다.In addition, the above-described post program verification step includes a second reset step of resetting an address and an error counter, a verification step of verifying a corresponding address of a cell, and a third step of determining whether there is an error in the address verified in the verification step. In the error judging step and the third error judging step, the third maximum value judging step of judging whether or not the value of the error counter measuring the number of errors is a preset maximum value, and the third maximum value judging step If it is determined that the value of the error counter is not the maximum value, it includes a reprogramming step of post programming the corresponding address where the error occurs, and a counter increment step of increasing the value of the error counter after the reprogramming step. It is a method characterized by performing. An address judging step of determining whether the currently verified address is the final address if it is determined that there is no error in the third error judging step, and an address increment step of incrementing the address if it is determined that the currently verified address is not the final address in the address judging step; If the current verified address is determined to be the final address, the flash memory is set to normal, and if it is determined that the error counter value is the maximum value in the third maximum value determination step, the flash memory is set to be bad. Way.

도 1a 및 1b는 종래의 플래시 메모리의 소거방법을 보인 흐름도.1A and 1B are flowcharts showing a method of erasing a conventional flash memory.

도 2는 종래의 플래시 메모리의 소거방법에 의하여 포스트 프로그램 검증이 된 셀들의 문턱전압 분포를 보인 분포도.2 is a distribution diagram showing threshold voltage distributions of cells subjected to post program verification by a conventional method of erasing a flash memory.

도 3a, 3b는 본 발명에 따른 플래시 메모리의 소거방법을 보인 흐름도.3A and 3B are flowcharts illustrating a method of erasing a flash memory according to the present invention.

도 4는 본 발명에 따른 플래시 메모리의 소거방법에 의하여 포스트 프로그램 검증이 된 셀들의 문턱전압 분포를 보인 분포도.4 is a distribution diagram showing threshold voltage distributions of cells subjected to post program verification by an erase method of a flash memory according to the present invention;

이하에서는 첨부된 도면을 참조하여 본 발명을 상세하게 설명하겠다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

도 3a, 3b에 도시한 바와 같이, 본 발명에서는, 플래시 메모리의 소거시 포스트 프로그램을 실시할 때, 프리 프로그램, 소거과정 후 포스트 프로그램과정에서는 먼저, 소거하는 섹터의 전 비트 라인을 한 비트 라인씩 차례로 일정시간동안 포스트 프로그램을 실시한다. 그 후 검증을 실시하여 패스인 경우는 다음 비트 라인을 검증하고 만일 그 비트라인이 검증 패스가 되지 않았을 경우에는 그 비트 라인에 대하여 포스트 프로그램을 재 실행하고 검증을 다시 실시한다.As shown in Figs. 3A and 3B, in the present invention, when performing a post program at the time of erasing a flash memory, in a pre program and a post program process after an erase process, all the bit lines of the sector to be erased are set by one bit line. In turn, the post program is executed for a certain time. After that, verification is performed to verify that the next bit line is a pass. If the bit line is not a verification pass, the post program is executed again on the bit line and verification is performed again.

이때 검증이 패스된 경우에는 그 다음 비트라인을 검증하고, 미리 정해진 횟수만큼 검증이 패스되지 않으면 소자를 불량 처리한다..At this time, if the verification passes, the next bit line is verified. If the verification is not passed a predetermined number of times, the device is failed.

그 상세한 동작은 다음과 같다.The detailed operation is as follows.

먼저 소거명령을 준다(S310). 소거명령이 주어지면 프리 프로그램을 시작하기전에 오류카운터 및 어드레스를 리세트하고(S320), 해당 어드레스를 프리 프로그램한다(S330). 해당 어드레스의 프리 프로그램 후에는 프리 프로그램된 해당 어드레스를 검증한다(S340). 그리고 나서 그 결과에 따라서 프리 프로그램 된 해당 어드레스에 오류가 있는지를 판단한다(S350).First, an erase command is given (S310). If an erase command is given, the error counter and address are reset before starting the preprogram (S320), and the preprogrammed address is preprogrammed (S330). After the preprogramming of the address, the preprogrammed address is verified (S340). Then, it is determined whether there is an error in the corresponding preprogrammed address according to the result (S350).

단계(S350)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S351). 단계(S351)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S353)시킨 후 프리 프로그램 단계(S330)를 실행한다. 하지만 판단(S351)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S352)에서 오류(FAIL)설정을 하고 종료한다.If it is determined in step S350 that there is an error, it is determined whether the current value of the error counter is a preset maximum value MAX (S351). If it is determined in step S351 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S353) and then the pre-program step (S330) is executed. However, if it is determined in step S351 that the value of the error counter is the maximum value MAX, an error FAIL is set in step S352 and the process ends.

한편, 단계(S350)에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종어드레스인지를 판단한다(S360). 단계(S360)에서 최종 어드레스가 아니라고 판단되면 현재의 어드레스를 증가(S361)시킨 후 프리 프로그램 단계(S330)를 실행한다.On the other hand, if it is determined in step S350 that there is no error, it is determined whether the currently verified address is the final address (S360). If it is determined in step S360 that the address is not the final address, the current address is increased (S361), and then the preprogram step S330 is executed.

하지만 단계(S360)에서 최종 어드레스라고 판단되면 모든 어드레스의 프리 프로그램이 끝난 상태이므로 소거를 하기 위하여 오류카운터 및 어드레스를 리세트 (S370)하고 해당 어드레스를 소거한다(S380).However, if it is determined in step S360 that the final address has been pre-programmed, the error counter and address are reset (S370) and the corresponding address is erased (S380) in order to erase the address.

해당 어드레스를 소거한 후에는, 해당 어드레스의 소거를 검증한다(S390). 그리고 나서 그 결과에 따라서 소거된 해당 어드레스에 오류가 있는지를 판단한다(S400).After erasing the address, erasure of the address is verified (S390). Then, it is determined whether there is an error in the erased corresponding address according to the result (S400).

단계(S400)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S401). 단계(S401)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S402)시킨후 소거 단계(S380)를 실행한다. 하지만 판단(S401)에서 오류카운터의 값이 최대값(MAX)라고 판단되면단계(S352)에서 오류(FAIL)설정, 플래시 메모리가 불량이라고 설정 하고 종료한다.If it is determined in step S400 that there is an error, it is determined whether the current value of the error counter is a preset maximum value MAX (S401). If it is determined in step S401 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S402) and then the erase step (S380) is executed. However, if it is determined in S401 that the value of the error counter is the maximum value MAX, the error FAIL is set in step S352, the flash memory is set to be bad, and the process ends.

한편, 단계(S400)에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종어드레스인지를 판단한다(S410). 단계(S410)에서 최종 어드레스가 아니라고 판단되면 현재의 어드레스를 증가(S411)시킨 후 소거단계(S380)를 실행한다.On the other hand, if it is determined that there is no error in step S400, it is determined whether the currently verified address is the final address (S410). If it is determined in step S410 that it is not the final address, the current address is increased (S411) and then the erase step (S380) is executed.

하지만 단계(S410)에서 최종 어드레스라고 판단되면 모든 어드레스의 소거가 끝난 상태이므로 포스트 프로그램을 하기 위하여 오류카운터 및 어드레스를 리세트 한다(S420).However, if it is determined in step S410 that the final address has been erased, the error counter and the address are reset to perform the post program (S420).

오류카운터 및 어드레스를 리세트 한 후에는 해당 어드레스의 포스트 프로그램을 실시한다(S430). 포스트 프로그램 후에는 현재 어드레스가 최종 어드레스인지를 판단한다(S440). 단계(S440)에서 현재 어드레스가 최종 어드레스가 아니라고 판단되면 어드레스를 증가(S441)시키고 단계(S430)에서 포스트 프르그램 단계를 실시한다.After the error counter and the address are reset, a post program of the corresponding address is executed (S430). After the post program, it is determined whether the current address is the last address (S440). If it is determined in step S440 that the current address is not the final address, the address is increased (S441), and in step S430, the post program step is performed.

하지만 단계(S440)에서, 현재 어드레스가 최종 어드레스라고 판단되면 포스트 프로그램을 검증하기 위하여 어드레스 및 오류카운터를 리세트 시킨다(S450).However, if it is determined in step S440 that the current address is the final address, the address and the error counter are reset to verify the post program (S450).

그리고 나서 해당 어드레스의 포스트 프로그램을 검증한다(S460). 그리고 나서 그 결과에 따라서 프로그램 된 해당 어드레스에 오류가 있는지를 판단한다(S470).Then, the post program of the corresponding address is verified (S460). Then, it is determined whether there is an error in the corresponding address programmed according to the result (S470).

단계(S470)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S471). 그리고 단계(S471)에서 오류카운터의 현재값이 최대값(MAX)가 아니라고 판단되면 오류가 발생된 해당 어드레스를 포스트 프로그램한다(S472). 그리고 나서 오류카운터의 값을 증가(S473)시킨 후 포스트 프로그램 검증을 위하여 단계(S460)를 실행한다. 하지만 판단(S471)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S352)에서 오류(FAIL)설정을 하고 종료한다.If it is determined in step S470 that there is an error, it is determined whether the current value of the error counter is a preset maximum value MAX (S471). If it is determined in step S471 that the current value of the error counter is not the maximum value MAX, the corresponding program in which the error occurs is post-programmed (S472). Then, after increasing the value of the error counter (S473) and performs a step (S460) for post program verification. However, if it is determined in step S471 that the value of the error counter is the maximum value MAX, an error FAIL is set in step S352 and the process ends.

한편, 단계(S470)에서 오류가 없다고 판단되면 현재의 어드레스가 최종 어드레스인지를 판단한다(S480).On the other hand, if it is determined in step S470 that there is no error, it is determined whether the current address is the final address (S480).

단계(S480)에서 현재의 어드레스가 최종 어드레스가 아니라고 판단되면 어드레스를 증가(S481)한 후 포스트 프로그램 검증 단계(S460)을 실행한다.If it is determined in step S480 that the current address is not the final address, the address is increased (S481) and then the post program verification step (S460) is executed.

하지만 단계(S480)에서 현재의 어드레스가 최종 어드레스라고 판단되면 패스하여 플래시 메모리가 정상이라 설정하고(S490) 종료한다.However, if it is determined in step S480 that the current address is the last address, it passes and sets the flash memory as normal (S490).

도 4에 도시한 바와 같이, 소거를 실시한 섹터의 전 비트 라인에 대하여 일정시간 포스트 프로그램을 실시한 셀의 문턱전압(Vt)의 분포는 도 5의 A와 같고, 고온에서의 해당 셀들의 문턱전압분포는 도 5의 B와 같은데, 문턱전압 분포의 변화폭이 작은걸 알 수 있다. 따라서 고온에서 문턱전압이 떨어져도 비트 라인 누설이 줄어들기 때문에 문턱전압 분포의 변화폭에 따른 프로그램 오류를 최소화 할 수 있다.As shown in FIG. 4, the distribution of the threshold voltage Vt of a cell subjected to a post program for a predetermined time with respect to all the bit lines of the erased sector is the same as in FIG. 5A, and the threshold voltage distribution of the corresponding cells at high temperature. 5 is the same as B of FIG. 5, and it can be seen that the variation in threshold voltage distribution is small. Therefore, even if the threshold voltage drops at high temperatures, the bit line leakage is reduced, thereby minimizing the program error caused by the variation of the threshold voltage distribution.

본 발명에 따른 플래시 메모리의 소거방법에 의하면, 셀을 프리 프로그램하고 검증하는 프리 프로그램/검증 단계, 프리 프로그램 단계 상기 셀을 소거하고 검증하는 소거/검증단계, 소거단계 후 상기 셀의 어드레스 전체를 포스트 프로그램하는 포스트 프로그램 단계, 포스트 프로그램 단계 후 셀의 어드레스를 검증하여 오류가 있는 어드레스를 다시 포스트 프로그램 하는 포스트 프로그램 검증 단계에 의하여 플래시 메모리의 소거를 햄함으로써 소거를 실시한 섹터의 전 비트 라인에 대하여 일정시간 포스트 프로그램을 연속적으로 실시한 후 검증을 함으로써 고온에서의 프로그램시 문턱전압이 떨어짐에 따른 누설 증가로 인한 프로그램 오류를 방지할 수 있다.According to the method of erasing a flash memory according to the present invention, a pre-program / verify step of pre-programming and verifying a cell, a pre-program step, an erase / verify step of erasing and verifying the cell, and post the entire address of the cell after the erase step The post program step of programming, the post program step of verifying the address of the cell after the post program step, and the post program verifying step of post-programming an erroneous address are performed by erasing the erase of the flash memory for a predetermined time for all the bit lines of the erased sector. By performing the post program continuously and verifying, it is possible to prevent a program error due to an increase in leakage due to a drop in the threshold voltage during programming at a high temperature.

Claims (6)

플래시 메모리의 소거방법에 있어서,In the erase method of a flash memory, 상기 셀을 프리 프로그램하고 검증하는 프리 프로그램/검증 단계,A preprogram / verify step of preprogramming and verifying the cell; 상기 프리 프로그램 단계 상기 셀을 소거하고 검증하는 소거/검증단계,An erase / verify step of erasing and verifying the pre-program step; 상기 소거단계 후 상기 셀의 어드레스 전체를 포스트 프로그램 하는 포스트 프로그램 단계,A post program step of post programming the entire address of the cell after the erase step; 상기 포스트 프로그램 단계 후 상기 셀의 어드레스를 검증하여 오류가 있는 어드레스를 다시 포스트 프로그램 하는 포스트 프로그램 검증 단계를 포함하는 것을 특징으로 하는 플래시 메모리의 소거방법.And a post program verifying step of verifying the address of the cell after the post program step and post programming the erroneous address again. 제 1항에 있어서,The method of claim 1, 상기 프리 프로그램/검증 단계는, 상기 셀의 어드레스를 프리 프로그램 하는 프리프로그램단계와,The preprogram / verify step may include a preprogram step of preprogramming an address of the cell; 상기 프리 프로그램된 어드레스를 검증하여 오류가 있는지를 판단하는 제 1 오류판단단계와,A first error judging step of determining whether there is an error by verifying the preprogrammed address; 상기 제 1 오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제 1 최대값판단단계를포함하며 상기 제 1 최대값판단단계에서 상기 오류카운터의 값이 상기 최대값이 아니라고 판단되면 상기 오류카운터의 값을 증가시키고 상기 프리프로그램단계를 수행하는 것을 특징으로 하는 플래시 메모리의 소거방법.And a first maximum value judging step of determining whether a value of an error counter that measures the number of errors is a preset maximum value when it is determined that there is an error in the first error judging step; If it is determined that the value of the counter is not the maximum value, the value of the error counter is increased and the preprogramming step is performed. 제 1항에 있어서,The method of claim 1, 상기 소거/검증단계는, 해당 어드레스를 소거하는 소거단계와,The erasing / verifying step includes: an erasing step of erasing the corresponding address; 상기 소거단계에서 소거된 어드레스를 검증하여 오류가 있는지를 판단하는 제 2 오류판단단계와,A second error determination step of determining whether there is an error by verifying the address erased in the erasing step; 상기 제 2 오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 상기 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제 2 최대값판단단계를 포함하며, 상기 제 2 최대값판단단계에서 상기 오류카운터의 값이 상기 최대값이 아니라고 판단되면 상기 오류카운터의 값을 증가시키고 상기 소거단계를 수행하는 것을 특징으로 하는 플래시 메모리의 소거방법.And a second maximum value determining step of determining whether a value of the error counter which measures the number of errors is a preset maximum value when it is determined that there is an error in the second error determining step, in the second maximum value determining step And if it is determined that the value of the error counter is not the maximum value, the value of the error counter is increased and the erase step is performed. 제 1항에 있어서,The method of claim 1, 상기 포스트 프로그램 검증단계는, 상기 어드레스와 오류카운터를 리세트 하는 제 2 리세트단계와,The post program verifying step includes: a second reset step of resetting the address and the error counter; 상기 셀의 해당 어드레스를 검증하는 검증단계와,A verification step of verifying a corresponding address of the cell; 상기 검증단계에서 검증된 어드레스에 오류가 있는지를 판단하는 제 3 오류판단단계와,A third error determination step of determining whether there is an error in the address verified in the verification step; 상기 제 3 오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 상기 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제 3 최대값판단단계와,A third maximum value determining step of determining whether a value of the error counter which measures the number of errors is a preset maximum value when it is determined that there is an error in the third error determining step; 상기 제 3 최대값판단단계에서 상기 오류카운터의 값이 상기 최대값이 아니라고 판단되면 오류가 발생한 해당 어드레스를 포스트 프로그램 하는 재프로그램단계와,A reprogramming step of post-programming the corresponding address where an error occurs if it is determined in the third maximum value determining step that the value of the error counter is not the maximum value; 상기 재프로그램단계 후 상기 오류카운터의 값을 증가시키는 카운터증가단계를 포함하고 상기 오류카운터 값의 증가 후 상기 검증단계를 수행하는 것을 특징으로 하는 플래시 메모리의 소거방법.And a counter incrementing step of increasing the value of the error counter after the reprogramming step, and performing the verification step after the increase of the error counter value. 제 1항에 있어서,The method of claim 1, 상기 제 3 오류판단단계에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종 어드레스인지를 판단하는 어드레스판단계와,An address judging step of judging whether the currently verified address is a final address if it is determined that there is no error in the third error judging step; 상기 어드레스판단단계에서 현재 검증된 어드레스가 최종 어드레스가 아니라고 판단되면 어드레스를 증가하는 어드레스 증가단계를 포함하며, 현재 검증된 어드레스가 최종 어드레스라고 판단되면 상기 플래시 메모리를 정상이라고 설정하는 것을 특징으로 하는 플래시 메모리의 소거방법.An address increment step of incrementing an address if it is determined in the address determination step that the current verified address is not a final address; and setting the flash memory as normal if it is determined that the current verified address is a final address. How to erase the memory. 제 1항에 있어서,The method of claim 1, 상기 제 1, 제 2 및 제 3 최대값판단단계에서 오류카운터의 값이 상기 최대값이라고 판단되면 상기 플래시 메모리를 불량이라고 설정하는 것을 특징으로 하는 플래시 메모리의 소거방법.And in the first, second and third maximum value judging steps, if the value of the error counter is determined to be the maximum value, setting the flash memory as defective.
KR1019990063956A 1999-12-28 1999-12-28 Method for erasing cell of flash memory KR100684709B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990063956A KR100684709B1 (en) 1999-12-28 1999-12-28 Method for erasing cell of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990063956A KR100684709B1 (en) 1999-12-28 1999-12-28 Method for erasing cell of flash memory

Publications (2)

Publication Number Publication Date
KR20010061460A true KR20010061460A (en) 2001-07-07
KR100684709B1 KR100684709B1 (en) 2007-02-20

Family

ID=19631275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990063956A KR100684709B1 (en) 1999-12-28 1999-12-28 Method for erasing cell of flash memory

Country Status (1)

Country Link
KR (1) KR100684709B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685643B1 (en) * 2002-07-06 2007-02-22 주식회사 하이닉스반도체 Erase method of flash memory
KR100866626B1 (en) * 2007-07-02 2008-11-03 삼성전자주식회사 Nonvolatile memory device including spare array and block erasing method in the same
US7558122B2 (en) 2006-12-19 2009-07-07 Samsung Electronics Co., Ltd. Flash memory device and method of erasing flash memory device
KR100940261B1 (en) * 2007-04-24 2010-02-04 주식회사 하이닉스반도체 Method of erasing NAND flash memory device
US7986565B2 (en) 2008-11-12 2011-07-26 Samsung Electronics Co., Ltd. Method of erasing data in flash memory device
US8085592B2 (en) 2008-01-21 2011-12-27 Samsung Electronics Co., Ltd. Charge-trap flash memory device with reduced erasure stress and related programming and erasing methods thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100293633B1 (en) * 1998-03-26 2001-07-12 박종섭 Method for erasing flash memory device
KR100293635B1 (en) * 1998-03-26 2001-07-12 박종섭 Post-program method for flash memory device
KR20000004246A (en) * 1998-06-30 2000-01-25 김영환 Method for erasing flash memory cell
KR100296324B1 (en) * 1998-12-30 2001-09-22 박종섭 Erasing Method of Flash Memory Device_

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100685643B1 (en) * 2002-07-06 2007-02-22 주식회사 하이닉스반도체 Erase method of flash memory
US7558122B2 (en) 2006-12-19 2009-07-07 Samsung Electronics Co., Ltd. Flash memory device and method of erasing flash memory device
KR100940261B1 (en) * 2007-04-24 2010-02-04 주식회사 하이닉스반도체 Method of erasing NAND flash memory device
KR100866626B1 (en) * 2007-07-02 2008-11-03 삼성전자주식회사 Nonvolatile memory device including spare array and block erasing method in the same
US8085592B2 (en) 2008-01-21 2011-12-27 Samsung Electronics Co., Ltd. Charge-trap flash memory device with reduced erasure stress and related programming and erasing methods thereof
US7986565B2 (en) 2008-11-12 2011-07-26 Samsung Electronics Co., Ltd. Method of erasing data in flash memory device

Also Published As

Publication number Publication date
KR100684709B1 (en) 2007-02-20

Similar Documents

Publication Publication Date Title
KR100315321B1 (en) Nonvolatile semiconductor memory device and erase verify method therefor
US7047455B2 (en) Memory with element redundancy
US6553510B1 (en) Memory device including redundancy routine for correcting random errors
KR100841980B1 (en) Erase method of flash memory device capable of improving distributions of threshold voltage of erased memory cell
US6377491B2 (en) Non-volatile memory for storing erase operation information
JP2006294143A (en) Nonvolatile semiconductor memory apparatus
US7437625B2 (en) Memory with element redundancy
JP2009530759A (en) Non-volatile memory for program / erase control
US7565587B2 (en) Background block erase check for flash memories
US8462554B2 (en) Over-erase verification and repair methods for flash memory
KR100684709B1 (en) Method for erasing cell of flash memory
CN114078511A (en) Semiconductor memory device and operating method thereof
JPH10241376A (en) Non-volatile semiconductor memory
CN116543817A (en) Erasing method and device of non-volatile memory
KR20010061470A (en) Method for erasing of flash memory
US8045403B2 (en) Programming method and memory device using the same
KR100335769B1 (en) Method of programming flash memory device
KR100332113B1 (en) A program and erase method for flash memory
KR20000019968A (en) Erasing method in flash memory
KR100466979B1 (en) Semiconductor memory device and program verification method thereof
JP3945930B2 (en) Inspection method for flash memory embedded microcomputer
JPH0863982A (en) Non-volatile semiconductor memory
JP2000268586A (en) Nonvolatile semiconductor memory
CN116189741A (en) Erasing method and device of non-volatile memory
TWI543174B (en) Method of erasing a nonvolatile memory for preventing over-soft-program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110126

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee