两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

非易失性存儲器的平均抹寫方法

文檔序號:6768874閱讀:190來源:國知局
專利名稱:非易失性存儲器的平均抹寫方法
技術(shù)領域
本發(fā)明為一種非易失性存儲器的平均抹寫方法,尤指一種以儲存區(qū)塊(block)的歷史數(shù)值(history number)為主要參數(shù)的非易失性存儲器的平均抹寫方法
背景技術(shù)
目前的存儲器(memory)大致可分為兩類,分別是易失性存儲器 (volatilememory)跟非易失性存儲器(non-volatile memory) 0易失性存儲器以靜態(tài)隨機存取存儲器(SRAM)與動態(tài)隨機存取存儲器(DRAM)為代表,其特征為當提供易失性存儲器所需的電源被關(guān)閉時,儲存于易失性存儲器內(nèi)的數(shù)據(jù)就會消失不見。非易失性存儲器以可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、閃存(flash memory)為代表,其特征為當提供非易失性存儲器所需的電源被關(guān)閉時,儲存于非易失性存儲器內(nèi)的數(shù)據(jù)依然可保存,但其缺點是相對的讀取(read)跟寫入(write)速度會比靜態(tài)隨機存取存儲器或動態(tài)隨機存取存儲器慢。請參照圖1,其所繪示為具有非易失性存儲器裝置的主機系統(tǒng)的結(jié)構(gòu)示意圖。主機系統(tǒng)100(例如移動式儲存裝置)主要包含系統(tǒng)總線(SyStembuS)104、微控制器(micro-processor) 108、隨機存取存儲器(RAM) 112、輸入輸出電路(input/output circuit) 116與非易失性存儲器裝置120。其中,微控制器108、隨機存取存儲器112、輸入輸出電路116與非易失性存儲器裝置120間可通過系統(tǒng)總線104作數(shù)據(jù)的傳輸。再者,主機系統(tǒng)100 (例如移動式儲存裝置)可經(jīng)由輸入輸出電路116連接至另一主機系統(tǒng)(例如計算機系統(tǒng))。請參照圖2,其所繪示為非易失性存儲器裝置120的結(jié)構(gòu)示意圖。非易失性存儲器裝置120主要包含非易失性存儲器124與存儲器控制器(memorycontroller) 128。非易失性存儲器124由多個儲存區(qū)塊(block)所組成(Block-O至Block-Ν),而每一儲存區(qū)塊再由多個頁面(page)所組成。此外,用以儲存數(shù)據(jù)的每一頁面包含有使用者數(shù)據(jù)(user data) 與冗余數(shù)據(jù)(overhead data,0H),其中使用者數(shù)據(jù)為使用者儲存于非易失性存儲器124內(nèi)的數(shù)據(jù),而冗余數(shù)據(jù)(OH)包含其所對應頁面(page)的錯誤檢測修正碼(error correction code, ECC)與清除次數(shù)(erase count)等數(shù)據(jù)。在非易失性存儲器的規(guī)格中,數(shù)據(jù)的讀取或?qū)懭胧且皂撁鏋樽钚挝?,而?shù)據(jù)的清除(erase)是以儲存區(qū)塊為最小單位。舉例來說,儲存于儲存區(qū)塊1 (Block-I)的頁面 5(Page-5)數(shù)據(jù)可以被單獨地寫入或讀取,但是欲清除儲存于儲存區(qū)塊1 (Block-I)的頁面 5(Page-5)的數(shù)據(jù)時,必須將儲存于儲存區(qū)塊1 (Block-I)內(nèi)所有頁面的數(shù)據(jù)同時一起被清除。再者,非易失性存儲器并不允許對同一頁面作數(shù)據(jù)的直接更新(update),舉例來說,若是欲更新頁面5(Page-5)上的數(shù)據(jù)時,必須將所欲更新的數(shù)據(jù)存入另一原本未儲存有數(shù)據(jù)的頁面,再擇機將頁面5(Page-5)上的數(shù)據(jù)清除以寫入更新的數(shù)據(jù)。由于非易失性存儲器特殊的存取特性,也造成了非易失性存儲器并不能與現(xiàn)存的文件系統(tǒng)(如FAT16/32、NTFS)直接兼容。為了讓非易失性存儲器可以在原有的文件系統(tǒng)(如FAT16/32、NTFS)下運作,必須另加入非易失性存儲器地址轉(zhuǎn)換層表(Flash Translation Layer Table, FTL Table)。非易失性存儲器地址轉(zhuǎn)換層表(FTL Table)的主要功能為邏輯區(qū)塊地址(Logical BlockAddress, LBA)與物理地址(Physical Block Address, PBA)間的轉(zhuǎn)換工作,亦即將主機(Host)送出的邏輯區(qū)塊地址(LBA),轉(zhuǎn)換成非易失性存儲器的物理地址(PBA)。一般來說,為了提高非易失性存儲器的存取速度,非易失性存儲器地址轉(zhuǎn)換層表大部分儲存于速度較快的隨機存取存儲器112內(nèi)。如前所述,非易失性存儲器數(shù)據(jù)的清除是以儲存區(qū)塊為最小單位。而由于非易失性存儲器先天物理結(jié)構(gòu)的限制,根據(jù)非易失性存儲器型態(tài)的不同,每一儲存區(qū)塊能被清除的次數(shù)有一定的限制(例如十萬次)。當某一儲存區(qū)塊被清除的次數(shù)超過一定的限制時, 會造成整個非易失性存儲器效能(performance)的降低、儲存于此儲存區(qū)塊的數(shù)據(jù)容易消失或是甚至無法將數(shù)據(jù)正確地儲存于此儲存區(qū)塊。此時,此儲存區(qū)塊則被視為磨損(worn out),不適于寫入或儲存數(shù)據(jù)。

一般來說,儲存于非易失性存儲器的數(shù)據(jù)依其被更新的頻率,可分為冷數(shù)據(jù)(cold data)與熱數(shù)據(jù)(hot data)。舉例來說,冷數(shù)據(jù)包含有操作系統(tǒng)的程序碼(code)與多媒體數(shù)據(jù)等,此等數(shù)據(jù)幾乎只被讀取而鮮少被更新;熱數(shù)據(jù)包含有記錄文件(log file)等,此等數(shù)據(jù)需要經(jīng)常地被更新。如果冷數(shù)據(jù)只被固定地儲存于某些特定儲存區(qū)塊而熱數(shù)據(jù)也只被固定地儲存于另些特定儲存區(qū)塊,則將造成儲存有熱數(shù)據(jù)的儲存區(qū)塊的磨損是遠早于儲存有冷數(shù)據(jù)的儲存區(qū)塊。因此,一般采用平均抹寫儲存區(qū)塊(wear leveling)方法,讓非易失性存儲器內(nèi)的每一儲存區(qū)塊盡可能被平均使用,以延長非易失性存儲器的使用壽命。平均抹寫儲存區(qū)塊方法主要采取的作法為存儲器交換(SWAP),亦即將鮮少被更新的冷數(shù)據(jù)移至已被多次清除的儲存區(qū)塊中。由于將冷數(shù)據(jù)移至清除次數(shù)相對較高的儲存區(qū)塊,將導致此清除次數(shù)相對較高的儲存區(qū)塊在隨后被清除的頻率大為降低,這將使得整個非易失性存儲器內(nèi)所有儲存區(qū)塊被清除的頻率趨于一致,進而達到延長非易失性存儲器使用壽命的目的。美國專利(US 7,035,967 B2)揭露一種平均抹寫儲存區(qū)塊方法。請參照圖3,其所繪示為美國專利(US 7,035,967 B2)所揭露平均抹寫儲存區(qū)塊初始化的流程圖。此平均抹寫儲存區(qū)塊初始化的主要目的是將非易失性存儲器內(nèi)所有儲存區(qū)塊分類為映像群組、已清除且具較高清除次數(shù)群組與已清除且具較低清除次數(shù)群組,且計算出非易失性存儲器內(nèi)所有儲存區(qū)塊的平均清除次數(shù)(average erase count)。首先,接受平均抹寫儲存區(qū)塊初始化的指令(步驟302)。此平均抹寫儲存區(qū)塊初使化的指令可由使用者主動實施,或由該主機系統(tǒng)于符合某些特定條件下自動實施。隨后,確認出非易失性存儲器內(nèi)所有已被清除的儲存區(qū)塊(erasedblock)(步驟 304)。當非易失性存儲器內(nèi)所有已被清除的儲存區(qū)塊被確認后,可根據(jù)每一頁面的冗余數(shù)據(jù)所儲存的清除次數(shù),從所有已被清除的儲存區(qū)塊中,找出前N個具有相對較高清除次數(shù)的儲存區(qū)塊,并將此N個具有較高清除次數(shù)且已被清除的儲存區(qū)塊分類于已清除且具較高清除次數(shù)群組(步驟306)。其中,數(shù)字N的選擇可根據(jù)非易失性存儲器內(nèi)所有儲存區(qū)塊的實際數(shù)目所決定。再者,將特定儲存區(qū)塊分類至已清除且具較高清除次數(shù)群組可通過更新非易失性存儲器地址轉(zhuǎn)換層表來表示。隨后,從所有已被清除的儲存區(qū)塊中,找出前M個具有相對較少清除次數(shù)的儲存區(qū)塊,并將此M個具有較少清除次數(shù)且已被清除的儲存區(qū)塊分類于已清除且具較少清除次數(shù)群組(步驟308)。同理,數(shù)字M的選擇可根據(jù)非易失性存儲器內(nèi)所有儲存區(qū)塊的實際數(shù)目所決定。再者,將特定儲存區(qū)塊分類至已清除且具較少清除次數(shù)群組可通過更新非易失性存儲器地址轉(zhuǎn)換層表來表示。隨后,將剩下所有尚未被分類的儲存區(qū)塊分類于映像群組(步驟310)。其中映像群組中包含有非易失性存儲器內(nèi)所有儲存有數(shù)據(jù)的儲存區(qū)塊以及部分已被清除的儲存區(qū)塊,且此部分已被清除的儲存區(qū)塊的清除次數(shù)是介于已清除且具較高清除次數(shù)群組與已清除且具較低清除次數(shù)群組內(nèi)的儲存區(qū)塊的清除次數(shù)之間。將非易失性存儲器內(nèi)所有儲存區(qū)塊分類完成后,計算出非易失性存儲器內(nèi)所有儲存區(qū)塊的平均清除次數(shù)(步驟312)。此步驟可經(jīng)由將非易失性存儲器內(nèi)所有儲存區(qū)塊的清除次數(shù)相加,再除以非易失性存儲器內(nèi)所有儲存區(qū)塊的數(shù)目得出。 在執(zhí)行圖3所示的平均抹寫儲存區(qū)塊初始化的流程后,即可進行平均抹寫儲存區(qū)塊方法,亦即根據(jù)平均抹寫儲存區(qū)塊初始化所得的結(jié)果,將原本儲存于某一儲存區(qū)塊的冷數(shù)據(jù),搬移至清除次數(shù)相對較高的另一儲存區(qū)塊中。請參照圖4,其所繪示為美國專利(US 7,035,967 B2)所揭露針對某一儲存有冷數(shù)據(jù)的儲存區(qū)塊的平均抹寫儲存區(qū)塊方法的流程圖。首先,自映像群組中選取一儲存有數(shù)據(jù)的儲存區(qū)塊A(步驟402)。隨后,判斷儲存區(qū)塊A所儲存的數(shù)據(jù)是否為冷數(shù)據(jù)(步驟404)。 儲存區(qū)塊A所儲存的數(shù)據(jù)是否為冷數(shù)據(jù)可由儲存區(qū)塊A的清除次數(shù)與平均清除次數(shù)相比較判斷得知,也就是說,若儲存區(qū)塊A的清除次數(shù)遠小于平均清除次數(shù),則代表儲存區(qū)塊A鮮少被清除,即可判斷出儲存區(qū)塊A所儲存的數(shù)據(jù)為冷數(shù)據(jù)。反之,若儲存區(qū)塊A的清除次數(shù)非遠小于平均清除次數(shù),則代表儲存區(qū)塊A并非鮮少被清除,即可判斷出儲存區(qū)塊A所儲存的數(shù)據(jù)并非為冷數(shù)據(jù)。若儲存區(qū)塊A所儲存的數(shù)據(jù)為冷數(shù)據(jù),則自已清除且具較高清除次數(shù)群組中選取一儲存區(qū)塊B (步驟406)。一般來說,儲存區(qū)塊B為自已清除且具較高清除次數(shù)群組中挑選出具最高的清除次數(shù)者。隨后,將儲存區(qū)塊A所儲存的數(shù)據(jù)復制(copy)至儲存區(qū)塊B (步驟408),亦即,將儲存區(qū)塊A的使用者數(shù)據(jù)復制至儲存區(qū)塊B。一旦儲存區(qū)塊A 的使用者數(shù)據(jù)被復制至儲存區(qū)塊B后,儲存區(qū)塊A即可被清除,當儲存區(qū)塊A被清除后,儲存區(qū)塊A的清除次數(shù)則被累進加一(步驟410)。隨后,自已清除且具較低清除次數(shù)群組中選取一儲存區(qū)塊C,并將儲存區(qū)塊C分類至已清除且具較高清除次數(shù)群組內(nèi)(步驟412)。一般來說,儲存區(qū)塊C為自已清除且具較低清除次數(shù)群組中選取具最高的清除次數(shù)者。將儲存區(qū)塊C分類至已清除且具較高清除次數(shù)群組主要是為了替已清除且具較低清除次數(shù)群組清出空間,使得儲存區(qū)塊A可在隨后的步驟中由映射群組被分類至已清除且具較低清除次數(shù)群組內(nèi)(步驟414)。隨后,由于儲存區(qū)塊B已儲存有數(shù)據(jù),儲存區(qū)塊B將被分類至映像群組(步驟416)。通過圖4所示的平均抹寫儲存區(qū)塊方法的流程,原本儲存有冷數(shù)據(jù)而導致清除次數(shù)相對偏低的儲存區(qū)塊A,由于其所儲存的冷數(shù)據(jù)被復制至儲存區(qū)塊B,使得儲存區(qū)塊A可被清除而提高其利用率。再者,由于儲存區(qū)塊B的清除次數(shù)相對偏高,通過將冷數(shù)據(jù)搬移至儲存區(qū)塊B后,使得儲存區(qū)塊B的清除次數(shù)在隨后將有效地被控制。再者,將儲存區(qū)塊A由原本的映像群組分類至已清除且具較少清除次數(shù)群組,將儲存區(qū)塊B由原本的已清除且具較高清除次數(shù)群組分類至映像群組,與將儲存區(qū)塊C由原本的已清除且具較少清除次數(shù)群組分類至已清除且具較高清除次數(shù)群組可經(jīng)由更新非易失性存儲器地址轉(zhuǎn)換層表來表示。當非易失性存儲器內(nèi)所有儲存有冷數(shù)據(jù)的儲存區(qū)塊經(jīng)由圖4所示的平均抹寫儲存區(qū)塊方法處理后,即可達成非易失性存儲器的平均抹寫儲存區(qū)塊。

發(fā)明內(nèi)容
已知的平均抹寫儲 存區(qū)塊方法是以儲存區(qū)塊的清除次數(shù)作為主要參數(shù),根據(jù)清除次數(shù)來做平均抹寫儲存區(qū)塊方法。本發(fā)明則是提出另一種參數(shù)取代清除次數(shù),作為平均抹寫儲存區(qū)塊方法的主要參數(shù)。本發(fā)明提出一種平均抹寫儲存區(qū)塊方法,應用于一具有多個儲存區(qū)塊的非易失性存儲器,該方法包含有根據(jù)每一儲存區(qū)塊的一歷史數(shù)值與是否儲存有數(shù)據(jù),將該多個儲存區(qū)塊分類為一第一群組、一第二群組與一第三群組;計算出該非易失性存儲器的一平均歷史數(shù)值;自該第三群組中選取一儲存有一冷數(shù)據(jù)的一第一儲存區(qū)塊;自該第一群組中選取一第二儲存區(qū)塊;將儲存于該第一儲存區(qū)塊的該冷數(shù)據(jù)復制至該第二儲存區(qū)塊,且根據(jù)將該冷數(shù)據(jù)寫入至該第二儲存區(qū)塊的一絕對時間,對該第二儲存區(qū)塊的該歷史數(shù)值作更新; 清除該第一儲存區(qū)塊;自該第二群組中選取一第三儲存區(qū)塊,并將該第三儲存區(qū)塊分類至該第一群組;將該第一儲存區(qū)塊由該第三群組分類至該第二群組;以及將該第二儲存區(qū)塊由該第一群組分類至該第三群組。在本發(fā)明的平均抹寫儲存區(qū)塊方法中,該歷史數(shù)值為其儲存區(qū)塊所儲存數(shù)據(jù)的絕對時間,該第一群組由該非易失性存儲器所有該些儲存區(qū)塊中具有相對較高的該歷史數(shù)值且無儲存有數(shù)據(jù)的N個儲存區(qū)塊所組成;該第二群組由該非易失性存儲器所有該些儲存區(qū)塊中具有相對較低的該歷史數(shù)值且無儲存有數(shù)據(jù)的M個儲存區(qū)塊所組成;該第三群組由該非易失性存儲器所有該些儲存區(qū)塊中去除分類于該第一群組與該第二群組的多個儲存區(qū)塊所組成。當非易失性存儲器內(nèi)所有儲存有冷數(shù)據(jù)的儲存區(qū)塊經(jīng)由本發(fā)明的平均抹寫儲存區(qū)塊方法處理后,即可達成非易失性存儲器的平均抹寫儲存區(qū)塊。


本發(fā)明得通過下列圖式及說明,俾得一更深入的了解圖1所繪示為具有非易失性存儲器裝置的主機系統(tǒng)的結(jié)構(gòu)示意圖。圖2所繪示為非易失性存儲器裝置的結(jié)構(gòu)示意圖。圖3所繪示為美國專利(US 7,035,967 B2)所揭露平均抹寫儲存區(qū)塊初始化的流程圖。圖4所繪示為美國專利(US 7,035,967 B2)所揭露平均抹寫儲存區(qū)塊方法的流程圖。圖5所繪示為本發(fā)明的平均抹寫儲存區(qū)塊初始化的流程圖。圖6所繪示為本發(fā)明的平均抹寫儲存區(qū)塊方法的流程圖。本發(fā)明圖式中所包含的各元件列式如下主機系統(tǒng)100系統(tǒng)總線104微控制器108隨機存取存儲器112
輸入輸出電路116非易失性存儲器裝置120 非易失性存儲器124存儲器控制器128
具體實施例方式已知的平均抹寫儲存區(qū)塊方法是以儲存區(qū)塊的清除次數(shù)作為主要參數(shù),根據(jù)清除次數(shù)來做平均抹寫儲存區(qū)塊方法。本發(fā)明則是以儲存區(qū)塊的歷史數(shù)值取代清除次數(shù),作為平均抹寫儲存區(qū)塊方法的主要參數(shù)?!阍诰哂蟹且资源鎯ζ餮b置的主機系統(tǒng)中,另有一參數(shù)用以記錄每一儲存區(qū)塊最近一次寫入數(shù)據(jù)的絕對時間,而此絕對時間是從主機系統(tǒng)于第一次通電啟動后開始計算,且以每兩分鐘作累加。舉例來說,某一儲存區(qū)塊于其主機系統(tǒng)第一次通電啟動后的第一絕對時間被第一次寫入數(shù)據(jù),則主機系統(tǒng)會將此第一絕對時間記錄下來,并將此儲存區(qū)塊的歷史數(shù)值定義為此第一絕對時間。當此儲存區(qū)塊于其主機系統(tǒng)第一次通電啟動后的第二絕對時間再次被寫入數(shù)據(jù),則主機系統(tǒng)會將此第二絕對時間記錄下來,并將此儲存區(qū)塊的歷史數(shù)值更新為第二絕對時間。顯而易見地,當某一儲存區(qū)塊的歷史數(shù)值遠低于所有儲存區(qū)塊的平均歷史數(shù)值 (average history number)時,則此儲存區(qū)塊最近一次被寫入數(shù)據(jù)的時間則距離現(xiàn)在時間相對久遠,亦即儲存于此儲存區(qū)塊的數(shù)據(jù)在距離現(xiàn)在相對久遠的時間內(nèi)未被更新,則儲存于此儲存區(qū)塊的數(shù)據(jù)可視為一冷數(shù)據(jù)。反之,當某一儲存區(qū)塊的歷史數(shù)值遠高于所有儲存區(qū)塊的平均歷史數(shù)值時,則此儲存區(qū)塊最近一次被寫入數(shù)據(jù)的時間則距離現(xiàn)在時間相對接近,亦即儲存于此儲存區(qū)塊的數(shù)據(jù)在距離現(xiàn)在相對接近的時間內(nèi)被更新過,則儲存于此儲存區(qū)塊的數(shù)據(jù)可視為一熱數(shù)據(jù)。本發(fā)明的平均抹寫儲存區(qū)塊方法即以此特征,將冷數(shù)據(jù)搬移至具相對較大歷史數(shù)值的儲存區(qū)塊內(nèi),以平均使用非易失性存儲器內(nèi)所有儲存區(qū)塊,進而延長非易失性存儲器的使用壽命。請參照圖5,其所繪示為本發(fā)明的平均抹寫儲存區(qū)塊初始化的流程圖。此平均抹寫儲存區(qū)塊初始化主要是將非易失性存儲器內(nèi)所有儲存區(qū)塊分類為映像群組、已清除且具較高歷史數(shù)值群組與已清除且具較低歷史數(shù)值群組,且計算出非易失性存儲器內(nèi)所有儲存區(qū)塊的平均歷史數(shù)值。首先,接受平均抹寫儲存區(qū)塊初始化的指令(步驟502)。此平均抹寫儲存區(qū)塊初使化的指令可由使用者主動實施,或由儲存區(qū)塊所屬的主機系統(tǒng)于符合某些特定條件下自動實施。隨后,確認出非易失性存儲器內(nèi)所有已被清除的儲存區(qū)塊(步驟504)。當非易失性存儲器內(nèi)所有已被清除的儲存區(qū)塊被確認后,將所記錄下的每一儲存區(qū)塊的歷史數(shù)值與一較高的預設歷史數(shù)值相比,從所有已被清除的儲存區(qū)塊中找出前N個具有相對較高歷史數(shù)值的儲存區(qū)塊,并將此N個具有較高歷史數(shù)值且已被清除的儲存區(qū)塊分類于已清除且具較高歷史數(shù)值群組(步驟506)。其中,數(shù)字N的選擇可根據(jù)非易失性存儲器內(nèi)所有儲存區(qū)塊的實際數(shù)目所決定。再者,將特定儲存區(qū)塊分類至已清除且具較高歷史數(shù)值群組可通過更新非易失性存儲器地址轉(zhuǎn)換層表來表示。隨后,將每一儲存區(qū)塊的歷史數(shù)值與一較低的預設歷史數(shù)值相比,從所有已被清除的儲存區(qū)塊中找出前M個具有相對較少歷史數(shù)值的儲存區(qū)塊,并將此M個具有較少歷史數(shù)值且已被清除的儲存區(qū)塊分類于已清除且具較少歷史數(shù)值群組(步驟508)。同理,數(shù)字 M的選擇可根據(jù)非易失性存儲器內(nèi)所有儲存區(qū)塊的實際數(shù)目所決定。再者,將特定儲存區(qū)塊分類至已清除且具較少歷史數(shù)值群組可通過更新非易失性存儲器地址轉(zhuǎn)換層表來表示。隨后,將剩下所有尚未被分類的儲存區(qū)塊分類于映像群組(步驟510)。其中映像群組中包含有非易失性存儲器內(nèi)所有儲存有數(shù)據(jù)的儲存區(qū)塊,以及部分已被清除的儲存區(qū)塊,且此部分已被清除的儲存區(qū)塊的歷史數(shù)值是介于已清除且具較高歷史數(shù)值群組與已清除且具較低歷史數(shù)值群組內(nèi)的儲存區(qū)塊的歷史數(shù)值之間。將非易失性存儲器內(nèi)所有儲存區(qū)塊分類完成后,最后,計算出非易失性存儲器內(nèi)所有儲存區(qū)塊的平均歷史數(shù)值(步驟512)。此步驟可經(jīng)由將非易失性存儲器內(nèi)所有儲存區(qū)塊的歷史數(shù)值相加,再除以非易失性存儲器內(nèi)所有儲存區(qū)塊的數(shù)目得出。在執(zhí)行圖5所示本發(fā)明的平均抹寫儲存區(qū)塊初始化的流程后,即可進行本發(fā)明的平均抹寫儲存區(qū)塊方法,亦即根據(jù)平均抹寫儲存區(qū)塊初始化所得的結(jié)果,將原本儲存于某一儲存區(qū)塊的冷數(shù)據(jù),搬移至歷史數(shù)值相對較高的另一儲存區(qū)塊中。請參照圖6,其所繪示為本發(fā)明的針對某一儲存有冷數(shù)據(jù)的儲存區(qū)塊的平均抹寫儲存區(qū)塊方法的流程圖。首先,自映像群組中選取一儲存有數(shù)據(jù)的儲存區(qū)塊x(步驟602)。 隨后,判斷儲存區(qū)塊X所儲存的數(shù)據(jù)是否為一冷數(shù)據(jù)(步驟604)。儲存區(qū)塊X所儲存的數(shù)據(jù)是否為冷數(shù)據(jù)可由儲存區(qū)塊X的歷史數(shù)值與平均歷史數(shù)值的比較判斷出,也就是說,若儲存區(qū)塊X的歷史數(shù)值遠小于平均歷史數(shù)值,則此儲存區(qū)塊最近一次被寫入數(shù)據(jù)的時間則距離現(xiàn)在時間相對久遠,亦即儲存于此儲存區(qū)塊的數(shù)據(jù)在距離現(xiàn)在相對久遠時間內(nèi)未被更新,則儲存于此儲存區(qū)塊的數(shù)據(jù)可視為冷數(shù)據(jù)。反之,若儲存區(qū)塊X的歷史數(shù)值非遠小于平均歷史數(shù)值,即可判斷出儲存區(qū)塊X所儲存的數(shù)據(jù)并非為冷數(shù)據(jù)。若儲存區(qū)塊X所儲存的數(shù)據(jù)為冷數(shù)據(jù),則自已清除且具較高歷史數(shù)值群組中選取一儲存區(qū)塊Y (步驟606)。一般來說,儲存區(qū)塊Y為自已清除且具較高歷史數(shù)值群組中挑選出具最高的歷史數(shù)值者。隨后,將儲存區(qū)塊X所儲存的數(shù)據(jù)復制至儲存區(qū)塊Y,亦即,將儲存區(qū)塊X的使用者數(shù)據(jù)復制至儲存區(qū)塊Y,且根據(jù)將數(shù)據(jù)寫入至儲存區(qū)塊Y的絕對時間,將儲存區(qū)塊Y的歷史數(shù)值作更新(步驟608)。一旦儲存區(qū)塊X的使用者數(shù)據(jù)被復制至儲存區(qū)塊Y后,儲存區(qū)塊X即可被清除(步驟 610)。隨后,自已清除且具較低歷史數(shù)值群組中選取一儲存區(qū)塊Z,并將儲存區(qū)塊Z分類至已清除且具較高歷史數(shù)值群組內(nèi)(步驟612)。一般來說,儲存區(qū)塊Z為自已清除且具較低歷史數(shù)值群組中選取具最高的歷史數(shù)值者。將儲存區(qū)塊Z分類至已清除且具較高歷史數(shù)值群組主要是為了替已清除且具較低清除次數(shù)群組清出空間,使得儲存區(qū)塊X可在隨后的步驟中由映射群組被分類至已清除且具較低歷史數(shù)值群組內(nèi)(步驟614)。隨后,由于儲存區(qū)塊Y已儲存有數(shù)據(jù),儲存區(qū)塊Y將被分類至映像群組(步驟616)。通過圖6所示本發(fā)明的平均抹寫儲存區(qū)塊方法流程,原本儲存有冷數(shù)據(jù)而導致歷史數(shù)值相對偏低的儲存區(qū)塊X,由于將其所儲存的冷數(shù)據(jù)被復制至儲存區(qū)塊Y,使得儲存區(qū)塊X可被清除,待下次進行平均抹寫儲存區(qū)塊方法時,儲存區(qū)塊X可被利用而提高其利用率。再者,由于儲存區(qū)塊Y的歷史數(shù)值相對偏高,通過將冷數(shù)據(jù)移至儲存區(qū)塊Y后,使得儲存區(qū)塊Y的歷史數(shù)值變高后,儲存區(qū)塊Y的數(shù)據(jù)將變成熱數(shù)據(jù),在之后的一段時間內(nèi),儲存
9區(qū)塊Y的數(shù)據(jù)將不再進行更動,直到其余儲存區(qū)塊的歷史數(shù)值超過儲存區(qū)塊Y的歷史數(shù)值時才會變更到儲存區(qū)塊Y的數(shù)據(jù),因此儲存區(qū)塊Y的歷史數(shù)值在隨后將有效地被控制。再者,將儲存區(qū)塊X由原本的映像群組分類至已清除且具較少歷史數(shù)值群組,將儲存區(qū)塊Y由原本的已清除且具較高歷史數(shù)值群組分類至映像群組,與將儲存區(qū)塊Z由原本的已清除且具較少歷史數(shù)值群組分類至已清除且具較高歷史數(shù)值群組可經(jīng)由更新非易失性存儲器地址轉(zhuǎn)換層表來表示。當非易失性存儲器內(nèi)所有儲存有冷數(shù)據(jù)的儲存區(qū)塊經(jīng)由圖6所示本發(fā)明的平均抹寫儲存區(qū)塊方法流程處理后,即可達成非易失性存儲器的平均抹寫儲存區(qū)塊。在本發(fā)明實施例中,具有較高及較低歷史數(shù)值的兩個群組是根據(jù)將所有儲存區(qū)塊的歷史數(shù)值與兩個預設的歷史數(shù)值來比較,因此可以將非易失性存儲器分類為三個群組 映射群組、已清除且具較高歷史數(shù)值群組與已清除且具較低歷史數(shù)值群組。然而,也可以以兩個以上的預設歷史數(shù)值,將非易失性存儲器的儲存區(qū)塊分類為更多群組,以進行更詳細的分類來進行平均抹寫儲存區(qū)塊方法,其方法與上述類似,在此便不再贅述。綜上所述,雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何本領域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可作各種更動與潤飾,因此本發(fā)明的保護范圍當視所附的權(quán)利要求范圍所界定者為準。
權(quán)利要求
1.一種平均抹寫儲存區(qū)塊方法,應用于一具有多個儲存區(qū)塊的非易失性存儲器,該方法包含有下列步驟根據(jù)每一儲存區(qū)塊的一歷史數(shù)值與是否儲存有數(shù)據(jù),將該多個儲存區(qū)塊分類為一第一群組、一第二群組與一第三群組,其中該歷史數(shù)值為其儲存區(qū)塊所儲存數(shù)據(jù)的一絕對時間, 該第一群組由該非易失性存儲器所有該多個儲存區(qū)塊中具有相對較高的該歷史數(shù)值且無儲存有數(shù)據(jù)的N個儲存區(qū)塊所組成;該第二群組由該非易失性存儲器所有該多個儲存區(qū)塊中具有相對較低的該歷史數(shù)值且無儲存有數(shù)據(jù)的M個儲存區(qū)塊所組成;該第三群組由該非易失性存儲器所有該多個儲存區(qū)塊中去除分類于該第一群組與該第二群組的多個儲存區(qū)塊所組成;計算出該非易失性存儲器的一平均歷史數(shù)值;自該第三群組中選取儲存有一冷數(shù)據(jù)的一第一儲存區(qū)塊;自該第一群組中選取一第二儲存區(qū)塊;將儲存于該第一儲存區(qū)塊的該冷數(shù)據(jù)復制至該第二儲存區(qū)塊,且根據(jù)將該冷數(shù)據(jù)寫入至該第二儲存區(qū)塊的該絕對時間,對該第二儲存區(qū)塊的該歷史數(shù)值作更新;以及清除該第一儲存區(qū)塊。
2.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中還包括下列步驟自該第二群組中選取一第三儲存區(qū)塊,并將該第三儲存區(qū)塊分類至該第一群組;將該第一儲存區(qū)塊由該第三群組分類至該第二群組;以及將該第二儲存區(qū)塊由該第一群組分類至該第三群組。
3.根據(jù)權(quán)利要求2所述的平均抹寫儲存區(qū)塊方法,其中該第三儲存區(qū)塊為選取自該第二群組中具最高歷史數(shù)值的儲存區(qū)塊。
4.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中該第二儲存區(qū)塊為選取自該第一群組中具最高歷史數(shù)值的儲存區(qū)塊。
5.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中任一儲存區(qū)塊分類至該第一群組、該第二群組及該第三群組是通過更新該非易失性存儲器的一非易失性存儲器地址轉(zhuǎn)換層表來表不。
6.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中該絕對時間為其所對應的儲存區(qū)塊最近一次被寫入的時間。
7.根據(jù)權(quán)利要求6所述的平均抹寫儲存區(qū)塊方法,其中該絕對時間由該非易失性存儲器所屬的一主機系統(tǒng)第一次通電啟動的時間開始起算。
8.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中該平均歷史數(shù)值是經(jīng)由該非易失性存儲器內(nèi)所有該多個儲存區(qū)塊的的該歷史數(shù)值相加,再除以該非易失性存儲器內(nèi)所有該多個儲存區(qū)塊的數(shù)目得出。
9.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中該冷數(shù)據(jù)是由其所儲存的儲存區(qū)塊的該歷史數(shù)值與該平均歷史數(shù)值的比較而判斷出。
10.根據(jù)權(quán)利要求9所述的平均抹寫儲存區(qū)塊方法,其中若任一儲存有數(shù)據(jù)且該儲存區(qū)塊的該歷史數(shù)值小于該平均歷史數(shù)值時,則該儲存區(qū)塊所儲存的數(shù)據(jù)為該冷數(shù)據(jù)。
11.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中該平均抹寫儲存區(qū)塊方法是由使用者主動實施,或由該非易失性存儲器所屬的一主機系統(tǒng)于符合某些特定條件下自動實施。
12.根據(jù)權(quán)利要求1所述的平均抹寫儲存區(qū)塊方法,其中還包含下列步驟 根據(jù)兩個預設且大小不同的歷史數(shù)值,將該非易失性存儲器的所有儲存區(qū)塊分類為該第一群組、該第二群組與該第三群組。
全文摘要
一種平均抹寫儲存區(qū)塊方法,應用于一非易失性存儲器,該方法包含根據(jù)非易失性存儲器中每一儲存區(qū)塊的一歷史數(shù)值與是否儲存有數(shù)據(jù),將該多個儲存區(qū)塊分類為一第一群組、一第二群組與一第三群組;計算出該非易失性存儲器中所有儲存區(qū)塊的一平均歷史數(shù)值;自該第三群組中將一冷數(shù)據(jù)搬移至該第一群組,且根據(jù)將該冷數(shù)據(jù)寫入至該第一群組的一絕對時間,更新該冷數(shù)據(jù)所屬儲存區(qū)塊的歷史數(shù)值;清除原存有該冷數(shù)據(jù)的儲存區(qū)塊并由該第三群組分類至該第二群組;將一儲存區(qū)塊由該第二群組分類至該第一群組;以及將該儲存有冷數(shù)據(jù)的儲存區(qū)塊由該第一群組分類至該第三群組。
文檔編號G11C16/06GK102201259SQ201010145070
公開日2011年9月28日 申請日期2010年3月24日 優(yōu)先權(quán)日2010年3月24日
發(fā)明者徐正煜, 楊文宗, 蔡松峰 申請人:建興電子科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
洛南县| 北票市| 牟定县| 漳浦县| 深水埗区| 德钦县| 南丰县| 全南县| 历史| 缙云县| 高清| 东明县| 墨脱县| 江达县| 鄂托克前旗| 桂东县| 四平市| 深圳市| 中西区| 广水市| 滁州市| 祁连县| 广宗县| 北碚区| 唐河县| 衡阳县| 肥东县| 铜梁县| 长岭县| 塔城市| 怀宁县| 兴城市| 清新县| 宜良县| 阜宁县| 镇巴县| 磴口县| 京山县| 腾冲县| 霍林郭勒市| 本溪|