TWI507871B - 資料儲存元件、記憶體系統以及使用非揮發性記憶體元件之計算系統 - Google Patents
資料儲存元件、記憶體系統以及使用非揮發性記憶體元件之計算系統 Download PDFInfo
- Publication number
- TWI507871B TWI507871B TW097140673A TW97140673A TWI507871B TW I507871 B TWI507871 B TW I507871B TW 097140673 A TW097140673 A TW 097140673A TW 97140673 A TW97140673 A TW 97140673A TW I507871 B TWI507871 B TW I507871B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data storage
- metadata
- storage area
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本文中所揭露之本發明有關於資料儲存元件(data storage device),且更特定而言,有關於使用非揮發性記憶體元件之資料儲存元件、記憶體系統以及計算系統。
記憶體元件通常被分成兩類:揮發性記憶體元件和非揮發性記憶體元件。揮發性記憶體元件通常為具有較高的讀取/寫入速度但在供應至其的電力中斷時丟失所儲存的資料的半導體記憶體元件。另一方面,非揮發性記憶體元件可保持所儲存的資料,即使在供應至其的電力中斷的情況下。因此,非揮發性記憶體元件用於儲存與電力供應無關而必須保持的資料。
非揮發性半導體記憶體元件的實例是光罩式唯讀記憶體(mask read-only memory,MROM)、可程式化唯讀記憶體(programmable read-only memory,PROM)、可擦除可程式化唯讀記憶體(erasable programmable read-only memory,EPROM)和電性可擦除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)。快閃記憶體是一種特定類型的EEPROM(電性可擦除可程式化唯讀記憶體),其在整個“區塊”中進行擦除和程式化。快閃記憶體具有以“成批”方式對單元(cells)的資料進行電性擦除的功能。快閃記憶體廣泛地用於電腦和記憶卡中。近來,快閃記憶體已變成需要大量非揮發性固態存儲裝置
的領域中的主導技術。一般的應用包括PDA(personal digital assistant,個人數位助理)、膝上型電腦、數位音訊播放器、數位照相機和行動電話。其也在遊戲主控台市場流行起來,在遊戲主控台市場,常常使用快閃記憶體來代替EEPROM或電池供電的SRAM以用於遊戲的保存資料。高容量快閃記憶體現已廣泛地代替硬磁碟驅動機以用作主要電腦資料儲存單元。
與其它記憶體元件相比較,快閃記憶體的優點在於其可以相對較低的單位成本來提供較高的讀取速度。但快閃記憶體的特徵在於區塊擦除操作必須預先執行以便將資料寫入於其內且區塊資料擦除時間大於其資料寫入時間。這個特徵使得難於使用快閃記憶體作為主系統RAM(隨機存取記憶體),而且還阻礙了習知硬磁碟檔案系統的使用,即使在快閃記憶體用作固態驅動機(SSD)時。因此,快閃轉譯層(flash translation layer,FTL)在檔案系統與快閃記憶體之間使用以隱藏快閃記憶體的擦除操作。快閃記憶體元件不僅廣泛地用作資料儲存元件而且還用作程式碼儲存元件,其儲存與電力供應無關而必須保持的資料。快閃記憶體元件可用於行動元件(例如,蜂巢式電話、PDA、數位照相機、可攜型遊戲主控台和MP3Ps)和家用電器(例如,HDTVs、DVD播放器、路由器和GPS單元)中的程式碼儲存。
快閃轉譯層(FTL)執行諸如邏輯位址至實體位址映射資訊的管理、壞區塊的管理、保護資料以避免意外的電力中斷的管理以及損耗-平均(wear leveling)等功能。舉例而
言,在快閃記憶體的寫入操作中,FTL用於將由檔案系統所產生的邏輯位址映射至已預先執行擦除操作的快閃記憶體的實體位址。FTL使用位址映射表來進行快速位址映射。快閃轉譯層(FTL)規範允許快閃元件看起來像硬磁碟驅動機,但是仍具有一種有效的損耗-平均。FTL之位址映射功能允許主機認可快閃記憶體元件為硬磁碟驅動機(或為SRAM)並且以與硬磁碟驅動機相同的方式來存取快閃記憶體元件。較新的NAND快閃晶片具有包括2048個位元組+64個位元組備用區的頁和嚴格的寫入要求。每個區塊含有32頁。在記憶體區塊內的每一頁必須循序寫入且每一頁必須僅被寫入一次。
近來,如圖1所說明的包括至少兩個或兩個以上異質記憶體單元的資料儲存元件被發展來解決資料儲存單元的效能/價格問題。參看2005年12月的Journal of Semiconductor Technology and Science第5卷,第4期中公開的Keun Soo Yim的Novel Memory Hierarchy for Flash Memory Based Storage Systems。在如圖1所說明的具有至少兩個或兩個以上的異質記憶體單元的該資料儲存元件中,使用多種快閃記憶體(例如,SLC和MLC快閃記憶體)以便降低總儲存成本。寫入請求被分成兩種,“熱”和“冷”,其中熱資料近期很可能被修改。僅熱資料儲存於較快的SLC快閃中,而冷資料保存在較慢的MLC快閃或NOR快閃中。SLC和MLC的單元特徵與晶片價格和壞區塊發生的頻率密切相關。MLC的相鄰程式狀態之間的窗口
(window)(即,狀態與狀態間的窗口)比SLC的窗口更窄。而且,臨限電壓分佈(threshold voltage distribution)的邊緣與在讀取操作中施加到選定字線的電壓之間的裕度(margin)隨著窗口寬度減小而進一步減小。因此,由於製程變化或溫度、選定的字線的操作電壓和電壓位準變化所造成的無效感測的機率在MLC中高於在SLC中者。因此,SLC在儲存例如需要良好儲存特徵之BIOS(基本輸入/輸出系統(basis input/output system))資料和字體資料方面優於MLC。另一方面,MLC在儲存例如語音資料方面優於SLC,即使在大量連續資料位元中的一個或多個中出現儲存失敗的情況下語音資料也不會出現問題。
在寫入操作中,FTL執行位址映射操作,其將由檔案系統所產生的邏輯位址映射到快閃記憶體的實體位址。由快閃轉譯層(FTL)所管理的位址映射表儲存於快閃記憶體元件的一個記憶體區塊中的元資料(metadata)中。如此項技術中所熟知者,全頁位址映射方法(full page address mapping method)在寫入效能方面比基於日誌區塊的位址映射方法(log block based address mapping method)更佳,但將產生一種基於日誌區塊位址映射方法的兩倍或兩倍以上的待管理的元資料量。若由於全頁位址映射的結果所產生的元資料儲存於一個或少數的特定記憶體區塊中,則可對該特定記憶體區塊重複地執行程式擦除操作。這可能會縮短特定記憶體區塊的壽命。
本發明的一方面提供一種資料管理方法,其在諸如快閃記憶體元件的非揮發性記憶體元件中有效地管理資料並改良資料儲存元件的效能。本發明的示範性實施例執行該方法並且提供一種資料儲存元件,該資料儲存元件能夠經濟地使用具有損耗-平均的兩個或兩個以上的異質非揮發性記憶體並支持電力中斷的資料恢復。
根據本發明一實施例的資料儲存元件包括兩個或兩個以上的資料儲存區,每個資料儲存區由不同的非揮發性記憶體單元類型組成。資料儲存區中之至少一者包括以輪詢調度(round-robin)的方式而依序選擇的多個記憶體區塊,且元資料儲存於當前選擇的記憶體區塊中而不是專用於儲存元資料的一個預定的記憶體區塊中。在此實施例中,資料儲存元件的記憶體區塊可被依序使用且元資料可以均勻分佈的方式進行儲存。因而無需單獨的合併/磨損-平均操作。因此,能改良快閃記憶體儲存元件的壽命和寫入效能。
本發明的各種實施例提供資料儲存元件,包括:資料儲存元件,其包括兩個或兩個以上的資料儲存區,資料儲存區包括至少兩個或兩個以上的異質非揮發性記憶體單元,其中,資料儲存區中之至少一者包括依序選擇的多個記憶體區塊,且使用者資料和對應於該使用者資料的元資料儲存於當前選擇的記憶體區塊中。
本發明的其它實施例提供記憶體系統,包括:資料儲存元件,其包括多個第一非揮發性記憶體區塊;以及控制
器,經組態以動態地選擇多個第一非揮發性記憶體區塊中之一者並且在選定的記憶體區塊中儲存使用者資料和元資料。
本發明的其它實施例提供計算系統,包括:連接至系統匯流排之中央處理單元(CPU);資料儲存元件,包括多個第一記憶體區塊和多個第二記憶體區塊;以及控制器,其透過系統匯流排而連接至主機(CPU)並經組態以動態地選擇多個第一非揮發性記憶體中之一者並在當前選擇的記憶體區塊中儲存使用者資料和對應於該使用者資料的元資料。
在某些實施例中,以輪詢調度的方式來依序選擇記憶體區塊。在其它實施例中,可基於損耗-平均的考慮來選擇選定的記憶體區塊。
在其它實施例中,使用者資料、元資料和用於尋找元資料的後設管理(meta-management)資料(例如,元資料位置資料)儲存於選定的記憶體區塊中。在另外的實施例中,元資料位置資料儲存於另一選定的記憶體區塊中。
元資料位置資料包括規定元資料位置之資訊。
在另外的實施例中,元資料位置資料包括計數值(向上計數(count-up)和向下計數(count-down)資訊)且最新的元資料位置資訊藉由所包括的計數值來識別。
在其它的實施例中,若資料儲存元件失去電力,則在加上電力時,最新的元資料首先基於自最後儲存的(例如,最新的或先前的)元資料位置資料所偵測的元資料且然後
藉由在儲存最後儲存的元資料位置資料後所儲存的元資料和使用者資料的掃描結果來識別。
在另外的實施例中,對資料儲存區中之至少一者執行全頁位址映射操作。
在另外的實施例中,元資料包括全頁位址映射結果。
在另外的實施例中,異質非揮發性記憶體單元在每個單元所儲存的位元數目方面不同。
在另外的實施例中,異質非揮發性記憶體單元在每個單元所儲存的位元數目方面相同但在實際用於儲存資料的邏輯位準數目方面不同。
在另外的實施例中,資料儲存區中之一者用作暫時儲存輸入資料之緩衝器。
在另外的實施例中,若暫時儲存的資料的更新或存取頻率較低,則暫時儲存的資料被遷移至其它資料儲存區;以及,遷移到其它資料儲存區的資料包括使用者資料和元資料。
在下文中將參看附圖更詳細地說明本發明之較佳實施例。本發明可體現為不同的形式且不應被理解為限於本文所述的實施例。而且提供這些實施例使得本揭露內容全面且完整並且向熟習此項技術者全面地傳達本發明的範疇。
在整個說明書中,將被解釋為術語“寫入”和“程式化”具有相同的意義。
圖1是根據本發明的一實施例的資料儲存元件100和包括該資料儲存元件100的非揮發性記憶體系統1000的方塊圖。
參看圖1,非揮發性記憶體系統1000可包括資料儲存元件100和控制器200。圖1所說明的非揮發性記憶體系統1000可構成記憶卡和/或記憶卡系統,或者使用非揮發性記憶體來儲存資料的固態驅動機/磁碟(SSD)。
控制器200可經組態以通過諸如USB、MMC、PCI-E、ATA(先進技術附件)、序列式-ATA、並行式-ATA、SCSI、SAS(序列連接式SCSI)、ESDI和IDE(整合驅動電子技術)之各種介面協定來與外部裝置(例如,主機電腦)通訊。控制器200在其接收到對資料儲存元件100進行存取的請求(例如,來自連接至控制器200的未圖示的主機電腦的請求)時控制資料儲存元件100。舉例而言,控制器200控制資料儲存元件100的讀取/寫入/擦除操作。此外,控制器200管理資料儲存元件100的映射資訊使得主機可將資料儲存元件100用作能夠自由地執行讀取/寫入/擦除操作之儲存媒體,類似於隨機存取記憶體(RAM)或硬磁碟驅動機(HDD)。資料儲存元件100的映射資訊藉由快閃轉譯層(FTL)來管理。由FTL管理的映射結果儲存於元資料中。根據本發明的示範性實施例,元資料以均勻分佈的方式依序儲存於資料儲存元件100的記憶體區塊中的每一者中(而不是僅在資料儲存元件100的特定記憶體區塊中進行
儲存)且用於資料儲存的記憶體區塊以輪詢調度的方式依序配置,其將在下文中詳細地描述。
資料儲存元件100由非揮發性記憶體,較佳是快閃記憶體,來組構。此只是示範性的,且本領域技術人員將易於瞭解不僅快閃記憶體,而且其它類型的非揮發性記憶體也適用於本發明。
資料儲存元件100包括記憶體單元陣列130,其包括形成於積體電路中之快閃記憶體單元。記憶體單元陣列130可包括第一資料儲存區110和第二資料儲存區120。第一資料儲存區110和第二資料儲存區120分別包括具有不同特徵的異質非揮發性記憶體單元。儘管在圖1中僅說明了兩個資料儲存區110和120,但可對資料儲存區110和120的數目和組態做出各種變化。舉例而言,第一資料儲存區110和第二資料儲存區120可彼此分開或彼此相鄰。
而且,第一資料儲存區110和第二資料儲存區120的至少一些部份可以單元、頁或區塊為單位而混合地佈置。而且,第一資料儲存區110和第二資料儲存區120的大小可為固定的或可變的。
下文本發明的描述將例示以下情況:第一資料儲存區110包括單層單元(single-level cell,SLC)或每個單元儲存1位元資料之單位元單元,且第二資料儲存區120包括多層單元(MLC)、多態單元或每單元儲存N位元資料(N:等於大於2的自然數)之多位元單元。
本發明的示範性實施例利用SLC來實施第一資料儲
存區110以儲存更新頻率或存取頻率高的“高頻率”隨機資料;以及,利用MLC來實施第二資料儲存區120以存儲更新頻率或存取頻率低的“低頻率”資料。特定而言,本發明使用第一資料儲存區110以作為一種暫時地儲存使用者資料和/或元資料之緩衝器記憶體。由於在資料儲存元件110中的第一資料儲存區110在資料儲存容量方面受到限制,因此,在閒置(idle)時間,低頻率資料被遷移至另一類型的相鄰的非揮發性記憶體(例如,第二資料儲存區120)。這個操作被稱作資料遷移操作。在FTL的控制下執行資料遷移操作,且根據資料遷移操作的執行結果來更新元資料。在本文中,高頻率資料被稱作“熱”資料且低頻率操作被稱作“冷”資料。
在資料儲存元件100的寫入操作中,FTL執行位址映射操作,其將檔案系統所產生的邏輯位址映射至快閃記憶體的實體位址。在本發明中使用全頁位址映射方法。將定出在資料儲存元件100中的第一資料儲存區110的資料儲存方法和位址映射操作的描述。第二資料儲存區120的位址映射方法可與第一資料儲存區110的位址映射方法相同或不同。在本文中,全頁映射表示在整個第一資料儲存區110上採用頁映射方法。
若由於全頁位址映射的結果所產生的元資料儲存於少數特定記憶體區塊中,這可能會縮短該特定記憶體區塊的壽命。在全頁位址映射的情況下,基本上需要的是損耗-平均,其控制擦除操作次數並且在所有可用的區塊之間均
勻地分佈各個擦除操作。資料儲存元件100以均勻分佈的方式而在第一資料儲存區110的所有記憶體區塊中儲存元資料,而不是僅在特定記憶體區塊中儲存元資料。為此目的,資料儲存元件100自記憶體區塊0至記憶體區塊N依序配置第一資料儲存區110的整個記憶體區塊,且在所配置的記憶體區塊中儲存全部的使用者資料、元資料和元資料位置資料。根據本發明的資料儲存方法的使用可使得在所有記憶體區塊上分佈程式化擦除操作(而不是在僅少數的特定記憶體區塊上集中程式化擦除操作),即使在執行全頁位址映射操作時。因而無需單獨的損耗-平均操作並延長資料儲存元件100的壽命。
圖2是包括於第一資料儲存區110中的N+1個記憶體區塊的方塊圖。
參看圖2,第一資料儲存區110包括多個N+1個記憶體區塊BK0至BKN且記憶體區塊BK0至BKN中之每一者包括多個頁。儘管在圖2中未說明,第二資料儲存區120也可包括多個記憶體區塊,類似於第一資料儲存區110。包括於第一資料儲存區110和第二資料儲存區120中的記憶體區塊的數目不是固定而是可變的。
假定第一資料儲存區110包括總共(N+1)個記憶體區塊(即,自記憶體區塊0至記憶體區塊N),輸入資料(使用者資料和/或元資料)從記憶體區塊0的頁0開始逐頁依序寫入於頁中。因此,所有多個N+1個記憶體區塊BK0至BKN以輪詢調度方式而依序使用,如圖2的拱形箭頭所
示。結果,輸入資料自記憶體區塊0(其在下文中被稱作BK0)逐頁依序寫入。在完成到最後記憶體區塊N(其在下文中被稱作BKN)的資料寫入時,自記憶體區塊0(BK0)逐頁依序再次執行資料寫入。在本文中,在每個記憶體區塊中選擇進行資料寫入的頁可能彼此相鄰或彼此分開。在選定的記憶體區塊中頁的選擇可以各種格式來執行。
原則上,快閃記憶體不能夠進行資料重寫且其資料寫入單元不同於其資料擦除單元。因此,輸入資料(使用者資料和/或元資料)不在先前選擇的記憶體區塊中重寫而是在新選擇的記憶體區塊(或在先前選擇的記憶體區塊的空出頁)中進行重寫。快閃記憶體的這些寫入特徵也可適用於更新先前儲存的資料時以及寫入新的資料時。因此,參看圖2,資料朝向記憶體區塊BK0變得更冷且朝向記憶體區塊BKN變得更熱。
圖3是圖2的N+1個記憶體區塊的方塊圖,其說明了第一資料儲存區110中記憶體區塊的資料儲存狀態的實例。
參看圖3,標記為“資料(Data)”的部份表示“使用者資料”且標記為‘M0’至‘M5’的部份表示元資料。元資料可以是FTL資料(例如,位址映射結果)或其它額外的資料(例如,旗標資料和版本資料(version data))。而且標記為‘SU’(總結單元(Summary Unit))的部份表示用於管理元資料的資料。元資料用於管理相應使用者資料的實體位置,且SU資料用於管理元資料的實體位置。最新的元
資料的位置資訊儲存於SU資料中,其用於偵測記憶體區塊BK0至BKN中的哪些(哪個)區塊被寫入了最新的元資料。因此,若在寫入於第一資料儲存區110的多個SU資料(10、20、30、40,……)中偵測到最新的SU資料,則可找到最新的元資料且因此可找到所有相應的使用者資料。偵測最新的SU資料較為簡單。舉例而言,值(例如,向上計數值或向下計數值)被設定成在每當寫入SU資料時增加或減少,且然後根據設定值而得的最小或最大的SU資料被偵測為最新的SU資料。
SU資料在預定的間隔的循環(例如,以i個區塊的循環,其中i是自然數)中寫入於固定位置(例如,在每個奇數記憶體區塊的最後一頁)。SU資料的寫入循環可進行各種格式變化。圖3例示了其中在兩個區塊的循環(即,i=2)中寫入SU資料的情況,其中SU資料寫入至每隔一個(例如,奇數)的記憶體區塊(的最後一頁)中。若SU資在以一個區塊循環(即,i=1)中寫入,則SU資料將儲存於每個記憶體區塊BK0至BKN中。
參看圖3,資料儲存元件100以輪詢調度方式依序選擇第一資料儲存區110的記憶體區塊BK0至BKN,且在選定記憶體區塊中寫入使用者資料和元資料。這表示本發明並不將特定記憶體區塊專門用於元資料儲存且不頻繁地擦除該記憶體區塊。因而無需單獨的合併或磨損-平均操作,並可延長資料儲存元件100的壽命。
同時,在使用包括快閃記憶體之資料儲存元件100期
間,斷電操作可由使用者正常地啟動,或者斷電操作可由於操作期間的嚴重錯誤而突然被執行。前一個事件被稱作正常斷電事件,因為該事件由使用者正常地發生,而後一個事件被稱作突發性事件,因為該事件由於意外電力錯誤(例如,電力故障)而突然地發生。本發明之資料儲存元件100經組態成不僅在正常的斷電事件情況下而且也在突發性斷電事件情況下正常地恢復元資料和使用者資料。根據本發明之資料恢復方法如下文所述。
在SU資料30寫入於特定位置之後且在下一SU資料40寫入之前,可在僅將使用者資料41和元資料42寫入於記憶體區塊BK6中之後斷電。在此情況下,若再次通電,則FTL首先偵測到資料儲存元件100中最新的SU資料30。之後,FTL偵測到寫入於所偵測到的最新的SU資料30中的元資料的位置並且將儲存於所偵測之位置中的資料載入於控制器200的工作記憶體(例如,SRAM)內。之後,FTL檢查是否有在所載入的最新SU資料30後寫入的使用者資料和元資料。為此目的,FTL執行自緊鄰的下一頁(其中儲存最新的SU資料30)至頁40(其中將寫入下一SU資料40)的掃描操作。若使用者資料41和元資料42在掃描操作期間被偵測到,則被載入至記憶體內的元資料被更新以恢復最新的元資料狀態。藉由此程序,以分佈方式儲存於第一資料儲存區110中之元資料可被準確地讀取和寫入。
如上文所述,資料儲存元件100將使用者資料和元資
料寫入於自記憶體區塊BK0至記憶體區塊BKN依序選擇的記憶體區塊中,並且將用於管理元資料的SU資料以預定的循環(例如,I=1,2...)而寫入於記憶體區塊中。根據此資料儲存方法,元資料在整個資料儲存區上分佈和儲存(而不是集中於特定區塊上)。因而無需執行一種使資料散佈之磨損-平均操作和收集所散佈的資料之合併操作。因此,不僅能在正常斷電事件的情況下而且也能在突發性斷電事件的情況下準確地恢復最新的元資料和使用者資料。
在上文中,對一種示範性情況展開了描述,其中資料儲存元件100的第一資料儲存區110包括SLC且第二資料儲存區120包括MLC。但第一儲存區110和第二儲存區120的記憶體單元包括SLC和MLC不是必需的。舉例而言,第一儲存區110和第二儲存區120可包括均質的MLC且可在其內所包括的頁數方面有所不同。假設第一資料儲存區110和第二資料儲存區120都包括每單元儲存四個邏輯位準之2位元MLC,則第一資料儲存區110的MLC可僅使用上部(或下部)的位準資料(因此儲存僅1位元資料)且第二資料儲存區120的MLC可使用每個邏輯位準(例如,四個邏輯位準),從而每單元儲存2位元。在此情況下,第一資料儲存區110的MLC操作為1位元SLC且第二資料儲存區120的MLC操作為正常的2位元MLC。如上文所述,即使當第一資料儲存區110和第二資料儲存區120都包括均質的MLC時,若調整實際使用的位元數目,則其可操作為異質記憶體單元。而且,資料儲存元件100的
上述操作特徵也可適用於該組態中。
圖4是根據本發明的一實施例包括資料儲存元件100的計算系統2000的方塊圖。
參看圖4,根據本發明的一實施例的計算系統2000包括電性連接至系統匯流排400的資料儲存元件100、控制器200、諸如RF基頻晶片組之數據機300、微處理器(CPU)500和使用者介面600。
即將由微處理器500處理之N位元資料(其中N是自然數)藉由控制器200而儲存於該資料儲存元件100中。舉例而言,控制器200和資料儲存元件100可構成使用揮發性(快閃)記憶體來儲存資料之固態驅動機/磁碟(SSD)。圖4所說明的資料儲存元件100的組態基本上與圖1所說明的組態相同。根據上文所述的資料儲存方法和資料管理方法,資料儲存元件100配置記憶體區塊並儲存使用者資料、元資料和SU資料。資料儲存元件100以輪詢調度方式依序配置記憶體區塊。因而無需執行一種使資料散佈之磨損-平均操作和收集所散佈的資料之合併操作。
若計算系統2000是行動(mobile)元件,則其還可包括用於向計算系統2000供應操作(電源)電壓的電池700。儘管在圖4中未說明,熟習此項技術者應易於理解計算系統2000還可包括應用晶片組、相機影像處理器(CIS)和行動DRAM。近來的市場趨勢是將使用異質非揮發性記憶體之資料儲存元件安裝於筆記型電腦、桌上型電腦和伺服器元件中。在這種市場情況下,本發明在很大程度上改良了效
能,從而能加速普遍使用各種使用非揮發性記憶體的資料儲存元件來代替硬磁碟驅動機。
根據如上文所述之本發明,資料儲存元件的記憶體區塊可依序使用且使用者資料和元資料可以均勻(例如,依序)分佈的方式依序儲存。因而無需單獨的合併/磨損-平均操作。因此能改良使用至少兩個或兩個以上的非揮發性記憶體的資料儲存元件的壽命和寫入效能。
上文所述的示範性實施例被認為是說明性的,而不是限制性的,且所附申請專利範圍預期涵蓋屬於本發明的真實精神和範疇內的所有該等修改、改進和其它實施例。因此,關於法律許可的最大範圍,藉由對下文的申請專利範圍和其均等物的最廣泛許可的解釋來確定本發明的範疇,且本發明的範疇不受示範性實施例的前文詳細描述的限制。
10‧‧‧SU資料
20‧‧‧SU資料
30‧‧‧SU資料
40‧‧‧SU資料
41‧‧‧使用者資料
42‧‧‧元資料
100‧‧‧資料儲存元件
110‧‧‧第一資料儲存區
120‧‧‧第二資料儲存區
130‧‧‧記憶體單元陣列
200‧‧‧控制器
300‧‧‧數據機
400‧‧‧系統匯流排
500‧‧‧微處理器(CPU)
600‧‧‧使用者介面
700‧‧‧電池
1000‧‧‧非揮發性記憶體系統
2000‧‧‧計算系統
BK0至BKN‧‧‧記憶體區塊
M0至M5‧‧‧元資料
SU‧‧‧總結單元
圖1是說明根據本發明的一實施例的資料儲存元件100和包括該資料儲存元件的非揮發性記憶體系統1000的方塊圖。
圖2是包括於圖1的資料儲存元件100的第一資料儲存區110中的N+1記憶體區塊的方塊圖。
圖3是說明包括於如圖2所示的第一資料儲存區110中之N+1記憶體區塊的資料儲存狀態的實例的方塊圖。
圖4是包括根據本發明的一實施例的資料儲存元件的計算系統的方塊圖。
100‧‧‧資料儲存元件
110‧‧‧第一資料儲存區
120‧‧‧第二資料儲存區
130‧‧‧記憶體單元陣列
200‧‧‧控制器
1000‧‧‧非揮發性記憶體系統
Claims (8)
- 一種資料儲存元件,包括:一第一資料儲存區,配置用以儲存使用在非揮發性記憶體單元陣列中之單層單元(SLCs)的一位元資料;以及一第二資料儲存區,配置用以儲存使用在非揮發性記憶體單元陣列中之多層單元(MLC)的至少二位元資料,其中所述第一資料儲存區包括依預定順序選擇的多個記憶體區塊,且配置用以儲存使用者資料與相應於所述使用者資料的元資料,其中,所述使用者資料與所述元資料被寫入相同的當前選定之記憶體區塊,其中如果先前的記憶體區塊排除了後設管理資料,用來管理所述元資料之實體位置的後設管理資料被寫入所述當前選定之記憶體區塊,其中所述後設管理資料包括向上計數資訊或向下計數資訊,且最新的後設管理資料藉由所述向上計數資訊或向下計數資訊來識別,其中若所述資料儲存元件重新啟動,則基於自所述最新的後設管理資料所偵測的元資料和在儲存所述最新的後設管理資料後所儲存的元資料和所述使用者資料的掃描結果來產生最新的元資料。
- 如申請專利範圍第1項所述之資料儲存元件,其中所述預定順序是以輪詢調度方式依序選取。
- 如申請專利範圍第1項所述之資料儲存元件,其中所述後設管理資料在預定的循環中儲存於所述當前選定的 記憶體區塊中。
- 如申請專利範圍第1項所述之資料儲存元件,其中對所述第一資料儲存區與所述第二資料儲存區中之至少一者執行全頁位址映射操作。
- 如申請專利範圍第4項所述之資料儲存元件,其中所述元資料包括所述全頁位址映射結果。
- 如申請專利範圍第1項所述之資料儲存元件,其中所述第一資料儲存區在所述使用者資料被寫入所述第二資料儲存區之前用作暫時儲存所述使用者資料之緩衝器。
- 如申請專利範圍第6項所述之資料儲存元件,其中,若所述使用者資料的更新頻率或存取頻率低於一預定頻率,則所述暫時儲存的所述使用者資料與所述元資料被遷移到所述第二資料儲存區。
- 一種記憶體系統,包括:資料儲存元件,其具有一第一資料儲存區,配置用以在非揮發性記憶體單元陣列中儲存一位元資料,與一第二資料儲存區,配置用以在非揮發性記憶體單元陣列中儲存至少二位元資料;以及一控制器,配置用以控制所述資料儲存元件,其中所述第一資料儲存區包括依預定順序選擇儲存使用者資料與相應於所述使用者資料的元資料的多個記憶體區塊,其中所述控制器配置用以將所述使用者資料與所述元資料一起寫入一個被選定的所述記憶體區塊中,並且如果 先前的記憶體區塊排除了後設管理資料,將用來管理所述元資料之位置的後設管理資料寫入所述被選定的記憶體區塊中,其中所述後設管理資料包括向上計數資訊或向下計數資訊,且最新的後設管理資料藉由所述向上計數資訊或向下計數資訊來識別,其中若所述資料儲存元件重新啟動,則基於自所述最新的後設管理資料所偵測的元資料和在儲存所述最新的後設管理資料後所儲存的元資料和所述使用者資料的掃描結果來產生最新的元資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070107904A KR101464338B1 (ko) | 2007-10-25 | 2007-10-25 | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200919185A TW200919185A (en) | 2009-05-01 |
TWI507871B true TWI507871B (zh) | 2015-11-11 |
Family
ID=40584372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097140673A TWI507871B (zh) | 2007-10-25 | 2008-10-23 | 資料儲存元件、記憶體系統以及使用非揮發性記憶體元件之計算系統 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8380945B2 (zh) |
KR (1) | KR101464338B1 (zh) |
TW (1) | TWI507871B (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101014149B1 (ko) * | 2008-11-13 | 2011-02-14 | (주)인디링스 | 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러 |
US7948798B1 (en) | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
WO2011061724A1 (en) * | 2009-11-23 | 2011-05-26 | Amir Ban | Memory controller and methods for enhancing write performance of a flash device |
US8255616B2 (en) * | 2010-01-12 | 2012-08-28 | Freescale Semiconductor, Inc. | Non-volatile memory device and method therefor |
JP2011154547A (ja) * | 2010-01-27 | 2011-08-11 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
US8458417B2 (en) * | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
US8713066B1 (en) | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US9684590B2 (en) | 2010-10-25 | 2017-06-20 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
KR101467941B1 (ko) | 2011-04-26 | 2014-12-02 | 엘에스아이 코포레이션 | 비휘발성 저장부에 대한 가변 오버프로비저닝 |
US20120317337A1 (en) * | 2011-06-09 | 2012-12-13 | Microsoft Corporation | Managing data placement on flash-based storage by use |
US9542326B1 (en) * | 2011-06-14 | 2017-01-10 | EMC IP Holding Company LLC | Managing tiering in cache-based systems |
US9330009B1 (en) * | 2011-06-14 | 2016-05-03 | Emc Corporation | Managing data storage |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
KR101790165B1 (ko) | 2011-08-09 | 2017-11-20 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 메타 데이터 관리 방법 |
TWI454913B (zh) * | 2012-06-26 | 2014-10-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US8880786B2 (en) * | 2012-09-28 | 2014-11-04 | Apple Inc. | Flash translation layer (FTL) database journaling schemes |
KR20140050941A (ko) * | 2012-10-22 | 2014-04-30 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 관리 방법 |
CN102968389B (zh) * | 2012-10-30 | 2016-06-01 | 记忆科技(深圳)有限公司 | 基于多层闪存单元的存储装置及存储方法 |
US9064603B1 (en) | 2012-11-28 | 2015-06-23 | Samsung Electronics Co., Ltd. | Semiconductor memory device and memory system including the same |
KR20140069659A (ko) * | 2012-11-29 | 2014-06-10 | 성균관대학교산학협력단 | 플래시 메모리용 파일 시스템 |
US9224452B2 (en) | 2013-01-17 | 2015-12-29 | Qualcomm Incorporated | Heterogeneous memory systems, and related methods and computer-readable media for supporting heterogeneous memory access requests in processor-based systems |
US10417123B1 (en) | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
KR102210961B1 (ko) * | 2013-06-12 | 2021-02-03 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동적 접근 방법 |
US9830257B1 (en) | 2013-06-12 | 2017-11-28 | Western Digital Technologies, Inc. | Fast saving of data during power interruption in data storage systems |
KR101502725B1 (ko) * | 2014-04-03 | 2015-03-16 | 재단법인 다차원 스마트 아이티 융합시스템 연구단 | 영상 사고 기록 장치의 저장 공간에 버퍼를 이용하여 파일을 관리하는 장치 및 방법 |
JP5950286B2 (ja) * | 2014-05-29 | 2016-07-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アドレス変換テーブルを書き込む装置及び方法 |
US9773683B2 (en) | 2014-06-09 | 2017-09-26 | American Air Liquide, Inc. | Atomic layer or cyclic plasma etching chemistries and processes |
US9823863B1 (en) | 2014-06-30 | 2017-11-21 | Sk Hynix Memory Solutions Inc. | Sub-blocks and meta pages for mapping table rebuild |
CN104182358B (zh) * | 2014-08-21 | 2017-07-14 | 飞天诚信科技股份有限公司 | 一种优化数据读写的方法及装置 |
TWI625729B (zh) * | 2015-11-25 | 2018-06-01 | 旺宏電子股份有限公司 | 資料配置方法及應用其之電子系統 |
CN105487817B (zh) * | 2015-11-26 | 2019-09-10 | 上海新储集成电路有限公司 | 一种可定制的数据存储方法及*** |
KR20180058894A (ko) * | 2016-11-24 | 2018-06-04 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20180260319A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Writing ssd system data |
FR3074317B1 (fr) * | 2017-11-27 | 2019-11-22 | Idemia Identity & Security France | Procede d'acces a une zone memoire non volatile de type flash d'un element securise, tel qu'une carte a puce |
US10671298B2 (en) * | 2018-03-06 | 2020-06-02 | Micron Technology, Inc. | Storing page write attributes |
US10922221B2 (en) | 2018-03-28 | 2021-02-16 | Micron Technology, Inc. | Memory management |
KR20190113437A (ko) | 2018-03-28 | 2019-10-08 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 컴퓨팅 시스템 |
US11249919B2 (en) * | 2018-07-31 | 2022-02-15 | SK Hynix Inc. | Apparatus and method for managing meta data for engagement of plural memory system to store data |
US11106378B2 (en) | 2018-11-21 | 2021-08-31 | At&T Intellectual Property I, L.P. | Record information management based on self describing attributes |
US11194473B1 (en) * | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
CN112328169B (zh) * | 2020-10-20 | 2022-08-09 | 浙江大华存储科技有限公司 | 固态硬盘的磨损均衡方法、装置及计算机可读存储介质 |
US12021061B2 (en) * | 2021-03-04 | 2024-06-25 | Western Digital Technologies, Inc. | Packaged memory device with flip chip and wire bond dies |
US20220374216A1 (en) * | 2021-05-20 | 2022-11-24 | Lenovo (United States) Inc. | Method of manufacturing information processing apparatus and mobile computer |
TWI825803B (zh) * | 2022-05-05 | 2023-12-11 | 南亞科技股份有限公司 | 資料儲存裝置及其非暫時性電腦可讀媒介 |
US11983066B2 (en) | 2022-05-05 | 2024-05-14 | Nanya Technology Corporation | Data storage device storing associated data in two areas |
US20240012763A1 (en) * | 2022-07-07 | 2024-01-11 | Dell Products L.P. | Systems And Methods Of Intelligent Logical Block Address (LBA) Access Trace Log Collection For Performance Optimization |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930167A (en) * | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US20060069886A1 (en) * | 2004-09-28 | 2006-03-30 | Akhil Tulyani | Managing disk storage media |
US20060085493A1 (en) * | 2002-12-24 | 2006-04-20 | Kim Jeong-Ki | Dual journaling store method and storage medium thereof |
US20060179083A1 (en) * | 2005-02-08 | 2006-08-10 | Raghavendra Kulkarni | Systems and methods for storing, backing up and recovering computer data files |
US20070025151A1 (en) * | 2005-07-28 | 2007-02-01 | Jin-Yub Lee | Flash memory device capable of storing multi-bit data and single-bit data |
US20070083697A1 (en) * | 2005-10-07 | 2007-04-12 | Microsoft Corporation | Flash memory management |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100644602B1 (ko) | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
KR100453053B1 (ko) | 2002-06-10 | 2004-10-15 | 삼성전자주식회사 | 플래쉬 메모리용 파일 시스템 |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
KR100704037B1 (ko) | 2005-04-15 | 2007-04-04 | 삼성전자주식회사 | 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법 |
US7603530B1 (en) * | 2005-05-05 | 2009-10-13 | Seagate Technology Llc | Methods and structure for dynamic multiple indirections in a dynamically mapped mass storage device |
KR20070096429A (ko) * | 2006-03-24 | 2007-10-02 | 부산대학교 산학협력단 | 빠른 마운팅을 지원하는 낸드 플래시 메모리에 적용되는파일시스템 |
FI20060427L (fi) * | 2006-05-03 | 2007-11-04 | Tellabs Oy | Menetelmä ja laitteisto peräkkäistiedoston käsittelemiseksi |
-
2007
- 2007-10-25 KR KR1020070107904A patent/KR101464338B1/ko active IP Right Grant
-
2008
- 2008-10-22 US US12/256,275 patent/US8380945B2/en active Active
- 2008-10-23 TW TW097140673A patent/TWI507871B/zh active
-
2013
- 2013-02-19 US US13/770,107 patent/US8819358B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930167A (en) * | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US20060085493A1 (en) * | 2002-12-24 | 2006-04-20 | Kim Jeong-Ki | Dual journaling store method and storage medium thereof |
US20060069886A1 (en) * | 2004-09-28 | 2006-03-30 | Akhil Tulyani | Managing disk storage media |
US20060179083A1 (en) * | 2005-02-08 | 2006-08-10 | Raghavendra Kulkarni | Systems and methods for storing, backing up and recovering computer data files |
US20070025151A1 (en) * | 2005-07-28 | 2007-02-01 | Jin-Yub Lee | Flash memory device capable of storing multi-bit data and single-bit data |
US20070083697A1 (en) * | 2005-10-07 | 2007-04-12 | Microsoft Corporation | Flash memory management |
Non-Patent Citations (1)
Title |
---|
Log File An Extended File Service Exploiting Writed-Once Storage,Ross.S. Finlayson and David R. Chcriton,Standford, CA 94305, September 1987 * |
Also Published As
Publication number | Publication date |
---|---|
US20090113112A1 (en) | 2009-04-30 |
KR20090042035A (ko) | 2009-04-29 |
TW200919185A (en) | 2009-05-01 |
KR101464338B1 (ko) | 2014-11-25 |
US8819358B2 (en) | 2014-08-26 |
US20130173856A1 (en) | 2013-07-04 |
US8380945B2 (en) | 2013-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI507871B (zh) | 資料儲存元件、記憶體系統以及使用非揮發性記憶體元件之計算系統 | |
US11216323B2 (en) | Solid state memory system with low power error correction mechanism and method of operation thereof | |
US11243878B2 (en) | Simultaneous garbage collection of multiple source blocks | |
US10891225B2 (en) | Host- directed sanitization of memory | |
US11036646B2 (en) | Data storage device and method of writing logical-to-physical mapping table thereof | |
JP5405513B2 (ja) | メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム | |
JP4256175B2 (ja) | 不揮発性半導体メモリ | |
US11995348B2 (en) | Data and power management of partitioned buffer in a storage device | |
US10789160B2 (en) | Utilizing different data storage policies in response to different characteristics of data | |
US8621266B2 (en) | Nonvolatile memory system and related method of performing erase refresh operation | |
JP4822440B2 (ja) | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
CN108369818B (zh) | 一种闪存设备的刷新方法和装置 | |
US8504760B2 (en) | Method and apparatus for managing erase count of memory device | |
CN110047546B (zh) | 存储器***中的擦除管理 | |
US9891838B2 (en) | Method of operating a memory system having a meta data manager | |
US9639463B1 (en) | Heuristic aware garbage collection scheme in storage systems | |
US20170075610A1 (en) | Solid state memory system with power management mechanism and method of operation thereof | |
US11656785B2 (en) | Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system | |
TWI815457B (zh) | 信息處理設備的製備方法和移動電腦 | |
JP5649709B2 (ja) | メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム | |
TW202134859A (zh) | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 |