數據存儲產業服務平臺

誤差修正:文件存儲和歸檔亟需的功能

本文作者Henry Newman是Instrumental公司的首席技術官,他在高性能計算和存儲領域擁有28年的行業經驗。

我最近參加了一次由美國政府部門主辦的保護歸檔研討會,這些設備必須以數字格式永久保存信息,我認為在現實歸檔中那些文件需要被更好地保護。

此次研討會主要是討論保存歸檔文件所面臨的某些困難,那些文件在從其他原始模式格式轉換成數字格式時不能發生變化。

與會的大多數業內人士都認為,隨著時間的推移,數字數據會不可避免地發生變化(某些字節從0變成1,或從1變成0),或多或少的字節將發生變化或導致誤讀,那樣文件就會變得不可讀或因為某一部分損壞而變得不可用。丟失一個文件中的某一部分還是小事,如果丟失了文件定義的部分,那么整個文件就可能丟失了。

來自電影行業的某位與會者提到,甚至是放了100年之久的老電影通常也能正常播放,大多數電影都是可供人們觀看的,清晰度也足夠。他提出,為什么數字文件格式不能保持這種耐用性呢? 這是個好問題,但是沒人能夠回答。

文件頭和文件系統超級區

我的一位來自仿真行業的廠商朋友對我說,在上個世紀七十年代,他曾經在一項工程中為他們生產的每個仿真文件都使用了兩個文件頭。那不禁令我想到,文件系統是如何寫入多個超級區的呢?超級區跟數字文件的文件頭具有相同的功能。 從微軟的應用文件到數字音頻和視頻文件,幾乎每一個文件都只有一個文件頭。文件系統的超級區可以保證文件系統是可讀和可處理的,如果丟失了某個磁盤的超級區的位置,文件系統就會試著讀取其他磁盤然后判斷是否還有超級區的有效副本。

這種需求跟音頻或視頻數字格式或任何其他文件的文件頭沒什么兩樣。雖然這只是問題的一部分,但是如果一個文件可以被多個文件頭寫入,并且應用軟件也知道到哪里去尋找文件頭的話,那么這個問題就迎刃而解了。 你可以想把文件頭放在文件不同的地方,因為如果放在一起的話,一旦那個扇區出現故障,那么兩個文件頭就同時丟失了。

那么,讓我們假定你將一個文件頭放在文件開始的地方,將另一個文件頭放在文件結尾的地方,那么你怎樣知道哪一個文件頭是好的呢? 顯然,這就需要創建一個文件頭數據的校驗數字,然后將它與其他的校驗數字對比。這也就是說,你必須讀取文件頭并驗證校驗數字。另一個辦法是給文件頭增加誤差校正碼,這樣就可以糾正較少的損壞數據。 許多電信系統和航天飛機都采用了這種方法,這種方法被稱為表決法,即讀取三個或更多的文件頭,然后將它們進行對比,看哪些會得出相同的結果。我想,給文件頭增加誤差校正碼是最可行的候選方案,原因是:

你只需讀取相對較少的數據

由于你只需讀取一個文件頭而不是多個文件頭,因此你在文件中搜索的范圍就小了很多。

誤差校正碼可以同時檢測并修正多個錯誤,因此這比驗證校驗數字的方法更有用。

如果誤差校正碼出錯,我們現在顯然有能力去驗證和修正文件頭。

這種候選方案的不足之處在于,如果文件頭所處的扇區損壞嚴重,你可能就不能重建文件了,因此對于最重要的文件來說,不妨同時采用雙文件頭和誤差校正碼兩種方案。用多個文件頭保護扇區故障以及用誤差校正碼保護少量數據出錯同時使用可最大限度保護數字數據。

這種方案的另一個特點是,文件頭可能會很大,甚至占滿整個磁盤扇區,現在一個扇區有512字節,以后可能會變成4096字節。

廣播行業的先例,重復數據刪除

誤差校正碼方案已經使用了數十年的時間,現在是開始考慮使用這種技術的時候了,以免文件因為一點字節出錯而丟失。由于現在各種壓縮技術的應用非常普遍,通常丟失一個字節就可能會導致整個文件的丟失。 你遇到多少次在家中打開某個數字圖片結果發現文件不可讀取的情況?

在上個世紀九十年代,有一些RAID公司為廣播行業提供了讀取容錯技術。這些公司這么做是因為如果你正在為超級碗播放某個商業廣告,在重播時丟掉一點字節總比整個文件完全不可重播并損失數百萬美元的收入要好一些。 通常,丟失少量數據甚至不會被注意到。廣播行業一直認為丟掉少量數據比丟掉整個廣告商機要好一些。 我們如今面臨的問題是,由于圖片、視頻和音頻文件都經過了壓縮,丟失少量字節的數據而造成的影響比以前更大了。

有些應用軟件會為每一個文件都創建校驗數字,但是那并不能解決文件中的問題,它只能告訴你文件已經發生了變化,當你無法顯示某一部分畫面或者某一部分畫面看起來很難看時,那顯然就是文件的某一部分出問題了。 我是壓縮技術的狂熱愛好者,也許我們需要做的是吸取重復數據刪除業界的一些教訓。許多重復數據刪除產品都有誤差校正碼,可以修正每一個扇區。 誤差校正碼的數量因廠商而異,但是你為岳母的照片文件創建的誤差校正碼也許跟美國政府保存歸檔文件所需的誤差校正碼是不同的。

雖然我也不想分出太多的磁盤空間、CPU、內存帶寬和時間去處理誤差校正碼,但是我當然想讓重要文件具備更多的誤差校正碼。如果有辦法在文件發生變化后去設置和重新設置誤差校正碼的數量就好了,但是文件格式仍需一種在某個誤差校正碼所處扇區出現故障時仍能顯示文件的方法。 如果某個誤差校正碼所處的扇區出現故障,我也不會丟失整個文件。比如一張魚的圖片文件的某些數據所處的扇區出現故障,導致魚眼無法顯示,那么也能讓我顯示其余部分的圖片,這樣我還能夠用Photoshop做些補救。

我認為,文件和數據完整性的現狀必須發生變化,我們最終將失去所有的長期歸檔數據。對于業界和全球各國政府來說,潛在的代價是巨大的,我們可能會丟失一部分歷史,這意味著我們必須做些什么來預防這種情況的出現。 一切都在走向數字化,從病歷到老電影,從照片到文件?,F在的方法也許在過去是適用的,但是它們在未來肯定是不適用的。

未經允許不得轉載:存儲在線-存儲專業媒體 » 誤差修正:文件存儲和歸檔亟需的功能
精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走