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