| 
       咨詢電話:010-51727811/12/13
      當前位置: 首頁 > 新聞中心 > 業內新聞 >
      校驗分塊數據-使用XOR函數建立校驗數據(一)
      時間:2013-07-08 09:35  來源:飛客數據恢復   作者:飛客數據恢復工程師
          前面已經討論了校驗,它提供了一種存放于R A I D子系統中數據冗余的手段。現在,將在分塊數據的背景下,詳細討論校驗是如何實現的。
      使用XOR函數建立校驗數據 
       
      校 驗數據是另外一種冗余數據,它是在計算校驗值時,由R A I D子系統產生的。正如前面所說的那樣,異或(X O R)函數在逐位基礎上對實際數據進行操作,建立校驗數據。在并行訪問R A I D和獨立訪問R A I D上,建立校驗數據的方法是不同的。在介紹如何使用X O R函數建立校驗數據,以及在磁盤失敗時恢復數據后,我們將研究這兩種R A I D之間的差別。
       
      1. 校驗的計算
       
      R A I D校驗數據的計算使用布爾X O R函數,X O R函數邏輯相當簡單:除了真+真導致一個假的結果以外,它的行為就像一個O R函數。
       
      X O R函數事實上可用于更多的位組合,它既與位是否成對地組合及是否成對操作無關,也與每個附加位的X O R對象是否是過去的X O R操作結果無關,好像它是在X O R“鏈”中一樣。事實上,它也與位的操作順序無關。
       
      按照標準的二進制習慣,“0”位表示假值,“1”位表示真值。對于R A I D,寫入陣列的數據位將與其他分區上的相應位進行X O R操作,計算出校驗位,并寫入校驗分區的位置。
        
      可以利用X O R函數對任何4列中的4位進行操作,得到另一列中的值。例如,假如將X O R應用于第2列到第5列,那么,結果將與已經存在的第一列值相同。這說明了當一個磁盤失敗時,X O R函數的恢復能力,假如一個磁盤失敗,陣列分區中的數據將不可訪問,利用陣列中其他分區的相應位,運行X O R操作即可恢復原數據值。  
      2. XOR的逆操作是X O R 
      X O R函 數如此有用的原因之一是X O R函數的逆操作是其本身。換而言之,當使用X O R計算校驗值時,也可以再使用X O R進行逆運算。X O R函數的這個性質不太直觀,因為通常的數學函數擁有自己的反函數,如加法的反函數是減法、乘法的反函數分別是除法。以下是X O R函數的操作和逆操作的例子:
       
      0 XOR 0 = 0 ; 其逆操作是:0 XOR 0 = 0 0 XOR 1 = 1 ;其逆操作是:1 XOR 1 = 0 1 XOR 0 = 1 ;其逆操作是:1 XOR 0 = 1 1 XOR 1 = 0 ;其逆操作是:0 XOR 1 = 1 上述的操作是X O R函數的完整的組合矩陣,對于磁盤陣列,組合的數量將增加,但每一個
       
      計算值都可以從上述的矩陣推出。以下幾節的陣列操作將參考這里的X O R函數。