TWI505090B - 差異邏輯至實體方法 - Google Patents
差異邏輯至實體方法 Download PDFInfo
- Publication number
- TWI505090B TWI505090B TW102122444A TW102122444A TWI505090B TW I505090 B TWI505090 B TW I505090B TW 102122444 A TW102122444 A TW 102122444A TW 102122444 A TW102122444 A TW 102122444A TW I505090 B TWI505090 B TW I505090B
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- data set
- memory
- change
- change data
- 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
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Memory System (AREA)
Description
本發明關於含有記憶體管理的記憶體裝置與系統。
在記憶體管理中,由應用程式所使用的邏輯位址係映射於由實體記憶體裝置所使用的實體位址。一邏輯至實體位址轉換表可維持而切換由應用程式執行的讀取和寫入動作。
反及閘快閃記憶體(NAND flash)是一種流行的高容量非揮發性記憶體。NAND flash通常是頁面可定址,且配置以操作包括區塊抹除、頁面程式和頁面讀取。一個頁面包括相對多數量的位元,譬如二千位元。一個區塊可包括較大量的資料,其包含許多頁面。有些NAND flash裝置經配置而使得一頁面可以平行的讀取和程式,使得該記憶體切換時間被分享。記憶體管理邏輯可配置以按頁面執行邏輯至實體(logical to physical,或“L2P”)位址映射而利用頁面模式操作。
而且,有些NAND flash裝置中,在執行一頁面程式操作之前,可執行對包含目標頁面的一區塊的區塊抹除動作。在使用這些裝置的系統中,記憶體管理邏輯可用以保留一區塊中某些頁面裡的有用資料,而抹除該區塊中的其他頁面。例如,將該區塊中正要抹除的有用資料複製到其他區塊。當該頁面被移動,該邏輯至實體位址轉換表必需被更新。而且,其他如耗損平衡之類的程序,移動資料以改善系統的功能。這些程序都會影響到該邏輯至實體位址轉換表,其需要在每個動作更新。類似的情況可以在其他類型的快閃記憶體,以及在其他形式非揮發記憶體技術中見到。
邏輯至實體位址轉換表的架構可隨著所使用的演算法而改變,其影響邏輯與實體位址之間的映射。例如,運算法可配置以用於頁面模式或區塊模式的映射。頁面模式映射需要較大的邏輯至實體位址轉換表,其包含該實體記憶體中每個頁面的輸入。舉例來說,NAND flash記憶體系統諸如頁面模式運算法需要相對大的邏輯至實體位址轉換表。
邏輯至實體位址轉換表是記憶體控制器技術的一項重要觀點,且必須隨時保持精確與即時。許多的系統儲存該表於揮發性記憶體例如SRAM、DRAM之中,其能夠以位元組或字元模式快速的讀寫。當電源消失,當時存於揮發性記憶體中的邏輯至實體位址轉換表就消失而需重建。由於這原因,該表的一備份版本保存於非揮發性記憶體例如NAND flash自身之內。當電源恢復或重置之後,該備份版本就用以重建揮發性記憶體中的主表。
然而,保存目前備份版本的程序可能不會和使用該主表的程序一樣快。例如,如果備份版本保留在頁面模式的NAND flash中,則更新需要以頁面模式讀寫。這些頁面模式的讀寫相對較慢,並且可導致區塊抹除的問題以及相關於NAND flash陣列的其他性能問題。因此在更新等待期間該更新中的表將不同於該主表。當備份版本尚未更新時發生電源失效或重置,將承受重建表中有錯誤的後果。
有需要提供邏輯至實體位址轉換的方法,這些方法將更新等待時間對記憶體系統(包括NAND flash為基礎的系統)所構成的衝擊最小化。
一種用於維持一資料組的方法,包括將該資料組的一原始版本儲存在的一第一非揮發性記憶體,其中該第一非揮發性記憶體具有一第一寫入速度並且可以是頁面模式的快閃記憶體,以及將該資料組的變更儲存在一第二非揮發性記憶體中的一第一變更用資料組,該第二非揮發性
記憶體具有快於該第一寫入速度的一第二寫入速度,並且可以是位元組模式相變化記憶體。該方法也包括從該第一非揮發性記憶體讀取原始版本並且從該第二非揮發性記憶體讀取變更,而產生該資料組的一目前版本。
該系統可配置而當該第一變更用資料組中的輸入達到一第一門檻數,則該第一變更用資料組或資料組中的一部分被移動到該第一非揮發性記憶體中的一第二變更用資料組,該移動是將該第一變更用資料組的輸入複製到該第二變更用資料組。該第一門檻數可以等於該第二非揮發性記憶體減去一安全係數,或是可以依據系統型態參數而選擇為任何大小。例如,若該第一非揮發性記憶體是一頁面模式記憶體,則該門檻數可以等於或大於一頁面大小,並且需要移動的輸入組可包括可用該第一非揮發性記憶體中的一單一頁面模式寫入動作的輸入數目。或者,該需要移動的輸入組可以和該輸入門檻數相同。當存在一第二變更用資料組,該產生該資料組的一目前版本的步驟包括讀取該第二變更用資料組的輸入。
該系統也可以配置以定義在該第一非揮發性記憶體中第二變更用資料組輸入的一第二門檻數。若達到該第一非揮發性記憶體中第二變更用資料組輸入的該第二門檻數,則該目前版本係由讀取該資料組的原始版本以及該第一和第二變更用資料組的變更而產生。第二門檻數可大於第一門檻數,例如,第一門檻數可以是1個頁面大小,而第二門檻數可以是2或3個頁面。資料組的該目前版本、該第一和第二變更用資料組可包含邏輯至實體位址轉換(L2P)資料並且可存於一表中。
在審視以下的圖式、實施方式詳細說明以及申請專利範圍之後,可以得見本發明其他的觀點和優點。
100‧‧‧系統
120‧‧‧作業系統
122‧‧‧OS階分頁
124‧‧‧損耗平衡管理
130‧‧‧記憶體管理單元
132‧‧‧位址轉換單元
134‧‧‧邏輯至實體位址轉換資料組的目前版本(目前的L2P)
140‧‧‧記憶體系統
142‧‧‧隨機存取記憶體RAM
144‧‧‧靜態隨機存取記憶體SRAM
150/561‧‧‧第一非揮發性記憶體
152‧‧‧L2P資料組的原始版本
154‧‧‧第二變更用資料組
160/562/662‧‧‧第二非揮發性記憶體
162‧‧‧第一變更用資料組
210/220/230/240/250/260/270/310/320/330/340‧‧‧步驟
225/235‧‧‧決策塊
400‧‧‧輸入
410/420/430/440/450‧‧‧邏輯位址
415/425/435/445/455‧‧‧實體位址
500/600‧‧‧記憶體裝置
510‧‧‧控制器
520‧‧‧偏壓配置供應電壓
530/630‧‧‧未址
540‧‧‧列解碼器
545‧‧‧字元線
550‧‧‧庫解碼器
555‧‧‧匯流排
560‧‧‧記憶體陣列
565‧‧‧位元線
570‧‧‧行解碼器
580‧‧‧區塊
585‧‧‧資料線
590‧‧‧輸出/輸入電路
第1圖是一方塊圖,顯示含有記憶體管理程式的一範例系統;第2圖是維持一邏輯至實體位址轉換資料組之流程圖;
第3圖是產生邏輯至實體位址轉換資料組的一目前版本之流程圖;第4圖顯示變更用資料組中的輸入;第5圖是一簡化的晶片方塊圖,其顯示積體電路記憶體裝置之一實施例;第6圖是一簡化的晶片方塊圖,其顯示積體電路記憶體裝置之另一實施例。
以下提供邏輯至實體位址轉換技術的詳細實施例並佐以參考圖式。
第1圖是含有記憶體管理程式的一範例系統100的方塊圖,包含用以維持一邏輯至實體(L2P)位址轉換資料組的一程式。該系統和使用者程序如App 1、App 2及App n相際會。該系統按照該等使用者程序進行程式執行和記憶體配置。該系統包含一作業系統(OS)120、記憶體管理單元(MMU)130以及記憶體系統140。作業系統120包括OS階分頁122和損耗平衡管理124,並且和記憶體管理單元130通訊。記憶體管理單元130包括位址轉換單元132以及在一高速且為位元組模式記憶體(例如SRAM)中該邏輯至實體位址轉換資料組的目前版本(目前的L2P)134,並且和記憶體系統140通訊。記憶體系統140可包含隨機存取記憶體(例如動態隨機存取記憶體)RAM 142和SRAM(靜態隨機存取記憶體)144。在其他實施例中,該主機系統可以將目前的L2P資料組保留在RAM 142或SRAM 144中。
而且,該記憶體系統可包含高容量的第一非揮發性記憶體150,用以儲存該邏輯至實體位址轉換資料組中識別為具有邏輯位址和實體位址的資料。該系統也包含快速且低容量的第二非揮發性記憶體160。損耗平衡管理124包含邏輯以指揮第一非揮發性記憶體150的損耗平衡程
序,該程序和該OS所用的邏輯位址方案相配合。例如,損耗平衡管理124可執行為該OS的一特徵,或者為一附加記憶體驅動程式。
第一非揮發性記憶體150具有一第一寫入速度,第二非揮發性記憶體160具有可快於該第一寫入速度的第二寫入速度。第一非揮發性記憶體150可包括頁面模式的NAND flash記憶體。第二非揮發性記憶體160可包括位元組模式的相變化記憶體,或者也具有讀取功能快於第一非揮發性記憶體150的其他型式記憶體,較佳的是位元組可位址記憶體,使得儲存第二非揮發性記憶體160中L2P資料組變更的更新等待時間遠短於第一非揮發性記憶體150中儲存該資料所需的更新等待時間。在更新等待期間失去電源會造成一變更可能流失,而備份數據可能不是最新的情況。結果是,該系統重開機將會慢於其執行複雜任務以復原一正確L2P資料組之所需。
該系統包含資料組備份邏輯,其可置於如OS 122或位址轉換輸入132,或是兩者,以儲存第一非揮發性記憶體150中的邏輯至實體位址轉換資料組之一原始版本152,儲存,並且經由讀取第一非揮發性記憶體150中原始版本152以及第二非揮發性記憶體160的變更而產生L2P資料組的目前版本134。所產生的L2P資料組目前版本134可以儲存於第一非揮發性記憶體150中不同於原始版本152的位置。
該第二非揮發性記憶體可具有限的容量,其配置以儲存該第一變更用資料組。因此,第二非揮發性記憶體160中的第一變更用資料組162的輸入可以有一門檻數。當達到第一變更用資料組162的該門檻數時,輸入位址轉換輸入132可包含邏輯以將第一變更用資料組162的輸入複製到第一非揮發性記憶體150中的第二變更用資料組154。產生L2P資料組目前版本134的邏輯可包括讀取所複製到第一非揮發性記憶體150中第二變更用資料組154的輸入。資料組的原始版本(例如152)、第一變更用資料組(例如162)和第二變更用資料組(例如154)可包含邏輯至實體位址轉
換(L2P)資料並且可存於一表中。
該第一非揮發性記憶體可具有有限的容量,其配置以儲存該第二變更用資料組。因此,第一非揮發性記憶體150中的第二變更用資料組154的輸入可以有一門檻數。當達到第二變更用資料組154的登入門檻數時,位址轉換輸入132可包含邏輯以經由讀取該資料組的原始版本152以及儲存於第一非揮發性記憶體150中的第二變更用資料組154的變更和儲存於第二非揮發性記憶體160中的第一變更用資料組162的變更而產生L2P資料組的目前版本134。第二變更用資料組154的輸入門檻數可大於第一變更用資料組162的輸入門檻數。
舉例而言,第二非揮發性記憶體160(可包括相變化記憶體)中的第一變更用資料組162可分配到512、1024或2048位元組的實體記憶空間,而第一非揮發性記憶體150(可包括NAND flash記憶體)中的第二變更用資料組154可以有許多百萬位元組的容量,佔有2048、4096或8192位元組的實體頁面大小。若每一輸入含有一16位元的邏輯頁面位址、一16位元的實體頁面位址,或總計32位元的大小,則第一變更用資料組162中實體大小為512、1024或2048的輸入門檻數會分別是128、256或512。相同的,若每一輸入含有32位元,則第二變更用資料組154(假設其限於1頁)中實體大小為2048、4096或8192的輸入門檻數會分別是512、1024或2048。在一範例型態中,該系統可以為該原始資料組和該第二變更用資料組的組合分配該第一非揮發性記憶體中的一區塊。該第二變更用資料組的門檻數可等於該原始資料組和該區塊之間大小的差異。以此方式,更新該原始資料組的持續可以在一個區塊抹除中清除舊資料組以及舊的第二變更用資料組。在另外的範例型態中,該系統可以單獨為該第二變更用資料組分配該第一非揮發性記憶體中的一區塊。
第2圖是維持一邏輯至實體位址轉換資料組(L2P資料組)之流程圖。如使用者應用(例如第1圖中的App 1,App 2,…App n)所使用
的損耗平衡管理(例如第1圖中的124)可導致具有邏輯位址的資料之移動轉換到新的實體位址,因而需要更新該L2P資料組。該更新係將該目前的L2P資料組保持最新,而且寫入變更以將該L2P資料組備份於該第二非揮發性記憶體中。若L2P的變更沒有被及時保存,意外事件諸如電源失效會導致該L2P資料組的資訊遺失。該L2P資料組的慢速更新可影響該記憶體裝置的功能以及使用該記憶體裝置的運算系統的功能。
一控制器(如同第1圖所示的位址轉換輸入132)係耦接於損耗平衡管理124、第一非揮發性記憶體150和第二非揮發性記憶體160。該控制器可將一邏輯位址轉換成一實體位址,以回應來自損耗平衡管理124(或其他控制器)的一請求,並因而導致一L2P變更於該L2P資料組(第2圖步驟210)。該資料組的一原始版本(例如第1圖中的元件152)儲存於一第一非揮發性記憶體(例如第1圖中的元件150),而且該L2P資料組的變更(例如按照該損耗平衡管理的請求)可儲存於一第二非揮發性記憶體(例如第1圖中的元件160)中的第一變更用資料組(例如第1圖中的元件162)。
當一L2P變更發生時(第2圖步驟210),該L2P變更係儲存於該第二非揮發性記憶體中的該第一變更用資料組,例如第1圖中的元件162(第2圖步驟220)。該第二非揮發性記憶體(例如第1圖中的元件160)中的該第一變更用資料組(例如第1圖中的元件162)具有一輸入門檻數。如果沒有達到該輸入門檻數,如同第2圖中決策塊225的「否」分支所示,則結束對該L2P資料組的更新。如果達到該輸入門檻數,如同第2圖中決策塊225的「是」分支所示,則可經由將存於該第一變更用資料組的輸入複製於該第二變更用資料組的方式,將該第一變更用資料組的部分或全部搬移到一第一非揮發性記憶體(例如第1圖中的元件150)中的一第二變更用資料組(例如第1圖中的元件154)。
該第一非揮發性記憶體中的該第二變更用資料組(例如第1圖中的元件154)也有一輸入門檻數。如果沒有達到該第二變更用資料組
中的該輸入門檻數,如同第2圖中決策塊235的「否」分支所示,則按照該第一變更用資料組中該些變更儲存的順序(最久的最先),將存於該第一變更用資料組的輸入複製於該第二變更用資料組(第2圖步驟230)。如果達到該第二變更用資料組中的該輸入門檻數,如同第2圖中決策塊235的「是」分支所示,則呼叫一“垃圾收集”程序以經由讀取該資料組的該原始版本,並經由整合存於該第一非揮發性記憶體中變更、存於該第二非揮發性記憶體中變更以及該資料組的該原始版本,而產生該資料組的目前版本(第2圖步驟240)。所產生的該資料組的目前版本可存於該第一非揮發記憶體異於該資料組的該原始版本的一不同位置。
在該第二非揮發性記憶體中該第一變更用資料組的部分或全部移入該第一非揮發性記憶體(第2圖步驟230)之後,相對應於該第二非揮發性記憶體中該第一變更用資料組的部分或全部被清除,使得更多的L2P變更可被儲存於該第一變更用資料組中(第2圖步驟250)。該資料組的目前版本產生之後(第2圖步驟240),清除該第一非揮發性記憶體中該第二變更用資料組和該第二非揮發性記憶體中該第一變更用資料組(第2圖步驟250、260)。
第3圖是以讀取邏輯至實體位址轉換資料組(L2P資料組)以及該第一變更用資料組與該第二變更用資料組之一或兩者的方式而產生L2P資料組的一目前版本之流程圖。當該主機對於該記憶體管理輸入(例如第1圖中的元件130)所用的目前版本的L2P資料組(例如第1圖所示的記憶體中目前的L2P 134)失去信心,例如一非預期的電源失效發生後,在此方式可以形成產生該L2P資料組(例如第1圖中的元件134)的一需求。
目前版本的L2P資料組(例如第1圖中的元件134)可以經由從該第一非揮發性記憶體(例如第1圖中的元件150)讀取該L2P資料組的該原始版本(例如第1圖中的元件152)(310)、以來自該第一非揮發性記憶體(例如第1圖中的元件150)存於該第二變更用資料組(例如第1圖中的
元件154)更新所讀取的資料(320)和以來自該第二非揮發性記憶體(例如第1圖中的元件160)存於該第一變更用資料組(例如第1圖中的元件162)更新該第一次所更新的資料(330)等步驟而產生(340)。所產生的該L2P資料組的目前版本可存於該第一非揮發記憶體異於該L2P資料組的該原始版本的一不同位置。
第4圖顯示變更用資料組中的輸入。第一變更用資料組與第二變更用資料組中的輸入可包括一第一參數(例如邏輯位址)與一第二參數(例如實體位址)。當該L2P資料組的一目前版本被產生,該等輸入中一較新輸入而非較舊輸入被使用,其中該較新輸入與該較舊輸入具有該第一參數與該一第二參數其中之一的一共同值。
對邏輯至實體位址轉換的變更而言,一輸入400中的該第一參數與該一第二參數其中之一可包含多個頁面其中一頁面的一邏輯位址410,該第一參數與該一第二參數之另一可包含該頁面的一實體位址415,其中該等輸入可存於一非揮發性記憶體(即第1圖中的元件134)之中。如第4圖中的範例所示,邏輯位址410有一值0x0010,可被映射於該L2P資料組的原始版本(即420和425)中值0x0AAA的實體位址。在操作中,值0x0010的邏輯位址可被映射於第二變更用資料組(如430和435)中值0x0123的實體位址,並映射於第一變更用資料組(如440和445)中值0x0456的實體位址。如第4圖中的範例所示,“0x”資料組示一16進位數字,一四位數16進位數字例如0x0AAAA包括16位元,其中一單一16進位位數包含4位元。因此,含有一邏輯位址與一實體位址的一輸入具有32位元或4位元組,其中1位元組包含8位元。
由於該更新程序,第二變更用資料組中的L2P變更比該L2P資料組的原始版本的相對應L2P變更較新,第一變更用資料組中的該L2P變更比第二變更用資料組中的該L2P資料組變更較新。因此,第一變更用資料組中的最新實體位址(即0x0456)被用於該邏輯位址(即0x0010)。
在一實施例中,該第二變更用資料組(即第1圖的元件154)位於該第一非揮發性記憶體(即第1圖的元件150)中多個頁面中之一頁面。該L2P資料組的L2P變更的一輸入門檻數可受限於該第一非揮發性記憶體中的頁面大小。例如,若一單位包括如上述的4位元組而該第一非揮發性記憶體中的頁面大小為4096或8192位元組,則該輸入門檻數可為1024或2048。
最近的L2P變更存於該第二非揮發性記憶體,其具有比該第一非揮發性記憶體較快的讀取速度,所以具有較短的更新等待期間,因此,當一電源失效的事件發生時,最近的L2P變更比較不會流失,相較於若最近的L2P變更存於該第一非揮發性記憶體。結合第3、4圖所示,利用具相同邏輯位址的輸入中L2P變更的較新輸入來產生該L2P資料組的一目前版本。由該第二非揮發性記憶體儲存最近的L2P變更,該L2P資料組的目前版本較像是能復原最近的L2P變更。
該第二非揮發性記憶體具有一較快寫入速度,其快於該第一非揮發性記憶體之寫入速度。例如,該第一非揮發性記憶體可以為一快閃記憶體而該第二非揮發性記憶體可為相變化記憶體。相變化記憶體可具有約為每輸入100至1000奈秒的寫入速度,而快閃記憶體可具有約為每頁面1毫秒的寫入速度,其中1毫秒為一百萬奈秒。因此將最近變更儲存於該第二非揮發性記憶體而非該第一非揮發性記憶體,寫入速度和更新等待時間可改善1000到10000倍,因而資訊流失降到最低。如果該第二非揮發性記憶體可以位元組定址,較短更新等待時間的理由可提升,為了L2P變更可用一位元組的資料作更新而無須抹除一區塊的資料。
第5圖是依據一實施例的積體電路記憶體裝置之一簡化的晶片方塊圖。記憶體裝置500包含一積體電路基板上的一記憶體陣列560。記憶體裝置500包含第一非揮發性記憶體561和第二非揮發性記憶體562,第一非揮發性記憶體561具有一第一寫入速度,第二非揮發性記
憶體562具有一第二寫入速度,該第二寫入速度快於該第一寫入速度。
第一非揮發性記憶體561可具和記憶體陣列560相同型式的記憶體,例如NAND flash記憶體。第二非揮發性記憶體562可包含相變化記憶體,其可以位元組定址。在其他實施例中,該第二非揮發性記憶體可以是位元組可定址的快閃記憶體或其他非揮發記憶體。
記憶體裝置500包含一控制器510,耦接於第一非揮發性記憶體561和第二非揮發性記憶體562。在一些實施例中,控制器510包含邏輯單元以管理如上所述的該L2P資料組的備份版本(包括該原始版本)以及第一變更用資料組和第二變更用資料組。另外的選擇是,以一記憶體控制器晶片為例,用來管理該L2P資料組的備份版本的邏輯單元可以是在晶片之外。
列解碼器540耦接於多條字元線545並且沿著記憶體陣列560中的列配置。行解碼器570耦接於多條位元線565並且沿著記憶體陣列560中的行配置,用以對記憶體陣列560讀取和寫入資料。庫解碼器550經由匯流排555耦接於記憶體陣列560的多個庫。位址經由匯流排530供應到行解碼器570、列解碼器540和庫解碼器550。區塊580中的一些感應放大器與一程式緩衝器係耦接於行解碼器570,在本例中是經由多條資料線575。從這些感應放大器所感應的資料經由資料線585供應到輸出/輸入電路590。輸出/輸入電路590將該資料驅動到記憶體裝置500之外部的目的地。輸入/輸出資料經由輸出/入電路590與記憶體裝置500上輸出/入埠或其他記憶體裝置500內/外的資料來源之間的資料匯流排505而移動,例如一通用處理器或特殊用途電路,或是由記憶體陣列560所支援而提供系統晶片功能的模組的組合。
如第5圖所示的範例中,使用一偏壓配置狀態機器的控制器510控制透過區塊520中的該或該等電壓供應(例如讀取或程式電壓)所提供或產生的偏壓配置供應電壓的應用。控制器510耦接於第一非揮發性
記憶體561、第二非揮發性記憶體562和記憶體陣列560。控制器510含有於一寫入模式中移動資料到該記憶體陣列,並於一讀取模式下從該記憶體陣列移動資料的邏輯單元。
控制器510可用如本領域所熟知的特殊用途邏輯電路而執行。在另外的實施例中,該控制器包含一通用處理器,其可以執行於相同的積體電路。該積體電路執行一電腦程式以控制該裝置的運作。在另一實施例中,一種特殊用途邏輯電路與通用處理器的組合可以用於該控制器之執行。
第6圖是依據積體電路記憶體裝置之另一實施例的一簡化晶片方塊圖。第5圖中的元件符號一般也適用於第6圖。第5和第6圖不同之處在於第5圖中的第二非揮發性記憶體562是在晶片上,或者說是在記憶體裝置500之內,而第6圖中的第二非揮發性記憶體662是在晶片外,或者說是在記憶體裝置500之外。第5圖中,第二非揮發性記憶體562與記憶體陣列560分享位址530,而第6圖中的第二非揮發性記憶體662記憶體陣列560分享位址630。
本案所揭露的方法和記憶體裝置可用以搭配一記憶體裝置中的大型資料組(包括邏輯至實體位址轉換資料組),該記憶體裝置需要被可靠的備份並且主要是隨機更新。本案所揭露的方法和記憶體裝置可用以搭配頁面模式運算法或區塊模式運算法的邏輯至實體位址轉換資料組。頁面模式運算法比區塊模式運算法需要較多記憶體中的頁面以儲存按頁映射的資訊,區塊模式運算法是需要按區塊映射的資訊。本案所揭露的方法和記憶體裝置可改進一記憶體裝置的開機功能,因而改進使用該記憶體裝置的電腦系統的開機功能。
本發明以上述的較佳實施例與範例作為參考而揭露,讀者須了解這些例子是用於描述而非限定之意。凡習知此技藝者,在不脫離本發明的精神與範圍之下,當可做各種組合與修飾,其仍應屬在本發明專利
的涵蓋範圍之內。
100‧‧‧系統
120‧‧‧作業系統
122‧‧‧OS階分頁
124‧‧‧損耗平衡管理
130‧‧‧記憶體管理單元
132‧‧‧位址轉換單元
134‧‧‧邏輯至實體位址轉換資料組的目前版本(目前的L2P)
140‧‧‧記憶體系統
142‧‧‧隨機存取記憶體RAM
144‧‧‧靜態隨機存取記憶體SRAM
150‧‧‧第一非揮發性記憶體
152‧‧‧L2P資料組的原始版本
154‧‧‧第二變更用資料組
160‧‧‧第二非揮發性記憶體
162‧‧‧第一變更用資料組
Claims (10)
- 一種用於維持一資料組的方法,該方法包含:將該資料組的一原始版本儲存在一第一非揮發性記憶體中,其中對於該第一非揮發性記憶體的寫入具有一第一寫入速度;將多個對該資料組的變更儲存在一第二非揮發性記憶體中的一第一變更用資料組,其中對於該第二非揮發性記憶體的寫入具有一第二寫入速度,且該第二非揮發性記憶體中的該第一變更用資料組中具有一輸入門檻數;及如果達到該門檻數,移動該第一變更用資料組中的部分或全部到該第一非揮發性記憶體中的一第二變更用資料組。
- 如申請專利範圍第1項所述的方法,更包含當該第二變更用資料組存在時,藉由一操作而產生該資料組的一目前版本,該操作是:從該第一非揮發性記憶體讀取該原始版本,從該第二非揮發性記憶體讀取該等變更,並從該第一非揮發性記憶體讀取該第二變更用資料組。
- 如申請專利範圍第2項所述的方法,其中該移動包含將儲存於該第一變更用資料組中的該等變更,依照該等輸入儲存於該第一變更用資料組中的順序,從該第二非揮發性記憶體移入該第一非揮發性記憶體中的該第二變更用資料組。
- 如申請專利範圍第1項所述的方法,更包含於該第二非揮發性記憶體中的該第一變更用資料組被移入該第一非揮發性記憶體中的該第二變更用資料組之後,清空該第二非揮發性記憶體。
- 一種用於維持一第一非揮發性記憶體的一邏輯至實體位址轉換資料組的方法,其中對於該第一非揮發性記憶體的寫入具有一第一寫入速度,該方法包括: 將該位址轉換資料組的一原始版本儲存於該第一非揮發性記憶體中;將多個對該位址轉換資料組的變更儲存在一第二非揮發性記憶體中的一第一變更用資料組,其中對於該第二非揮發性記憶體的寫入具有一第二寫入速度,且該第二非揮發性記憶體中的該第一變更用資料組中具有一第一輸入門檻數;及如果達到該第一輸入門檻數,則移動該第一變更用資料組中的部分或全部到該第一非揮發性記憶體中的一第二變更用資料組。
- 如申請專利範圍第5項所述的方法,更包含當該第二變更用資料組存在時,藉由一操作而產生該資料組的一目前版本,該操作是:讀取該第一非揮發性記憶體之該原始版本、該第二非揮發性記憶體中的該等變更、以及該第一非揮發性記憶體中的該第二變更用資料組。
- 如申請專利範圍第5項所述的方法,其中:該第一非揮發性記憶體中的該第二變更用資料組具有一第二輸入門檻數;以及該方法更包含在達到該第一輸入門檻數之後,如果達到該第二變更用資料組中的該第二輸入門檻數,則藉由一操作而產生該位址轉換資料組的一目前版本,其中該第二變更用資料組的該第二輸入門檻數大於該第一變更用資料組的該第一輸入門檻數,且該操作是:讀取該第一非揮發性記憶體之該原始版本、以及存於該第一和第二非揮發性記憶體中的該等變更。
- 一種記憶體管理系統,包含:記憶體管理單元,包括一邏輯對實體位址轉換資料組;一第一非揮發性記憶體,耦接該記憶體管理單元,並用以儲存該邏輯對實體位址轉換資料組中的邏輯位址與實體位址資料,其中對於該第一非揮發性記憶體的寫入具有一第一寫入速度; 一第二非揮發性記憶體,耦接於該記憶體管理單元,其中對於該第二非揮發性記憶體的寫入具有一第二寫入速度;及資料組備份單元,耦接該記憶體管理單元、該第一非揮發性記憶體和該第二非揮發性記憶體,包含用以將該邏輯對實體位址轉換資料組的一原始版本儲存於該第一非揮發性記憶體中,將該邏輯對實體位址轉換資料組的多個變更儲存於該第二非揮發性記憶體中的一第一變更用資料組中,其中該第二非揮發性記憶體更具有一第一變更門檻數,當達到該第一變更門檻數時,則移動第一變更用資料組的部分或全部到該第一非揮發性記憶體中的一第二變更用資料組中。
- 如申請專利範圍第8項所述的記憶體管理系統,其中該資料組備份單元更包含邏輯以在達到該第一變更門檻數之後,藉由一操作而產生該邏輯對實體位址轉換資料組的一目前版本,該操作是:從該第一非揮發性記憶體讀取該原始版本,並從該第二非揮發性記憶體讀取該等變更。
- 如申請專利範圍第9項所述的記憶體管理系統,其中該第一非揮發性記憶體是一反及閘快閃記憶體,用以儲存該資料組的該原始版本,供該資料備用單元使用,且該第二非揮發性記憶體係一相變化記憶體,供儲存該資料組的該等變更。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361776795P | 2013-03-12 | 2013-03-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201435587A TW201435587A (zh) | 2014-09-16 |
TWI505090B true TWI505090B (zh) | 2015-10-21 |
Family
ID=51502974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102122444A TWI505090B (zh) | 2013-03-12 | 2013-06-25 | 差異邏輯至實體方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9471485B2 (zh) |
CN (1) | CN104050088B (zh) |
TW (1) | TWI505090B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150020384A (ko) * | 2013-08-13 | 2015-02-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102473665B1 (ko) | 2015-07-28 | 2022-12-02 | 삼성전자주식회사 | 스토리지 디바이스 및 스토리지 가상화 시스템 |
US10289544B2 (en) * | 2016-07-19 | 2019-05-14 | Western Digital Technologies, Inc. | Mapping tables for storage devices |
KR20180019419A (ko) | 2016-08-16 | 2018-02-26 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 그 동작방법 |
KR20180030329A (ko) * | 2016-09-13 | 2018-03-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180030319A (ko) * | 2016-09-13 | 2018-03-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
JP6787490B2 (ja) * | 2017-06-20 | 2020-11-18 | 京セラドキュメントソリューションズ株式会社 | メモリーシステム及び電子機器 |
TWI704454B (zh) * | 2018-03-15 | 2020-09-11 | 建興儲存科技股份有限公司 | 固態儲存裝置的對應表管理方法 |
US11481336B2 (en) * | 2019-08-19 | 2022-10-25 | Micron Technology, Inc. | Host assisted operations in managed memory devices |
JP7457248B2 (ja) * | 2020-05-27 | 2024-03-28 | 株式会社バッファロー | 記憶装置 |
CN112131292B (zh) * | 2020-09-16 | 2024-05-14 | 北京金堤征信服务有限公司 | 一种变更数据的结构化处理方法和装置 |
US11874770B2 (en) | 2022-05-12 | 2024-01-16 | Western Digital Technologies, Inc. | Indexless logical-to-physical translation table |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7515495B2 (en) * | 2006-02-10 | 2009-04-07 | Hynix Semiconductor Inc. | Active cycle control circuit and method for semiconductor memory apparatus |
TWI316721B (zh) * | 2007-01-25 | 2009-11-01 | Genesys Logic Inc | |
TW201201214A (en) * | 2010-06-25 | 2012-01-01 | Macronix Int Co Ltd | Method and apparatus for high-speed byte-access in block-based flash memory |
US8230198B2 (en) * | 2006-08-02 | 2012-07-24 | Sandisk Il Ltd. | System for synchronous code retrieval from an asynchronous source |
US20120246397A1 (en) * | 2010-01-13 | 2012-09-27 | Hiroto Nakai | Storage device management device and method for managing storage device |
TWI379197B (en) * | 2008-05-28 | 2012-12-11 | Genesys Logic Inc | Flash memory storage management system and related method |
TWI385516B (zh) * | 2008-08-12 | 2013-02-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其資料寫入方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016553A (en) * | 1997-09-05 | 2000-01-18 | Wild File, Inc. | Method, software and apparatus for saving, using and recovering data |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
WO2007058617A1 (en) * | 2005-11-17 | 2007-05-24 | Chee Keng Chang | A controller for non-volatile memories, and methods of operating the memory controller |
CN100511166C (zh) * | 2006-02-21 | 2009-07-08 | 杭州华三通信技术有限公司 | 一种快速存储装置及快速更新数据的方法 |
US8095723B2 (en) | 2007-02-16 | 2012-01-10 | Electronics And Telecommunications Research Institute | Log-based flash translation layer and operating method thereof |
US8280886B2 (en) * | 2008-02-13 | 2012-10-02 | Fujitsu Limited | Determining candidate terms related to terms of a query |
US8239613B2 (en) * | 2008-12-30 | 2012-08-07 | Intel Corporation | Hybrid memory device |
TWI457940B (zh) | 2009-05-15 | 2014-10-21 | Macronix Int Co Ltd | 區塊為基礎快閃記憶體之位元組存取 |
US20110145477A1 (en) * | 2009-12-15 | 2011-06-16 | Rudelic John C | Flash translation layer using phase change memory |
US8239619B2 (en) | 2010-07-09 | 2012-08-07 | Macronix International Co., Ltd. | Method and apparatus for high-speed byte-access in block-based flash memory |
CN101907978B (zh) * | 2010-07-27 | 2011-12-07 | 浙江大学 | 基于固态硬盘和磁性硬盘的混合存储***及存储方法 |
US8819367B1 (en) * | 2011-12-19 | 2014-08-26 | Western Digital Technologies, Inc. | Accelerated translation power recovery |
US9081665B2 (en) * | 2012-02-02 | 2015-07-14 | OCZ Storage Solutions Inc. | Apparatus, methods and architecture to increase write performance and endurance of non-volatile solid state memory components |
-
2013
- 2013-06-25 US US13/926,633 patent/US9471485B2/en active Active
- 2013-06-25 TW TW102122444A patent/TWI505090B/zh active
- 2013-07-09 CN CN201310285876.0A patent/CN104050088B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7515495B2 (en) * | 2006-02-10 | 2009-04-07 | Hynix Semiconductor Inc. | Active cycle control circuit and method for semiconductor memory apparatus |
US8230198B2 (en) * | 2006-08-02 | 2012-07-24 | Sandisk Il Ltd. | System for synchronous code retrieval from an asynchronous source |
TWI316721B (zh) * | 2007-01-25 | 2009-11-01 | Genesys Logic Inc | |
TWI379197B (en) * | 2008-05-28 | 2012-12-11 | Genesys Logic Inc | Flash memory storage management system and related method |
TWI385516B (zh) * | 2008-08-12 | 2013-02-11 | Phison Electronics Corp | 快閃記憶體儲存系統及其資料寫入方法 |
US20120246397A1 (en) * | 2010-01-13 | 2012-09-27 | Hiroto Nakai | Storage device management device and method for managing storage device |
TW201201214A (en) * | 2010-06-25 | 2012-01-01 | Macronix Int Co Ltd | Method and apparatus for high-speed byte-access in block-based flash memory |
Also Published As
Publication number | Publication date |
---|---|
CN104050088B (zh) | 2017-04-19 |
TW201435587A (zh) | 2014-09-16 |
US9471485B2 (en) | 2016-10-18 |
US20140281150A1 (en) | 2014-09-18 |
CN104050088A (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI505090B (zh) | 差異邏輯至實體方法 | |
US11301369B2 (en) | Logical to physical mapping management using low-latency non-volatile memory | |
CN107957961B (zh) | 存储设备、存储***和计算设备 | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8407449B1 (en) | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table | |
US10168940B2 (en) | Data storage using SLC and TLC memory banks and data maintenance method thereof | |
JPWO2007119267A1 (ja) | フラッシュメモリ用のメモリコントローラ | |
KR20100094241A (ko) | 예비 블록을 포함하지 않는 불휘발성 메모리 장치 | |
JP2008009932A (ja) | 半導体記憶装置およびその制御方法 | |
KR20220005111A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
JP4253272B2 (ja) | メモリカード、半導体装置、及び半導体メモリの制御方法 | |
CN113031856A (zh) | 存储器子***中的断电数据保护 | |
JP2009211215A (ja) | メモリシステム | |
CN112463436A (zh) | 存储器控制器以及操作存储器控制器的方法 | |
US10754726B2 (en) | Tracking error-correction parity calculations | |
JP2020017134A (ja) | 記憶装置及び記憶制御方法 | |
CN112860182B (zh) | 用于写回合并的位屏蔽有效扇区 | |
CN112711377B (zh) | 分布式存储***的存储节点及其操作方法 | |
JP5192388B2 (ja) | レガシーホストのための方法およびメモリシステム | |
CN114530173A (zh) | 存储器***及其操作方法 | |
JP4558052B2 (ja) | メモリシステム | |
JP4551938B2 (ja) | メモリシステム | |
CN114527943A (zh) | 存取单元和管理片段存储器操作 | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system |