作者filiaslayers (司馬雲)
看板EZsoft
標題Re: [推薦] ICEECC v2.4
時間Mon Jun 25 04:12:41 2007
我來講一下工作原理好了
最近剛修完ECC
這兩套跟raid的方式應該是不同的
我不太了解raid的工作原理,不過我記得raid是將檔案複製成兩份
然後放在不同的硬碟,所以當一顆硬碟掛的時候,另一顆還是保有原檔案的資料。
可是這套軟體是利用多花的bit數,來修正錯誤。
在ECC中,我們可以將檔案進行編碼,而且編碼後的檔案大小,一定比原來的大
多花的空間,稱為parity-check digits
然後我們可以利用這些多花的bit,來修正檔案的錯誤
講神一點,我們可以透過公式,找出是哪幾個位元是錯的
並且找到他們原來值去修正他。
不過對於原po說,一個檔案如果10mb,然後再多花5mb去保護他
只要檔案損毀沒有超過5mb,都可以修復,是讓我感到懷疑的。
因為基於數學的基楚,我們能修正的情況是少的可憐。
以(7,4),總長度7bit,4bit是原始長度,3bit是我們另外加的來保護4bit的資料
傳輸的結果有2^7=128種,而正確的答案是2^4=16種,
表示傳輸錯誤的情況下,有2^7-2^4=112種
我們卻只能修正其中的8種
(雖然0000000的情況要另外算,不過這邊先不考慮)
簡單講只能修正1bit的錯誤,
所以我不太認為這軟體會有這樣的神,不過實際上還是有效的就是了。
剛才看了一下,ICE ECC是用Reed-Solomon codes
假設k是原始長度,d是最小可修正長度
那編碼後的長度是=k+2*d
所以應該是10mb的資料,如果編碼成15mb
可以修正2.5mb的資料才對。
有問題可以推文,我會盡可能的回答
※ 引述《ProGuy (PG)》之銘言:
: 我補充一下QuickPar跟ICE ECC 的差別
: ICE ECC有一個有點討厭的地方 就是檔案視窗不支援拖放
: 也就是說 我沒辦法用拖拉的方式把一個檔案丟進去讓他算
: 也沒辦法用拖拉的方式讓他還原檔案 (只能自己慢慢指定)
: 一定要乖乖的用"ICE ECC內附"的檔案總管才能選擇
: 然後修復的地方也不夠直觀
: 介面上沒有"Repair"的選項 我試了一段時間才知道原來"Verify"就包含了修復的功能
: QuickPar在介面上比ICE ECC親切許多
: 但是有一個缺點 就是"修復檔損毀時 無法針對那個修復檔進行修復"
: 例如說 當來源檔跟修復檔同時受到損壞時
: 這兩個程式都一樣可以擷取來源檔跟修復檔的資訊互相修補
: 但是 QuickPar僅會針對來源檔修復 對於修復檔的損毀則是直接忽視
: 也就是說 在"來源檔跟修復檔同時受到損壞"的情形下
: ICE ECC會同時把兩個檔案一同修復 QuickPar則不會修復"修復檔"
: 換句話說 QuickPar如果修復檔出問題 就必須重算
: 不過差別其實不大就是了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.142.141.82
※ 編輯: filiaslayers 來自: 220.142.141.82 (06/25 04:22)
推 logs:好像有點怪怪的喔. 產生一個比原檔還大的東西 06/25 08:37
→ logs:卻不能至少保護至少100%的原檔,那我直接複製一份不是更好? 06/25 08:37
推 Kalashnikov:raid除了0,1之外 3,4,5好像都是用parity 2忘了... 06/25 10:49