《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種基于邏輯頁平均更新頻率的NAND閃存垃圾回收算法
一種基于邏輯頁平均更新頻率的NAND閃存垃圾回收算法
2019年電子技術應用第6期
黃敏媛,嚴 華
四川大學 電子信息學院,四川 成都610065
摘要: 針對NAND閃存的特點,提出一種基于邏輯頁平均更新頻率的NAND閃存垃圾回收算法。該算法采用無效頁年齡和作為回收塊選擇策略。同時,在FaGC和GCbAH算法基礎之上,重新定義數據熱度計算公式,采用邏輯頁平均更新頻率取代固定閾值作為冷熱數據的判定依據,實現了更準確的冷熱數據判定和分離。實驗結果表明,相較于GR、CB、CAT、FaGC和GCbAH算法,該算法在垃圾回收代價和磨損均衡方面均取得了更好的效果。
中圖分類號: TP316.2
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182850
中文引用格式: 黃敏媛,嚴華. 一種基于邏輯頁平均更新頻率的NAND閃存垃圾回收算法[J].電子技術應用,2019,45(6):65-69.
英文引用格式: Huang Minyuan,Yan Hua. An average update frequency based NAND flash garbage collection algorithm[J]. Application of Electronic Technique,2019,45(6):65-69.
An average update frequency based NAND flash garbage collection algorithm
Huang Minyuan,Yan Hua
College of Electronics and Information Engineering,Sichuan University,Chengdu 610065,China
Abstract: Aiming at the unique properties of NAND flash, an average update frequency based NAND flash garbage collection algorithm is proposed. Firstly, the victim block selection strategy based on invalid page age sum is adopted. Then, based on FaGC and GCbAH algorithm, the proposed algorithm re-defines the heat degree calculation method, and applies average update frequency of logical page to replace fixed threshold as the criterion of cold or hot data. Thus, more accurate determination and separation of cold and hot data are realized. The experimental simulation results show that compared with GR, CB, CAT, FaGC and GCbAH algorithms, the proposed algorithm has achieved a better performance in terms of garbage collection overhead and wear leveling.
Key words : NAND flash memory;wear leveling;garbage collection;hot and cold separation;victim block

0 引言

    NAND閃存具有體積小、抗震性能好、功耗低、無運行噪聲、存取速度快、便攜性好等特點,同時還具有遠超傳統機械硬盤的讀寫速度。因此,NAND閃存在各種電子產品中被廣泛應用,如手機、U盤、固態硬盤[1-5]

    NAND閃存具有如下特點:

    (1)NAND閃存的讀寫操作以頁(page)為單位,擦除操作以塊(block)為單位。NAND閃存的寫操作耗時遠大于讀操作,擦除操作耗時遠大于寫操作。

    (2)NAND閃存具有“寫前擦除”的特點,即在進行重復寫操作之前,必須先對寫入的存儲區進行擦除操作。

    (3)NAND閃存具有“異地更新”的特點。NAND閃存在對一個頁進行數據更新時,需要先將要更新的數據寫入新的空閑頁,然后將原數據頁標為無效頁。

    (4)NAND閃存具有有限的塊擦除次數。當某個塊的擦除次數超過一定值時,該塊將無法進行數據存儲,成為“壞塊”。

    NAND閃存中,會根據情況啟動回收塊選擇策略,對滿足回收塊選擇策略要求的塊進行擦除操作,用以回收無效頁所占的存儲空間,得到足夠的空閑空間來進行數據更新操作。

    在設計垃圾回收算法時應將減少垃圾回收代價、提高垃圾回收效率作為主要考慮點。同時,還要盡可能使每個物理塊均衡地參與到擦除操作中,從而提升閃存磨損均衡程度、延長使用壽命。

    MICHAEL W等提出了GR(Greedy)算法[6]。GR算法選擇有效頁最少的塊進行回收。該算法的拷貝代價小,可回收較多的無效頁空間。其特點是算法實現簡單,回收效率較高。然而,當且僅當文件更新頻率均勻時,磨損均衡效果較好。若數據更新頻率相差較大,塊之間的擦除次數差別較大,磨損均衡效果較差。

    KAWAGUCHI A等提出了CB(Cost-Benefit)算法[7]。該算法采用age×(1-u)/2u公式進行回收塊選擇,其值最大的塊將被選擇成為回收塊。其中u表示有效頁在單個塊中的比例,即物理塊更新的時間差,age表示塊的年齡。該算法考慮了塊的年齡,因此獲得比GR算法更好的效果。

    CHIANG M L等提出了CAT(Cost-Age-Times)算法[8]。該算法采用age×(1-u)/(2u×n)公式進行回收塊選擇。其中u表示單個塊中的有效頁比例,age表示塊的年齡,n表示塊擦除次數。該算法在CB基礎上考慮了塊擦除次數,比CB具有更好的磨損均衡效果。

    Yan Hua等提出了FaGC(File-aware Garbage Collection)算法[9]。該算法沿用GR算法的回收塊選擇策略,且根據邏輯頁更新頻率進行冷熱數據的劃分。數據冷熱分離時,冷數據分配到擦除次數最多的塊,而熱數據則分配到擦除次數最少的塊。

    石樂健等提出了一種基于物理塊年齡和邏輯頁熱度的磨損均衡算法GCbAH(GC based Age and Hot)[10]。該算法選擇無效頁年齡和最大的塊作為回收塊。同時,采用了與FaGC不同的熱度計算公式來進行冷熱數據的劃分。在回收時,使用熱數據回收策略回收熱塊,使用冷數據回收策略回收冷塊。

    綜上所述,相較于GR、CB、CAT等經典算法,FaGC和GCbAH考慮了邏輯頁的冷熱分離,進一步減少了垃圾回收代價,取得了更好的磨損均衡效果。但是,FaGC和GCbAH均采用固定的預設閾值來作為判定冷熱數據的標準,并不能準確反映邏輯頁的冷熱程度。針對這個問題,本文提出了一種基于邏輯頁平均更新頻率的閃存垃圾回收算法AUFbGC(Average Update Frequency based Garbage Collection Algorithm)。該算法采用了一種新的熱度計算公式,并采用邏輯頁平均更新頻率取代固定閾值作為冷熱數據的判定依據,取得了更好的效果。

1 算法描述

1.1 算法原理

    NAND閃存進行垃圾回收時有如下操作:

    (1)根據回收塊選擇策略,進行回收塊選擇;

    (2)拷貝回收塊中的有效數據至空閑塊;

    (3)將被拷貝的有效數據所對應的原數據頁標記為無效頁;

    (4)對選中的回收塊進行擦除操作;

    (5)回收塊被擦除后成為空閑塊。

    如圖1所示,AUFbGC算法選擇無效頁年齡和最大的塊作為回收塊,根據熱度計算公式和新的冷熱判定依據,對回收塊的有效數據進行冷熱分離,并將有效數據存入擦除次數最少的空閑塊中。

wdz5-t1.gif

    和垃圾回收過程類似,AUFbGC算法在進行數據異地更新時也采用了冷熱分離策略以獲得更好的磨損均衡效果。

    AUFbGC算法主要包括三種策略:回收塊選擇策略、冷熱數據分離策略和空閑塊分配策略。

1.2 回收塊選擇策略

    AUFbGC算法在挑選回收塊時有兩種策略:采用無效頁年齡和選擇策略[10-11]和自適應最冷塊選擇策略[9]。

    wdz5-gs1.gif

其中,n為物理塊中的無效頁數目,agei為物理塊中第i頁變為無效頁的時長。CwA即物理塊中無效頁的年齡和。CwA值最大的塊將被選擇成為回收塊。采用年齡和進行選擇可以兼顧無效頁比例高的塊和有少量無效頁但長期未被回收的塊,可獲得更好的磨損均衡效果。

    同時,算法采用一種自適應策略對最冷塊進行回收。自適應最冷塊回收策略啟動條件如下:

    wdz5-gs2.gif

其中,Twl是先前被設置好用于控制磨損均衡程度的閾值,emax是所有塊的最大擦除次數,emin是所有塊的最小擦除次數。當emax和emin之間的差值增大,Terase值越小,冷塊選擇策略越容易被調用。若Terase值小于零,則將Terase置零。當一個塊的擦除次數超過Terase值時,最冷塊回收策略被調用。該策略將選擇有最小擦除次數的塊作為回收塊,以增加選中有較低更新頻率的邏輯頁的塊的幾率。如果有多個塊具有最小擦除次數,則選擇其中含有最少有效頁的塊作為回收塊。在每次冷塊回收策略被調用時,Terase值會被計算和更新。

1.3 數據熱度定義

    在熱度判定上,FaGC以更新頻率作為判定數據熱度的標準,大于預先設置的特定閾值則為熱數據,反之則為冷數據。

    GCbAH通過上一次判定的熱度與熱度調節因子相乘作為本次熱度的計算標準。當邏輯頁兩次更新操作的時間差值大于特定值時,邏輯頁熱度被強制歸零,因此不能細分部分數據的冷熱程度。此外,GCbAH也采用預先設置的特定閾值作為判斷冷熱數據的標準。

    AUFbGC算法采用更新頻率作為衡量冷熱數據的指標[12],每個邏輯頁的更新頻率可通過如下公式進行計算。

    wdz5-gs3.gif

其中,CurrentT是當前時間,IWTi是該邏輯頁i的初始寫入時間。UPDCi是邏輯頁i的更新次數。因此,FREQi代表邏輯頁i寫操作的更新間隔。

    衡量冷熱數據的標準如下:

    wdz5-gs4.gif

其中,n是物理塊的總數,CurrentT是當前時間,AllocT是編號為i的塊被分配使用時的時間,ui是該塊中有效頁的百分比。因此AverFi代表有效頁的平均更新頻率。而每當回收塊選擇策略選中回收塊后,平均更新頻率AverFi會被立刻計算。

    當邏輯頁的更新頻率FREQi小于平均更新頻率AverFi,則該邏輯頁包含的數據是為熱數據;當邏輯頁更新頻率時間FREQi大于平均更新頻率時間AverFi,則為冷數據。

1.4 算法步驟

    使用無效頁年齡和與自適應最冷塊回收策略選擇到回收塊之后,根據回收塊中有效頁對應的熱度對數據進行冷熱分離,具體步驟如下:

    (1)根據邏輯頁i的當前更新時間CurrentT和初始寫入時間IWTi及更新次數UPDCi,根據式(3)得到該邏輯頁的更新頻率FREQi

    (2)若邏輯頁的更新頻率FREQi小于平均更新頻率AverFi,則該邏輯頁包含的數據為熱數據;反之則為冷數據;

    (3)將數據根據熱度進行冷熱分離,具有相似熱度的有效頁將會被存入同一個物理塊;

    (4)修改更新次數UPDCi,用于下一次熱度的計算和更新操作。

2 實驗及分析

2.1 實驗環境

    實驗中使用VMware和Ubuntu 12.04平臺,使用QEMU搭建嵌入式Linux仿真環境,使用NANDSim來模擬NAND閃存,基于NAND閃存專用文件系統YAFFS2進行測試。

    測試程序隨機生成16 KB到1 024 KB大小的測試文件,所有測試文件總量占NAND閃存容量的90%。創建文件后,按照齊夫分布[13]對其中15%的文件進行更新操作。

    實驗中,NAND閃存容量被設置為64 MB,包含512個物理塊,由512×64個頁組成,其中每個頁為2 048 B。為了公平對比不同算法,實驗時YAFFS2文件系統的緩存功能被關閉,且都采用aggressive模式以完成垃圾回收。自適應最冷塊回收策略采用的閾值和FaGC、GCbAH算法完全一樣。

2.2 算法性能分析

    本文將AUFbGC算法與GR、CB、CAT、FaGC及GCbAH算法在垃圾回收代價和磨損均衡效果兩個方面進行了比對。其中,垃圾回收代價主要考慮塊總擦除次數、頁總拷貝次數這兩個指標,磨損均衡效果主要考慮塊最大最小擦除次數差值、塊擦除次數標準差這兩個指標。同時,通過擦除次數分布圖也可直觀地觀察不同算法的磨損均衡效果。

    從圖2和圖3中可以看出FaGC、GCbAH和AUFbGC算法獲得了相對更小的塊總擦除次數和頁總拷貝次數。這是由于GR、CB、CAT算法中未考慮冷熱數據分離,而FaGC、GCbAH和AUFbGC考慮了較為準確的基于邏輯頁的冷熱分離。在這三種算法當中,FaGC和GCbAH在數據熱度進行定義時,均通過與事先設定的閾值進行比較,以劃分冷熱數據。AUFbGC算法有更準確的熱度計算公式和判據,可將熱度相近的邏輯頁更加準確地放在同一個空閑塊中。由于熱度相近,這些邏輯頁有更大可能同時被更新而變為無效,從而使該數據塊有盡可能少的有效頁,最終減少有效頁拷貝次數和塊擦除次數。

wdz5-t2.gif

wdz5-t3.gif

    在磨損均衡方面,從圖4對比中不難看出,GR算法的物理塊擦除次數最為分散,CB、CAT算法次之。FaGC、GCbAH和AUFbGC算法相對集中地分布在一個較小區域。其中,AUFbGC算法得到了較為良好的磨損均衡效果,擦除次數分布集中,且分布在較低值。

wdz5-t4.gif

    不同算法的塊最大最小擦除次數差值如圖5所示,不同算法的擦除次數標準差如圖6所示。從圖5和圖6中可以得出,FaGC、GCbAH和AUFbGC算法在磨損均衡方面相對GR、CB、CAT有更優異的表現。一方面,FaGC、GCbAH和AUFbGC算法獲得了遠小于GR、CB、CAT算法的塊最大最小擦除次數差值;另一方面,這三種算法的擦除次數標準差呈收斂趨勢。這是因為GR算法僅考慮回收有效頁最少的物理塊,未考慮磨損均衡。盡管CB算法考慮了物理塊的年齡和有效頁的比例,CAT算法在CB算法的基礎上增添了塊擦除次數的考量,但CB、CAT算法既沒有考慮冷熱數據分離,對最冷塊的回收也不及時。FaGC、GCbAH和AUFbGC算法均采用了冷熱數據分離和自適應最冷塊回收策略,因此取得了更好的磨損均衡效果。同時,在這三種算法中,FaGC在回收塊選擇策略上沿用了GR算法,而GCbAH和AUFbGC算法的無效頁年齡和回收塊選擇策略可兼顧對無效頁比例高及無效頁比例不高但是很長時間未被回收的物理塊的回收,讓回收塊的選擇更加均衡。相較于GCbAH算法,AUFbGC算法在定義數據熱度時采用動態變化的平均更新頻率取代固定閾值作為比較標準,對冷熱數據的劃分更準確,分類效果更好,且AUFbGC算法不斷地將有效數據分配至擦除次數最少的塊,以減少不同塊擦除次數的差異。因此,AUFbGC算法的磨損均衡效果最好。

wdz5-t5.gif

wdz5-t6.gif

3 結論

    針對NAND閃存的特點,提出一種基于邏輯頁平均更新頻率的NAND閃存垃圾回收算法AUFbGC。該算法在FaGC和GCbAH算法基礎之上,重新定義了數據熱度計算公式和冷熱判斷依據。實驗結果表明,相較于GR、CB、CAT、FaGC和GCbAH算法,AUFbGC算法在NAND閃存垃圾回收代價和磨損均衡方面均取得了更好的效果。

參考文獻

[1] KIM J,KIM J M,NOH S H,et al.A space-efficient flash translation layer for CompactFlash systems[J].IEEE Transactions on Consumer Electronics,2002,48(2):366-375.

[2] 白石,廖學良,胡事民.HFB:一種閃存上的塊頁混合緩存管理方法[J].清華大學學報(自然科學版),2012(5):688-693.

[3] CHEN R,LIN M.Energy-aware buffer management scheme for NAND and flash-based consumer electronics[J].IEEE Transactions on Consumer Electronics,2015,61(4):484-490.

[4] JIN X,JUNG S,SONG Y H.Write-aware buffer management policy for performance and durability enhancement in NAND flash memory[J].IEEE Transactions on Consumer Electronics,2010,56(4):2393-2399.

[5] LEE S,JUNG S,SONG Y H.An efficient use of PRAM for an enhancement in the performance and durability of NAND storage systems[J].IEEE Transactions on Consumer Electronics,2012,58(3):825-833.

[6] WU M.The architecture of eNVy,a non-volatile, main memory storage system[C].The Workshop on Workstation Operating Systems.IEEE,1994:116-118.

[7] KAWAGUCHI A,NISHIOKA S,MOTODA H.A flash-memory based file system[C].USENIX 1995 Technical Conference Proceedings.USENIX Association,1994:13-13.

[8] CHIANG M L,CHANG R C.Cleaning policies in mobile computers using flash memory[J].Journal of Systems & Software,1999,48(3):213-231.

[9] Yan Hua,Yao Qian.An efficient file-aware garbage collection algorithm for NAND Flash-based consumer[J].IEEE Transactions on Consumer Electronics,2014,60(4):623-627.

[10] 石樂健,嚴華.考慮物理塊年齡和邏輯頁熱度的NAND閃存磨損均衡算法[J].小型微型計算機系統,2015,36(11):2618-2621.

[11] KWON O,KOH K,LEE J,et al.FeGC:an efficient garbage collection scheme for flash memory based storage systems[J].Journal of Systems & Software,2011,84(9):1507-1523.

[12] HWANG S H,CHOI J H,KWAK J W.Migration cost sensitive garbage collection technique for non-volatile memory systems[J].IEICE Transactions on Information & Systems,2016,99(12):3177-3180.

[13] LIN M,CHEN S.Efficient and intelligent garbage collection policy for NAND flash-based consumer electronics[J].IEEE Transactions on Consumer Electronics,2013,59(3):538-543.



作者信息:

黃敏媛,嚴  華

(四川大學 電子信息學院,四川 成都610065)

此內容為AET網站原創,未經授權禁止轉載。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          欧美在线免费| 性欧美在线看片a免费观看| 国产一区日韩二区欧美三区| 欧美福利视频网站| 久久久蜜桃一区二区人| 欧美在线啊v| 欧美一区二区视频在线| 亚洲综合大片69999| 亚洲一区二区三区免费视频| 亚洲午夜免费福利视频| 亚洲欧美精品伊人久久| 亚洲一区二区视频在线| 亚洲天堂网在线观看| 在线亚洲免费视频| 中文高清一区| 亚洲一级二级| 亚洲欧美视频在线观看| 午夜一区二区三视频在线观看 | 亚洲资源av| 亚洲永久精品大片| 亚洲自拍16p| 欧美一区二区视频97| 久久国产精品网站| 久久综合色婷婷| 欧美成人免费大片| 欧美另类专区| 国产精品第十页| 国产毛片精品视频| 国产在线日韩| 亚洲国产精品一区二区久| 91久久精品国产91性色| 一本在线高清不卡dvd| 亚洲综合色噜噜狠狠| 久久九九热免费视频| 欧美www视频| 欧美精品一区二区三区一线天视频 | 欧美中文日韩| 久久亚洲一区| 欧美日本一道本在线视频| 国产精品久久久久久久久免费| 国产日韩欧美在线播放不卡| 久久嫩草精品久久久久| 老巨人导航500精品| 欧美精品系列| 国产精品一区=区| 好看的日韩视频| 亚洲黄色有码视频| 亚洲午夜三级在线| 欧美伊久线香蕉线新在线| 久久一区二区三区国产精品| 欧美激情一级片一区二区| 欧美体内she精视频在线观看| 国产欧美日韩伦理| 亚洲国产精品久久| 亚洲伊人久久综合| 久久在线播放| 欧美日韩三区| 国产一区在线看| 亚洲精品小视频| 亚洲一区日韩在线| 亚洲精品激情| 亚洲欧美日韩一区在线观看| 午夜在线一区| 欧美国产精品一区| 国产精品自拍一区| 亚洲精品麻豆| 欧美中文在线观看| 欧美日本韩国一区| 韩国在线一区| 亚洲一区二区三区中文字幕在线| 老妇喷水一区二区三区| 国产精品久久国产三级国电话系列 | 国产精品99久久久久久久vr | 国产精品免费观看在线| 亚洲东热激情| 香蕉国产精品偷在线观看不卡| 欧美成人国产一区二区| 国产欧美在线视频| 日韩午夜精品视频| 久久久亚洲国产天美传媒修理工| 欧美色偷偷大香| 亚洲国产成人av| 午夜精品短视频| 久久九九99| 欧美午夜a级限制福利片| 在线日韩中文| 久久精品91久久香蕉加勒比| 国产精品大全| 亚洲美女黄网| 毛片精品免费在线观看| 国产欧美在线视频| 亚洲私拍自拍| 欧美精品二区三区四区免费看视频| 国内精品一区二区| 一区二区三区精品视频| 免费日韩av片| 国产午夜精品一区理论片飘花 | 欧美久久一级| 1204国产成人精品视频| 欧美在线影院在线视频| 国产精品亚洲综合天堂夜夜| 亚洲视频一区二区| 久久九九免费| 国产视频自拍一区| 欧美亚洲自偷自偷| 国产精品系列在线播放| 亚洲天堂成人在线观看| 欧美性猛交视频| 一本一本久久| 欧美日韩中文字幕精品| 一区二区三区视频在线看| 欧美色中文字幕| 一本色道婷婷久久欧美| 欧美精品在线一区二区三区| 亚洲日本视频| 亚洲一区二区三区国产| 久久亚洲不卡| 亚洲高清不卡在线观看| 久久精品卡一| 精品999久久久| 久久亚洲精品一区二区| 在线看片一区| 欧美国产视频在线观看| 亚洲裸体俱乐部裸体舞表演av| 欧美激情视频一区二区三区在线播放 | 久久九九热免费视频| 黄色一区二区在线| 久久美女性网| 亚洲电影免费观看高清| 欧美暴力喷水在线| 最近中文字幕mv在线一区二区三区四区 | 亚洲欧美久久久| 国产欧美二区| 久久精彩视频| 亚洲国产另类久久久精品极度| 欧美激情无毛| 悠悠资源网亚洲青| 久久婷婷国产综合尤物精品 | 国产精品成人一区二区三区夜夜夜 | 一色屋精品视频免费看| 久久综合久久美利坚合众国| 亚洲国产成人久久综合一区| 欧美国产精品日韩| 一区二区日韩精品| 国产精品一香蕉国产线看观看 | 亚洲神马久久| 国产欧美日韩一区二区三区| 久久久久国产一区二区| 亚洲第一成人在线| 欧美精品久久久久久久| 亚洲一品av免费观看| 国产精品久久综合| 久久免费精品视频| 99精品99久久久久久宅男| 国产精品毛片高清在线完整版| 午夜在线精品偷拍| 亚洲国产成人午夜在线一区| 欧美色综合网| 欧美一区二区三区免费在线看| 国内视频一区| 欧美欧美午夜aⅴ在线观看| 亚洲综合视频一区| 尤物网精品视频| 国产精品h在线观看| 久久久久国产免费免费| 日韩一级在线| 国产在线视频欧美一区二区三区| 农村妇女精品| 亚洲一区在线视频| 亚洲大胆视频| 国产精品一区免费观看| 欧美成人午夜影院| 先锋资源久久| 艳妇臀荡乳欲伦亚洲一区| 国产一区二区看久久| 欧美日韩精品系列| 久久精品国产亚洲精品| 一道本一区二区| 在线精品观看| 国产乱码精品一区二区三区不卡 | 欧美视频在线观看| 久久激情五月丁香伊人| 亚洲精品美女免费| 国产欧美日韩亚洲精品| 欧美日韩高清区| 久久综合免费视频影院| 亚洲欧美综合v| 日韩一级黄色大片| 激情一区二区三区| 国产精品美女视频网站| 欧美激情综合亚洲一二区| 久久久久久久久久久久久9999| 亚洲一区久久| 亚洲精品国产欧美| 黄色在线一区| 国产嫩草影院久久久久| 欧美视频导航| 欧美久久久久久| 美女国内精品自产拍在线播放| 欧美制服丝袜|