[go: up one dir, main page]

TWI501242B - Erase method for flash - Google Patents

Erase method for flash Download PDF

Info

Publication number
TWI501242B
TWI501242B TW102135958A TW102135958A TWI501242B TW I501242 B TWI501242 B TW I501242B TW 102135958 A TW102135958 A TW 102135958A TW 102135958 A TW102135958 A TW 102135958A TW I501242 B TWI501242 B TW I501242B
Authority
TW
Taiwan
Prior art keywords
address
memory cells
memory
erased
memory cell
Prior art date
Application number
TW102135958A
Other languages
Chinese (zh)
Other versions
TW201514997A (en
Inventor
Hung Hsueh Lin
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to TW102135958A priority Critical patent/TWI501242B/en
Publication of TW201514997A publication Critical patent/TW201514997A/en
Application granted granted Critical
Publication of TWI501242B publication Critical patent/TWI501242B/en

Links

Landscapes

  • Read Only Memory (AREA)

Description

快閃記憶體之抹除方法Flash memory erase method

本發明係有關於一種快閃記憶體之抹除方法,特別是有關於能快速判斷空白區段之一種快閃記憶體之抹除方法。The present invention relates to a method of erasing a flash memory, and more particularly to a method of erasing a flash memory capable of quickly determining a blank segment.

快閃記憶體在儲存資料時,係透過編程(program)與抹除(erase)的機制將特定資料寫入。一般而言,根據不同的指令列(command sheet)執行的寫入與抹除演算法,個別會引發出不同的問題,例如過度抹除(over erase)。以一般抹除程序為例,主要包含預編程(pre-program)、抹除與後編程(post-program)步驟,藉以確保每個記憶胞(memory cell)經過抹除程序後均在邏輯位準“1”的狀態。當記憶體反覆執行抹除及編程程序時,隨著寫入次數的增加,抹除程序的執行時間也會逐漸增加,其中用以修復過度抹除之後編程步驟於整個抹除程序中所佔的執行時間最久。當突發狀況發生時,例如突然發生關機狀況時,則有可能會中斷後編程步驟,而導致快閃記憶體的後編程步驟沒有完整被執行。於是,需要花費較多時間來驗證(verify)快閃記憶體,以找尋出空白區段(blank sector),以避免任何過度抹除的記憶胞存在區段中,造成讀取誤判。When storing data, the flash memory writes specific data through a program and erase mechanism. In general, write and erase algorithms that are executed according to different command sheets can cause different problems, such as over erase. Taking a general erase program as an example, it mainly includes pre-program, erase and post-program steps to ensure that each memory cell is in a logical level after being erased. The status of "1". When the memory repeatedly performs the erase and program, as the number of writes increases, the execution time of the erase program will gradually increase, which is used to repair the programming steps in the entire erase program after over-erasing. The execution time is the longest. When an emergency occurs, such as when a shutdown condition suddenly occurs, it is possible that the post-programming step is interrupted, and the post-programming step of the flash memory is not completely performed. Therefore, it takes more time to verify the flash memory to find a blank sector to avoid any over-erased memory cells in the segment, causing read misjudgment.

本發明提供一種抹除方法,適用於一快閃記憶 體。預編程快閃記憶體的複數第一記憶胞,其中第一記憶胞係設置於由複數行線與複數列線所組成之一記憶體陣列。抹除已編程之第一記憶胞。後編程已抹除之第一記憶胞,以修復已過度抹除之第一記憶胞。在後編程已抹除之第一記憶胞之後,編程複數第二記憶胞,其中第二記憶胞係設置在記憶體陣列之一第一特定行線,其中第一特定行線係安排在對應於一最後有效行位址之一最後行線之後。記憶體陣列更包括設置在記憶體陣列之一第二特定行線之複數第三記憶胞,其中第二特定行線係安排在最後行線之後並相鄰於第一特定行線。The invention provides an erasing method suitable for a flash memory body. The first memory cell of the flash memory is preprogrammed, wherein the first memory cell is disposed in a memory array composed of a plurality of row lines and a plurality of column lines. Erasing the programmed first memory cell. The first memory cell that has been erased is programmed to repair the first memory cell that has been over-erased. After programming the erased first memory cell, programming a plurality of second memory cells, wherein the second memory cell is disposed in a first specific row line of one of the memory arrays, wherein the first specific row line is arranged to correspond to After the last line of one of the last valid row addresses. The memory array further includes a plurality of third memory cells disposed on a second particular row line of one of the memory arrays, wherein the second particular row line is arranged after the last row line and adjacent to the first particular row line.

100‧‧‧快閃記憶體100‧‧‧flash memory

110‧‧‧控制器110‧‧‧ Controller

120‧‧‧感測放大器120‧‧‧Sense Amplifier

130‧‧‧位址解碼電路130‧‧‧ address decoding circuit

200‧‧‧記憶體陣列200‧‧‧ memory array

210、220、230‧‧‧記憶胞210, 220, 230‧‧‧ memory cells

C0-Cm、CF1、CF2‧‧‧行線C0-Cm, CF1, CF2‧‧‧ lines

R0-Rn‧‧‧列線R0-Rn‧‧‧ line

S310-S340、S410-S484、S510-S584、S610-S684、S710-S750‧‧‧步驟S310-S340, S410-S484, S510-S584, S610-S684, S710-S750‧‧

第1圖係顯示根據本發明一實施例所述之快閃記憶體;第2圖係顯示第1圖之記憶體陣列的示意圖;第3圖係顯示根據本發明一實施例所述之抹除方法,適用於第1圖之快閃記憶體;第4A圖係根據本發明一實施例所述之快閃記憶體之預編程程序的流程圖;第4B圖係根據本發明另一實施例所述之快閃記憶體之預編程程序的流程圖;第5A圖係根據本發明一實施例所述之快閃記憶體之抹除程序的流程圖;第5B圖係根據本發明另一實施例所述之快閃記憶體之抹除程序的流程圖;第6A圖係根據本發明一實施例所述之快閃記憶體之後編 程程序的流程圖;第6B圖係根據本發明另一實施例所述之快閃記憶體之後編程程序的流程圖;第7圖係根據本發明一實施例所述之快閃記憶體之標記程序的流程圖;第8A圖係根據本發明另一實施例所述之快閃記憶體之標記程序的流程圖;以及第8B圖係根據本發明另一實施例所述之快閃記憶體之標記程序的流程圖。1 is a view showing a flash memory according to an embodiment of the present invention; FIG. 2 is a view showing a memory array of FIG. 1; and FIG. 3 is a view showing an erase according to an embodiment of the present invention. The method is applicable to the flash memory of FIG. 1; FIG. 4A is a flowchart of the pre-programming procedure of the flash memory according to an embodiment of the invention; FIG. 4B is a diagram of another embodiment of the present invention. A flowchart of a pre-programming program for a flash memory; FIG. 5A is a flowchart of a flash memory erasing program according to an embodiment of the invention; FIG. 5B is a diagram of another embodiment of the present invention The flowchart of the flash memory erasing program; FIG. 6A is a flash memory according to an embodiment of the invention. FIG. 6B is a flowchart of a program after flash memory programming according to another embodiment of the present invention; FIG. 7 is a diagram of a flash memory according to an embodiment of the invention; A flowchart of a program; FIG. 8A is a flowchart of a marking procedure of a flash memory according to another embodiment of the present invention; and FIG. 8B is a flash memory according to another embodiment of the present invention. A flowchart of the marking program.

為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:第1圖係顯示根據本發明一實施例所述之快閃記憶體100。快閃記憶體100包括控制器110、感測放大器120、位址解碼電路130以及記憶體陣列200。第2圖係顯示第1圖之記憶體陣列200的示意圖。記憶體陣列200包括複數記憶胞210、220與230,其中記憶胞210、220與230係設置於由複數列線(row)R0-Rn與複數行線(column)C0-Cm、CF1與CF2所組成之陣列上。在此實施例中,列線R0-Rn為字元線,而行線C0-Cm、CF1與CF2為位元線。此外,在記憶體陣列200,每一列線R0-Rn分別表示一有效列位址,而每一行線C0-Cm分別表示一有效行位址。換言之,控制器(例如第1圖的控制器110)經由位址解碼電路130而透過列線R0-Rn與行線C0-Cm對記憶胞210進行存 取,以便提供儲存在記憶胞210內的資料給其他裝置或對儲存在記憶胞210內的資料進行更新。相較於傳統的記憶體陣列,記憶體陣列200的行線CF1與CF2為額外的位元線或額外行,其中耦接於行線CF1之記憶胞220與耦接於行線CF2之記憶胞230係作為旗標(flag)記憶胞,用以指示所對應之列線上的記憶胞210的狀態。舉例來說,設置在列線R0上的記憶胞220與230係用以指示列線R0上複數記憶胞210的狀態,而設置在列線Rn上的記憶胞220與230係用以指示列線Rn上複數記憶胞210的狀態。於是,控制器可根據每一區段(sector)內的記憶胞220與230的邏輯位準而判斷出該區段是否抹除完整、該區段是否儲存有效資料等資訊。值得注意的是,記憶胞220與230的位置只是個例子,並非用以限定本發明。在一實施例中,記憶胞230係設置在行線F1而記憶胞220係設置在行線F2。The above and other objects, features and advantages of the present invention will become more <RTIgt; The flash memory 100 described in the embodiment. The flash memory 100 includes a controller 110, a sense amplifier 120, an address decoding circuit 130, and a memory array 200. Figure 2 is a schematic diagram showing the memory array 200 of Figure 1. The memory array 200 includes a plurality of memory cells 210, 220, and 230, wherein the memory cells 210, 220, and 230 are disposed by a plurality of column rows R0-Rn and a plurality of columns C0-Cm, CF1, and CF2. On the array of compositions. In this embodiment, the column lines R0-Rn are word lines, and the row lines C0-Cm, CF1, and CF2 are bit lines. Further, in the memory array 200, each of the column lines R0-Rn represents a valid column address, and each of the row lines C0-Cm represents a valid row address. In other words, the controller (for example, the controller 110 of FIG. 1) stores the memory cell 210 through the column line R0-Rn and the row lines C0-Cm via the address decoding circuit 130. The data stored in the memory cell 210 is provided to other devices or the data stored in the memory cell 210 is updated. Compared with the conventional memory array, the row lines CF1 and CF2 of the memory array 200 are additional bit lines or extra lines, wherein the memory cell 220 coupled to the row line CF1 and the memory cell coupled to the row line CF2 The 230 series is used as a flag memory cell to indicate the state of the memory cell 210 on the corresponding column line. For example, the memory cells 220 and 230 disposed on the column line R0 are used to indicate the state of the plurality of memory cells 210 on the column line R0, and the memory cells 220 and 230 disposed on the column line Rn are used to indicate the column lines. The state of the plurality of memory cells 210 on Rn. Therefore, the controller can determine whether the segment erases the complete segment, whether the segment stores valid data, and the like according to the logical levels of the memory cells 220 and 230 in each sector. It should be noted that the locations of memory cells 220 and 230 are merely examples and are not intended to limit the invention. In one embodiment, memory cell 230 is disposed on row line F1 and memory cell 220 is disposed on row line F2.

第3圖係顯示根據本發明一實施例所述之抹除方法,適用於第1圖之快閃記憶體。同時參考第1與3圖,首先,在步驟S310,控制器110會對記憶體陣列200執行預編程程序,以便將記憶體陣列200內的全部記憶胞編程為邏輯位準“0”。接著,在步驟S320,控制器110會對記憶體陣列200執行抹除程序,以便將記憶體陣列200內的全部記憶胞編程抹除為邏輯位準“1”。接著,在步驟S330,控制器110會對記憶體陣列200執行後編程程序,以便對過度抹除之記憶胞執行修復。接著,在步驟S340,控制器110會對記憶體陣列200內之特定記憶胞(例如第2圖之記憶胞220或230)執行標記程序,以紀錄抹除程序的結果。預編程程序、抹除程序、後編程程序以及標記程序將詳 細描述於後。Fig. 3 is a view showing an erasing method according to an embodiment of the present invention, which is suitable for the flash memory of Fig. 1. Referring to FIGS. 1 and 3 simultaneously, first, in step S310, the controller 110 performs a pre-programming process on the memory array 200 to program all of the memory cells in the memory array 200 to a logic level "0". Next, in step S320, the controller 110 performs an erase process on the memory array 200 to erase all memory cells in the memory array 200 to a logic level "1". Next, in step S330, the controller 110 executes a post-programming process on the memory array 200 to perform repair on the over-erased memory cells. Next, in step S340, the controller 110 performs a marking process on a specific memory cell (for example, the memory cell 220 or 230 of FIG. 2) in the memory array 200 to record the result of the erase process. Preprogrammed, erased, postprogrammed, and tagged programs will be detailed Described in detail later.

第4A圖係根據本發明一實施例所述之快閃記憶體之預編程程序的流程圖。執行預編程程序的目的在於使記憶體陣列200中的每個記憶胞在執行抹除程序之前具有相近的電壓位準,以避免需要執行多次抹除程序來降低過渡抹除記憶胞的產生。同時參考第2圖與第4A圖,在此實施例中,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用額外的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。首先,在步驟S410,控制器會根據位址Addr(例如Addr=0,即起始位址)對對應於位址Addr之位元組或字元組內的複數記憶胞210執行預編程驗證(verify)。接著,在步驟S420,控制器會判斷預編程驗證是否成功,即判斷對應於位址Addr之每一記憶胞210是否為邏輯位準“0”。若預編程驗證的結果為失敗(例如對應於位址Addr之至少一記憶胞210為邏輯位準“1”),則控制器會執行預編程寫入操作,以便將對應於位址Addr之全部記憶胞210編程為邏輯位準“0”(步驟S440)。接著,回到步驟S410,控制器會重新對對應於位址Addr之記憶胞210執行預編程驗證(步驟S410),直到控制器判定預編程驗證為成功(步驟S420)。接著,在步驟450,控制器會判斷位址Addr是否大於最後區段位址Addr_last_Sector。若位址Addr已超過最後區段位址Addr_last_Sector,則完成預編程程序。反之,若位址Addr不是大於最後區段位址Addr_last_Sector,則進行步驟S430。在步驟S430,控制器會將位址Addr的位置值加一(例如Addr=Addr+1,即指向下一個位址),以更新位址Addr。接著,控制器會判斷 更新過的位址Addr是否為最後有效行位址Cm(步驟S460)。若更新過的位址Addr不是最後有效行位址Cm,則回到步驟S410。於是,控制器會對對應於更新過之位址Addr的記憶胞210執行預編程驗證,並進行後續流程。若更新過的位址Addr為最後有效行位址Cm(即Addr=Cm),則控制器會將額外位元線CF1與CF2加入(步驟S470),以便能同時地對位址Addr以及對應相同列之額外行CF1與CF2的記憶胞進行驗證。於是,在步驟S410,控制器會對對應於最後有效行位址Cm之記憶胞210、對應於相同列位址之額外行CF1之記憶胞220以及對應於相同列位址之額外行CF2之記憶胞230執行預編程驗證。如先前所描述,若預編程驗證的結果為失敗,則執行預編程寫入操作,以便將對應於位址Addr之記憶胞210、對應於位址Addr之額外行CF1之記憶胞220以及對應於位址Addr之額外行CF2之記憶胞230編程為邏輯位準“0”(步驟S440),並進行後續流程。4A is a flow chart of a pre-programming process for flash memory according to an embodiment of the invention. The purpose of executing the preprogrammed program is to have each of the memory cells in the memory array 200 have similar voltage levels prior to performing the erase process to avoid the need to perform multiple erase procedures to reduce the generation of the transition erase memory cells. Referring also to Figures 2 and 4A, in this embodiment, a sense amplifier of a flash memory (e.g., sense amplifier 120 of Figure 1) uses an additional read/write unit for additional memory. Cells 220 and 230 perform read and write operations. First, in step S410, the controller performs pre-program verification on the complex memory cells 210 in the byte or character group corresponding to the address Addr according to the address Addr (eg, Addr=0, ie, the start address). Verify). Next, in step S420, the controller determines whether the pre-program verification is successful, that is, whether each memory cell 210 corresponding to the address Addr is a logic level "0". If the result of the preprogrammed verification is a failure (eg, at least one of the memory cells 210 corresponding to the address Addr is a logic level "1"), the controller performs a preprogrammed write operation so as to correspond to the address Addr. The memory cell 210 is programmed to a logic level of "0" (step S440). Next, returning to step S410, the controller will perform pre-program verification on the memory cell 210 corresponding to the address Addr (step S410) until the controller determines that the pre-program verification is successful (step S420). Next, at step 450, the controller determines if the address Addr is greater than the last sector address Addr_last_Sector. If the address Addr has exceeded the last sector address Addr_last_Sector, the pre-programming process is completed. On the other hand, if the address Addr is not greater than the last sector address Addr_last_Sector, then step S430 is performed. In step S430, the controller increments the position value of the address Addr by one (for example, Addr=Addr+1, that is, points to the next address) to update the address Addr. Then the controller will judge Whether the updated address Addr is the last valid row address Cm (step S460). If the updated address Addr is not the last valid row address Cm, then return to step S410. Thus, the controller performs preprogrammed verification on the memory cell 210 corresponding to the updated address Addr and proceeds to the subsequent process. If the updated address Addr is the last valid row address Cm (ie, Addr=Cm), the controller adds the extra bit lines CF1 and CF2 (step S470) so that the address Addr and the corresponding address can be simultaneously The additional rows of CF1 and CF2 memory cells are verified. Then, in step S410, the controller remembers the memory cell 210 corresponding to the last valid row address Cm, the memory cell 220 corresponding to the extra row CF1 of the same column address, and the additional row CF2 corresponding to the same column address. Cell 230 performs pre-program verification. As previously described, if the result of the pre-program verification is a failure, a pre-program write operation is performed to associate the memory cell 210 corresponding to the address Addr, the memory cell 220 corresponding to the extra row CF1 of the address Addr, and the corresponding The memory cell 230 of the extra line CF2 of the address Addr is programmed to the logic level "0" (step S440), and the subsequent flow is performed.

第4B圖係根據本發明另一實施例所述之快閃記憶體之預編程程序的流程圖。同時參考第2圖與第4B圖,在此實施例中,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用原有的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。首先,在步驟S410,控制器會根據位址Addr(例如Addr=0,即起始位址)對對應於位址Addr之位元組或字元組內的複數記憶胞210執行預編程驗證。接著,在步驟S420,控制器會判斷預編程驗證是否成功,例如判斷對應於位址Addr之每一記憶胞210是否為邏輯位準“0”。若預編程驗證的結果為失敗(例如對應於位址Addr之至少一記憶胞210為邏輯 位準“1”),則控制器會執行預編程寫入操作,以便將對應於位址Addr之全部記憶胞210編程為邏輯位準“0”(步驟S440)。接著,回到步驟S410。於是,控制器會重新對對應於位址Addr之記憶胞210執行預編程驗證,直到控制器會判定預編程驗證為成功(步驟S420)。接著,控制器會判斷位址Addr是否為最後有效行位址Cm(步驟S460)。若位址Addr不是最後有效行位址Cm,則進行步驟S450。接著,在步驟450,控制器會判斷位址Addr是否已超過最後區段位址Addr_last_Sector。若位址Addr已超過最後區段位址Addr_last_Sector,則完成預編程程序。反之,若位址Addr未超過最後區段位址Addr_last_Sector,則控制器會將位址Addr的位置值加一(例如Addr=Addr+1,即指向下一個位址),以更新位址Addr。於是,控制器會對對應於更新過之位址Addr的記憶胞210執行預編程驗證(步驟S410),並進行後續流程。在步驟S460中,若位址Addr為最後有效行位址Cm(即Addr=Rn+Cm),則控制器會針對額外之位元線CF1與CF2而對對應於同一列位址之額外行CF1之記憶胞220與對應於同一列位址之額外行CF2之記憶胞230執行預編程驗證(步驟S480)。接著,在步驟S482,控制器會判斷預編程驗證是否成功,例如判斷記憶胞220與230是否為邏輯位準“0”。若預編程驗證的結果為失敗(例如記憶胞220或記憶胞230為邏輯位準“1”),則控制器會執行預編程寫入操作,以便將對應於額外位址Addr之相同列位址之額外行CF1之記憶胞220與額外行CF2之記憶胞230編程為邏輯位準“0”(步驟S484),並回到步驟S480。於是,控制器會重新對記憶胞220與230執行預編程驗證 (步驟S480)。接著,回到步驟S482,直到控制器判定預編程驗證為成功,於是進行步驟S450,並進行後續流程。4B is a flow chart of a pre-programming procedure for flash memory according to another embodiment of the present invention. Referring to FIG. 2 and FIG. 4B simultaneously, in this embodiment, the sense amplifier of the flash memory (for example, the sense amplifier 120 of FIG. 1) uses the original read/write unit to add additional Memory cells 220 and 230 perform read and write operations. First, in step S410, the controller performs pre-program verification on the complex memory cells 210 in the byte or character group corresponding to the address Addr according to the address Addr (eg, Addr=0, ie, the start address). Next, in step S420, the controller determines whether the pre-program verification is successful, for example, determines whether each of the memory cells 210 corresponding to the address Addr is a logic level "0". If the result of the pre-program verification is a failure (for example, at least one memory cell 210 corresponding to the address Addr is logic The level "1"), the controller will perform a pre-program write operation to program all of the memory cells 210 corresponding to the address Addr to a logic level "0" (step S440). Next, the process returns to step S410. Thus, the controller will re-execute the pre-program verification of the memory cell 210 corresponding to the address Addr until the controller determines that the pre-program verification is successful (step S420). Next, the controller determines whether the address Addr is the last valid row address Cm (step S460). If the address Addr is not the last valid row address Cm, then step S450 is performed. Next, at step 450, the controller determines if the address Addr has exceeded the last sector address Addr_last_Sector. If the address Addr has exceeded the last sector address Addr_last_Sector, the pre-programming process is completed. Conversely, if the address Addr does not exceed the last sector address Addr_last_Sector, the controller increments the position value of the address Addr by one (for example, Addr=Addr+1, that is, points to the next address) to update the address Addr. Thus, the controller performs pre-program verification on the memory cell 210 corresponding to the updated address Addr (step S410), and performs a subsequent process. In step S460, if the address Addr is the last valid row address Cm (ie, Addr=Rn+Cm), the controller will add an additional row CF1 corresponding to the same column address for the additional bit lines CF1 and CF2. The memory cell 220 performs pre-program verification with the memory cell 230 corresponding to the extra row CF2 of the same column address (step S480). Next, in step S482, the controller determines whether the pre-program verification is successful, for example, determines whether the memory cells 220 and 230 are logic level "0". If the result of the preprogrammed verification is a failure (eg, memory cell 220 or memory cell 230 is a logic level "1"), the controller performs a preprogrammed write operation to place the same column address corresponding to the extra address Addr. The memory cell 220 of the extra line CF1 and the memory cell 230 of the extra line CF2 are programmed to logic level "0" (step S484), and return to step S480. The controller will then perform preprogrammed verification on memory cells 220 and 230 again. (Step S480). Next, returning to step S482, until the controller determines that the pre-program verification is successful, then step S450 is performed, and the subsequent flow is performed.

第5A圖係根據本發明一實施例所述之快閃記憶體之抹除程序的流程圖。同時參考第2圖與第5A圖,在此實施例中,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用額外的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。首先,在步驟S510,控制器會將一區段內之記憶胞210、220與230進行抹除。接著,在步驟S520,控制器會根據位址Addr(例如Addr=0,即起始位址)而對對應於位址Addr之位元組或字元組內的複數記憶胞210執行抹除驗證。接著,在步驟S530,控制器會判斷抹除驗證是否成功,例如判斷對應於位址Addr之每一記憶胞210是否為邏輯位準“1”。若抹除驗證的結果為失敗(例如對應於位址Addr之至少一記憶胞210為邏輯位準“0”),則回到步驟S510,以重新抹除該區段內之記憶胞210、220與230。反之,若抹除驗證的結果為成功,控制器會判斷位址Addr是否大於最後區段位址Addr_last_Sector(步驟S540)。若位址Addr已超過最後區段位址Addr_last_Sector,則完成抹除程序。反之,若位址Addr小於或等於最後區段位址Addr_last_Sector,則控制器會將位址Addr的位置值加一(例如Addr=Addr+1,即指向下一個位址)(步驟S550),以更新位址Addr。接著,在步驟S560,控制器會判斷更新過的位址Addr是否為最後有效行位址Cm。若更新過的位址Addr不是最後有效行位址Cm,則回到步驟S520。於是,控制器會對對應於更新過之位址Addr的記憶胞210執行抹除驗證,並進行後續流 程。若更新過的位址Addr為最後有效行位址Cm(即Addr=Cm),則控制器會將額外之位元線CF1與CF2加入(步驟S570),以便能同時地對位址Addr以及對應於相同列位址上之額外行CF1與CF2上的記憶胞進行驗證。於是,控制器會對對應於最後有效行位址Cm之記憶胞210、對應於相同列位址之額外行CF1之記憶胞220以及對應於相同列位址之額外行CF2之記憶胞230執行抹除驗證(步驟S520)並確認認證的結果(步驟S530)。如先前所描述,若抹除驗證的結果為失敗,例如對應於位址Addr上之最後有效行位址Cm之記憶胞210、對應於相同列位址之額外行CF1之記憶胞220以及額外行CF2之記憶胞230的任一者為邏輯位準“0”,則回到步驟S510,以重新對該區段內之記憶胞210、220與230進行抹除。FIG. 5A is a flow chart of a flash memory erase program according to an embodiment of the invention. Referring also to Figures 2 and 5A, in this embodiment, the sense amplifier of the flash memory (e.g., sense amplifier 120 of Figure 1) uses an additional read/write unit for additional memory. Cells 220 and 230 perform read and write operations. First, in step S510, the controller erases the memory cells 210, 220, and 230 in a sector. Next, in step S520, the controller performs erasure verification on the plurality of memory cells 210 in the byte or the character group corresponding to the address Addr according to the address Addr (for example, Addr=0, that is, the start address). . Next, in step S530, the controller determines whether the erase verification is successful, for example, determines whether each of the memory cells 210 corresponding to the address Addr is a logic level "1". If the result of the erase verification is a failure (for example, at least one memory cell 210 corresponding to the address Addr is a logic level "0"), then returning to step S510 to re-erase the memory cells 210, 220 in the segment. With 230. On the other hand, if the result of the erase verification is successful, the controller determines whether the address Addr is greater than the last sector address Addr_last_Sector (step S540). If the address Addr has exceeded the last sector address Addr_last_Sector, the erase procedure is completed. On the other hand, if the address Addr is less than or equal to the last sector address Addr_last_Sector, the controller increments the position value of the address Addr by one (for example, Addr=Addr+1, that is, points to the next address) (step S550) to update. Address Addr. Next, in step S560, the controller determines whether the updated address Addr is the last valid row address Cm. If the updated address Addr is not the last valid row address Cm, then return to step S520. Then, the controller performs erasure verification on the memory cell 210 corresponding to the updated address Addr, and performs subsequent flow. Cheng. If the updated address Addr is the last valid row address Cm (ie, Addr=Cm), the controller adds the additional bit lines CF1 and CF2 (step S570), so that the address Addr and the corresponding address can be simultaneously The extra cells CF1 and CF2 on the same column address are verified. Thus, the controller performs a wipe on the memory cell 210 corresponding to the last valid row address Cm, the memory cell 220 corresponding to the extra row CF1 of the same column address, and the memory cell 230 corresponding to the extra row CF2 of the same column address. In addition to the verification (step S520) and the result of the authentication is confirmed (step S530). As previously described, if the result of the erase verification is a failure, for example, the memory cell 210 corresponding to the last valid row address Cm on the address Addr, the memory cell 220 corresponding to the extra row CF1 of the same column address, and the extra row If any of the memory cells 230 of CF2 is logic level "0", the process returns to step S510 to erase the memory cells 210, 220, and 230 in the segment.

第5B圖係根據本發明另一實施例所述之快閃記憶體之抹除程序的流程圖。同時參考第2圖與第5B圖,在此實施例中,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用原有的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。首先,在步驟S510,控制器會將一區段內之記憶胞210、220與230進行抹除。接著,在步驟S520,控制器會根據位址Addr(例如Addr=0,即起始位址)而對對應於位址Addr之位元組或字元組內的複數記憶胞210執行抹除驗證。接著,在步驟S530,控制器會判斷抹除驗證是否成功,例如判斷對應於位址Addr之每一記憶胞210是否為邏輯位準“1”。若抹除驗證的結果為失敗(例如對應於位址Addr之至少一記憶胞210為邏輯位準“0”),則回到步驟S510,以重新抹除將該區段內之 記憶胞210、220與230。反之,若抹除驗證的結果為成功,控制器會判斷位址Addr是否為最後有效行位址Cm(步驟S560)。若位址Addr不是最後有效行位址Cm,則控制器會判斷位址Addr是否大於最後區段位址Addr_last_Sector(步驟S540)。若位址Addr已超過最後區段位址Addr_last_Sector,則完成抹除程序。反之,若位址Addr小於或等於最後區段位址Addr_last_Sector,則控制器會將位址Addr的位置值加一(例如Addr=Addr+1,即指向下一個位址)(步驟S550),以更新位址Addr,並回到步驟S520。於是,控制器會對對應於更新過之位址Addr的記憶胞210執行抹除驗證,並進行後續流程。在步驟S560中,若位址Addr為最後有效行位址Cm(即Addr=Cm),則控制器會針對額外位元線CF1與CF2而對對應於相同列位址上之額外行CF1之記憶胞220與額外行CF2之記憶胞230執行抹除驗證(步驟S580)。接著,在步驟S582,控制器會判斷抹除驗證是否成功,例如判斷記憶胞220與230是否為邏輯位準“1”。若抹除驗證的結果為失敗(例如記憶胞220或是記憶胞230為邏輯位準“0”),則控制器會重新抹除將該區段內之記憶胞210、220與230(步驟S584)。接著,控制器會對記憶胞220與230重新執行抹除驗證(步驟S580)。接著,重複執行抹除驗證(步驟S582)以及重新執行抹除(步驟S584),直到控制器會判定抹除驗證為成功,於是進行步驟S540,並進行後續流程。FIG. 5B is a flow chart of a flash memory erasing program according to another embodiment of the present invention. Referring to FIG. 2 and FIG. 5B simultaneously, in this embodiment, the sense amplifier of the flash memory (for example, the sense amplifier 120 of FIG. 1) uses the original read/write unit to add additional Memory cells 220 and 230 perform read and write operations. First, in step S510, the controller erases the memory cells 210, 220, and 230 in a sector. Next, in step S520, the controller performs erasure verification on the plurality of memory cells 210 in the byte or the character group corresponding to the address Addr according to the address Addr (for example, Addr=0, that is, the start address). . Next, in step S530, the controller determines whether the erase verification is successful, for example, determines whether each of the memory cells 210 corresponding to the address Addr is a logic level "1". If the result of the erase verification is a failure (for example, at least one memory cell 210 corresponding to the address Addr is a logic level "0"), then returning to step S510 to re-erase the segment. Memory cells 210, 220 and 230. On the other hand, if the result of the erase verification is successful, the controller determines whether the address Addr is the last valid row address Cm (step S560). If the address Addr is not the last valid row address Cm, the controller determines whether the address Addr is greater than the last sector address Addr_last_Sector (step S540). If the address Addr has exceeded the last sector address Addr_last_Sector, the erase procedure is completed. On the other hand, if the address Addr is less than or equal to the last sector address Addr_last_Sector, the controller increments the position value of the address Addr by one (for example, Addr=Addr+1, that is, points to the next address) (step S550) to update. The address is Addr and returns to step S520. Then, the controller performs erasure verification on the memory cell 210 corresponding to the updated address Addr, and performs subsequent processes. In step S560, if the address Addr is the last valid row address Cm (ie, Addr=Cm), the controller will store the memory corresponding to the extra row CF1 on the same column address for the extra bit lines CF1 and CF2. The cell 220 and the memory cell 230 of the extra line CF2 perform erasure verification (step S580). Next, in step S582, the controller determines whether the erase verification is successful, for example, determines whether the memory cells 220 and 230 are logic level "1". If the result of the erase verification is a failure (for example, the memory cell 220 or the memory cell 230 is a logic level "0"), the controller will erase the memory cells 210, 220, and 230 in the segment again (step S584). ). Next, the controller re-executes the erase verification on the memory cells 220 and 230 (step S580). Next, the erase verification is repeatedly performed (step S582) and the erase is re-executed (step S584) until the controller determines that the erase verification is successful, and then proceeds to step S540, and the subsequent flow is performed.

第6A圖係根據本發明一實施例所述之快閃記憶體之後編程程序的流程圖。執行後編程程序的目的在於修復過度抹除之記憶胞。一般而言,當經過抹除程序之後,快閃記憶體 的記憶胞之臨界電壓值可能會降低。當臨界電壓值太低時(例如小於0),記憶胞會發生過度抹除現象,其所引起之漏電流將會導致控制器會無法正確地識別該記憶胞以及該行其他記憶胞所儲存的資料。同時參考第2圖與第6A圖,在此實施例中,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用額外的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。首先,在步驟S610,根據行位址Addr_Col(例如Addr_Col=0,即起始位址),控制器會以行線(column)為單位而對對應於行位址Addr_Col之複數記憶胞210執行過度抹除驗證。接著,在步驟S620,控制器會判斷過度抹除驗證是否成功,例如判斷對應於行位址Addr_Col之全部記憶胞210均未選取時,驗證該行線上是否有漏電流存在。若過度抹除驗證的結果為失敗(例如對應於行位址Addr_Col之至少一記憶胞210有漏電流存在),則以行線為單位而對對應於行位址Addr_Col之全部記憶胞210執行後編程寫入操作(或軟編程(soft-program))(步驟S640),以調整記憶胞210的臨界電壓值。接著,回到步驟S610,控制器會對對應於行位址Addr_Col之複數記憶胞210執行過度抹除驗證(步驟S620),直到過度抹除驗證成功。當過度抹除驗證成功時,控制器會判斷行位址Addr_Col是否已超過最後有效行位址Cm(步驟S650)。若行位址Addr_Col已超過最後有效行位址Cm,則完成後編程程序。反之,若行位址Addr_Col小於或等於最後有效行位址Cm,則控制器會將行位址Addr_Col的位置值加一(例如Addr_Col=Addr_Col+1,即指向下一個行位址),以更新行位址Addr_Col(步驟S630)。接著,控 制器會判斷更新過的行位址Addr_Col是否為最後有效行位址Cm(步驟S660)。若更新過的行位址Addr_Col不是最後有效行位址Cm,則回到步驟S610。於是,控制器會對對應於更新過之行位址Addr_Col的記憶胞210執行過度抹除驗證,並進行後續流程。若更新過的行位址Addr_Col為最後有效行位址Cm(即Addr_Col=Cm),則控制器會將額外位元線CF1與CF2加入(步驟S670),以便能同時地對最後有效行位址Addr_Col以及額外行CF1與CF2的記憶胞進行驗證。於是,在步驟S610,控制器會對對應於最後有效行位址Cm之記憶胞210、額外行CF1之記憶胞220以及額外行CF2之記憶胞230執行過度抹除驗證。如先前所描述,若過度抹除驗證的結果為失敗,則調整對應於行位址Addr_Col之記憶胞210以對應於額外行CF1之記憶胞220以及額外行CF2之記憶胞230的臨界電壓值,並進行後續流程。6A is a flow chart of a program after flash memory programming according to an embodiment of the invention. The purpose of the post-execution programming program is to repair the over-erased memory cells. In general, after the erase process, the flash memory The threshold voltage of the memory cell may decrease. When the threshold voltage is too low (for example, less than 0), the memory cell will be over-erased, and the leakage current will cause the controller to fail to correctly identify the memory cell and other memory cells stored in the bank. data. Referring also to Figures 2 and 6A, in this embodiment, the sense amplifier of the flash memory (e.g., sense amplifier 120 of Figure 1) uses an additional read/write unit for additional memory. Cells 220 and 230 perform read and write operations. First, in step S610, according to the row address Addr_Col (for example, Addr_Col=0, that is, the start address), the controller performs excessive execution on the plurality of memory cells 210 corresponding to the row address Addr_Col in units of a row line (column). Wipe the verification. Next, in step S620, the controller determines whether the over-erase verification is successful. For example, if it is determined that all the memory cells 210 corresponding to the row address Addr_Col are not selected, it is verified whether there is leakage current on the line. If the result of the over-erase verification is a failure (for example, at least one of the memory cells 210 corresponding to the row address Addr_Col has a leakage current), then all the memory cells 210 corresponding to the row address Addr_Col are executed in units of row lines. A program write operation (or soft-program) is performed (step S640) to adjust the threshold voltage value of the memory cell 210. Next, returning to step S610, the controller performs over-erase verification on the complex memory cell 210 corresponding to the row address Addr_Col (step S620) until the over-erase verification is successful. When the over-erase verification is successful, the controller determines whether the row address Addr_Col has exceeded the last valid row address Cm (step S650). If the row address Addr_Col has exceeded the last valid row address Cm, the programming procedure is completed. Conversely, if the row address Addr_Col is less than or equal to the last valid row address Cm, the controller increments the position value of the row address Addr_Col by one (for example, Addr_Col=Addr_Col+1, which points to the next row address) to update. The row address Addr_Col (step S630). Then, control The controller determines whether the updated row address Addr_Col is the last valid row address Cm (step S660). If the updated row address Addr_Col is not the last valid row address Cm, then return to step S610. Then, the controller performs over-erase verification on the memory cell 210 corresponding to the updated row address Addr_Col, and performs a subsequent process. If the updated row address Addr_Col is the last valid row address Cm (ie, Addr_Col=Cm), the controller adds the extra bit lines CF1 and CF2 (step S670), so that the last valid row address can be simultaneously simultaneously. Addr_Col and additional lines CF1 and CF2 memory cells are verified. Then, in step S610, the controller performs over-erase verification on the memory cell 210 corresponding to the last valid row address Cm, the memory cell 220 of the extra row CF1, and the memory cell 230 of the extra row CF2. As previously described, if the result of the over-erase verification is a failure, the memory cell 210 corresponding to the row address Addr_Col is adjusted to correspond to the threshold voltage value of the memory cell 220 of the extra row CF1 and the memory cell 230 of the extra row CF2, And follow-up process.

第6B圖係根據本發明另一實施例所述之快閃記憶體之後編程程序的流程圖。同時參考第2圖與第6B圖,在此實施例中,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用原有的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。首先,在步驟S610,根據行位址Addr_Col(例如Addr_Col=0,即起始位址),控制器會以行線(column)為單位而對對應於行位址Addr_Col之複數記憶胞210執行過度抹除驗證。接著,在步驟S620,控制器會判斷過度抹除驗證是否成功,例如判斷對應於行位址Addr_Col之全部記憶胞210是否有漏電流存在。若過度抹除驗證的結果為失敗(例如對應於行位址Addr_Col之至少一記憶胞210有漏電流存在),則 以行線為單位而對對應於行位址Addr_Col之全部記憶胞210執行後編程寫入操作(或軟編程(soft-program))(步驟S640),以調整記憶胞210的臨界電壓值。接著,回到步驟S610,控制器會對對應於行位址Addr_Col之複數記憶胞210執行過度抹除驗證(步驟S620),直到過度抹除驗證成功。當過度抹除驗證成功時,控制器會將行位址Addr_Col的位置值加一(例如Addr_Col=Addr_Col+1,即指向下一個行位址),以更新行位址Addr_Col(步驟S630)。接著,在步驟650,控制器會判斷行位址Addr_Col是否已超過最後有效行位址Cm。若行位址Addr_Col小於或等於最後有效行位址Cm,則回到步驟S610。於是,控制器會對對應於更新過之行Addr_Col之記憶胞210執行過度抹除驗證(步驟S610),並進行後續流程。在步驟S650中,若行位址Addr_Col已超過最後有效行位址Cm(即Addr_Col=Cm),則控制器會針對額外的位元線CF1與CF2而對對應於額外行CF1之記憶胞220以及對應於額外行CF2之記憶胞230執行過度抹除驗證(步驟S680)。接著,在步驟S682,控制器會判斷過度抹除驗證是否成功,即判斷記憶胞220與230是否有漏電流。若過度抹除驗證的結果為失敗(例如記憶胞220或記憶胞230有漏電流),則以行線為單位而對對應於額外行CF1之全部記憶胞220以及對應於額外行CF2之全部記憶胞230執行後編程寫入操作(S684),以調整對應於額外行CF1之記憶胞220以及對應於額外行CF2之記憶胞230的臨界電壓值,並回到步驟S680。於是,控制器會對記憶胞220與230重新執行過度抹除驗證(步驟S680)並進行後續程序,直到在步驟S682,控制器會判定過 度抹除驗證為成功,於是進行步驟S650,並進行後續流程。6B is a flow chart of a program after flash memory programming according to another embodiment of the present invention. Referring to FIG. 2 and FIG. 6B simultaneously, in this embodiment, the sense amplifier of the flash memory (for example, the sense amplifier 120 of FIG. 1) uses the original read/write unit to add additional Memory cells 220 and 230 perform read and write operations. First, in step S610, according to the row address Addr_Col (for example, Addr_Col=0, that is, the start address), the controller performs excessive execution on the plurality of memory cells 210 corresponding to the row address Addr_Col in units of a row line (column). Wipe the verification. Next, in step S620, the controller determines whether the over-erase verification is successful, for example, determines whether all of the memory cells 210 corresponding to the row address Addr_Col have leakage current. If the result of the over-erase verification is a failure (for example, at least one of the memory cells 210 corresponding to the row address Addr_Col has a leakage current), then A post-program write operation (or soft-program) is performed on all of the memory cells 210 corresponding to the row address Addr_Col in units of row lines (step S640) to adjust the threshold voltage value of the memory cell 210. Next, returning to step S610, the controller performs over-erase verification on the complex memory cell 210 corresponding to the row address Addr_Col (step S620) until the over-erase verification is successful. When the over-erase verification is successful, the controller increments the position value of the row address Addr_Col by one (for example, Addr_Col=Addr_Col+1, that is, points to the next row address) to update the row address Addr_Col (step S630). Next, at step 650, the controller determines if the row address Addr_Col has exceeded the last valid row address Cm. If the row address Addr_Col is less than or equal to the last valid row address Cm, then return to step S610. Then, the controller performs over-erase verification on the memory cell 210 corresponding to the updated row Addr_Col (step S610), and performs a subsequent process. In step S650, if the row address Addr_Col has exceeded the last valid row address Cm (ie, Addr_Col=Cm), the controller pairs the memory cells 220 corresponding to the extra row CF1 for the additional bit lines CF1 and CF2 and The memory cell 230 corresponding to the extra line CF2 performs over-erase verification (step S680). Next, in step S682, the controller determines whether the over-erase verification is successful, that is, whether the memory cells 220 and 230 have leakage current. If the result of the over-erase verification is a failure (for example, the memory cell 220 or the memory cell 230 has a leakage current), all the memory cells 220 corresponding to the extra row CF1 and all the memories corresponding to the extra row CF2 are stored in units of row lines. The cell 230 performs a post-program write operation (S684) to adjust the threshold voltage value of the memory cell 220 corresponding to the extra row CF1 and the memory cell 230 corresponding to the extra row CF2, and returns to step S680. Then, the controller re-executes the over-erasing verification on the memory cells 220 and 230 (step S680) and performs subsequent procedures until the controller determines in step S682. If the erasure verification is successful, then step S650 is performed and the subsequent process is performed.

第7圖係根據本發明一實施例所述之快閃記憶體之標記程序的流程圖。同時參考第2圖與第7圖,在此實施例中,記憶胞230係用來表示所對應之行線上的記憶胞是否已經完整地完成了抹除程序。值得注意的是,使用記憶胞230來記錄抹除程序的結果僅是個例子,並非用以限定本發明。在一實施例中,可使用記憶胞220來記錄抹除程序的結果。在另一實施例中,更可使用複數個記憶胞230或記憶胞220來記錄抹除程序的結果。首先,在步驟S710,根據列位址Addr_Row(例如Addr_Row=R0,即列起始位址),控制器會將對應於列位址Addr_Row之記憶胞230編程為邏輯位準“0”。接著,在步驟S720,控制器會對記憶胞230執行編程驗證。接著,在步驟S730,控制器會判斷編程驗證是否成功,例如記憶胞230是否為邏輯位準“0”。若編程驗證的結果為失敗(例如記憶胞230為邏輯位準“1”),則回到步驟S710,以重新對記憶胞230進行編程。反之,若編程驗證的結果為成功,控制器會判斷列位址Addr_Row是否已超過最後有效列位址Rn(步驟S740)。若列位址Addr_Row已超過最後有效列位址Rn,則完成標記程序。反之,若列位址Addr_Row小於或是等於最後有效列位址Rn,控制器會將列位址Addr_Row的位置值加一(例如Addr_Row=Addr_Row+1,即指向下一個列位址)(步驟S750),並回到步驟S710。接著,控制器會將對應於更新過之列位址Addr_Row之記憶胞230編程為邏輯位準“0”,並進行後續程序。Figure 7 is a flow chart of a marking procedure of a flash memory according to an embodiment of the invention. Referring to Figures 2 and 7, in this embodiment, the memory cell 230 is used to indicate whether the memory cell on the corresponding row line has completely completed the erase process. It is to be noted that the result of using the memory cell 230 to record the erase program is merely an example and is not intended to limit the invention. In an embodiment, memory cell 220 can be used to record the results of the erase process. In another embodiment, a plurality of memory cells 230 or memory cells 220 may be used to record the results of the erase process. First, in step S710, according to the column address Addr_Row (for example, Addr_Row = R0, that is, the column start address), the controller programs the memory cell 230 corresponding to the column address Addr_Row to a logic level "0". Next, in step S720, the controller performs program verification on the memory cell 230. Next, in step S730, the controller determines whether the program verification is successful, for example, whether the memory cell 230 is a logic level "0". If the result of the program verification is a failure (for example, the memory cell 230 is a logic level "1"), then return to step S710 to reprogram the memory cell 230. On the other hand, if the result of the program verification is successful, the controller determines whether the column address Addr_Row has exceeded the last valid column address Rn (step S740). If the column address Addr_Row has exceeded the last valid column address Rn, the marking procedure is completed. On the other hand, if the column address Addr_Row is less than or equal to the last valid column address Rn, the controller increments the position value of the column address Addr_Row by one (for example, Addr_Row=Addr_Row+1, that is, points to the next column address) (step S750) ), and returns to step S710. Next, the controller will program the memory cell 230 corresponding to the updated column address Addr_Row to a logic level "0" and perform subsequent procedures.

第8A圖係根據本發明另一實施例所述之快閃記憶 體之標記程序的流程圖。同時參考第2圖與第8A圖,在此實施例中,記憶胞220係用來表示所對應之列線上的記憶胞是否曾經執行編程程序。此外,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用額外的讀取/寫入單元來對額外的記憶胞220執行讀取與寫入操作。值得注意的是,使用記憶胞220來記錄編程程序的結果僅是個例子,並非用以限定本發明。在一實施例中,可使用記憶胞230來記錄編程程序的結果,而記憶胞220則用來記錄區段是否完整完成抹除流程的標記。在另一實施例中,更可使用複數個記憶胞230或記憶胞220來記錄是否曾經執行編程程序及完成抹除流程的結果。在此實施例中,控制器會根據編程指令而以位元組或字元組為單位來對所選取之區段內之記憶胞210進行編程。首先,在步驟S810,當欲編程之資料為最後位元組資料時,控制器會根據位址Addr,而將最後位元組資料編程至所對應之記憶胞210,並將位在同一列之記憶胞220編程為邏輯位準“0”。接著,在步驟S820,控制器會對對應位址Addr所編程之記憶胞210與220執行編程驗證。接著,在步驟S830,控制器會判斷編程驗證是否成功,例如記憶胞210是否符合編程資料及記憶胞220是否為邏輯位準“0”。若編程驗證的結果為失敗(例如記憶胞220為邏輯位準“1”或是記憶胞210的邏輯位準有誤),則回到步驟S810,以重新對記憶胞210與220進行編程。反之,若編程驗證的結果為成功,則完成標記程序。8A is a flash memory according to another embodiment of the present invention. Flow chart of the body marking program. Referring to FIG. 2 and FIG. 8A simultaneously, in this embodiment, the memory cell 220 is used to indicate whether the memory cell on the corresponding column line has performed a programming procedure. In addition, a sense amplifier of a flash memory (such as sense amplifier 120 of FIG. 1) uses an additional read/write unit to perform read and write operations on additional memory cells 220. It is to be noted that the results of using the memory cell 220 to record programming procedures are merely examples and are not intended to limit the invention. In one embodiment, memory cell 230 can be used to record the results of the programming process, while memory cell 220 is used to record whether the segment completes the marking of the erase process. In another embodiment, a plurality of memory cells 230 or memory cells 220 can be used to record whether the programming process has been performed and the result of the erase process is completed. In this embodiment, the controller programs the memory cells 210 in the selected segment in units of bytes or groups of characters in accordance with programming instructions. First, in step S810, when the data to be programmed is the last byte data, the controller programs the last byte data to the corresponding memory cell 210 according to the address Addr, and places the bits in the same column. The memory cell 220 is programmed to a logic level of "0". Next, in step S820, the controller performs program verification on the memory cells 210 and 220 programmed by the corresponding address Addr. Next, in step S830, the controller determines whether the program verification is successful, for example, whether the memory cell 210 conforms to the programming data and whether the memory cell 220 is a logic level "0". If the result of the program verification is a failure (for example, the memory cell 220 is a logic level "1" or the logic cell 210 has an incorrect logic level), then the process returns to step S810 to reprogram the memory cells 210 and 220. Conversely, if the result of the program verification is successful, the marking process is completed.

第8B圖係根據本發明另一實施例所述之快閃記憶體之標記程序的流程圖。同時參考第2圖與第8B圖,在此實施 例中,記憶胞220係用來表示所對應之列線上的記憶胞是否曾經執行編程程序。此外,快閃記憶體之感測放大器(例如第1圖之感測放大器120)係使用原有的讀取/寫入單元來對額外的記憶胞220與230執行讀取與寫入操作。值得注意的是,使用記憶胞220來記錄編程程序的結果僅是個例子,並非用以限定本發明。在一實施例中,可使用記憶胞230來記錄是否曾經執行編程程序以及記憶胞220用來記錄區段是否完整完成抹除流程的標記之結果。在另一實施例中,更可使用複數個記憶胞230或記憶胞220來記錄編程程序的結果。在此實施例中,控制器會根據編程指令而以位元組或字元組為單位來對所選取之區段內之記憶胞210進行編程。在此實施例中,控制器會根據編程指令而以位元組或字元組為單位來對所選取之區段內之記憶胞210進行編程。首先,在步驟S840,當欲編程之資料為最後位元組資料時,控制器會根據位址Addr,而將最後位元組資料編程至所對應之記憶胞210。接著,在步驟S850,控制器會對所編程之記憶胞210執行編程驗證。接著,在步驟S860,控制器會判斷編程驗證是否成功。若編程驗證的結果為失敗(例如記憶胞210的邏輯位準有誤),則回到步驟S840,以重新對記憶胞210進行編程。反之,若記憶胞210之編程驗證的結果為成功,則將位在同一列之記憶胞220編程為邏輯位準“0”(步驟S870)。接著,在步驟S880,控制器會對所編程之記憶胞220執行編程驗證。接著,在步驟S890,控制器會判斷編程驗證是否成功,例如記憶胞220是否為邏輯位準“0”。若記憶胞220之編程驗證的結果為失敗(例如記憶胞220為邏輯位準“1”),則回到 步驟S870,以重新對記憶胞220進行編程。反之,若編程驗證的結果為成功,則完成標記程序。8B is a flow chart of a marking procedure of a flash memory according to another embodiment of the present invention. Referring to Figures 2 and 8B at the same time, implementation here In the example, the memory cell 220 is used to indicate whether the memory cell on the corresponding column line has performed a programming procedure. In addition, a sense amplifier of a flash memory (such as sense amplifier 120 of FIG. 1) uses a conventional read/write unit to perform read and write operations on additional memory cells 220 and 230. It is to be noted that the results of using the memory cell 220 to record programming procedures are merely examples and are not intended to limit the invention. In one embodiment, memory cell 230 can be used to record whether a program has been executed and the result of the flag used by memory cell 220 to record whether the segment has completely completed the erase process. In another embodiment, a plurality of memory cells 230 or memory cells 220 can be used to record the results of the programming process. In this embodiment, the controller programs the memory cells 210 in the selected segment in units of bytes or groups of characters in accordance with programming instructions. In this embodiment, the controller programs the memory cells 210 in the selected segment in units of bytes or groups of characters in accordance with programming instructions. First, in step S840, when the data to be programmed is the last byte data, the controller programs the last byte data to the corresponding memory cell 210 according to the address Addr. Next, in step S850, the controller performs program verification on the programmed memory cell 210. Next, in step S860, the controller determines whether the program verification is successful. If the result of the program verification is a failure (for example, the logic level of the memory cell 210 is incorrect), then return to step S840 to reprogram the memory cell 210. On the other hand, if the result of the program verification of the memory cell 210 is successful, the memory cell 220 in the same column is programmed to the logic level "0" (step S870). Next, in step S880, the controller performs program verification on the programmed memory cell 220. Next, in step S890, the controller determines whether the program verification is successful, for example, whether the memory cell 220 is a logic level "0". If the result of the program verification of the memory cell 220 is a failure (for example, the memory cell 220 is a logic level "1"), then it is returned. Step S870, to reprogram the memory cell 220. Conversely, if the result of the program verification is successful, the marking process is completed.

一般而言,在對記憶體陣列進行資料編程之前,控制器必須先確認所選用的區段是空白區段,才能將資料編程至該空白區段。一般而言,當有中斷情況發生在傳統之快閃記憶體的抹除過程中,則抹除程序不會被完整地執行。因此,在傳統的快閃記憶體中,控制器有時需要先對所選用的區段中的全部記憶胞進行抹除驗證,並執行過度抹除驗證,以便確認所選用的區段中沒有過度抹除的記憶胞存在,而完成整區段記憶胞的抹除驗證以及過度抹除驗證需要花費較多的時間。此外,對設置在可攜式電子裝置的快閃記憶體而言,為了加速執行抹除驗證以及過度抹除驗證,常藉由增加讀取單元以增加驗證速率,但亦會增加耗電。在本發明實施例中,藉由讀取設置在額外行線(例如第2圖的行線CF1與CF2)上之記憶胞(例如第2圖的記憶胞220與230)的狀態,控制器可確認所選用的區段是否完整地執行了抹除程序並進一步判斷所選用的區段是否為空白區段,而不需要對所選用的區段執行抹除驗證以及過度抹除驗證。因此,可加快判斷是否為空白區段的時間,並降低耗電量。舉例來說,在一實施例中,記憶胞220與記憶胞230係用來表示所對應之行線上的記憶胞是否已經完整地完成了抹除程序。若所選用之區段內的全部記憶胞230為邏輯位準“0”且全部記憶胞220為邏輯位準“1”,則控制器可判定該區段已完整地抹除,如下列表1所顯示。接著,控制器將資料編程至該區段內。在完成資料編程之後,控制器可使用先前所描述之標記程序來對 該區段之記憶胞220進行編程。在此實施例中,記憶胞220係用來表示所對應之行線上的記憶胞是否已被編程。舉例來說,在執行一頁資料編程的過程中,當最後位元組被編程之後,控制器可將相同列線上的記憶胞220編程為邏輯位準“0”。因此,若所選用之區段內的部分記憶胞220為邏輯位準“0”且全部記憶胞230為邏輯位準“0”,則控制器可判定該區段已被使用,並非空白區段。此外,若所選用之區段內的部分記憶胞230為邏輯位準“1”,則控制器可判定該區段未被完整地抹除。尤其是全部記憶胞220為邏輯位準“1”且全部記憶胞230亦為邏輯位準“1”,其係表示該區段發生過抹除中斷的情況,而有可能存在著過度抹除的記憶胞。因此,可根據第3圖之方法來重新對該區段之記憶胞進行抹除,以避免過度抹除的記憶胞存在,而造成資料完整性的誤判。In general, before programming the memory array, the controller must first confirm that the selected segment is a blank segment in order to program the data to the blank segment. In general, when an interrupt occurs during the erasure of a conventional flash memory, the erase program is not completely executed. Therefore, in conventional flash memory, the controller sometimes needs to perform erase verification on all the memory cells in the selected segment and perform over-erase verification to confirm that there is no excessive in the selected segment. The erased memory cell exists, and it takes more time to complete the erase verification of the entire segment of the memory cell and the over-erase verification. In addition, for the flash memory disposed in the portable electronic device, in order to speed up the execution of the erase verification and the over-erase verification, the read rate is often increased to increase the verification rate, but the power consumption is also increased. In the embodiment of the present invention, by reading the state of the memory cells (for example, the memory cells 220 and 230 of FIG. 2) disposed on the extra row lines (for example, the row lines CF1 and CF2 of FIG. 2), the controller may Confirm that the selected segment has completely executed the erase program and further determines whether the selected segment is a blank segment, without performing erase verification and over-erase verification on the selected segment. Therefore, it is possible to speed up the judgment of whether or not it is a blank section and reduce the power consumption. For example, in one embodiment, memory cell 220 and memory cell 230 are used to indicate whether the memory cell on the corresponding row line has completely completed the erase process. If all of the memory cells 230 in the selected segment are logic level "0" and all memory cells 220 are logic level "1", the controller may determine that the segment has been completely erased, as shown in Table 1 below. display. The controller then programs the data into the segment. After completing the data programming, the controller can use the previously described marking program to The memory cells 220 of this segment are programmed. In this embodiment, memory cell 220 is used to indicate whether the memory cells on the corresponding row lines have been programmed. For example, during the execution of a page of data programming, after the last byte is programmed, the controller can program the memory cell 220 on the same column line to a logic level of "0". Therefore, if some of the memory cells 220 in the selected segment are logic level "0" and all memory cells 230 are logic level "0", the controller can determine that the segment has been used, not a blank segment. . In addition, if a portion of the memory cells 230 in the selected segment are logic level "1", the controller can determine that the segment is not completely erased. In particular, all memory cells 220 are logic level "1" and all memory cells 230 are also logic level "1", which indicates that the sector has been erased and interrupted, and there may be excessive erasure. Memory cell. Therefore, the memory cells of the segment can be erased according to the method of FIG. 3 to avoid the existence of excessively erased memory cells and cause misjudgment of data integrity.

如先前所描述,藉由使用額外行線上的記憶胞來記錄記憶體陣列中所對應之列線上記憶胞的使用狀態,控制器可快速地判斷出所選用的區段是否空白。再者,藉由對整行之記憶胞進行標記,可有效分散旗標記憶胞的編程及抹除次數,而能達成與資料記憶胞相等的寫入次數(cycling time)。此外,記憶胞220與230的排列順序以及數量可根據實際應用而決定。As described previously, by using the memory cells on the extra line to record the state of use of the memory cells on the corresponding column lines in the memory array, the controller can quickly determine if the selected segment is blank. Furthermore, by marking the memory cells of the entire row, the programming and erasing times of the flag memory cells can be effectively dispersed, and the number of cycles equal to the data memory cells can be achieved. In addition, the order and number of memory cells 220 and 230 can be determined according to practical applications.

雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中包括通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。Although the present invention has been disclosed in the above preferred embodiments, it is not intended to limit the invention, and it is intended that the invention may be modified and modified without departing from the spirit and scope of the invention. Therefore, the scope of the invention is defined by the scope of the appended claims.

S310-S340‧‧‧步驟S310-S340‧‧‧Steps

Claims (12)

一種抹除方法,適用於一快閃記憶體,包括:預編程該快閃記憶體的複數第一記憶胞,其中該等第一記憶胞係設置於由複數行線與複數列線所組成之一記憶體陣列;抹除已預編程之該等第一記憶胞;後編程已抹除之該等第一記憶胞,以修復已過度抹除之該等第一記憶胞;以及在後編程已抹除之該等第一記憶胞之後,編程複數第二記憶胞,其中該等第二記憶胞係設置在該記憶體陣列之一第一特定行線,以及該第一特定行線係安排在對應於一最後有效行位址之一最後行線之後;其中該記憶體陣列更包括設置在該記憶體陣列之一第二特定行線之複數第三記憶胞,其中該第二特定行線係安排在該最後行線之後並相鄰於該第一特定行線。 An erasing method, applicable to a flash memory, comprising: pre-programming a plurality of first memory cells of the flash memory, wherein the first memory cell is disposed by a plurality of row lines and a plurality of column lines a memory array; erasing the first memory cells that have been preprogrammed; and programming the first memory cells that have been erased to repair the first memory cells that have been over erased; and post programming After erasing the first memory cells, programming a plurality of second memory cells, wherein the second memory cells are disposed in a first specific row of the memory array, and the first specific row line is arranged Corresponding to one of the last valid row addresses after the last row line; wherein the memory array further comprises a plurality of third memory cells disposed in a second specific row line of the memory array, wherein the second specific row line is Arranged after the last row line and adjacent to the first specific row line. 如申請專利範圍第1項所述之抹除方法,其中上述預編程該快閃記憶體的該等第一記憶胞之步驟更包括:根據一第一位址,對對應於該第一位址之該等第一記憶胞執行一預編程驗證,以判斷對應於該第一位址之該等第一記憶胞是否為低邏輯位準;當對應於該第一位址之該等第一記憶胞之至少一者為高邏輯位準時,對對應於該第一位址之該等第一記憶胞進行編程;以及當該等第一記憶胞被編程且該第一位址超過一最後區段位 址時,完成該預編程程序。 The erasing method of claim 1, wherein the step of pre-programming the first memory cells of the flash memory further comprises: corresponding to the first address according to a first address The first memory cells perform a pre-programmed verification to determine whether the first memory cells corresponding to the first address are low logic levels; and the first memories corresponding to the first address When at least one of the cells is a high logic level, programming the first memory cells corresponding to the first address; and when the first memory cells are programmed and the first address exceeds a last sector bit At the time of the address, the preprogramming process is completed. 如申請專利範圍第2項所述之抹除方法,其中上述預編程該快閃記憶體的該等第一記憶胞之步驟更包括:當該等第一記憶胞被編程且該第一位址未超過該最後區段位址時,將該第一位址更新為一第二位址;當該第二位址為該最後有效行位址時,根據該第二位址,對對應於該第二位址之該等第一記憶胞以及該等第二與第三記憶胞執行該預編程驗證,以判斷對應於該第二位址之該等第一、第二與第三記憶胞是否為低邏輯位準;當對應於該第二位址之該等第一、第二與第三記憶胞之至少一者為高邏輯位準時,對對應於該第二位址之該等第一、第二與第三記憶胞進行編程;以及當對應於該第二位址之該等第一、第二與第三記憶胞被編程且該第二位址超過該最後區段位址時,完成該預編程程序。 The erasing method of claim 2, wherein the step of pre-programming the first memory cells of the flash memory further comprises: when the first memory cells are programmed and the first address When the last sector address is not exceeded, the first address is updated to a second address; when the second address is the last valid row address, according to the second address, the pair corresponds to the first Performing the pre-programmed verification on the first memory cells of the two addresses and the second and third memory cells to determine whether the first, second, and third memory cells corresponding to the second address are a low logic level; when at least one of the first, second, and third memory cells corresponding to the second address is a high logic level, the first one corresponding to the second address Programming the second and third memory cells; and completing when the first, second, and third memory cells corresponding to the second address are programmed and the second address exceeds the last sector address Preprogrammed program. 如申請專利範圍第1項所述之抹除方法,其中上述抹除已預編程之該等第一記憶胞之步驟更包括:抹除一區段內之該等第一、第二與第三記憶胞;根據一第一位址,對對應於該第一位址之已抹除之該等第一記憶胞執行一抹除驗證,以判斷對應於該第一位址之已抹除之該等第一記憶胞是否為高邏輯位準;當對應於該第一位址之已抹除之該等第一記憶胞之一者為低邏輯位準時,重新抹除該區段內之該等第一、第二與第三記憶胞;以及 當對應於該第一位址之已抹除之該等第一記憶胞為高邏輯位準且該第一位址超過該最後區段位址時,完成該抹除程序。 The wiping method of claim 1, wherein the step of erasing the pre-programmed first memory cells further comprises: erasing the first, second, and third portions in a segment. a memory cell; performing a erase verification on the erased first memory cells corresponding to the first address according to a first address to determine that the corresponding address corresponding to the first address has been erased Whether the first memory cell is a high logic level; when one of the first memory cells corresponding to the first address has been erased is a low logic level, the first of the segments is re-erased First, second and third memory cells; The erase process is completed when the first memory cells corresponding to the erased first address are high logic levels and the first address exceeds the last sector address. 如申請專利範圍第4項所述之抹除方法,其中上述抹除已預編程之該等第一記憶胞之步驟更包括:當對應於該第一位址之已抹除之該等第一記憶胞為高邏輯位準且該第一位址未超過該最後區段位址時,將該第一位址更新為一第二位址;當該第二位址為該最後有效行位址時,根據該第二位址,對對應於該第二位址之已抹除之該等第一記憶胞以及該等第二與第三記憶胞執行該抹除驗證,以判斷對應於該第二位址之已抹除之該等第一、第二與第三記憶胞是否為高邏輯位準;當對應於該第二位址之已抹除之該等第一、第二與第三記憶胞之一者為低邏輯位準時,重新抹除該區段內之該等第一、第二與第三記憶胞;以及當對應於該第二位址之已抹除之該等第一、第二與第三記憶胞為高邏輯位準且該第二位址超過該最後區段位址時,完成該抹除程序。 The erasing method of claim 4, wherein the step of erasing the pre-programmed first memory cells further comprises: when the first address corresponding to the first address is erased, the first When the memory cell is a high logic level and the first address does not exceed the last sector address, the first address is updated to a second address; when the second address is the last valid row address And performing, according to the second address, the erased verification on the erased first memory cells corresponding to the second address and the second and third memory cells to determine that the second is corresponding to the second address Whether the first, second, and third memory cells of the address have been erased are high logic levels; when the first, second, and third memories are erased corresponding to the second address Retrieving the first, second, and third memory cells in the segment when one of the cells is a low logic level; and when the first address corresponding to the second address has been erased The erase process is completed when the second and third memory cells are at a high logic level and the second address exceeds the last sector address. 如申請專利範圍第1項所述之抹除方法,其中上述後編程已抹除之該等第一記憶胞之步驟更包括:根據一第一位址,對對應於該第一位址之該等第一記憶胞執行一過度抹除驗證,以判斷對應於該第一位址之已抹除之該等第一記憶胞是否為過度抹除; 當已抹除之該等第一記憶胞之一者為過度抹除時,對已過度抹除之該等第一記憶胞執行後編程;以及當該等第一記憶胞無過度抹除時,將該第一位址更新為一第二位址。The erasing method of claim 1, wherein the step of erasing the first memory cells after the programming further comprises: according to a first address, corresponding to the first address Waiting for the first memory cell to perform an over-erase verification to determine whether the first memory cells corresponding to the erased first address are over-erased; Performing post programming on the first memory cells that have been over-erased when one of the first memory cells that have been erased is over-erased; and when the first memory cells are not over-erased, The first address is updated to a second address. 如申請專利範圍第6項所述之抹除方法,其中上述後編程已抹除之該等第一記憶胞之步驟更包括:當該第二位址超過該最後有效行位址時,根據該第二位址,對對應於該第二位址之該等第一記憶胞以及該等第二與第三記憶胞執行該過度抹除驗證,以判斷對應於該第二位址之已抹除之該等第一、第二與第三記憶胞是否為過度抹除;以及當該等第二與第三記憶胞無過度抹除時,完成該後編程程序。The erasing method of claim 6, wherein the step of erasing the first memory cells after the programming further comprises: when the second address exceeds the last valid row address, according to the a second address, performing the over-erase verification on the first memory cells corresponding to the second address and the second and third memory cells to determine that the second address is erased Whether the first, second, and third memory cells are over-erased; and when the second and third memory cells are not over-erased, the post-programming process is completed. 如申請專利範圍第1項所述之抹除方法,其中上述編程該等第二記憶胞之步驟更包括:根據一第一位址,對對應於該第一位址之該第二記憶胞進行編程;對對應於該第一位址之已編程之該第二記憶胞執行一編程驗證,以判斷對應於該第一位址之該第二記憶胞是否為低邏輯位準;以及當對應於該第一位址之已編程之該第二記憶胞為高邏輯位準時,重新對對應於該第一位址之該第二記憶胞進行編程。The erasing method of claim 1, wherein the step of programming the second memory cells further comprises: performing, according to a first address, the second memory cell corresponding to the first address Programming; performing a program verification on the programmed second memory cell corresponding to the first address to determine whether the second memory cell corresponding to the first address is a low logic level; and when corresponding to When the second memory cell programmed by the first address is a high logic level, the second memory cell corresponding to the first address is reprogrammed. 如申請專利範圍第8項所述之抹除方法,其中上述編程該等第二記憶胞之步驟更包括: 當對應於該第一位址之已編程之該第二記憶胞為低邏輯位準且該第一位址超過一最後有效列位址時,該快閃記憶體已完成抹除;當已編程之該第二記憶胞為低邏輯位準且該第一位址未超過該最後有效列位址時,將該第一位址更新為一第二位址;根據該第二位址,對對應於該第二位址之該第二記憶胞進行編程;對對應於該第二位址之已編程之該第二記憶胞執行該編程驗證,以判斷對應於該第二位址之該第二記憶胞是否為低邏輯位準;當對應於該第二位址之已編程之該第二記憶胞為高邏輯位準時,重新對對應於該第二位址之該第二記憶胞進行編程;以及當對應於該第二位址之已編程之該第二記憶胞為低邏輯位準且該第二位址超過最後有效列位址時,該快閃記憶體已完成抹除。The wiping method of claim 8, wherein the step of programming the second memory cells further comprises: When the programmed second memory cell corresponding to the first address is a low logic level and the first address exceeds a last valid column address, the flash memory has been erased; when programmed When the second memory cell is a low logic level and the first address does not exceed the last valid column address, the first address is updated to a second address; according to the second address, the corresponding address Programming the second memory cell at the second address; performing the program verification on the programmed second memory cell corresponding to the second address to determine the second corresponding to the second address Whether the memory cell is a low logic level; when the programmed second memory cell corresponding to the second address is a high logic level, reprogramming the second memory cell corresponding to the second address; And when the second memory cell programmed to correspond to the second address is a low logic level and the second address exceeds a last valid column address, the flash memory has completed erasing. 如申請專利範圍第1項所述之抹除方法,更包括:在快閃記憶體完成抹除之後,根據欲編程之資料,編程對應於一寫入位址之該等第一記憶胞;以及編程對應於該寫入位址之該第三記憶胞,以指示對應於該寫入位址之該列線之該等第一記憶胞已被編程。The wiping method of claim 1, further comprising: after the flash memory is erased, programming the first memory cells corresponding to a write address according to the data to be programmed; The third memory cell corresponding to the write address is programmed to indicate that the first memory cells of the column line corresponding to the write address have been programmed. 如申請專利範圍第1項所述之抹除方法,更包括:根據該快閃記憶體之一區段內之該等第二與第三記憶胞的邏輯位準,判斷該區段是否為空白區段; 其中當該等第二記憶胞為低邏輯位準以及該等第三記憶胞為高邏輯位準時,該區段為空白區段。The erasing method of claim 1, further comprising: determining whether the segment is blank according to logic levels of the second and third memory cells in a segment of the flash memory Section Where the second memory cells are low logic levels and the third memory cells are high logic levels, the sector is a blank segment. 如申請專利範圍第11項所述之抹除方法,其中當該等第二記憶胞為低邏輯位準以及至少一該第三記憶胞為低邏輯位準時,該區段不是空白區段,以及當至少一該第二記憶胞為高邏輯位準時,該區段不是空白區段。The erasing method of claim 11, wherein when the second memory cell is a low logic level and at least one of the third memory cells is a low logic level, the segment is not a blank segment, and When at least one of the second memory cells is at a high logic level, the segment is not a blank segment.
TW102135958A 2013-10-04 2013-10-04 Erase method for flash TWI501242B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102135958A TWI501242B (en) 2013-10-04 2013-10-04 Erase method for flash

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102135958A TWI501242B (en) 2013-10-04 2013-10-04 Erase method for flash

Publications (2)

Publication Number Publication Date
TW201514997A TW201514997A (en) 2015-04-16
TWI501242B true TWI501242B (en) 2015-09-21

Family

ID=53437714

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102135958A TWI501242B (en) 2013-10-04 2013-10-04 Erase method for flash

Country Status (1)

Country Link
TW (1) TWI501242B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6144741B2 (en) * 2015-09-28 2017-06-07 ウィンボンド エレクトロニクス コーポレーション Nonvolatile semiconductor memory
US20210035644A1 (en) * 2019-08-01 2021-02-04 Macronix International Co., Ltd. Memory apparatus and data access method for memory

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277329B2 (en) * 2005-10-04 2007-10-02 Elite Semiconductor Memory Technology, Inc. Erase method to reduce erase time and to prevent over-erase
US7558904B2 (en) * 2004-07-23 2009-07-07 Spansion Llc Controller, data memory system, data rewriting method, and computer program product
US20100034026A1 (en) * 2008-08-06 2010-02-11 Samsung Electronics Co., Ltd. Erase method and non-volatile semiconductor memory
US7669004B2 (en) * 2003-12-31 2010-02-23 Sandisk Corporation Flash storage system with write-erase abort detection mechanism
US20120117307A1 (en) * 2010-11-09 2012-05-10 Eguchi Richard K Non-volatile memory (nvm) erase operation with brownout recovery technique
JP2013033565A (en) * 2011-08-01 2013-02-14 Renesas Electronics Corp Nonvolatile semiconductor memory device
US8433846B2 (en) * 2001-08-24 2013-04-30 Micron Technology, Inc. Methods and apparatus reading erase block management data in subsets of sectors having user data and control data sections
WO2013069859A1 (en) * 2011-11-09 2013-05-16 한양대학교 산학협력단 Device and method for controlling flash memory for storing mapping table of block to be erased

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433846B2 (en) * 2001-08-24 2013-04-30 Micron Technology, Inc. Methods and apparatus reading erase block management data in subsets of sectors having user data and control data sections
US7669004B2 (en) * 2003-12-31 2010-02-23 Sandisk Corporation Flash storage system with write-erase abort detection mechanism
US7558904B2 (en) * 2004-07-23 2009-07-07 Spansion Llc Controller, data memory system, data rewriting method, and computer program product
US7277329B2 (en) * 2005-10-04 2007-10-02 Elite Semiconductor Memory Technology, Inc. Erase method to reduce erase time and to prevent over-erase
US20100034026A1 (en) * 2008-08-06 2010-02-11 Samsung Electronics Co., Ltd. Erase method and non-volatile semiconductor memory
US20120117307A1 (en) * 2010-11-09 2012-05-10 Eguchi Richard K Non-volatile memory (nvm) erase operation with brownout recovery technique
JP2013033565A (en) * 2011-08-01 2013-02-14 Renesas Electronics Corp Nonvolatile semiconductor memory device
WO2013069859A1 (en) * 2011-11-09 2013-05-16 한양대학교 산학협력단 Device and method for controlling flash memory for storing mapping table of block to be erased

Also Published As

Publication number Publication date
TW201514997A (en) 2015-04-16

Similar Documents

Publication Publication Date Title
US7701764B2 (en) Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices
US9703698B2 (en) Data writing method, memory controller and memory storage apparatus
CN106158033B (en) memory circuit and operation method thereof
US9263155B2 (en) Data storing system and operating method thereof
TWI482158B (en) Method and apparatus for leakage suppression in flash memory in response to external commands
TWI399751B (en) Method for nitride trapping layer memory array word line retry erasing and threshold voltage recovering
JP2003217288A (en) Flash memory with reduced read disturb
KR20120128014A (en) Operating method of nonvolatile memory device and operating method of memory system including nonvolatile memory device
US9390807B2 (en) Erase method for flash
KR20120005848A (en) Nonvolatile Memory Device and Erasing Method thereof
KR20130110970A (en) Read voltage generation circuit, memory and memory system including the same
CN114758689A (en) Erasing method and power-on repair method for nonvolatile memory
JP2015176628A (en) Semiconductor memory device and memory controller
TWI501242B (en) Erase method for flash
US10176876B2 (en) Memory control method and apparatus for programming and erasing areas
TWI663599B (en) Memory device and method of refreshing data in the same
CN114005479A (en) Method and device for improving NOR Flash data read-write reliability and application thereof
US20110238889A1 (en) Semiconductor memory device from which data can be read at low power
CN104102598A (en) Data reading method, control circuit, memory module and memory storage device
CN102237136A (en) Memory sub-unit erasing method for memory device
US11003393B2 (en) Nonvolatile memory device and method of controlling initialization of the same
TWI700702B (en) Semiconductor memory device
CN102568571B (en) NOR gate type flash memory and its over-erasing verification and restoration method
TWI442403B (en) Erase process for use in semiconductor memory device
CN104575604B (en) The erasing method of flash memory