TWI459203B - Data storage device and control method for non-volatile memory - Google Patents

Data storage device and control method for non-volatile memory Download PDF

Info

Publication number
TWI459203B
TWI459203B TW101136302A TW101136302A TWI459203B TW I459203 B TWI459203 B TW I459203B TW 101136302 A TW101136302 A TW 101136302A TW 101136302 A TW101136302 A TW 101136302A TW I459203 B TWI459203 B TW I459203B
Authority
TW
Taiwan
Prior art keywords
erase
volatile memory
blocks
erasing
segment
Prior art date
Application number
TW101136302A
Other languages
Chinese (zh)
Other versions
TW201415224A (en
Inventor
Teng Su
Ko-Ying Huang
Johnny Chan
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 TW101136302A priority Critical patent/TWI459203B/en
Publication of TW201415224A publication Critical patent/TW201415224A/en
Application granted granted Critical
Publication of TWI459203B publication Critical patent/TWI459203B/en

Links

Description

資料儲存裝置以及非揮發性記憶體控制方法Data storage device and non-volatile memory control method

本發明係有關於一種資料儲存裝置以及一種非揮發性記憶體控制方法,且特別有關於非揮發性記憶體上中斷之抹除操作的重啟技術。The present invention relates to a data storage device and a non-volatile memory control method, and more particularly to a restart technique for erasing an interrupt on a non-volatile memory.

非揮發性記憶體通常用於實現一資料儲存裝置。非揮發性記憶體包括有:唯讀記憶體、快閃記憶體、電子抹除式可複寫唯讀記憶體、嵌入式快閃記憶體、磁存儲器、相變化記憶體、電阻式記憶體、以及氮化矽記憶體…等。非揮發性記憶體通常需要以抹除操作釋出空間作資料儲存。然而,若在抹除過程中發生非預期的中斷(例如,斷電),正被抹除的記憶單元的狀態將無法被掌握,錯誤因而發生。Non-volatile memory is commonly used to implement a data storage device. Non-volatile memory includes: read-only memory, flash memory, electronic erasable rewritable read-only memory, embedded flash memory, magnetic memory, phase change memory, resistive memory, and Tantalum nitride memory...etc. Non-volatile memory usually requires the release of space for data storage. However, if an unexpected interruption (for example, a power outage) occurs during the erasing process, the state of the memory cell being erased cannot be grasped, and an error occurs.

本發明揭露一種資料儲存裝置以及一種非揮發性記憶體控制方法。The invention discloses a data storage device and a non-volatile memory control method.

根據本發明一種實施方式所實現的一資料儲存裝置具有一非揮發性記憶體以及一控制器。該非揮發性記憶體提供複數個區塊(blocks)作資料儲存,且各區塊分為複數段。該控制器會在各段設置抹除標記位元,記錄該非揮發性記憶體上所施行的抹除操作的進度,以於有需求時重啟所述抹除操作。A data storage device implemented in accordance with an embodiment of the present invention has a non-volatile memory and a controller. The non-volatile memory provides a plurality of blocks for data storage, and each block is divided into a plurality of segments. The controller sets the erase flag bit in each segment to record the progress of the erase operation performed on the non-volatile memory to restart the erase operation when needed.

另外一種實施方式中揭露一種非揮發性記憶體控制方 法。一非揮發性記憶體係提供複數個區塊(blocks)儲存資料,且各區塊劃分為複數段(sectors)。所述控制方法包括以下步驟:於各段設置抹除標記位元;且以所述抹除標記位元記錄實行於該非揮發性記憶體上之抹除操作的進度,以於有需求時重啟所述抹除操作。Another embodiment discloses a non-volatile memory controller law. A non-volatile memory system provides a plurality of blocks to store data, and each block is divided into a plurality of sectors. The control method includes the steps of: setting an erase mark bit in each segment; and recording, by the erase mark bit, a progress of an erase operation performed on the non-volatile memory, to restart the device when needed Describe the erase operation.

為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖示,詳細說明如下。The above described objects, features, and advantages of the invention will be apparent from the description and appended claims appended claims

以下敘述列舉本發明的多種實施方式。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。The following description sets forth various embodiments of the invention. The following description sets forth the basic concepts of the invention and is not intended to limit the invention. The scope of the actual invention shall be defined in accordance with the scope of the patent application.

第1圖以方塊圖圖解根據本發明一種實施方式所實現的一資料儲存裝置102。該資料儲存裝置102可連結至一主機104作備用儲存用、或實現長期持久資料儲存。使用者可透過主機104以及資料儲存裝置102間的一介面控制該資料儲存裝置102。在其他實施方式中,該資料儲存裝置102可用於實現一可攜式電子裝置,如MP3或者智慧型手機…等;此時,主機104可設計成該可攜式電子裝置內的微控制器。1 is a block diagram illustrating a data storage device 102 implemented in accordance with an embodiment of the present invention. The data storage device 102 can be coupled to a host 104 for backup storage or for long-term persistent data storage. The user can control the data storage device 102 through an interface between the host 104 and the data storage device 102. In other embodiments, the data storage device 102 can be used to implement a portable electronic device, such as an MP3 or a smart phone, etc. At this time, the host 104 can be designed as a microcontroller in the portable electronic device.

資料儲存裝置102包括一非揮發性記憶體106以及一控制器108。控制器108可更包括一唯讀記憶體儲存韌體碼。控制器108可執行該韌體碼根據該主機104所下達的指令控制該非揮發性記憶體106。The data storage device 102 includes a non-volatile memory 106 and a controller 108. The controller 108 can further include a read-only memory storage firmware code. The controller 108 can execute the firmware code to control the non-volatile memory 106 according to instructions issued by the host 104.

如圖所示,非揮發性記憶體106可包括複數個區塊, BLK1、BLK2等,作資料儲存用。各區塊劃分為複數段(段為一種空間單位,即sector)。例如,區塊BLK1包括複數段SEC1、SEC2至SECN。在控制器108控制下,各段配置有抹除標記位元(erase marker bits,如圖所示,段SEC1最後數位元即用作該段SEC1之抹除標記位元,標示為Marker_Bits)。各段係為自身提供一空間作為抹除標記位元,注意所揭露之抹除標記位元並不限定配置在各段的最末數位元。例如,在其他實施方式中,一段的初始數位元可被配置作抹除標記位元。控制器108可以所抹除之段、或所抹除之區塊內的多段之抹除標記位元紀錄一抹除操作(可為「段」抹除操作、或「區塊」抹除操作)的進度。根據所述抹除標記位元,控制器108可自該抹除操作的非預期中斷點將該抹除操作重啟。As shown, the non-volatile memory 106 can include a plurality of blocks. BLK1, BLK2, etc., for data storage. Each block is divided into multiple segments (the segment is a spatial unit, ie, sector). For example, block BLK1 includes a plurality of segments SEC1, SEC2 to SECN. Under the control of the controller 108, each segment is configured with erasing marker bits (as shown, the last digit of the segment SEC1 is used as the erasing flag bit of the segment SEC1, labeled as Marker_Bits). Each segment provides itself with a space as an erase mark bit. Note that the erased mark bit disclosed does not limit the last digits of each segment. For example, in other embodiments, an initial digit of a segment can be configured to erase the flag bit. The controller 108 can record an erasing operation (which can be a "segment" erase operation or a "block" erase operation) in the erased segment or the erased mark bit in the erased block. schedule. Based on the erase flag bit, the controller 108 can restart the erase operation from an unexpected break point of the erase operation.

關於非揮發性記憶體106,施行於其上的抹除操作可為段抹除操作或區塊抹除操作。所謂段抹除操作僅抹除單一段之空間。所謂區塊抹除操作則是抹除一整個區塊的空間。為了區別抹除形式(為段抹除或者區塊抹除),控制器108具有對應的特殊設計。對一段之空間進行抹除操作時,控制器108係改變該單一段的抹除標記位元。對一區塊之空間作抹除操作時,控制器108係改變該區塊中至少兩段之空間的抹除標記位元。舉例來說,若一段/區塊抹除操作遭非預期中斷(例如,斷電),控制器108可根據先前改變的抹除標記位元重啟中斷之抹除操作。在一抹除操作重啟過程中,若所驗證之區塊中多於一段之空間具有變動過的抹除標記位元,控制器108可對所驗證之區塊重啟一區塊 抹除操作。若所驗證之區塊僅有單一段之空間具有變動過的抹除標記位元,控制器108可對所驗證之區塊的該單一段空間重啟一段抹除操作。在所述抹除操作重啟過程中,控制器108對非揮發性記憶體106內的區塊一一進行驗證,直至偵測到變動過的抹除標記位元、或直至該非揮發性記憶體106所有區塊皆被驗證過。Regarding the non-volatile memory 106, the erase operation performed thereon may be a segment erase operation or a block erase operation. The so-called segment erase operation erases only a single segment of space. The so-called block erase operation is to erase the space of an entire block. In order to distinguish the erased form (for segment erase or block erase), the controller 108 has a corresponding special design. When an erase operation is performed on a space of a segment, the controller 108 changes the erase mark bit of the single segment. When an erase operation is performed on the space of a block, the controller 108 is a erase mark bit that changes the space of at least two of the blocks. For example, if a segment/block erase operation is unexpectedly interrupted (eg, powered down), controller 108 may resume the erase erase operation based on the previously changed erase flag bit. During a erase operation restart process, if more than one segment of the verified block has a changed erase flag bit, the controller 108 may restart a block for the verified block. Erase operation. If the verified block has only a single segment of space with a changed erase flag bit, the controller 108 may restart an erase operation on the single segment of the verified block. During the erase operation restart, the controller 108 verifies the blocks in the non-volatile memory 106 one by one until the changed erase mark bit is detected, or until the non-volatile memory 106 is detected. All blocks have been verified.

第2A圖以及第2B圖為一流程圖,圖解控制器108如何執行段/區塊抹除操作。段/區塊抹除操作可經過一前程式化(pre-program)程序、一抹除(erase)程序、一後程式化(post-program)程序、以及一更新(refresh)程序實現。控制器108可以不同數值設定抹除標記位元,以標示不同的程序。在一種實施方式中,各段之抹除標示位元可具有8位元、且可設定為以下5種不同數值:一第一數值(如8’h00)標示該前程式化狀態;一第二數值(如8’hFF)標示該抹除狀態;一第三數值(如8’hFC)標示該後程式化狀態;一第四數值(如8’hF0)標示該更新狀態;以及,一第五數值(如8’hC0)作為一常設值(default value),標示一抹除完成狀態。2A and 2B are flowcharts illustrating how the controller 108 performs the segment/block erase operation. The segment/block erase operation can be implemented by a pre-program, an erase program, a post-program, and a refresh program. The controller 108 can set the erase flag bits with different values to indicate different programs. In an embodiment, the erasing flag of each segment may have 8 bits and may be set to the following 5 different values: a first value (eg, 8'h00) indicates the pre-stylized state; a second A value (such as 8'hFF) indicates the erased state; a third value (such as 8'hFC) indicates the post-stylized state; a fourth value (such as 8'hF0) indicates the updated state; and, a fifth The value (such as 8'hC0) is used as a default value, indicating a erase completion status.

根據第2A圖以及第2B圖所示流程圖,抹除操作的型式(段或區塊抹除)係於步驟S202辨識。According to the flowcharts shown in Figs. 2A and 2B, the pattern of the erase operation (segment or block erase) is identified in step S202.

若步驟S202辨識出一段抹除操作執行在一特定段上,所揭露之流程執行步驟S204至S218。步驟S204將該特定段的抹除標記位元設定為該第一數值(如8’h00),且步驟S206將該特定段前程式化。步驟S208對該特定段執行該段抹除操作的抹除程序,且將該特定段的抹除標記位元設定為該第二數值(如8’hFF)。步驟S210將該特定段的抹 除標記位元設定為第三數值(如8’hFC),且步驟S212將該特定段後程式化。步驟S214將該特定段的抹除標記位元設定為該第四數值(如8’hF0),且步驟S216將該特定段更新。步驟S218將該特定段之抹除標記位元設定為第五數值(如8’hC0),該數值為常設值,標示該段抹除操作完成。If step S202 recognizes that an erase operation is performed on a particular segment, the disclosed process proceeds to steps S204 through S218. Step S204 sets the erase flag bit of the specific segment to the first value (e.g., 8'h00), and step S206 stylizes the specific segment. Step S208 performs an erase program of the segment erase operation for the specific segment, and sets the erase flag bit of the specific segment to the second value (e.g., 8'hFF). Step S210 wipes the specific segment The flag is set to a third value (e.g., 8'hFC), and step S212 is post-programmed. Step S214 sets the erase flag bit of the specific segment to the fourth value (e.g., 8'hF0), and step S216 updates the specific segment. Step S218 sets the erase flag bit of the specific segment to a fifth value (e.g., 8'hC0), the value being a standing value indicating that the segment erase operation is completed.

若步驟S202辨識到有一區塊抹除操作施行於一特定區塊上,所揭露之流程執行步驟S220至S234。步驟S220將該特定區塊的起始段以及最終段之抹除標示位元設定為該第一數值(如8’h00)。步驟S222將該特定區塊整區塊前程式化。步驟S224對該特定區塊執行該區塊抹除操作的抹除程序,且該特定區塊內所有段的抹除標記位元皆設定為該第二數值(如8’hFF)。步驟S226將特定區塊所有段的抹除標記位元設定為該第三數值(如8’hFC),且步驟S228將該特定區塊後程式化。步驟S230將該區塊的所有段的抹除標記位元皆設定為該第四數值(如8’hF0),且步驟S232將該特定區塊更新。步驟S234將該特定區塊所有段的抹除標記位元皆設定為該第五數值(如8’hC0),為常設值,標示該區塊抹除操作已完成。If the step S202 recognizes that a block erasing operation is performed on a specific block, the disclosed process proceeds to steps S220 to S234. Step S220 sets the start segment of the specific block and the erase flag of the final segment to the first value (e.g., 8'h00). Step S222 pre-programs the entire block of the specific block. Step S224 performs an erase program of the block erase operation on the specific block, and the erase flag bits of all the segments in the specific block are set to the second value (such as 8'hFF). Step S226 sets the erase flag bit of all segments of the specific block to the third value (e.g., 8'hFC), and step S228 post-programs the specific block. Step S230 sets the erase flag bits of all the segments of the block to the fourth value (e.g., 8'hF0), and step S232 updates the specific block. Step S234 sets the erase flag bits of all the segments of the specific block to the fifth value (such as 8'hC0), which is a permanent value, indicating that the block erasing operation has been completed.

第3圖以流程圖圖解該控制器108於電源啟動過程中所執行的一抹除操作重啟程序。於步驟S302的熔絲讀取(fuse read)步驟後,控制器108掃描一起始區塊(位址0)。步驟S304中,控制器108讀出該起始區塊之複數段的抹除標記位元。若判定該起始區塊有多於一段所對應的抹除標記位元已經偏離常設值(條件S306成立),流程進入步驟S308。步驟S308將一區塊抹除操作重啟,且該區塊抹除操 作係自數值已變動的抹除標記位元所標示的中斷程序重啟。在重啟之區塊抹除操作完成後,非揮發性記憶體106可以其他控制程序操作。Figure 3 is a flow chart illustrating an erase operation restart procedure performed by the controller 108 during power up. After the fuse read step of step S302, the controller 108 scans a start block (address 0). In step S304, the controller 108 reads out the erase flag bits of the plurality of segments of the start block. If it is determined that more than one segment of the erase flag bit corresponding to the start block has deviated from the standing value (condition S306 is established), the flow advances to step S308. Step S308, restarting a block erasing operation, and the block erasing operation The interrupt program restarted by the erase flag bit whose value has changed. After the block erase operation of the restart is completed, the non-volatile memory 106 can be operated by other control programs.

若判定該起始區塊內僅有一段的空間具有偏離該常設值的抹除標記位元(條件S310成立),流程進入步驟S312。步驟S312將一段抹除程序重啟,且該段抹除程序係自數值有變動的抹除標記位元所標示的中斷程序重啟。待重啟之段抹除操作完成,非揮發性記憶體106可以其他控制程序操作。If it is determined that only one segment of the space in the initial block has an erase flag bit deviating from the standing value (condition S310 is established), the flow advances to step S312. Step S312 restarts an erase program, and the erase program is restarted from the interrupt program indicated by the erase flag bit whose value is changed. The erasing operation to be restarted is completed, and the non-volatile memory 106 can be operated by other control programs.

若判定該起始區塊所有段的抹除標記位元皆維持在常設值(條件S314成立),流程進入步驟S316。步驟S316判斷該非揮發性記憶體106的所有區塊是否都被驗證過。步驟S318係設計來重新指示一位址以引導該控制器108讀取下一區塊,以再次進行步驟S304讀取該下一區塊內複數段之抹除標記位元。同樣地,根據條件S306、S310、S314何者成立,步驟S308、S312、S316擇一執行。一旦步驟S316判定非揮發性記憶體106所有區塊皆已被驗證過,控制器108判定非揮發性記憶體106可由其他控制程序操作。If it is determined that the erase flag bits of all the segments of the initial block are maintained at the permanent value (condition S314 is established), the flow advances to step S316. Step S316 determines whether all the blocks of the non-volatile memory 106 have been verified. Step S318 is designed to re-instruct the address of the address to direct the controller 108 to read the next block, to perform step S304 again to read the erase flag bit of the plurality of segments in the next block. Similarly, according to the conditions S306, S310, and S314, the steps S308, S312, and S316 are alternatively performed. Once it is determined in step S316 that all of the non-volatile memory 106 has been verified, the controller 108 determines that the non-volatile memory 106 can be operated by other control programs.

另有一種實施方式揭露一種非揮發性記憶體控制方法。一非揮發性記憶體係以複數個區塊作資料儲存,且各區塊劃分為複數段。該控制方法包括以下步驟:於各段之空間內配置抹除標記位元;且採用上述抹除標記位元紀錄操作於該非揮發性記憶體上的一抹除操作,以於有需求時重啟該抹除操作。Another embodiment discloses a non-volatile memory control method. A non-volatile memory system stores data in a plurality of blocks, and each block is divided into a plurality of blocks. The control method includes the steps of: configuring an erase mark bit in a space of each segment; and using the erase mark bit to record an erase operation on the non-volatile memory, to restart the wipe when needed In addition to the operation.

在某些實施方式中,所揭露之控制方法可於一段抹除 操作實行於一段之空間時改變該段之空間的抹除標記位元。或者,所揭露之控制方法可在一區塊抹除操作實行於一區塊上時改變該區塊中至少兩段之空間的抹除標記位元。在一抹除操作重啟過程中,若察覺所驗證的區塊中有多於一段之空間的抹除標記位元有變動,所揭露之控制方法可對驗證中的區塊重啟一區塊抹除操作。若判定驗證中的區塊僅有一段之空間的抹除標記位元有變動,所揭露之控制方法則對驗證中的區塊的該段之空間進行段抹除操作。在所述抹除操作重啟過程中,非揮發性記憶體中的複數個區塊可被一一驗證,直至偵測到變動過的抹除標記位元、或是直至該非揮發性記憶體所有區塊都驗證完畢。某些實施方式係以數種數值(如前述5種數值)設定抹除標記位元,以顯示一抹除操作(段或區塊抹除)的進度。In some embodiments, the disclosed control method can be erased in one segment An erase mark bit that changes the space of the segment when the operation is performed in a space. Alternatively, the disclosed control method may change the erase flag bits of the space of at least two of the blocks when a block erase operation is performed on a block. During an erase operation restart process, if it is detected that there is more than one erased mark bit in the verified block, the disclosed control method may restart a block erase operation on the verified block. . If it is determined that the erased mark bit of the block in the verification has only one space, the disclosed control method performs a segment erase operation on the space of the segment in the verified block. During the restart of the erase operation, a plurality of blocks in the non-volatile memory may be verified one by one until a changed erase mark bit is detected or until all areas of the non-volatile memory are detected. The blocks are verified. In some embodiments, the erase flag bits are set with a number of values (such as the five values described above) to show the progress of an erase operation (segment or block erase).

雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。While the present invention has been described in its preferred embodiments, the present invention is not intended to limit the invention, and the present invention may be modified and modified without departing from the spirit and scope of the invention. The scope of protection is subject to the definition of the scope of the patent application.

102‧‧‧資料儲存裝置102‧‧‧ data storage device

104‧‧‧主機104‧‧‧Host

106‧‧‧非揮發性記憶體106‧‧‧Non-volatile memory

108‧‧‧控制器108‧‧‧ Controller

BLK1、BLK2‧‧‧區塊BLK1, BLK2‧‧‧ blocks

Marker_Bits‧‧‧抹除標記位元Marker_Bits‧‧‧Erase Marker Bits

S202…S234‧‧‧步驟S202...S234‧‧‧Steps

S302…S318‧‧‧步驟S302...S318‧‧‧Steps

SEC1、SEC2…SECN‧‧‧段SEC1, SEC2...SECN‧‧‧

第1圖以方塊圖圖解根據本發明一種實施方式所實現的資料儲存裝置;第2A圖以及第2B圖以流程圖圖解控制器108如何執行段/區塊抹除操作;第3圖以流程圖圖解控制器108於電源啟動過程中所執行的抹除操作重啟程序。1 is a block diagram illustrating a data storage device implemented in accordance with an embodiment of the present invention; FIGS. 2A and 2B are a flow chart illustrating how the controller 108 performs a segment/block erase operation; FIG. 3 is a flowchart The erase controller restarts the program as illustrated by the controller 108 during power-up.

102‧‧‧資料儲存裝置102‧‧‧ data storage device

104‧‧‧主機104‧‧‧Host

106‧‧‧非揮發性記憶體106‧‧‧Non-volatile memory

108‧‧‧控制器108‧‧‧ Controller

BLK1、BLK2‧‧‧區塊BLK1, BLK2‧‧‧ blocks

Marker_Bits‧‧‧抹除標記位元Marker_Bits‧‧‧Erase Marker Bits

SEC1、SEC2…SECN‧‧‧段SEC1, SEC2...SECN‧‧‧

Claims (14)

一種資料儲存裝置,包括:一非揮發性記憶體,具有複數區塊作資料儲存,其中該等區塊各自更劃分為複數段;以及一控制器,於該等段分別配置抹除標記位元,以記錄施行於該非揮發性記憶體上的一抹除操作的進度,以供重啟該抹除操作用;其中,該抹除操作包括將上述抹除標記位元以不同數值標示的一前程式化程序、一抹除程序、一後程式化程序以及一更新程序。 A data storage device comprising: a non-volatile memory having a plurality of blocks for storing data, wherein each of the blocks is further divided into a plurality of segments; and a controller configured to respectively erase the flag bits in the segments And recording the progress of an erasing operation performed on the non-volatile memory for restarting the erasing operation; wherein the erasing operation comprises pre-programming the erasing flag bit with different numerical values Program, a wiper program, a post-programming program, and an update program. 如申請專利範圍第1項所述之資料儲存裝置,其中,在該抹除操作為一個段抹除操作的狀況下,該控制器係將該抹除操作施行於一目標抹除段上時改變該目標抹除段的上述抹除標記位元。 The data storage device of claim 1, wherein the controller changes the erasing operation when performing the erasing operation on a target erasing segment. The target erases the above erased flag bit of the segment. 如請專利範圍第1項所述之資料儲存裝置,其中,在該抹除操作為一個區塊抹除操作的狀況下,該控制器係將該抹除操作施行於一目標抹除區塊上時改變該目標抹除區塊內至少兩段所對應的上述抹除標記位元。 The data storage device of claim 1, wherein the controller performs the erasing operation on a target erasing block in a state in which the erasing operation is a block erasing operation. And changing the above-mentioned erasing flag bit corresponding to at least two segments in the target erasing block. 如申請專利範圍第3項所述之資料儲存裝置,其中:該控制器在一抹除操作重啟過程中對該等區塊進行驗證,於偵測到該等區塊中之一區塊內有數量多於一段所對應的上述抹除標記位元有變動時對該等區塊中之該一區塊重啟該區塊抹除操作。 The data storage device of claim 3, wherein: the controller verifies the blocks during an erase operation restart process, and detects the number of blocks in the blocks. When more than one segment of the corresponding erase flag bit is changed, the block erase operation is restarted for the one of the blocks. 如申請專利範圍第2項所述之資料儲存裝置,其中:該控制器在一抹除操作重啟過程中對該等區塊進行驗 證,於偵測到該等區塊中之一區塊內僅有單一段所對應的上述抹除標記位元有變動時對該單一段重啟該段抹除操作。 The data storage device of claim 2, wherein the controller performs the inspection of the blocks during an erase operation restart process. And verifying that the segment erase operation is restarted for the single segment when it is detected that only one of the erase flag bits corresponding to a single segment in one of the blocks is changed. 如申請專利範圍第4項或第5項所述之資料儲存裝置,其中:該控制器在該抹除操作重啟過程中一一驗證該非揮發性記憶體的該等區塊,直至偵測到變動過的抹除標記位元、或直至該非揮發性記憶體所有區塊皆驗證過。 The data storage device of claim 4, wherein the controller verifies the blocks of the non-volatile memory one by one during the restarting of the erasing operation until a change is detected. The erased mark bit is pasted, or until all blocks of the non-volatile memory have been verified. 如申請專利範圍第1項所述之資料儲存裝置,其中該控制器以多種數值設定上述抹除標記位元,上述多種數值為:一第一數值,標示一前程式化狀態;一第二數值,標示一抹除狀態;一第三數值,標示一後程式化狀態;一第四數值,標示一更新狀態;以及一第五數值,為上述抹除標記位元的常設值,標示一抹除完成狀態。 The data storage device of claim 1, wherein the controller sets the erasing marker bit by a plurality of values, wherein the plurality of values are: a first value indicating a pre-stylized state; and a second value Marking a erased state; a third value indicating a post-stylized state; a fourth value indicating an updated state; and a fifth value indicating a standing value of the erased mark bit, indicating a erase completion state . 一種非揮發性記憶體控制方法,所控制之非揮發性記憶體具有複數區塊供資料儲存用,且該等區塊各自更劃分為複數段,該非揮發性記憶體控制方法包括:於該等段分別配置抹除標記位元;且以上述抹除標記位元記錄施行於該非揮發性記憶體上的一抹除操作之進度,以供重啟該抹除操作用,其中,該抹除操作包括將上述抹除標記位元以不同數值標示的一前程式化程序、一抹除程序、一後程式化程序 以及一更新程序。 A non-volatile memory control method, wherein the controlled non-volatile memory has a plurality of blocks for data storage, and each of the blocks is further divided into a plurality of segments, and the non-volatile memory control method includes: Segments are respectively configured to erase the mark bit; and the erase mark bit records the progress of an erase operation performed on the non-volatile memory for restarting the erase operation, wherein the erase operation includes The above-mentioned erased mark bit is a pre-programming program, a eraser program, and a post-programming program indicated by different numerical values. And an update program. 如申請專利範圍第8項所述之非揮發性記憶體控制方法,更包括:在該抹除操作為一個段抹除操作的狀況下,於該抹除操作施行於一目標抹除段上時改變該目標抹除段的上述抹除標記位元。 The non-volatile memory control method of claim 8, further comprising: when the erasing operation is a segment erasing operation, when the erasing operation is performed on a target erasing segment The above erase flag bit of the target erase segment is changed. 如申請專利範圍第8項所述之非揮發性記憶體控制方法,更包括:在該抹除操作為一個區塊抹除操作的狀況下,於該抹除操作施行於一目標抹除區塊上時改變該目標抹除區塊中至少兩段的上述抹除標記位元。 The non-volatile memory control method of claim 8, further comprising: performing the erasing operation on a target erasing block in the case that the erasing operation is a block erasing operation; The above erased flag bit of at least two segments in the target erase block is changed. 如申請專利範圍第10項所述之非揮發性記憶體控制方法,更包括:在一抹除操作重啟過程中,若察覺所驗證的該等區塊中有一區塊中有數量多於一段所對應的上述抹除標記位元有變動,則對該等區塊中的該一區塊重啟該區塊抹除操作。 The non-volatile memory control method according to claim 10, further comprising: in the process of restarting the erasing operation, if it is perceived that one of the blocks in the verified block has more than one segment If the above erased flag bit changes, the block erase operation is restarted for the one of the blocks. 如申請專利範圍第9項所述之非揮發性記憶體控制方法,其中:在一抹除操作重啟過程中,對該等區塊進行驗證,若察覺所驗證的該等區塊中有一區塊中僅有單一段之上述抹除標記位元有變動時,對該單一段重啟該段抹除操作。 The non-volatile memory control method according to claim 9, wherein: during the erasing operation restarting, verifying the blocks, if it is perceived that there is a block in the blocks verified When there is only a single segment of the above erased flag bit, the segment erase operation is restarted for the single segment. 如申請專利範圍第11項或第12項所述之非揮發性記憶體控制方法,其中,在該抹除操作重啟過程中對該非揮發性記憶體的該等區塊一一作驗證,直至察覺有變動的上述抹除標記位元、或直至該非揮發性記憶體的該等區 塊皆驗證過。 The non-volatile memory control method according to claim 11 or 12, wherein the blocks of the non-volatile memory are verified one by one during the restarting of the erasing operation until the detection Varying the above erased mark bit, or up to the area of the non-volatile memory The blocks have been verified. 如申請專利範圍第8項所述之非揮發性記憶體控制方法,更包括:提供多種數值作上述抹除標記位元之設定,其中上述多種數值包括:一第一數值,標示一前程式化狀態;一第二數值,標示一抹除狀態;一第三數值,標示一後程式化狀態;一第四數值,標示一更新狀態;以及一第五數值,為常設值,標示一抹除完成狀態。 The non-volatile memory control method of claim 8, further comprising: providing a plurality of values for setting the erasing marker bit, wherein the plurality of values includes: a first value indicating a pre-stylization State; a second value indicating an erase state; a third value indicating a post-stylization state; a fourth value indicating an update state; and a fifth value being a standing value indicating a wipe completion state.
TW101136302A 2012-10-02 2012-10-02 Data storage device and control method for non-volatile memory TWI459203B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW101136302A TWI459203B (en) 2012-10-02 2012-10-02 Data storage device and control method for non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101136302A TWI459203B (en) 2012-10-02 2012-10-02 Data storage device and control method for non-volatile memory

Publications (2)

Publication Number Publication Date
TW201415224A TW201415224A (en) 2014-04-16
TWI459203B true TWI459203B (en) 2014-11-01

Family

ID=52388352

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101136302A TWI459203B (en) 2012-10-02 2012-10-02 Data storage device and control method for non-volatile memory

Country Status (1)

Country Link
TW (1) TWI459203B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443814B1 (en) 2021-05-27 2022-09-13 Winbond Electronics Corp. Memory structure with marker bit and operation method thereof
US11635913B2 (en) 2017-12-12 2023-04-25 Winbond Electronics Corp. NOR flash memory apparatus and recover and read method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
TW200816199A (en) * 2006-09-26 2008-04-01 Ite Tech Inc Control device for accelerating memory to execute iterant command
TW200951969A (en) * 2008-06-06 2009-12-16 Phison Electronics Corp Memory management method for non-volatile memory and controller using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
TW200816199A (en) * 2006-09-26 2008-04-01 Ite Tech Inc Control device for accelerating memory to execute iterant command
TW200951969A (en) * 2008-06-06 2009-12-16 Phison Electronics Corp Memory management method for non-volatile memory and controller using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635913B2 (en) 2017-12-12 2023-04-25 Winbond Electronics Corp. NOR flash memory apparatus and recover and read method thereof
US11443814B1 (en) 2021-05-27 2022-09-13 Winbond Electronics Corp. Memory structure with marker bit and operation method thereof

Also Published As

Publication number Publication date
TW201415224A (en) 2014-04-16

Similar Documents

Publication Publication Date Title
TWI546666B (en) Data storage device and flash memory control method
US9645894B2 (en) Data storage device and flash memory control method
CN103425597B (en) The block management method of data memory device and flash memory
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
TWI449049B (en) Non-volatile memory with dynamic multi-mode operation
JP5016027B2 (en) Nonvolatile memory system to calculate the final period
US20100199020A1 (en) Non-volatile memory subsystem and a memory controller therefor
CN105988722B (en) Data storage method and embedded system
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
JP4215746B2 (en) Information processing apparatus and life monitoring method
TW201411343A (en) Data storage device and control method for flash memory
TWI486957B (en) Method, device and operating system for processing, using a nand flash memory burn data
TW201526019A (en) Data storage device and data maintenance method thereof
US8127122B2 (en) Selection of boot drive in a computer system
JP2008504628A (en) Safe flushing
TWI459203B (en) Data storage device and control method for non-volatile memory
JP6789788B2 (en) Memory device, controller, host device, data processing system, control program, memory device operation method and host device operation method
US20170154681A1 (en) Memory control method and apparatus
JP2012212312A (en) Memory control device and memory control method
JP4488048B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
US8750043B2 (en) Data storage device and control method for non-volatile memory
US20170357461A1 (en) Data storage device and operating method thereof
JP2008117299A (en) Storage medium control apparatus
JP4826232B2 (en) Information processing apparatus and boot program rewriting method
US20160350191A1 (en) Memory management method, memory storage device and memory control circuit unit