想聽matika碎碎唸嗎? 你來對地方了!

星期一, 1月 07, 2008

Wear levelling

What is Wear levelling?

From Wikipedia, the free encyclopedia

Wear levelling (also written wear leveling) is a technique for prolonging the service life of some kinds of erasable computer storage media, such as flash
memory. The term has also been used by Western Digital to describe their
hard disk preservation technique, but hard disks are not generally
wear-levelled devices.

http://en.wikipedia.org/wiki/Wear_levelling

對於SSD(Solid State Disk)而言, 不論採用的flash是SLC或是MLC都有一定的

寫入壽命,

在SSD普及的前提下, 採用MLC已是勢在必行的趨勢.

以SLC而言, 大約為1百萬次的寫入次數; MLC則為10萬次.
而MLC的成本大約為SLC的1/3

所以, 對一個以MLC製成的SSD, 我們已知每個block平均寫入次數達10萬次

時, 就有可能造成bad block, 對於存取頻繁的應用, 會是很大的問題.


因此, Wear Leveling開始受到重視, 因為它能盡量平均每個Block的寫入次數,
舉例來說..

如果有一個8G的SSD, 其中4G已寫入資料(System + User data), 其中寫入最

頻繁的區域應該是:系統暫存檔(OS及Browser cache)以及User data, 如果資

料都不移動,

可估計如下-


每分鐘寫入1次
每天使用SSD10小時, 一週工作5天
100,000(1*60*10*5) = 33周

這數字可能有點誇張, 但可大略估計33周後就有可能出現bad block.
問題是, 既然這是無法避免的, 那總有方法可以拉長這段時間吧?

Wear leveling大致有幾種方式-
1. YAFFS Data Structure
(保留部份Block,若部份Block毀損時可使用保留的Block取代)
請參考:http://esslab.tw/wiki/index.php/YAFFS

2. Dynamic/Static wear leveling
簡單的說就是把常用block跟不常用的block互調位置, 藉以平均
寫入次數.

2. RAM disk
(將系統Temp file及Browser cache指向DRAM虛擬的RAM disk)

3. ECC algorithm
BCH, bit addressing
Bose、Ray-Chaudhuri and Hocquenghem

Reed somloman
http://www.4i2i.com/reed_solomon_codes.htm

星期日, 1月 06, 2008

謝謝你, xx先生!

看來某篇文章又攪亂一池春水, 搞得幾位先生很緊張,
應援團也紛紛出動, 還會跟我談條件, 真是有趣.

這種事不是第一次遇到, 剛開始還會被弄的心情不好,
現在的我, 把它當作是磨練EQ的機會.

所以, 我誠心的說:
謝謝你, xx先生!

也順便留話給應援團的各位, 很多事, 你在幫別人出頭前,
可能要查一下是否屬實比較好, 很多事不是一人說了就
算., 不妨多問幾人查證..

接下來還有什麼招數呢?

該不會把我小時候偷偷欺負隔壁小朋友的事都挖出來?
(以上是亂講的, 請勿當真)


辛苦啦~ 各位~~