SSD數據恢復前沿:Flash磨損均衡技術解析
近年來,固態存儲技術得到了長足的發展,隨著大容量Flash芯片的成本不斷降低,越來越多的電腦用上了固態硬盤。目前,固態盤在計算機中主要用來安裝操作系統,以提高電腦的開關機速度和運行速度。從大的趨勢看,固態盤和機械硬盤會長期并存,并會逐步蠶食機械硬盤的市場。因此,達思科技作為數據恢復行業的領先品牌,經常要與硬盤打交道的數據恢復公司,必須要高度關注固態硬盤的技術發展,跟蹤技術前沿。
固態盤、U盤、存儲卡等都使用Flash存儲芯片,而Flash本身由若干個塊-Block組成,每個塊又分為若干個物理頁-Page。塊是擦除操作的最小單位 ,而讀和寫都是以頁為單位。下圖為Flash的存儲結構。
圖1 Flash存儲結構示意圖
Flash采取異地更新的策略 ,更新的數據會被放到別的物理頁上,而不是覆蓋原來的數據。包含新版本數據的頁被稱為有效頁,新版本數據被稱為有效數據。包含舊版本數據的頁被稱為無效頁,或稱為臟頁,臟頁經過擦除操作后成為空閑頁,才可以重新寫入數據。因為Flash是以塊為單位執行擦除的,因此需要將臟頁所在塊上的所有物理頁都擦除,在擦除之前需要檢查此塊上是否存在有效頁,如果存在就必須先轉移到其他塊上。因為每個Flash塊的擦除次數有限,一般是在 10 萬次到100 萬次之間,只要有塊的擦除次數達到了上限,Flash數據存儲的性能將下降。所以必須想辦法,使擦除操作平均作用在每個Flash塊上,這種方法就是磨損均衡(wear-leveling)算法。
我們在應用Flash時,實際上訪問的是Flash的邏輯地址,在邏輯地址和物理地址之間,存在著映射關系,如下圖所示。
圖2 Flash存儲映射表
數據更新后只需改變映射表中物理頁的地址,并將原版本數據所在的物理頁標為無效。對于經常被更新的數據塊,我們稱之為“熱”數據塊,對長期得不到更新的數據塊,稱之為“冷”數據塊。數據塊經常更新的話,就會經常被擦除,而長期不更行的數據塊,不會出現臟頁而被擦除,其擦除次數會明顯少于存放著經常被更新數據的塊。如何實現“冷熱”數據存放位置的交換是磨損均衡處理中需要考慮的問題。
目前常用的磨損均衡算法大致分為兩類,一類是隨機性算法,一類是確定性算法。對于隨機性算法,其原理為:在每次寫或擦除操作后,按照某一概率來觸發磨損均衡處理。按照均勻分布的概率,隨機選擇某個塊執行擦除操作。不論塊上放的是“冷”數據還是“熱”數據,讓每個塊得到相等的擦除機會。最后將選中塊上的有效數據復制到空塊后擦除此塊。將數據移動到哪個空閑塊上,也是隨機選擇,因為沒有記錄塊的擦除情況,存在將“冷”數據又移動到一個“冷”塊上的情況, 結果此塊并沒有增加擦除次數 , 這種情況尤其會發生在有大量“冷”數據的系統里。
對于確定性算法,又分為周期性和全局性兩種,其中周期性算法的原理為:將Flash的壽命看做是一個接一個的磨損均衡周期組成的。在一個處理周期中,達到規定的擦除次數的塊在這一輪周期中將不會被選中,這樣可使各個塊都達到相同的擦除次數,再開始下一個擦除周期。通過調整Flash塊的規定擦除次數,可以使整個Flash能夠達到理想的磨損均衡。全局性算法的原理為:不劃分處理周期,在一個全局范圍內控制塊的磨損均衡。當任何兩個塊的擦除次數之差超過一個給定的閾值時,或者當某塊的擦除次數超過了所有塊的平均擦除次數時,啟動磨損均衡處理,將擦除次數少的塊上的數據和擦除次數多的塊上的數據進行交換。如果塊上存放的是“冷”數據,即數據很少被更新,則該塊上的數據不易變臟,很少得到擦除的機會。相反,如果該塊上存放的是“熱”數據,則該塊上的數據經常被更新,經常得到擦除臟數據的機會。根據這個原理來交換“冷熱”數據,從而實現磨損均衡。
對比兩類磨損均衡算法,可以看出:隨機性算法的效果受隨機因素影響較大,在擦除前,并不知道各個塊被擦除的情況,同時對邏輯頁的隨機性請求并不能做到完全等概率,所以雖然隨機性算法是等概率地選擇處理頁,但每個塊的擦除次數并不能達到等概率分布,不能達到很好的磨損均衡效果。確定性算法因記錄了物理塊的擦除次數,故在處理中可根據這些信息來作出調整決策,各塊基本達到了相近的擦除次數,磨損均衡的效果明顯好于隨機性算法。但這是在消耗大量內存開銷的基礎上實現的。
根據以上討論的情況,可以看出,必須結合兩類算法的優勢,來實現效果較好的磨損均衡處理,才能既保證Flash的讀寫速度,又能保證Flash的使用壽命,這將是決定固態存儲能否全面戰勝機械硬盤的關鍵之戰。
關于達思科技
達思科技,國家級高新技術企業,天津市國家保密局涉密載體數據恢復唯一協作單位,數據恢復行業著名品牌,在國內乃至全亞洲數據恢復技術領先!
達思科技中國數據恢復與取證真專家!熱線:4007000017
更多數據恢復與取證前沿技術請關注微信公眾賬號:woocs
微信號:woocs
長按識別二維碼關注
專注數據恢復與取證技術、互聯網
投稿:woocs@qq.com