TWI519956B - 非揮發性記憶體系統以及其在電源中斷期間保留已儲存資料的方法 - Google Patents

非揮發性記憶體系統以及其在電源中斷期間保留已儲存資料的方法 Download PDF

Info

Publication number
TWI519956B
TWI519956B TW099134803A TW99134803A TWI519956B TW I519956 B TWI519956 B TW I519956B TW 099134803 A TW099134803 A TW 099134803A TW 99134803 A TW99134803 A TW 99134803A TW I519956 B TWI519956 B TW I519956B
Authority
TW
Taiwan
Prior art keywords
metadata
volatile memory
compressed
memory system
stored
Prior art date
Application number
TW099134803A
Other languages
English (en)
Other versions
TW201124844A (en
Inventor
權珉徹
池雲爀
辛東俊
金信
Original Assignee
三星電子股份有限公司
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 三星電子股份有限公司 filed Critical 三星電子股份有限公司
Publication of TW201124844A publication Critical patent/TW201124844A/zh
Application granted granted Critical
Publication of TWI519956B publication Critical patent/TWI519956B/zh

Links

Classifications

    • 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
    • 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
    • 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
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

非揮發性記憶體系統以及其在電源中斷期間保留已儲存資料的方法
本申請案主張於2009年10月16號向韓國智慧財產局提出申請之韓國專利申請案第10-2009-0098615號的優先權,該專利申請案所揭露之內容完整地結合於本說明書中。
本發明的實施例是有關於非揮發性記憶體系統,且特別是有關於出現電源中斷的情況下能夠防止資料丟失的非揮發性記憶體系統。
半導體記憶體元件大體上可以分類為兩種類型:在切斷電源的時候丟失已儲存的資料的揮發性記憶體元件以及在切斷(disconnect)電源的時候保留(retain)已儲存的資料的非揮發性記憶體元件。揮發性記憶體元件的示例包括動態隨機存取記憶體(dynamic random access memory,DRAM)以及靜態隨機存取記憶體(static random access memory,SRAM),以及非揮發性記憶體元件的示例包括電子可抹除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、鐵磁隨機存取記憶體(ferromagnetic random access memory,FRAM)、相位變化隨機存取記憶體(phase change random access memory,PRAM)、磁性隨機存取記憶體(magnetic random access memory,MRAM)以及快閃記憶體(flash memory)。
在非揮發性記憶體元件中,總所周知,快閃記憶體具有相對高的程式化速度、低的功率消耗以及大的儲存容量。因此,在諸如MP3播放器、數位照相機(digital camera)、固態驅動器(Solid State Drive,SSD)以及電腦系統等等之類的各種電子裝置中,快閃記憶體元件已經被廣泛用作資料儲存媒體。
諸如快閃記憶體之類的非揮發性記憶體通常被合併(incorporated)到非揮發性記憶體系統中,諸如SSD,以為各種電子應用提供大的資料儲存。非揮發性記憶體系統典型地從外部電源(諸如110V或220V AC電源)或者內部電源(諸如電池之類的DC電源)接收電力。
不幸的是,電源容易出現故障,即便在非揮發性記憶體元件中,這也能夠導致資料丟失。例如,如果在程式化操作期間非揮發性記憶體元件的電源被意外地中斷,非揮發性記憶體元件中的一些記憶體胞會保留在未知的狀態,這將潛在地導致災難性的系統故障。
本發明的實施例提供了在發生意外的電源中斷的情況下能夠平穩地備份元資料(metadata)的非揮發性記憶體系統。
根據本發明的一實施例,非揮發性記憶體系統包括:第一緩衝器記憶體,被配置為儲存元資料;資料壓縮器,被配置為壓縮元資料;多個非揮發性記憶體元件,被配置為儲存已壓縮的元資料;以及記憶體系統控制單元,被配置為在藉由臨時電源(temporary power supply)來供應電力給非揮發性記憶體系統的時候控制資料壓縮器以壓縮儲存在第一緩衝器記憶體中的元資料,以及還被配置為控制非揮發性記憶體元件中的至少其中之一來儲存已壓縮的元資料。
在一些實施例中,平行地執行控制資料壓縮器壓縮元資料以及控制非揮發性記憶體元件儲存已壓縮的元資料。在一些實施例中,此方法還包括第二緩衝器記憶體,被配置為儲存已壓縮的元資料。在一些實施例中,已壓縮的元資料以對應於至少一個非揮發性記憶體元件的寫入單位(write unit)的單位而被從第二緩衝器記憶體傳送到非揮發性記憶體元件。在一些實施例中,第二緩衝器記憶體以先進先出方式(first-in-first-out fashion)來接收以及傳送已壓縮的元資料。
在一些實施例中,在記憶體系統控制單元未從外部裝置接收讀取或者寫入請求的待用操作(standby operation)期間,元資料被儲存在非揮發性記憶體元件中。在一些實施例中,在元資料被儲存在非揮發性記憶體元件之前,藉由資料壓縮器來壓縮元資料。在一些實施例中,在從臨時電源供應電力給非揮發性記憶體系統的時候,資料壓縮器僅僅壓縮第一緩衝器記憶體所儲存的元資料中的已更新的元資料。
在一些實施例中,非揮發性記憶體元件包括被配置為儲存已壓縮的元資料的保留區域(reserve area)。在一些實施例中,保留區域被配置為以單一位準胞模式(single-level cell mode)來操作。在一些實施例中,已壓縮的元資料以分佈方式(distributed manner)被傳送到非揮發性記憶體元件。在一些實施例中,非揮發性記憶體系統是包括多個快閃記憶體元件的固態驅動器(SSD)。在一些實施例中,第二緩衝器記憶體是第一緩衝器記憶體的保留區域或者被合併到資料壓縮器中。
根據本發明的另一實施例,提供了一種在發生意外的電源中斷的情況下管理藉由臨時電源所驅動的非揮發性記憶體系統的資料的方法。此方法包括壓縮非揮發性記憶體系統的元資料,將已壓縮的元資料儲存在緩衝器記憶體中,以及將已臨時儲存的已壓縮的元資料儲存在多個非揮發性記憶體元件中。
在一些實施例中,平行地執行壓縮元資料以及儲存已壓縮的元資料。在一些實施例中,此方法還包括:在記憶體控制器未從外部元件接收讀取或者寫入請求的待用操作(standby operation)期間,將元資料儲存在非揮發性記憶體元件中。
在一些實施例中,此方法還包括在從臨時電源供應電力給非揮發性記憶體系統的時候,僅僅壓縮元資料中的已更新的元資料,以及將已壓縮的已更新的元資料儲存到非揮發性記憶體元件中。
在一些實施例中,平行地執行僅僅壓縮元資料中的已更新的元資料以及儲存已壓縮的已更新的元資料。在一些實施例中,非揮發性記憶體元件包括用於儲存已壓縮的元資料的保留區域以及保留區域以單一位準胞模式來操作。
在一些實施例中,已壓縮的元資料以分佈方式被傳送到非揮發性記憶體元件。
下面將配合所附圖式來詳細說明本發明的實施例。在所附圖式中,相似的參考數字表示相似的特性。
所描述的實施例是用作說明本發明的示例,其並非用於限定本發明的保護範圍。
圖1是根據本發明的實施例的包括快閃記憶體元件的非揮發性記憶體系統100的方塊圖。
請參看圖1,非揮發性記憶體系統100包括系統匯流排(system bus)10、中央處理單元(central processing unit,CPU)20、緩衝器記憶體30、記憶體控制器43以及非揮發性記憶體(nonvolatile memory,NVM)元件47。
為了便於說明,假定非揮發性記憶體元件47包括多個NAND快閃記憶體。然而,非揮發性記憶體元件47並非限定於NAND快閃記憶體,以及可以包括其它形式的非揮發性記憶體,諸如NOR快閃記憶體、PRAM、FRAM以及MRAM。
系統匯流排10在非揮發性記憶體系統100的組件之間提供資料傳送路徑。CPU 20控制非揮發性記憶體系統100以執行主機系統(圖未繪示)所請求的操作,諸如讀取以及寫入操作。為了控制非揮發性記憶體系統100,CPU 20將韌體臨時儲存在緩衝器記憶體30中以及執行已儲存的韌體以發出(issue)一系列的讀取或者寫入命令給快閃記 憶體47。快閃記憶體控制器43控制快閃記憶體47以直接地回應于來自於CPU 20的讀取以及寫入請求。
圖2是圖1中的非揮發性記憶體系統100的軟體架構(architecture)的圖形。
請參看圖2,主機系統(圖中未繪示)具有包括檔案系統(file system)52以及應用軟體(application software)51的軟體層。非揮發性記憶體系統100具有包括快閃轉換層(Flash Translation Layer,FTL)53的軟體層以及包括快閃記憶體54的硬體層。
當從應用軟體51接收讀取或者寫入請求的時候,檔案系統52傳送讀取或者寫入扇區(sector)位址以及對應的命令給FTL 53。FTL 53傳送已接收的命令給快閃記憶體54。FTL 53也將已接收的扇區位址轉換為快閃記憶體54的記憶體位址並傳送記憶體位址給快閃記憶體54。
圖3A和圖3B是圖2中的FTL 53的方塊圖。更具體地說,圖3A繪示了FTL 53的命令轉換(translation)方面,以及圖3B繪示了FTL 53的位址轉換方面。
請參看圖3A,FTL 53接收讀取和寫入命令以及將讀取和寫入命令轉換為待被發送到快閃記憶體54的讀取、寫入和抹除(erase)命令的各種結合。在一示例實施例中,FTL 53從檔案系統52接收寫入命令以及將寫入命令轉換為抹除命令以及一個或者多個寫入命令。增加抹除命令的一個原因在於,在快閃記憶體54被重寫(overwrite)之前必須抹除快閃記憶體54。換句話說,快閃記憶體54在適當的地方不能被重寫。此外,快閃記憶體54的抹除操作典型地抹除記憶體胞(cells)的整個區塊(block),以及區塊可以包括需要被保留的資料。因此,FTL 53還可以被要求執行移動命令(move command)以將已儲存的資料保留到另一位置中。
當從檔案系統52(例如上層)接收扇區位址的讀取或者寫入請求的時候,FTL 53執行命令轉換以使快閃記憶體54能執行讀取或者寫入操作。FTL 53也管理快閃記憶體54的壞區塊(bad block)以及監視每一區塊的磨損位準(wear level)。
請參看圖3B,FTL 53將從檔案系統52所接收的邏輯位址映射(map)到快閃記憶體54的實體位址(physical address)。FTL 53將屬於從檔案系統52所接收的虛擬磁碟(virtual disk)上的邏輯位址轉換為屬於快閃記憶體54上的實體位址的區塊號碼(block number)、頁號碼(page number)或者行號碼(column number)。通常情況下,參看由FTL 53所管理的位址映射表來執行此位址轉換。
圖4是儲存在非揮發性記憶體系統100的緩衝器記憶體30中的資料結構的圖形。
請參看圖1和圖4,緩衝器記憶體30包括揮發性記憶體,諸如DRAM、SRAM、PRAM或者任何其它類型的揮發性記憶體。在提供資料給主機之前,CPU 20將從快閃記憶體47中所讀取的資料臨時儲存到緩衝器記憶體30中。在將資料寫入快閃記憶體47之前,CPU 20將待被寫入到非揮發性記憶體系統100中的資料臨時儲存到緩衝器記憶體30中。待被提供到主機系統的資料以及從主機系統所接收的資料典型地包括藉由應用軟體51來執行的資料以及用於資料管理的主機系統的元資料。通常情況下,資料被臨時儲存在緩衝器記憶體30的第一區域31。
CPU 20執行韌體來控制非揮發性記憶體系統100。韌體被臨時儲存在緩衝器記憶體30的第一區域31。CPU 20也將在執行韌體期間所生成以及更新的資料臨時儲存在緩衝器記憶體30中。
系統資料包括:在韌體執行期間所生成以及更新的程式序列資料(program sequence data)以及暫存器資料(register data)。通常情況下,系統資料還包括磨損的位準資料、壞區塊資料以及圖2中的由FTL 53所管理的位址映射資料。此資料被稱為非揮發性記憶體系統100的管理資料或者元資料,以及被儲存在緩衝器記憶體30的第二區域33中。
圖5是根據本發明的另一實施例的非揮發性記憶體系統1000的方塊圖。為了便於說明,假定非揮發性記憶體系統1000包括SSD,其採用一個或者多個快閃記憶體元件作為其儲存媒體。然而,本發明並非限定於SSD。
請參看圖5,SSD 1000包括系統匯流排210、CPU 220、緩衝器記憶體230、記憶體控制器243、非揮發性記憶體元件247、資料壓縮器250以及電源260。
通常情況下,非揮發性記憶體元件247包括多個NAND快閃記憶體。然而,非揮發性記憶體元件247並非限定於NAND快閃記憶體。例如,作為替代,非揮發性記憶體元件247可以包括諸如NOR快閃記憶體、PRAM、FRAM以及MRAM之類的非揮發性記憶體。
資料壓縮器250經由系統匯流排210以連接到緩衝器記憶體230。在CPU 220的控制下,資料壓縮器250壓縮被臨時儲存在緩衝器記憶體230中的資料。在CPU 220的控制下,資料壓縮器250復原(restore)被臨時儲存在快閃記憶體247中的已壓縮的資料。通常情況下,資料壓縮器250將已壓縮的資料儲存在緩衝器記憶體中,諸如緩衝器記憶體230。
根據所期望的壓縮比率和效率,資料壓縮器250可以在軟體或者硬體中被執行。資料壓縮器250也可以執行各種壓縮演算法(algorithm)中的任何一種,諸如霍夫曼編碼(Huffman coding)或者另一無損的壓縮方案(lossless compression scheme)。
電源260施加電力給SSD 1000的組件(component)中的每一個。電源260包括主電源261以及用作臨時電源的超電容器265。主電源261轉換外部電壓以及施加已轉換的電壓給每一組件。例如,當特定的組件使用的電壓高於外部電壓的時候,則主電源261拉升(raise)外部電壓以及施加已拉升的電壓給特定的組件。當組件使用的電壓低於外部電壓的時候,則主電源261降低(drop)外部電壓以及施加已降低的電壓給組件。
在發生意外的電源中斷的情況下,超電容器265臨時供應電力給SSD 1000。例如,當SSD突然不能接收需要的電源的時候,諸如電源切斷(outage),則意外的電源失效將發生。這種電源失效被稱為意外的電源中斷。
當意外的電源中斷發生在SSD 1000的寫入或者抹除操作中的時候,SSD 1000可能會產生嚴重的錯誤。嚴重的錯誤的示例就是SSD 1000或者主機系統的元資料或使用者資料的異常儲存(abnormal storage)。
為了防止這種資料儲存錯誤,主電源261偵測外部電壓的位準,以及當由於發生意外的電源中斷而導致已偵測的電壓位準低於預定的電壓位準的時候,主電源261控制超電容器265放電。在超電容器265的放電期間,CPU 220控制快閃記憶體控制器243來完成快閃記憶體247的當前(ongoing)的寫入或者抹除操作。CPU 220也將已儲存在緩衝器記憶體230中的任何元資料儲存到快閃記憶體247中,以正常地終止(terminate)SSD 1000的操作。
圖6是繪示超電容器265的放電期間的非揮發性記憶體系統1000的操作的電壓圖形以及兩個記憶體圖形。
請參看圖5和圖6,在時間t0發生意外的電源中斷的情況下,主電源261偵測間隔t0至t1期間的外部電壓的位準以及控制超電容器265以進行放電。超電容器265在時間t1開始放電,以及CPU 220執行用於因應(coping with)意外的電源中斷的操作。更具體地說,CPU 220傳送已儲存在緩衝器記憶體230中的使用者資料以及元資料到快閃記憶體247中。因為超電容器265的已放電的電壓位準隨著時間下降,所以CPU 220必須在時間t2之前執行用於因應意外的電源中斷的操作,同時施加能夠操作SSD 1000的電壓位準。
當由於意外的電源中斷而由臨時電源來驅動SSD 1000的時候,為了降低臨時電源的功率消耗,CPU 220控制資料壓縮器250來壓縮儲存在緩衝器記憶體230中的資料。CPU 220控制快閃記憶體控制器243來將已壓縮的資料儲存到快閃記憶體247中。當儲存到緩衝器記憶體230中的所有資料被壓縮以及被發送到快閃記憶體247的時候,臨時電源可能已經被耗盡。因此,在一些實施例中,CPU 220可以僅僅選擇必須被保留的重要資料以及發送已選擇的資料到資料壓縮器250。
緩衝器記憶體230包括第一區域231,其儲存待被提供到主機系統的資料、從主機系統接收的資料或者用於控制SSD 1000的韌體。緩衝器記憶體230包括第二區域233,其儲存在執行應用程式期間所生成和更新的管理資料(例如,諸如位址映射資料之類的元資料)。
由於儲存在臨時電源中的電力的數量是有限的,因此在發生意外的電源中斷的情況下,其不可能將臨時儲存在緩衝器記憶體230中的所有資料傳送到快閃記憶體247中。因此,在一些實施例中,CPU 220控制資料壓縮器250來選擇性地僅僅壓縮必須被保留的管理資料233,以及控制快閃記憶體控制器243將已壓縮的管理資料儲存到快閃記憶體247的預定的區域249中。
儘管一些實施例在發生意外的電源中斷的情況下僅僅壓縮和儲存管理資料,但是在發生意外的電源中斷的情況下也可以壓縮和儲存其它類型的資料。例如,在一些實施例中,發生意外的電源中斷的情況下,儲存在緩衝器記憶體230中的所有資料可以被壓縮和儲存於快閃記憶體247中。
圖7是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份(backup)過程的圖形。為了便於說明,圖7繪示了儲存在緩衝器記憶體230中的三個元資料單元1至3。
請參看圖5和圖7,在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220在儲存在緩衝器記憶體230中的資料中選擇必須被保留的元資料1至3,以及發送已選擇的資料給資料壓縮器250。CPU 220控制資料壓縮器250來壓縮已接收的元資料1至3以及發送已壓縮的元資料1至3至緩衝器記憶體270。在各種可替代的實施例中,緩衝器記憶體270可以被合併到資料壓縮器250、緩衝器記憶體230或者CPU 220中。
緩衝器記憶體270具有先進先出(first-in-first-out,FIFO)結構,此先進先出結構用於以已接收的次序來將已壓縮的元資料1至3發送到快閃記憶體247中。只要已壓縮的元資料1至3被儲存到緩衝器記憶體270中,則CPU 220控制快閃記憶體控制器243來將已壓縮的元資料1至3儲存到快閃記憶體247的保留區域中。通常情況下,快閃記憶體247的保留區域藉由CPU 220來預先配置。然而,保留區域並非限定於被預先配置的區域。
只要在意外的電源損耗之後對SSD 1000復原外部電源,則CPU 220使用資料壓縮器250來復原儲存在快閃記憶體247中的已壓縮的元資料1至3。在元資料被無損地壓縮以及復原的情況下,CPU 220儲存已復原的元資料至緩衝器記憶體230中以用於後來的使用。在元資料未被無損地壓縮以及復原的情況下,CPU 220恢復(recover)元資料的已復原的部分以及將其儲存到緩衝器記憶體230中以用於以後的使用。
圖8是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
請參看圖5和圖8,SSD 1000執行主機系統所請求的操作。例如,SSD 1000基於主機所發出的請求而在某些扇區上執行讀取和寫入操作。在這些操作期間,SSD 1000在超電容器265中保持充電以為可能的電源損耗做準備(S301)。
在發生意外的電源中斷的情況下(S302),主電源261偵測SSD 1000的外部電壓的位準。在已偵測的電壓位準低於預定的電壓位準的情況下,超電容器265在主電源261的控制下放電以供應電力給SSD 1000(S303)。
CPU 220從儲存在緩衝器記憶體230中的資料中選擇待被保留的元資料以及發送已選擇的元資料給資料壓縮器250。在接收元資料後,資料壓縮器250在CPU 220的控制下立即壓縮元資料(S304)。在CPU 220的控制下,已壓縮的元資料被臨時儲存在圖7的緩衝器記憶體270中(S305)。
在所有的已壓縮的元資料被儲存於緩衝器記憶體270中的時候,CPU 220控制快閃記憶體控制器243將已壓縮的元資料儲存到快閃記憶體247的保留區域中(S306)。
圖9A和圖9B是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。為了便於說明,圖9A和9B繪示了儲存在緩衝器記憶體230中的包括管理資料的三個元資料單元1至3。
請參看圖5和圖9A,在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220在臨時儲存於緩衝器記憶體230中的資料中選擇待被保留的元資料,壓縮已選擇的元資料,以及將已壓縮的元資料儲存於快閃記憶體247中。CPU 220可以平行地執行壓縮元資料以及儲存已壓縮的資料。更具體地說,CPU 220控制資料壓縮器250以壓縮元資料1,以及控制快閃記憶體控制器243而將已壓縮的元資料1儲存到快閃記憶體247中。當快閃記憶體控制器243將已壓縮的元資料1儲存到快閃記憶體247中的時候,CPU 220控制資料壓縮器250以壓縮元資料2。CPU 220也類似地平行處理元資料2和元資料3。
請參看圖5和圖9B,在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220在儲存於緩衝器記憶體230中的資料中選擇待被保留的元資料1至3,以及發送元資料1和2給資料壓縮器250。在CPU 220的控制下,資料壓縮器250壓縮已接收的元資料1至3以及發送已壓縮的元資料1和2至緩衝器記憶體270。
因為快閃記憶體247以頁面單位來執行寫入操作,所以在將已壓縮的元資料儲存於快閃記憶體247中之前,緩衝器記憶體270臨時儲存已壓縮的元資料,此元資料包括一個以上的頁面。在各種可替代的實施例中,緩衝器記憶體270可以被合併到資料壓縮器250、緩衝器記憶體230的一部分或者CPU 220的緩衝器記憶體中。
緩衝器記憶體270具有FIFO結構,從而已壓縮的元資料1和2以所接收的次序從緩衝器記憶體270被發送到快閃記憶體247。緩衝器記憶體270被配置為將資料儲存到頁面單元中,此頁面單元是快閃記憶體247的寫入單元。因此,在圖9B的實施例中,為了儲存到緩衝器記憶體270中,元資料1被分割為頁面1-a以及1-b。
CPU 220控制快閃記憶體控制器243以將已壓縮的元資料1-a儲存到快閃記憶體247的保留區域中。通常情況下,快閃記憶體247的保留區域藉由CPU 220來預先配置。然而,保留區域並非限定於預先配置的區域。
當已壓縮的元資料1-a被儲存到快閃記憶體247中的時候,CPU 220發送已壓縮的元資料2到緩衝器記憶體270以及發送元資料3到資料壓縮器250。也就是說,CPU 220可以平行地執行元資料的壓縮以及已壓縮的元資料的儲存。
在電源被正常施加到SSD 1000的時候,CPU 220使用資料壓縮器250來復原儲存在快閃記憶體247中的已壓縮的元資料1至3。在元資料被無損地壓縮以及復原的情況下,CPU 220儲存已復原的元資料到緩衝器記憶體230中以用於後來的使用。在元資料未被無損壓縮以及復原的情況下,CPU 220恢復(recover)元資料的任何可復原的部分以及將其儲存到緩衝器記憶體230中以用於以後的使用。
圖10是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
請參看圖5和圖10,SSD 1000執行主機系統所請求的操作。例如,SSD 1000基於主機所發出的請求而在某些扇區上執行讀取和寫入操作。在這些操作期間,SSD 1000在超電容器265中保持充電以為可能的電源損耗做準備(S401)。
在發生意外的電源中斷的情況下(S402),主電源261偵測SSD 1000的外部電壓的位準。在已偵測的電壓位準低於預定的電壓位準的情況下,超電容器265在主電源261的控制下放電以供應電力給SSD 1000(S403)。
CPU 220從儲存在緩衝器記憶體230中的資料中選擇待被保留的元資料以及發送已選擇的元資料給資料壓縮器250。在接收元資料後,資料壓縮器250在CPU 220的控制下立即壓縮元資料(S404)。在CPU 220的控制下,已壓縮的元資料以一個頁面單元的形式被臨時儲存在圖9B的緩衝器記憶體270中(S405)。接著,CPU 220決定緩衝器記憶體270是否已滿或者緩衝器記憶體230中的所有的所需要的元資料是否已經被傳送到緩衝器記憶體270中(S406)。如果是這樣(S406中選擇“是”),CPU 220控制快閃記憶體控制器243以將快閃記憶體247的1頁面尺寸的已壓縮的元資料儲存到快閃記憶體247的保留區域中(S407)。否則(S406中選擇“否”),此方法返回到步驟S404。換句話說,CPU 220控制資料壓縮器250壓縮附加的元資料以及將已壓縮的元資料儲存到緩衝器記憶體270中。通常情況下,CPU 220可以平行地執行元資料的壓縮以及已壓縮的元資料的儲存。
圖11是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。為了便於說明,圖11繪示了三種元資料1至3構成了儲存在緩衝器記憶體230中的管理資料。
請參看圖5和圖11,在沒有來自於主機系統(圖中未繪示)的請求命令(例如,資料讀取/寫入命令)的待用時間期間,CPU 220控制資料壓縮器250來壓縮儲存在緩衝器記憶體230中的元資料1至3。在待用時間期間,CPU 220也控制快閃記憶體控制器243以將已壓縮的元資料1至3儲存到快閃記憶體247的保留區域中。
在由於意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220從儲存在緩衝器記憶體230中的資料中僅僅選擇元資料1至3中的已更新的部分,以及發送已選擇的部分到資料壓縮器250。
因為在待用時間期間壓縮儲存在緩衝器記憶體230中的元資料1至3,所以在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220僅僅選擇、壓縮以及儲存已更新的部分UD1以及UD2。已更新的元資料UD1以及UD2包括:在待用時間期間壓縮和儲存元資料1至3之後的已更新的元資料。
在接收已更新的元資料UD1以及UD2後,在CPU 220的控制下,資料壓縮器250立即壓縮已更新的元資料UD1以及UD2,以及發送已壓縮的元資料UD1以及UD2到緩衝器記憶體270中。
因為快閃記憶體247以頁面單元來執行寫入操作,在已壓縮的元資料被儲存到快閃記憶體247之前,緩衝器記憶體270以頁面單元的形式來儲存已壓縮的元資料。在各種可替代的實施例中,緩衝器記憶體270可以被合併到資料壓縮器250、緩衝器記憶體230的一部分或者CPU 220的緩衝器記憶體中。
通常情況下,緩衝器記憶體270具有FIFO結構。因此,藉由壓縮器250所壓縮的已更新的元資料UD1和UD2以其在緩衝器記憶體270中被接收的次序而從緩衝器記憶體270被發送到快閃記憶體247中。
在已壓縮的元資料UD1至UD3被儲存到緩衝器記憶體270中的情況下,CPU 220控制快閃記憶體控制器243來將已壓縮的元資料UD1至UD2儲存到快閃記憶體247的保留區域中。通常情況下,快閃記憶體247的保留區域藉由CPU 220來預先配置。然而,保留區域並非限定於預先配置的區域。
在外部電源恢復對SSD 1000供電的情況下,CPU 220使用資料壓縮器250來復原儲存在快閃記憶體247中的已壓縮的元資料1至3。在元資料被無損地壓縮以及復原的情況下,CPU 220儲存已復原的元資料到緩衝器記憶體230中以用於後來的使用。在元資料未被無損地壓縮以及復原的情況下,CPU 220恢復元資料的任何可復原的部分以及將其儲存到緩衝器記憶體230中以用於以後的使用。
圖12是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
請參看圖5和圖12,SSD 1000執行記憶體存取操作以回應于來自於主機系統的請求。例如,SSD 1000執行讀取和寫入操作以回應於對應的讀取以及寫入請求。在SSD 1000的正常操作期間,超電容器265被充電(S501)。
在未從主機系統接收請求的待用時間的期間,CPU 220選擇儲存在緩衝器記憶體230中的元資料以及發送元資料給壓縮器250。在CPU 220的控制下,資料壓縮器250壓縮已接收的元資料(S502)。
在待用時間的期間,在CPU 220的控制下,CPU 220發送已壓縮的元資料給圖11的緩衝器記憶體270(S503)。在所有的已壓縮的元資料被儲存到緩衝器記憶體270中的情況下,CPU 220控制快閃記憶體控制器243以將已壓縮的元資料儲存到快閃記憶體247的保留區域中(S504)。
在發生意外的電源中斷的情況下(S505),主電源261偵測SSD 1000的外部電壓的位準。在已偵測的電壓位準低於預定的電壓位準的情況下,超電容器265在主電源261的控制下放電以供應電力給SSD 1000(S506)。
CPU 220選擇儲存在緩衝器記憶體230中的元資料的已更新的部分以及發送已選擇的部分至資料壓縮器250。已更新的部分是不同於已儲存在快閃記憶體247中的元資料的一部分元資料。在CPU 220的控制下,資料壓縮器250壓縮已更新的元資料(S507)。在CPU 220的控制下,已壓縮的元資料被臨時儲存到緩衝器記憶體270中(S508)。
當所有的已壓縮的元資料被儲存於緩衝器記憶體270中的時候,CPU 220控制快閃記憶體控制器243以將已壓縮的元資料儲存於快閃記憶體247的保留區域(S509)。
圖13是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。為了便於說明,圖13繪示了儲存在緩衝器記憶體230中的三個元資料單元1至3。
請參看圖5和圖13,在未接收來自於主機系統(圖中未繪示)的請求的待用時間的期間,CPU 220控制資料壓縮器250來壓縮元資料1至3。CPU 220控制快閃記憶體控制器243以將已壓縮的元資料1至3儲存到快閃記憶體247的保留區域中。在未從主機系統接收請求的待用時間的期間,CPU 220可以控制快閃記憶體控制器243將元資料1至3儲存到快閃記憶體247中。
在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220從儲存在緩衝器記憶體230中的資料中僅僅選擇元資料1至3的已更新的部分,以及發送已選擇的部分到資料壓縮器250。
因為在待用時間的期間壓縮儲存在緩衝器記憶體230中的元資料1至3,所以在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220僅僅選擇、壓縮以及儲存元資料1至3中的已更新的部分UD1以及UD2。已更新的元資料UD1以及UD2是在待用時間的期間壓縮和儲存元資料1至3之後的已更新的元資料。
在CPU 220的控制下,資料壓縮器250壓縮已更新的元資料UD1以及UD2。在CPU 220的控制下,資料壓縮器250也發送已壓縮的元資料UD1以及UD2到緩衝器記憶體270中。
因為快閃記憶體247以頁面單元來執行寫入操作,所以在已壓縮的元資料被儲存到快閃記憶體247之前,緩衝器記憶體270以頁面單元的形式來儲存已壓縮的元資料。在各種可替代的實施例中,緩衝器記憶體270可以被合併到資料壓縮器250、緩衝器記憶體230的一部分或者CPU 220的緩衝器記憶體中。
緩衝器記憶體270被配置為具有FIFO結構。因此,藉由壓縮器250所壓縮的已壓縮的元資料UD1和UD2以其在緩衝器記憶體270中被接收的次序而從緩衝器記憶體270被發送到快閃記憶體247中。為了與快閃記憶體247的頁面單元一致,緩衝器記憶體270以頁面單元的形式來儲存資料。例如,緩衝器記憶體270可以將已壓縮和已更新的元資料UD1分割為頁面尺寸的單元UD1-a和UD1-b等等。
只要快閃記憶體247的已壓縮的元資料UD1-a被儲存到緩衝器記憶體270中,則CPU 220控制快閃記憶體控制器243來將已壓縮的元資料UD1-a儲存到快閃記憶體247的保留區域中。通常情況下,快閃記憶體247的保留區域藉由CPU 220來預先配置。然而,保留區域並非限定於預先配置的區域。
在已壓縮的元資料UD1-a被儲存到快閃記憶體247中的時候,CPU 220發送已更新的元資料UD2到資料壓縮器250。也就是說,CPU 220平行地執行元資料的壓縮以及儲存元資料到快閃記憶體247中。
在外部電源恢復對SSD 1000供電的情況下,CPU 220使用資料壓縮器250來復原儲存在快閃記憶體247中的已壓縮的元資料1至3。在元資料被無損地壓縮以及復原的情況下,CPU 220儲存已復原的元資料到緩衝器記憶體230中以用於後來的使用。在元資料未被無損地壓縮以及復原的情況下,CPU 220恢復元資料的任何可復原的部分以及將其儲存到緩衝器記憶體230中以用於以後的使用。
圖14是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
請參看圖5和圖14,SSD 1000執行諸如讀取和寫入操作之類的操作以回應于來自於主機系統的請求。同時,超電容器265被充電(S601)。
在未從主機系統接收請求的待用時間的期間,CPU 220選擇儲存在緩衝器記憶體230中的元資料以及發送已選擇的元資料至壓縮器250。在CPU 220的控制下,資料壓縮器250壓縮已接收的元資料(S602)。
在待用時間的期間,在CPU 220的控制下,CPU 220發送已壓縮的元資料給圖13的緩衝器記憶體270(S603)。在所有的已壓縮的元資料被儲存到緩衝器記憶體270中的情況下,CPU 220控制快閃記憶體控制器243以將已壓縮的元資料儲存到快閃記憶體247的保留區域中(S604)。
在發生意外的電源中斷的情況下(S605),主電源261偵測SSD 1000的外部供應電壓的位準。在已偵測的電壓位準低於預定的電壓位準的情況下,超電容器265在主電源261的控制下放電以供應電力給SSD 1000(S606)。
CPU 220僅僅選擇儲存在緩衝器記憶體230中的元資料的已更新的部分以及發送已選擇的元資料給資料壓縮器250。在CPU 220的控制下,資料壓縮器250接收且壓縮已更新的元資料(S607)。在CPU 220的控制下,已壓縮的元資料被臨時儲存至緩衝器記憶體270中(S608)。
藉由採用FIFO配置,已壓縮的元資料以頁面單元的形式而被儲存到緩衝器記憶體270中(S609),以及CPU 220控制快閃記憶體控制器243以將已壓縮的元資料儲存到快閃記憶體247的保留區域中(S610)。CPU 220可以控制將已壓縮的元資料儲存到緩衝器記憶體270中,這因而可以與壓縮待被儲存到快閃記憶體247中的其它元資料平行地執行。
在外部電源恢復對SSD 1000供電的情況下,CPU 220使用資料壓縮器250來復原儲存在快閃記憶體247中的已壓縮的元資料1至3。在元資料被無損地壓縮以及復原的情況下,CPU 220儲存已復原的元資料至緩衝器記憶體230中以用於後來的使用。在元資料未被無損地壓縮以及復原的情況下,CPU 220恢復元資料的任何可復原的部分且將其儲存到緩衝器記憶體230中以用於以後的使用。
圖15是根據本發明實施例的快閃記憶體247的操作模式的圖形。
請參看圖5和圖15,在發生意外的電源中斷的情況下,SSD 1000壓縮儲存在緩衝器記憶體230中的元資料以及將已壓縮的元資料儲存到快閃記憶體247中。當臨時電源提供電力的時候,CPU 220控制一時間間隔內執行儲存已壓縮的元資料的操作。為了確保以適當的速度來儲存元資料,根據來自於主機的輸入命令,快閃記憶體247可以被配置為以各種模式來操作。作為一個示例的模式,快閃記憶體247能夠以單一位準胞(single-level cell,SLC)模式來操作記憶體胞中的某些區域,SLC的程式化速度快於多位準(multilevel)胞。因此,在電源被意外地中斷的情況下,在臨時電源被耗盡之前,SSD 1000能夠接收元資料。
CPU 220控制記憶體胞操作方案,從而藉由採用SLC方案,資料被儲存到被配置為儲存已壓縮的元資料的區域中。CPU 220也控制記憶體胞操作方案,從而藉由採用多位準胞(multi-level cell,MLC)方案,將資料儲存至被配置為儲存待被寫入的由主機系統所請求的使用者資料1和2的區域中。
圖16是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。為了便於說明,圖16繪示了作為儲存在緩衝器記憶體230中的管理資料的三種元資料1至3。
請參看圖5和圖16,在由於發生意外的電源中斷而藉由臨時電源來驅動SSD 1000的情況下,CPU 220在儲存至緩衝器記憶體230中的資料中選擇待被保留的元資料1至3,以及發送已選擇的元資料給資料壓縮器250。在CPU 220的控制下,資料壓縮器250壓縮已接收的元資料1至3。在CPU 220的控制下,資料壓縮器250也發送已壓縮的元資料1至3至緩衝器記憶體270。
因為快閃記憶體247以頁面單位來執行寫入操作,所以在將已壓縮的元資料儲存至快閃記憶體247中之前,緩衝器記憶體270臨時儲存已壓縮的元資料。在各種可替代的實施例中,緩衝器記憶體270可以被合併到資料壓縮器250、緩衝器記憶體230的一部分或者CPU 220的緩衝器記憶體中。
緩衝器記憶體270具有FIFO結構,從而已壓縮的元資料1和2以被緩衝器記憶體270所接收的次序而從緩衝器記憶體270被發送到快閃記憶體247。
在所有的已壓縮的元資料1至3被儲存到緩衝器記憶體270中的時候,CPU 220控制快閃記憶體控制器243以將已壓縮的元資料1至3以分佈方式儲存到多個快閃記憶體中。例如,如果SSD 1000具有多通道結構以及包括用於每一通道的多個快閃記憶體,則CPU 220可以平行地操作多個快閃記憶體。因此,CPU 220可以將已壓縮的元資料1至3以分佈方式儲存到快閃記憶體247的保留區域247-1、247-2和247-3中。
在外部電源恢復對SSD 1000供電的情況下,CPU 220使用資料壓縮器250來復原儲存在快閃記憶體247中的已壓縮的元資料1至3。在元資料被無損地壓縮以及復原的情況下,CPU 220儲存已復原的元資料到至緩衝器記憶體230中以用於後來的使用。在元資料未被無損地壓縮以及復原的情況下,CPU 220恢復元資料的任何可復原的部分以及將其儲存到緩衝器記憶體230中以用於以後的使用。
圖17是根據本發明實施例的非揮發性記憶體系統2000的方塊圖。
請參看圖17,非揮發性記憶體系統2000包括記憶體控制器1950以及非揮發性記憶體元件1990。
記憶體控制器1950連接到主機1910以及非揮發性記憶體元件1990。記憶體控制器1950被配置為存取非揮發性記憶體元件1990以回應於主機1910的請求。例如,記憶體控制器1950被配置為控制非揮發性記憶體元件1990的讀取/寫入/抹除操作。記憶體控制器1950被配置為提供非揮發性記憶體元件1990與主機1910之間的介面。記憶體控制器1950被配置為驅動用於控制非揮發性記憶體元件1990的韌體。
記憶體控制器1950包括隨機存取記憶體(random access memory,RAM)1951、CPU 1953、主機介面(interface,I/F)1955、採用錯誤更正碼(error correction code,ECC)的錯誤更正單元1957、記憶體介面1959以及資料壓縮器1961。RAM 1951被用作CPU 1953的工作記憶體。CPU 1953控制記憶體控制器1950的整個操作。
主機介面執行用於主機1910與記憶體控制器1950之間的資料交換的協定。例如,藉由通過諸如通用串列匯流排(universal serial bus,USB)協定、多媒體卡(multimedia card,MMC)協定、周邊元件互連(peripheral component interconnect,PCI)協定、PCI快速(PCI-Express,PCI-E)協定、先進技術附件(advanced technology attachment,ATA)協定、序列先進技術附件(Serial Advanced Technology Attachment,SATA)協定、增強型小型裝置介面(enhanced small device interface,ESDI)協定以及整合驅動電子(integrated drive electronics,IDE)協定之類的各種介面協定中的一個,記憶體控制器1950可以被配置為與外部裝置(例如,主機1910)進行通訊。
錯誤更正單元1957被配置為偵測以及更正從非揮發性記憶體元件1990中讀取的資料中的錯誤。通常情況下,錯誤更正單元1957被用作記憶體控制器1950的組件,然而,錯誤更正單元1957也可以被用作非揮發性記憶體元件1990的組件。記憶體介面與非揮發性記憶體元件1990接合。
在非揮發性記憶體系統2000中發生意外的電源中斷的情況下,資料壓縮器1961壓縮被臨時儲存到RAM 1951中的元資料。在意外的電源中斷之後電源恢復對非揮發性記憶體系統2000供電的情況下,資料壓縮器1961復原儲存到非揮發性記憶體元件1990中的已壓縮的元資料。在CPU 1953的控制下,已壓縮的元資料被儲存到非揮發性記憶體元件1990中。儘管在圖17中未繪示,非揮發性記憶體系統2000還包括唯讀記憶體(read-only memory,ROM),其儲存用於實施具有主機1910的介面的代碼(code)。
在一些實施例中,記憶體控制器1950以及非揮發性記憶體元件1990被整合(integrate)到一個半導體元件以構成記憶體卡。例如,記憶體控制器1950以及非揮發性記憶體元件1990可以被整合(integrate)到一個半導體元件以構成諸如個人電腦記憶體卡國際協會(personal computer memory card international association,PCMCIA)卡、緊密快閃(compact flash,CF)卡、精明媒體卡(smart media card)、記憶條(memory stick)、多媒體卡(例如,MMC、RS-MMC以及MMC-micro)、保全數位(secure digital,SD)卡(例如,SD、微-SD、宏-SD以及SDHC)以及通用快閃儲存器(universal flash storage,UFS)之類的記憶體卡。
在另一示例實施例中,非揮發性記憶體系統2000可以包括或者合併到固態驅動器(Solid State Drives,SSD)、電腦、可攜式電腦、超移動個人電腦(ultra mobile personal computer,UMPC)、工作站(work station)、上網本(net-book)、個人數位助理(personal digital assistant,PDA)、網站平板(web tablet)、無線電話、移動電話、數位照相機、數位聲頻記錄器、數位聲頻播放器、數位視頻記錄器、數位視頻播放器、能夠在無線環境中發送/接收資訊的裝置、構成家用網路的各種電子裝置的其中之一、構成電腦網路的各種電子裝置的其中之一、構成遠程資訊服務網路(telematics network)的各種電子裝置的其中之一或者嵌入式系統。
可以用各種類型的封裝來安裝非揮發性記憶體元件1990或者非揮發性記憶體系統2000。用於非揮發性記憶體元件1990或者非揮發性記憶體系統2000的封裝的示例包括疊層封裝(package on package,PoP)、球柵陣列(ball grid array,BGA)、晶片尺度封裝(chip scale package,CSP)、塑料引線晶片載體(plastic leaded chip carrier,PLCC)、塑料雙列直插式封裝(plastic dual in-line package,PDIP)、窩伏爾組件形式的晶粒(die in waffle pack)、晶圓形式的晶粒(die in wafer form)、電路板上晶片(chip on board,COB)、陶瓷雙列直插式封裝(ceramic dual in-line package,CERDIP)、塑料公制四方扁平封裝(plastic metric quad flat pack,MQFP)、薄型四方扁平封裝(thin quad flat pack,TQFP)、小型積體電路(small outline integrated circuit,SOIC)、收縮小型封裝(shrink small outline package,SSOP)、薄型小型封裝(thin small outline package,TSOP)、系統封裝(system in package,SIP)、多晶片封裝(multi chip package,MCP)、晶圓位準製造封裝(wafer-level fabricated package,WFP)、晶圓位準堆疊封裝(wafer-level processed stack package,WSP)。
如上所述,在意外的電源中斷的情況下,根據本發明實施例的非揮發性記憶體系統來壓縮和儲存非揮發性記憶體元件中的元資料,從而可以快速以及穩定地備份元資料。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...非揮發性記憶體系統
10...系統匯流排
20...中央處理單元
30...緩衝器記憶體
31...器記憶體30的第一區域
33...緩衝器記憶體30的第二區域
43...記憶體控制器
47...非揮發性記憶體元件
51...應用軟體
52...檔案系統
53...快閃轉換層
54...快閃記憶體
1000...非揮發性記憶體系統
210...系統匯流排
220...中央處理單元
230...緩衝器記憶體
231...緩衝器記憶體230包括的第一區域
233...緩衝器記憶體230包括的第二區域
243‧‧‧記憶體控制器
247‧‧‧非揮發性記憶體元件
247-1、247-2和247-3‧‧‧快閃記憶體247的保留區域
249‧‧‧快閃記憶體247的預定的區域
250‧‧‧資料壓縮器
260‧‧‧電源
261‧‧‧主電源
265‧‧‧超電容器
270‧‧‧緩衝器記憶體
S301~S306、S401~S407、S501~S509、S601~S610‧‧‧在發生意外的電源中斷的情況下所執行的元資料備份過程的步驟
2000‧‧‧非揮發性記憶體系統
1950‧‧‧記憶體控制器
1990‧‧‧非揮發性記憶體元件
1910‧‧‧主機
1950‧‧‧記憶體控制器
1951‧‧‧隨機存取記憶體
1953‧‧‧中央處理單元
1955‧‧‧主機介面
1957‧‧‧錯誤更正單元
1959‧‧‧記憶體介面
1961‧‧‧資料壓縮器
圖1是根據本發明的實施例的包括快閃記憶體元件的非揮發性記憶體系統的方塊圖。
圖2是圖1中的非揮發性記憶體系統的軟體架構(architecture)的圖形。
圖3A和圖3B是圖2中的快閃轉換層(flash translation layer)的方塊圖。
圖4是儲存在圖1中的非揮發性記憶體系統的緩衝器記憶體中的資料結構的圖形。
圖5是根據本發明的另一實施例的非揮發性記憶體系統的方塊圖。
圖6是繪示圖5中的超電容器(super capacitor)的放電期間的非揮發性記憶體系統的操作的電壓圖形以及兩個記憶體圖形。
圖7是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份(backup)過程的圖形。
圖8是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
圖9A和圖9B是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。
圖10是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
圖11是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。
圖12是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
圖13是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。
圖14是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的流程圖。
圖15是根據本發明實施例的快閃記憶體的操作模式的圖形。
圖16是根據本發明實施例的在意外的電源中斷的情況下所執行的元資料備份過程的圖形。
圖17是根據本發明實施例的非揮發性記憶體系統的方塊圖。
100...非揮發性記憶體系統
10...系統匯流排
20...中央處理單元
30...緩衝器記憶體
43...記憶體控制器
47...非揮發性記憶體元件

Claims (18)

  1. 一種非揮發性記憶體系統,所述非揮發性記憶體系統包括:第一緩衝器記憶體,被配置為儲存用於資料管理的元資料;資料壓縮器,被配置為壓縮所述元資料;多個非揮發性記憶體元件,被配置為儲存已壓縮的所述元資料;以及記憶體系統控制單元,被配置為當在發生意外的電源中斷的情況下作為替代地供應電力給所述非揮發性記憶體系統的時候控制所述資料壓縮器以壓縮儲存在所述第一緩衝器記憶體中的所述元資料,以及還被配置為控制所述非揮發性記憶體元件中的至少其中之一來儲存已壓縮的所述元資料,其中平行地執行控制所述資料壓縮器以壓縮所述元資料以及控制所述非揮發性記憶體元件以儲存已壓縮的所述元資料。
  2. 如申請專利範圍第1項所述之非揮發性記憶體系統,所述非揮發性記憶體系統還包括第二緩衝器記憶體,其被配置為儲存已壓縮的所述元資料。
  3. 如申請專利範圍第2項所述之非揮發性記憶體系統,其中已壓縮的所述元資料以對應於至少一個非揮發性記憶體元件的寫入單位的單位而被從所述第二緩衝器記憶體傳送到所述非揮發性記憶體元件。
  4. 如申請專利範圍第3項所述之非揮發性記憶體系統,其中所述第二緩衝器記憶體以先進先出方式來接收以及傳送已壓縮的所述元資料。
  5. 如申請專利範圍第1項所述之非揮發性記憶體系統,其中在所述記憶體系統控制單元未從外部裝置接收讀取或者寫入請求的待用操作期間,所述元資料被儲存在所述非揮發性記憶體元件中。
  6. 如申請專利範圍第5項所述之非揮發性記憶體系統,其中在所述元資料被儲存在所述非揮發性記憶體元件之前,藉由所述資料壓縮器來壓縮所述元資料。
  7. 如申請專利範圍第5項所述之非揮發性記憶體系統,其中在從臨時電源供應電力給所述非揮發性記憶體系統的時候,所述資料壓縮器僅僅壓縮所述第一緩衝器記憶體中所儲存的所述元資料中的已更新的元資料。
  8. 如申請專利範圍第1項所述之非揮發性記憶體系統,其中所述非揮發性記憶體元件包括被配置為儲存已壓縮的所述元資料的保留區域。
  9. 如申請專利範圍第8項所述之非揮發性記憶體系統,其中所述保留區域被配置為以單一位準胞模式來操作。
  10. 如申請專利範圍第1項所述之非揮發性記憶體系統,其中已壓縮的所述元資料以分佈方式而被發送到所述非揮發性記憶體元件。
  11. 如申請專利範圍第1項所述之非揮發性記憶體系統,其中所述非揮發性記憶體系統是包括多個快閃記憶體 元件的固態驅動器。
  12. 如申請專利範圍第2項所述之非揮發性記憶體系統,其中所述第二緩衝器記憶體是所述第一緩衝器記憶體的保留區域或者被合併到所述資料壓縮器中。
  13. 一種在發生意外的電源中斷的情況下管理藉由臨時電源來作為替代地驅動的非揮發性記憶體系統的資料的方法,所述方法包括:壓縮儲存於所述非揮發性記憶體系統的元資料,以產生已壓縮的所述元資料;將已壓縮的所述元資料作為已臨時儲存的已壓縮的所述元資料儲存在緩衝器記憶體中;以及將已臨時儲存的已壓縮的所述元資料儲存在多個非揮發性記憶體元件中,其中平行地執行壓縮所述元資料以及儲存已壓縮的所述元資料。
  14. 如申請專利範圍第13項所述之在發生意外的電源中斷的情況下管理藉由臨時電源來驅動的非揮發性記憶體系統的資料的方法,其中所述方法還包括:在記憶體控制器未從外部元件接收讀取或者寫入請求的待用操作期間,將所述元資料儲存在所述非揮發性記憶體元件中。
  15. 如申請專利範圍第14項所述之在發生意外的電源中斷的情況下管理藉由臨時電源來驅動的非揮發性記憶體系統的資料的方法,所述方法還包括:在從所述臨時電源供應電力給所述非揮發性記憶體系 統的時候,僅僅壓縮所述元資料中的已更新的元資料;以及將已壓縮的已更新的所述元資料儲存到所述非揮發性記憶體元件中。
  16. 如申請專利範圍第15項所述之在發生意外的電源中斷的情況下管理藉由臨時電源來驅動的非揮發性記憶體系統的資料的方法,其中平行地執行僅僅壓縮所述元資料中的已更新的元資料以及儲存已壓縮的已更新的所述元資料。
  17. 如申請專利範圍第13項所述之在發生意外的電源中斷的情況下管理藉由臨時電源來驅動的非揮發性記憶體系統的資料的方法,其中所述非揮發性記憶體元件包括用於儲存已壓縮的所述元資料的保留區域以及所述保留區域以單一位準胞模式來操作。
  18. 如申請專利範圍第13項所述之在發生意外的電源中斷的情況下管理藉由臨時電源來驅動的非揮發性記憶體系統的資料的方法,其中已壓縮的所述元資料以分佈方式被傳送到所述非揮發性記憶體元件。
TW099134803A 2009-10-16 2010-10-12 非揮發性記憶體系統以及其在電源中斷期間保留已儲存資料的方法 TWI519956B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090098615A KR101602939B1 (ko) 2009-10-16 2009-10-16 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법

Publications (2)

Publication Number Publication Date
TW201124844A TW201124844A (en) 2011-07-16
TWI519956B true TWI519956B (zh) 2016-02-01

Family

ID=43880167

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099134803A TWI519956B (zh) 2009-10-16 2010-10-12 非揮發性記憶體系統以及其在電源中斷期間保留已儲存資料的方法

Country Status (4)

Country Link
US (2) US8554990B2 (zh)
KR (1) KR101602939B1 (zh)
CN (1) CN102044295B (zh)
TW (1) TWI519956B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI622924B (zh) * 2016-05-31 2018-05-01 晨星半導體股份有限公司 資料儲存方法及資料儲存裝置
US10248526B2 (en) 2016-12-13 2019-04-02 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072102A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
EP2302638B1 (fr) * 2009-09-21 2013-04-17 STMicroelectronics (Rousset) SAS Procédé d'écriture et de lecture de données dans une mémoire non volatile, au moyen de métadonnées
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8996790B1 (en) * 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
WO2013036046A2 (ko) * 2011-09-06 2013-03-14 삼성전자 주식회사 이동 단말 및 그 파일 시스템 관리 방법
US8767354B1 (en) 2011-12-08 2014-07-01 Western Digital Technologies, Inc. Data storage device employing cascaded voltage regulators during power failure
US9093105B2 (en) 2011-12-09 2015-07-28 Western Digital Technologies, Inc. Disk drive charging capacitor using motor supply voltage during power failure
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8724422B1 (en) 2012-02-29 2014-05-13 Western Digital Technologies, Inc. System and method for charging back-up charge storage element for data storage device using spindle phase switching elements
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
US9202577B2 (en) * 2012-03-30 2015-12-01 Intel Corporation Solid state drive management in power loss recovery
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8923045B2 (en) 2012-05-31 2014-12-30 Seagate Technology Llc Multi-level cell (MLC) update with protected mode capability
US9148172B2 (en) 2012-06-22 2015-09-29 Micron Technology, Inc. Data compression and management
CN104641419A (zh) * 2012-07-13 2015-05-20 三星电子株式会社 固态驱动器控制器、固态驱动器、固态驱动器的数据处理方法、多通道固态驱动器、raid控制器以及其中记录有用于向固态驱动器提供顺序信息的计算机程序的计算机可读记录介质
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US20140219021A1 (en) * 2013-02-07 2014-08-07 Seagate Technology Llc Data protection for unexpected power loss
US9892798B2 (en) 2012-09-11 2018-02-13 Seagate Technology Llc Data protection for unexpected power loss
US8902669B2 (en) * 2012-11-08 2014-12-02 SanDisk Technologies, Inc. Flash memory with data retention bias
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
GB2507961A (en) 2012-11-14 2014-05-21 Ibm Back-up and restoration of data between volatile and flash memory
KR101992934B1 (ko) 2012-11-14 2019-06-26 삼성전자주식회사 메모리 시스템 및 이의 동작 방법
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
KR20140066391A (ko) 2012-11-23 2014-06-02 삼성전자주식회사 서든 파워 오프 감지 회로를 포함하는 불휘발성 메모리 장치 및 그것의 서든 파워 오프 감지 방법
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
TWI548990B (zh) * 2013-05-17 2016-09-11 宇瞻科技股份有限公司 記憶體儲存裝置及其還原方法與記憶體控制器
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
GB2517435A (en) 2013-08-19 2015-02-25 Ibm Fast data back-up and restore between volatile and flash memory
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
KR102094393B1 (ko) 2013-11-18 2020-03-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
CN104809082B (zh) * 2014-01-29 2018-02-02 群联电子股份有限公司 数据保护方法、存储器存储装置及存储器控制电路单元
US20150378415A1 (en) * 2014-02-05 2015-12-31 Christopher George Back-up power supply systems and methods for use with solid state storage devices
KR101502725B1 (ko) * 2014-04-03 2015-03-16 재단법인 다차원 스마트 아이티 융합시스템 연구단 영상 사고 기록 장치의 저장 공간에 버퍼를 이용하여 파일을 관리하는 장치 및 방법
CN103885728B (zh) * 2014-04-04 2016-08-17 华中科技大学 一种基于固态盘的磁盘缓存系统
KR102143521B1 (ko) * 2014-04-21 2020-08-11 삼성전자 주식회사 불휘발성 메모리 시스템, 이를 포함하는 메모리 카드 및 불휘발성 메모리 시스템의 동작방법
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
FR3023392B1 (fr) * 2014-07-03 2016-07-29 Peugeot Citroen Automobiles Sa Procede de securisation de la coupure d'alimentation d'un equipement usb
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
CN105512056A (zh) * 2014-09-24 2016-04-20 中兴通讯股份有限公司 数据保存方法、装置及终端
US9558066B2 (en) * 2014-09-26 2017-01-31 Intel Corporation Exchanging ECC metadata between memory and host system
KR102310580B1 (ko) 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10042789B2 (en) 2014-10-27 2018-08-07 Micron Technology, Inc. Programming interruption management
US10198320B2 (en) 2014-10-31 2019-02-05 Hewlett-Packard Development Company, L.P. Power-loss protection
WO2016076858A1 (en) * 2014-11-12 2016-05-19 Hewlett Packard Enterprise Development Lp Data backup
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
CN104461404A (zh) * 2014-12-29 2015-03-25 成都致云科技有限公司 元数据存储方法、装置以及系统
CN107003864B (zh) * 2015-01-29 2021-08-20 惠普发展公司,有限责任合伙企业 恢复片上系统设备
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10915256B2 (en) * 2015-02-25 2021-02-09 SK Hynix Inc. Efficient mapping scheme with deterministic power transition times for flash storage devices
US9811420B2 (en) 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
US9911487B2 (en) 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US10502910B2 (en) * 2015-07-30 2019-12-10 Hewlett Packard Enterprise Development Lp Transceiver modules
US9632715B2 (en) 2015-08-10 2017-04-25 International Business Machines Corporation Back-up and restoration of data between volatile and flash memory
CN107038131A (zh) * 2016-02-04 2017-08-11 广明光电股份有限公司 固态硬盘断电保护装置及方法
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
KR102609473B1 (ko) * 2016-06-17 2023-12-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102641107B1 (ko) 2016-07-29 2024-02-27 삼성전자주식회사 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법
CN106409321A (zh) * 2016-08-31 2017-02-15 福建联迪商用设备有限公司 一种提高nand flash可靠性的方法及装置
US10489313B2 (en) 2016-10-31 2019-11-26 Alibaba Group Holding Limited Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture
US10445902B2 (en) * 2016-12-13 2019-10-15 Qualcomm Incorporated Fetch reduction for fixed color and pattern sub-frames
US10445261B2 (en) * 2016-12-30 2019-10-15 Intel Corporation System memory having point-to-point link that transports compressed traffic
US9933963B1 (en) 2017-03-01 2018-04-03 Seagate Technology Open block handling to reduce write errors
KR102406571B1 (ko) 2017-12-28 2022-06-08 삼성전자주식회사 디스플레이 장치 및 그 동작방법
US10789130B1 (en) 2018-03-09 2020-09-29 Toshiba Memory Corporation Capacitor energy management for unexpected power loss in datacenter SSD devices
CN108664218A (zh) * 2018-04-23 2018-10-16 浙江大华技术股份有限公司 一种基于数据特征的ssd存储方法、装置及系统
US10802733B2 (en) * 2018-04-27 2020-10-13 Western Digital Technologies, Inc. Methods and apparatus for configuring storage tiers within SSDs
US11138068B2 (en) * 2018-07-12 2021-10-05 Micron Technology, Inc. Memory sub-system codeword quality metrics streaming
US11112997B2 (en) 2018-08-21 2021-09-07 Samsung Electronics Co., Ltd. Storage device and operating method thereof
KR102570271B1 (ko) * 2018-11-01 2023-08-25 삼성전자주식회사 저장 장치
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
KR20210034378A (ko) * 2019-09-20 2021-03-30 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그것의 동작 방법
US11144454B2 (en) * 2019-11-22 2021-10-12 Dell Products L.P. Enhanced vault save with compression
KR20210142974A (ko) * 2020-05-19 2021-11-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20210157544A (ko) 2020-06-22 2021-12-29 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US11899952B2 (en) 2020-10-29 2024-02-13 Seagate Technology Llc Lossless namespace metadata management system
EP4245615A1 (en) * 2020-11-10 2023-09-20 LG Electronics Inc. Signal processing device and vehicle display device having same
KR20220116650A (ko) * 2021-02-15 2022-08-23 삼성전자주식회사 이형 메모리들을 포함하는 전자 장치 및 그것의 이형 메모리들 간 압축 데이터 이동 방법
KR20220128791A (ko) * 2021-03-15 2022-09-22 삼성전자주식회사 비휘발성 메모리를 포함하는 전자 장치 및 그것의 비휘발성 메모리 관리 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298621A (ja) * 1999-04-14 2000-10-24 Nec Eng Ltd 磁気ディスク装置
KR100672996B1 (ko) * 2005-02-07 2007-01-24 삼성전자주식회사 메타 데이터가 저장되는 에프램을 포함하는 메모리 장치
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
KR20070031647A (ko) * 2005-09-15 2007-03-20 삼성전자주식회사 플래시 메모리 장치에 압축 데이터를 기록하는 방법 및상기 기록된 데이터를 읽는 방법, 그리고 상기 방법을이용하는 플래시 메모리 장치
JP4944686B2 (ja) 2007-06-28 2012-06-06 ソニーモバイルコミュニケーションズ株式会社 ソフトウェア更新方法および携帯端末装置
KR100963009B1 (ko) * 2007-10-25 2010-06-10 한양대학교 산학협력단 파일 관리 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI622924B (zh) * 2016-05-31 2018-05-01 晨星半導體股份有限公司 資料儲存方法及資料儲存裝置
US10248526B2 (en) 2016-12-13 2019-04-02 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統

Also Published As

Publication number Publication date
US8554990B2 (en) 2013-10-08
US20140025874A1 (en) 2014-01-23
TW201124844A (en) 2011-07-16
US20110093650A1 (en) 2011-04-21
KR20110041675A (ko) 2011-04-22
US8819336B2 (en) 2014-08-26
CN102044295B (zh) 2016-05-11
KR101602939B1 (ko) 2016-03-15
CN102044295A (zh) 2011-05-04

Similar Documents

Publication Publication Date Title
TWI519956B (zh) 非揮發性記憶體系統以及其在電源中斷期間保留已儲存資料的方法
US11216323B2 (en) Solid state memory system with low power error correction mechanism and method of operation thereof
KR101888074B1 (ko) 저장 장치 및 불휘발성 메모리 장치, 그리고 그것의 동작 방법
US9383808B2 (en) Dynamic allocation of power budget for a system having non-volatile memory and methods for the same
US8935459B2 (en) Heuristics for programming data in a non-volatile memory
US8843697B2 (en) Operating method of data storage device
US10146435B2 (en) Storage system and data write method
US10061694B2 (en) Memory system and method for controlling non-volatile memory
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
JP2017079050A (ja) 保護されたデータとは別個のパリティデータの記憶
US20160350025A1 (en) Data storage device
KR20100065999A (ko) 보조 전원 장치를 갖는 사용자 장치
US20160179596A1 (en) Operating method of data storage device
CN107037979B (zh) 用于在存储器设备中管理地址映射数据的系统和方法
TW201945935A (zh) 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置
CN112988056A (zh) 固态驱动器和操作固态驱动器的方法
TW201441927A (zh) 一種固態硬碟裝置
US20220221987A1 (en) Computing system including host and storage system
TWI798680B (zh) 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元
CN109240949B (zh) 数据存储装置及其操作方法
KR20220090020A (ko) 비휘발성 메모리 시스템이 생성한 메타데이터를 전송하는 장치 및 방법
US20210365183A1 (en) Apparatus and method for increasing operation efficiency in data processing system
CN107526694A (zh) 数据存储装置及其操作方法
KR20220086934A (ko) 비휘발성 메모리 시스템의 저널링 제어 장치 및 방법
KR20220108342A (ko) 메모리 시스템 내 프리 블록을 확보하는 장치 및 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees