KR20010061470A - Method for erasing of flash memory - Google Patents

Method for erasing of flash memory Download PDF

Info

Publication number
KR20010061470A
KR20010061470A KR1019990063966A KR19990063966A KR20010061470A KR 20010061470 A KR20010061470 A KR 20010061470A KR 1019990063966 A KR1019990063966 A KR 1019990063966A KR 19990063966 A KR19990063966 A KR 19990063966A KR 20010061470 A KR20010061470 A KR 20010061470A
Authority
KR
South Korea
Prior art keywords
address
error
determined
cell
determining
Prior art date
Application number
KR1019990063966A
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 KR1019990063966A priority Critical patent/KR20010061470A/en
Publication of KR20010061470A publication Critical patent/KR20010061470A/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 decrease an erasing time by preventing an erasing operation at an erased cell. CONSTITUTION: When an erase command is inputted(S310), a verification operation is performed in order to decide whether a cell has been erased or not(S320). After the verification, it is decided whether there is a failure at a pertinent address or not(S330). If there is no fail, data has been erased at the pertinent address. After this, it is decided whether the pertinent address is the final address or not(S340). If the pertinent address is the final address, the cell including the pertinent address has been already erased, and an erase operation is not performed(S350).

Description

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

본 발명은 플래시 메모리의 소거방법에 관한 것이며, 상세하게는 플래시 메모리의 소거시 검증을 먼저 실시하여 소거가 된 섹터에 대해서는 소거 동작을 실시하지 않음으로써 불필요한 소거동작을 줄여 전체적인 소거 시간을 줄일 수 있는 플래시 메모리의 소거방법에 관한 것이다.The present invention relates to a method of erasing a flash memory. In detail, the verification is performed first when the flash memory is erased, so that the erase operation is not performed on the erased sectors. 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.

도 1을 참조하여 종래의 플래시 메모리의 소거방법을 크게 나누면, 프리프로그램(10)과 프리프로그램검증(20)으로 이루어진 프리프로그램단계와, 소거(30)와 소거검증(40)으로 이루어진 소거단계와, 포스트 프로그램(50)과 포스트프로그램검증(60)으로 이루어진 포스트 프로그램단계로 구성되어 있다.Referring to FIG. 1, a conventional erasing method of a flash memory is divided into a preprogram step consisting of a preprogram 10 and a preprogram verification 20, and an erasing step consisting of an erasure 30 and an erasure verification 40. The post program is composed of a post program 50 and a post program verification 60.

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

먼저 소거명령을 준다(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).

그리고 나서 해당 어드레스를 포스트 프로그램(post program)한다(S170). 단계(S170)에서 프로그램 후에는 프로그램된 해당 어드레스를 검증한다(S180). 그리고 나서 그 결과에 따라서 프로그램 된 해당 어드레스에 오류가 있는지를 판단한다(S190).Thereafter, the address is post-programmed (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)인지를 판단한다(S200). 단계(S200)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S201)시킨후 포스트 프로그램 단계(S170)를 실행한다. 하지만 판단(S200)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S81)에서 오류(FAIL)설정을 하고 종료한다.If it is determined that there is an error in step S190, it is determined whether the current value of the error counter is a preset maximum value MAX (S200). If it is determined in step S200 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S201) and then the post program step (S170) is executed. However, if it is determined in step S200 that the value of the error counter is the maximum value MAX, an error FAIL is set in step S81 and the process ends.

한편, 단계(S190)에서 오류가 없다고 판단되면 현재 검증된 어드레스가 최종어드레스인지를 판단한다(S210). 단계(S210)에서 최종 어드레스가 아니라고 판단되면 현재의 어드레스를 증가(S211)시킨 후 포스트 프로그램 단계(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 (S210). If it is determined in step S210 that it is not the final address, the current address is increased (S211) and then the post program step (S170) is executed.

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

그런데 전술한 종래의 플래시 메모리의 소거방법은, 플래시 메모리의 전 섹터를 검증하는데 이미 소거가 되어 검증이 불필요할 경우에도 전 섹터를 검증하므로 불필요한 소거 동작을 하게 되어 전체적인 소거시간이 증가되어 소거 효율이 저하되는 문제점이 있었다.However, in the above-described conventional erase method of the flash memory, even if it is already erased to verify all sectors of the flash memory, even if verification is not necessary, all the sectors are verified, which leads to unnecessary erasing operation, which increases the overall erase time and erase efficiency. There was a problem of deterioration.

따라서 본 발명은 플래시 메모리의 소거시 검증을 먼저 실시하여 소거가 된 섹터에 대해서는 소거 동작을 실시하지 않음으로써 불필요한 소거동작을 줄여 전체적인 소거 시간을 줄일 수 있는 플래시 메모리의 소거방법을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a method of erasing a flash memory which can reduce an unnecessary erasing operation by reducing the unnecessary erase operation by performing an erase operation on an erased sector by performing verification upon erasing the flash memory first. have.

상기 목적을 달성하기 위하여 본 발명에 따른 플래시 메모리의 소거방법은, 소거명령이 입력되면 셀이 이미 소거되어 있는 지를 판별할 수 있도록 셀단위로 소거전검증을 실시하는 소거전검증단계, 소거전검증단계에서 오류가 있다고 판단되면 상기 셀이 소거되어 있지 않다고 판단하여 상기 셀을 프리 프로그램하고 검증하는 프리 프로그램/검증 단계, 프리 프로그램/검증단계 후 상기 셀을 소거하고 검증하는 소거/검증단계, 소거/검증단계 후 상기 셀의 어드레스 전체를 포스트 프로그램하고 검증하는 포스트 프로그램/검증단계를 포함하는 것을 특징으로 하는 방법이다. 또한 소거전검증단계는, 소거하고자 하는 셀의 해당 어드레스를 검증하는 검증단계와, 검증단계의 결과 해당 어드레스에 오류가 있는지를 판단하는 제1오류판단단계와, 제1오류판단단계에서 해당 어드레스에 오류가 없다고 판단되면 현재의 어드레스가 최종 어드레스인지를 판단하는 어드레스판단단계와, 어드레스판단단계에서 현재의 어드레스가 최종 어드레스가 아니라고 판단되면 다음 어드레스를 검증할 수 있도록 어드레스를 증가시키는 어드레스 증가단계를 포함하며, 상기 어드레스 증가단계 후 상기 검증단계를 실행하는 것을 특징으로 하는 방법이다. 그리고 어드레스판단단계에서 현재의 어드레스가 최종 어드레스라고 판단되면 상기 셀은 소거가 이루어진 셀이라고 판단하고 다음 셀에 대한 소거전검증단계를 실행하는 것을특징으로 하는 방법이다.In order to achieve the above object, the erase method of the flash memory according to the present invention includes an erase pre-verification step of performing pre-erase verification on a cell-by-cell basis to determine whether a cell is already erased when an erase command is input. If it is determined that there is an error in the step, the pre-program / verify step of pre-programming and verifying the cell by determining that the cell is not erased, the erase / verify step of erasing and verifying the cell after the pre-program / verify step, erase / And a post program / verify step of post programming and verifying the entire address of the cell after the verify step. The pre-erase verification step may include a verification step of verifying a corresponding address of a cell to be erased, a first error determining step of determining whether there is an error in the address as a result of the verification step, and a first error determining step of the address. An address judging step of judging whether the current address is the last address if it is determined that there is no error, and an address increment step of incrementing the address to verify the next address if it is determined that the current address is not the final address at the step of judging the address; And performing the verification step after the address increasing step. If the current address is determined to be the final address in the address determination step, the cell is determined to be an erased cell, and the erase pre-verification step for the next cell is performed.

도 1은 종래의 플래시 메모리 소거방법을 설명하기 위한 블록도이다.1 is a block diagram illustrating a conventional flash memory erase method.

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

도 3은 본 발명에 따른 플래시 메모리 소거방법을 설명하기 위한 블록도이다.3 is a block diagram illustrating a flash memory erase method according to the present invention.

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

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

본 발명에 따른 플래시 메모리의 소거방법은 크게 나누어 소거전검증단계(110)와, 프리프로그램(120)과 프리프로그램검증(130)으로 이루어진 프리프로그램단계와, 소거(140)와 소거검증(150)으로 이루어진 소거단계와, 포스트 프로그램(160)과 포스트프로그램검증(170)으로 이루어진 포스트 프로그램단계로 구성되어 있다.The erase method of the flash memory according to the present invention is roughly divided into a pre-erasure verification step 110, a pre-program step consisting of a pre-program 120 and a pre-program verification 130, and an erase 140 and an erasure verification 150. And a post program step consisting of a post program 160 and a post program verification 170.

개략적인 동작은 다음과 같다.The schematic operation is as follows.

먼저 소거 명령이 입력되면, 소거하려는 섹터에 대하여 소거전검증을 실시하여 그 섹터의 모든 셀이 소거되어 있다면 다음 셀로 넘어가서 역시 소거전검증을 실한다. 그래서 소거전검증시 소거가 되어 있지 않을 때만 프리프로그램과 소거 그리고 포스트 프로그램을 실시한다.When the erase command is inputted first, pre-erase verification is performed on the sector to be erased. If all cells of the sector are erased, the control unit proceeds to the next cell and performs pre-erase verification. Therefore, the preprogram, erase, and post program are executed only when erase is not performed during pre-verification verification.

그 상세한 과정을 다음과 같다.The detailed process is as follows.

소거명령이 입력되면(S310), 소거하고자 하는 셀이 이미 소거가 되어있는 지를 판별하기 위하여 해당 어드레스에 대한 소거전검증을 실시한다(S320). 이때 실시하는 소거전검증은 소거동작후에 실시하는 검증과 동일하다.When the erase command is input (S310), the erase pre-verification is performed on the corresponding address to determine whether the cell to be erased is already erased (S320). The pre-erase verification performed at this time is the same as the verification performed after the erasing operation.

해당 어드레스에 대한 소거전검증을 한 후에는 해당 어드레스에 오류가 있는지를 판단한다(S330). 판단(S330)에서 오류가 없다고 판단되면 해당 어드레스는 이미 소거가 되어 있는 것을 의미한다. 오류가 없다고 판단되면 현재 어드레스가 최종 어드레스인지를 판단한다(S340).After pre-erasure verification of the corresponding address, it is determined whether there is an error in the corresponding address (S330). If it is determined in step S330 that there is no error, this means that the address has already been erased. If it is determined that there is no error, it is determined whether the current address is the final address (S340).

단계(S340)에서 현재 어드레스가 최종 어드레스가 아니라고 판단되면 또 다른 어드레스를 검증하기 위하여 어드레스를 증가시킨다(S341). 그리고 나서 소거전검증(S320)을 계속적으로 실시한다.If it is determined in step S340 that the current address is not the final address, the address is incremented to verify another address (S341). Then, pre-erasure verification (S320) is continuously performed.

하지만 단계(S340)에서 현재 어드레스가 최종 어드레스라고 판단되면 현재 소거검증을 하고 있는 셀은 이미 소거가 되어 있는 셀이라고 판단하고 소거동작을 통과(S350)한다. 즉, 소거명령이 입력되었지만 이미 소거가 되어 있기 때문에 소거를 할 필요가 없다는 것을 의미한다. 그리고 나서 다음 셀을 소거검증한다(S360).However, if it is determined in step S340 that the current address is the final address, it is determined that the cell that is currently being erased and verified is a cell that has already been erased and passes the erase operation (S350). In other words, the erase command is input, but the erase operation is not necessary since the erase command is already erased. Then, the next cell is erased and verified (S360).

한편, 단계(S330)에서 소거전검증을 행한 해당 어드레스에 오류가 있다고 판단되면 그 어드레스는 소거가 되어 있지 않기 때문에 셀단위로 정상적인 소거동작을 실시한다.On the other hand, if it is determined in step S330 that there is an error in the address that has been erased before verification, the address is not erased, and thus the normal erase operation is performed on a cell basis.

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

소거를 하기 위해서 실시하는 프리 프로그램을 시작하기 전에 먼저, 오류카운터 및 어드레스를 리세트하고(S370), 해당 어드레스를 프리 프로그램한다(S380). 해당 어드레스의 프리 프로그램 후에는 프리 프로그램된 해당 어드레스를 검증한다(S390). 그리고 나서 그 결과에 따라서 프리 프로그램 된 해당 어드레스에 오류가 있는지를 판단한다(S400).Before starting the free program to be erased, the error counter and address are first reset (S370), and the address is preprogrammed (S380). After the preprogramming of the address, the preprogrammed address is verified (S390). Then, it is determined whether there is an error in the corresponding preprogrammed address according to the result (S400).

단계(S400)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S410). 단계(S410)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S411)시킨 후 프리 프로그램 단계(S380)를 실행한다. 하지만 판단(S410)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S420)에서 오류(FAIL)설정을 하고 종료한다.When 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 (S410). If it is determined in step S410 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S411) and then the pre-program step (S380) is executed. However, if it is determined in step S410 that the value of the error counter is the maximum value MAX, then an error FAIL is set in step S420 and the process ends.

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

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

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

단계(S470)에서 오류가 있다고 판단되면 오류카운터의 현재값이 미리 설정된 최대값(MAX)인지를 판단한다(S480). 단계(S480)에서 오류카운터의 현재값이 최대값이 아니라고 판단되면 오류카운터의 값을 증가(S481)시킨후 소거 단계(S450)를 실행한다. 하지만 판단(S480)에서 오류카운터의 값이 최대값(MAX)라고 판단되면 단계(S420)에서 오류(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 (S480). If it is determined in step S480 that the current value of the error counter is not the maximum value, the value of the error counter is increased (S481) and then the erase step (S450) is executed. However, if it is determined in step S480 that the value of the error counter is the maximum value MAX, the error FAIL setting and the flash memory are set to be bad in step S420, and the process ends.

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

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

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

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

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

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

본 발명에 따른 플래시 메모리의 소거방법에 의하면, 플래시 메모리의 소거시 이미 소거가 되어 있는 셀에 대해서는 소거 동작을 실시하지 않음으로써 불필요한 소거동작을 줄여 전체적인 소거 시간을 줄일 수 있다.According to the method of erasing a flash memory according to the present invention, since the erase operation is not performed on a cell that has already been erased when the flash memory is erased, unnecessary erasing operation can be reduced to reduce the overall erase time.

Claims (6)

소거명령이 입력되면 셀이 이미 소거되어 있는 지를 판별할 수 있도록 셀단위로 소거전검증을 실시하는 소거전검증단계,A pre-erasure verification step of performing pre-erasure verification on a cell-by-cell basis to determine whether a cell is already erased when an erase command is input; 상기 소거전검증단계에서 소거전검증의 결과 오류가 있다고 판단되면 상기 셀이 소거되어 있지 않다고 판단하여 상기 셀을 프리 프로그램하고 검증하는 프리 프로그램/검증 단계,A pre-program / verify step of pre-programming and verifying the cell by determining that the cell is not erased when it is determined that there is an error in the pre-erasure verification step; 상기 프리 프로그램/검증단계 후 상기 셀을 소거하고 검증하는 소거/검증단계,An erase / verify step of erasing and verifying the cell after the pre-program / verify step, 상기 소거/검증단계 후 상기 셀의 어드레스 전체를 포스트 프로그램하고 검증하는 포스트 프로그램/검증단계를 포함하여 이루어 진것을 특징으로 하는 플래시 메모리의 소거방법.And a post program / verify step of post-programming and verifying the entire address of the cell after the erase / verify step. 제 1항에 있어서,The method of claim 1, 상기 소거전검증단계는, 소거하고자 하는 셀의 해당 어드레스를 검증하는 검증단계와, 상기 검증단계의 결과 해당 어드레스에 오류가 있는지를 판단하는 제1오류판단단계와, 상기 제1오류판단단계에서 해당 어드레스에 오류가 없다고 판단되면 현재의 어드레스가 최종 어드레스인지를 판단하는 어드레스판단단계와, 상기 어드레스판단단계에서 현재의 어드레스가 최종 어드레스가 아니라고 판단되면 다음 어드레스를 검증할 수 있도록 어드레스를 증가시키는 어드레스 증가단계를 포함하며, 상기 어드레스 증가단계 후 상기 검증단계를 실행하는 것을 특징으로 하는 플래시 메모리의 소거방법.The pre-erase verification step may include a verification step of verifying a corresponding address of a cell to be erased, a first error determining step of determining whether there is an error in the corresponding address as a result of the verification step, and a first error determining step. An address judging step of judging whether the current address is a final address if it is determined that there is no error in the address; and increasing an address to increase the address so that the next address can be verified if it is determined that the current address is not the final address in the address judging step And performing the verification step after the address increasing step. 제 2항에 있어서,The method of claim 2, 상기 어드레스판단단계에서 현재의 어드레스가 최종 어드레스라고 판단되면 상기 셀은 소거가 이루어진 셀이라고 판단하고 다음 셀에 대한 상기 소거전검증단계를 실행하는 것을 특징으로 하는 플래시 메모리의 소거방법.And if the current address is determined to be the last address in the address determination step, the cell is determined to be an erased cell, and the erase pre-verification step for the next cell is executed. 제 1항에 있어서,The method of claim 1, 상기 프리 프로그램/검증 단계는, 상기 셀의 어드레스를 프리 프로그램 하는 프리프로그램단계와, 상기 프리 프로그램된 어드레스를 검증하여 오류가 있는지를 판단하는 제2오류판단단계와, 상기 제2오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제1최대값판단단계를 포함하며 상기 제1최대값판단단계에서 상기 오류카운터의 값이 상기 최대값이 아니라고 판단되면 상기 오류카운터의 값을 증가시키고 상기 프리프로그램단계를 수행하는 것을 특징으로 하는 플래시 메모리의 소거방법.The preprogram / verify step may include a preprogram step of preprogramming an address of the cell, a second error judging step of determining whether there is an error by verifying the preprogrammed address, and an error at the second error judging step. And a first maximum value determining step of determining whether the value of the error counter measuring the number of errors is a preset maximum value, and wherein the value of the error counter is equal to the maximum value in the first maximum value determining step. And if it is determined not to increase the value of the error counter and perform the preprogramming step. 제 1항에 있어서,The method of claim 1, 상기 소거/검증단계는, 해당 어드레스를 소거하는 소거단계와, 상기 소거단계에서 소거된 어드레스를 검증하여 오류가 있는지를 판단하는 제3오류판단단계와, 상기 제3오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 상기 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제2최대값판단단계를 포함하며, 상기 제2최대값판단단계에서 상기 오류카운터의 값이 상기 최대값이 아니라고 판단되면 상기 오류카운터의 값을 증가시키고 상기 소거단계를 수행하는 것을 특징으로 하는 플래시 메모리의 소거방법.The erasing / verifying step includes an erasing step of erasing the corresponding address, a third error judging step of determining whether there is an error by verifying the address erased in the erasing step, and determining that there is an error in the third error judging step. And a second maximum value determining step of determining whether a value of the error counter measuring a number of errors is a preset maximum value, and wherein the value of the error counter is not the maximum value in the second maximum value determining step. If it is determined that the value of the error counter is increased and the erase step is performed. 제 1항에 있어서,The method of claim 1, 상기 포스트 프로그램/검증단계는, 상기 어드레스와 오류카운터를 리세트 하는 제2리세트단계와, 상기 셀의 해당 어드레스를 포스트 프로그램하는 포스트프로그램단계와, 상기 셀의 포스트 프로그램된 해당 어드레스를 검증하는 검증단계와, 상기 검증단계에서 검증된 어드레스에 오류가 있는지를 판단하는 제4오류판단단계와, 상기 제4오류판단단계에서 오류가 있다고 판단되면 오류의 횟수를 측정하는 상기 오류카운터의 값이 미리 설정된 최대값인지를 판단하는 제3최대값판단단계를 포함하고, 상기 제3최대값판단단계에서 상기 오류카운터의 값이 상기 최대값이 아니라고 판단되면 오류가 발생한 해당 어드레스를 포스트 프로그램 하는 재프로그램단계와,상기 재프로그램단계 후 상기 오류카운터의 값을 증가시키는 카운터증가단계를 포함하고 상기 오류카운터 값의 증가 후 상기 포스트프로그램단계를 수행하는 것을 특징으로 하는 플래시 메모리의 소거방법.The post program / verify step includes a second reset step of resetting the address and an error counter, a post program step of post programming a corresponding address of the cell, and a verification of verifying the post programmed corresponding address of the cell. And a fourth error determining step of determining whether there is an error in the address verified in the verifying step, and a value of the error counter for measuring the number of errors when the error is determined in the fourth error determining step is preset. And a third maximum value judging step of judging whether the value is a maximum value, and if it is determined in the third maximum value judging step that the value of the error counter is not the maximum value, a reprogramming step of post programming the corresponding address where the error has occurred; And a counter incrementing step of increasing a value of the error counter after the reprogramming step. After the increase of the error counter value based method of erasing the flash memory, characterized in that for performing the post-application stage.
KR1019990063966A 1999-12-28 1999-12-28 Method for erasing of flash memory KR20010061470A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990063966A KR20010061470A (en) 1999-12-28 1999-12-28 Method for erasing of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990063966A KR20010061470A (en) 1999-12-28 1999-12-28 Method for erasing of flash memory

Publications (1)

Publication Number Publication Date
KR20010061470A true KR20010061470A (en) 2001-07-07

Family

ID=19631285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990063966A KR20010061470A (en) 1999-12-28 1999-12-28 Method for erasing of flash memory

Country Status (1)

Country Link
KR (1) KR20010061470A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100660541B1 (en) * 2004-11-19 2006-12-26 삼성전자주식회사 Non-volatile memory device capable of reducing erase time and erase method thereof
US7200049B2 (en) 2004-11-18 2007-04-03 Samsung Electronics Co., Ltd. Methods for accelerated erase operations in non-volatile memory devices and related devices
KR100744013B1 (en) * 2006-07-31 2007-07-30 삼성전자주식회사 Flash memory device and erase method thereof
US7986565B2 (en) 2008-11-12 2011-07-26 Samsung Electronics Co., Ltd. Method of erasing data in flash memory device
KR20110119328A (en) * 2010-04-27 2011-11-02 주식회사 하이닉스반도체 Method of erasing a semiconductor memory device
WO2013147818A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Nonvolatile memory erasure techniques

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200049B2 (en) 2004-11-18 2007-04-03 Samsung Electronics Co., Ltd. Methods for accelerated erase operations in non-volatile memory devices and related devices
KR100660541B1 (en) * 2004-11-19 2006-12-26 삼성전자주식회사 Non-volatile memory device capable of reducing erase time and erase method thereof
KR100744013B1 (en) * 2006-07-31 2007-07-30 삼성전자주식회사 Flash memory device and erase method thereof
US7460412B2 (en) 2006-07-31 2008-12-02 Samsung Electronics Co., Ltd. Flash memory device and erasing method thereof
US7986565B2 (en) 2008-11-12 2011-07-26 Samsung Electronics Co., Ltd. Method of erasing data in flash memory device
KR20110119328A (en) * 2010-04-27 2011-11-02 주식회사 하이닉스반도체 Method of erasing a semiconductor memory device
WO2013147818A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Nonvolatile memory erasure techniques
US9543024B2 (en) 2012-03-29 2017-01-10 Intel Corporation Nonvolatile memory erasure techniques

Similar Documents

Publication Publication Date Title
US6377491B2 (en) Non-volatile memory for storing erase operation information
KR100257854B1 (en) Method of erasing flash memory
US7047455B2 (en) Memory with element redundancy
KR100315321B1 (en) Nonvolatile semiconductor memory device and erase verify method therefor
US7437625B2 (en) Memory with element redundancy
US9183937B2 (en) Method and apparatus for the erase suspend operation
KR100290195B1 (en) Nonvolatile memory device
JP5741427B2 (en) Semiconductor memory device testing method and semiconductor memory device
KR100291807B1 (en) A nonvolatile storage device and control method therefor
JPH06259977A (en) Flash erasable nonvolatie memory
CN101271731A (en) Method of erasing flash memory device
KR20010061470A (en) Method for erasing of flash memory
JPH11250673A (en) Electrically erasable and programmable nonvolatile semiconductor memory device and its erasing method
JP3405651B2 (en) Nonvolatile semiconductor memory device
KR100684709B1 (en) Method for erasing cell of flash memory
US5784318A (en) Method of preprogramming before verifying in non-volatile memory device and apparatus for the same
JP2007102923A (en) Nonvolatile semiconductor storage device and its data erasing method
KR20040084401A (en) Method of erasing a flash memory
US6076138A (en) Method of pre-programming a flash memory cell
JPH05314783A (en) Erasure method for nonvolatile semiconductor memory provided with erasure function and writing device
KR100332113B1 (en) A program and erase method for flash memory
JP3148143B2 (en) Nonvolatile semiconductor memory device
KR20060075827A (en) Method of programing in a nand flash memory device
KR100402942B1 (en) Method of erasing a flash memory device
KR101518379B1 (en) Method for auto program and auto cycling for non-volatile memory

Legal Events

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