| 
       咨詢電話:010-51727811/12/13
      當前位置: 首頁 > 新聞中心 > 業內新聞 >
      獨立訪問分塊數據RAID的校驗(一)
      時間:2012-09-06 09:30  來源:飛客數據恢復   作者:飛客數據恢復工程師
      獨立訪問RAID的情形稍為復雜一些,數據并不分塊寫入幾個轉動速度相同的同步磁盤,而是寫到單個分區中的分塊,然后再寫入下一個磁盤的相應分區。換而言之,寫不必跨越陣列中的所有磁盤。

      1.獨立訪問陣列的寫額外開銷

      當對每一個分塊施行寫時,同時也計算校驗數據,以使這些數據獲得保護。像前面描述的,XOR可用于建立校驗數據,但用來計算校驗數據的一些數據已經存放在磁盤上,主機I/O控制器不能對這些數據執行寫操作,因此,在計算新數據的校驗值時,需要從陣列磁盤中讀出存在的數據。為了寫新的數據并計算其校驗值,需要執行數據讀和計算的操作,這個過程稱為RAID寫額外開銷。

      為新數據建立校驗是一個有趣的過程,而不是所希望的及時過程。記住,校驗數據計算與計算順序無關,所以,參加計算的位能以任何順序相混合,而所得到校驗數據的結果是相同的。已經證明,XOR函數具有逆著原來的步驟計算臨時值的能力。例如,對校驗數據及任何一個貢獻值進行XOR操作時,都使該值的貢獻去除,4個磁盤的XOR計算結果。

      所以,當新的數據被寫入一個獨立訪問陣列時,將使用下列過程更新校驗數據和寫入新數據:
      1)從主機I/O控制器接收I/O請求和新數據。
      2)讀出將被替代分塊的原有數據。
      3)讀出該塊的校驗數據。
      4)對校驗數據與原有數據實施XOR操作,去除原有數據對校驗數據的貢獻。
      5)對該校驗數據與新數據實施XOR操作,得到新的校驗數據。
      6)將新的校驗數據寫入磁盤。
      7)將新數據寫入磁盤。

      這個過程稱為讀、修改和寫周期,一個帶有4個成員磁盤陣列的讀、修改和寫的周期,其中一個磁盤包含分條的校驗數據。