TWI463312B - 用於異動記錄恢復之方法、用於操作記憶體系統之方法、用於記憶體系統中之異動記錄恢復之方法及記憶體系統 - Google Patents
用於異動記錄恢復之方法、用於操作記憶體系統之方法、用於記憶體系統中之異動記錄恢復之方法及記憶體系統 Download PDFInfo
- Publication number
- TWI463312B TWI463312B TW100144446A TW100144446A TWI463312B TW I463312 B TWI463312 B TW I463312B TW 100144446 A TW100144446 A TW 100144446A TW 100144446 A TW100144446 A TW 100144446A TW I463312 B TWI463312 B TW I463312B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- transaction record
- volatile memory
- information
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Description
本發明大體而言係關於半導體記憶體裝置、方法及系統,且更特定而言係關於異動記錄恢復。
通常提供記憶體裝置作為電腦或其他電子裝置中之內部半導體積體電路。存在包含揮發性及非揮發性記憶體之諸多不同類型之記憶體。揮發性記憶體可需要電力來維持其資料且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)以及其他記憶體。非揮發性記憶體可藉由在不供電時仍保持所儲存之資訊來提供持久資料且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可抹除可程式化ROM(EEPROM)、可抹除可程式化ROM(EPROM)及相變隨機存取記憶體(PCRAM)以及其他記憶體。
可將若干個記憶體裝置組合在一起以形成一固態硬碟(SSD)。一固態硬碟可包含非揮發性記憶體(例如,NAND快閃記憶體及NOR快閃記憶體)及/或可包含揮發性記憶體(例如,DRAM及SRAM)以及各種其他類型之非揮發性及揮發性記憶體。對於一廣泛範圍之電子應用,可利用包含浮閘快閃裝置及電荷陷獲快閃(CTF)裝置(其使用將資訊儲存於氮化物層中之電荷陷阱中之半導體-氧化物-氮化物-氧化物-半導體及金屬-氧化物-氮化物-氧化物-半導體電容器結構)之快閃記憶體裝置作為一非揮發性記憶體。快閃記憶體裝置通常使用允許高記憶體密度、高可靠性及低功率消耗之一單電晶體記憶體胞。
可使用一SSD來替換硬碟機作為一電腦之主要儲存裝置,此乃因該固態硬碟可在效能、大小、重量、耐用性、操作溫度範圍及功率消耗方面具有勝於硬碟之優點。舉例而言,SSD可在與磁碟機相比較時因其缺乏移動部件而具有優越效能,此可避免尋覓時間、延時及與磁碟機相關聯之其他機電延遲。SSD製造商可使用非揮發性快閃記憶體來形成可不使用一內部電池電源之快閃SSD,因此允許該硬碟更通用且更小型。
一SSD可包含若干個記憶體裝置,例如,若干個記憶體晶片(如本文中所使用,「若干個」某物可係指此等事物中之一者或多者,例如,若干個記憶體裝置可係指一或多個記憶體裝置)。如熟習此項技術者將瞭解,一記憶體晶片可包含若干個晶粒及/或邏輯單元(LUN)。每一晶粒上可包含若干個記憶體陣列及周邊電路。該等記憶體陣列可包含組織成若干個實體頁之若干個記憶體胞,且該等實體頁可組織成若干個區塊。
SSD可包含一邏輯位址(LA)表,諸如一邏輯區塊位址(LBA)表。一LBA表可用於記錄將一SSD之記憶體陣列中資料之邏輯位址連結至該資料之實體位置的資訊。該LBA表可儲存於該固態硬碟中之揮發性記憶體中,且該LBA表之一複本亦可儲存於該固態硬碟中之非揮發性記憶體中。該LBA表可用於定位該固態硬碟中資料之實體位置以在於該固態硬碟中起始一讀取請求時讀取資料。可由一主機起始針對一特定邏輯位址處之資料之一讀取請求。可在該LBA表中尋找該邏輯位址,且可然後指示一對應實體位址。該固態硬碟可自該所指示之實體位址讀取資料以完成針對該固態硬碟之該讀取請求。
並不具有帶有關於該固態硬碟中資料之邏輯位址與實體位址之間的關係之當前(例如,最近)資訊之一LBA表之一固態硬碟可使該固態硬碟中之某些資料不可存取。因此,期望一當前LBA表以完成對該固態硬碟中所有資料之存取。該固態硬碟中之一LBA表可在一電力中斷之後因該LBA表係儲存於揮發性記憶體中及/或該LBA表係週期性地儲存於非揮發性記憶體中而丟失或不完整。因此,一電力中斷可致使一固態硬碟具有並不具有關於恰好在該電力中斷之前的一時間內寫入至該固態硬碟之資料的資訊之一LBA表。
本發明包含用於記憶體中之異動記錄恢復之方法。一種此方法包含:檢查保存於一異動記錄中之若干個項目以判定一寫入型樣;基於該寫入型樣讀取該記憶體;用與基於該寫入型樣自該記憶體所讀取之資料相關聯之資訊更新該異動記錄;及使用該異動記錄更新一邏輯位址(LA)表。
在本發明之以下實施方式中,參考形成本發明之一部分且其中以圖解說明方式顯示可如何實踐本發明之一或多項實施例之隨附圖式。足夠詳細地闡述此等實施例以使熟習此項技術者能夠實踐本發明之實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之情況下作出製程、電、及/或結構改變。
在本發明之以下實施方式中,參考形成本發明之一部分且其中以圖解說明方式顯示可如何實踐本發明之一或多項實施例之隨附圖式。足夠詳細地闡述此等實施例以使熟習此項技術者能夠實踐本發明之該等實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之情況下作出製程、電、及/或結構改變。如本文中所使用,指定符「N」、「M」及「R」(特定而言關於圖式中之元件符號)指示本發明之一或多項實施例可包含如此指定之若干個特定特徵。
本文中之圖遵循其中第一個數字或前幾個數字對應於圖式圖編號且剩餘數字識別圖式中之一元件或組件之一編號慣例。不同圖之間的類似元件或組件可藉由使用類似數字來識別。舉例而言,108可指代圖1中之元件「08」,且在圖2中一類似元件可指代為「208」。如將瞭解,可添加、交換及/或消除本文中各種實施例中所示之元件以提供本發明之若干個額外實施例。另外,如將瞭解,圖中所提供之元件之比例及相對比例尺意欲圖解說明本發明之某些實施例且不應視為限定意義。
圖1係根據本發明之一或多項實施例之包含至少一個記憶體系統104之一計算系統100之一功能性方塊圖。在圖1中所圖解說明之實施例中,記憶體系統104(例如,一固態硬碟(SSD))可包含一實體主機介面106,一控制器108(例如,記憶體系統控制電路),及一或多個固態記憶體裝置110-1、...、110-N。固態記憶體裝置110-1、...、110-N可為該記憶體系統提供一儲存磁碟區,例如,藉助格式化至該等記憶體裝置之一檔案系統。在一或多項實施例中,控制器108可係耦合至包含實體介面106及固態記憶體裝置110-1、...、110-N之一印刷電路板之一特殊應用積體電路(ASIC)。
如圖1中所圖解說明,控制器108可耦合至實體主機介面106且耦合至固態記憶體裝置110-1、...、110-N。實體主機介面106可用於在記憶體系統104與另一裝置(諸如一主機系統102)之間傳達資訊。主機系統102可包含一記憶體存取裝置,例如,一處理器。熟習此項技術者將瞭解,「一處理器」可意指一或多個處理器,諸如,一平行處理系統、若干個共處理器(coprocessor)等。主機系統之實例包含膝上型電腦、個人電腦、數位相機、數位記錄及播放裝置、行動電話、PDA、記憶體讀卡器、介面集線器及諸如此類。對於一或多項實施例,實體主機介面106可呈一標準化介面之形式。舉例而言,當記憶體系統104用於一計算系統100中之資料儲存時,實體主機介面106可係一串列進階技術附接(SATA)、高速周邊組件互連(PCIe)或一通用串列匯流排(USB)以及其他連接器及介面。然而,一般而言,實體主機介面106可提供用於在記憶體系統104與具有用於實體主機介面106之相容接收器之一主機系統102之間傳遞控制、位址、資料及其他信號之一介面。
控制器108可與固態記憶體裝置110-1、...、110-N通信以讀取、寫入及抹除資料,以及其他操作。控制器108可具有可係一或多個積體電路及/或離散組件之電路。針對一或多項實施例,控制器108中之電路可包含用於控制跨越固態記憶體裝置110-1、...、110-N之存取之控制電路,及用於在一主機系統102與記憶體系統104之間提供一轉譯層之電路。因此,一記憶體控制器可選擇性地耦合一固態記憶體裝置110-1、...、110-N之一I/O連接(未在圖1中顯示)以在適當的時間在適當的I/O連接處接收適當的信號。類似地,一主機系統102與記憶體系統104之間的通信協定可不同於存取一固態記憶體裝置110-1、...、110-N所需之協定。控制器108然後可將自一主機接收之命令轉譯成適當的命令以達成對一固態記憶體裝置110-1、...、110-N之所期望存取。
一固態記憶體裝置110-1、...、110-N可包含一或多個記憶體胞(例如,非揮發性記憶體胞)陣列。舉例而言,該等陣列可係具有一NAND架構之快閃陣列。在一NAND架構中,一「列」之記憶體胞之控制閘極可與一存取線(例如,字線)耦合在一起,同時該等記憶體胞可以一「串」形式源極至汲極地串聯耦合於一選擇閘源極電晶體與一選擇閘汲極電晶體之間。該串可藉由該選擇閘汲極電晶體連接至一資料線(例如,位元線)。術語「列」及「串」之使用既不暗示記憶體胞之一線性配置亦不暗示記憶體胞之一正交配置。如熟習此項技術者將瞭解,記憶體胞至位元線及源極線之連接方式相依於該陣列是一NAND架構、一NOR架構還是某一其他記憶體陣列架構。
固態記憶體裝置110-1、...、110-N可包含可分組之若干個記憶體胞。如本文中所使用,一群組可包含一或多個記憶體胞,諸如,一頁、區塊、平面、晶粒,一整個陣列或其他記憶體胞群組。舉例而言,某些記憶體陣列可包含構成一記憶體胞區塊之若干個記憶體胞頁。若干個區塊可包含於一記憶體胞平面中。若干個記憶體胞平面可包含於一晶粒上。作為一實例,一128 GB記憶體裝置可包含每頁4314個位元組之資料,每區塊128個頁,每平面2048個區塊及每裝置16個平面。
固態記憶體裝置110-1、...、110-N可包含於若干個通道中,其中每一通道可包含若干個晶粒。可使用邏輯單元編號(LUN)來組織每一通道。當將資料寫入至固態記憶體裝置110-1、...、110-N時,資料可跨越該若干個通道及LUN加以等量化。可使用以一預測性型樣將資料在與通道相關聯之記憶體胞當中等量化之一寫入型樣演算法來將資料寫入至固態記憶體裝置110-1、...、110-N。寫入資料可受一通道處置由主機發送至一通道之資料流量之能力的限制,因此一記憶體系統可使用若干個通道以允許在該若干個通道上寫入及讀取更多資料。
在一記憶體裝置中,一實體頁可係指一寫入及/或讀取單元,例如,一同或作為一功能性記憶體胞群組寫入及/或讀取之若干個記憶體胞。可藉助單獨寫入及/或讀取操作來寫入及/或讀取一偶數頁及一奇數頁。對於包含多位階胞(MLC)之實施例,可將一實體頁在邏輯上劃分成一上部資料頁及一下部資料頁。舉例而言,一個記憶體胞可將一或多個位元貢獻給一上部資料頁且將一或多個位元貢獻給一下部資料頁。因此,可寫入及/或讀取一上部資料頁及一下部資料頁作為一個寫入及/或讀取操作之一部分,此乃因邏輯上部頁及邏輯下部頁兩者皆係相同實體頁之一部分。
記憶體系統104可實施耗損平均以控制固態記憶體裝置110-1、...、110-N上之耗損速率。一固態記憶體陣列在若干個程式化及/或抹除循環後可經歷故障。耗損平均可減少在一特定群組上執行之程式化及/或抹除循環之數目。耗損平均可包含動態耗損平均以使為回收一區塊而移動之有效區塊的量最小化。動態耗損平均可包含稱為廢棄項目收集之一技術,其中藉由抹除區塊來回收具有臨限量個以上之無效頁之區塊。舉例而言,一無效頁可係已經更新並儲存於一不同頁中之一資料頁。靜態耗損平均可包含將靜態資料寫入至具有高抹除計數之區塊以延長該區塊之壽命。
圖1之實施例可包含為不使本發明之實施例模糊而未加以圖解說明之額外電路。舉例而言,記憶體系統104可包含位址電路以鎖存透過I/O電路經由I/O連接提供之位址信號。可藉由一列解碼器及一行解碼器接收並解碼位址信號以存取固態記憶體裝置110-1、...、110-N。熟習此項技術者將瞭解,位址輸入連接之數目可依據於固態記憶體裝置110-1、...、110-N之密度及架構。
圖2係根據本發明之一或多項實施例之一記憶體系統204之一功能性方塊圖。記憶體系統204可包含控制器208。控制器208可耦合至一或多個固態記憶體裝置,例如,非揮發性記憶體210及/或揮發性記憶體212。記憶體系統204及控制器208可分別類似於圖1中圖解說明之記憶體系統104及控制器108。
控制器208可包含主機介面電路214、主機-記憶體轉譯電路216、記憶體管理電路218、一交換器220、非揮發性記憶體控制電路222及/或揮發性記憶體控制電路224。如本文中所闡述,控制器208可以一ASIC之形式提供,然而,實施例並不限於此。
主機介面電路214可耦合至主機-記憶體轉譯電路216。主機介面電路214可耦合至一主機系統之一實體介面及/或與一主機系統之一實體介面併在一起,諸如圖1中所圖解說明之實體介面106。
一般而言,主機介面電路214負責將自主機系統(例如自一PCIe匯流排)接收之命令封包轉換成用於主機-記憶體轉譯電路216之命令指令且負責將記憶體回應轉換成主機系統命令以供傳輸至請求中主機。舉例而言,主機介面電路214可自基於PCIe之異動層封包構造SATA命令封包。
主機-記憶體轉譯電路216可耦合至主機介面電路214,耦合至記憶體管理電路218,及/或耦合至交換器220。主機-記憶體轉譯電路216可經組態以將邏輯(例如,主機)位址(與一所接收命令相關聯)轉譯為實體記憶體位址。舉例而言,主機-記憶體轉譯電路216可將主機區段讀取及寫入命令轉換為定向至非揮發性記憶體210之特定部分之命令。每一主機操作可被轉譯成單區段或多區段非揮發性記憶體210操作。
記憶體管理電路218可耦合至主機-記憶體轉譯電路216及/或耦合至交換器220。記憶體管理電路218可控制若干個過程,包含(但不限於)寫入、讀取、初始化、耗損平均(例如,廢棄項目收集及/或區塊回收)以及錯誤校正(例如,經由處理器228之操作)。在一異動記錄恢復過程中,記憶體管理電路218可使用由寫入型樣演算法230所形成之寫入型樣來判定已寫入資料之位置及接下來將寫入資料之位置。該寫入型樣演算法可致使控制器208以一預測性型樣將資料寫入至位於若干個通道上之記憶體胞。根據寫入型樣演算法230可確立針對主機寫入之一寫入型樣且根據寫入型樣演算法230可確立針對回收寫入之一寫入型樣。在某些實施例中,寫入型樣可包含以一預測性型樣寫入之記憶體胞。一寫入型樣可包含藉由自最低位址至最高位址填充每一通道上之一區塊來跨越通道寫入資料。舉例而言,根據用以形成寫入型樣之寫入型樣演算法,控制器可將資料寫入至一第一通道上之一頁,然後寫入至一第二通道上之一頁,然後寫入至一第三通道上之一頁,且然後寫回至該第一通道上之另一頁。當寫入資料時,可使用該寫入型樣演算法來將資料一次一個頁地寫入至一通道上之一區塊直至該區塊係滿的為止,且然後當根據該寫入型樣演算法欲將資料再次寫入於該通道上時將在該通道上之一新區塊上開始寫入資料。當將與一邏輯位址相關聯之資料寫入至一新實體位址(例如,作為耗損平均之一部分或對該資料之一更新)時,記憶體管理電路218可用對應於該邏輯位址之該新實體位址更新一LBA表(例如,LBA表234)。
記憶體管理電路218可存取一表(例如,區塊表236)以判定耗損平均之候選者。舉例而言,作為一靜態耗損平均操作之一部分,記憶體管理電路218可在區塊表236中搜尋具有一高抹除計數之區塊。該記憶體管理電路可將一特定區塊之抹除計數與一臨限計數相比較。舉例而言,可自該特定區塊減去具有最低抹除計數之區塊之抹除計數。若該差大於該臨限計數,則可將該特定區塊指示為區塊回收之一候選者。
舉例而言,作為一動態耗損平均操作之一部分,記憶體管理電路218可搜尋其中具有一廢棄項目收集臨限量之無效(例如未使用)部分(例如,頁)之區塊。回收係作為廢棄項目收集及/或耗損平均之結果可由記憶體管理電路218調用之一過程。回收可涉及在抹除欲抹除之一區塊之前將來自該區塊中之位置之所有有效資料皆移動至另一區塊中之位置。
交換器220可耦合至主機-記憶體轉譯電路216、記憶體管理電路218、非揮發性控制電路222及/或揮發性記憶體控制電路224。交換器220可係一縱橫交換器且可包含及/或耦合至一或多個緩衝器,例如,靜態隨機存取記憶體(SRAM)緩衝器。交換器220可在控制器208之各種組件之間提供一介面。交換器220可計及所界定發信號協定之變化,該等所界定發信號協定可與控制器208之不同組件相關聯以在組件間提供一致存取及實施方案。在一或多項實施例中,交換器220可係一直接記憶體存取(DMA)模組。
控制器(例如,非揮發性記憶體控制電路222)可耦合至交換器220且耦合至一或多個非揮發性記憶體裝置210。除其他資訊外,一或多個非揮發性記憶體裝置210可儲存一異動記錄238、一邏輯位址(LA)表(諸如邏輯區塊位址(LBA)表234-C)及/或一群組表(諸如區塊表236-C)之一複本,如本文中所闡述。在某些實施例中,控制器208可包含用於所有記憶體通道之一個非揮發性記憶體控制器。在其他實施例中,每一記憶體通道耦合至一離散非揮發性記憶體控制器。
揮發性記憶體控制電路224可耦合至交換器220且耦合至一或多個揮發性記憶體裝置212。除其他資訊外,該一或多個揮發性記憶體裝置可儲存一LBA表234及/或一區塊表236。LBA表234可儲存一或多個非揮發性記憶體裝置210中之頁之實體位址且包含對應之邏輯位址。LBA表234可由含於一相關聯SATA命令中之LBA來加索引。LBA表234可由主機-記憶體轉譯電路216(舉例而言)用於查詢對應於邏輯區塊位址之實體頁位址。區塊表236可儲存一或多個非揮發性記憶體裝置210中之可抹除區塊之資訊。儲存於區塊表236中之資訊可包含有效頁資訊、抹除計數及其他狀態資訊。自區塊表236存取之資訊可由實體區塊位址來加索引。
圖3根據本發明之一或多項實施例圖解說明非揮發性記憶體310中之一異動記錄338、區塊表334及邏輯區塊位址(LBA)表336之一方塊圖。除其他資訊外,非揮發性記憶體310可將寫入操作資訊(除其他資訊外,其可包含邏輯位址、實體位址、資料類型、針對位置之抹除計數、狀態資訊)儲存於一LBA表336、一區塊表334、及/或一異動記錄338中。
除其他週期性時間間隔外,儲存於揮發性記憶體中之一LBA表之一複本可(諸如)至少每300秒地週期性地儲存為非揮發性記憶體310中之一LBA表336。舉例而言,LBA表336可每120秒地儲存於非揮發性記憶體310中。可在固態硬碟中之每一寫入之後更新揮發性記憶體中之LBA表。除其他因素外,更新非揮發性記憶體裝置中之LBA表之頻率的時間週期可取決於記憶體系統執行之寫入頻率及/或寫入資料之速度。
一異動記錄338可儲存於非揮發性記憶體中且用於記錄關於發生於該等記憶體裝置中之寫入的資訊。具有若干個記憶體裝置之一記憶體系統可包含異動記錄,異動記錄包含關於發生於該等記憶體裝置中之寫入的資訊。一異動記錄可包含關於主機寫入及/或回收寫入的資訊。隨著寫入發生於記憶體中,關於主機寫入及/或回收寫入的資訊包含於異動記錄中。該異動記錄可跨越一記憶體系統中之若干個記憶體裝置加以等量化。如熟習此項技術者將瞭解,等量化包含分割資料以使其儲存於一個以上裝置上。等量化可包含將寫入資料(諸如異動記錄資訊)劃分成若干個片段且將至少一個片段儲存於若干個記憶體裝置中之每一者中。在一或多項實施例中,控制器可在於記憶體裝置中執行每一寫入時用關於每一寫入的異動記錄資訊來更新異動記錄。該異動記錄可含有關於在一時間週期期間發生於該等記憶體裝置中之所有寫入的異動記錄資訊。該異動記錄可包含關於自上次LBA表336被保存於非揮發性記憶體310中之後發生的至該等記憶體裝置之所有寫入的異動記錄資訊。
在一或多項實施例中,可使用來自異動記錄338之資訊來用關於自LBA表336上次被保存於該非揮發性記憶體中之後的時間(例如,在上次保存與一電力中斷之間)發生於記憶體裝置中之寫入的資訊更新LBA表336之複本。非揮發性記憶體310中之LBA表336之複本可另外係遺失資訊,此乃因非揮發性記憶體310中之LBA複本336僅具有在其被複製至非揮發性記憶體中時位於揮發性記憶體中之LBA表中之資訊。此外,揮發性記憶體中之LBA表在一電力中斷期間被抹除,因此非揮發性記憶體中之LBA複本不可能用在上次其被複製至非揮發性記憶體310與其被抹除時之間理應已儲存於揮發性記憶體中之LBA表中之資訊以其他方式更新。因此,非揮發性記憶體310中之異動記錄338可用於更新非揮發性記憶體中之LBA表中之資訊。異動記錄338可含有關於資料之位置及將資料寫入至記憶體裝置之時間的資訊。異動記錄338中之一資料頁可包含與128個寫入操作相關聯之資訊,舉例而言。該資訊可由該等記憶體裝置確認且接著被輸入至LBA表中以更新LBA表336。在一或多項實施例中,在電力中斷期間異動記錄之最後一頁可變毀壞,因此,異動記錄中之最後資訊頁並不含有關於寫入至記憶體陣列之某些最近資料的資訊。
在某些例項中,一異動記錄恢復過程可包含檢查所保存之異動記錄中之若干個項目以判定寫入型樣且判定異動記錄中之上次所保存寫入之在記憶體中之位置。該寫入型樣連同來自上次所保存寫入的資訊可用於判定以該寫入型樣之下一寫入(例如,以該寫入型樣之無保存於異動記錄中之相關聯資訊之第一寫入)之在記憶體中之下一位置。可以基於該寫入型樣之一次序讀取記憶體中之頁。舉例而言,讀取下一資料頁(其根據該寫入型樣本應具有與異動記錄中之該資料頁相關聯之資訊)且若存在寫入至該資料頁之資料,則使用與彼資料頁相關聯之後設資料來用與此資料頁相關聯之資訊(諸如資料頁之LBA)更新異動記錄。然後讀取下一資料頁(其根據寫入型樣本應位於異動記錄中)且若存在寫入至該資料頁之資料,則再次用與此頁相關聯之資訊更新異動記錄。使用此過程來更新異動記錄直至尋找一經抹除頁為止,此指示由於一電力中斷上次寫入發生之位置。在一或多項實施例中,經更新異動記錄可用於更新LBA表。
在一或多項實施例中,當異動記錄恢復過程達到係滿的一區塊(例如,在一區塊邊界處)時,雖然讀取若干頁以判定是否已將資料寫入至該頁,但寫入型樣可不指示下一寫入發生之區塊。異動記錄恢復過程可搜尋一經部分寫入之區塊。經部分寫入之一區塊係當電力中斷發生時正根據寫入型樣演算法經寫入之一區塊,此乃因一既定通道上之區塊係根據該寫入型樣演算法一次一個地寫入直至該區塊係滿的為止。
一經部分寫入區塊可藉由以下操作來定位:讀取若干個區塊之第一頁及最後頁,且當以基於寫入型樣之次序在記憶體中所讀取之頁係位於不包含經抹除頁之一區塊中時,判定包含於該經部分寫入區塊中之資料之類型。若該第一頁含有資料且該最後頁經抹除,則該區塊係經部分寫入且將此經部分寫入區塊識別為當電力中斷發生時正寫入資料之區塊。一旦一經部分寫入區塊經定位,即可使用異動記錄中之主機寫入識別符及/或回收寫入識別符來作出關於該區塊是寫入有主機資料還是回收資料之一判定。回收資料係經寫入作為一耗損平均及/或廢棄項目收集過程之一部分之資料。在異動記錄恢復過程期間可忽略具有回收資料之一經部分寫入區塊,此乃因在該經部分寫入區塊係經部分寫入之情況下該區塊中之該回收資料尚未自其原始位置抹除,此乃因在耗損平均及/或廢棄項目收集期間不抹除資料直至接收回收資料之一寫入確認。因此,一經部分寫入區塊中之回收資料非必須保存於異動記錄中。一旦具有主機資料之一經部分寫入區塊經定位,即讀取若干頁以判定其是否含有資料,且若其含有資料,則用與含有資料之該等頁相關聯之資訊更新異動記錄,其中與該頁相關聯之資訊可係含於後設資料中之一邏輯位址。異動記錄恢復過程可繼續直至尋找一經抹除頁為止,此指示由於一電力中斷寫入型樣結束之位置。
在一或多項實施例中,異動記錄恢復過程可使用寫入型樣來重新形成異動記錄中之毀壞的最後資訊頁。然後可用現在完成的異動記錄更新非揮發性記憶體中之LBA表。用一電力中斷之前資料之位置更新之一異動記錄可用於更新LBA表以包含關於LBA表於非揮發性記憶體中之上次保存與一電力中斷之時間之間的寫入的資訊。
圖4係根據本發明之一或多項實施例圖解說明異動記錄438之一表。在圖4中,異動記錄438可包含包含針對位於記憶體裝置中之資料的實體位址452及邏輯位址454之異動記錄資訊。異動記錄438可記錄發生於記憶體裝置中之每一寫入之位置,且異動記錄438可儲存於該等記憶體裝置中。該異動記錄可跨越一記憶體系統中之若干個記憶體裝置加以等量化。在一或多項實施例中,一異動記錄可記錄發生於該等記憶體裝置中之每一異動(包含每一主機寫入及每一回收寫入)且可係該等記憶體裝置及/或在該等記憶體裝置上執行之異動之控制器之一參考。該異動記錄可在於非揮發性記憶體中產生來自揮發性記憶體之LBA表之一複本之後被抹除。該異動記錄可用對應於在抹除該異動記錄之後發生的異動之新條目加以更新。
在圖4中,異動記錄438可包含指示已發生於記憶體裝置中之每一異動之若干個項目456-1、456-2、456-3、...、456-N。異動記錄438中之項目456-1、456-2、456-3、...、及456-N可包含用於異動(諸如,一寫入、一讀取、或一抹除)之命令450、異動之實體位址452、異動之邏輯位址454、主機寫入識別符457,以及一回收寫入識別符458。主機寫入識別符457可指示該異動係由一主機引起,例如,資料類型係主機資料,且回收寫入識別符458可指示異動經引起作為一回收過程之一部分,例如,資料類型係回收資料。
圖5係根據本發明之一或多項實施例圖解說明一區塊表534之一表。區塊表534可儲存關於記憶體裝置中之區塊之資訊。儲存於區塊表534中之資訊可包含資料有效性資訊560、抹除計數562及狀態資訊564。區塊表534可包含若干個項目566-1、566-2、566-3、...、及566-M。區塊表534中之每一項目可包含資料(諸如一資料區塊及/或資料頁)之實體位址552、資料有效性資訊560、抹除計數562及狀態資訊564。區塊表534中之資料有效性資訊560可包含關於一區塊中之每一頁之有效性(例如,資料是有效的還是無效的)的資訊。區塊表534中之抹除計數562可指示一區塊已被抹除之次數。除一區塊之其他狀態指示符外,區塊表534中之狀態資訊564可指示一區塊是否經抹除及/或是否含有資料。
圖6係根據本發明之一或多項實施例圖解說明一邏輯區塊位址(LBA)表636之一表。LBA表636可儲存記憶體裝置中每一資料項目之邏輯位址654及實體位址652,且可提供記憶體裝置中每一資料項目之邏輯位址654至實體位址652之轉譯。LBA表636可針對至該等記憶體裝置之每一寫入由該LBA加索引,且可包含若干個包含LBA表636中之每一資料項目之邏輯位址654及實體位址652之項目670-1、670-2、670-3、...、及670-R。該LBA可用於查詢儲存每一項目中之資料之對應實體位址。該LBA表可儲存於一記憶體系統之揮發性記憶體中,且可在一週期性基礎上於非揮發性記憶體中產生揮發性記憶體中之LBA表之一複本。一旦於非揮發性記憶體中產生該LBA表之一複本,即可抹除揮發性記憶體中之該LBA表且將用對應於在抹除揮發性記憶體中之LBA表之後發生的異動之新條目更新揮發性記憶體中之LBA表。
圖7係根據本發明之一或多項實施例圖解說明異動記錄恢復之一方法流程圖。在一或多項實施例中,異動記錄恢復可包含檢查保存於一異動記錄中之若干個項目780。可使用異動記錄中之項目之檢查來判定一主機寫入型樣782及判定一回收寫入型樣784。可使用該主機寫入型樣來定位且讀取根據該主機寫入型樣本應具有與該異動記錄中之該資料頁相關聯之資訊之下一資料頁786。該異動記錄恢復可包含用與根據該主機寫入型樣所讀取之資料頁相關聯之資訊更新異動記錄788。
本發明包含用於記憶體中之異動記錄恢復之方法。一種此方法包含:檢查保存於一異動記錄中之若干個項目以判定一寫入型樣;基於該寫入型樣讀取該記憶體;用與基於該寫入型樣自該記憶體所讀取之資料相關聯之資訊更新該異動記錄;及使用該異動記錄更新一邏輯位址(LA)表。
儘管本文中已圖解說明且闡述了特定實施例,但熟習此項技術者將瞭解,可用經計算以達成相同結果之一配置來替代所示特定實施例。本發明意欲涵蓋對本發明之一或多項實施例之改動或變化形式。應理解,以上說明系以一說明性方式而非一限定性方式作出。在審閱以上說明後,熟習此項技術者將明瞭,在本文中未特定闡述以上實施例之組合及其他實施例。本發明之一或多項實施例之範疇包含其中使用以上結構及方法之其他應用。因此,應參考隨附申請專利範圍連同授權此等申請專利範圍之等效內容之全部範圍一起來確定本發明之一或多項實施例之範疇。
在前述實施方式中,出於簡化本發明之目的而將某些特徵一同集合於一單項實施例中。不應將本發明之此方法解釋為反映本發明之所揭示實施例必須使用比每一請求項中明確陳述的特徵多的特徵之一意圖。而是,如以下申請專利範圍反映:發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,以下申請專利範圍藉此併入至實施方式中,其中每一請求項獨立地作為一單獨實施例。
100‧‧‧計算系統
102‧‧‧主機系統
104‧‧‧記憶體系統
106‧‧‧實體主機介面
108‧‧‧控制器
110-1‧‧‧固態記憶體裝置
110-N‧‧‧固態記憶體裝置
204‧‧‧記憶體系統
208‧‧‧控制器
210‧‧‧非揮發性記憶體
212‧‧‧揮發性記憶體
214‧‧‧主機介面電路
216‧‧‧主機-記憶體轉譯電路
218‧‧‧記憶體管理電路
220‧‧‧交換器
222‧‧‧非揮發性記憶體控制電路
224‧‧‧揮發性記憶體控制電路
228‧‧‧處理器
230‧‧‧寫入型樣演算法
234‧‧‧邏輯區塊位址(LBA)表
234-C‧‧‧邏輯區塊位址表
236‧‧‧區塊表
236-C‧‧‧區塊表
238‧‧‧異動記錄
310‧‧‧非揮發性記憶體
334‧‧‧區塊表
336‧‧‧邏輯區塊位址表
338‧‧‧異動記錄
780‧‧‧檢查保存於一異動記錄中之若干個項目
782‧‧‧判定一主機寫入型樣
784‧‧‧判定一回收寫入型樣
786‧‧‧定位且讀取根據該主機寫入型樣本應具有與該異動記錄中之資料頁相關聯之資訊之下一資料頁
788‧‧‧用與根據該主機寫入型樣所讀取之資料頁相關聯之資訊更新該異動記錄
圖1係根據本發明之一或多項實施例之包含至少一個記憶體系統之一計算系統之一功能性方塊圖。
圖2係根據本發明之一或多項實施例之一記憶體系統之一功能性方塊圖。
圖3根據本發明之一或多項實施例圖解說明非揮發性記憶體中之一異動記錄、區塊表及邏輯區塊位址(LBA)表之一方塊圖。
圖4係根據本發明之一或多項實施例圖解說明異動記錄之一表。
圖5係根據本發明之一或多項實施例圖解說明一區塊表之一表。
圖6係根據本發明之一或多項實施例圖解說明一邏輯區塊位址(LBA)表之一表。
圖7係根據本發明之一或多項實施例圖解說明異動記錄恢復之一方法流程圖。
204‧‧‧記憶體系統
208‧‧‧控制器
210‧‧‧非揮發性記憶體
212‧‧‧揮發性記憶體
214‧‧‧主機介面電路
216‧‧‧主機-記憶體轉譯電路
218‧‧‧記憶體管理電路
220‧‧‧交換器
222‧‧‧非揮發性記憶體控制電路
224‧‧‧揮發性記憶體控制電路
228‧‧‧處理器
230‧‧‧寫入型樣演算法
234‧‧‧邏輯區塊位址(LBA)表
234-C‧‧‧邏輯區塊位址表
236‧‧‧區塊表
236-C‧‧‧區塊表
238‧‧‧異動記錄
Claims (34)
- 一種用於異動記錄恢復之方法,其包括:檢查保存於一異動記錄中之若干個項目以判定一寫入型樣;基於該寫入型樣讀取記憶體,其中基於該寫入型樣讀取記憶體包括讀取無保存於該異動記錄中之相關聯資訊之該記憶體之多個部分;用與基於該寫入型樣自該記憶體所讀取之資料相關聯之資訊更新該異動記錄;及使用該異動記錄更新一邏輯位址(LA)表。
- 如請求項1之方法,其中基於該寫入型樣讀取該記憶體包含:讀取記憶體中之若干頁。
- 如請求項1至2中任一項之方法,其中該異動記錄包含:關於最近已將資料寫入於該記憶體中之位置之資訊。
- 如請求項2之方法,其中該異動記錄並不具有與在更新之前所讀取之該等頁相關聯之資訊。
- 如請求項2之方法,其中更新該異動記錄包括:用與在記憶體中所讀取之包含資料之頁相關聯之資訊更新該異動記錄。
- 如請求項1至2中任一項之方法,其中讀取該記憶體包括:以基於該寫入型樣之次序讀取該記憶體中之頁直至尋找一經抹除頁為止。
- 如請求項2之方法,其進一步包含藉由以下操作來定位一經部分寫入區塊:讀取若干個區塊之第一頁及最後 頁,且當以基於該寫入型樣之該次序在該記憶體中所讀取之該等頁係位於不包含經抹除頁之一區塊中時,判定包含於該經部分寫入區塊中之資料之類型。
- 如請求項7之方法,其進一步包含:讀取包含主機資料之該經部分寫入區塊之若干頁。
- 如請求項8之方法,其進一步包含:用與在含有資料之該經部分寫入區塊中所讀取之頁相關聯之資訊更新該異動記錄。
- 一種用於操作一記憶體系統之方法,其包括:以基於一寫入型樣之一次序讀取該記憶體系統中不具有一異動記錄中之相關聯資料之若干頁;用與基於該寫入型樣所讀取之該等頁相關聯之資訊更新一異動記錄;及使用該經更新之異動記錄更新非揮發性記憶體中之一邏輯位址(LA)表。
- 如請求項10之方法,其進一步包括:在一電力中斷之前,在一週期性基礎上將該LA表儲存於該非揮發性記憶體中,該所儲存之LA表係揮發性記憶體中之一LA表之一複本。
- 如請求項11之方法,其中在該記憶體系統中之每一寫入操作之後更新該揮發性記憶體中之該LA表。
- 如請求項11之方法,其中在更新該LA表之前,非揮發性記憶體中之該LA表並不包含關於發生於上次將該LA表儲存於非揮發性記憶體中與一電力中斷之間的寫入操作 之資訊。
- 如請求項10至11中任一項之方法,其進一步包括:在一電力中斷之後在該記憶體系統之加電時將該經更新之LA表複製至揮發性記憶體。
- 如請求項10至11中任一項之方法,其中該寫入型樣係基於判定將資料寫入於該記憶體系統中之位置之一寫入型樣演算法。
- 如請求項15之方法,其中該寫入型樣包含關於接下來理應將資料寫入於該記憶體系統中之位置之資訊。
- 如請求項16之方法,其中該方法包含驗證發生於基於該寫入型樣所讀取之該頁處之一有效寫入。
- 一種用於一記憶體系統中之異動記錄恢復之方法,其包括:以基於一寫入型樣之一次序讀取若干頁以尋找不位於非揮發性記憶體中之一異動記錄或一邏輯位址(LA)表中之寫入操作資訊;使用該所尋找之寫入操作資訊更新該異動記錄;使用該經更新之異動記錄更新非揮發性記憶體中之該LA表;及將該LA表儲存於揮發性記憶體中。
- 如請求項18之方法,其中尋找關於寫入操作之資訊包含:依據該寫入型樣判定接下來理應將資料寫入於該記憶體系統中之位置。
- 如請求項19之方法,其中判定接下來理應寫入該資料之 該位置包括:使用一寫入型樣演算法。
- 如請求項18至19中任一項之方法,其中更新該異動記錄包括:更新在電力中斷之後變毀壞的該異動記錄之一最後頁。
- 如請求項18至19中任一項之方法,其中該方法包含:在一週期性基礎上將該LA表之一複本儲存於該揮發性記憶體中。
- 如請求項18至19中任一項之方法,其中該方法包含:針對在將該LA表之一複本儲存於該非揮發性記憶體中之後發生的操作將關於讀取及寫入操作之資訊記錄於該異動記錄中。
- 如請求項18至19中任一項之方法,其中使用該經更新之異動記錄更新該非揮發性記憶體中之該LA表包括:添加關於發生於上次將該LA表複製至該非揮發性記憶體中與一電力中斷之間的一寫入的資訊。
- 一種記憶體系統,其包括:非揮發性記憶體,其經組態以儲存一邏輯位址(LA)表及一異動記錄;及一控制器,其經組態以:藉由檢查一異動記錄中指示將資料寫入於記憶體中之位置之資訊來判定一寫入型樣;以基於該寫入型樣之一次序讀取該記憶體中之若干頁,其中在該記憶體中被讀取之該等頁無保存於該異動記錄中之相關聯資訊; 用與記憶體中所讀取之該等頁相關聯之資訊更新該異動記錄;及使用該異動記錄更新該邏輯位址(LA)表。
- 如請求項25之記憶體系統,其中該異動記錄經組態以記錄關於在將該LA表儲存於非揮發性記憶體中之後發生於該記憶體系統中之寫入的資訊。
- 如請求項25之記憶體系統,其中該控制器經組態以藉由以基於該寫入型樣之該次序讀取記憶體中之頁來重新形成一異動記錄中之異動記錄資訊之最後頁。
- 如請求項25至27中任一項之記憶體系統,其中該控制器經組態以基於一寫入型樣演算法形成該寫入型樣。
- 一種記憶體系統,其包括:非揮發性記憶體,其中該非揮發性記憶體經組態以儲存一邏輯位址(LA)表及一異動記錄;及一控制器,其經組態以:藉由以基於一寫入型樣之一次序讀取若干頁來更新該異動記錄,其中在該記憶體中被讀取之該等頁無保存於該異動記錄中之相關聯資訊,及使用該經更新之異動記錄來用在一電力中斷之後自該LA表遺失之資訊更新該LA表。
- 如請求項29之記憶體系統,其中該控制器進一步經組態以將該經更新之LA表之一複本儲存於揮發性記憶體中。
- 如請求項30之記憶體系統,其中該控制器經組態以不斷地更新該揮發性記憶體中之該經更新之LA表且至少每 300秒一次地將該不斷經更新之LA表之一複本儲存於該非揮發性記憶體中。
- 如請求項29至30中任一項之記憶體系統,其中該控制器經組態以使用該異動記錄判定該寫入型樣。
- 如請求項32之記憶體系統,其中該控制器經組態以使用該寫入型樣判定接下來理應將資料寫入於該記憶體系統中之位置。
- 如請求項29至30中任一項之記憶體系統,其中該LA表係一邏輯區塊位址(LBA)表。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/960,204 US8495338B2 (en) | 2010-12-03 | 2010-12-03 | Transaction log recovery |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201232256A TW201232256A (en) | 2012-08-01 |
| TWI463312B true TWI463312B (zh) | 2014-12-01 |
Family
ID=46163361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100144446A TWI463312B (zh) | 2010-12-03 | 2011-12-02 | 用於異動記錄恢復之方法、用於操作記憶體系統之方法、用於記憶體系統中之異動記錄恢復之方法及記憶體系統 |
Country Status (8)
| Country | Link |
|---|---|
| US (2) | US8495338B2 (zh) |
| EP (1) | EP2646919B1 (zh) |
| JP (1) | JP5649742B2 (zh) |
| KR (1) | KR101491943B1 (zh) |
| CN (1) | CN103270500B (zh) |
| SG (1) | SG190955A1 (zh) |
| TW (1) | TWI463312B (zh) |
| WO (1) | WO2012074554A2 (zh) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8990476B2 (en) * | 2009-10-01 | 2015-03-24 | Micron Technology, Inc. | Power interrupt management |
| US9141526B2 (en) * | 2010-09-16 | 2015-09-22 | International Business Machines Corporation | Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit |
| US9176670B2 (en) * | 2011-04-26 | 2015-11-03 | Taejin Info Tech Co., Ltd. | System architecture based on asymmetric raid storage |
| US9146855B2 (en) * | 2012-01-09 | 2015-09-29 | Dell Products Lp | Systems and methods for tracking and managing non-volatile memory wear |
| CN103378986A (zh) * | 2012-04-28 | 2013-10-30 | 鸿富锦精密工业(深圳)有限公司 | 系统事件日志记录系统及方法 |
| US8966205B1 (en) * | 2012-05-10 | 2015-02-24 | Western Digital Technologies, Inc. | System data management using garbage collection and hybrid self mapping |
| CN103221925A (zh) * | 2012-11-23 | 2013-07-24 | 华为技术有限公司 | 数据处理方法和存储设备 |
| US20140372710A1 (en) * | 2013-06-18 | 2014-12-18 | Samsung Electronics Co., Ltd. | System and method for recovering from an unexpected shutdown in a write-back caching environment |
| US9430503B1 (en) | 2013-06-28 | 2016-08-30 | Emc Corporation | Coalescing transactional same-block writes for virtual block maps |
| US9110809B2 (en) * | 2013-07-03 | 2015-08-18 | Nvidia Corporation | Reducing memory traffic in DRAM ECC mode |
| US10140174B2 (en) | 2013-08-29 | 2018-11-27 | Hewlett Packard Enterprise Development Lp | Separating storage transaction logs |
| JP5950286B2 (ja) | 2014-05-29 | 2016-07-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アドレス変換テーブルを書き込む装置及び方法 |
| KR102501751B1 (ko) * | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
| US10387275B2 (en) * | 2016-07-26 | 2019-08-20 | Hewlett Packard Enterprise Development Lp | Resume host access based on transaction logs |
| CN107678679B (zh) * | 2016-08-02 | 2020-09-08 | 建兴储存科技(广州)有限公司 | 运用于固态储存装置的超级区块的扫描方法 |
| CN106874068B (zh) * | 2017-02-09 | 2020-02-21 | 联想(北京)有限公司 | 主机装置的容器运行加速方法及系统 |
| US10635613B2 (en) * | 2017-04-11 | 2020-04-28 | Micron Technology, Inc. | Transaction identification |
| US10983876B2 (en) | 2018-03-29 | 2021-04-20 | Seagate Technology Llc | Node management of pending and unstable operations |
| KR20200089547A (ko) | 2019-01-17 | 2020-07-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
| US11726991B2 (en) | 2019-04-30 | 2023-08-15 | EMC IP Holding Company LLC | Bulk updating of mapping pointers with metadata transaction log |
| US11294807B2 (en) * | 2019-06-25 | 2022-04-05 | Western Digital Technologies, Inc. | Delayed write failure logging |
| CN112988880B (zh) * | 2019-12-12 | 2024-03-29 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、电子设备及计算机存储介质 |
| JP7693482B2 (ja) * | 2021-09-21 | 2025-06-17 | キオクシア株式会社 | メモリシステム |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6185663B1 (en) * | 1998-06-15 | 2001-02-06 | Compaq Computer Corporation | Computer method and apparatus for file system block allocation with multiple redo |
| TW200746061A (en) * | 2005-10-26 | 2007-12-16 | Sony Corp | Information processing apparatus, information processing method, and computer program |
| TW200823744A (en) * | 2006-11-17 | 2008-06-01 | Hon Hai Prec Ind Co Ltd | Storage apparatus with data protection function and method therefor |
| US20090287874A1 (en) * | 2008-05-13 | 2009-11-19 | Microsoft Corporation | Flash Recovery Employing Transaction Log |
| TW201011755A (en) * | 2008-09-10 | 2010-03-16 | Skymedi Corp | Flash memory system and its data recovery method |
| TW201040971A (en) * | 2009-03-04 | 2010-11-16 | Micron Technology Inc | Memory block selection |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8017A (en) * | 1851-04-01 | Splint-machine | ||
| US6553509B1 (en) | 1999-07-28 | 2003-04-22 | Hewlett Packard Development Company, L.P. | Log record parsing for a distributed log on a disk array data storage system |
| JP2005222202A (ja) * | 2004-02-04 | 2005-08-18 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置のデータ保護方法 |
| US8452929B2 (en) * | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
| US7752180B1 (en) | 2006-12-12 | 2010-07-06 | Network Appliance, Inc. | File system group consistency point |
| US7721040B2 (en) * | 2007-01-18 | 2010-05-18 | Sandisk Il Ltd. | Method and system for facilitating fast wake-up of a flash memory system |
| US8140483B2 (en) | 2007-09-28 | 2012-03-20 | International Business Machines Corporation | Transaction log management |
| US7917803B2 (en) | 2008-06-17 | 2011-03-29 | Seagate Technology Llc | Data conflict resolution for solid-state memory devices |
| US8843691B2 (en) | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
| JP5317690B2 (ja) * | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
| US7925925B2 (en) | 2008-12-30 | 2011-04-12 | Intel Corporation | Delta checkpoints for a non-volatile memory indirection table |
-
2010
- 2010-12-03 US US12/960,204 patent/US8495338B2/en active Active
-
2011
- 2011-11-30 KR KR1020137015563A patent/KR101491943B1/ko active Active
- 2011-11-30 EP EP11844853.9A patent/EP2646919B1/en active Active
- 2011-11-30 JP JP2013541977A patent/JP5649742B2/ja active Active
- 2011-11-30 CN CN201180062658.XA patent/CN103270500B/zh active Active
- 2011-11-30 SG SG2013042346A patent/SG190955A1/en unknown
- 2011-11-30 WO PCT/US2011/001944 patent/WO2012074554A2/en not_active Ceased
- 2011-12-02 TW TW100144446A patent/TWI463312B/zh active
-
2013
- 2013-07-23 US US13/948,963 patent/US8984253B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6185663B1 (en) * | 1998-06-15 | 2001-02-06 | Compaq Computer Corporation | Computer method and apparatus for file system block allocation with multiple redo |
| TW200746061A (en) * | 2005-10-26 | 2007-12-16 | Sony Corp | Information processing apparatus, information processing method, and computer program |
| TW200823744A (en) * | 2006-11-17 | 2008-06-01 | Hon Hai Prec Ind Co Ltd | Storage apparatus with data protection function and method therefor |
| US20090287874A1 (en) * | 2008-05-13 | 2009-11-19 | Microsoft Corporation | Flash Recovery Employing Transaction Log |
| TW201011755A (en) * | 2008-09-10 | 2010-03-16 | Skymedi Corp | Flash memory system and its data recovery method |
| TW201040971A (en) * | 2009-03-04 | 2010-11-16 | Micron Technology Inc | Memory block selection |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2646919A2 (en) | 2013-10-09 |
| US20130311750A1 (en) | 2013-11-21 |
| US8495338B2 (en) | 2013-07-23 |
| CN103270500A (zh) | 2013-08-28 |
| WO2012074554A2 (en) | 2012-06-07 |
| KR101491943B1 (ko) | 2015-02-10 |
| WO2012074554A3 (en) | 2012-10-04 |
| JP2013544414A (ja) | 2013-12-12 |
| TW201232256A (en) | 2012-08-01 |
| CN103270500B (zh) | 2016-08-10 |
| EP2646919A4 (en) | 2015-03-18 |
| SG190955A1 (en) | 2013-07-31 |
| JP5649742B2 (ja) | 2015-01-07 |
| US20120144152A1 (en) | 2012-06-07 |
| KR20130088173A (ko) | 2013-08-07 |
| US8984253B2 (en) | 2015-03-17 |
| EP2646919B1 (en) | 2016-05-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI463312B (zh) | 用於異動記錄恢復之方法、用於操作記憶體系統之方法、用於記憶體系統中之異動記錄恢復之方法及記憶體系統 | |
| US10564690B2 (en) | Power interrupt management | |
| US8448018B2 (en) | Stripe-based memory operation | |
| US11126545B2 (en) | Memory system and operating method thereof | |
| US11662940B2 (en) | Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short | |
| JP5908106B2 (ja) | 妥当性マスクを記憶する装置および方法ならびに操作装置 |