TWI506417B - 處理用於具有非揮發性記憶體之一系統之不正常關機 - Google Patents

處理用於具有非揮發性記憶體之一系統之不正常關機 Download PDF

Info

Publication number
TWI506417B
TWI506417B TW101133888A TW101133888A TWI506417B TW I506417 B TWI506417 B TW I506417B TW 101133888 A TW101133888 A TW 101133888A TW 101133888 A TW101133888 A TW 101133888A TW I506417 B TWI506417 B TW I506417B
Authority
TW
Taiwan
Prior art keywords
index
page
nvm
data
pages
Prior art date
Application number
TW101133888A
Other languages
English (en)
Other versions
TW201329699A (zh
Inventor
Vadim Khmelnitsky
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of TW201329699A publication Critical patent/TW201329699A/zh
Application granted granted Critical
Publication of TWI506417B publication Critical patent/TWI506417B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Description

處理用於具有非揮發性記憶體之一系統之不正常關機
反及(NAND)快閃記憶體以及其他類型之非揮發性記憶體(「NVM」)通常用於大容量儲存器。舉例而言,消費型電子設備(諸如,攜帶型媒體播放器)常常包括用以儲存音樂、視訊及其他媒體之快閃記憶體。
NVM可包括多個索引頁面以提供邏輯位址與實體位址之間的映射。在一些狀況下,將對應於最近寫入之使用者資料的映射資訊儲存於器件之揮發性記憶體中,以便提供較快速讀出。可週期性地將此映射資訊自揮發性記憶體中清出至NVM之索引頁面,以便提供用於資訊之較長期儲存。
當具有NVM之電子器件正常關機時,可直接使用儲存於索引頁面中之資訊在揮發性記憶體中重建構邏輯至實體映射。然而,當電子器件不正常關機時,至少一些索引頁面會過時,此係因為器件可能未完全將最近之映射資訊清出至索引頁面。因此,器件可能需要掃描整個NVM以便在揮發性記憶體中重建構邏輯至實體映射。自時間角度而言,此處理程序可能為花費時間的。
揭示用於處置具有非揮發性記憶體之一系統之不正常關機的系統及方法。在一些實施例中,該系統可充分利用自索引頁面獲得之資訊,以便在一不正常關機之後更有效率地重建構邏輯至實體映射。如本文中所使用,一「索引頁面」可為儲存供一檔案系統使用之邏輯位址與資料頁面 (例如,儲存使用者資料之NVM之頁面)之實體位址之間的映射的NVM之一頁面。
在其他實施例中,該系統可藉由充分利用亦儲存於該NVM中之內容脈絡資訊來重建構邏輯至實體映射。如本文中所使用,「內容脈絡資訊」可指代在一特定時間點與該整個NVM之狀態相關聯的資訊。在其他實施例中,可結合索引頁面使用內容脈絡資訊以在一不正常關機之後重建構邏輯至實體映射。
在考慮結合隨附圖式進行之以下詳細描述後,本發明之上述及其他態樣及優點便將變得更顯而易見,其中相似參考字元貫穿本說明書指代相似零件。
提供用於處置具有非揮發性記憶體之系統之不正常關機的系統及方法。詳言之,系統之NVM介面可充分利用自索引頁面獲得之資訊,以便在一不正常關機之後更有效率地重建構邏輯至實體映射。如本文中所使用,「索引頁面」可為用於儲存供檔案系統使用之邏輯位址與資料頁面(例如,儲存使用者資料之NVM之頁面)之實體位址之間的映射的NVM之頁面。
舉例而言,NVM介面可藉由掃描索引頁面來執行重建構以獲得索引頁面之存留期(age)。接著,NVM介面可比較索引頁面之存留期與相應資料頁面之存留期,且判定一特定索引頁面是比相應資料頁面更新近(younger)(例如,更新鮮)抑或更舊(older)。
若NVM介面判定索引頁面之存留期比相應資料頁面之存留期長,則NVM介面可判定該索引頁面並不可靠(例如,該索引頁面自資料頁面得到更新時起一直未得到更新)。因此,NVM介面可掃描更新近之資料區塊以重建構邏輯至實體映射。
與此對比,若NVM介面改為判定索引頁面之存留期不如相應資料頁面之存留期更舊,則NVM介面可判定該索引頁面為可靠的(例如,在資料頁面得到更新之後或在與資料頁面得到更新相同之時間,索引頁面得到更新)。因此,NVM介面可使用儲存於索引頁面中之映射來在揮發性記憶體中重建構映射。
在一些實施例中,系統可藉由充分利用儲存於NVM中之內容脈絡資訊來重建構邏輯至實體映射。如本文中所使用,「內容脈絡資訊」可指代在特定時間點與整個NVM之狀態相關聯的資訊。在其他實施例中,可結合索引頁面使用內容脈絡資訊以在一不正常關機之後重建構邏輯至實體映射。
圖1說明電子器件100之方塊圖。在一些實施例中,電子器件100可為或可包括攜帶型媒體播放器、蜂巢式電話、袖珍型個人電腦、個人數位助理(「PDA」)、桌上型電腦、膝上型電腦及任何其他合適類型之電子器件。
電子器件100可包括系統單晶片(「SoC」)110及非揮發性記憶體(「NVM」)120。非揮發性記憶體120可包括基於浮動閘極或電荷收集技術之NAND快閃記憶體、反或 (NOR)快閃記憶體、可抹除可程式化唯讀記憶體(「EPROM」)、電子可擦可程式化唯讀記憶體(「EEPROM」)、鐵電RAM(「FRAM」)、磁阻RAM(「MRAM」)或其任何組合。
可將NVM 120組織成「區塊」(其可為最小可抹除單位),且可進一步將NVM 120組織成「頁面」(其可為可被程式化或讀取之最小單位)。在一些實施例中,NVM 120可包括多個積體電路,其中每一積體電路可具有多個區塊。來自相應積體電路的記憶體位置(例如,區塊或區塊之頁面)可形成「超級區塊」。可使用實體位址(例如,實體頁面位址或實體區塊位址)來提及NVM 120之每一記憶體位置(例如,頁面或區塊)。
NVM 120之一或多個頁面可為資料頁面,其可用於儲存與SoC 110或器件100之組件之一般操作相關聯的資料。另外,NVM 120之一或多個頁面可用於儲存索引表。在邏輯區段(sector)直接映射至實體頁面之實施例中,邏輯至實體映射可儲存於索引表中。如本文中所使用,「邏輯至實體映射」可為一或多個邏輯位址(例如,邏輯區段)與資料頁面之實體頁面位址之間的映射。舉例而言,索引表可保持NVM 120之資料頁面之實體位址。
在一些狀況下,索引表可包括多個索引頁面,其中每一索引頁面可將邏輯位址映射至資料頁面之一或多個實體位址。將結合圖3更詳細地描述索引表及索引頁面。
系統單晶片110可包括SoC控制電路112、記憶體114及 NVM介面118。SoC控制電路112可控制SoC 110及SoC 110或器件100之其他組件的一般操作及功能。舉例而言,回應於使用者輸入及/或應用程式或作業系統之指令,SoC控制電路112可向NVM介面118發佈讀取或寫入命令以自NVM 120獲得資料或將資料儲存於NVM 120中。為了清晰起見,可將SoC控制電路112可請求以用於儲存或擷取的資料稱為「使用者資料」,即使資料可能並非與使用者或使用者應用程式直接相關聯亦如此。實情為,使用者資料可為由SoC控制電路112產生或獲得(例如,經由應用程式或作業系統)的任何合適之數位資訊序列。
SoC控制電路112可包括可操作以驅動電子器件100之功能性的硬體、軟體及韌體之任何組合,及任何組件、電路或邏輯。舉例而言,SoC控制電路112可包括在儲存於NVM 120或記憶體114中之軟體/韌體的控制下操作的一或多個處理器。
記憶體114可包括任何合適類型之揮發性記憶體,諸如隨機存取記憶體(「RAM」)(例如,靜態RAM(「SRAM」)、動態隨機存取記憶體(「DRAM」)、同步動態隨機存取記憶體(「SDRAM」)、雙資料速率(「DDR」)RAM)、快取記憶體、唯讀記憶體(「ROM」)或其任何組合。記憶體114可包括一資料源,該資料源可臨時儲存使用者資料以用於程式化至非揮發性記憶體120中或自非揮發性記憶體120讀取。在一些實施例中,記憶體114可充當實施為SoC控制電路112之部分的任何處理器之主記憶體。
記憶體114可包括查找表及/或索引表快取記憶體。查找表可保持儲存於NVM 120中之索引表之位置(例如,實體位址)。索引表快取記憶體可保持最近寫入之邏輯位址(例如,邏輯區段)之實體位址以便提供較快速讀出。週期性地,可將儲存於索引表快取記憶體中之資訊自索引表快取記憶體清出至NVM 120之索引頁面。
在一些實施例中,索引表快取記憶體之大小可為索引頁面之大小的一小分率。藉由儲存索引頁面而非索引表快取記憶體中之大多數映射資訊,可釋放記憶體114中之更多空間以用於其他目的。將結合圖3更詳細地描述查找表及索引表快取記憶體。
NVM介面118可包括經組態以充當SoC控制電路112與NVM 120之間的介面或驅動程式的硬體、軟體及/或韌體之任何合適組合。對於包括於NVM介面118中之任何軟體模組,可將相應程式碼儲存於NVM 120或記憶體114中。
NVM介面118可執行允許SoC控制電路112存取NVM 120及管理NVM 120之記憶體位置(例如,頁面、區塊、超級區塊、積體電路)及儲存於NVM 120中之資料(例如,使用者資料)的多種功能。舉例而言,NVM介面118可解譯來自SoC控制電路112之讀取或寫入請求,執行損耗均衡,及產生與NVM 120之匯流排協定相容的讀取及程式化指令。
雖然NVM介面118及SoC控制電路112經展示為單獨模組,但此情形僅意欲簡化對本發明之實施例的描述。應理解,此等模組可共用硬體組件、軟體組件或硬體組件與軟 體組件兩者。舉例而言,SoC控制電路112可執行用於NVM介面118之基於軟體之記憶體驅動程式。
在一些實施例中,電子器件100可包括一目標器件(諸如,快閃記憶體隨身碟或安全數位(「SD」)卡),該目標器件包括NVM 120或NVM介面118之一些部分或所有部分(例如,下文所論述之轉譯層)。在此等實施例中,SoC 110或SoC控制電路112可充當目標器件之主機控制器。舉例而言,作為主機控制器,SoC 110可向目標器件發佈讀取及寫入請求。
圖2說明根據各種實施例之電子器件200的方塊圖,其可更詳細地說明電子器件100(圖1)之一些韌體、軟體及/或硬體組件。電子器件200可具有上文結合圖1所描述之特徵及功能性中的任一者,且反之亦然。如所展示,虛線將該等層劃界。應理解,對哪些組件屬於劃界線內的描繪僅為說明性的且一或多個組件可隸屬於一不同層。
電子器件200可包括檔案系統210、NVM驅動程式212、NVM匯流排控制器216及NVM 220。在一些實施例中,檔案系統210及NVM驅動程式212可為軟體或韌體模組,且NVM匯流排控制器216及NVM 220可為硬體模組。因此,在此等實施例中,NVM驅動程式212可表示NVM介面218之軟體或韌體態樣,且NVM匯流排控制器216可表示NVM介面218之硬體態樣。
檔案系統210可包括任何合適類型之檔案系統(諸如,檔案分配表(「FAT」)檔案系統或擴展階層式檔案系統 (「HFS+」)),且可為電子器件200之作業系統的部分(例如,圖1之SoC控制電路112的部分)。在一些實施例中,檔案系統210可包括快閃檔案系統,其可提供頁面之邏輯至實體映射。在此等實施例中,檔案系統210可執行下文所論述之NVM驅動程式212的一些功能性或所有功能性,且因此檔案系統210及NVM驅動程式212可為或可並非單獨模組。
檔案系統210可管理用於應用程式及作業系統之檔案及資料夾結構。檔案系統210可在執行於電子器件200上之應用程式或作業系統之控制下操作,且可在應用程式或作業系統請求自NVM 220讀取資訊或將資訊儲存於NVM 220中時,向NVM驅動程式212提供寫入及讀取命令。連同每一讀取或寫入命令一起,檔案系統210可提供邏輯位址以指示應自何處讀取使用者資料或將使用者資料寫入何處,諸如,具有頁面偏移之邏輯頁面位址或邏輯區塊位址(「LBA」)。
檔案系統210可將讀取及寫入請求提供至並非直接與NVM 220相容之NVM驅動程式212。舉例而言,邏輯位址可使用對於基於硬碟機之系統典型的慣例或協定。不同於快閃記憶體,基於硬碟機之系統可在不首先執行區塊抹除的情況下覆寫記憶體位置。此外,硬碟機可能無需損耗均衡來增加器件之平均壽命。因此,NVM介面218可執行具有記憶體特定性、供應商特定性或具有記憶體特定性與供應商特定性兩者的任何功能,以處置檔案系統請求且以適 合於NVM 220之方式執行其他管理功能。
NVM驅動程式212可包括轉譯層214。在一些實施例中,轉譯層214可為或可包括快閃轉譯層(「FTL」)。關於寫入命令,轉譯層214可將所提供之邏輯位址映射至NVM 220上之自由的、經抹除之實體位置。關於讀取命令,轉譯層214可使用所提供之邏輯位址來判定儲存所請求資料之實體位址。因為每一NVM可取決於NVM之大小或供應商而具有不同佈局,所以此映射操作可具有記憶體特定性及/或供應商特定性。除執行邏輯至實體位址映射之外,轉譯層214亦可執行任何其他合適功能。舉例而言,轉譯層214可執行可為快閃轉譯層之典型功能的其他功能中之任一者,諸如廢棄項目收集及損耗均衡。
NVM驅動程式212可與NVM匯流排控制器216介接以完成NVM存取命令(例如,程式化、讀取及抹除命令)。匯流排控制器216可充當至NVM 220之硬體介面,且可使用NVM 220之匯流排協定、資料速率及其他規格來與NVM 220通信。
NVM介面218可基於記憶體管理資料(本文中有時被稱為「後設資料」)而管理NVM 220。後設資料可由NVM驅動程式212產生或可由在NVM驅動程式212之控制下操作之模組產生。舉例而言,後設資料可包括用於管理邏輯位址與實體位址之間的映射、不良區塊管理、損耗均衡、用於偵測或校正資料誤差之誤差校正碼(「ECC」)或其任何組合的任何資訊。後設資料可包括由檔案系統210連同使用者 資料一起提供之資料(諸如,邏輯位址)。因此,大體而言,「後設資料」可指代關於使用者資料或與使用者資料有關或大體上用以管理非揮發性記憶體之操作及記憶體位置的任何資訊。
NVM介面218可經組態以將後設資料儲存於NVM 220中。在一些實施例中,NVM介面218可將與使用者資料相關聯之後設資料儲存於儲存有使用者資料的相同記憶體位置(例如,頁面)處。舉例而言,NVM介面218可將使用者資料、相關聯之邏輯位址及用於使用者資料之ECC資料儲存於NVM 220之一或多個記憶體位置處。NVM介面218亦可將關於使用者資料之其他類型的後設資料儲存於相同記憶體位置中。
NVM介面218可儲存邏輯位址,使得在NVM 220電力開啟時或在NVM 220之操作期間,電子器件200可判定何資料駐留於彼位置處。詳言之,因為檔案系統210可根據使用者資料之邏輯位址而非使用者資料之實體位址來提及使用者資料,所以NVM介面218可將使用者資料與邏輯位址儲存在一起以維護其關聯性。因此,舉例而言,即使NVM 220中維護實體至邏輯映射之索引表變得過時,NVM介面218亦仍可判定電子器件200電力開啟或重啟動時之適當映射。
現參看圖3,圖3展示說明用於將邏輯位址映射至實體頁面之實例記憶體映射架構300的方塊圖。將架構300劃分成揮發性記憶體(虛線左側所展示)及非揮發性記憶體(虛線右 側所展示)。查找表302及索引表快取記憶體304儲存於揮發性記憶體(例如,圖1之記憶體114)中,而索引表306及資料頁面308儲存於非揮發性記憶體(例如,圖1之NVM 120或圖2之NVM 220)中。如圖3中所展示,資料頁面308包括於資料區塊1至N中。
索引表306可包括索引頁面1至N。索引表306之索引頁面1至N中之每一者可儲存一或多個邏輯至實體映射。舉例而言,如圖3中所展示,索引表306之索引頁面1可將邏輯位址映射至資料區塊1及資料區塊N之一或多個資料頁面。
查找表302可保持索引表306之位置(例如,實體位址)。舉例而言,查找表302可保持形成索引表306之部分的索引頁面1至N之邏輯至實體映射。另外,查找表302亦可儲存索引表快取記憶體304之記憶體位置。
索引表快取記憶體304可保持最近寫入或存取之邏輯位址之實體位址。亦即,快取記憶體304可保持用於當前正被程式化或最近已被程式化之資料頁面308的邏輯至實體映射。週期性地,可將儲存於快取記憶體304中之資訊清出至索引表306之索引頁面1至N。因此,快取記憶體304有時可提供亦可能儲存於索引表306中的映射之冗餘複本。
當電子器件正常關機時(例如,儲存於快取記憶體304中之所有資訊已被清出至索引表306),該器件可假定:儲存於索引頁面1至N中之邏輯至實體映射為有效的。因此,在器件開機或重啟動之後,器件可直接使用儲存於索引頁面1至N中之映射來在揮發性記憶體中重建構映射。舉例而 言,NVM介面(例如,圖1之NVM介面118或圖2之NVM介面218)可將索引頁面1至N之邏輯至實體映射複製至快取記憶體304。因為索引頁面1至N可能僅佔資料頁面308之大小之一小分率,所以相較於藉由掃描整個NVM獲得邏輯至實體映射而言,此處理程序可能更有效率。
與此對比,當電子器件不正常關機時(例如,儲存於快取記憶體304中之資訊中的至少一些資訊未被清出至索引表306),該器件可能不能夠依賴於儲存於索引表306中之資訊。詳言之,索引表306可能未捕獲最近寫入或抹除之使用者資料。
習知地,一旦器件重啟動,便假定:儲存於索引表306中之邏輯至實體映射為無效的。因此,器件可進行掃描NVM之資料區塊以便在快取記憶體304中重建構邏輯至實體映射。舉例而言,器件可藉由讀取與資料區塊相關聯之區塊目錄(「TOC」)來掃描資料區塊。舉例而言,在圖3中所展示之實例中,區塊TOC 1可與資料區塊1相關聯,區塊TOC N可與資料區塊N相關聯,等等。每一區塊TOC可儲存於相應資料區塊中,且可包括將資料區塊之資料頁面映射至相應邏輯位址之資訊。在習知系統中,區塊TOC可僅包括用於經程式化之每一頁面之邏輯位址(例如,LBA或邏輯頁碼)。在其他實施例中,區塊TOC亦可包括對頁面作出之更新之相對存留期(例如,當相對於其他資料及/或索引頁面而言頁面已得到更新時)。在此組態下,區塊TOC可包括用於經程式化之每一資料及/或索引頁面的邏輯 位址-存留期對。
如先前所論述,掃描NVM之每一資料區塊之處理程序可能為耗時的且效率低的。因此,代替自動掃描NVM之所有資料區塊,器件可充分利用自其他來源所獲得之資訊(例如,索引頁面及/或內容脈絡資訊),以便在不正常關機之後更有效率地重建構邏輯至實體映射。現轉向圖4至圖7,諸圖展示根據本發明之各種實施例之說明性處理程序的流程圖。此等處理程序可由系統之一或多個組件(例如,圖1之電子器件100或圖2之電子器件200)執行。舉例而言,可由NVM介面(例如,圖1之NVM介面118或圖2之NVM介面218)來執行圖4至圖7之處理程序中的步驟中之至少一些步驟。另外,熟習此項技術者將瞭解,該等步驟中之至少一些步驟可由控制電路(例如,圖1之SoC控制電路112)執行。
首先轉向圖4,圖4展示用於處置不正常關機事件之處理程序400。處理程序400可自步驟402開始,且在步驟404處,NVM介面可判定不正常關機事件已發生。
在步驟406處,NVM介面可掃描NVM(例如,圖1之NVM 120或圖2之NVM 220)之多個索引頁面(例如,圖3之索引頁面1至N),以判定索引頁面之存留期。索引頁面之存留期可為彼索引頁面之可靠性的指示。
繼續至步驟408,NVM介面可比較索引頁面之存留期與對應於索引頁面的NVM之資料頁面之存留期。基於此比較,NVM介面可判定特定索引頁面是比相應資料頁面更新 近(例如,更新鮮)抑或更舊。
熟習此項技術者將瞭解,任何合適參數(例如,儲存為後設資料之一或多個參數)可用於比較索引頁面與相應資料頁面之相對存留期。舉例而言,可使用可能與頁面之存留期成反比之計數器(例如,時間較舊之頁面可與較小計數器相關聯,而時間較近之頁面可與較大計數器相關聯)。
比較索引頁面之存留期與相應資料頁面之存留期之後,處理程序400可移至步驟410。在步驟410處,NVM介面可至少部分基於該比較而判定每一索引頁面之可靠性。
詳言之,若NVM介面判定索引頁面之存留期比相應資料頁面之存留期更舊,則NVM介面可判定該索引頁面並不可靠且因此無效(例如,索引頁面自相應資料頁面得到更新時起一直未得到更新)。因此,NVM介面可掃描更新近之資料區塊以重建構對應於索引頁面之邏輯位址之邏輯至實體映射。
與此對比,若NVM介面改為判定索引頁面之存留期不如相應資料頁面之存留期更舊(例如,索引頁面之存留期比相應資料頁面之存留期更新近或與相應資料頁面之存留期相同),則NVM介面可判定該索引頁面為可靠的且因此為有效的(例如,在相應資料頁面得到更新之後或在與相應資料頁面得到更新相同之時間,索引頁面得到更新)。因此,可將儲存於索引頁面中之邏輯至實體映射視為有效的,且NVM介面可使用索引頁面之映射來在揮發性記憶體 中重建構映射。處理程序400可接著在步驟412處結束。
藉由使用此方法,NVM介面可避免掃描NVM之每個資料區塊,而改為直接使用索引頁面之子集(例如,有效索引頁面)來在揮發性記憶體中重建構邏輯至實體映射。此外,因為無效的索引頁面可能構成總索引頁面數目之一小部分,所以NVM介面可能僅需要掃描對應於無效索引頁面之邏輯位址的資料區塊之小子集。因此,此方法可顯著減少用於在不正常關機事件之後重建構邏輯至實體映射所需之時間量。
現轉向圖5,圖5展示用於比較NVM(例如,圖1之NVM 120或圖2之NVM 220)之索引頁面之存留期與資料頁面之存留期的處理程序500。在一些實施例中,處理程序500可表示處理程序400(圖4)之比較步驟408及判定步驟410之更詳細視圖。
處理程序500可在步驟502處開始,且在步驟504處,NVM介面可選擇儲存於NVM中之索引頁面。舉例而言,NVM介面可自索引表306(圖3)選擇索引頁面。
接著,在步驟506處,NVM介面可判定索引頁面之存留期是否比相應資料頁面之存留期更舊。舉例而言,NVM介面可判定索引頁面之計數器是否大於相應資料頁面之計數器,且藉此判定該索引頁面是否有效。若NVM介面判定索引頁面之存留期不如相應資料頁面之存留期更舊(例如,索引頁面之計數器與相應資料頁面之計數器相同或大於相應資料頁面之計數器),則處理程序500可移至步驟508。 亦即,NVM介面已判定索引頁面為有效索引頁面。
在步驟508處,NVM介面可判定是否存在尚未選擇之額外索引頁面。若在步驟508處NVM介面判定不存在額外索引頁面,則處理程序500可在步驟510處結束。若在步驟508處NVM介面改為判定存在額外索引頁面,則處理程序500可返回至步驟504,在步驟504中,NVM介面可選擇另一索引頁面。
返回參看步驟506,若NVM介面改為判定索引頁面之存留期比相應資料頁面之存留期更舊(例如,索引頁面之計數器小於相應資料頁面之計數器),則處理程序500可移至步驟512。亦即,NVM介面已判定索引頁面為無效索引頁面。
在步驟512處,NVM介面可掃描具有存留期比索引頁面之存留期更新近的資料頁面的NVM之一或多個資料區塊。處理程序500可接著移至步驟514。
在步驟514處,NVM介面可選擇該一或多個資料區塊中之一者,其中所選定資料區塊包括與索引頁面相關聯之一或多個資料頁面(例如,索引頁面可儲存對應於所選定資料區塊之一或多個資料頁面的邏輯至實體映射)。
接著,在步驟516處,NVM介面可判定該一或多個資料頁面之存留期是否比索引頁面之存留期更新近。若在步驟516處NVM介面判定該一或多個資料頁面之存留期不如索引頁面之存留期更新近,則處理程序500可移至步驟518。
在步驟518處,NVM介面可判定在該一或多個資料區塊 中是否存在額外資料區塊。若在步驟518處NVM介面判定存在額外資料區塊,則處理程序500可移至步驟514。在步驟514處,NVM介面可選擇具有與索引頁面相關聯之一或多個資料頁面的另一資料區塊。若在步驟518處NVM介面判定不存在額外資料區塊,則處理程序500可移至步驟508,在步驟508中,NVM介面可判定是否存在額外索引頁面。
返回參看步驟516,若NVM介面改為判定該一或多個資料頁面之存留期比索引頁面之存留期更新近,則處理程序500可移至步驟520。在步驟520處,NVM介面可將索引頁面複製至揮發性記憶體(例如,圖1之記憶體114)中之索引表快取記憶體(例如,圖3之索引表快取記憶體304)。
在步驟522處,NVM介面可使用所選定資料區塊來更新快取記憶體之一或多個項目。舉例而言,NVM介面可使用所選定資料區塊重建構對應於索引頁面之一或多個邏輯位址之邏輯至實體映射。
在一些實施例中,NVM介面可藉由讀取所選定資料區塊之區塊TOC(例如,圖3之資料區塊1之區塊TOC 1或資料區塊N之區塊TOC N)來重建構邏輯至實體映射。舉例而言,若除邏輯至實體映射之外區塊TOC亦包括頁面更新之相對存留期,則NVM介面可藉由僅參考區塊TOC來獲得經更新之邏輯至實體映射。
在其他實施例中,NVM介面可藉由掃描儲存於所選定資料區塊中之後設資料來重建構邏輯至實體映射。舉例而 言,若區塊TOC僅包括經程式化之頁面之邏輯位址,則NVM介面可藉由掃描後設資料來判定頁面之存留期且獲得經更新之邏輯至實體映射。在更新索引頁面之一或多個項目之後,處理程序500可移至步驟522。在一些實施例中,NVM介面可藉由經重建構之邏輯至實體映射來更新索引表(例如,圖3之索引表306)。
處理程序500接著可移至步驟518,在步驟518中,NVM介面可判定是否存在額外資料區塊。
現參看圖6,圖6展示用於使用內容脈絡資訊處置不正常關機事件之說明性處理程序600之流程圖。詳言之,NVM介面可藉由充分利用儲存於NVM(例如,圖1之NVM 120或圖2之NVM 220)中之內容脈絡資訊來重建構邏輯至實體映射。如本文中所使用,「內容脈絡資訊」可指代在特定時間點與整個NVM之狀態相關聯的資訊。舉例而言,內容脈絡資訊可包括在特定時間用於NVM之所有資料區塊之邏輯至實體映射。
在一些實施例中,內容脈絡資訊可儲存於NVM之一或多個指定區塊上。舉例而言,返回參看圖3,內容脈絡區塊310可為用於儲存內容脈絡資訊的NVM之區塊。
返回參看圖6,處理程序600可自步驟602處開始,且在步驟604處,NVM介面可偵測不正常關機事件已發生。接著,在步驟606處,NVM介面可搜尋在不正常關機事件之前儲存於NVM中(例如,圖3之內容脈絡區塊310中)之內容脈絡資訊。亦即,NVM介面可獲得在不正常關機事件發生 之前保存於NVM中之內容脈絡資訊之最新複本。在搜尋內容脈絡資訊之後,處理程序600可移至步驟608。
在步驟608處,NVM介面可將內容脈絡資訊(例如,內容脈絡資訊之最新複本)載入至揮發性記憶體(例如,圖1之記憶體114)中。舉例而言,NVM介面可將內容脈絡資訊載入至揮發性記憶體之快取記憶體(例如,圖3中之索引表快取記憶體304)及/或查找表(例如,圖3之查找表302)中。
接著,在步驟610處,NVM介面可識別存留期比所載入之內容脈絡資訊之存留期更新近的NVM之一或多個資料區塊(例如,該一或多個資料區塊之計數器大於儲存內容脈絡資訊之內容脈絡區塊之計數器)。詳言之,此等資料區塊可包括尚未藉由內容脈絡資訊而捕獲的經更新之邏輯至實體映射。處理程序600可接著進行至步驟612。
在步驟612處,NVM介面可執行一或多個資料區塊之完全復原。舉例而言,NVM介面可掃描一或多個資料區塊(例如,讀取資料區塊之一或多個區塊TOC及/或後設資料)以獲得邏輯至實體映射。若最近已保存內容脈絡資訊,則用於重建構邏輯至實體映射之時間減少,此係因為僅需對資料區塊之較小子集執行完全復原。
處理程序600可接著在步驟614處結束。關於完全復原處理程序之更詳細描述可見於Wakrat等人於2009年7月24日申請之題為「復原索引頁面(Restore Index Page)」之美國專利申請案第12/509,071號中,該申請案藉此以全文引用之方式併入本文中。
現參看圖7,圖7展示用於使用混合方法處置不正常關機事件之說明性處理程序700之流程圖。詳言之,NVM介面可藉由充分利用內容脈絡資訊與索引頁面兩者來重建構邏輯至實體映射。
處理程序700可自步驟702處開始,且在步驟704處,NVM介面可偵測不正常關機事件已發生。接著,在步驟706處,NVM介面可使用內容脈絡資訊獲得用於NVM之一組資料區塊的邏輯至實體映射。舉例而言,該組資料區塊可為自最後保存內容脈絡資訊時起一直未得到更新之彼等資料區塊。
繼續至步驟708,NVM介面可針對NVM之剩餘資料區塊重建構邏輯至實體映射。舉例而言,NVM介面可使用一或多個索引頁面來重建構邏輯至實體映射。剩餘資料區塊可包括尚未藉由內容脈絡資訊捕獲之彼等資料區塊(例如,自最後保存內容脈絡資訊時起已得到更新之資料區塊)。
NVM介面可使用類似於處理程序400(圖4)及處理程序500(圖5)之處理程序,來重建構針對剩餘資料區塊之邏輯至實體映射。舉例而言,一或多個索引頁面可儲存剩餘資料區塊之實體位址與相應邏輯位址之間的映射。詳言之,NVM介面可判定一或多個索引頁面之存留期是否比相應資料頁面之存留期更舊。
若NVM介面判定一或多個索引頁面之存留期比相應資料頁面之存留期更舊,則NVM介面可藉由掃描剩餘資料區塊之至少一子集來執行完全復原。藉由掃描剩餘資料區塊之 至少一子集,NVM介面可獲得對應於一或多個索引頁面之邏輯位址之邏輯至實體映射。NVM介面接著可將索引頁面複製至揮發性記憶體之快取記憶體(例如,圖3之索引表快取記憶體304),且基於邏輯至實體映射而更新快取記憶體之項目。處理程序700可接著在步驟710處結束。
因此,因為可結合索引頁面使用內容脈絡資訊以重建構邏輯至實體映射,所以可進一步減少在系統重啟動之後需要處理之資訊的量。詳言之,可能僅需要對資料區塊總數目之較小子集執行完全復原。此舉可改良系統效率且減少自不正常關機恢復所必要之時間量。
應理解,圖4至圖7之處理程序400、500、600及700僅為說明性的。在不脫離本發明之範疇的情況下,可移除、修改或組合該等步驟中之任一者,且可添加任何額外步驟。
呈現本發明之所描述之實施例以用於說明目的而非限制目的。
100‧‧‧電子器件
110‧‧‧系統單晶片(SoC)
112‧‧‧系統單晶片(SoC)控制電路
114‧‧‧記憶體
118‧‧‧非揮發性記憶體(NVM)介面
120‧‧‧非揮發性記憶體(NVM)
200‧‧‧電子器件
210‧‧‧檔案系統
212‧‧‧非揮發性記憶體(NVM)驅動程式
214‧‧‧轉譯層
216‧‧‧非揮發性記憶體(NVM)匯流排控制器
218‧‧‧非揮發性記憶體(NVM)介面
220‧‧‧非揮發性記憶體(NVM)
300‧‧‧記憶體映射架構
302‧‧‧查找表
304‧‧‧索引表快取記憶體
306‧‧‧索引表
308‧‧‧資料頁面
310‧‧‧內容脈絡區塊
400‧‧‧用於處置不正常關機事件之處理程序
500‧‧‧用於比較NVM之索引頁面之存留期與資料頁面之存留期的處理程序
600‧‧‧用於使用內容脈絡資訊處置不正常關機事件之說明性處理程序
700‧‧‧用於使用混合方法處置不正常關機事件之說明性處理程序
圖1及圖2為根據本發明之各種實施例組態之電子器件的方塊圖;圖3為根據本發明之各種實施例之記憶體映射架構的說明性方塊圖;圖4為根據本發明之各種實施例的用於處置不正常關機事件之說明性處理程序的流程圖;圖5為根據本發明之各種實施例的用於比較索引頁面之存留期與資料頁面之存留期的說明性處理程序的流程圖; 圖6為根據本發明之各種實施例的用於處置不正常關機事件之另一說明性處理程序的流程圖;及圖7為根據本發明之各種實施例的用於處置不正常關機事件之又一說明性處理程序的流程圖。
100‧‧‧電子器件
110‧‧‧系統單晶片(SoC)
112‧‧‧系統單晶片(SoC)控制電路
114‧‧‧記憶體
118‧‧‧非揮發性記憶體(NVM)介面
120‧‧‧非揮發性記憶體(NVM)

Claims (10)

  1. 一種用於自一器件故障恢復之方法,該方法包含:偵測一不正常關機事件已發生;掃描一非揮發性記憶體(「NVM」)之複數個索引頁面,以獲得該複數個索引頁面之存留期,該複數個索引頁面係儲存於該NVM上,且其中該掃描該複數個索引頁面潛在地(potentially)避免掃描該NVM之每個資料區塊;比較該複數個索引頁面之該等存留期與對應於該複數個索引頁面的該NVM之資料頁面之存留期;至少部分基於該比較,判定該複數個索引頁面中之每一索引頁面之可靠性;及選擇性地使用一索引頁面,以基於該索引頁面之該經判定之可靠性而重建構一邏輯至實體映射。
  2. 如請求項1之方法,其中該複數個索引頁面中之每一索引頁面將至少一邏輯位址映射至該等資料頁面之至少一實體位址。
  3. 如請求項1之方法,其中比較進一步包含:對於該複數個索引頁面中之每一索引頁面,判定該索引頁面之一存留期是否比相應資料頁面之複數個存留期更舊;及回應於判定該索引頁面之該存留期不如該等相應資料頁面之該複數個存留期更舊,判定該索引頁面為可靠的。
  4. 如請求項3之方法,其中回應於判定該索引頁面之該存 留期比該等相應資料頁面之該複數個存留期更舊,判定該索引頁面為不可靠的。
  5. 如請求項4之方法,其進一步包含:掃描具有存留期比該索引頁面之該存留期更新近的資料頁面的該NVM之至少一資料區塊。
  6. 如請求項5之方法,其進一步包含:判定該至少一資料區塊包含與該索引頁面相關聯之至少一資料頁面;判定該至少一資料頁面之該存留期是否比該索引頁面之該存留期更新近;及回應於判定該至少一資料頁面之該存留期比該索引頁面之該存留期更新近,將該索引頁面複製至揮發性記憶體中之一快取記憶體。
  7. 如請求項6之方法,其進一步包含:使用該至少一資料區塊來更新該快取記憶體之至少一項目。
  8. 如請求項7之方法,其中該更新進一步包含:使用該至少一資料區塊來重建構對應於該索引頁面之邏輯位址之邏輯至實體映射。
  9. 如請求項8之方法,其中該重建構進一步包含:掃描儲存於該NVM之該至少一資料區塊中之後設資料。
  10. 如請求項8之方法,其中該掃描該NVM進一步包含:讀取該至少一資料區塊之一區塊目錄。
TW101133888A 2011-09-16 2012-09-14 處理用於具有非揮發性記憶體之一系統之不正常關機 TWI506417B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/234,934 US9104614B2 (en) 2011-09-16 2011-09-16 Handling unclean shutdowns for a system having non-volatile memory

Publications (2)

Publication Number Publication Date
TW201329699A TW201329699A (zh) 2013-07-16
TWI506417B true TWI506417B (zh) 2015-11-01

Family

ID=47002643

Family Applications (2)

Application Number Title Priority Date Filing Date
TW102110801A TWI554877B (zh) 2011-09-16 2012-09-14 處理用於具有非揮發性記憶體之一系統之不正常關機
TW101133888A TWI506417B (zh) 2011-09-16 2012-09-14 處理用於具有非揮發性記憶體之一系統之不正常關機

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW102110801A TWI554877B (zh) 2011-09-16 2012-09-14 處理用於具有非揮發性記憶體之一系統之不正常關機

Country Status (7)

Country Link
US (1) US9104614B2 (zh)
EP (1) EP2570927B1 (zh)
JP (1) JP5702348B2 (zh)
KR (2) KR101450396B1 (zh)
CN (1) CN102999430B (zh)
TW (2) TWI554877B (zh)
WO (1) WO2013040236A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5874525B2 (ja) * 2012-05-11 2016-03-02 ソニー株式会社 制御装置、記憶装置、記憶制御方法
US9836353B2 (en) * 2012-09-12 2017-12-05 International Business Machines Corporation Reconstruction of system definitional and state information
AT514444A2 (de) * 2013-06-24 2015-01-15 Fts Computertechnik Gmbh Verfahren und Vorrichtung zur zeitrichtigen Datenübergabe an die zyklischen Tasks in einem verteilten Echtzeitsystem
US9829966B2 (en) 2014-09-15 2017-11-28 Apple Inc. Method for preparing a system for a power loss
US10331552B2 (en) 2015-03-10 2019-06-25 Toshiba Memory Corporation Storage device and memory system
KR102403202B1 (ko) 2015-03-13 2022-05-30 삼성전자주식회사 메타 데이터 관리자를 포함하는 메모리 시스템 및 동작 방법
FR3036205B1 (fr) * 2015-05-13 2019-05-24 Thales Systeme informatique de divertissement en vol, embarque a bord d'un aeronef
US9911487B2 (en) * 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory
US10120823B2 (en) * 2015-09-25 2018-11-06 Toshiba Memory Corporation Host-safe firmware upgrade of a PCI express device
TWI607309B (zh) 2016-03-16 2017-12-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
KR102653401B1 (ko) * 2016-07-18 2024-04-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US20180239532A1 (en) 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US10359955B2 (en) * 2017-02-23 2019-07-23 Western Digital Technologies, Inc. Data storage device configured to perform a non-blocking control update operation
US20180364937A1 (en) 2017-06-20 2018-12-20 Samsung Electronics Co., Ltd. System and method for managing memory device
KR20200113387A (ko) 2019-03-25 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US10942659B2 (en) * 2019-06-03 2021-03-09 International Business Machines Corporation Persistent logical to virtual table
CN112148645A (zh) * 2019-06-28 2020-12-29 北京忆芯科技有限公司 去分配命令处理方法及其存储设备
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase
CN114510198B (zh) * 2022-02-16 2023-06-30 北京中电华大电子设计有限责任公司 一种提高nvm擦写效率的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111443A1 (en) * 2001-05-30 2004-06-10 Wong Thomas K. Apparatus and methods for caching objects using main memory and persistent memory
US20050131853A1 (en) * 2003-12-11 2005-06-16 Sybase, Inc. Database System Providing Self-Tuned Parallel Database Recovery
TW200530813A (en) * 2004-03-02 2005-09-16 Infortrend Technology Inc Filesystem journaling architecture and data writing method therefor
US20070300037A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Persistent flash memory mapping table

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397351B1 (en) 1998-09-28 2002-05-28 International Business Machines Corporation Method and apparatus for rapid data restoration including on-demand output of sorted logged changes
US7137026B2 (en) 2001-10-04 2006-11-14 Nokia Corporation Crash recovery system
KR100449708B1 (ko) * 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
US20030220949A1 (en) 2002-01-22 2003-11-27 Columbia Data Products, Inc. Automatic deletion in data storage management
US7051050B2 (en) 2002-03-19 2006-05-23 Netwrok Appliance, Inc. System and method for restoring a single file from a snapshot
US8095511B2 (en) 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
KR100843543B1 (ko) 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
TW200828273A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Hard disk cache device and method
US7721040B2 (en) * 2007-01-18 2010-05-18 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
JP4301301B2 (ja) * 2007-02-05 2009-07-22 ソニー株式会社 不揮発性半導体記憶装置およびその管理方法
US7818610B2 (en) 2007-09-27 2010-10-19 Microsoft Corporation Rapid crash recovery for flash storage
US20090198952A1 (en) * 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
WO2009143885A1 (de) 2008-05-28 2009-12-03 Hyperstone Gmbh Verfahren zum adressieren von seitenorientierten nichtflüchtigen speichern
US8219776B2 (en) 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8468293B2 (en) * 2009-07-24 2013-06-18 Apple Inc. Restore index page
US20120150527A1 (en) 2009-08-21 2012-06-14 Tadhg Creedon Storage peripheral device emulation
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
JP5707695B2 (ja) * 2009-12-08 2015-04-30 沖電気工業株式会社 フラッシュディスク装置
CN101930404B (zh) 2010-08-27 2012-11-21 威盛电子股份有限公司 存储装置及其操作方法
WO2012083308A2 (en) * 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111443A1 (en) * 2001-05-30 2004-06-10 Wong Thomas K. Apparatus and methods for caching objects using main memory and persistent memory
US20050131853A1 (en) * 2003-12-11 2005-06-16 Sybase, Inc. Database System Providing Self-Tuned Parallel Database Recovery
TW200530813A (en) * 2004-03-02 2005-09-16 Infortrend Technology Inc Filesystem journaling architecture and data writing method therefor
US20070300037A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Persistent flash memory mapping table

Also Published As

Publication number Publication date
TW201329700A (zh) 2013-07-16
US9104614B2 (en) 2015-08-11
EP2570927A1 (en) 2013-03-20
TW201329699A (zh) 2013-07-16
CN102999430A (zh) 2013-03-27
KR101900760B1 (ko) 2018-09-20
KR101450396B1 (ko) 2014-10-14
EP2570927B1 (en) 2018-04-25
WO2013040236A1 (en) 2013-03-21
KR20130030237A (ko) 2013-03-26
JP2013065308A (ja) 2013-04-11
US20130073897A1 (en) 2013-03-21
KR20130030242A (ko) 2013-03-26
TWI554877B (zh) 2016-10-21
JP5702348B2 (ja) 2015-04-15
CN102999430B (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
TWI506417B (zh) 處理用於具有非揮發性記憶體之一系統之不正常關機
JP5696118B2 (ja) 不揮発性メモリシステムのためのウィーブシーケンスカウンタ
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US9342449B2 (en) Metadata redundancy schemes for non-volatile memories
US9841917B2 (en) Systems and methods for configuring non-volatile memory
TWI566097B (zh) 邏輯區塊位址位元映射之使用
US8949512B2 (en) Trim token journaling