KR20010061470A - Method for erasing of flash memory - Google Patents
Method for erasing of flash memory Download PDFInfo
- 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
- cell
- determined
- value
- Prior art date
Links
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
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
-
- 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/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory 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/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
-
- 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
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
Abstract
Description
본 발명은 플래시 메모리의 소거방법에 관한 것이며, 상세하게는 플래시 메모리의 소거시 검증을 먼저 실시하여 소거가 된 섹터에 대해서는 소거 동작을 실시하지 않음으로써 불필요한 소거동작을 줄여 전체적인 소거 시간을 줄일 수 있는 플래시 메모리의 소거방법에 관한 것이다.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)
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)
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 |
-
1999
- 1999-12-28 KR KR1019990063966A patent/KR20010061470A/en not_active Application Discontinuation
Cited By (8)
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 | |
KR100315321B1 (en) | Nonvolatile semiconductor memory device and erase verify method therefor | |
KR100290195B1 (en) | Nonvolatile memory device | |
US9183937B2 (en) | Method and apparatus for the erase suspend operation | |
KR100291807B1 (en) | A nonvolatile storage device and control method therefor | |
JP5741427B2 (en) | Semiconductor memory device testing method and semiconductor memory device | |
CN101271731A (en) | Method of erasing flash memory device | |
JPH06259977A (en) | Flash erasable nonvolatie memory | |
US20120224432A1 (en) | Over-erase verification and repair methods for flash memory | |
JPH11250673A (en) | Electrically erasable and programmable nonvolatile semiconductor memory device and its erasing method | |
JP4521243B2 (en) | Nonvolatile semiconductor memory device and data erasing method thereof | |
JP3405651B2 (en) | Nonvolatile semiconductor memory device | |
KR20010061470A (en) | Method for erasing of flash memory | |
JP2007102923A (en) | Nonvolatile semiconductor storage device and its data erasing method | |
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 | |
CN116543817A (en) | Erasing method and device of non-volatile 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 | |
KR100301243B1 (en) | Erasing method of flash memory device | |
KR20040084401A (en) | Method of erasing a flash memory | |
KR20060075827A (en) | Method of programing in a nand flash memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |