• 沒有找到結果。

表 8:Memory Requirement 

方法  The size of Priority  queue 

Contributed by  RAM space  Lazy wear‐leveling 

with bitmap 

2048  Priority queue,  Bitmap 

2048 * 2 Bytes +  16k bits = 6K Bytes Lazy wear‐leveling 

with GC bitmap 

2048  Priority queue*  2048 * 2 Bytes =  4K Bytes 

Lazy wear‐leveling  with block chain  length 

2048  Priority queue**  2048 * 2 Bytes =  4K Bytes 

Lazy wear‐leveling  with priority  queue only 

2048  Priority queue  2048 * 2 Bytes =  4K Bytes 

*GC Bitmap 不列入 Wear‐leveling 所耗用的 RAM space 

**記錄 Block chain length 不列入 Wear‐leveling 所耗用的 RAM Space   

 

五、Conclusion 

SLC NAND Flash Memory 本身已存在 Endurance 的問題,而隨著科技的進步,

容量更大,成本更低的 NAND Flash Memory: MLC 的出現,然而雖然 MLC 有上述之 優點,但是 MLC 的 Endurance 問題卻又比 SLC 更加嚴重許多。而現在又將 NAND Flash  Memory 進一步的應用,即 SSD 的出現以取代現有的 Hard Drive Disk,而將 NAND  Flash Memory 作為系統之用會因為其 Access Pattern 而造成 Endurance 更加嚴重。

Wear‐leveling algorithm 則是用以解決此 Endurance 的問題,因此如何設計出能夠達 到解決 Endurance 且成本又低則相當重要。本篇 paper 主要提出一個新的與以往不 同的 wear‐leveling algorithm,將重點擺在 Old Block 以及 Cold Data 身上,並且改以 往方式以 PBA 的方式轉為由 LBA 切入以找到 Old Block。如此我們僅需使用一個固 定大小的 Priority Queue 並加上一個 Bitmap 找出 Cold Data 即可達到不錯的

wear‐leveling 效果。在最後我們的實驗結果中與其他不同的 wear‐leveling 做比較與 觀察,可知我們的 wear‐leveling 在效果上(standard deviation)、overhead(Mean)

都比其他的 wear‐leveling 表現的效果較好,所耗用的 RAM Space 亦不多。 

 

24  Large SSDs,"   the 13th Asia and South Pacific Design Automation Conference 

(ASP‐DAC), 2008. (best‐paper nominee, 10 out of 122 accepted papers/350 submissions 

[18] "SmartMediaTM Specification", SSFDC Forum, 1999. 

[19] “Sandisk Flash Memory Cards Wear Leveling", 

http://www.sandisk.com/Assets/File/OEM/WhitePapersAndBrochures/RS‐MMC/WPap erWearLevelv1.0.pdf, 2003. 

[20] M‐Systems, “TrueFFS® Wear‐Leveling Mechanism” 

   

25 

Block 124352 is blockSwitched(shoulded be erased) in LBA 124352    Block 124352 is allocated to LBA 124355 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 124355    Block 124352 is allocated to LBA 124360 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 124360    Block 124352 is allocated to LBA 124363 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 124363    Block 124352 is allocated to LBA 124366 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 124366    Block 124352 is allocated to LBA 124373 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 55646    Block 124352 is allocated to LBA 55649 as logBlock 

26   

Block 124352 is blockSwitched(shoulded be erased) in LBA 18530    Block 124352 is allocated to LBA 76309 as logBlock 

Block 124352 is folded in LBA 76309 block chain,so in SB chain  Block 124352 is allocated to LBA 35911 as logBlock 

Block 124352 is folded in LBA 35911 block chain,so in SB chain  Block 124352 is allocated to LBA 22506 as logBlock 

Block 124352 is folded in LBA 22506 block chain,so in SB chain  Block 124352 is allocated to LBA 76308 as DataBlock in foldChain  Block 124352 is folded in LBA 76308 block chain,so in SB chain  Block 124352 is allocated to LBA 4801 as logBlock 

Block 124352 is folded in LBA 4801 block chain,so in SB chain  Block 124352 is allocated to LBA 144404 as logBlock 

Block 124352 is folded in LBA 144404 block chain,so in SB chain  Block 124352 is allocated to LBA 144441 as DataBlock in foldChain  Block 124352 is folded in LBA 144441 block chain,so in SB chain  Block 124352 is allocated to LBA 79304 as logBlock 

Block 124352 is folded in LBA 79304 block chain,so in SB chain  Block 124352 is allocated to LBA 12883 as logBlock 

Block 124352 is folded in LBA 12883 block chain,so in SB chain  Block 124352 is allocated to LBA 79168 as logBlock 

Block 124352 is folded in LBA 79168 block chain,so in SB chain  Block 124352 is allocated to LBA 76329 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 76329    Block 124352 is allocated to LBA 43008 as logBlock 

Block 124352 is folded in LBA 43008 block chain,so in SB chain  Block 124352 is allocated to LBA 75013 as logBlock 

Block 124352 is blockSwitched(shoulded be erased) in LBA 75013    Block 124352 is allocated to LBA 99957 as DataBlock in foldChain  Block 124352 is blockSwitched(shoulded be erased) in LBA 99957    Block 124352 is allocated to LBA 99960 as logBlock 

Block 124352 is folded in LBA 99960 block chain,so in SB chain  Block 124352 is allocated to LBA 100013 as DataBlock in foldChain  Block 124352 is folded in LBA 100013 block chain,so in SB chain  Block 124352 is allocated to LBA 100044 as DataBlock in foldChain  Block 124352 is blockSwitched(shoulded be erased) in LBA 100044    Block 124352 is used to store data from Block 148222 by WL in LBA 34758 

 

相關文件