高可靠度和低成本效益快闪记忆体管理模式.docx
《高可靠度和低成本效益快闪记忆体管理模式.docx》由会员分享,可在线阅读,更多相关《高可靠度和低成本效益快闪记忆体管理模式.docx(17页珍藏版)》请在三一办公上搜索。
1、高可靠度和低成本效益快閃記憶體管理模式1高可靠度和低成本效益快閃記憶體管理模式Flash Memory Management Model with High Reliability and Low Cost-Benefit 黃文增* 陳彥勝 陳俊達 鄭重志W. T. Huang*,Y. S. Chen,C. T. Chen,C. C. Cheng國立台北科技大學電子工程系摘 要快閃記憶體可說是目前嵌入式系統記憶體的主流,而其有效的管理方式已被提出,其中以Kim和Lee所提出的管理方式最具代表性,我們簡稱為KimLee演算法8。本論文主要是以KimLee演算法為基礎,提出一個改良式的有效管理方法
2、。我們的方法主要是針對快閃記憶體區塊作均勻抹除和減少抹除的動作;因此,快閃記憶體不但可以提升系統的效能降低清除成本而且能延長使用壽命。然而,快閃記憶單元的降低清除成本與均勻抹除兩者是相互衝突的;如何兩全其美取得一平衡點,是本論文的重點。首先,我們的方法是藉由動態的分析資料屬性,分離成冷資料與熱資料,並將其重寫於不同區段屬性中,以達到降低無意義的搬移動作,更進一步,能降低成本及提高系統壽命。第二目標是採用一種動態的均勻抹除策略,來提昇可靠度;而此方法最大效益是只需要犧牲少量的成本,便可達到延長快閃記憶體的壽命與使用的高可靠度。關鍵詞:嵌入式計算系統、快閃記憶體、儲存系統、檔案系統、清除策略、動態
3、均勻抹除。投稿受理時間: 92 年 10 月 15 日 審查通過時間: 92 年 12 月 24 日ABSTRACT2臺北科技大學學報第三十七之一期Among the variously effective managements of the flash memory, the major representative method is proposed by Kim and Lee8, whose method is denoted by KimLee algorithm in this paper. Based on the KimLee algorithm, we propose a
4、 more effective management than that of KimLee algorithm. In our method, we do the cycle-leveling action in a balanced method and reduce the writing action to the flash memory block. Therefore, we not only can promote the effect of the system but also can prolong the service life in this flash memor
5、y. However, for the flash memory cell, it is mutually conflict between to reduce the cost of the clearance and to do the cycle-leveling action. First, we dynamically analyze the state of the data attribution. According to the data attribution, we divide this data into cold or hot data and rewrite it
6、 to the different block for reducing the nonsensical actions. Further, we can reduce the cost and promote the performance of the system. Then, we adopt a dynamic cycle-leveling strategy to extend the life of flash memory. It only needs to sacrifice a jot cost for extending the life of flash memory a
7、nd promoting the high usage.Keywords:Embedded computing system, Flash memory, Storage system, File system, Cleaning strategy, Dynamically Cycle-leveling.壹、導 論隨者科技的進步,越來越多的電子產品都必須內建OS與記憶體。例如,個人數位助理、手機、數位相機、MP3隨身聽、和錄音筆。這些電子產品對於記憶體都有相同的需求,那就是必須體積小、容量大、省電、非揮發性和耐震等特性。傳統式的硬碟與記憶體已不能適用於這些新系統,因為EEPROM速度不夠快及容
8、量有限,而DRAM與SRAM必須靠電力來維持記憶,硬碟則體積大、耗電又怕震動。因此,嵌入式系統的最佳解決方案直到快閃記憶體的問世,才解決這些問題。快閃記憶體和一般DRAM或SRAM最大不同是不需電源還能將資料保存的非揮發性記憶體4。它在體積方面,比一個容量相等的DRAM儲存格小,且隨者半導體製程的進步,其單位面積的儲存容量已經越來越大,存取速度也持續成長中,在用途上也漸漸取代移動式硬碟。並且它還具備移動式裝置最重視的兩種性能,省電及耐震。快閃記憶體將成為各種嵌入式計算系統的最佳記憶體解決方案。雖然快閃記憶體擁有多項優點,但卻有兩個硬體電氣上的限制5,6,15;那就是不能直接覆寫和抹除(Eras
9、e)次數的限制。首先,不能直接覆寫,在新資料儲存之前,原位置的資料區段必須先被抹除後,才能讓新資料重新寫入。而抹除運算重新設定所有記憶單元,所需要的時間比讀取或寫入運算的時間長。舉例,Toshiba TH58NVG1S3AFT05 2Gbit其讀的速度為50ns、寫的速度為200us、和抹除時間為2ms 15。而新的可用自由空間(Available free space,可立即使用的空間)必須建立在已預先抹除後,因此快閃記憶體更新的速度比傳統硬碟記憶體慢。第二個缺點,是覆寫次數的限制(一般在100,000 1,000,000次,依製造商而定)5,6,14。此兩缺點導致傳統式硬碟記憶體管理策略不
10、適用於快閃記憶體。高可靠度和低成本效益快閃記憶體管理模式3因此必須針對快閃記憶體的缺點特性,重新設計快閃記憶體檔案系統。因為當一個接近週期限制的快閃記憶體區塊(Block)將經歷時常的寫入失敗;使得存入資料的可靠度降低。並且因為不平均的抹除區塊,致使可用記憶體空間快速的減少。如何讓記憶體區塊幾乎同時達到抹除次數界限,是我們演算法中研究的另一個重點,稱之為均勻抹除(Cycle-leveling)。為了解決不能直接覆寫缺點,我們必須考慮如何更新快閃記憶體區塊的資料和管理可用自由空間。對於更新技術,為了增進寫入效率,必須分離寫入和抹除運算。換句話說,更新時須將新資料寫入新自由空間中,並且將原區域空間
11、上的舊版資料宣稱為無效。而當可用的記憶體空間不足時,系統必須啟動清除運算以回收舊資料空間和片段供未來使用。而抹除次數的限制缺點,在快閃儲存系統達成所有的記憶體區塊均勻使用的可能性,此程序被稱為均勻抹除。均勻抹除的基本原理,是將常被更新的資料安置在那些較少抹除次數的記憶體區塊中,不常更新的冷資料則被安置於那些已抹除較多次數的記憶體區塊中,藉此達到動態平衡。因降低清除花費與均勻抹除兩者是相互衝突。如果快閃記憶體管理將重心集中在降低清潔花費,則會因為片段間的抹除次數太過歪斜,使系統的可靠度戲劇性的受到影響。相反的,過度注重均勻抹除動作會增加額外的費用,而且降低了清除性能。本篇論文中,我們為快閃儲存系
12、統中的兩個時常衝突的目標提出一個新的記憶體管理方法。我們主要透過蒐集運算以分開冷熱資料,並將冷熱資料分別存放於不同屬性的區段,以提高清潔效率。當選擇清除片段時,透過一清除索引,它整合了動態的均勻抹除與片段利用率兩個因素。因此,我們可解決清潔成本與均勻抹除兩者間的衝突。本篇論文的架構安排如下。在第二部份中描述快閃記憶體的工作原理。管理最佳化機制演算法的分析和改良在第三部份中討論。第四部份是結論。貳、工作原理為了提高寫入的速度,並且間接達到均勻抹除,我們採用日誌-結構化檔案系統(Log-Structure File System,簡稱LFS,log 即所有的更新動作實行在連續記憶體結構上稱4臺北科
13、技大學學報第三十七之一期為日誌)的架構10。將所有新增或更新資料寫在日誌記錄的最後端,取代了直接更新檔案的方法;只須將舊資料標示為無效(Invalid),並在某一特定時間啟動清除與抹除機制以回收記憶體區塊至可用的記憶體片段中;此非同步策略將有助於加快寫入效能。快閃記憶體出廠時,已將記憶體分割為數個固定的區塊,每個區塊再切割成數個大小相同的頁(Page)。此架構,正好符合LFS的需求。其中區塊是清除與抹除的單位,對應到LFS中的片段(Segment),頁則是I/O的操作單位,也是快閃記憶體與主記憶體間資料交換的單位,對應到LFS中的區塊(Block),以下我們將以片段和區塊來描述快閃記憶體。一、
14、快閃記憶體管理架構本論文主要以KimLee演算法8為比較基礎。因此,只探討快閃記憶體管理部份,架構圖如圖(一)所示。快閃記憶體管理者由三個主要元件組成:分配者(Allocator)、清潔者(Cleaner)、和均勻抹除者(Cycle-Leveler)。分配者負責保存可用自由空間的片段;它決定那個可用自由空間片段(Available free segments)可在下一次分配給需求者(Requester)。清潔者是回收無效(Invalid)的區塊片段和產生新的可用自由空間。均勻抹除者負責維持快閃記憶體片段抹除週期的平均分配。圖(一)快閃儲存系統結構快閃記憶體管理工作如圖(二)所示。首先,在更新時
15、,將目前片段中的舊資料區塊標記為死(Dead),轉為陳舊資料區塊;並且將新的資料寫到一個新的可用自由區塊,標記活著(Live),使變成有效資料區塊。當更新程序繼續時,可用自由片段數目將減少。當可用自由片段數目到達某一門檻以下的時候,清潔者被觸發。在快閃記憶體日誌工作上的清潔運算分兩個階段,重寫入和抹除階段。圖(二)快閃記憶體管理在重寫入階段,清潔者首先在日誌中選擇一個片段;分配一個可用自由片段;收集來自選擇片段中有效的資料,並且重寫到資料日誌檔中的結束部份;在抹除階段中,抹除運算的執行是對片段中,所有選擇抹除區塊平行處理。被清理的片段被收集進入可用自由空間的片段之內。高可靠度和低成本效益快閃記
16、憶體管理模式5二、問題定義我們所定義清除花費模型的基礎是根據eNVy快閃儲存系統的清潔花費公式3。清潔花費在eNVy被定義為u/(1-u),u是片段的利用率(代表有效資料所佔有的空間)。在快閃記憶體中,此花費模式所反映之事實為必須考慮重寫一個片段的有效區塊之費用。而一般硬碟的磁軌蒐尋和迴轉延遲時間並不適用於快閃記憶體,並且其讀取速度比寫入速度更快8。 對於快閃記憶體,在一個固定期間經常性的清潔,將會導致較高的整體運算費用。因此,清潔者應該將抹除(清潔)運算的數目減到最少。特別地,當片段的儲存利用值達到較高的時候,減少片段的利用被清潔是非常重要的8。而清潔頻率f在KimLee演算法中只是一個近似
17、值如下列式子所示:上式並非一個真實的清潔次數,尤其當片段利用率有明顯差異時,其誤差值將比較大。因此,我們重新定義一個真實的清潔頻率,以表示真實的清潔次數。其中W表示在清潔開始之後的寫入請求區塊數目、uc表示清潔的選擇片段利用率、和SegSize表示每片段區塊數。然後,我們可以得知一個真實清潔頻率f值,如引理1所示。引理 1: 證明:清潔是以段為單位。從圖(二)中得知,一個段的清除可以產生(1-uc1)SegSize的可用自由空間。如果,清除兩個段,則將產生(1-uc1)SegSize+(1-uc2)SegSize的可再使用(新鮮)空間。同理,清潔三個段,將產生(1-uc1)SegSize+(1
18、-uc2)SegSize+(1-uc3)SegSize=。 若要寫入資料為W區塊數目,至少必須清除大於W區塊數目,以便產生足夠的可用自由區塊數目。假設共清除f段(次),則計算清潔頻率f的虛擬碼如下所示:CleaningFrequency( ) f 0 For i 0 to SegNum f = f+1; If (1-Uci)SegSize W then Exit; Else W=W-(1-Uci)SegSize; End; If i SegNum thenprintf “short of space”; Else Return f; End;6臺北科技大學學報第三十七之一期依據事實的須求,我們
19、定義幾個參數。首先,由清潔頻率f所累積清潔費用如定義1所示8。定義1:累積的清潔費用是。關於平均抹除所有片段上的測量,我們使用齊平程度(Leveling degree)如定義2所示。 定義2:齊平程度(D)是最大的抹除計數值(max)和最小的抹除計數值(min)之間的差。也就是D =maxmin。再來,雖然使用蒐集家來分離冷熱資料有實質上的正面效果,但收集動作本身是一個運算成本。若太頻繁或太大量的收集,便會降低此效益;甚至增加運算的成本。因此,我們必須定義收集時期與收集大小,用來找到一個恰當的蒐集點。定義 3:收集時期 如果收集時期是n,則每n次清潔時間收集運算被呼喚一次8。定義4:收集大小
20、在每一次的收集時間從日誌檔中收集的冷資料區塊數目8。參、管理的最佳化與演算法改良首先,我們介紹一個基本的清潔方法10-11;再介紹KimLee演算法。並將其管理方法上冷資料(Cold data)與熱資料(Hot data)的分離政策、清潔片段選擇、與抹除均勻策略上的缺點逐一提出改良,以得到一個最佳化的管理效能。一、貪婪演算法的缺點對於快閃記憶體,清除策略演算法的效率直接影響系統效能3,10。此外,依照eNVy的清潔花費模式,由片段利用率決定片段的清潔費用3。因此,如何挑選一個片段進行清除,將是影響成本的最重要因素。直覺地,期待選擇那些最少有效資料區塊的片段是比較有利於節省清潔費用,此乃貪婪清潔
21、法9-10。貪婪清潔法選擇節段的方式是尋找節段內有最多數量的舊資料作回收,目的在花最少的成本以期待獲得較大的回收空間。在存取行為比較平均的情況下,貪婪清潔法與其他清除策略並不會相差太多1。當存取行為有高度集中的情況下(比較符合實作的系統,根據研究在UNIX檔案系統中,有6778%寫入行為集中在少數的檔案上12-13),貪婪清潔法的抹除與搬移次數會有急速增加趨勢3,7,10。主要原因為貪婪清潔法在挑選節段時,無法有效辨別資料冷熱狀態。因此,會造成剛更新後的節段內迅速增加新的舊區塊,導致再次進入準備被抹除的狀態(忽略了再增加陳舊資料的機會),而使得效率下降。更進一步,因為貪婪法不能有效的分離冷熱資
22、料,使得冷熱資料同時存在每一個片段裡,造成在每次的清潔時冷資料無益的到處搬移,再度造成降低系統效能。高可靠度和低成本效益快閃記憶體管理模式7二、冷熱資料分離為了解決貪婪清潔法的缺點,在KimLee中提出一收集運算,自熱的資料區段中隔離出冷資料。實際上,這被實行於另一個模式,稱為快閃記憶體管理員的蒐集家。清潔者定期啟動蒐集家,收集日誌中的冷資料碎片。KimLee演算法冷熱資料分離缺點在KimLee演算法中,其冷熱資料分離是藉由蒐集家來完成。其工作分兩個階段:(1)搜尋並且收集冷資料(檔案)區塊碎片;(2)群集冷資料至日誌的尾端,收集運算程序,如圖(三)所示。圖(三)收集程序在第一階段中的在每個收
23、集時間,蒐集家決定收集大小並且在很多的碎片中搜尋冷資料。令收集大小單位為10,而且當很多碎片的冷資料在檔案a和b被收集是可能的,如圖(三)所示。在第二階段中,檔案的區塊被寫入至日誌的後面,直到達收集大小的值為止。如果收集的程序期間可用自由空間不是充足,清潔者可被喚醒,以產生新的可用空間8。由以上的運算模式中,我們研究結果,有下列結論。在KimLee演算法的蒐集家運作中,雖然在第一階段中已將冷資料收集出來,但在第二階段中,將冷資料寫入至日誌的後端,且可能未填滿整個區段。使得後來檔案管理系統因為對某一檔案更新,將一個熱資料寫入日誌的尾端,造成冷熱資料再度的混合;因此,影響整體冷熱資料分離程度的效能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可靠 低成本 效益 记忆体 管理模式
链接地址:https://www.31ppt.com/p-1829542.html