SD的耗損均衡算法
由于Flash具有擦除次數有限、先擦后寫的特點,會帶來使用壽命有限的缺陷.為延長其預期使用壽命,普遍采用耗損均衡算法對各存儲單元進行管理。SSD 的資料存儲在NAND閃存中,其中沒有運動部件。對SSD而言,其讀取數據的過程就是一個解析地址的過程,因此,其數據讀取的速度非?臁6鴶祿䦟懭脒^程就復雜一些,分為兩個過程:清除數據,然后寫入。與數據的讀取相比,固態硬盤的寫入速度會慢得多。因為固態硬盤的數據寫入要復雜一些,固態硬盤的控制器會執行一種名為耗損均衡(Wear-leveling)的操作,對里面的數據進行重新安排,有些數據會從一個位置被轉移到另一個位置。為了完成這一操作,SSD的控制器中保留一份名單,記錄這些被移動的數據的位置。采用耗損均衡技術以后, falsh芯片各處的讀寫次數趨于一致,少部分的頻繁讀寫被分布到了整個存儲介質上。FLASH芯片的局部老化現象得到了緩解,壽命得到了很大延長。
Wear Leveling又分為Dynamic Wear Leveling和Static Wear Leveling,(以下簡稱為動態耗損均衡和靜態耗損均衡)動態耗損均衡的工作范圍只限于動態數據(經常移動位置的數據或者刪除變換的)和未使用空間之間。也就是說,如果一個區塊被寫入了數據,這部分就不在動態負載均衡管轄的范圍(即稱之為靜態數據)。而靜態負載均衡不會,他會強制搬移已經存儲的數據到寫入次數更少的區塊中去,這樣可以在更大程度上增加使用壽命和可靠性,
不過,隨著時間的推移,SSD中從未使用的存儲空間越來越少,很多時候必須先擦除閃存中的數據然后再寫入,因此其性能就會明顯下降。而且,盡管耗損均衡的目的是避免數據重復在某個空間寫入,以保證各個存儲區域內耗損程度基本一致,從而達到延長固態硬盤的目的。
遠通聯達分享 鄧生
2015-04-23 20:45:16