TWI448891B - Data storage device and flash memory control method - Google Patents

Data storage device and flash memory control method Download PDF

Info

Publication number
TWI448891B
TWI448891B TW101132461A TW101132461A TWI448891B TW I448891 B TWI448891 B TW I448891B TW 101132461 A TW101132461 A TW 101132461A TW 101132461 A TW101132461 A TW 101132461A TW I448891 B TWI448891 B TW I448891B
Authority
TW
Taiwan
Prior art keywords
logical
physical address
address mapping
valid page
page count
Prior art date
Application number
TW101132461A
Other languages
Chinese (zh)
Other versions
TW201411347A (en
Inventor
Chang Kai Cheng
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW101132461A priority Critical patent/TWI448891B/en
Priority to CN201210428315.7A priority patent/CN103678145B/en
Priority to US13/862,816 priority patent/US9244833B2/en
Publication of TW201411347A publication Critical patent/TW201411347A/en
Application granted granted Critical
Publication of TWI448891B publication Critical patent/TWI448891B/en
Priority to US14/851,186 priority patent/US9355028B2/en

Links

Description

資料儲存裝置與快閃記憶體控制方法Data storage device and flash memory control method

本發明係有關於資料儲存裝置與快閃記憶體控制方法。The invention relates to a data storage device and a flash memory control method.

現今資料儲存裝置常以快閃記憶體(例如,非及閘快閃記憶體/NAND flash)為儲存媒體。Today's data storage devices often use flash memory (eg, non-flash memory/NAND flash) as the storage medium.

隨著製程技術發展,快閃記憶體的容量大幅提升;其中資料儲存空間的管理資訊-例如,邏輯-物理位址映射表-也越來越龐大,不易管理。With the development of process technology, the capacity of flash memory has increased significantly; the management information of data storage space - for example, the logical-physical address mapping table - is also becoming larger and more difficult to manage.

此外,除了邏輯-物理位址映射表外,快閃記憶體上可能還有其他多種表格需要維護,其正確度關係到資料儲存裝置是否能正常運作。In addition, in addition to the logical-physical address mapping table, there may be other forms of maintenance on the flash memory, the accuracy of which depends on whether the data storage device can operate normally.

本發明揭露一種資料儲存裝置以及快閃記憶體控制方法。The invention discloses a data storage device and a flash memory control method.

根據一種實施方式所實現的一資料儲存裝置包括一快閃記憶體以及一控制器。該快閃記憶體提供一資料儲存空間、一有效頁計數表、一邏輯-物理位址映射以及一無效區塊標示表。該控制器配置該資料儲存空間儲存主機端所指示的資料,並於該快閃記憶體建立、且維護該有效頁計數表、該邏輯-物理位址映射、以及該無效區塊標示表,以據以管理該資料儲存空間。該控制器係於訂正該有效頁計數 表後方更新該邏輯-物理位址映射。此外,該控制器係根據該有效頁計數表建立該無效區塊標示表。A data storage device implemented in accordance with an embodiment includes a flash memory and a controller. The flash memory provides a data storage space, a valid page count table, a logical-physical address mapping, and an invalid block identification table. The controller configures the data storage space to store the data indicated by the host end, and establishes in the flash memory, and maintains the valid page count table, the logical-physical address mapping, and the invalid block identification table, According to the management of the data storage space. The controller is correcting the valid page count The logical-physical address mapping is updated after the table. In addition, the controller establishes the invalid block identification table according to the valid page count table.

另外一種實施方式揭露一種快閃記憶體控制方法,包括以下步驟:配置一快閃記憶體的一資料儲存空間,以儲存主機端所指示的資料;於該快閃記憶體建立、且維護一有效頁計數表、一邏輯-物理位址映射以及一無效區塊標示表,該邏輯-物理位址映射之更新係安排在該有效頁計數表訂正後,且該無效區塊標示表係根據該有效頁計數表而建立;以及,根據該有效頁計數表、該邏輯-物理位址映射以及該無效區塊標示表管理該資料儲存空間。Another embodiment discloses a flash memory control method, including the steps of: configuring a data storage space of a flash memory to store data indicated by the host; establishing and maintaining an effective memory in the flash memory; a page count table, a logical-physical address mapping, and an invalid block labeling table, wherein the updating of the logical-physical address mapping is arranged after the valid page count table is corrected, and the invalid block marking table is valid according to the The page count table is established; and the data storage space is managed according to the valid page count table, the logical-physical address map, and the invalid block label table.

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

第1圖圖解一種資料儲存裝置100,可由主機端102操控。FIG. 1 illustrates a data storage device 100 that can be manipulated by host terminal 102.

資料儲存裝置100包括一快閃記憶體(例如,反及閘快閃記憶體NAND Flash)104、一控制器106以及一隨機存取記憶體108。快閃記憶體104提供一資料儲存空間110、一有效頁計數表ValidPageCnt、一邏輯-物理位址映射H2F、一無效區塊標示表InvalidBLKRecord、一事件記錄EventRecord以及一復電用表格資訊SafeLink。控制器106執行一韌體(可由該控制器106內的唯讀記憶體提供),負責配置該資料儲存空間110儲存主機端102所指示的資料,並於該快閃記憶體104建立、且維護上述有效頁計數 表ValidPageCnt、上述邏輯-物理位址映射H2F、無效區塊標示表InvalidBLKRecord、事件記錄EventRecord以及復電用表格資訊SafeLink,以管理該資料儲存空間110。此外,在執行該韌體的該控制器106控制下,該隨機存取記憶體108可記錄有一物理-邏輯位址映射表F2H供該邏輯-物理位址映射H2F之建立參考使用,且更可記錄有一表格動態狀態RunTimeLink以及一表格暫存備份SafeLinkRam。表格動態狀態RunTimeLink即時記錄上述有效頁計數表ValidPageCnt、邏輯-物理位址映射H2F、以及無效區塊標示表InvalidBLKRecord(或者,記錄該些表格之相依狀況)。上述有效頁計數表ValidPageCnt、邏輯-物理位址映射H2F、以及無效區塊標示表InvalidBLKRecord每更新一輪,表格動態狀態RunTimeLink的內容可複製至表格暫存備份SafeLinkRam。該復電用表格資訊SafeLink可拷貝自該表格暫存備份SafeLinkRam。事件記錄EventRecord則記錄以上備份動作後所發生的記憶體配置行為,以記錄該復電用表格資訊SafeLink尚未備份的資訊。The data storage device 100 includes a flash memory (eg, NAND flash NAND Flash) 104, a controller 106, and a random access memory 108. The flash memory 104 provides a data storage space 110, a valid page count table ValidPageCnt, a logical-physical address mapping H2F, an invalid block flag table InvalidBLKRecord, an event record EventRecord, and a re-use table information SafeLink. The controller 106 executes a firmware (provided by the read-only memory in the controller 106), and is configured to configure the data storage space 110 to store the data indicated by the host 102, and is established and maintained in the flash memory 104. The above valid page count The table ValidPageCnt, the above-described logical-physical address mapping H2F, the invalid block flag table InvalidBLKRecord, the event record EventRecord, and the re-use table information SafeLink are used to manage the data storage space 110. In addition, under the control of the controller 106 executing the firmware, the random access memory 108 can record a physical-logical address mapping table F2H for the reference use of the logical-physical address mapping H2F, and more Record a table dynamic state RunTimeLink and a table temporary backup SafeLinkRam. The table dynamic state RunTimeLink records the valid page count table ValidPageCnt, the logical-physical address map H2F, and the invalid block flag table InvalidBLKRecord (or records the dependent status of the tables). The contents of the table dynamic state RunTimeLink can be copied to the table temporary backup SafeLinkRam every time the valid page count table ValidPageCnt, logical-physical address mapping H2F, and invalid block flag table InvalidBLKRecord are updated. The re-use form information SafeLink can be copied from the form to temporarily store SafeLinkRam. The event record EventRecord records the memory configuration behavior that occurs after the above backup action to record the information that the SafeLink form information SafeLink has not backed up.

該邏輯-物理位址映射H2F提供一群組索引GroupIndex、以及依照群組劃分的複數組邏輯-物理位址映射表Group1_H2F、Group2_H2F…GroupN_H2F。The logical-physical address mapping H2F provides a group index GroupIndex and a complex array logical-physical address mapping table Group1_H2F, Group2_H2F...GroupN_H2F according to the group division.

群組索引GroupIndex內各單位對應一群組,指向所對應群組之邏輯-物理位址映射表。如圖所示,群組索引GroupIndex第一單位對應一第一群組,指向邏輯-物理位址映射表Group1_H2F;群組索引GroupIndex第二單位對應一第二群組,指向邏輯-物理位址映射表Group2_H2F;同 樣規則,群組索引GroupIndex第N單位對應一第N群組,指向邏輯-物理位址映射表GroupN_H2F。Each unit in the group index GroupIndex corresponds to a group, and points to a logical-physical address mapping table of the corresponding group. As shown in the figure, the first unit of the group index GroupIndex corresponds to a first group, and points to a logical-physical address mapping table Group1_H2F; the second unit of the group index GroupIndex corresponds to a second group, which points to a logical-physical address mapping. Table Group2_H2F; same The rule N, the Nth unit of the group index GroupIndex corresponds to an Nth group, and points to the logical-physical address mapping table GroupN_H2F.

邏輯-物理位址映射表Group1_H2F、Group2_H2F…GroupN_H2F係分群組標示主機端位址(來自主機端102)至該資料儲存空間110的映射。例如,邏輯-物理位址映射表Group1_H2F係標示第一群組的主機端位址(例如,第一範圍之主機端位址)至資料儲存空間110之映射;邏輯-物理位址映射表Group2_H2F係標示第二群組的主機端位址(例如,第二範圍之主機端位址)至資料儲存空間110之映射;同樣規則,邏輯-物理位址映射表GroupN_H2F係標示第N群組的主機端位址(例如,第N範圍之主機端位址)至資料儲存空間110之映射。The logical-physical address mapping table Group1_H2F, Group2_H2F...GroupN_H2F is a grouping indicating the mapping of the host-side address (from the host-side 102) to the data storage space 110. For example, the logical-physical address mapping table Group1_H2F indicates the mapping of the host-side address of the first group (for example, the host-end address of the first range) to the data storage space 110; the logical-physical address mapping table Group2_H2F Marking the mapping of the host-side address of the second group (for example, the host-side address of the second range) to the data storage space 110; similarly, the logical-physical address mapping table GroupN_H2F indicates the host side of the N-th group The mapping of the address (eg, the host side address of the Nth range) to the data storage space 110.

第2A圖圖解一快閃記憶體之結構。快閃記憶體200包括複數個區塊(blocks)BLK1、BLK2…BLKK。各區塊包括複數頁(pages)-例如,區塊BLK1包括頁P1、P2…PM。第2B圖圖解主機端定義之主機頁Hpage與快閃記憶體之物理頁(即第2A圖所定義之「頁」)PhysicalPage的對應關係。主機頁Hpage與物理頁PhysicalPage之尺寸可相等(例如,同為16KB)。一個主機頁Hpage需配置一物理頁PhysicalPage。Figure 2A illustrates the structure of a flash memory. The flash memory 200 includes a plurality of blocks BLK1, BLK2, ... BLKK. Each block includes a plurality of pages - for example, block BLK1 includes pages P1, P2, ... PM. FIG. 2B illustrates the correspondence between the host page Hpage defined by the host side and the physical page of the flash memory (ie, the "page" defined in FIG. 2A) PhysicalPage. The size of the host page Hpage and the physical page PhysicalPage can be equal (for example, the same 16KB). A host page Hpage needs to be configured with a physical page PhysicalPage.

基於第2A圖與第2B圖技術,第1圖所示之複數組邏輯-物理位址映射表Group1_H2F、Group2_H2F…GroupN_H2F的各單位可對應一主機頁、且可以一區塊標籤與一頁標籤標示所對應的該主機頁儲存於該資料儲存空間110中哪一區塊的哪一頁。群組索引GroupIndex的各單 位亦可包含一區塊標籤與一頁標籤,標示該單位所對應之群組的邏輯-物理位址映射表係儲存於哪一個區塊的哪一頁。此外,隨機存取記憶體108內的物理-邏輯位址映射表F2H可用於即時更新一快閃記憶體之頁至主機頁之映射-標示「物理頁」係映射至哪一個「主機頁」。Based on the 2A and 2B technologies, each unit of the complex array logical-physical address mapping table Group1_H2F, Group2_H2F...GroupN_H2F shown in FIG. 1 may correspond to a host page, and may be labeled with a block label and a page label. Which one of the blocks in the data storage space 110 is stored in the corresponding host page. Group index GroupIndex The bit may also include a block label and a page label indicating which page of the block the logical-physical address mapping table of the group corresponding to the unit is stored in. In addition, the physical-logical address mapping table F2H in the random access memory 108 can be used to instantly update the mapping of a flash memory page to a host page - indicating which "host page" the "physical page" maps to.

基於第2A圖、第2B圖定義,第3圖舉例說明一群組索引、以及依照群組劃分的複數組邏輯-物理位址映射表之操作方式。Based on the definitions of FIG. 2A and FIG. 2B, FIG. 3 illustrates a group index and an operation mode of a complex array logical-physical address mapping table divided according to groups.

如圖所示,主機端所定義的主機頁Hpage1係儲存於快閃記憶體之區塊NF_BLK_1、頁PageA,主機頁Hpage2係儲存於快閃記憶體之區塊NF_BLK_2、頁PageB,且主機頁Hpage3係儲存於快閃記憶體之區塊NF_BLK_3、頁PageC。所述實施方式將主機頁Hpage1、Hpage2與Hpage3歸類為一第一群組,並配置區塊NF_BLK_4的頁PageD儲存一邏輯-物理位址映射表Group1,其中:第一單位指向區塊NF_BLK_1、頁PageA以標示主機頁Hpage1的資料儲存空間;第二單位指向區塊NF_BLK_2、頁PageB以標示主機頁Hpage2的資料儲存空間;第三單位指向區塊NF_BLK_3、頁PageC以標示主機頁Hpage3的資料儲存空間。As shown in the figure, the host page Hpage1 defined on the host side is stored in the flash memory block NF_BLK_1, page PageA, and the host page Hpage2 is stored in the flash memory block NF_BLK_2, page PageB, and the host page Hpage3. It is stored in the flash memory block NF_BLK_3, page PageC. In the embodiment, the host pages Hpage1, Hpage2 and Hpage3 are classified into a first group, and the page PageD of the configuration block NF_BLK_4 stores a logical-physical address mapping table Group1, wherein: the first unit points to the block NF_BLK_1, Page PageA indicates the data storage space of the host page Hpage1; the second unit points to the block NF_BLK_2, page PageB to indicate the data storage space of the host page Hpage2; the third unit points to the block NF_BLK_3, page PageC to indicate the data storage of the host page Hpage3 space.

此外,所述實施方式更配置區塊NF_BLK_5的頁PageE儲存一群組索引GroupIndex。如圖所示,群組索引GroupIndex的第一單位對應該第一群組,指向區塊NF_BLK_4、頁PageD,標示該邏輯-物理位址映射表Group1。至於群組索引GroupIndex其他單位則可對應其他 群組。例如,群組索引GroupIndex的第二單位對應一第二群組,指向區塊NF_BLK_6、頁PageF,標示一邏輯-物理位址映射表Group2;邏輯-物理位址映射表Group2提供複數個指標,指向該第二群組的複數個主機頁的資料儲存位置(包括,指向區塊NF_BLK_8、頁PageH與PageI,以分別標示主機頁Hpage4與Hpage5的資料儲存空間,且指向區塊NF_BLK_9、頁PageJ,以標示主機頁Hpage6的資料儲存空間)。群組索引GroupIndex第三單位對應一第三群組,指向區塊NF_BLK_7、頁PageG,標示一邏輯-物理位址映射表Group3;邏輯-物理位址映射表Group3提供複數個指標,指向該第三群組的複數個主機頁的資料儲存位置(包括,指向區塊NF_BLK_10、頁PageK、PageL與PageM,以分別標示主機頁Hpage7、Hpage8與Hpage9的資料儲存空間)。特別聲明之,依照所述之管理規則,同一群組的主機頁資料可散佈於多個區塊(如分散在三個區塊NF_BLK_1、NF_BLK_2與NF_BLK_3的三個主機頁Hpage1、Hpage2、Hpage3資料、或由兩個區塊NF_BLK_8與NF_BLK_9儲存的三個主機頁Hpage4、Hpage5與Hpage5資料),或者,同一群組的主機頁資料可集中於單一個區塊(如集中在單一區塊NF_BLK_10的三個主機頁Hpage7、Hpage8、Hpage9資料)。In addition, the page PageE of the embodiment configuration block NF_BLK_5 stores a group index GroupIndex. As shown in the figure, the first unit of the group index GroupIndex corresponds to the first group, and points to the block NF_BLK_4 and the page PageD, indicating the logical-physical address mapping table Group1. As for the group index, other units of the GroupIndex can correspond to other Group. For example, the second unit of the group index GroupIndex corresponds to a second group, pointing to the block NF_BLK_6, page PageF, indicating a logical-physical address mapping table Group2; the logical-physical address mapping table Group2 provides a plurality of indicators, pointing The data storage location of the plurality of host pages of the second group (including, pointing to the block NF_BLK_8, page PageH and PageI, respectively, to indicate the data storage spaces of the host pages Hpage4 and Hpage5, and pointing to the block NF_BLK_9, page PageJ, Indicate the data storage space of the host page Hpage6). The third unit of the group index GroupIndex corresponds to a third group, pointing to the block NF_BLK_7, page PageG, indicating a logical-physical address mapping table Group3; the logical-physical address mapping table Group3 provides a plurality of indicators, pointing to the third The data storage location of the plurality of host pages of the group (including, pointing to the block NF_BLK_10, page PageK, PageL, and PageM, respectively, to indicate the data storage spaces of the host pages Hpage7, Hpage8, and Hpage9). Specifically, according to the management rule, the host page data of the same group may be distributed in multiple blocks (such as three host pages Hpage1, Hpage2, Hpage3 data dispersed in three blocks NF_BLK_1, NF_BLK_2 and NF_BLK_3, Or three host pages Hpage4, Hpage5 and Hpage5 data stored by two blocks NF_BLK_8 and NF_BLK_9, or the host page data of the same group can be concentrated in a single block (such as three concentrated in a single block NF_BLK_10) Host page Hpage7, Hpage8, Hpage9 data).

參閱第3圖所示實施方式,若主機端指示讀取主機頁Hpage1,資料儲存裝置的控制器可分析該主機頁Hpage1,得知主機頁Hpage屬於一第一群組。控制器可查詢群組索引GroupIndex,找出其中對應該第一群組的單位,根據其 中指標尋得邏輯-物理位址映射表Group1。控制器可根據邏輯-物理位址映射表Group1中對應主機頁Hpage1的該單位得知主機頁Hpage1資料儲存於區塊NF_BLK_1的頁PageA。如此一來,主機頁Hpage1的讀取操作即可實現。所述技術以兩階層以上的指標建立邏輯位址至物理位址之映射關係。Referring to the embodiment shown in FIG. 3, if the host side instructs to read the host page Hpage1, the controller of the data storage device can analyze the host page Hpage1, and learn that the host page Hpage belongs to a first group. The controller can query the group index GroupIndex to find out the unit corresponding to the first group, according to the The middle indicator finds the logical-physical address mapping table Group1. The controller can learn that the host page Hpage1 data is stored in the page PageA of the block NF_BLK_1 according to the unit of the corresponding host page Hpage1 in the logical-physical address mapping table Group1. In this way, the read operation of the host page Hpage1 can be realized. The technology establishes a mapping relationship between logical addresses and physical addresses by using indicators of more than two levels.

所述之邏輯-物理位址映射H2F技術有利於管理大容量之快閃記憶體。第4圖舉例說明該邏輯-物理位址映射H2F之修正技術。The logical-physical address mapping H2F technology described is advantageous for managing large-capacity flash memory. Figure 4 illustrates the correction technique for this logical-physical address mapping H2F.

參閱第4圖,一目標主機頁先前的資料Hpage_Old係儲存於一原始頁Page1,由邏輯-物理位址映射表Group_Old的一單位所提供的指標標示。該邏輯-物理位址映射表Group_Old則是由群組索引GoupIndexOld中一單位所提供的指標標示。Referring to FIG. 4, the previous data Hpage_Old of a target host page is stored in an original page Page1, which is indicated by an indicator provided by a unit of the logical-physical address mapping table Group_Old. The logical-physical address mapping table Group_Old is indicated by an indicator provided by a unit in the group index GoupIndexOld.

關於該目標主機頁之資料更新,所述技術新配置一更新頁Page2儲存該目標主機頁更新後的資料HPage_New,原始頁Page1隨之標示為無效。此外,所述技術新配置一邏輯-物理位址映射表更新頁Group_New,儲存修正後的邏輯-物理位址映射表(同樣標號為Group_New)。邏輯-物理位址映射表Group_New其中一單位所提供的指標係指向該更新頁Page2,邏輯-物理位址映射表Group_Old隨之被標示無效。此外,所述技術新配置一群組索引更新頁GroupIndexNew,儲存更新後的群組索引(同樣標號為GroupIndexNew)。群組索引GroupIndexNew其中一單位所提供的指標係指向該邏輯-物理位址映射表Group_New,群 組索引GroupIndexOld隨之被標示無效。總結之,所述之邏輯-物理位址映射H2F可藉由新配置兩頁空間(填入修正後的群組索引GroupIndexNew與邏輯-物理位址映射表Group_New)實現該目標主機頁至物理頁之映射修正,程序相當簡易,適合大容量的快閃記憶體使用。Regarding the data update of the target host page, the technical new configuration update page Page2 stores the updated material HPage_New of the target host page, and the original page Page1 is marked as invalid. In addition, the technology newly configures a logical-physical address mapping table update page Group_New, and stores the modified logical-physical address mapping table (again labeled Group_New). The indicator provided by one unit of the logical-physical address mapping table Group_New points to the update page Page2, and the logical-physical address mapping table Group_Old is marked as invalid. In addition, the technology newly configures a group index update page GroupIndexNew, and stores the updated group index (again labeled GroupIndexNew). Group index GroupIndexNew One of the indicators provided by the unit points to the logical-physical address mapping table Group_New, group The group index GroupIndexOld is then marked as invalid. In summary, the logical-physical address mapping H2F can implement the target host page to the physical page by newly configuring two pages of space (filling in the corrected group index GroupIndexNew and the logical-physical address mapping table Group_New). Map correction, the program is quite simple, suitable for large-capacity flash memory.

在一種實施方式中,更新頁Page2配置給該目標主機頁後,此映射關係可先記錄於隨機存取記憶體(第1圖標號108)的物理-邏輯位址映射表F2H中,供填入資料HPage_New至快閃記憶體時參考使用,此外,也可在建立所述邏輯-物理位址映射H2F時參考使用。In an embodiment, after the update page Page 2 is configured to the target host page, the mapping relationship may be first recorded in the physical-logical address mapping table F2H of the random access memory (the first icon number 108) for filling in. The data is used when referring to the HPage_New to the flash memory. In addition, it can also be used when establishing the logical-physical address mapping H2F.

在一種實施方式中,所述技術會將該目標主機頁先前映射的原始頁Page1之資料HPage_Old先拷貝至隨機存取記憶體108作資料更新,再根據物理-邏輯位址映射表F2H將之儲存至更新頁Page2。邏輯-物理位址映射表Group_Old也可先拷貝至隨機存取記憶體108作資料更新,再儲存至快閃記憶體呈Group_New。群組索引GroupIndexOld也可先拷貝至隨機存取記憶體108作資料更新,再儲存至快閃記憶體呈GroupIndexNew。In one embodiment, the technology copies the data HPage_Old of the original page Page1 previously mapped by the target host page to the random access memory 108 for data update, and then stores the data according to the physical-logical address mapping table F2H. To the update page Page2. The logical-physical address mapping table Group_Old may also be copied to the random access memory 108 for data update, and then stored to the flash memory as Group_New. The group index GroupIndexOld may also be copied to the random access memory 108 for data update, and then stored to the flash memory as GroupIndexNew.

第5圖以流程圖圖解一目標主機頁之資料更新流程。步驟S502於快閃記憶體配置一更新頁(對應第4圖更新頁Page2),以更新一目標主機頁之資料。步驟S504修正隨機存取記憶體(對應第1圖之標號108)所儲存的該物理-邏輯位址映射表F2H,以記錄該更新頁Page2係映射該目標主機頁。步驟S506將該目標主機頁先前映射的一原始頁(對應第4圖之原始頁Page1)之資料HPage_Old拷貝至該隨機 存取記憶體108更新為資料HPage_New,再根據該物理-邏輯位址映射表F2H儲存至該更新頁Page2。步驟S508在該快閃記憶體中為該目標主機頁所屬之群組配置一邏輯-物理位址映射表更新頁(對應第4圖之Group_New),以其中一單位指向該更新頁Page2。步驟S510在該快閃記憶體配置一群組索引更新頁(對應第4圖之GroupIndexNew),以其中一單位指向該邏輯-物理位址映射表更新頁Group_New。Figure 5 illustrates the data update process of a target host page in a flow chart. In step S502, an update page (corresponding to the update page Page 2 of FIG. 4) is configured in the flash memory to update the data of a target host page. Step S504 corrects the physical-logical address mapping table F2H stored in the random access memory (corresponding to the reference numeral 108 of FIG. 1) to record the updated page Page2 to map the target host page. Step S506: copying the data HPage_Old of an original page (corresponding to the original page Page1 of FIG. 4) previously mapped by the target host page to the random The access memory 108 is updated to the material HPage_New, and then stored to the update page Page2 according to the physical-logical address mapping table F2H. Step S508, in the flash memory, configure a logical-physical address mapping table update page (corresponding to Group_New of FIG. 4) for the group to which the target host page belongs, with one unit pointing to the update page Page2. Step S510 configures a group index update page (corresponding to GroupIndexNew of FIG. 4) in the flash memory, and one of the units points to the logical-physical address mapping table update page Group_New.

步驟S508可包括將舊有的邏輯-物理位址映射表(對應第4圖Group_Old)先拷貝至隨機存取記憶體108作資料更新,再儲存至邏輯-物理位址映射表更新頁Group_New。步驟S510可包括將舊有的群組索引GroupIndexOld先拷貝至隨機存取記憶體108作資料更新,再儲存至群組索引更新頁GroupIndexNew。Step S508 may include copying the old logical-physical address mapping table (corresponding to FIG. 4 Group_Old) to the random access memory 108 for data update, and then storing the data to the logical-physical address mapping table update page Group_New. Step S510 may include copying the old group index GroupIndexOld to the random access memory 108 for data update, and then storing the data to the group index update page GroupIndexNew.

以上關於邏輯-物理位址映射表H2F之維護皆可以韌體方式,交由控制器106執行實現。The above maintenance about the logical-physical address mapping table H2F can be performed in a firmware manner, and is implemented by the controller 106.

至於其他表格與記錄(如第1圖所示,ValidPageCnt、InvalidBLKRecord、EventRecord或SafeLink)之建立以及維護討論如下。在以下討論中,邏輯-物理位址映射H2F不限定以上所敘述之多階層形式。任何可以標示出邏輯-物理映射關係者皆可用來實現邏輯-物理位址映射H2F。有效頁計數表ValidPageCnt係標示各區塊的有效頁數量。無效區塊標示表InvalidBLKRecord可基於上述有效頁計數表ValidPageCnt而得,有效頁數量為0的區塊即可標示為無效區塊。The establishment and maintenance of other forms and records (as shown in Figure 1, ValidPageCnt, InvalidBLKRecord, EventRecord, or SafeLink) are discussed below. In the following discussion, the logical-physical address mapping H2F does not limit the multi-level form described above. Anyone who can mark a logical-physical mapping relationship can be used to implement a logical-physical address mapping H2F. The valid page count table ValidPageCnt is the number of valid pages for each block. The invalid block flag table InvalidBLKRecord can be obtained based on the valid page count table ValidPageCnt, and the block with the valid page number of 0 can be marked as an invalid block.

第6圖以一流程圖圖解一種表格維護程序。步驟S602監控一快閃記憶體是否滿足一表格更新條件。一種實施方式是在有區塊被寫滿(不再有閒置頁)時判定該快閃記憶體滿足表格更新條件;或者,表格更新條件也可設定成其他形式。在監控過程中所發生的記憶體配置則可記錄在事件記錄EventRecord中。若表格更新條件滿足,流程進行步驟S604,可基於該事件記錄EventRecord比對該邏輯-物理位址映射H2F,以更新該有效頁計數表ValidPageCnt。待該有效頁計數表ValidPageCnt更新完畢,流程方進行步驟S606更新該邏輯-物理位址映射H2F,此步驟同樣可基於事件記錄EventRecord的內容。無效區塊標示表InvalidBLKRecord之更新亦是設計在有效頁計數表ValidPageCnt更新完畢後-由步驟S608執行之。步驟S610則是將更新後的上述有效頁計數表ValidPageCnt、邏輯-物理位址映射H2F、以及無效區塊標示表InvalidBLKRecord於該快閃記憶體104備份呈該復電用表格資訊SafeLink(可利用隨機存取記憶體108之表格動態狀態RunTimeLink以及表格暫存備份SafeLinkRam設計)。如此一來,每一輪的表格更新有該復電用表格資訊SafeLink作備份,而直至下次備份前發生的記憶體配置則有事件記錄EventRecord記錄著。無論非預期中斷(例如斷電)發生在哪個時間點,都不會丟失該資料儲存空間110的管理資訊。Figure 6 illustrates a table maintenance procedure in a flow chart. Step S602 monitors whether a flash memory satisfies a table update condition. One embodiment is to determine that the flash memory satisfies the table update condition when the block is filled (no more idle pages); or the table update condition can be set to other forms. The memory configuration that occurs during the monitoring process can be recorded in the event record EventRecord. If the table update condition is satisfied, the flow proceeds to step S604, and the EventRecord is mapped to the logical-physical address mapping H2F based on the event to update the valid page count table ValidPageCnt. After the valid page count table ValidPageCnt is updated, the process proceeds to step S606 to update the logical-physical address mapping H2F. This step can also record the content of the EventRecord based on the event. The update of the invalid block flag table InvalidBLKRecord is also designed after the valid page count table ValidPageCnt is updated - executed by step S608. In step S610, the updated valid page count table ValidPageCnt, logical-physical address mapping H2F, and invalid block identification table InvalidBLKRecord are backed up in the flash memory 104 to be used as the re-use table information SafeLink (available randomly) Access table memory dynamic state RunTimeLink and table temporary backup SafeLinkRam design). In this way, each round of the table update has the backup form information SafeLink for backup, and the memory configuration that occurs until the next backup is recorded by the event record EventRecord. The management information of the data storage space 110 is not lost at any point in time when an unexpected interruption (e.g., power outage) occurs.

第7圖說明一復電流程。步驟S702係根據該復電用表格資訊SafeLink所備份的內容初步更新上述有效頁計數表ValidPageCnt、邏輯-物理位址映射H2F、以及無效區塊標 示表InvalidBLKRecord。步驟S704則是自第6圖步驟S604重啟表格維護程序。如步驟S604所述,該復電用表格資訊SafeLink所未備份到的事件記錄EventRecord可用於比對該邏輯-物理位址映射H2F使該有效頁計數表ValidPageCnt更細部更新,接續的步驟S60同樣可基於事件記錄EventRecord使該邏輯-物理位址映射H2F更細部更新。如此一來,非預期中斷完全不破壞上述有效頁計數表ValidPageCnt、邏輯-物理位址映射H2F、以及無效區塊標示表InvalidBLKRecord之維護。Figure 7 illustrates a re-powering process. Step S702: initially updating the valid page count table ValidPageCnt, logical-physical address mapping H2F, and invalid block label according to the content backed up by the resume information table SafeLink. Showcase InvalidBLKRecord. Step S704 is to restart the form maintenance program from step S604 of Fig. 6. As described in step S604, the event record EventRecord that is not backed up by the re-use form information SafeLink can be used to update the valid page count table ValidPageCnt in more detail than the logical-physical address mapping H2F, and the subsequent step S60 can also be performed. The logical-physical address mapping H2F is updated in more detail based on the event record EventRecord. As a result, the unintended interrupt does not destroy the maintenance of the valid page count table ValidPageCnt, the logical-physical address map H2F, and the invalid block flag table InvalidBLKRecord.

另外有一種實施方式是以序號比對方式偵測非預期中斷;所述實施方式-比對第6圖-可不作步驟S610,而是在步驟S604完成該有效頁計數表ValidPageCnt之更新後以序號SN(可配置在該有效頁計數表ValidPageCnt的管理空間,如第1圖所示)計數該有效頁計數表ValidPageCnt的更新,且在步驟S608完成該無效區塊標示表InvalidBLKRecord之更新後以序號SN’(可配置在該無效區塊標示表InvalidBLKRecord的管理空間,如第1圖所示)計數該無效區塊標示表InvalidBLKRecord的更新。第8圖說明一復電流程。步驟S802比較序號SN以及SN’。若序號SN領先序號SN’,則流程進行步驟S804,判定該有效頁計數表ValidPageCnt早已確認,故自該邏輯-物理位址映射H2F之更新(可基於事件記錄EventRecord內容)重啟表格維護程序。若序號SN等同序號SN’,則流程進行步驟S806,可自該有效頁計數表ValidPageCnt之更新(可基於該事件記錄EventRecord比對該邏輯-物理位址映射H2F)重啟 表格維護程序。此類實施方式無須用到復電用表格資訊SafeLink備份技術。In another embodiment, the unintended interrupt is detected by the sequence number comparison method; the embodiment-alignment FIG. 6 - the step S610 may be omitted, but the update of the valid page count table ValidPageCnt is completed in step S604. The SN (configurable in the management space of the valid page count table ValidPageCnt, as shown in FIG. 1) counts the update of the valid page count table ValidPageCnt, and completes the update of the invalid block flag table InvalidBLKRecord with the sequence number SN in step S608. '(Configurable in the management space of the invalid block flag table InvalidBLKRecord, as shown in FIG. 1) Count the update of the invalid block flag table InvalidBLKRecord. Figure 8 illustrates a re-powering process. Step S802 compares the sequence numbers SN and SN'. If the serial number SN leads the serial number SN', the flow proceeds to step S804, and it is determined that the valid page count table ValidPageCnt has already been confirmed, so the table maintenance program is restarted from the update of the logical-physical address mapping H2F (the event record can be recorded based on the event). If the sequence number SN is equal to the sequence number SN', the flow proceeds to step S806, and the update of the valid page count table ValidPageCnt can be restarted (the EventRecord can be recorded based on the event to map the logical-physical address mapping H2F) Form maintenance program. This type of implementation does not require the use of SafeLink backup technology for re-use of the form information.

以上第6圖~第8圖所述程序同樣可以韌體方式交由控制器106執行實現。The programs described in the above FIGS. 6 to 8 can also be implemented by the controller 106 in a firmware manner.

此外,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。In addition, although the present invention has been described above by way of a preferred embodiment, it is not intended to limit the invention, and any modifications and refinements may be made without departing from the spirit and scope of the invention. The scope of the invention is defined by the scope of the appended claims.

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

102‧‧‧主機端102‧‧‧Host side

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

106‧‧‧控制器106‧‧‧ Controller

108‧‧‧隨機存取記憶體108‧‧‧ Random access memory

110‧‧‧資料儲存空間110‧‧‧data storage space

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

BLK1、BLK2…BLKK‧‧‧區塊BLK1, BLK2...BLKK‧‧‧ Block

EventRecord‧‧‧事件記錄EventRecord‧‧‧Event Record

F2H‧‧‧物理-邏輯位址映射表F2H‧‧‧Physical-Logical Address Mapping Table

Group1…Group3、Group1_H2F…GroupN_H2F‧‧‧邏輯-物理位址映射表Group1...Group3, Group1_H2F...GroupN_H2F‧‧‧Logical-Physical Address Mapping Table

GroupIndex‧‧‧群組索引GroupIndex‧‧‧Group Index

GroupIndexOld‧‧‧修正前之群組索引GroupIndexOld‧‧‧ group index before correction

GroupIndexNew‧‧‧修正後之群組索引/群組索引更新頁GroupIndexNew‧‧‧corrected group index/group index update page

GroupOld‧‧‧對應目標主機頁所屬之群組,為修正前之邏輯-物理位址映射表GroupOld‧‧‧ corresponds to the group to which the target host page belongs, and is the logical-physical address mapping table before the correction.

GroupNew‧‧‧對應目標主機頁所屬之群組,為修正後之邏輯-物理位址映射表/邏輯-物理位址映射表更新頁GroupNew‧‧‧ corresponds to the group to which the target host page belongs, and is the modified logical-physical address mapping table/logical-physical address mapping table update page.

H2F‧‧‧邏輯-物理位址映射表H2F‧‧‧Logical-Physical Address Mapping Table

HPage、Hpage1…Hpage9‧‧‧主機頁HPage, Hpage1...Hpage9‧‧‧Host page

HPage_Old、Hpage_New‧‧‧目標主機頁修正前、後之資料HPage_Old, Hpage_New‧‧‧ Target host page correction before and after data

InvalidBLKRecord‧‧‧無效區塊標示表InvalidBLKRecord‧‧‧ Invalid Block Marking Table

NF_BLK_1…NF_BLK_10‧‧‧區塊NF_BLK_1...NF_BLK_10‧‧‧ Block

P1、P2…PM‧‧‧頁P1, P2...PM‧‧‧ pages

Page1‧‧‧原始頁Page1‧‧‧ original page

Page2‧‧‧更新頁Page 2‧‧‧Update Page

PageA…PageM‧‧‧頁PageA...PageM‧‧‧Page

PhysicalPage‧‧‧物理頁PhysicalPage‧‧‧Physical Page

RunTimeLink‧‧‧表格動態狀態RunTimeLink‧‧‧Table Dynamic Status

S502…S510、S602…S610、S702…S704、S802…S806‧‧‧步驟S502...S510, S602...S610, S702...S704, S802...S806‧‧‧ steps

SafeLink‧‧‧復電用表格資訊SafeLink‧‧‧Re-use form information

SafeLinkRam‧‧‧表格暫存備份SafeLinkRam‧‧‧ form temporary backup

SN、SN’‧‧‧序號SN, SN’‧‧‧ serial number

ValidPageCnt‧‧‧有效頁計數表ValidPageCnt‧‧‧Valid Page Count Table

第1圖圖解根據一種實施方式所實現的資料儲存裝置100;第2A圖圖解一快閃記憶體之結構;第2B圖圖解主機端定義之「主機頁」與快閃記憶體之「物理頁」的對應關係;第3圖舉例說明一群組索引、以及依照群組劃分的複數組邏輯-物理位址映射表之操作方式;第4圖舉例說明邏輯-物理位址映射H2F之修正技術;第5圖以流程圖圖解一目標主機頁之資料更新流程;第6圖以一流程圖圖解一種表格維護程序;第7圖說明一復電流程;以及第8圖說明另一復電流程。1 is a diagram of a data storage device 100 implemented according to an embodiment; FIG. 2A illustrates a flash memory structure; FIG. 2B illustrates a "host page" defined by a host side and a "physical page" of a flash memory. Corresponding relationship; Figure 3 illustrates a group index and the operation mode of the complex array logical-physical address mapping table according to the group; FIG. 4 illustrates the correction technique of the logical-physical address mapping H2F; 5 is a flow chart illustrating a data update process of a target host page; FIG. 6 illustrates a form maintenance program in a flowchart; FIG. 7 illustrates a power-up process; and FIG. 8 illustrates another power-up process.

S602‧‧‧判斷步驟,滿足表格更新條件?S602‧‧‧ Judgment step, meet the table update conditions?

S604‧‧‧步驟,更新ValidPageCntStep S604‧‧, update ValidPageCnt

S606‧‧‧步驟,更新H2FStep S606‧‧‧, update H2F

S608‧‧‧步驟,更新InvalidBLKRecordStep S608‧‧, update InvalidBLKRecord

S610‧‧‧步驟,將各表格備份呈SafeLinkS610‧‧‧ steps to back up the forms to SafeLink

Claims (14)

一種資料儲存裝置,包括:一快閃記憶體,提供一資料儲存空間、一有效頁計數表、一邏輯-物理位址映射以及一無效區塊標示表;以及一控制器,配置該資料儲存空間儲存主機端所指示的資料,並於該快閃記憶體建立、且維護該有效頁計數表、該邏輯-物理位址映射、以及該無效區塊標示表,以據以管理該資料儲存空間;其中,該控制器係於訂正該有效頁計數表後方更新該邏輯-物理位址映射,且該控制器係根據該有效頁計數表建立該無效區塊標示表。A data storage device includes: a flash memory, a data storage space, a valid page count table, a logical-physical address mapping, and an invalid block labeling table; and a controller configured to configure the data storage space Storing the data indicated by the host, and establishing, maintaining the valid page count table, the logical-physical address mapping, and the invalid block identification table in the flash memory to manage the data storage space; The controller updates the logical-physical address mapping after correcting the valid page count table, and the controller establishes the invalid block identification table according to the valid page count table. 如申請專利範圍第1項所述之資料儲存裝置,其中,該控制器更於該快閃記憶體建立一事件記錄,記錄上述有效頁計數表、邏輯-物理位址映射、與無效區塊標示表最後一輪更新後所發生的記憶體配置行為。The data storage device of claim 1, wherein the controller further establishes an event record in the flash memory, and records the valid page count table, the logical-physical address mapping, and the invalid block identifier. The memory configuration behavior that occurred after the last round of updates. 如申請專利範圍第2項所述之資料儲存裝置,其中,該控制器係基於該事件記錄比對該邏輯-物理位址映射,以更新該有效頁計數表。The data storage device of claim 2, wherein the controller maps the logical-physical address based on the event record to update the valid page count table. 如申請專利範圍第3項所述之資料儲存裝置,其中,該控制器係於上述有效頁計數表、邏輯-物理位址映射、以及無效區塊標示表的資訊每更新一輪後將上述有效頁計數表、邏輯-物理位址映射、以及無效區塊標示表於該快閃記憶體備份呈一復電用表格資訊,且該控制器係於復電時先根據該復電用表格資訊更新上述有效頁計數表、邏輯-物理位址映射、以及無效區塊標示表,再基於上述事件 記錄比對該邏輯-物理位址映射而更新該有效頁計數表,並繼續對上述有效頁計數表、邏輯-物理位址映射、與無效區塊標示表進行維護。The data storage device of claim 3, wherein the controller applies the valid page to the information of the valid page count table, the logical-physical address mapping, and the invalid block identification table after each round of updating. The counter table, the logical-physical address mapping, and the invalid block labeling table are used to generate a re-use form information in the flash memory backup, and the controller is first updated according to the re-use form information when the power is restored. Valid page count table, logical-physical address mapping, and invalid block flag table, based on the above events The record updates the valid page count table for the logical-physical address mapping and continues to maintain the valid page count table, logical-physical address mapping, and invalid block flag table. 如申請專利範圍第3項所述之資料儲存裝置,其中,該控制器係於更新該邏輯-物理位址映射後更新該無效區塊標示表。The data storage device of claim 3, wherein the controller updates the invalid block identification table after updating the logical-physical address mapping. 如申請專利範圍第5項所述之資料儲存裝置,其中,該控制器更於更新該有效頁計數表後以一第一序號計數該有效頁計數表的更新,且於更新該無效區塊標示表後以一第二序號計數該無效區塊標示表的更新,且該控制器係藉由比較該第一以及該第二序號偵測非預期中斷。The data storage device of claim 5, wherein the controller further updates the valid page count table by a first serial number after updating the valid page count table, and updates the invalid block identifier. The update of the invalid block identification table is counted by a second serial number, and the controller detects an unexpected interruption by comparing the first and the second serial number. 如申請專利範圍第6項所述之資料儲存裝置,其中,復電時,該控制器於該第一序號領先該第二序號的狀況下判定該有效頁計數表已確認,繼而根據上述事件記錄更新該邏輯-物理位址映射,並繼續對上述有效頁計數表、邏輯-物理位址映射、與無效區塊標示表進行維護。The data storage device of claim 6, wherein, in the case of power-on, the controller determines that the valid page count table has been confirmed under the condition that the first serial number leads the second serial number, and then records according to the event The logical-physical address mapping is updated, and the above-mentioned valid page count table, logical-physical address mapping, and invalid block identification table are maintained. 一種快閃記憶體控制方法,包括:配置一快閃記憶體的一資料儲存空間,以儲存主機端所指示的資料;於該快閃記憶體建立、且維護一有效頁計數表、一邏輯-物理位址映射以及一無效區塊標示表,該邏輯-物理位址映射之更新係安排在該有效頁計數表訂正後,且該無效區塊標示表係根據該有效頁計數表而建立;以及根據該有效頁計數表、該邏輯-物理位址映射以及該無效區塊標示表管理該資料儲存空間。A flash memory control method includes: configuring a data storage space of a flash memory to store data indicated by a host end; establishing, in the flash memory, and maintaining a valid page count table, a logic - a physical address mapping and an invalid block identification table, the update of the logical-physical address mapping is arranged after the valid page count table is corrected, and the invalid block identification table is established according to the valid page count table; The data storage space is managed according to the valid page count table, the logical-physical address mapping, and the invalid block identification table. 如申請專利範圍第8項所述之快閃記憶體控制方法,更於該快閃記憶體建立一事件記錄,記錄上述有效頁計數表、邏輯-物理位址映射、與無效區塊標示表最後一輪更新後所發生的記憶體配置行為。For example, the flash memory control method described in claim 8 further establishes an event record in the flash memory, and records the valid page count table, the logical-physical address mapping, and the invalid block identification table. The memory configuration behavior that occurs after a round of updates. 如申請專利範圍第9項所述之快閃記憶體控制方法,係基於該事件記錄比對該邏輯-物理位址映射,以更新該有效頁計數表。The flash memory control method according to claim 9 is characterized in that the logical-physical address mapping is compared based on the event record to update the valid page count table. 如申請專利範圍第10項所述之快閃記憶體控制方法,更於上述有效頁計數表、邏輯-物理位址映射、以及無效區塊標示表的資訊每更新一輪後將上述有效頁計數表、邏輯-物理位址映射、以及無效區塊標示表備份於該快閃記憶體呈一復電用表格資訊,且於復電時先根據該復電用表格資訊更新上述有效頁計數表、邏輯-物理位址映射、以及無效區塊標示表,再基於上述事件記錄比對該邏輯-物理位址映射而更新該有效頁計數表,並繼續對上述有效頁計數表、邏輯-物理位址映射、與無效區塊標示表進行維護。The flash memory control method according to claim 10, wherein the valid page count table is updated after each round of information of the valid page count table, the logical-physical address map, and the invalid block label table. The logical-physical address mapping and the invalid block marking table are backed up in the flash memory to display a form information for re-charging, and the valid page counting table and logic are first updated according to the information of the re-use form when the power is restored. a physical address mapping, and an invalid block labeling table, and updating the valid page count table based on the event-recording ratio to the logical-physical address mapping, and continuing to map the valid page count table and the logical-physical address And maintain with the invalid block labeling table. 如申請專利範圍第10項所述之快閃記憶體控制方法,係於更新該邏輯-物理位址映射後方更新該無效區塊標示表。The flash memory control method according to claim 10, wherein the invalid block identification table is updated after updating the logical-physical address mapping. 如申請專利範圍第12項所述之快閃記憶體控制方法,更於更新該有效頁計數表後以一第一序號計數該有效頁計數表的更新,且於更新該無效區塊標示表後以一第二序號計數該無效區塊標示表的更新,且係藉由比較該第一以及該第二序號偵測非預期中斷。The flash memory control method of claim 12, after updating the valid page count table, counting the update of the valid page count table by a first serial number, and after updating the invalid block identification table The update of the invalid block identification table is counted by a second serial number, and the unintended interruption is detected by comparing the first and the second serial numbers. 如申請專利範圍第13項所述之快閃記憶體控制方 法,其中,若復電時該第一序號領先該第二序號,則判定該有效頁計數表已確認,繼而根據上述事件記錄更新該邏輯-物理位址映射,並繼續對上述有效頁計數表、邏輯-物理位址映射、與無效區塊標示表進行維護。The flash memory controller as described in claim 13 a method, wherein if the first serial number leads the second serial number upon power-on, it is determined that the valid page count table has been confirmed, and then the logical-physical address mapping is updated according to the event record, and the valid page count table is continued , logical-physical address mapping, and invalid block identification table maintenance.
TW101132461A 2012-05-30 2012-09-06 Data storage device and flash memory control method TWI448891B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW101132461A TWI448891B (en) 2012-09-06 2012-09-06 Data storage device and flash memory control method
CN201210428315.7A CN103678145B (en) 2012-09-06 2012-10-31 Data storage device and flash memory control method
US13/862,816 US9244833B2 (en) 2012-05-30 2013-04-15 Data-storage device and flash memory control method
US14/851,186 US9355028B2 (en) 2012-05-30 2015-09-11 Data-storage device and flash memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101132461A TWI448891B (en) 2012-09-06 2012-09-06 Data storage device and flash memory control method

Publications (2)

Publication Number Publication Date
TW201411347A TW201411347A (en) 2014-03-16
TWI448891B true TWI448891B (en) 2014-08-11

Family

ID=50315777

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101132461A TWI448891B (en) 2012-05-30 2012-09-06 Data storage device and flash memory control method

Country Status (2)

Country Link
CN (1) CN103678145B (en)
TW (1) TWI448891B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI563510B (en) * 2015-07-24 2016-12-21 Phison Electronics Corp Mapping table accessing method, memory control circuit unit and memory storage device

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512467B (en) * 2014-09-02 2015-12-11 Silicon Motion Inc Methods for maintaining a storage mapping table and apparatuses using the same
TWI604307B (en) 2014-10-31 2017-11-01 慧榮科技股份有限公司 Data storage device and flash memory control method
TWI545433B (en) 2015-03-04 2016-08-11 慧榮科技股份有限公司 Methods for maintaining a storage mapping table and apparatuses using the same
WO2016201589A1 (en) * 2015-06-17 2016-12-22 Intel Corporation Computing apparatus and method with persistent memory
TWI591533B (en) 2016-11-25 2017-07-11 慧榮科技股份有限公司 Data storage method and data recovery method for data storage device, and data storage device using the same methods
TWI670640B (en) * 2016-11-25 2019-09-01 慧榮科技股份有限公司 Data storage method and data recovery method for data storage device, and data storage device using the same methods
US11429545B2 (en) 2020-07-16 2022-08-30 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
CN113946278A (en) * 2020-07-16 2022-01-18 慧荣科技股份有限公司 Data reading method and device in host efficiency acceleration mode
US11748011B2 (en) * 2021-03-31 2023-09-05 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
US11733895B2 (en) 2021-03-31 2023-08-22 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US20080172523A1 (en) * 2007-01-11 2008-07-17 Hitachi, Ltd. Flash memory module, storage apparatus using flash memory module as storage medium, and address translation table verification method for flash memory module
US20080183955A1 (en) * 2007-01-25 2008-07-31 Genesys Logic, Inc. Flash translation layer apparatus
TW201027420A (en) * 2009-01-15 2010-07-16 Phison Electronics Corp Data accessing method for flash memory, and storage system and controller system thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845552B1 (en) * 2006-12-18 2008-07-10 (재)대구경북과학기술연구원 Method for address mapping in Flash Translation LayerFTL
US8285970B2 (en) * 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
CN101788955B (en) * 2009-01-23 2012-05-02 群联电子股份有限公司 Access method of flash data, storage system and control system thereof
US9026716B2 (en) * 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US20080172523A1 (en) * 2007-01-11 2008-07-17 Hitachi, Ltd. Flash memory module, storage apparatus using flash memory module as storage medium, and address translation table verification method for flash memory module
US20080183955A1 (en) * 2007-01-25 2008-07-31 Genesys Logic, Inc. Flash translation layer apparatus
TW201027420A (en) * 2009-01-15 2010-07-16 Phison Electronics Corp Data accessing method for flash memory, and storage system and controller system thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI563510B (en) * 2015-07-24 2016-12-21 Phison Electronics Corp Mapping table accessing method, memory control circuit unit and memory storage device

Also Published As

Publication number Publication date
CN103678145B (en) 2017-04-12
CN103678145A (en) 2014-03-26
TW201411347A (en) 2014-03-16

Similar Documents

Publication Publication Date Title
TWI448891B (en) Data storage device and flash memory control method
US9244833B2 (en) Data-storage device and flash memory control method
TWI544334B (en) Data storage device and operating method thereof
WO2019144553A1 (en) Data storage method and apparatus, and storage medium
TWI639917B (en) Data storage devices and methods for rebuilding a mapping table thereof
US9092323B2 (en) Systems and methods for recovering addressing data
CN105224478B (en) A kind of formation of mapping table, update and restoration methods and electronic equipment
US9396107B2 (en) Memory system having memory controller with cache memory and NVRAM and method of operating same
US8756458B2 (en) Mount-time reconciliation of data availability
US20150186261A1 (en) Data storage device and flash memory control method
TWI627531B (en) Data storage device and operating method therefor
TWI625626B (en) Methods and systsems for managing physical information of memory units in a memory device
TWI720246B (en) Data storage device and operating method therefor
KR20120135139A (en) Mount-time unmapping of unused logical addresses in non-volatile memory systems
CN112596667A (en) High throughput method and system for organizing NAND blocks and placing data for random writing in a solid state drive
US9262096B2 (en) Dynamic address mapping for finish in the field
CN104317734A (en) Memory allocation method and device applicable to SLAB
US11119657B2 (en) Dynamic access in flash system
WO2020057479A1 (en) Address mapping table item page management
CN104516792A (en) Data backup method and device
TWI463311B (en) Data storing method and apparatus applied to flash memory storage device
CN111124294B (en) Sector mapping information management method and device, storage medium and equipment
US20110246702A1 (en) Management Of Configuration Data Using Persistent Memories Requiring Block-Wise Erase Before Rewriting
WO2020207008A1 (en) Data verification method, apparatus, electronic device and storage medium
JP2015191294A (en) Memory controller, memory system, and memory control method