以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx

上传人:b****6 文档编号:20309429 上传时间:2023-01-21 格式:DOCX 页数:18 大小:222.21KB
下载 相关 举报
以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx_第1页
第1页 / 共18页
以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx_第2页
第2页 / 共18页
以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx_第3页
第3页 / 共18页
以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx_第4页
第4页 / 共18页
以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx

《以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx》由会员分享,可在线阅读,更多相关《以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

以区块为基础之NAND快闪记忆体管理模式Word文件下载.docx

因此如何取得系統管理平衡點是一重點。

藉由動態方式分析資料屬性,分離成冷資料屬性與熱資料屬性,並將其資料寫至不同屬性區塊中,以降低無意義的搬移動作。

動態均勻抹除策略可提昇可靠度,而此方法最大效益是只需要犧牲少量成本,可達到延長使用壽命與提高可靠度。

再經由本文所提出的分配政策指標與抹除策略互相搭配,成效亦可彰顯。

關鍵詞:

嵌入式計算系統、快閃記憶體、反及閘快閃記憶體、抹除策略、動態均勻抹除、分配政策。

投稿受理時間:

93年3月15日審查通過時間:

93年8月2日

2 臺北科技大學學報第三十七之二期

ABSTRACT

TheNANDtypeflash,denotedbyNandFlash,isonofthemajorapplicationsintheembeddedcomputingsystem,sinceitownssomeadvantages,thesmallsize,greatcapacity,lightpowerconsummation,notvolatility,andenduringvibration.Forthespecialcharacteristicofthesemi-conductorinNandFlash,itsapplicationswillbelimitationanditsmanagermethodwillalsobecomplication.ItisamajorstudytopictoeffectuallymanagethisNandFlash.Especially,whenafilesystemmanagesthehugesizeNandFlash,theperformanceofmanagementmechanismwillbemoreimportance.Amongthevariouslyeffectivemanagementsoftheflashmemory,themajorrepresentativemethodisproposedbyKimandLee[10],whosemethodisdenotedbyKimLeealgorithminthispaper.

BasedontheKimLeealgorithm,weproposeamoreeffectivemanagementthanthatofKimLeealgorithm.Inourproposal,sincethebasicerasingunitisablockinNandFlash,weuseablockasthestudybasiswiththemeaning.Wediscussthebadblockmanagement,thewear-levelingalgorithm,thereductionoftheerasingfrequency,andthemanagementoftheinvalidpagedatarecovery.Forconflictingbetweentheunitcostoferasingcostandwear-leavingalgorithm,itisanotherimportantissuetogetthebalancebetweentheclearanceandtodothecycle-levelingaction.

Bydynamicallyanalyzingthestateofthedataattribution,thedataisdividedintocoldorhotdataattributionandthenre-writtenintothedifferentblockforreducingthenonsensicalactions.Further,wecanreducethecostandpromotetheperformanceofthesystem.Itonlyneedstosacrificeajotcostforextendingthelifeofflashmemoryandpromotingthehighusage.Theperformancewillbemoreexplicitwiththeallocationstrategyindexandthecycle-levelingstrategyofourproposalmodel.

Keywords:

Embeddedcomputingsystem,Flashmemory,NANDflashmemory,Cleaningstrategy,DynamicallyCycle-leveling,Allocationstrategy.

 

壹、導論

隨著科技的進步,越來越多可攜式電子產品都必須內建作業系統(OperatingSystem,OS)與非揮發性的記憶體。

例如,個人數位助理、手機、數位相機、MP3隨身聽和錄音筆[19]。

而快閃記憶體符合以上電子產品之需求,成為近年來可攜式電子產品所必備使用的新寵兒。

以區塊為基礎之反及閘快閃記憶體管理模式 3

可攜式電子產品對於記憶體都有相同的需求,例如:

體積小、容量大、功率小、非揮發性和耐震等特性。

因此,傳統式的硬碟與記憶體已不適用於新的可攜式系統。

快閃記憶體和一般DRAM或SRAM最大不同處,在於當無電源時快閃記憶體能保存資料完整性,是屬於非揮發性記憶體〔6〕。

並且快閃記憶體具備省電功能及耐震,在移動式裝置運用中是最佳儲存媒介,因此快閃記憶體成為嵌入式計算系統最佳記憶體解決方案。

NandFlash結構適合於純資料儲存和檔案存儲,例如主要作為SmartMedia卡、CompactFlash卡、PCMCIAATA卡、固態盤式儲存介質。

NandFlash具有以下基本特點:

一、以資料頁(Page)作為單位進行讀取和編程操作,1資料頁單位為512B(位元組)或2KB;

以區塊(Block)為單位進行抹除,1區塊單位為16KB或128KB。

二、資料和位址線採用同一匯流排(Bus),實現串列讀取。

三、晶片尺寸小及引腳少。

四、晶片包含損壞區塊,其數目最大上限達NandFlash容量的1%,此損壞區塊取決於記憶體密度[16-17]。

雖然NandFlash具有多項優點,但有兩項硬體電氣上的限制〔7-8,16-17〕,不能直接覆寫和抹除次數限制。

首先,不能直接覆寫方面,在新資料儲存之前,原位置的資料區塊必須先被抹除後,新資料才能重新寫入。

而覆寫次數的限制方面,一般而言NandFlash抹除次數為100,000次,依製造商而定〔7-8,16-17〕。

這兩缺點導致傳統式硬碟記憶體管理策略,不適用於快閃記憶體,因此NandFlash管理系統演然而生。

因此必須針對NandFlash本身的限制,設計其NandFlash檔案管理系統。

在NandFlash中,當一個區塊接近抹除限制時,將會導致寫入失敗,使得資料存取可靠度降低。

而非均勻式抹除區塊現象,導致可用記憶體空間快速減少,因此如何均勻化使得NandFlash所有區塊幾乎同時達到抹除次數界限,稱之均勻抹除(Wear-leveling)。

換言之,在NandFlash儲存系統中,希望所有記憶體區塊均勻的使用。

而均勻抹除基本原理,是將常被更新的資料配置於較少抹除次數區塊中,不常更新的冷資料則安置於抹除次數較多的區塊中,藉此達到動態式平衡。

為解決NandFlash不能直接覆寫缺點,必須考慮如何更新區塊資料及管理可用自由空間,進而間接增加使用壽命。

對於更新方式,為了增進寫入效率,必須分離寫入和抹除運算。

更新時須將新資料寫入至到新自由區塊空間中,且將原區域舊版資料宣稱為無效資料。

等至回收條件被觸發時啟動抹除運算,回收無效資料空間,以提供足夠使用空間。

在抹除成本與均勻抹除行為上,兩者是相互衝突的議題。

如果將NandFlash管理重心集中在降低清潔成本,會導致區塊間抹除次數分佈情況呈現過於歪斜,使得系統可靠度嚴重受影響。

相反地,過度注重均勻抹除將增加額外成本,而降低了抹除考量。

在抹除區塊時,透過清除索引,得到最佳候選區塊,它整合了動態均勻抹除與區塊利用率兩個因素。

因此,可解決清潔成本與均勻抹除兩者間衝突議題。

4 臺北科技大學學報第三十七之二期

本論文的架構安排如下。

在第二部份中描述NandFlash的基本工作原理。

參數定義及管理演算法之探討於第三部份中討論。

第四部份是主要結果。

最後,第五部分為結論。

貳、基本原理

為了提高寫入速度和間接達到均勻抹除目的,採用日誌-結構化檔案系統架構(Log-StructureFileSystem,簡稱LFS)[1,11-12]。

此方法是將所有新增或更新資料,寫入日誌記錄的最後端,取代了直接更新檔案的方法。

若是執行更新資料動作,只須將舊資料標示為無效(Invalid),在某一特定時機啟動抹除機制,以回收記憶體區塊至可用的記憶體區塊中。

NandFlash將記憶體分割為數個固定的區塊,每個區塊切割成數個大小相同的資料頁。

其中區塊是抹除的基本單位,資料頁則是I/O的操作單位,也是NandFlash與主記憶體間資料交換的單位,以下將以「區塊」和「資料頁」,描述NandFlash。

一、NandFlash管理架構

NandFlash因不能覆寫及抹除次數之兩項主要限制,進而延伸出以下之必要管理考量。

壞區塊管理(BadBlockManagement),均勻抹除(Wear-Leveling),無效資料頁蒐集(GarbageCollection)。

本文中,以此三項要點為探討主軸,且以KimLee演算法[10]為研究基礎,必且增加其他考量研究議題之探討。

而整體NandFlash儲存系統中,使用者透過作業系統,呼叫系統檔案管理,作為檔案存取服務;

而檔案管理中,透過NandFlash管理方式作適當的檔案紀錄;

最後,經由NandFlash存取介面,直接存取NandFlash實體記憶體中之檔案資料。

在NandFlash管理中,由三個主要策略元素構成,分配(Allocation)、清潔(Clean)和均勻抹除(Wear-Leveling)。

而所謂分配主要負責管理可用的自由空間區塊和決定可用自由空間區塊(AvailablefreeBlocks)的分配。

清潔工作是負責回收無效的區塊及產生新的自由空間。

均勻抹除工作在於平均化使用每個區塊,避免抹除有集中化現象。

(一)NandFlash儲存系統結構。

二、NandFlash管理方式

從圖

(一)整體NandFlash儲存系統結構中,我們探討其中NandFlash基本管理方式。

當檔案更新時NandFlash管理機制中,首先在所更新的資料區塊中,將目前區塊中的舊資料頁標記為「無效」,並且將新資料寫至一個新的可用自由區塊中,標註有效,成為有效資料頁,如圖

(二)所示。

以區塊為基礎之反及閘快閃記憶體管理模式 5

(二)NandFlash管理。

參、參數定義及管理演算法之探討

本文中所定義的抹除花費模型基礎是根據eNVy快閃儲存系統的清潔花費公式u/(1-u)作為探討依據,u是區塊的利用率(代表有效資料所佔的空間)[5]。

此公式用來表示,當考慮將一區塊中的有效資料重新寫入至另一區塊,所需的花費成本。

對於NandFlash,在固定期間經常性的抹除將會導致較高整體運算費用。

因此,應該將抹除數目減至最少,進而增加使用壽命期限。

特別當區塊的儲存利用率較高時,減少區塊被抹除是非常重要的[10]。

以下將定義三個參數,作為指標運算之參考參數,分別為累積清潔費用、齊平程度()及蒐集大小。

首先,由清潔頻率f所累積清潔費用如定義1所示[10]。

定義1:

累積清潔費用:

關於均勻抹除快閃記憶體中所有區塊的測量,我們使用齊平程度(Levelingdegree)如定義2所示。

定義2:

=max-min。

齊平程度()是最大的抹除計數值(max)和最小的抹除計數值(min)之間的差。

再者,雖然使用蒐集策略分離冷熱資料屬性區塊有實質上正面效果,但蒐集動作本身為運算成本。

若蒐集次數太頻繁或收集量過大,便會降低此效益;

甚至增加運算成本。

因此,必須適當定義蒐集時機與蒐集單位大小。

定義3:

蒐集大小–在每一次的蒐集時,從日誌檔中,收集冷資料的資料頁數目[10]。

一、管理最佳化與演算法改良

首先,介紹貪婪清潔演算法[12-13],再探討KimLee清潔演算法。

並針對管理方法上冷資料(Colddata)與熱資料(Hotdata)的分離政策、清潔區塊選擇與抹除均勻策略提出改良,並補充相關研究議題,以得到一個適當化的管理效能。

(一)貪婪清潔演算法

對於NandFlash,抹除策略演算法效率將直接影響管理系統效能[5,12]。

依據eNVy的清潔花費模式,藉由區塊利用率決定區塊清潔費用[5]。

因此,如何挑選區塊進行抹除,將是影響整體管理效益的最重要因素。

6 臺北科技大學學報第三十七之二期

貪婪清潔法選擇的方式是尋找區塊內具有最多數量的舊資料頁作回收依據,目的在於花費最少的成本,以期待獲得較大的回收空間。

而在存取行為平均的情況下,貪婪清潔法與其他抹除策略成效並不會有很大差異性[1]。

但當存取行為高度集中的情況下(根據在UNIX檔案系統研究中,將近67~78%寫入行為,集中在少數檔案上[14-15],因此貪婪清潔法的抹除與搬移次數將有急速增加趨勢[5,9,12]。

貪婪清潔法挑選區塊時無法有效辨別區塊資料冷熱屬性狀態。

因此,會造成剛更新後的區塊迅速增加新的舊資料,導致進入準備被抹除狀態,而使得效率驟降。

此法不能有效分離冷熱資料區塊,使得冷熱資料區塊同時存在每一個區塊中,造成每次抹除時冷資料頁無益的搬移,再度造成降低系統效能。

(二)KimLee演算法冷熱資料分離缺點

在KimLee演算法中,將冷熱資料分離,其工作約分兩個階段:

(1)蒐尋並且收集冷資料碎片資料頁;

(2)群集冷資料至日誌尾端。

收集運算程序,如圖(三)所示。

此模式程序中,有下列結論。

在KimLee蒐集演算法中,雖然在第一階段中已將冷資料分別收集,但第二階段中,將冷資料寫入至日誌後端,而可能未填滿整個區塊空間,使得檔案管理系統後來因為某一檔案的更新,又將一個熱資料寫入日誌尾端,造成冷熱資料再度混合;

影響整體冷熱資料分離程度效能。

圖(三) 蒐集程序。

(三)冷熱資料分離缺點改進

一般LFS結構僅用一個使用的資料區段LFS與可用自由空間的資料區段LFS,在KimLee分離演算法中採用檔案方式區別冷熱資料,若要剛好蒐集一個區塊大小的資料頁量是困難的。

因此,無法有效的分離冷熱資料屬性,進而影響整體效能。

在策略上,我們將NandFlash使用中的資料區塊段分為兩類。

一類存放常更新的檔案,即熱資料;

另一類存放不常更動的資料檔,即冷資料。

每一個區塊在NandFlash初始或經回收後不具有屬性類別。

當存有資料區塊後,視所存放資料屬性,而成為「熱資料區塊組」或「冷資料區塊組」,即常更新或不常更新之資料區塊。

此後,當蒐集冷資料資料頁時,便將其資料頁寫入冷資料區塊組LFS的日誌尾端,如圖(四)所示。

再更新或抹除資料時則將資料重寫入到熱資料區塊LFS的日誌尾端,如此可改善冷熱資料混合機率。

以區塊為基礎之反及閘快閃記憶體管理模式 7

圖(四)冷資料頁蒐集示意圖。

肆、主要結果

首先,在NandFlash中我們大約區分為四個主要區塊。

重要資訊區(Informationarea)、儲存資料區1、儲存資料區2和可使用之空閒資料區,其NandFlash空間之規劃示意圖,如圖(五)所示。

圖(五) NandFlash規劃表示圖。

重要資訊區,主要紀錄損壞區塊表(BadBlockTable-BBT)、根目錄(FileDescriptionBlock-FDB)、檔案配置表(FileAllocationTable-FAT)和其它區塊重要紀錄資料[20]。

儲存資料區1(Storagearea1)及儲存資料區2(Storagearea2),主要用來儲存資料。

而約分成兩部分的原因,在於將資料依屬性區分為熱及冷資料屬性,假定儲存資料區1儲存熱屬性資料;

而儲存資料區2儲存冷屬性資料,當抹除次數達到所規定限制時,其儲存資料將會依據區塊的抹除次數及資料屬性作合適配置,因此儲存區資料1及儲存區資料2的抹除次數限制將會達到平衡,達到壽命延長的效果。

可使用之空間資料區表示目前可用來配置存放資料頁之區域。

一、壞區塊管理(BadBlockManagement)

首次NandFlash使用時,因為NandFlash可能約有1%的壞損區塊,所以必須對NandFlash區塊依序掃描,將損壞區塊一一記錄至BBT中,避免日後資料寫入該區塊,造成資料錯誤或任何不正常狀態發生[16-17]。

任何資料寫入NandFlash中時,必須先檢查BBT,若所安排寫入之區塊在BBT範圍內,必須另外指定其他區塊存放資料,並且變更資料存取指標,以確保正確地鏈結;

倘若寫入的資料區塊位址不在BBT內,但在寫入動作時發生錯誤訊息,經ECC檢查碼重覆執行多次檢查,如仍有誤,則必須考慮將該區塊標示為損壞,將此區塊加入BBT中,並另外指定區域存放資料,並同時更新鏈結指標[20]。

8 臺北科技大學學報第三十七之二期

BBT建立之虛擬碼如下所示:

‧CrateBad_Block_Table

1Blockaddress=0;

2forBlockaddresstoLast_Block_address;

.

3Check“FFh”or“FFFFh”atthecolumnaddress2048(x8device)or(x16device)ofthe1stand2ndpageintheblock;

4ifBlockaddress≦Last_Block_address&

&

value≠“FFh”or“FFFFh”;

//value=thecolumnaddress2048(x8device)or(x16device)ofthe1stand2ndpage

5cratetoBad_Block_Table;

圖(六) 壞區塊建立之流程。

因我們所記錄的損壞區塊資訊單位為區塊,如果以K9XXG08XX為例[16],必須紀錄4096筆記錄。

而檢查方式如圖(六)流程所示,而損壞區塊之記錄表,採取使用2個資料頁容量存放BBT,而此BBT將存放在NandFlash中所劃分的重要資訊區中。

二、均勻抹除(Wear-Leveling)

快閃記憶體因為有抹除次數的限制,舉例SamsungK9XXG08XXM,其抹除次數為100,000次[16]。

假若某個區塊中,永遠存在著不被更新的資料區塊,此時非均勻抹除情況將嚴重發生。

若系統中存在多數的冷資料區塊,則NandFlash整體上,將因為輪替抹除的區塊候選變少,而增加抹除次數。

使得快閃記憶體容量,因抹除次數極限值的限制,而失去可用的記憶體空間。

舉例,某一NandFlash有100個抹除片段,每一個區塊抹除次數為100,000次;

假若其儲存區塊空間中永遠包含著25個區塊的冷資料,其使用率將很高,因此不會被系統回收抹除,故僅剩下75個區塊輪流使用抹除。

假設在一個高密度寫入的情況下,每天有6000個區塊抹除回收需求(不考慮抹除均勻),則其記憶體100%可用的使用壽命為:

100%生命週期=

換句話說,當經過3.424年後,其記憶體空間僅剩下25%。

換言之,只剩存著冷資料區塊可再被使用。

而25%的區塊使用空間也將會因為記憶體空間不足,而需更頻繁的抹除,而快速達到抹除極限值。

上式中並未考慮均勻抹除,使得可用空間急速減少。

若我們在系統中考慮均勻抹除,則此100個區塊的抹除次數差異,將會控制在某一範圍內,使其幾乎同時達到抹除界限值。

在記憶體使用上,也會有較大的空間與彈性,假設均勻抹除必須額外付出8%抹除費用[8],此時的使用壽命為:

以區塊為基礎之反及閘快閃記憶體管理模式 9

雖然均勻抹除需付出額外的成本,但在可靠度、記憶體使用空間及使用壽命議題上是相當值得的花費。

(一)KimLee演算法清潔索引策略

清潔索引(CleaningIndex)是在NandFlash管理中挑選區塊被抹除的準繩;

最低的清潔索引值,清潔時此區塊將被選擇抹除〔10〕。

清潔索引中,定義了降低清潔花費及提高均勻抹除兩者兼顧的參考式,如下所示:

上式在KimLee文中[10],ui表示區塊i的利用率、i表示區塊i的抹除計數、max表示全部區塊中最大的抹除計數值。

清潔索引由二個考量因素所組成:

每個區塊利用率和抹除計數值。

正規化齊平度(λ),是此兩因數的加權。

計算出的齊平度數值映射於0至1之間。

=

若抹除是呈現均勻式分配,則清潔索引主要之目的在於降低清潔費用。

換言之,當發生非均勻式抹除時,清潔索引之目的是為了均勻抹除。

此清潔費用索引的立意甚佳,因當區塊選擇時,須要同時考慮清潔成本與均勻抹除。

但此公式卻有一缺失,當片段抹除次數越接近抹除極限值時,卻疏乎均勻抹除參數,反而偏重區塊使用率參數。

此現象違反使用壽命的規則[10]。

舉例:

假設λ=0.9情況下,考慮不同抹除次數區塊選擇策略。

區塊A:

ui=0.8,i=95000,max=95350,min=90950

CleaningIndex=(1-0.9)×

0.8+0.9×

[95000/(95350+1)]=0.976687

區塊B

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1