專家詳解閃存盤數據丟失原因
在人們的日常工作中,閃存盤的使用已經越來越普遍。相信不少人都曾經遇到過數據丟失的問題。閃存盤使用說明上通常只說是誤插拔所致,但據業內專家表示,造成閃存盤數據丟失的原因并非僅此一種,還存在另外幾種可能。
本文引用地址:http://www.104case.com/article/84358.htm據悉,由于閃存本身的特性,在進行數據讀寫時發生的錯誤不可能完全避免,為了盡可能降低錯誤的發生,就必須采用ECC數字糾錯技術。該技術是一種一般應用于電腦數據完整性檢測的技術,它可以在進行數據檢測的同時,第一時間修正數據錯誤,從而使文件拷貝中出現的亂碼、壓縮包損壞等各種意外情況大大減少。
目前市場上,一些閃存盤不采用任何的糾錯技術,而大多數閃存盤則采用“1Bit ECC”,像朗科公司最新推出的“優芯4號”,其糾錯能力達到8Bit數據錯誤。
“1Bit ECC”糾錯和“8Bit ECC”糾錯會有多大差別呢?舉例來說,在存入數據的時候,閃存盤控制芯片會自動對數據的完整性進行檢測,檢測到數據不完整或出現錯誤的時候就會立即糾正錯誤,然后再進行傳輸。“1Bit ECC糾錯”就是每512Byte數據最大可糾正1Bit的錯誤數據,如果錯誤數據超過1Bit會怎么樣?數據就會在沒有完全糾正錯誤或不完整的狀態中被傳輸,因而也就出現亂碼、壓縮包損壞等各種情況。相比之下,8Bit ECC的糾錯能力就提高了8倍,能應付大部分數據傳輸中的錯誤,數據存取的安全性大為提高。
造成閃存盤丟失數據的另外一個重要原因是閃存芯片本身的使用壽命限制。閃存芯片的擦除次數是有限的,如果反復對某一數據塊進行擦寫,該數據塊很容易變成壞塊。例如張先生就遇到過這樣情況。他的閃存盤雖然有1G容量,但通常他只用到其中的20M到30M,這樣反復使用了兩個月之后,有一次他想存入一個0.99G的DVD視頻文件,發現閃存盤容量不夠用,原來1G的閃存盤容量莫名其妙的只剩下900多兆了。后經檢查發現,其中有大約30M的空間因為經常性反復使用,已經成為壞塊,無法再寫入文件。
據了解,目前SLC Flash的擦除壽命一般為100,000次,MLC Flash的擦除壽命一般為3,000~10,000次。如果不采用合理的讀寫方式,少部分數據塊將會因頻繁擦寫而急劇老化,出現了壞塊的閃存盤將無法保證讀寫數據的正確性。
為解決這一問題,閃存盤專家想到了從芯片上下功夫。例如朗科公司剛推出的“優芯4號”就采用了獨特的動靜態負載平衡技術和動態壞塊替換管理技術。
所謂動靜態負載平衡技術,就是用戶往閃存盤存入數據的時候,閃存盤可以平均閃存內部各數據塊的擦寫次數,如果發現A數據塊已經寫入了100次,而B數據塊只使用了10次,那么再有數據存入的使用,“優芯4號”就會優先安排存放在B數據塊上,從而避免了閃存芯片局部老化現象發生。
而動態壞塊替換管理技術則是在閃存盤出現個別壞塊后可以及時回收,用備份塊替換,從而有效防止數據丟失,以后再寫入數據的時候,閃存盤就會自動“繞開”這一壞塊,這樣一來就能夠避免閃存盤完全報廢,從而大大提高了使用壽命。
評論