TWI454907B - Flash memory device and operation method thereof - Google Patents

Flash memory device and operation method thereof Download PDF

Info

Publication number
TWI454907B
TWI454907B TW099130985A TW99130985A TWI454907B TW I454907 B TWI454907 B TW I454907B TW 099130985 A TW099130985 A TW 099130985A TW 99130985 A TW99130985 A TW 99130985A TW I454907 B TWI454907 B TW I454907B
Authority
TW
Taiwan
Prior art keywords
data
flash memory
latest
operation record
controller
Prior art date
Application number
TW099130985A
Other languages
Chinese (zh)
Other versions
TW201211763A (en
Inventor
Liang Chen
Chen Xiu
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Priority to TW099130985A priority Critical patent/TWI454907B/en
Publication of TW201211763A publication Critical patent/TW201211763A/en
Application granted granted Critical
Publication of TWI454907B publication Critical patent/TWI454907B/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

記憶裝置及其運作方法Memory device and its operation method

本發明係有關於快閃記憶體,特別是有關於快閃記憶體之位址對應表(address mapping table)。The present invention relates to flash memory, and more particularly to an address mapping table for flash memory.

一般的快閃記憶裝置包含一快閃記憶體(flash memory)及一控制器,為一主機儲存資料。控制器作為主機與快閃記憶體之間的溝通介面。當主機欲儲存資料至快閃記憶裝置時,控制器接收主機發出的寫入命令及寫入資料,再依據寫入命令將寫入資料儲存至快閃記憶體。當主機欲由快閃記憶裝置讀取資料時,控制器接收主機發出的讀取命令,再依據讀取命令自快閃記憶體讀取讀出資料後傳送回主機。A typical flash memory device includes a flash memory and a controller for storing data for a host. The controller acts as a communication interface between the host and the flash memory. When the host wants to store data to the flash memory device, the controller receives the write command and the write data sent by the host, and then stores the write data to the flash memory according to the write command. When the host wants to read data from the flash memory device, the controller receives the read command issued by the host, and then reads the read data from the flash memory according to the read command and transmits it to the host.

當主機存取快閃記憶裝置的資料時,主機係以邏輯位址(logical address)指涉其存取的資料。然而,快閃記憶體係以自身的實體位址(physical address)存取資料。因此,控制器在依據主機發出的邏輯位址存取快閃記憶體之資料時,必須將邏輯位址轉換為實體位址。因此,控制器必須以一位址對應表(address mapping table)儲存邏輯位址與實體位址的對應關係,以作為邏輯位址與實體位址間的轉換依據。When the host accesses the data of the flash memory device, the host refers to the data accessed by the host with a logical address. However, the flash memory system accesses data at its own physical address. Therefore, when the controller accesses the data of the flash memory according to the logical address issued by the host, the controller must convert the logical address into a physical address. Therefore, the controller must store the correspondence between the logical address and the physical address in an address mapping table as a basis for conversion between the logical address and the physical address.

第1圖顯示紀錄邏輯位址與實體位址的對應關係的一位址對應表。依據位址對應表,邏輯位址X1 對應至Y1 ,邏輯位址X2 對應至Y2 ,而邏輯位址XZ 對應至Yz。由於位址對應表紀錄了快閃記憶體之所有實體位址Y1 ~YZ 與邏輯位址的對應關係,因此控制器可依據位址對應表進行邏輯位址與實體位址間的轉換。Figure 1 shows an address correspondence table for recording the correspondence between logical addresses and physical addresses. According to the address correspondence table, the logical address X 1 corresponds to Y 1 , the logical address X 2 corresponds to Y 2 , and the logical address X Z corresponds to Yz. Since the address correspondence table records the correspondence between all physical addresses Y 1 ~Y Z of the flash memory and the logical address, the controller can perform conversion between the logical address and the physical address according to the address correspondence table.

一般而言,控制器係於其所包含的隨機存取記憶體(DRAM)中儲存位址對應表。由於隨機存取記憶體在不供電狀態下無法儲存資料,因此當快閃記憶裝置之電源拔除前必須先將隨機存取記憶體中儲存的位址對應表存入快閃記憶體中。當快閃記憶裝置重新上電時,控制器再將快閃記憶體中儲存的位址對應表載入隨機存取記憶體,以供控制器進行邏輯位址與實體位址間的轉換。In general, the controller stores an address correspondence table in a random access memory (DRAM) included therein. Since the random access memory cannot store data in the unpowered state, the address correspondence table stored in the random access memory must be stored in the flash memory before the power of the flash memory device is removed. When the flash memory device is powered on again, the controller loads the address correspondence table stored in the flash memory into the random access memory for the controller to perform conversion between the logical address and the physical address.

然而,當快閃記憶裝置之電源突然中斷時,由於位址對應表的資料量龐大,控制器沒有充足的時間將隨機存取記憶體中儲存的位址對應表存入快閃記憶體中。當快閃記憶裝置重新上電時,控制器便無法自快閃記憶體中讀出位址對應表以載入隨機存取記憶體。因此,當快閃記憶裝置之電源突然中斷後,由於缺乏位址對應表,控制器便無法進行邏輯位址與實體位址間的轉換。However, when the power of the flash memory device is suddenly interrupted, the controller does not have sufficient time to store the address correspondence table stored in the random access memory in the flash memory due to the large amount of data in the address correspondence table. When the flash memory device is powered back on, the controller cannot read the address correspondence table from the flash memory to load the random access memory. Therefore, when the power of the flash memory device is suddenly interrupted, the controller cannot perform conversion between the logical address and the physical address due to the lack of the address correspondence table.

在習知技術中,預防突然斷電狀況的一種方法是將每個邏輯位址備份于快閃記憶體之對應物理存儲單元中,例如是一物理頁(physical page)的空餘空間中,當快閃記憶裝置重新上電時,掃描所有快閃記憶體的物理存儲單元的空餘空間以重建整個位址對應表,此種方法會消費較長時間來重建位址對應表,這是正常的系統啟動時間所不允許的。另外一種方法是在快閃記憶裝置中設置多個大容量電容,以在突然斷電時保持為快閃記憶裝置供電使得控制器有充足的時間將隨機存取記憶體中儲存的位址對應表存入快閃記憶體中,但此種方法會導致系統電源消耗增大且會導致快閃記憶裝置的物理體積增大。In the prior art, one method for preventing a sudden power failure condition is to back up each logical address in a corresponding physical storage unit of the flash memory, for example, in a free space of a physical page, when fast When the flash memory device is powered on again, the free space of the physical storage unit of all the flash memory is scanned to reconstruct the entire address correspondence table. This method takes a long time to reconstruct the address correspondence table, which is a normal system startup. Time is not allowed. Another method is to set a plurality of large-capacity capacitors in the flash memory device to keep the power supply for the flash memory device when the power is suddenly turned off, so that the controller has sufficient time to store the address correspondence table stored in the random access memory. It is stored in the flash memory, but this method will lead to an increase in system power consumption and will result in an increase in the physical volume of the flash memory device.

因此,本發明提出一種快閃記憶裝置之運作方法,可以預先將控制器之隨機存取記憶體中儲存的位址對應表備份至快閃記憶體中,既能預防突然斷電的狀況,并能克服習知技術的上述缺陷。Therefore, the present invention provides a method for operating a flash memory device, which can pre-store the address correspondence table stored in the random access memory of the controller into the flash memory, thereby preventing the sudden power-off condition, and The above drawbacks of the prior art can be overcome.

有鑑於此,本發明之目的在於提供一種記憶裝置之運作方法,以解決習知技術存在之問題。於一實施例中,該記憶裝置包含一控制器、一記憶體、以及一快閃記憶體(flash memory)。首先,將該記憶體中儲存的一位址對應表(mapping table)分割為多個對應分表(mapping table unit)。接著,更新該等對應分表中紀錄的該快閃記憶體之邏輯位址與實體位址之對應關係。接著,檢查該控制器對該快閃記憶體之存取動作是否符合一第一特定條件。每當該控制器對該快閃記憶體之存取動作符合該第一特定條件時,自該等對應分表中依序選取一目前對應分表,並於該快閃記憶體中紀錄該目前對應分表及所對應之時間戳(time stamp)為一對應分表資料。In view of the above, it is an object of the present invention to provide a method of operating a memory device to solve the problems of the prior art. In one embodiment, the memory device includes a controller, a memory, and a flash memory. First, the address mapping table stored in the memory is divided into a plurality of mapping table units. Then, the correspondence between the logical address of the flash memory and the physical address recorded in the corresponding partial table is updated. Next, it is checked whether the access action of the controller to the flash memory conforms to a first specific condition. Whenever the access action of the controller to the flash memory meets the first specific condition, a current corresponding sub-table is sequentially selected from the corresponding sub-tables, and the current record is recorded in the flash memory. The corresponding sub-table and the corresponding time stamp are a corresponding sub-table data.

本發明更提供一種記憶裝置。於一實施例中,該記憶裝置包括一快閃記憶體(flash memory)、一記憶體、以及一控制器。該快閃記憶體供資料儲存。該記憶體儲存一位址對應表(mapping table)。該控制器將該位址對應表(mapping table)分割為多個對應分表(mapping table unit),更新該等對應分表中紀錄的該快閃記憶體之邏輯位址與實體位址之對應關係,檢查該控制器對該快閃記憶體之存取動作是否符合一第一特定條件,以及每當該控制器對該快閃記憶體之存取動作符合該第一特定條件時,自該等對應分表中依序選取一目前對應分表,並於該快閃記憶體中紀錄該目前對應分表及所對應之時間戳(time stamp)為一對應分表資料。The invention further provides a memory device. In one embodiment, the memory device includes a flash memory, a memory, and a controller. The flash memory is for data storage. The memory stores a bitmap mapping table. The controller divides the mapping table into a plurality of mapping table units, and updates the correspondence between the logical addresses of the flash memory and the physical addresses recorded in the corresponding sub-tables. a relationship, checking whether the controller accesses the flash memory conforms to a first specific condition, and whenever the controller accesses the flash memory to meet the first specific condition, A corresponding corresponding sub-table is sequentially selected in the corresponding sub-table, and the current corresponding sub-table and the corresponding time stamp are recorded in the flash memory as a corresponding sub-table data.

為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:The above and other objects, features, and advantages of the present invention will become more apparent and understood.

第2圖係依據本發明之位址對應表(address mapping table)200的示意圖。快閃記憶裝置之控制器包含一記憶體。此記憶體通常為隨機存取記憶體(DRAM)。位址對應表200被分割為多個對應分表(mapping table units)201~20K,分別儲存於控制器之記憶體中。各對應分表201~20K均儲存一定數量的邏輯位址與實體位址的對應關係。於一實施例中,對應分表201~20K各儲存一特定邏輯位址範圍的對應關係。例如對應分表201儲存邏輯位址範圍XA1 ~XAn 的對應關係,而對應分表202儲存邏輯位址範圍XB1 ~XBn 的對應關係。於另一實施例中,對應分表201~20K各儲存一特定實體位址範圍的對應關係。例如對應分表201儲存實體位址範圍YA1 ~YAn 的對應關係,而對應分表202儲存實體位址範圍YB1 ~YBn 的對應關係。由於對應分表201~20K組合起來仍為完整的位址對應表200,因此控制器仍可依據位址對應表200進行邏輯位址與實體位址間的轉換,不受對應分表201~20K分開儲存的影響。2 is a schematic diagram of an address mapping table 200 in accordance with the present invention. The controller of the flash memory device includes a memory. This memory is usually random access memory (DRAM). The address correspondence table 200 is divided into a plurality of mapping table units 201 to 20K, which are respectively stored in the memory of the controller. Each corresponding sub-table 201~20K stores a corresponding relationship between a certain number of logical addresses and physical addresses. In an embodiment, the corresponding sub-tables 201-20K each store a correspondence of a specific logical address range. For example, the corresponding sub-table 201 stores the correspondence relationship of the logical address ranges X A1 to X An , and the corresponding sub-table 202 stores the correspondence relationship of the logical address ranges X B1 to X Bn . In another embodiment, the corresponding sub-tables 201-20K each store a correspondence relationship of a specific entity address range. For example, the corresponding part table 201 stores the correspondence relationship of the entity address ranges Y A1 ~Y An , and the corresponding part table 202 stores the correspondence relationship of the entity address ranges Y B1 ~Y Bn . Since the corresponding sub-tables 201~20K are still combined into the complete address correspondence table 200, the controller can still perform conversion between the logical address and the physical address according to the address correspondence table 200, and is not subject to the corresponding sub-table 201~20K. The effect of separate storage.

第3圖為依據本發明之快閃記憶裝置300的區塊圖。於一實施例中,快閃記憶裝置300包括一控制器302及一快閃記憶體304。控制器302包括一記憶體310。於一實施例中,記憶體310為隨機存取記憶體(DRAM)。在另一實施例中,記憶體310也可設置於控制器302外部,為獨立於控制器302的部件。記憶體310儲存K個對應分表311~31K,該等對應分表311~31K分別儲存一定數量的邏輯位址與實體位址的對應關係。該等對應分表311~31K組合起來為完整的位址對應表330。記憶體310更包括一操作記錄緩衝器320,用以儲存控制器302對快閃記憶體304的存取操作對整個位址對應表330中邏輯位址與實體位址之對應關係造成之改變,即儲存對位址對應表330的操作記錄(Operation Record)之資料。於一實施例中,各對應分表311~31K及操作記錄緩衝器320的儲存空間均佔用記憶體310之一邏輯頁(logic page)的儲存空間。Figure 3 is a block diagram of a flash memory device 300 in accordance with the present invention. In one embodiment, the flash memory device 300 includes a controller 302 and a flash memory 304. Controller 302 includes a memory 310. In one embodiment, the memory 310 is a random access memory (DRAM). In another embodiment, the memory 310 can also be disposed external to the controller 302 as a separate component of the controller 302. The memory 310 stores K corresponding sub-tables 311~31K, and the corresponding sub-tables 311~31K respectively store a corresponding relationship between a certain number of logical addresses and physical addresses. The corresponding sub-tables 311 to 31K are combined into a complete address correspondence table 330. The memory 310 further includes an operation record buffer 320 for storing a change in the correspondence between the logical address and the physical address in the entire address correspondence table 330 by the access operation of the controller 302 to the flash memory 304. That is, the information of the operation record (Operation Record) of the address correspondence table 330 is stored. In one embodiment, the storage space of each of the corresponding sub-tables 311 to 31K and the operation record buffer 320 occupies a storage space of one of the logic pages of the memory 310.

當控制器302對快閃記憶體304進行資料存取時,控制器302會將於一特定時間間隔內對整個位址對應表330的操作記錄儲存於操作記錄緩衝器320中,由於快閃記憶體304必須先擦除後寫入,控制器302對快閃記憶體304進行資料存取時會附帶改變被存取之資料的邏輯位址與實體位址的對應關係,因此控制器302將一特定時間間隔內整個位址對應表330中改變的邏輯位址與實體位址的對應關係,即操作記錄(Operation Record)儲存於操作記錄緩衝器320,并更新相關的對應分表311~31K中邏輯位址與實體位址的對應關係。於一實施例中,記憶體310為隨機存取記憶體(DRAM),其儲存內容可隨時更新,因此對應分表311~31K所在的邏輯頁可為K個邏輯頁位址(logic page ID)連續的邏輯頁。另外,控制器302會持續監測其對快閃記憶體304的存取操作是否符合一特定條件。於一實施例中,該特定條件可為控制器302對快閃記憶體304累計已存取一固定的資料量,或是每經過一段固定時間。每當符合該特定條件時,控制器302便將記憶體310中儲存的對應分表311~31K其中之一及目前的時間戳寫入快閃記憶體304進而產生對應分表資料。另外,每當符合該特定條件時,控制器302便將操作記錄緩衝器320中儲存的操作記錄及目前的時間戳寫入快閃記憶體304進而產生對應操作記錄資料。前述“特定時間間隔”是指相鄰兩次符合該特定條件之間的時間間隔。於一實施例中,於快閃記憶體304中,每個對應分表資料及每筆操作記錄資料皆分別佔用該快閃記憶體之一資料頁(page)的儲存空間,且對應相同的時間戳的對應分表資料及操作記錄資料被儲存於位址相差一段固定值的資料頁中。於另一實施例中,控制器302將操作記錄資料寫入快閃記憶體304的特定條件可與將對應分表資料寫入快閃記憶體304的特定條件不同,以使對應分表311~31K及操作記錄資料儲存於快閃記憶體304的頻率不同。When the controller 302 performs data access to the flash memory 304, the controller 302 stores the operation record of the entire address correspondence table 330 in the operation record buffer 320 in a specific time interval due to the flash memory. The body 304 must be erased and then written. When the controller 302 performs data access to the flash memory 304, the corresponding relationship between the logical address of the accessed data and the physical address is changed, so the controller 302 will The correspondence between the changed logical address and the physical address in the entire address correspondence table 330 in a specific time interval, that is, the operation record is stored in the operation record buffer 320, and the related corresponding sub-tables 311 to 31K are updated. The correspondence between the logical address and the physical address. In one embodiment, the memory 310 is a random access memory (DRAM), and the stored content can be updated at any time. Therefore, the logical page corresponding to the sub-tables 311 to 31K can be K logical page addresses. Continuous logical page. In addition, the controller 302 continuously monitors whether its access operation to the flash memory 304 conforms to a particular condition. In an embodiment, the specific condition may be that the controller 302 accumulates a fixed amount of data for the flash memory 304, or each fixed period of time. Whenever the specific condition is met, the controller 302 writes one of the corresponding sub-tables 311~31K stored in the memory 310 and the current time stamp into the flash memory 304 to generate corresponding sub-table data. In addition, each time the specific condition is met, the controller 302 writes the operation record stored in the operation record buffer 320 and the current time stamp to the flash memory 304 to generate corresponding operation record data. The aforementioned "specific time interval" refers to the time interval between two adjacent conditions that meet the specific condition. In an embodiment, in the flash memory 304, each corresponding sub-table data and each operation record data respectively occupy a storage space of one of the flash memory pages, and corresponding to the same time. The corresponding sub-table data and operation record data of the stamp are stored in a data page whose addresses differ by a fixed value. In another embodiment, the specific condition that the controller 302 writes the operation record data into the flash memory 304 may be different from the specific condition that the corresponding part table data is written into the flash memory 304, so that the corresponding table 311~ The 31K and the operation log data are stored in the flash memory 304 at different frequencies.

舉例來說,於時點T1 ,控制器302對快閃記憶體304累計存取資料量已符合特定條件,因此控制器302先將對應分表311之資料及時間戳T1 儲存至快閃記憶體304,而產生對應分表資料351,再將操作記錄緩衝器320儲存之操作記錄及時間戳T1 儲存至快閃記憶體304,而產生對應操作記錄資料361。於時點T2 ,控制器302對快閃記憶體304累計存取資料量再次符合特定條件,因此控制器302先將對應分表312之資料及時間戳T2 儲存至快閃記憶體304而產生對應分表資料352,再將操作記錄緩衝器320儲存之操作記錄及時間戳T2 儲存至快閃記憶體304,而產生對應操作記錄資料362,請注意在本實施例中,操作記錄資料362是特定時間間隔內,即時點T1 至時點T2 之間對整個位址對應表330的操作記錄。接著,於時點T3 ,控制器302對快閃記憶體304累計存取資料量再次符合特定條件,因此控制器302先將對應分表313之資料及時間戳T3 儲存至快閃記憶體304而產生對應分表資料353,再將操作記錄緩衝器320儲存之操作記錄及時間戳T3 儲存至快閃記憶體304,而產生對應操作記錄資料363。如此流程持續,直到於時點TK ,控制器302先將對應分表31K之資料及時間戳TK 儲存至快閃記憶體304而產生對應分表資料35K,再將操作記錄緩衝器320儲存之操作記錄及時間戳TK 儲存至快閃記憶體304,而產生對應操作記錄資料36K。此時所有的對應分表311~31K之資料均被寫入快閃記憶體304為對應分表資料351~35K。接著,於時點TK+1 ,控制器302對快閃記憶體304累計存取資料量再次符合特定條件,因此控制器302再次將對應分表311之資料及時間戳TK+1 儲存至快閃記憶體304而產生對應分表資料35(K+1),再將操作記錄緩衝器320儲存之操作記錄及時間戳TK+1 儲存至快閃記憶體304,而產生對應操作記錄資料35(K+1)。由於對應分表資料35(K+1)及對應分表資料351均係對應分表311之資料,但對應分表資料35(K+1)的時間戳TK+1 較對應分表資料351的時間戳T1 為遲,因此對應分表資料35(K+1)的資料較新,而取代了對應分表資料351的地位。被取代的對應分表資料351則成為無效(invalid)資料。於一實施例中,對應分表資料351~35K在快閃記憶體304中是按照對應分表311-31K在記憶體310中的邏輯頁位址(logic page ID)來順序存放的,因此當再次產生對應分表311所對應的對應分表資料35(K+1)時,對應分表資料35(K+1)的邏輯頁位址與對應分表資料351的邏輯頁位址相同,而其時間戳TK+1 較對應分表資料351的時間戳T1 為遲,因此可将對應分表資料351標示为無效(invalid)。此時快閃記憶體304中保存的對應分表資料352~35(K+1)構成一完整的位址對應表的備份。此外,由於與對應分表資料351具有相同時間戳T1 的操作記錄資料361所記錄的操作記錄已更新于對應分表資料352~35(K+1)中,因此操作記錄資料361也成為無效資料,也可標示为無效。For example, at time T 1 , the controller 302 accumulates the amount of access data to the flash memory 304 to meet certain conditions, so the controller 302 first stores the data of the corresponding sub-table 311 and the time stamp T 1 to the flash memory. The body 304 generates the corresponding part table data 351, and stores the operation record and the time stamp T 1 stored in the operation record buffer 320 to the flash memory 304 to generate the corresponding operation record data 361. At time T 2 , the controller 302 accumulates the access data amount to the flash memory 304 again to meet the specific condition, so the controller 302 first stores the data of the corresponding sub-table 312 and the time stamp T 2 to the flash memory 304 to generate Corresponding to the sub-table data 352, the operation record and the time stamp T 2 stored in the operation record buffer 320 are stored in the flash memory 304, and the corresponding operation record data 362 is generated. Please note that in the embodiment, the operation record data 362 is operated. It is an operation record of the entire address correspondence table 330 between the instant point T 1 and the time point T 2 in a specific time interval. Then, at time point T 3 , the controller 302 accumulates the access data amount to the flash memory 304 again to meet the specific condition, so the controller 302 first stores the data of the corresponding sub-table 313 and the time stamp T 3 to the flash memory 304. The corresponding part table data 353 is generated, and the operation record and the time stamp T 3 stored in the operation record buffer 320 are stored in the flash memory 304, and the corresponding operation record data 363 is generated. The process continues until the time point T K , the controller 302 first stores the data of the corresponding sub-table 31K and the time stamp T K to the flash memory 304 to generate the corresponding sub-list data 35K, and then stores the operation record buffer 320. The operation record and time stamp T K are stored in the flash memory 304, and the corresponding operation log data 36K is generated. At this time, all the corresponding sub-tables 311~31K are written into the flash memory 304 as the corresponding sub-table data 351~35K. Then, at time point T K+1 , the controller 302 accumulates the access data amount to the flash memory 304 again to meet the specific condition, so the controller 302 again stores the data of the corresponding sub-table 311 and the time stamp T K+1 to the fast. The flash memory 304 generates the corresponding part table data 35 (K+1), and then stores the operation record and the time stamp T K+1 stored in the operation record buffer 320 to the flash memory 304 to generate the corresponding operation record data 35. (K+1). Since the corresponding sub-list data 35 (K+1) and the corresponding sub-table data 351 are the data corresponding to the sub-table 311, the time stamp T K+1 of the corresponding sub-table data 35 (K+1) is more corresponding to the sub-table data 351 The time stamp T 1 is late, so the corresponding data of the sub-table data 35 (K+1) is newer, and the position of the corresponding sub-table data 351 is replaced. The replaced corresponding sub-list data 351 becomes invalid data. In an embodiment, the corresponding sub-table data 351~35K are sequentially stored in the flash memory 304 according to the logical page ID of the corresponding sub-tables 311-31K in the memory 310, so When the corresponding part table data 35(K+1) corresponding to the part table 311 is generated again, the logical page address of the corresponding part table data 35 (K+1) is the same as the logical page address of the corresponding part table material 351, and The time stamp T K+1 is later than the time stamp T 1 of the corresponding part table data 351, so the corresponding part table data 351 can be marked as invalid. At this time, the corresponding sub-table data 352~35(K+1) stored in the flash memory 304 constitutes a backup of a complete address correspondence table. Further, since the part table data corresponding to 351 have the same time stamp data T operation recording operation of the record 3611 has been updated in the corresponding part table data 352 ~ 35 (K + 1) , and therefore the operation record information 361 also becomes invalid Information can also be marked as invalid.

第4圖為依據本發明之儲存對應分表至快閃記憶體的方法400的流程圖。首先,控制器302將記憶體310中儲存的位址對應表330分割為多個對應分表311~31K(步驟402)。接著,控制器302隨時間經過而更新該等對應分表311~31K中紀錄的邏輯位址與實體位址之對應關係(步驟404)。接著,控制器302於記憶體310之操作記錄緩衝器320中紀錄控制器302對快閃記憶體304之存取操作對整個位址對應表330中邏輯位址與實體位址之對應關係造成之改變,即儲存對位址對應表330的操作記錄(Operation Record)之資料(步驟406)。接著,控制器302檢查是否其對快閃記憶體304之資料存取符合一特定條件(步驟408)。由於每當控制器302將快閃記憶體304之一區塊(block)寫滿資料,控制器302便會由快閃記憶體304的一空白區(free block area)取得一空白區塊(free block)供儲存新資料之用,因此控制器302自快閃記憶體304新取得空白區塊可間接表示控制器302對快閃記憶體304之累計存取資料量達到一區塊之資料量。因此,於一實施例中,步驟408之特定條件為檢查是否控制器302自快閃記憶體304新取得一空白區塊。於其它實施例中,該特定條件還可以是每經過一段固定時間,該固定時間的長短決定備份位址對應表330至快閃記憶體304之頻率,在產業實作中,該頻率可綜合考量系統啟動時間(system boot up time)和寫入頻寬消耗(write bandwidth consume)而定:該頻率越高,佔用快閃記憶體304的寫入頻寬消耗越大,但同時由於時間間隔縮短,對位址對應表330的操作記錄的資料量會變小,因此斷電后重建位址對應表的速度會加快,因此再上電時系統啟動時間會變短。因此該頻率可以由系統設計者根據系統性能要求來確定。4 is a flow diagram of a method 400 of storing a corresponding sub-table to flash memory in accordance with the present invention. First, the controller 302 divides the address correspondence table 330 stored in the memory 310 into a plurality of corresponding sub-tables 311 to 31K (step 402). Next, the controller 302 updates the correspondence between the logical address and the physical address recorded in the corresponding sub-tables 311 to 31K as time passes (step 404). Then, the controller 302 records in the operation record buffer 320 of the memory 310 that the access operation of the controller 302 to the flash memory 304 is caused by the correspondence between the logical address and the physical address in the entire address correspondence table 330. The data is changed, that is, the information of the operation record (Operation Record) of the address correspondence table 330 is stored (step 406). Next, the controller 302 checks if its data access to the flash memory 304 conforms to a particular condition (step 408). Since each time the controller 302 writes a block of the flash memory 304 to the data, the controller 302 obtains a blank block from a free block area of the flash memory 304 (free The block 302 is used for storing new data. Therefore, the controller 302 newly obtains a blank block from the flash memory 304 to indirectly indicate that the accumulated access data amount of the controller 302 to the flash memory 304 reaches a data amount of one block. Therefore, in an embodiment, the specific condition of step 408 is to check if the controller 302 newly acquires a blank block from the flash memory 304. In other embodiments, the specific condition may be that the length of the fixed time determines the frequency of the backup address correspondence table 330 to the flash memory 304 every time a fixed period of time is passed. In an industrial implementation, the frequency may be comprehensively considered. Depending on the system boot up time and the write bandwidth consumption: the higher the frequency, the greater the write bandwidth consumption of the flash memory 304, but at the same time, due to the shortened time interval. The amount of data recorded in the operation of the address correspondence table 330 becomes small, so that the speed of rebuilding the address correspondence table after the power is turned off is accelerated, so that the system startup time becomes shorter when the power is turned on again. This frequency can therefore be determined by the system designer based on system performance requirements.

每當特定條件成就,則控制器302自對應分表311~31K中選取一目前對應分表(步驟410),並於快閃記憶體304中紀錄該目前對應分表之資料及對應之時間戳(步驟412)。於一實施例中,為避免於紀錄該目前對應分表之資料至快閃記憶體304中的同時,控制器302因執行主機的存取命令而對目前對應分表中紀錄的位址對應資料進行更動,控制器302在記憶體310中為對應分表311~31K中每個對應分表配置至少兩個邏輯頁(logic page)的儲存空間,以實現乒乓操作(Ping-Pong buffering),即當一個邏輯頁的位址對應資料寫入快閃記憶體304時,另一邏輯頁同時接收新的位址對應資料。此外,每當特定條件成就,則控制器302於快閃記憶體304中紀錄操作記錄緩衝器320中儲存之操作記錄資料及對應之時間戳(步驟414),於一實施例中,由於當該特定條件成就時,將操作記錄資料寫入快閃記憶體304的同時,亦可能發生須將新的操作記錄儲存於操作記錄緩衝器320的動作,因此為了避免操作記錄緩衝器320中尚未寫入快閃記憶體304中的操作記錄資料被新的操作記錄資料覆蓋,本發明的另一實施例在記憶體310中為操作記錄緩衝器320配置至少兩個邏輯頁(logic page)的儲存空間,以實現乒乓操作(Ping-Pong buffering),即當一個邏輯頁的操作記錄資料寫入快閃記憶體304時,另一邏輯頁同時接收新的操作記錄資料。由於每次特定條件成就,控制器302僅儲存K個對應分表中的一個對應分表之資料至快閃記憶體304,因此並不會過度影響存取快閃記憶體304的頻寬,亦不會造成主機存取命令之執行上的過長延遲。Whenever a certain condition is achieved, the controller 302 selects a current corresponding sub-table from the corresponding sub-tables 311 to 31K (step 410), and records the current corresponding sub-table data and the corresponding time stamp in the flash memory 304. (Step 412). In an embodiment, in order to avoid recording the data of the current corresponding part table into the flash memory 304, the controller 302 performs the address corresponding to the record in the current corresponding sub-table by executing the access command of the host. To perform the change, the controller 302 configures at least two logical page storage spaces in the memory 310 for each corresponding sub-table of the corresponding sub-tables 311 to 31K to implement Ping-Pong buffering, that is, When the address corresponding to one logical page is written to the flash memory 304, the other logical page simultaneously receives the new address corresponding data. In addition, the controller 302 records the operation record data stored in the operation record buffer 320 and the corresponding time stamp in the flash memory 304 whenever the specific condition is achieved (step 414). In an embodiment, When the specific condition is achieved, the operation record data is written into the flash memory 304, and an action of storing the new operation record in the operation record buffer 320 may occur, so that the operation record buffer 320 is not yet written. The operation record data in the flash memory 304 is overwritten by the new operation record data. Another embodiment of the present invention configures at least two logic page storage spaces for the operation record buffer 320 in the memory 310. To implement Ping-Pong buffering, that is, when the operation record data of one logical page is written into the flash memory 304, another logical page simultaneously receives the new operation record data. Because each time a certain condition is achieved, the controller 302 only stores the data of one of the K corresponding sub-tables to the flash memory 304, so that the bandwidth of the access flash memory 304 is not excessively affected. It does not cause excessive delays in the execution of host access commands.

第5圖為依據本發明之依據快閃記憶體中儲存之對應分表資料重建一最新位址對應表的方法500之流程圖。首先,假設快閃記憶裝置300突然斷電後重新上電(步驟502)。接著,控制器302自快閃記憶體304讀取對應於多個相對最晚時間戳的多個對應分表資料(步驟504)。於一實施例中,執行步驟504的具體步驟為:控制器302比較紀錄相同對應分表的不同資料之時間戳,並將具有相對最晚時間戳的不同對應分表資料分別讀出。舉例來說,於第3圖的快閃記憶體304中對應分表資料351及35(K+1)均係儲存對應分表1的資料,而因為對應分表資料35(K+1)具有相對最晚的時間戳TK+1 ,因此對應分表資料35(K+1)被控制器302讀出。另外,於快閃記憶體304中對應分表資料352及35(K+2)均係儲存對應分表2的資料,而因為對應分表資料35(K+2)具有相對最晚的時間戳TK+2 ,因此對應分表資料35(K+2)被控制器302讀出。因此,控制器302總共自快閃記憶體304讀出對應分表資料353~35(K+2)。於另一實施例中,由於對應分表資料351~35(K+2)在快閃記憶體304中是按照對應分表311-31K在記憶體310中的邏輯頁位址(logic page ID)來順序存放的,此時執行步驟504的具體步驟為:首先定位出具有絕對最晚時間戳的對應分表資料,將該具有絕對最晚時間戳的對應分表資料及其之前存儲的數個對應分表資料分別讀出,其中總共讀出的對應分表資料的個數等於對應分表的個數。舉例來說,於第3圖的快閃記憶體304中對應分表資料35(K+2)具有所有對應分表資料351~35(K+2)中絕對最晚的時間戳TK+2 ,因此控制器302將對應分表資料35(K+2)讀出,而由於記憶體310中儲存的對應分表共K個,因此還一併將對應分表資料35(K+2)之前存儲的(K-1)個對應分表資料也分別讀出,即總共讀出包括對應分表資料35(K+2)在內的連續儲存的共K個對應分表資料。由於對應分表資料在快閃記憶體304中存儲的順序是按照對應分表311-31K在記憶體310中的邏輯頁位址(logic page ID)來順序存放的,因此對應分表資料35(K+2)與之間存儲的總共K個對應分表資料,即353~35(K+2),為多個最新的對應分表資料。FIG. 5 is a flow chart of a method 500 for reconstructing a new address correspondence table according to the corresponding partial data stored in the flash memory according to the present invention. First, assume that the flash memory device 300 is powered off and then powered back on (step 502). Next, the controller 302 reads a plurality of corresponding part table data corresponding to the plurality of relatively latest time stamps from the flash memory 304 (step 504). In an embodiment, the specific step of performing step 504 is: the controller 302 compares time stamps of different materials that record the same corresponding sub-tables, and reads different corresponding sub-list data having relatively late time stamps. For example, in the flash memory 304 of FIG. 3, the corresponding sub-table data 351 and 35 (K+1) store the data corresponding to the sub-table 1, and the corresponding sub-list data 35 (K+1) has The relatively late time stamp T K+1 , so the corresponding part table data 35 (K+1) is read by the controller 302. In addition, in the flash memory 304, the corresponding sub-table data 352 and 35 (K+2) store the data corresponding to the sub-table 2, and the corresponding sub-list data 35 (K+2) has a relatively late time stamp. T K+2 , so the corresponding part table data 35 (K+2) is read by the controller 302. Therefore, the controller 302 reads out the corresponding sub-table data 353-35 (K+2) from the flash memory 304 in total. In another embodiment, since the corresponding part table data 351~35(K+2) is in the flash memory 304, the logical page ID in the memory 310 according to the corresponding part table 311-31K. The specific steps of step 504 are: firstly, the corresponding sub-table data with the absolute latest time stamp is located, and the corresponding sub-table data with the absolute latest time stamp and several previously stored data are stored. The corresponding sub-table data is read separately, wherein the total number of corresponding sub-table data read out is equal to the number of corresponding sub-tables. For example, in the flash memory 304 of FIG. 3, the corresponding sub-table data 35 (K+2) has the absolute latest timestamp T K+2 of all corresponding sub-table data 351~35 (K+2). Therefore, the controller 302 reads the corresponding part table data 35 (K+2), and since the corresponding part table stored in the memory 310 has a total of K, it is also required to be before the corresponding part table data 35 (K+2). The stored (K-1) corresponding sub-table data are also read separately, that is, a total of a total of K corresponding sub-table data including the corresponding sub-list data 35 (K+2) are read out. Since the order in which the corresponding part table data is stored in the flash memory 304 is sequentially stored according to the logical page ID in the memory 310 of the corresponding part table 311-31K, the corresponding part table data 35 ( K+2) and a total of K corresponding sub-table data stored between them, namely 353~35 (K+2), which are the latest corresponding sub-table data.

接著,控制器302自該等對應分表資料353~35(K+2)所對應的多個時間戳選取一最早時間戳作為目標時間(步驟506),例如,對應分表資料353~35(K+2)的時間戳範圍自T3 ~TK+2 ,因此控制器302以最早時間戳T3 作為目標時間。接著,控制器302自快閃記憶體304讀取對應目標時間T3 之操作記錄資料363作為目標操作記錄資料(步驟508)。接著,控制器302依據該目標操作記錄資料363更新該等對應分表資料353~35(K+2)(步驟510)。具體而言,在步驟510中,控制器302會比較該等對應分表資料353~35(K+2)之時間戳與該目標操作記錄資料363之時間戳,控制器302只會依據該目標操作記錄資料363更新對應時間戳比該目標操作記錄資料363之時間戳小的該對應分表資料。例如,對應分表資料353~35(K+2)中之時間戳皆大於或等於目標操作記錄資料363之時間戳T3 ,因此控制器302不會依據目標操作記錄資料363更新任何對應分表資料。接著,控制器302自該等對應分表資料353~35(K+2)所對應之時間戳中選取該目標時間T3 之下一時間戳T4 作為目標時間(步驟514),自快閃記憶體304讀取對應目標時間T4 之操作記錄資料364作為目標操作記錄資料(步驟508),並依據該目標操作記錄資料364更新該等對應分表資料353~35(K+2)(步驟510),具體而言,此次執行步驟510時,由於對應分表資料353~35(K+2)中只有對應分表資料353之時間戳T3 小於目標操作記錄資料364之時間戳T4 ,因此控制器302僅會依據目標操作記錄資料364更新對應分表資料353。控制器304將持續執行步驟508~514的迴圈直到該目標時間大於或等於所有該等對應分表資料353~35(K+2)所對應之時間戳為止(步驟512)。接著,控制器302將執行完迴圈所得到的多個更新對應分表資料合併,以得到一最新位址對應表(步驟516)。最後,控制器302將最新位址對應表儲存回記憶體310,以供存取快閃記憶體302之參考。Next, the controller 302 selects an earliest timestamp as the target time from the plurality of timestamps corresponding to the corresponding partial table data 353~35(K+2) (step 506), for example, corresponding sub-table data 353~35 ( The time stamp of K+2) ranges from T 3 to T K+2 , so the controller 302 takes the earliest time stamp T 3 as the target time. Next, the controller 302 reads the operation log data 363 corresponding to the target time T 3 from the flash memory 304 as the target operation log data (step 508). Next, the controller 302 updates the corresponding sub-table data 353-35 (K+2) according to the target operation log data 363 (step 510). Specifically, in step 510, the controller 302 compares the timestamps of the corresponding partial table data 353~35 (K+2) with the time stamp of the target operation record data 363, and the controller 302 only depends on the target. The operation log data 363 updates the corresponding sub-tab data whose corresponding time stamp is smaller than the time stamp of the target operation log material 363. For example, the corresponding part table data 353 ~ 35 (K + 2) of the stamp are equal to or greater than the target information recording operation of the time stamp 363 T 3, and therefore the controller 302 does not operate according to the target information recording table 363 to update any corresponding points data. Next, the controller 302 selects a timestamp T 4 below the target time T 3 as the target time from the time stamp corresponding to the corresponding part table data 353~35 (K+2) (step 514), self-flashing The memory 304 reads the operation record data 364 corresponding to the target time T 4 as the target operation record data (step 508), and updates the corresponding part table data 353~35 (K+2) according to the target operation record data 364 (step 510), specifically, when step 510 is performed this time, since only the timestamp T 3 of the corresponding part table data 353 is smaller than the time stamp T 4 of the target operation record data 364 in the corresponding part table data 353~35 (K+2) Therefore, the controller 302 only updates the corresponding part table data 353 according to the target operation record data 364. The controller 304 will continue to perform the loops of steps 508-514 until the target time is greater than or equal to the timestamp corresponding to all of the corresponding partial data 353-35 (K+2) (step 512). Next, the controller 302 merges the plurality of update corresponding sub-table data obtained by performing the loop to obtain a latest address correspondence table (step 516). Finally, the controller 302 stores the latest address correspondence table back to the memory 310 for accessing the reference of the flash memory 302.

第6圖為依據本發明之快閃記憶體儲存之資料的一實施例之示意圖。第3圖之快閃記憶體300僅儲存兩類資料,包括多筆對應分表資料351~35(K+2)以及多筆操作記錄資料361~36(K+2)。於第6圖中,快閃記憶體600儲存三類資料,包括多筆對應分表資料651~65(K+2)、多筆操作記錄資料661~66(K+2)、以及新取得之空白區塊之實體位址671~67(K+2)。依據第4圖之步驟408之一實施例,每當控制器302自快閃記憶體之空白區新取得一空白區塊,控制器302便會儲存一對應分表資料及一操作記錄資料至快閃記憶體600。此外,控制器302更會將新取得之該空白區塊之實體位址及目標時間戳儲存至快閃記憶體600。如此,當快閃記憶裝置斷電後重新上電,控制器304會按照第5圖之流程圖重建最新位址對應表,當執行到步驟508~514的迴圈,且步驟514的目標時間設定為絕對最晚時間TK+2 時,控制器302便自快閃記憶體600讀取對應目標時間為TK+2 之操作記錄資料。但由於之前快閃記憶裝置斷電可能發生在任何時刻,若斷電發生在對應分表資料65(K+2)及新取得之空白區塊之實體位址67(K+2)已儲存至快閃記憶體600,而操作記錄資料66(K+2)尚未被存儲時,控制器302便無法讀取目標時間為TK+2 之操作記錄資料66(K+2)。由於一般而言,當控制器302儲存資料至該新取得之空白區塊,會一併將對應該儲存資料之邏輯位址與實體位址之對應關係儲存至該空白區塊之儲存資料之外的空餘空間中,因此控制器302可自快閃記憶體600讀取對應於絕對最晚時間戳TK+2 的空白區塊之實體位址,依據該實體位址讀取該空白區塊,由於時間戳TK+1 至TK+2 之間,控制器302對快閃記憶體600的存取操作僅限於對應於最晚時間戳TK+2 的空白區塊之內,因此依據該空白區塊之空餘空間所儲存之邏輯位址與實體位址之對應關係便可重建(rebuild)操作記錄資料66(K+2)。於一實施例中,對應分表資料651~65(K+2)及對應同一時間戳的新取得空白區塊位址671~67(K+2)各自儲存於快閃記憶體600的一資料頁中,且係按照快閃記憶體600的資料頁位址依序存放。操作記錄資料661~66(K+2)則各自儲存於快閃記憶體600的一資料頁中,且亦係按照快閃記憶體600的資料頁位址依序存放。另外,於一實施例中,對應分表資料651~65(K+2)、新取得之空白區塊之實體位址671~67(K+2)、以及操作記錄資料661~66(K+2)係儲存於快閃記憶體600的具有特定邏輯位址範圍的多個區塊(block)。由於控制器302係以高頻率經常性的紀錄上述資料至快閃記憶體600,因此容易造成儲存上述資料之區塊的過度磨損,從而對應該邏輯位址範圍的區塊可依磨損平均(wear-leveling)功能自動置換為磨損程度較小或清除次數(erase count)較低的區塊,以維持資料的正確性。Figure 6 is a schematic illustration of an embodiment of data for flash memory storage in accordance with the present invention. The flash memory 300 of FIG. 3 stores only two types of data, including multiple corresponding sub-table data 351~35 (K+2) and multiple operation record data 361~36 (K+2). In Fig. 6, the flash memory 600 stores three types of data, including multiple corresponding sub-table data 651~65 (K+2), multiple operation record data 661~66 (K+2), and newly acquired data. The physical address of the blank block is 671~67 (K+2). According to an embodiment of step 408 of FIG. 4, each time the controller 302 newly obtains a blank block from the blank area of the flash memory, the controller 302 stores a corresponding part table data and an operation record data to the fast. Flash memory 600. In addition, the controller 302 further stores the newly obtained physical address of the blank block and the target time stamp to the flash memory 600. Thus, when the flash memory device is powered off and then powered back on, the controller 304 reconstructs the latest address correspondence table according to the flowchart of FIG. 5, when performing the loop to steps 508-514, and the target time setting of step 514 is performed. When the absolute time T K+2 is absolute, the controller 302 reads the operation record data corresponding to the target time T K+2 from the flash memory 600. However, since the previous flash memory device power failure may occur at any time, if the power failure occurs in the corresponding sub-segment data 65 (K+2) and the newly acquired blank block physical address 67 (K+2) has been stored to When the flash memory 600 is flashed and the operation log data 66 (K+2) has not been stored, the controller 302 cannot read the operation log data 66 (K+2) whose target time is T K+2 . Generally speaking, when the controller 302 stores the data to the newly acquired blank block, the correspondence between the logical address corresponding to the stored data and the physical address is stored to be stored outside the stored data of the blank block. In the free space, the controller 302 can read the physical address of the blank block corresponding to the absolute latest timestamp T K+2 from the flash memory 600, and read the blank block according to the physical address, Since the time stamp T K+1 to T K+2 , the access operation of the controller 302 to the flash memory 600 is limited to the blank block corresponding to the latest time stamp T K+2 , so The correspondence between the logical address stored in the free space of the blank block and the physical address can rebuild the operation record data 66 (K+2). In an embodiment, the corresponding partial table data 651-65 (K+2) and the newly acquired blank block addresses 671-67 (K+2) corresponding to the same time stamp are respectively stored in the flash memory 600. In the page, the data page addresses of the flash memory 600 are sequentially stored. The operation record data 661~66 (K+2) are respectively stored in a data page of the flash memory 600, and are also sequentially stored according to the data page address of the flash memory 600. In addition, in an embodiment, the corresponding sub-table data 651~65 (K+2), the newly obtained blank block physical address 671~67 (K+2), and the operation record data 661~66 (K+ 2) A plurality of blocks stored in the flash memory 600 having a specific logical address range. Since the controller 302 frequently records the above data to the flash memory 600 at a high frequency, it is easy to cause excessive wear of the block storing the above data, so that the block corresponding to the logical address range can be worn average (wear The -leveling function is automatically replaced with blocks that are less worn or have lower erase counts to maintain data correctness.

第7圖為依據本發明之第3圖的對應分表資料以及操作記錄資料儲存於快閃記憶體304的示意圖。第7圖顯示快閃記憶體304的一實體位址範圍的資料儲存情形,而對應分表資料或是操作記錄資料係儲存於快閃記憶體304的此一實體位址範圍。對照前述第3圖末尾一實施例的敘述,經過控制器302反覆儲存多次對應分表資料以及操作記錄資料於快閃記憶體304,對應於舊的時間戳的對應分表資料以及操作記錄資料被標示為無效資料,而僅剩對應於新的時間戳的對應分表資料以及操作記錄資料為有效資料可供第5圖之方法500重建一最新位址對應表。第7圖所示實體位址範圍內,舉例而言,其儲存的有效資料為有效對應分表資料,而儲存有效對應分表資料的區塊後方為一分隔區塊(delimiter),其內儲存特定樣式的資料,以界定有效對應分表資料的尾端。於一實施例中,該分隔區塊為空餘區塊,其不儲存任何資料。因此,當快閃記憶裝置300重新上電時,可依分隔區塊找到有效對應分表資料尾端的最後儲存頁,於一實施例中,即如前述第5圖之步驟504一實施例所定位出“具有絕對最晚時間戳的對應分表資料”,再依最後儲存頁減去記憶體310中將位址對應表330劃分為的對應分表的個數K所對應之K個儲存頁,以找到有效對應分表資料開端的第一儲存頁,以開始執行第5圖之步驟504之“讀取對應於多個相對最晚時間戳的多個對應分表資料”供重建最新位址對應表。於一實施例中,與對應分表資料對應相同的時間戳的操作記錄資料被儲存於與第7圖所示實體位址範圍相差一段固定值的實體位址中,其儲存方式與對應分表資料的儲存方式類似,因此不再贅述。Fig. 7 is a view showing the correspondence between the corresponding part table data and the operation record data stored in the flash memory 304 in accordance with Fig. 3 of the present invention. FIG. 7 shows a data storage situation of a physical address range of the flash memory 304, and the corresponding sub-table data or operation record data is stored in the physical address range of the flash memory 304. Referring to the description of an embodiment at the end of FIG. 3, the controller 302 repeatedly stores the corresponding corresponding sub-list data and the operation record data in the flash memory 304, corresponding to the old time stamp corresponding sub-table data and operation record data. It is marked as invalid data, and only the corresponding sub-table data corresponding to the new time stamp and the operation record data are valid data can be reconstructed by the method 500 of FIG. 5 to reconstruct a new address correspondence table. In the physical address range shown in Figure 7, for example, the valid data stored is valid corresponding sub-list data, and the block that stores the valid corresponding sub-table data is a delimiter, which is stored in the block. Specific styles of information to define the end of valid correspondence table data. In an embodiment, the partition block is a vacant block, and does not store any data. Therefore, when the flash memory device 300 is powered on again, the last stored page of the end of the effective corresponding part table data can be found according to the partition block. In an embodiment, the method is as shown in step 504 of the foregoing fifth figure. The corresponding table data having the absolute latest time stamp is extracted, and the K storage pages corresponding to the number K of the corresponding sub-tables into which the address correspondence table 330 is divided in the memory 310 are subtracted from the last storage page. To find the first storage page of the beginning of the effective corresponding part table data, to start performing the "reading a plurality of corresponding part table data corresponding to the plurality of relatively late time stamps" of step 504 of FIG. 5 for reconstructing the latest address corresponding table. In an embodiment, the operation record data corresponding to the timestamp corresponding to the corresponding part table data is stored in a physical address that is different from the entity address range shown in FIG. 7 by a fixed value, and the storage manner and the corresponding part table are stored. The data is stored in a similar manner and will not be described again.

本發明快閃記憶裝置之運作方法,預先將控制器之隨機存取記憶體中儲存的位址對應表備份至快閃記憶體中,能在任何突然斷電的狀況發生后,重建斷電前最新的位址對應表。除此之外,由於本發明將位址對應表分割為多個對應分表,因此本發明每次備份於快閃記憶體之資料僅限於一目前對應分表及一操作記錄資料,大大降低了對快閃記憶體304寫入頻寬的消耗(write bandwidth consume),亦不會造成主機存取命令之執行上的過長延遲;由於重建最新的位址對應表所需資料量減小,因此本發明還縮短了系統啟動時間(system boot up time)。另外,由於備份快閃記憶體之資料僅有對應於新的時間戳的對應分表資料以及操作記錄資料為有效資料,而舊的時間戳的對應分表資料以及操作記錄資料被標示為無效資料,可對無效資料所在區塊進行擦除以釋放出空餘區塊,因此本發明之方法僅需佔用快閃記憶體有限之儲存空間。The method for operating the flash memory device of the present invention backs up the address correspondence table stored in the random access memory of the controller to the flash memory in advance, and can reconstruct the power failure after any sudden power failure occurs. The latest address correspondence table. In addition, since the present invention divides the address correspondence table into a plurality of corresponding sub-tables, the data of the present invention for each backup to the flash memory is limited to a current corresponding sub-table and an operation record data, which is greatly reduced. The write bandwidth consume of the flash memory 304 does not cause excessive delay in the execution of the host access command; since the amount of data required to reconstruct the latest address correspondence table is reduced, The invention also shortens the system boot up time. In addition, since the data of the backup flash memory only has corresponding sub-table data corresponding to the new time stamp and the operation record data is valid data, the corresponding time-sampling sub-table data and the operation record data of the old time stamp are marked as invalid data. The block in which the invalid data is located can be erased to release the free block, so the method of the present invention only needs to occupy the limited storage space of the flash memory.

雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。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. The scope of the invention is defined by the scope of the appended claims.

(第2圖)(Fig. 2)

200...位址對應表200. . . Address correspondence table

201、202、…、20K...對應分表201, 202, ..., 20K. . . Corresponding table

(第3圖)(Fig. 3)

300‧‧‧記憶裝置300‧‧‧ memory device

302‧‧‧控制器302‧‧‧ Controller

304‧‧‧快閃記憶體304‧‧‧Flash memory

310‧‧‧記憶體310‧‧‧ memory

311-31K‧‧‧對應分表311-31K‧‧‧corresponding table

320‧‧‧操作記錄緩衝器320‧‧‧Operation Record Buffer

330‧‧‧位址對應表330‧‧‧ Address correspondence table

351~35(K+2)‧‧‧對應分表資料351~35(K+2)‧‧‧ corresponding table data

361~36(K+2)‧‧‧操作記錄資料361~36(K+2)‧‧‧ operation record data

(第6圖)(Figure 6)

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

651~65(K+2)‧‧‧對應分表資料651~65(K+2)‧‧‧ corresponding table data

661~66(K+2)‧‧‧操作記錄資料661~66(K+2)‧‧‧ operation record data

671~67(K+2)‧‧‧新取得空白區塊之位址671~67(K+2)‧‧‧ Newly obtained the address of the blank block

第1圖顯示紀錄邏輯位址與實體位址的對應關係的一位址對應表;Figure 1 shows an address correspondence table for recording the correspondence between logical addresses and physical addresses;

第2圖係依據本發明之位址對應表的示意圖;Figure 2 is a schematic diagram of an address correspondence table according to the present invention;

第3圖為依據本發明之快閃記憶裝置的區塊圖;Figure 3 is a block diagram of a flash memory device in accordance with the present invention;

第4圖為依據本發明之儲存對應分表至快閃記憶體的方法的流程圖;4 is a flow chart of a method for storing a corresponding sub-table to a flash memory according to the present invention;

第5圖為依據本發明之依據快閃記憶體中儲存之對應分表資料重建一最新位址對應表的方法之流程圖;FIG. 5 is a flow chart of a method for reconstructing a new address correspondence table according to the corresponding partial table data stored in the flash memory according to the present invention;

第6圖為依據本發明之快閃記憶體儲存之資料的一實施例之示意圖;以及Figure 6 is a schematic diagram of an embodiment of data for flash memory storage in accordance with the present invention;

第7圖為依據本發明之對應分表資料以及操作記錄資料儲存於快閃記憶體的示意圖。Figure 7 is a schematic diagram showing the correspondence between the corresponding sub-table data and the operation record data stored in the flash memory according to the present invention.

300...記憶裝置300. . . Memory device

302...控制器302. . . Controller

304...快閃記憶體304. . . Flash memory

310...記憶體310. . . Memory

311-31K...對應分表311-31K. . . Corresponding table

320...操作記錄緩衝器320. . . Operation record buffer

330...位址對應表330. . . Address correspondence table

351~35(K+2)...對應分表資料351~35(K+2). . . Corresponding table data

361~36(K+2)...操作記錄資料361~36(K+2). . . Operational record data

Claims (22)

一種記憶裝置之運作方法,其中該記憶裝置包含一控制器、一記憶體及一快閃記憶體(flash memory),該方法包括下列步驟:將該記憶體中儲存的一位址對應表(mapping table)分割為多個對應分表(mapping table unit);更新該等對應分表中紀錄的該快閃記憶體之邏輯位址與實體位址之對應關係;檢查該控制器對該快閃記憶體之存取動作是否符合一第一特定條件;以及每當該控制器對該快閃記憶體之存取動作符合該第一特定條件時,自該等對應分表中依序選取一目前對應分表,並於該快閃記憶體中紀錄該目前對應分表及所對應之時間戳(time stamp)為一對應分表資料。 A method for operating a memory device, wherein the memory device comprises a controller, a memory and a flash memory, the method comprising the steps of: mapping an address corresponding to the address stored in the memory (mapping) The table is divided into a plurality of mapping table units; updating the correspondence between the logical address of the flash memory and the physical address recorded in the corresponding partial table; checking the controller for the flash memory Whether the access operation of the body meets a first specific condition; and each time the access action of the controller to the flash memory conforms to the first specific condition, a current correspondence is sequentially selected from the corresponding sub-tables The table is divided, and the current corresponding sub-table and the corresponding time stamp are recorded in the flash memory as a corresponding sub-table data. 如申請專利範圍第1項所述之記憶裝置之運作方法,其中該方法更包括下列步驟:於該記憶體之一操作記錄緩衝器中紀錄該控制器對該位址對應表之操作記錄;以及每當該控制器對該快閃記憶體之存取動作符合一第二特定條件時,於該快閃記憶體中紀錄該操作記錄緩衝器中儲存之資料及所對應之時間戳為一操作記錄資料(operation record)。 The method for operating a memory device according to claim 1, wherein the method further comprises the step of: recording an operation record of the controller corresponding to the address correspondence table in an operation recording buffer of the memory; Whenever the controller accesses the flash memory to meet a second specific condition, the data stored in the operation record buffer and the corresponding time stamp are recorded as an operation record in the flash memory. Operation record. 如申請專利範圍第2項所述之記憶裝置之運作方法,其中該第一特定條件及該第二特定條件為該控制器自該快閃記憶體之空白區(spare area)取得一空白區塊 (spare block)以供儲存資料。 The method for operating a memory device according to claim 2, wherein the first specific condition and the second specific condition are that the controller obtains a blank block from a spare area of the flash memory. (spare block) for storing information. 如申請專利範圍第3項所述之記憶裝置之運作方法,其中該方法更包括下列步驟:紀錄該目前對應分表及所對應之時間戳的同時,於該快閃記憶體中紀錄該控制器新取得之該空白區塊之實體位址及所對應之時間戳。 The method for operating a memory device according to claim 3, wherein the method further comprises the steps of: recording the current corresponding sub-table and the corresponding time stamp, and recording the controller in the flash memory; The newly obtained physical address of the blank block and the corresponding timestamp. 如申請專利範圍第2項所述之記憶裝置之運作方法,其中該第一特定條件及該第二特定條件為每相隔一段固定時間。 The method of operating a memory device according to claim 2, wherein the first specific condition and the second specific condition are separated by a fixed period of time. 如申請專利範圍第2項所述之記憶裝置之運作方法,其中於該快閃記憶體中,該對應分表資料及該操作記錄資料分別佔用一資料頁(page),且對應之時間戳相同的該對應分表資料及該操作記錄資料係儲存於位址相差一固定值的兩資料頁(page)。 The method for operating a memory device according to claim 2, wherein in the flash memory, the corresponding part table data and the operation record data respectively occupy a page and the corresponding time stamp is the same The corresponding sub-table data and the operation record data are stored in two pages with a fixed value of the address. 如申請專利範圍第2項所述之記憶裝置之運作方法,其中該方法更包括下列步驟:當該記憶裝置斷電後重新上電時,自該快閃記憶體讀取對應於多個相對最晚時間戳的多個最新對應分表資料;自該快閃記憶體讀取對應於該等最新對應分表資料之多個相對最晚時間戳的多個最新操作記錄資料;分別依該等最新操作記錄資料依序更新該等最新對應分表資料,以得到多個更新對應分表資料;以及將該等更新對應分表資料合併,以得到一最新位址對應表。 The method for operating a memory device according to claim 2, wherein the method further comprises the following steps: when the memory device is powered off after being powered off, reading from the flash memory corresponds to a plurality of relative a plurality of latest corresponding sub-table data of the late time stamp; reading, from the flash memory, a plurality of latest operation record data corresponding to the plurality of relatively latest time stamps of the latest corresponding sub-table data; respectively The operation record data sequentially updates the latest corresponding sub-table data to obtain a plurality of update corresponding sub-table data; and merges the update corresponding sub-table data to obtain a latest address correspondence table. 如申請專利範圍第7項所述之記憶裝置之運作方 法,其中該等最新對應分表資料之更新步驟更包括下列步驟:比較該等最新操作記錄資料中一目標操作記錄資料之時間戳與該等最新對應分表資料之時間戳;依該目標操作記錄資料更新該等最新對應分表資料中對應時間戳比該目標操作記錄資料之時間戳小的該等最新對應分表資料;以及選取該目標操作記錄資料之時間戳之下一時間戳所對應之最新操作記錄資料為下一目標操作記錄資料;其中,於時間序列上,該下一時間戳在該目標操作記錄資料之時間戳之後。 The operating device of the memory device as described in claim 7 The method, wherein the updating step of the latest corresponding sub-table data further comprises the steps of: comparing a time stamp of a target operation record data in the latest operation record data with a time stamp of the latest corresponding sub-table data; operating according to the target Recording data updates the latest corresponding corresponding table data in the latest corresponding part table data corresponding to the time stamp of the target operation record data; and selecting a timestamp corresponding to the timestamp of the target operation record data The latest operation record data is the next target operation record data; wherein, in the time series, the next time stamp is after the time stamp of the target operation record data. 如申請專利範圍第7項所述之記憶裝置之運作方法,其中該方法更包括下列步驟:當該記憶裝置斷電後重新上電時,且無法讀取該等最新對應分表資料對應之時間戳中一絕對最晚時間戳所對應的最新操作記錄資料時,自該快閃記憶體讀取對應於該絕對最晚時間戳的一空白區塊之實體位址;依據該實體位址讀取該空白區塊;以及依據該空白區塊所儲存之邏輯位址與實體位址之對應關係重建該絕對最晚時間戳所對應的該最新操作記錄資料。 The method for operating a memory device according to claim 7, wherein the method further comprises the following steps: when the memory device is powered off after being powered off, and the time corresponding to the latest corresponding sub-table data cannot be read. When the latest operation record data corresponding to the absolute latest timestamp is stamped, the physical address of a blank block corresponding to the absolute latest timestamp is read from the flash memory; and the physical address is read according to the physical address The blank block; and reconstructing the latest operation record data corresponding to the absolute latest timestamp according to the correspondence between the logical address stored in the blank block and the physical address. 如申請專利範圍第9項所述之記憶裝置之運作方法,其中對應於該絕對最晚時間戳的該空白區塊之實體位址隨對應於該絕對最晚時間戳的對應分表資料同時紀錄至該快閃記憶體。 The method for operating a memory device according to claim 9, wherein the physical address of the blank block corresponding to the absolute latest time stamp is simultaneously recorded with the corresponding partial data corresponding to the absolute latest time stamp. To the flash memory. 如申請專利範圍第1項所述之記憶裝置之運作方法,其中更包括下列步驟:比較同一對應分表對應之不同對應分表資料之時間戳,將具有相對較早時間戳的對應分表資料標示為無效(invalid)。 The method for operating a memory device according to claim 1, further comprising the steps of: comparing time stamps of different corresponding sub-table data corresponding to the same corresponding sub-table, and corresponding sub-table data having relatively early time stamps. Marked as invalid. 一種記憶裝置,包括:一快閃記憶體(flash memory),供資料儲存;一記憶體,其儲存一位址對應表(mapping table);以及一控制器,將該位址對應表分割為多個對應分表(mapping table unit),更新該等對應分表中紀錄的該快閃記憶體之邏輯位址與實體位址之對應關係,檢查該控制器對該快閃記憶體之存取動作是否符合一第一特定條件,以及每當該控制器對該快閃記憶體之存取動作符合該第一特定條件時,自該等對應分表中依序選取一目前對應分表,並於該快閃記憶體中紀錄該目前對應分表及所對應之時間戳(time stamp)為一對應分表資料。 A memory device includes: a flash memory for storing data; a memory storing a mapping table; and a controller dividing the address mapping table into a plurality of a corresponding mapping table unit, updating the correspondence between the logical address of the flash memory and the physical address recorded in the corresponding sub-table, and checking the access operation of the controller to the flash memory Whether a first specific condition is met, and each time the access action of the controller to the flash memory meets the first specific condition, a current corresponding sub-table is sequentially selected from the corresponding sub-tables, and The current corresponding sub-table and the corresponding time stamp are recorded in the flash memory as a corresponding sub-table data. 如申請專利範圍第12項所述之記憶裝置,其中該控制器於該記憶體之一操作記錄緩衝器中紀錄該控制器對該位址對應表之操作記錄,以及每當該控制器對該快閃記憶體之存取動作符合一第二特定條件時,該控制器於該快閃記憶體中紀錄該操作記錄緩衝器中儲存之資料及所對應之時間戳為一操作記錄資料(operation record)。 The memory device of claim 12, wherein the controller records an operation record of the controller corresponding to the address correspondence table in an operation recording buffer of the memory, and whenever the controller When the access operation of the flash memory conforms to a second specific condition, the controller records the data stored in the operation record buffer and the corresponding time stamp in the flash memory as an operation record data (operation record) ). 如申請專利範圍第13項所述之記憶裝置,其中該第一特定條件及該第二特定條件為該控制器自該快閃記憶 體之空白區(spare area)取得一空白區塊(spare block)以供儲存資料。 The memory device of claim 13, wherein the first specific condition and the second specific condition are that the controller is from the flash memory The spare area of the body obtains a spare block for storing data. 如申請專利範圍第14項所述之記憶裝置,其中該控制器紀錄該目前對應分表及所對應之時間戳的同時,於該快閃記憶體中紀錄該控制器新取得之該空白區塊之實體位址及所對應之時間戳。 The memory device of claim 14, wherein the controller records the current corresponding sub-table and the corresponding time stamp, and records the blank block newly obtained by the controller in the flash memory. The physical address and the corresponding timestamp. 如申請專利範圍第13項所述之記憶裝置,其中該第一特定條件及該第二特定條件為每相隔一段固定時間。 The memory device of claim 13, wherein the first specific condition and the second specific condition are separated by a fixed period of time. 如申請專利範圍第13項所述之記憶裝置,其中於該快閃記憶體中,該對應分表資料及該操作記錄資料分別佔用一資料頁(page),且對應之時間戳相同的該對應分表資料及該操作記錄資料係儲存於位址相差一固定值的兩資料頁(page)。 The memory device of claim 13, wherein in the flash memory, the corresponding sub-table data and the operation record data respectively occupy a page, and the correspondence corresponding to the time stamp is the same The sub-list data and the operation record data are stored in two pages with a fixed value of the address. 如申請專利範圍第13項所述之記憶裝置,其中當該記憶裝置斷電後重新上電時,該控制器自該快閃記憶體讀取對應於多個相對最晚時間戳的多個最新對應分表資料,自該快閃記憶體讀取對應於該等最新對應分表資料之多個相對最晚時間戳的多個最新操作記錄資料,分別依該等最新操作記錄資料依序更新該等最新對應分表資料以得到多個更新對應分表資料,以及將該等更新對應分表資料合併以得到一最新位址對應表。 The memory device of claim 13, wherein when the memory device is powered off after being powered off, the controller reads a plurality of latest ones corresponding to the plurality of relatively latest time stamps from the flash memory. Corresponding to the sub-table data, the plurality of latest operation record data corresponding to the plurality of relatively latest time stamps corresponding to the latest corresponding sub-table data are read from the flash memory, and the latest operation record data is sequentially updated according to the latest operation record data. The latest corresponding sub-table data is obtained to obtain a plurality of update corresponding sub-table data, and the update corresponding sub-table data is combined to obtain a latest address correspondence table. 如申請專利範圍第18項所述之記憶裝置,其中該控制器比較該等最新操作記錄資料中一目標操作記錄資料之時間戳與該等最新對應分表資料之時間戳,依該目標操作記錄資料更新該等最新對應分表資料中對應時間戳比該 目標操作記錄資料之時間戳小的該等最新對應分表資料,以及選取該目標操作記錄資料之時間戳之下一時間戳所對應的之最新操作記錄資料為下一目標操作記錄資料;其中,於時間序列上,該下一時間戳在該目標操作記錄資料之時間戳之後。 The memory device of claim 18, wherein the controller compares a time stamp of a target operation record data in the latest operation record data with a time stamp of the latest corresponding part table data, according to the target operation record The data update corresponds to the corresponding timestamp in the latest corresponding sub-table data. The latest corresponding sub-list data with a small time stamp of the target operation record data, and the latest operation record data corresponding to a time stamp below the time stamp of the target operation record data is the next target operation record data; In the time series, the next timestamp is after the timestamp of the target operation record data. 如申請專利範圍第19項所述之記憶裝置,其中當該記憶裝置斷電後重新上電時,且該控制器無法讀取該等最新對應分表資料對應之時間戳中一絕對最晚時間戳所對應的最新操作記錄資料時,該控制器自該快閃記憶體讀取對應於該絕對最晚時間戳的一空白區塊之實體位址,依據該實體位址讀取該空白區塊,以及依據該空白區塊所儲存之邏輯位址與實體位址之對應關係重建該絕對最晚時間戳所對應的該最新操作記錄資料。 The memory device of claim 19, wherein when the memory device is powered off and then powered back on, and the controller is unable to read an absolute time of the timestamp corresponding to the latest corresponding table data. When the latest operation record data corresponding to the stamp is recorded, the controller reads the physical address of a blank block corresponding to the absolute latest time stamp from the flash memory, and reads the blank block according to the physical address And reconstructing the latest operation record data corresponding to the absolute latest timestamp according to the correspondence between the logical address and the physical address stored in the blank block. 如申請專利範圍第20項所述之記憶裝置,其中對應於該絕對最晚時間戳的該空白區塊之實體位址隨對應於該絕對最晚時間戳的對應分表資料同時紀錄至該快閃記憶體。 The memory device of claim 20, wherein the physical address of the blank block corresponding to the absolute latest timestamp is simultaneously recorded to the fast corresponding data corresponding to the absolute latest timestamp. Flash memory. 如申請專利範圍第13項所述之記憶裝置,其中該記憶體之該操作記錄緩衝器包括至少兩個邏輯頁(logic page),其中一個邏輯頁之操作記錄紀錄至該快閃記憶體時,另一邏輯頁接收新的操作記錄。 The memory device of claim 13, wherein the operation record buffer of the memory comprises at least two logic pages, wherein an operation record of one logical page is recorded to the flash memory, Another logical page receives a new operational record.
TW099130985A 2010-09-14 2010-09-14 Flash memory device and operation method thereof TWI454907B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW099130985A TWI454907B (en) 2010-09-14 2010-09-14 Flash memory device and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099130985A TWI454907B (en) 2010-09-14 2010-09-14 Flash memory device and operation method thereof

Publications (2)

Publication Number Publication Date
TW201211763A TW201211763A (en) 2012-03-16
TWI454907B true TWI454907B (en) 2014-10-01

Family

ID=46764408

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099130985A TWI454907B (en) 2010-09-14 2010-09-14 Flash memory device and operation method thereof

Country Status (1)

Country Link
TW (1) TWI454907B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI664568B (en) * 2016-11-15 2019-07-01 慧榮科技股份有限公司 Operating method of data storage device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200917021A (en) * 2007-01-17 2009-04-16 Memoright Memoritech Corp Method for managing flash memory block
US7653777B2 (en) * 2004-01-19 2010-01-26 Trek Technology (Singapore) Pte Ltd. Portable data storage device using a memory address mapping table
TW201013401A (en) * 2008-09-25 2010-04-01 Silicon Motion Inc Access methods for a flash memory and memory devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653777B2 (en) * 2004-01-19 2010-01-26 Trek Technology (Singapore) Pte Ltd. Portable data storage device using a memory address mapping table
TW200917021A (en) * 2007-01-17 2009-04-16 Memoright Memoritech Corp Method for managing flash memory block
TW201013401A (en) * 2008-09-25 2010-04-01 Silicon Motion Inc Access methods for a flash memory and memory devices

Also Published As

Publication number Publication date
TW201211763A (en) 2012-03-16

Similar Documents

Publication Publication Date Title
US10768679B2 (en) Memory system and controller
US9329995B2 (en) Memory device and operating method thereof
US9489258B2 (en) Green NAND SSD application and driver
US8738851B2 (en) Device and memory system for swappable memory
US8489850B2 (en) Memory apparatus and memory control method
CN105718530B (en) File storage system and file storage control method thereof
JP5571691B2 (en) Maintaining mapping address tables in storage
US9009396B2 (en) Physically addressed solid state disk employing magnetic random access memory (MRAM)
US20130191578A1 (en) Storing cached data in over-provisioned memory in response to power loss
JP2013137770A (en) Lba bitmap usage
WO2022121471A1 (en) Method for storing l2p table, system, device, and medium
US11630779B2 (en) Hybrid storage device with three-level memory mapping
CN105404468B (en) Green and non-solid state disk applications and drives therefor
TWI454907B (en) Flash memory device and operation method thereof
JP6254986B2 (en) Information processing apparatus, access controller, and information processing method
JP2013196155A (en) Memory system
KR101618999B1 (en) Network boot system
KR20190061473A (en) NVMe-SSD BASED STORAGE SYSTEM
TWI704454B (en) Mapping table management method applied to solid state storage device
Xue et al. NVM-accelerated metadata management for flash-based SSDs
KR101744401B1 (en) Method for storaging and restoring system status of computing apparatus and computing apparatus
KR101404129B1 (en) Data storage system and data management method