瀏覽單個文章
oScARSh
*停權中*
 
oScARSh的大頭照
 

加入日期: Mar 2006
文章: 4,081
引用:
作者vn514026
應該說 SSD controller 會將資料平均分散寫入於每顆cell;假設cell A使用1000次,cell B使用800次,controller會將cell A的資料透過TRIM, weal-leveling搬到cell B....保持NAND Flash的壽命跟速度均衡
當然這是理論上,實際上各家controller&firmware實做方法都不同;像Sandforce, Marvell系列都是偏向少執行TRIM, Wear-leveling,因為越常執行TRIM, Wear-leveling,NAND cell就必須更常erase,NAND Flash壽命反而會減少
SSD controller為什麼是最重要又昂貴的IC,就是因為它要兼顧效能、壽命,algorithm非常難寫...

我想問的是controller會"自動"把"已存在"的檔案搬移到使用較少的空間嗎?

單純寫入新的資料會wear leveling這個我清楚
但是假設我的SSD有75%已被使用, 而且這75%幾乎不會再寫入, 只有讀取的用途
所以我才會想問這個75%要如何才會被wear leveling再利用呢? 除了清掉這75%之外

我這裡有2個假設
A. SSD會自動搬移極少被寫入/更變的區塊, 例如我windows7安裝好了OS的檔案根本不會再被移動/寫入,
→但是如果是這樣, 它要如何/何時去進行這個搬移動作

B. 當我寫入任何檔案時, SSD會自動把我某一塊已被寫入的區域搬到未寫入的區域
再把我要寫入的檔案放在被搬走的區域, 以活用一些極少被變動的區塊
→但是如果是這樣, 寫入的速度應該會變成很慘, 因為它要進行讀取 寫入 , 再寫入3個工作
舊 2012-03-24, 09:13 PM #68
回應時引用此文章
oScARSh離線中