TW201935247A - 目錄資料的管理方法與記憶體裝置 - Google Patents
目錄資料的管理方法與記憶體裝置 Download PDFInfo
- Publication number
- TW201935247A TW201935247A TW107105204A TW107105204A TW201935247A TW 201935247 A TW201935247 A TW 201935247A TW 107105204 A TW107105204 A TW 107105204A TW 107105204 A TW107105204 A TW 107105204A TW 201935247 A TW201935247 A TW 201935247A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- data
- storage block
- memory device
- physical address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種目錄資料的管理方法,用於一記憶體裝置,包含有於該記憶體裝置之一非揮發式記憶體之一記憶體空間產生一虛擬位址層;於該虛擬位址層建立一映射表格(Mapping table)以儲存對應於至少一儲存區塊之至少一目錄資料,其中該至少一儲存區塊包含至少一實體位址,該至少一實體位址相關於該記憶體空間;於寫入至少一資料至該記憶體裝置時,根據該至少一實體位址,將該至少一資料寫入至該記憶體空間之至少一記憶體區塊;以及當該至少一資料寫入完成時,更新該至少一儲存區塊之該至少一目錄資料。
Description
本發明係指一種目錄資料的管理方法與記憶體裝置,尤其涉及一種提供斷電保護的目錄資料的管理方法與記憶體裝置。
在現有的固態硬碟(Solid State Disk,SSD)的記憶體儲存架構下,進行資料存取時會有兩種資料,一種為存取資料,另外一種為目錄資料(metadata),而其中目錄資料的內容為資料的位址。請參考第1圖,第1圖為一記憶體裝置進行資料存取之時序圖。如第1圖所示,一主系統向一SSD控制器發出一寫入要求,將資料寫入一動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)以及一快閃記憶體(Flash memory),接著,於快閃記憶體通知SSD控制器已完成寫入資料的訊息後,主系統要求SSD控制器更新目錄資料,再由SSD控制器向快閃記憶體更新目錄資料。然而,當固態硬碟因電源異常而中斷且資料尚未儲存至快閃記憶體時,一般消費級的固態硬碟無法保護資料,導致資料遺失,造成使用者的不便。
因此,如何提供一種目錄資料的管理方法與記憶體裝置,以提供一般消費級的固態硬碟於斷電時,保護資料的管理方法與記憶體裝置,便成為本領域重要的議題之一。
因此,本發明提供一種目錄資料的管理方法與記憶體裝置,以提供消費級的固態硬碟保護資料的能力,進而避免斷電時資料遺失的情形。
本發明揭露一種目錄資料的管理方法,用於一記憶體裝置,包含有於該記憶體裝置之一非揮發式記憶體之一記憶體空間產生一虛擬位址層;於該虛擬位址層建立一映射表格(Mapping table)以儲存對應於至少一儲存區塊之至少一目錄資料,其中該至少一儲存區塊包含至少一實體位址,該至少一實體位址相關於該記憶體空間;於寫入至少一資料至該記憶體裝置時,根據該至少一實體位址,將該至少一資料寫入至該記憶體空間之至少一記憶體區塊;以及當該至少一資料寫入完成時,更新該至少一儲存區塊之該至少一目錄資料。
本發明另揭露一種記憶體裝置,包含有一非揮發式記憶體,提供一記憶體空間,該記憶體空間包含複數個記憶體區塊;一動態隨機存取記憶體;以及一記憶體控制器,耦接於該動態隨機存取記憶體,用來執行一管理流程,以將該動態隨機存取記憶體的資料寫入該記憶體裝置,該管理流程包含以下步驟:於該記憶體空間產生一虛擬位址層;於該虛擬位址層建立一映射表格以儲存對應於至少一儲存區塊之至少一目錄資料,其中該至少一儲存區塊包含至少一實體位址,該至少一實體位址相關於該記憶體空間;於寫入至少一資料至該記憶體空間時,根據該至少一實體位址,將該至少一資料寫入至該複數個記憶體區塊之至少一記憶體區塊;以及當該至少一資料寫入完成時,更新該至少一儲存區塊之該至少一目錄資料。
請參考第2圖,第2圖為本發明實施例之一記憶體裝置20之示意圖。記憶體裝置20包含有一非揮發式記憶體(non-volatile memory; NVM)200、一動態隨機存取記憶體202及一記憶體控制器204。在一實施例中,記憶體裝置20可以是一固態硬碟(Solid State Disk,SSD),而非揮發式記憶體200可以由複數個快閃記憶體陣列所組成,為主要儲存區域。非揮發式記憶體200提供一記憶體空間,該記憶體空間包含複數個記憶體區塊。因此,當一主系統欲寫入資料時,主系統向記憶體控制器204發出一寫入要求,再由記憶體控制器204將資料寫入非揮發式記憶體200之該記憶體空間,於寫入完成後,由記憶體控制器204更新資料儲存於非揮發式記憶體200之記憶體空間的目錄資料。然而,由於固態硬碟因電源異常而中斷,並且資料尚未儲存至快閃記憶體陣列時,一般非企業級的固態硬碟無法透過硬體裝置保護資料(例如透過外掛電容器),而造成資料遺失。在此情形下,為了避免資料遺失,本發明之記憶體控制器204可適時更新目錄資料,以避免上述情況發生。
詳細來說,記憶體裝置20的記憶體控制器204可於非揮發式記憶體200之記憶體空間產生一虛擬位址層VAL,並於虛擬位址層VAL建立一映射表格MT(Mapping Table)以儲存對應於至少一儲存區塊SB之至少一目錄資料,其中儲存區塊SB包含至少一實體位址,實體位址相關於非揮發式記憶體200之記憶體空間。因此,當主系統寫入至少一資料至非揮發式記憶體200之記憶體空間時,記憶體控制器204可根據映射表格MT中的目錄資料可找到對應的儲存區塊SB,接著,再根據儲存區塊SB的實體位址,將資料寫入至非揮發式記憶體200之記憶體空間的至少一記憶體區塊。當完成寫入資料後,記憶體控制器204更新映射表格MT中對應於儲存區塊SB的目錄資料。如此一來,即使於斷電前尚未將資料儲存至非揮發式記憶體200之記憶體空間的快閃記憶體時,本發明仍可於記憶體裝置20復電後,根據映射表格MT中關於儲存區塊SB之目錄資料,確定儲存資料的實體位址,以讀取資料。
上述範例僅概略性地說明本發明之記憶體裝置,在斷電的情形下保護資料,以避免因斷電而遺失資料的情形發生。需注意的是,本領域具通常知識者可根據不同系統需求適當設計記憶體裝置,而不限於此,皆屬本發明之範疇。
詳細來說,請參考第3圖,第3圖為本發明實施例之目錄資料的一管理流程30之示意圖。目錄資料的管理流程30可被編譯為一程式碼,以應用於記憶體裝置20,從而根據目錄資料存取或寫入資料,管理流程30包含下列步驟:
步驟302:開始。
步驟304:於非揮發式記憶體200之記憶體空間產生虛擬位址層VAL。
步驟306:於虛擬位址層建立映射表格MT以儲存對應於儲存區塊SB之目錄資料,其中儲存區塊SB包含實體位址,實體位址為相關於記憶體裝置20之非揮發式記憶體200之記憶體空間。
步驟308:於寫入資料至記憶體裝置20時,根據實體位址,將資料寫入至非揮發式記憶體200之記憶體空間之記憶體區塊。
步驟310:當資料寫入完成時,更新儲存區塊SB之目錄資料。
步驟312:根據儲存區塊SB中的實體位址,讀取對應於實體位址之資料。
步驟314:結束。
由上述可知,根據管理流程30,記憶體裝置20將用來儲存資料的記憶體區塊的實體位址儲存於儲存區塊SB中,使主系統可透過映射表格MT搜尋儲存於儲存區塊SB中的實體位址以讀取資料,進而避免記憶體裝置20因不正常斷電且復電後所造成的資料遺失。在一實施例中,首先,於步驟304,記憶體控制器204先新增虛擬位址層VAL,並於虛擬位址層VAL建立映射表格MT以儲存對應於儲存區塊SB之目錄資料,其中儲存區塊SB包含用來儲存資料的非揮發式記憶體200之記憶體空間的實體位址。由於映射表格MT具有對應於儲存區塊SB的指向性資料,因此,記憶體控制器204透過搜尋映射表格MT中關於儲存區塊SB的指向性資料,即可對應至儲存區塊SB,進而讀取對應於不同資料的實體位址。舉例來說,請參考第4圖,第4圖為本發明實施例之映射表格MT之示意圖。如第4圖所示,映射表格MT包含有對應至儲存區塊SB_A、SB_B的指向資料Link_A、Link_B,而儲存區塊SB_A、SB_B中包含有實體位址以對應至儲存資料的記憶體區塊。
接著,於步驟308,當主系統HOTS欲寫入資料至記憶體裝置20時,記憶體控制器204先根據空白儲存區塊SB_B的實體位址,將資料寫入對應記憶體裝置20的非揮發式記憶體200之記憶體空間的記憶體區塊,並等待映射表格MT的一更新指令以更新映射表格MT中的指向資料Link_B。因此,此時映射表格MT尚未建立指向資料Link_B,在此情形下,當記憶體裝置20突然斷電且復電時,記憶體控制器204即可透過搜尋映射表格MT還原指向資料Link_B,以找回儲存區塊SB_B中對應於寫入資料的實體位址。接著,於步驟310,當資料寫入完成時,記憶體控制器204更新映射表格MT中關於儲存區塊SB之目錄資料。進一步地,當主系統欲讀取記憶體裝置20中的資料時,則記憶體控制器204讀取映射表格MT中關於儲存區塊SB的目錄資料,即可搜尋儲存區塊SB中用來儲存資料的實體位址,以讀取資料。
根據不同應用及設計理念,記憶體裝置20可以各式各樣的方式實現。舉例來說,請參考第5圖,第5圖為本發明實施例的目錄資料之另一管理流程50之示意圖。管理流程50可被編輯為一程式碼,以應用於記憶體裝置20,其包含有下列步驟:
步驟502: 開始。
步驟504: 判斷主系統有資料要寫入。若是,執行步驟506;若否,執行步驟514。
步驟506: 將記憶體裝置20的記憶體區塊中的空白區塊整合至儲存區塊SB。
步驟508: 將資料寫入儲存區塊SB中對應於實體位址的空白區塊。
步驟510: 判斷資料是否穩定。若是,執行步驟512;若否,執行步驟504。
步驟512: 將關於儲存區塊SB的目錄資料更新至映射表格MT。
步驟514: 根據儲存區塊SB所儲存關於讀取資料的實體位址,以讀取資料。
根據管理流程50,記憶體裝置20可於主系統進行資料寫入或讀取時,根據映射表格MT所儲存的指向資料Link尋找對應的儲存區塊SB,進而由儲存區塊SB確定寫入的實體位址,或者確定讀取資料的實體位址。詳細來說,於步驟504中,記憶體控制器204確定主系統將寫入資料或讀取資料。接著,請參考第6圖及第7圖,第6圖及第7圖為本發明實施例之非揮發式記憶體200之記憶體空間之虛擬位址層VAL之示意圖。如第6圖所示,於步驟506,當主系統進行資料寫入時,記憶體控制器204將非揮發式記憶體200之記憶體空間的記憶體區塊中的空白區塊的實體位址整合至儲存區塊SB_A。接著,如第7圖所示,於步驟508中,資料寫入儲存區塊SB_A中對應於實體位址的空白區塊。當資料寫入非揮發式記憶體200之記憶體空間的空白區塊後,進一步地,於步驟510判斷資料是否穩定(即寫入完成),若資料未穩定代表仍有資料需要寫入,則執行步驟504;相反地,若資料已寫入完成,則將關於儲存區塊SB_A的目錄資料更新至映射表格MT,使主系統於讀取映射表格MT時,可搜尋到儲存區塊SB_A中對應於資料的實體位址,從而讀取資料。另一方面,當主系統進行資料讀取時,於步驟514中,主系統根據儲存區塊SB所儲存關於讀取資料的實體位址,以讀取對應於實體位址的資料。
由上述可知,記憶體裝置20可先將非揮發式記憶體200之記憶體空間中的空白區塊整合為儲存區塊SB,其中,空白區塊為自記憶體裝置20中的非揮發式記憶體200之記憶體空間任意抓取的,並且,如第6圖及第7圖所示,儲存區塊SB是從記憶體裝置20的記憶體區塊末端開始存取。也就是說,當記憶體裝置20斷電且復電後,主系統可自非揮發式記憶體200之記憶體空間的末端搜尋儲存區塊SB來還原資料。如此一來,記憶體裝置20便可避免不正常斷電且復電時,資料遺失的情形發生。
根據不同應用及設計理念,記憶體裝置20可以各式各樣的方式實現。舉例來說,當目錄資料超過映射表格MT之一儲存空間時,記憶體控制器204可建立一鏈結串列(Linked List),以串列儲存區塊SB。也就是說,透過串列儲存區塊SB,可增加用來儲存目錄資料的儲存空間。具體而言,以一32位元(bit)的電腦作業系統即每單位容量512位元組(Byte)的檔案系統為例,記憶體長度為4位元組,則單個映射表格MT可儲存的記憶體數量為128個目錄資料,並且每一目錄資料可儲存512位元組。因此,單個映射表格MT可儲存65536位元組的資料。在此情形下,若目錄資料超過單個映射表格MT可儲存的容量(即65536位元組)時,則建立鏈結串列。請繼續參考第8圖,第8圖為本發明實施例之鏈結串列之示意圖。如第8圖所示,鏈結串列透過每一個儲存區域SB的指向資料Link以串列儲存區域SB,在此例中,由於每一儲存區塊SB具有512位元組,因此,串列所有的儲存區塊SB後的儲存空間即為4096位元組。
除此之外,在上述實施例中,由於映射表格MT最多可儲存128個目錄資料,因此,最多可等待128個目錄資料皆存取完成時,才執行目錄資料更新。具體而言,請參考第9圖,第9圖為本發明實施例之一映射架構之示意圖。如第9圖所示,目錄資料最多可具有128個目錄資料,其中,每一個目錄資料可對應至不同容量的儲存區塊SB,而每一儲存區塊可對應至儲存於不同記憶體區塊的資料。
需注意的是,前述實施例係用以說明本發明之精神,本領域具通常知識者當可據以做適當之修飾,而不限於此。根據不同應用及設計理念,記憶體裝置及目錄資料的管理方法可以各式各樣的方式實現。舉例來說,映射表格的儲存區塊於非揮發式記憶體之記憶體空間的存取方式,並不限於自非揮發式記憶體之記憶體空間之末端開始存取,或者,可針對進一步將不同屬性的資料分配於不同的儲存區塊等,而不限於此,皆屬本發明之範疇。
綜上所述,本發明提供一種目錄資料的管理方法及其相關記憶體裝置,尤指一種提供斷電保護功能的目錄資料的管理方法及其相關記憶體裝置,以提供使用者更佳的使用情境。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10、20‧‧‧記憶體裝置
200‧‧‧非揮發式記憶體
202‧‧‧動態隨機存取記憶體
204‧‧‧記憶體控制器
30、50‧‧‧流程
302、304、306、308、310、312、314、502、504、506、508、510、512、514‧‧‧步驟
Link、Link_A、Link_B‧‧‧指向資料
MT‧‧‧映射表格
SB、SB_A、SB_B‧‧‧儲存區塊
VAL‧‧‧虛擬位址層
第1圖為記憶體裝置之一資料存取之時序圖。 第2圖為本發明實施例之一記憶體裝置之示意圖。 第3圖為本發明實施例之一目錄資料之管理流程之示意圖。 第4圖為本發明實施例之一映射表格之示意圖。 第5圖為本發明實施例的目錄資料之另一管理流程之示意圖。 第6圖及第7圖為本發明實施例之一非揮發式記憶體之一記憶體空間之一虛擬位址層之示意圖。 第8圖為本發明實施例之一鏈結串列之示意圖。 第9圖為本發明實施例之一映射架構之示意圖。
Claims (14)
- 一種目錄資料(metadata)的管理方法,用於一記憶體裝置,包含有: 於該記憶體裝置之一非揮發式記憶體之一記憶體空間產生一虛擬位址層; 於該虛擬位址層建立一映射表格(Mapping table)以儲存對應於至少一儲存區塊之至少一目錄資料,其中該至少一儲存區塊包含至少一實體位址,該至少一實體位址相關於該記憶體空間; 於寫入至少一資料至該記憶體裝置時,根據該至少一實體位址,將該至少一資料寫入至該記憶體空間之至少一記憶體區塊;以及 當該至少一資料寫入完成時,更新該至少一儲存區塊之該至少一目錄資料。
- 如請求項1所述之管理方法,其另包含: 根據該至少一儲存區塊中的該至少一實體位址,讀取對應於該至少一實體位址之資料。
- 如請求項1所述之管理方法,其中該至少一目錄資料為對應於該至少一儲存區塊之指向性資料。
- 如請求項1所述之管理方法,其中該至少一記憶體區塊係該記憶體空間之至少一空白區塊。
- 如請求項1所述之管理方法,其中該至少一儲存區塊係自該記憶體空間之末端開始存取。
- 如請求項1所述之管理方法,其另包含: 當該至少一目錄資料超過該映射表格之一儲存空間時,建立一鏈結串列(Linked List),以串聯該至少一儲存區塊。
- 如請求項1所述之管理方法,其另包含: 當該記憶體裝置斷電且復電後,根據對應於該至少一儲存區塊之該至少一目錄資料,讀取對應於該至少一實體位址之資料。
- 一種記憶體裝置,包含有: 一非揮發式記憶體,提供一記憶體空間,該記憶體空間包含複數個記憶體區塊; 一動態隨機存取記憶體;以及 一記憶體控制器,耦接於該動態隨機存取記憶體,用來執行一管理流程,以將該動態隨機存取記憶體的資料寫入該記憶體裝置,該管理流程包含以下步驟: 於該記憶體空間產生一虛擬位址層; 於該虛擬位址層建立一映射表格以儲存對應於至少一儲存區塊之至少一目錄資料,其中該至少一儲存區塊包含至少一實體位址,該至少一實體位址相關於該記憶體空間; 於寫入至少一資料至該記憶體空間時,根據該至少一實體位址,將該至少一資料寫入至該複數個記憶體區塊之至少一記憶體區塊;以及 當該至少一資料寫入完成時,更新該至少一儲存區塊之該至少一目錄資料。
- 如請求項8所述之記憶體裝置,其中該管理流程另包含: 根據該至少一儲存區塊中的該至少一實體位址,讀取對應於該至少一實體位址之資料。
- 如請求項8所述之記憶體裝置,其中該至少一目錄資料為對應於該至少一儲存區塊之指向性資料。
- 如請求項8所述之記憶體裝置,其中該至少一記憶體區塊係該複數個記憶體區塊中之至少一空白區塊。
- 如請求項8所述之記憶體裝置,其中該至少一儲存區塊係自該記憶體裝置的該記憶體空間之末端開始存取。
- 如請求項8所述之記憶體裝置,其中該管理流程另包含: 當該至少一目錄資料超過該映射表格之一儲存空間時,建立一鏈結串列,以串聯該至少一儲存區塊。
- 如請求項8所述之記憶體裝置,其中該管理流程另包含: 當該記憶體裝置斷電且復電後,根據對應於該至少一儲存區塊之該至少一目錄資料,讀取對應於該至少一實體位址之資料。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107105204A TWI714830B (zh) | 2018-02-13 | 2018-02-13 | 目錄資料的管理方法與記憶體裝置 |
CN201810224606.1A CN110147332B (zh) | 2018-02-13 | 2018-03-19 | 目录数据的管理方法与存储器装置 |
US15/976,839 US10782895B2 (en) | 2018-02-13 | 2018-05-10 | Management method of metadata for preventing data loss and memory device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107105204A TWI714830B (zh) | 2018-02-13 | 2018-02-13 | 目錄資料的管理方法與記憶體裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201935247A true TW201935247A (zh) | 2019-09-01 |
TWI714830B TWI714830B (zh) | 2021-01-01 |
Family
ID=67542277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107105204A TWI714830B (zh) | 2018-02-13 | 2018-02-13 | 目錄資料的管理方法與記憶體裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10782895B2 (zh) |
CN (1) | CN110147332B (zh) |
TW (1) | TWI714830B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11249919B2 (en) * | 2018-07-31 | 2022-02-15 | SK Hynix Inc. | Apparatus and method for managing meta data for engagement of plural memory system to store data |
US11157207B2 (en) | 2018-07-31 | 2021-10-26 | SK Hynix Inc. | Apparatus and method for engaging plural memory system with each other to store data |
CN110781098B (zh) | 2018-07-31 | 2023-03-28 | 爱思开海力士有限公司 | 用于彼此接合多个存储器系统的设备和方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294339A1 (en) | 2005-06-27 | 2006-12-28 | Trika Sanjeev N | Abstracted dynamic addressing |
US20070094445A1 (en) | 2005-10-20 | 2007-04-26 | Trika Sanjeev N | Method to enable fast disk caching and efficient operations on solid state disks |
US8572310B2 (en) | 2007-11-06 | 2013-10-29 | Samsung Electronics Co., Ltd. | Invalidating storage area of non-volatile storage medium based on metadata |
US7873619B1 (en) | 2008-03-31 | 2011-01-18 | Emc Corporation | Managing metadata |
US8402205B2 (en) * | 2010-03-18 | 2013-03-19 | Seagate Technology Llc | Multi-tiered metadata scheme for a data storage array |
US9135181B2 (en) * | 2010-10-27 | 2015-09-15 | International Business Machines Corporation | Management of cache memory in a flash cache architecture |
WO2012082792A2 (en) * | 2010-12-13 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for auto-commit memory |
KR20120132820A (ko) * | 2011-05-30 | 2012-12-10 | 삼성전자주식회사 | 스토리지 디바이스, 스토리지 시스템 및 스토리지 디바이스의 가상화 방법 |
WO2013025540A1 (en) * | 2011-08-12 | 2013-02-21 | Sandisk Enterprise Ip Llc | Cache management including solid state device virtualization |
CN104011691B (zh) * | 2011-12-29 | 2016-12-14 | 英特尔公司 | 非易失性ram盘 |
US20130185482A1 (en) * | 2012-01-18 | 2013-07-18 | Samsung Electronics Co., Ltd. | Memory system using a storage having firmware with a plurality of features |
CN102968381A (zh) * | 2012-11-19 | 2013-03-13 | 浪潮电子信息产业股份有限公司 | 一种利用固态硬盘提高快照性能的方法 |
US9454474B2 (en) * | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US10055294B2 (en) * | 2014-01-09 | 2018-08-21 | Sandisk Technologies Llc | Selective copyback for on die buffered non-volatile memory |
EP3097489B1 (en) * | 2014-01-22 | 2020-07-01 | Hewlett-Packard Development Company, L.P. | Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region |
KR102218712B1 (ko) * | 2014-02-11 | 2021-02-22 | 삼성전자주식회사 | 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법 |
US9728278B2 (en) * | 2014-10-24 | 2017-08-08 | Micron Technology, Inc. | Threshold voltage margin analysis |
US20170242612A1 (en) * | 2016-02-18 | 2017-08-24 | Qualcomm Innovation Center, Inc. | Process data binning for memory swapping |
CN106933706A (zh) * | 2017-03-10 | 2017-07-07 | 联想(北京)有限公司 | 非易失性内存的掉电保护方法及装置 |
TWI613652B (zh) * | 2017-03-27 | 2018-02-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
CN107256196A (zh) * | 2017-06-13 | 2017-10-17 | 北京中航通用科技有限公司 | 基于闪存阵列的支持零拷贝的缓存系统及方法 |
CN107632942A (zh) * | 2017-08-29 | 2018-01-26 | 记忆科技(深圳)有限公司 | 一种固态硬盘实现lba级别trim命令的方法 |
-
2018
- 2018-02-13 TW TW107105204A patent/TWI714830B/zh active
- 2018-03-19 CN CN201810224606.1A patent/CN110147332B/zh active Active
- 2018-05-10 US US15/976,839 patent/US10782895B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN110147332B (zh) | 2021-09-14 |
US20190250833A1 (en) | 2019-08-15 |
CN110147332A (zh) | 2019-08-20 |
TWI714830B (zh) | 2021-01-01 |
US10782895B2 (en) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
US9910602B2 (en) | Device and memory system for storing and recovering page table data upon power loss | |
US10061710B2 (en) | Storage device | |
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
US9348760B2 (en) | System and method for efficient flash translation layer | |
US8407449B1 (en) | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table | |
US9058255B2 (en) | Solid state drive and method for constructing logical-to-physical table thereof | |
KR101497860B1 (ko) | 메모리 어드레스 변환 | |
US20190188130A1 (en) | Data Storage Device and Non-Volatile Memory Control Method | |
US20090327837A1 (en) | NAND error management | |
KR102216116B1 (ko) | 메모리 모듈 및 그것의 동작 방법 | |
JPH08328762A (ja) | 半導体ディスク装置及びそのメモリ管理方法 | |
JP2009276853A (ja) | フラッシュメモリ装置 | |
TW201820146A (zh) | 資料儲存裝置以及其操作方法 | |
TWI714830B (zh) | 目錄資料的管理方法與記憶體裝置 | |
US8555086B2 (en) | Encrypting data on a non-volatile memory | |
TWI237759B (en) | Method for data accessing in a computer and the computer thereof | |
JP2019133703A (ja) | 記憶システム | |
JP2004151939A (ja) | 記憶装置 | |
TWI601141B (zh) | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 | |
JP5649709B2 (ja) | メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム | |
TWI669610B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
JP2008191855A (ja) | 半導体記憶装置及びメモリ制御方法 | |
JP3526160B2 (ja) | データキャッシュ制御方法 | |
TW201939284A (zh) | 固態儲存裝置的對應表管理方法 |