999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

大塊NAND閃存的轉換層優化算法設計

2014-07-20 11:54:16秦曉安
宜賓學院學報 2014年12期
關鍵詞:機制

秦曉安

(安徽商貿職業技術學院電子信息工程系,安徽蕪湖241002)

大塊NAND閃存的轉換層優化算法設計

秦曉安

(安徽商貿職業技術學院電子信息工程系,安徽蕪湖241002)

通過運用大塊NAND研究閃存轉換層的基本原理,針對物理閃存中的數據塊和更新塊,利用地址混合映射的方法,對邏輯塊號和頁號進行拆分,區分更新塊的熱門頁及數據塊的冷門頁,使用改進的優化算法根據其空閑程度進行部分、完全或交換合并優化,最后通過實驗對存儲利用率和緩存大小影響進行性能分析,實驗數據表明:運用該算法可以有效提高NAND閃存存儲效率.

NAND閃存;閃存轉換層;地址映射;垃圾回收

NAND閃存是一種比硬盤驅動器更好的存儲方案,這在不超過4GB的低容量應用中表現得猶為明顯.隨著人們持續追求功耗更低、重量更輕和性能更佳的產品,NAND正被證明極具吸引力[1].

通過對NAND Flash的存儲及操作特性的研究,發現通用文件系統不能直接用于管理Flash設備[2].最近,一種新型NAND閃存存儲器已經問世,稱之為大塊NAND,它可以提供高密度及高性能的大塊數據傳輸.在大塊NAND閃存存儲器中,每頁由2 K字節主數據區和64字節空閑區組成,其中1塊由64頁組成.但是大塊NAND有一個使用限制:在一個塊中,頁寫必須按照從頁0到頁63的順序,塊中隨機頁寫是被禁止的.

NAND閃存不同于磁盤或是SRAM和DRAM,與讀操作相比,寫操作需要更長的時間.因為在寫操作之前經常需要先進行擦除操作,所以擦寫操作時間會更長.大塊NAND閃存存儲器的另外一個局限是單位塊的擦寫,極限是大約100 000到1 000 000次,而且必須先擦后寫.因此,本文研究改進的辦法盡可能地減少擦寫操作次數,以提高整體性能和延長大塊NAND閃存的壽命.

1 算法研究

1.1 基本原理

閃存轉換層(FTL)是NAND閃存存儲器的軟件中間層,它的主要作用是用來消除上層對于NAND閃存存儲器先擦后寫的限制[3],其中最主要的兩個部分是地址映射和垃圾回收.地址映射的主要工作是將目標邏輯頁與對應的物理頁進行映射,根據所映射的顆粒度大小,可以分為頁映射和塊映射;垃圾回收是指擦除特定塊進行回收空白頁的過程.

隨著NAND閃存存儲容量的增加,頁映射需要更多RAM,這將會導致很嚴重的成本問題.比如,一個4G字節的NAND閃存,頁映射需要8M字節的RAM用來管理映射表,而塊映射只需要128 K字節.所以,一些基于塊映射的閃存轉換層改進機制被廣泛應用于NAND閃存的存儲系統.

通常根據塊的用途,可以把物理閃存中的塊分為D-blocks(數據塊)和U-blocks(更新塊)[4].當一個寫操作發生、且寫操作無法在所要求的D-block完成時,閃存轉換層會將新數據寫入U-block同時置原D-block為無效.一旦U-block被分配出來,接下去原D-block上的寫操作就會被重定向到相關的U-block上.當U-block寫滿之后,閃存轉換層可以分配一個新的U-block或者通過合并U-block和原D-block生成一個新的D-block.雖然有許多不同的塊映射閃存轉換層實現,區別主要來自如何管理D-blocks和U-blocks,如什么時候分配多少U-blocks給一個D-block,或者合并操作如何完成.

1.2 算法實現

在垃圾回收過程中,首先挑選擁有最大序號的U-block的D-block為目標塊,將所有的有效頁拷貝到最后一個U-block.接著最后的U-block將成為新的D-block.因為頁總是被合并入最后一個U-block,所以只有部分合并和交換合并操作.替換塊機制存儲空間利用率很差,特別是當塊中只有部分頁被頻繁更新時.且這種機制不適用于大塊NAND閃存,由于塊中的頁無法進行隨機寫操作.

由于閃存轉換層只使用少量的U-block,額外的映射開銷會比較小.當所有的U-block都被使用了,部分U-block會與對應的D-block進行合并以釋放出新的空閑U-block.由于D-block是被in-place方式管理的,完全合并會用來將out-of-place轉換為in-place.另外,即使D-block中一頁更新,也需要一個完整的U-block,類似于替換塊機制,U-block的空間使用率還是比較低.

塊級別的空間局部性通常存在于,當兩個或者多個相鄰邏輯塊被文件系統分配給同一文件或者一些元數據,如FAT、目錄、i-node或者bitmap.因此,如果幾個相鄰邏輯塊共享一個U-block,U-block的存儲利用率會提高.

U-block被相關的塊用來利用塊級別的時間局部性和空間局部性.一旦U-block被分配給塊,接下來的塊的寫請求被從第一頁開始按順序記錄到U-block中.這種out-of-place機制同樣適用于塊中必須從第一頁到最后一頁順序寫的大塊NAND閃存存儲器.當U-block中沒有空閑頁的時候,新的U-block被分配給塊.

因為大塊NAND閃存存儲器單頁空閑區域的容量限制,整個頁表會被分成4個獨立的PT.PMD的作用就是定位每個PT的最新位置,最新PMD的位置信息被PGD所管理.PGD儲存在主存儲中,而PMD和PT被儲存在空閑區域中.因為PGD的條數等于邏輯塊數,所以PGD的存儲占用與其他塊級別的閃存管理層機制是相當的.

圖1舉例說明了地址映射的過程.假設想找到邏輯塊17中邏輯頁12的物理地址.邏輯塊號被拆為塊號4及PGD序號1,邏輯頁號又可以拆分為PMD序號0及PTE序號12.如圖所示,從塊4及PGD 1中找到邏輯塊17最新的PMD.PMD被從空閑區域中讀出,從第一個名錄找到PT0的位置,PT0保存有PTE0到PTE15的信息.最終數據的位置可以從PT0中的PTE12讀到.

圖1 地址映射的過程

在拆分結束后,進行合并操作.具體操作方法是首先找到一個物理塊沒有任何有效頁.如果這樣的塊存在,擦除該塊并分配給新塊.如果所選的塊為D-block,則針對U-block交換合并成D-block.如果這一步不成功,其次找到新塊中含有最少最近改寫的U-block,如果D-block含有足夠的空閑頁,則進行部分合并.在其他的情況下,從新塊中挑選兩個含有最少有效頁的D-block,然后執行完全合并.完全合并后,新塊被重新組成:新的塊和U-block成為了D-block,原先的D-block被擦除后被用作空閑U-block.

這種做法的理由是U-block通常含有熱門頁,而D-block含有冷門頁.因此,將冷門頁一起放在D-block中對于未來的垃圾回收是十分理想的.當完全合并后,塊被重新組成:新的塊和U-block成為了D-block,原先的D-block被擦除后被用作空閑U-block.這樣可以將塊中更新頻率接近的頁放入一個D-block中.因為兩個D-block所含的有效頁數可能超過空閑塊中可以存儲的頁數,完全合并將一直進行到所有的有效頁都被處理完.

如前一小點所述,由于維護映射信息的限制,分配給新塊的U-block和D-block數量不能超過8個.因此,當嘗試為超級塊分配第9個物理塊時,同樣的垃圾收集將被執行以用來回收一個物理塊.

當一個邏輯頁被更新,更新后的頁映射信息依然存放在空閑區域中.比如,假如上一段例子中的邏輯頁被更新了,PTE12將指向邏輯頁將要被寫入的位置,第一個PMD條目將指向同樣的物理頁,因為擁有了新的PT0.當頁中被寫入了修改過的PMD和PT0,第二個PGD條目也將被改為指向新的地點.由于更新的PMD和相對應的PT不管何時頁被更新了都被儲存在閃存存儲中,因而可以保證PMD和PT的每個條目始終指向有效頁.

因為每次讀、寫或拷貝一頁的時候,都應該讀出PMD和對應的PT,所以采用緩存的方式來減少閃存讀操作的次數.緩存條目包括PMD和對應的4條被用來記錄單塊邏輯塊頁映射信息的PT.緩存條目的數量是固定的,使用最近最少使用(LRU)替換的機制來管理這些條目[5].這樣的緩存機制類似于日志塊機制和FAST中使用的機制.實驗顯示少量的緩存條目工作得非常好.

2 性能分析

2.1 存儲利用率

存儲利用率是影響閃存轉換層性能的一個很重要的因素,因為較低的存儲利用率會導致更頻繁的垃圾回收[6].為了研究每種閃存轉換層算法的存儲利用率的影響,統計了每個U-block已寫頁的數量(當一個塊被選為垃圾回收的目標塊時).圖2顯示了PC場景下統計的累積分布(CDF).

圖2 PC場景下統計的累積分布(CDF)

圖2顯示了大部分的目標塊,或已滿了或只占用不到4頁.因為大塊NAND閃存物理塊有64頁,圖中的數值顯示的都是已寫頁塊所占的百分比.在日志塊機制下,當它們被選作垃圾回收的目標塊時,大約65%的塊是完全被使用的.如預期一致,由于提高了共享的程度,與日志塊機制相比FAST顯示了更好的存儲利用率.FAST下完全使用塊百分比上升到了75%.

完全使用塊所占百分比在塊機制下大約為85%,明顯比FAST利用率更高.因為FAST中U-block是被所有的邏輯塊共享的,而在塊機制中這些是只在同一塊中的邏輯塊間共享的.測試顯示這是由于FAST算法中的一個缺點造成的.FAST使用順序的日志塊以優化順序寫,不像其他隨機日志塊,這種順序日志塊是被分配給特定的邏輯塊,這與日志塊機制相同[7].如果基于順序操作的預測錯了,順序日志塊會被合并即使沒有寫滿.塊機制不會有這樣的問題,因為一個塊中若干相鄰邏輯塊總是共享一個U-block.因此,可以看到所介紹的塊機制是利用塊級別空間局限性更加有效和更加健全的方法.

圖3根據完全合并、部分合并和交換合并操作類型詳細對比了擦除操作的執行時間.

圖3 不同類型合并操作對比擦除操作的執行時間

通過圖3可以發現,與FAST機制相比塊機制中72%以上的擦除操作是由于交換合并.這是因為一方面,塊機制在多個邏輯塊之間共享D-block和U-block,且同時使用out-of-place機制來管理所有的物理塊,提高了交換合并的幾率.另一方面,由于完全合并造成的擦除操作數量顯著減少.當U-block中的頁不是順序的,日志塊機制和FAST需要完全合并操作以滿足in-place機制維護D-block.然而,塊機制可以轉換U-block為一個新的D-block,很簡單將一個完全合并轉化為交換合并.

2.2 緩存大小的影響

圖4顯示了緩存條目從16到1 024緩存命中率的變化.注意最小緩存大小下對于所有類型請求緩存命中率高于93%.這顯示了測試中很高的塊級別的時間局部性及頁級別的空間局部性.

緩存條目從16到1 024,命中率只最多提高了1.2%.因此16個緩存條目在多數情況下已經足夠.

圖4 緩存條目從16到1024緩存命中率的變化

3 結語

針對大塊NAND閃存存儲器只能先擦后寫的局限,研究基于塊映射的閃存轉換層進行改進,仍然使用原有塊映射技術,但是允許塊中的邏輯頁自由映射到任一分配的物理塊.這種混合映射技術具有細顆粒度地址映射的靈活性,同時將空間消耗降低到粗顆粒度映射級別.通過與原有技術進行性能對比,實驗表明,優化的算法不僅降低了垃圾回收的的次數,而且提高了交換合并的幾率用以取代代價很大的完全合并.

[1]互動百科.NAND閃存[EB/OL].(2010-02-03)[2014-07-22].http: //www.baike.com/wiki/NAND%E9%97%AA%E5%AD%98.

[2]唐衛明.大容量NAND閃存存儲管理研究[D].長沙:國防科學技術大學,2009.

[3]劉芳,劉志龍,肖儂,等.一種基于數據壓縮的高效閃存轉換層設計[J].計算機研究與發展,2011(S1):317-321.

[4]Park C,Cheon W,Kang J,etal.A reconfigurable FTL(flash translation layer)architecture for NAND flash-based applications[J]. ACM Transactions on Embedded Computing Systems(TECS). 2008,7(4),Article38.

[5]郁志平,劉偉,彭虎,等.一種混合映射閃存轉換層的設計與實現[J].計算機工程,2014(2):300-303.

[6]趙培.閃存的存儲管理及索引方法研究[D].武漢:華中科技大學,2011.

[7]Leventhal A.Flash storage memory[J].Communications of the ACM,2008,51(7):41-57.

【編校:王露】

Optim ization Design for the Conversion of Bulk NAND Flash Layer

QIN Xiao'an
(Department of Electronic Information Engineering,Anhui Business College of Vocational Technology,Wuhu,Anhui 241002,China)

Based on thebasic principleofbulk NAND flash translation layer,taking into consideration the block of data in flashmemory and physicalupdate block,using themethod ofmixedmapping address,the logicalblock numberand page numberwere split to distinguish popular page ofdata block from unpopular ones;using optimization algorithm to come up with the optimized solution based on its idle degree so as to decidewhether to improve partly or totally,or exchange data. Performance analysiswas carried out through the experimentof storage utilization and cache size influence,which shows that the algorithm can effectively improve theefficiency ofNAND flashmemory.

NAND flashmemory;flash translation layer;addressmapping;garbage collection

TP301.6

A

1671-5365(2014)12-0099-03

2014-07-24修回:2014-08-14

秦曉安(1982-),男,講師,碩士,研究方向為嵌入式、程序算法

時間:2014-08-22 15:23

http://www.cnki.net/kcms/detail/51.1630.Z.20140822.1523.002.htm l

猜你喜歡
機制
構建“不敢腐、不能腐、不想腐”機制的思考
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
“三項機制”為追趕超越蓄力
當代陜西(2018年9期)2018-08-29 01:21:00
丹鳳“四個強化”從嚴落實“三項機制”
當代陜西(2017年12期)2018-01-19 01:42:33
保留和突破:TPP協定ISDS機制中的平衡
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
氫氣對缺血再灌注損傷保護的可能機制
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 国产手机在线小视频免费观看| 国产成人精品免费视频大全五级| 狠狠色婷婷丁香综合久久韩国| 日本精品中文字幕在线不卡| 国产欧美日韩视频怡春院| 日本人妻一区二区三区不卡影院| 少妇露出福利视频| 日本午夜视频在线观看| 国产成人精品优优av| 91蝌蚪视频在线观看| 最新亚洲av女人的天堂| 美女潮喷出白浆在线观看视频| 日韩无码视频专区| 国产免费高清无需播放器| 亚洲人成网站色7799在线播放| 国产精品太粉嫩高中在线观看 | 欧美性猛交xxxx乱大交极品| 国产精品99在线观看| 亚洲第一色视频| 国产免费网址| 国产一级毛片高清完整视频版| 欧美一级专区免费大片| 国产美女在线免费观看| 欧美天天干| 日本精品一在线观看视频| 欧美午夜精品| 日本免费福利视频| 在线亚洲精品自拍| 激情综合图区| 国产无遮挡裸体免费视频| 国产浮力第一页永久地址| 国产在线无码av完整版在线观看| 青青国产视频| 亚洲Av激情网五月天| 免费可以看的无遮挡av无码| 国产精品私拍99pans大尺度 | 国产精品19p| 黄色a一级视频| 亚洲成人在线免费观看| 国产欧美日韩视频一区二区三区| 久久狠狠色噜噜狠狠狠狠97视色| 国产网站黄| 真实国产乱子伦高清| 免费看av在线网站网址| 免费视频在线2021入口| 国产在线一二三区| 精品無碼一區在線觀看 | 黑人巨大精品欧美一区二区区| 国产中文一区a级毛片视频 | 在线观看国产网址你懂的| 国产精品太粉嫩高中在线观看 | 色天天综合| 亚洲男人在线| 日韩小视频在线播放| 国产成人精品18| a毛片免费在线观看| 999国内精品久久免费视频| 国产精品欧美在线观看| 久久久久88色偷偷| 漂亮人妻被中出中文字幕久久| 九九热在线视频| 日韩大片免费观看视频播放| 日本黄色a视频| 99久久精品免费视频| 亚洲三级a| 69综合网| 亚洲有码在线播放| 日本成人不卡视频| 亚洲欧美另类日本| 色综合国产| 久久精品人人做人人爽| 久久不卡精品| 精品国产成人三级在线观看| 亚洲综合片| 日本欧美视频在线观看| 福利小视频在线播放| 国产福利观看| 欧洲熟妇精品视频| 国产精品99一区不卡| 欧美中文字幕一区二区三区| 欧类av怡春院| 又黄又爽视频好爽视频|