數據儲存系統及方法
【技術領域】
[0001]本發明有關于一種數據儲存系統及方法,尤指一種可適用于磁盤陣列并對欲寫入數據進行不間斷保護的數據儲存系統及方法。
【背景技術】
[0002]傳統的數據儲存系統對數據進行保護的方式通常使用磁盤陣列系統(RAID,Redundant Array of Independent Disks),磁盤陣列系統由復數個磁盤驅動器組合起來以成為一個磁盤驅動器數組,而達成增強數據整合度,增強容錯功能,增加數據處理量或內存容量的目的。磁盤陣列系統中分成不同的磁盤陣列模式,例如常見的有RAID-0、RAID-URAID-5、RAID-6、RAID-10,RAID-50,RAID-60等磁盤陣列模式,每種磁盤陣列模式都有其理論上的優點與缺點,不同的磁盤陣列模式在增加數據可靠性以及增加讀寫效能兩個目標間取得平衡。
[0003]如圖1所示,常用數據儲存系統的構造示意圖,數據儲存系統10為一 RAID-5磁盤陣列模式的磁盤陣列系統,具有四個磁盤驅動器11、13、15及17,其數據保護單元(或稱數據保護機制)主要是將一欲寫入數據分散(分組)寫入磁盤驅動器11?17的同時,在數據與數據之間穿插加入奇偶校驗信息,當其中一顆磁盤驅動器(例如17)出現故障或損毀時,只要將故障磁盤驅動器17更換后,利用之前此段扇區的前端與后端穿插的奇偶校驗信息,即可推算并復原故障磁盤驅動器17所儲存的內容,因而達成數據保護的目的。
[0004]例如數據A將被分組成數據Al、數據A2、數據A3及對應數據A的奇偶校驗信息Ap,并分別將Al、A2、A3及Ap寫入磁盤驅動器11、13、15及17中。數據B將被分組成數據B1、數據B2、數據B3及對應數據B的奇偶校驗信息Bp,并分別將B1、B2、B3及Bp寫入磁盤驅動器11、13、15及17中。數據C將分組成數據Cl、數據C2、數據C3及對應數據C的奇偶校驗信息Cp,并分別將C1、C2、C3及Cp寫入磁盤驅動器11、13、15及17中。數據D將分組成數據D1、數據D2、數據D3及對應數據D的奇偶校驗信息Dp,并分別將D1、D2、D3及Dp寫入磁盤驅動器11、13、15及17中。而當數據儲存系統10其中一個磁盤驅動器出現故障時,例如磁盤驅動器17,只要將故障磁盤驅動器17更換后,再利用之前有關此段扇區的前端與后端穿插的奇偶校驗信息Ap、Bp、Cp及Dp,即可推算并回復故障磁盤驅動器17的內容,進而達成數據保護的目的。
[0005]RAID-5磁盤陣列模式的優點是讀取速度快,且任何一顆磁盤驅動器故障時,可在更換故障磁盤驅動器后將數據演算回來。然而,RAID-5模式在任何一顆磁盤驅動器故障后,到更換新磁盤驅動器期間,對新寫入數據并無法進行數據保護。
[0006]如圖2所示,另一常用數據儲存系統的構造示意圖,數據儲存系統20為一 RAID-6磁盤陣列模式的磁盤陣列系統,具有五個磁盤驅動器21、23、25、27及29,其數據保護單元是將數據分散或分組寫入磁盤驅動器的同時,在數據與數據之間穿插加入奇偶校驗信息,當某一磁盤驅動器,例如磁盤驅動器23,出現故障時,只要將故障磁盤驅動器23更換后,利用之前此段扇區的前端與后端穿插的奇偶校驗信息,即可推算回故障磁盤驅動器23的內容,進而達成數據保護的目的。
[0007]與圖1所示的常用數據儲存系統(RAID-5)不同之處在于:RAID_6模式增加第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶校驗信息使用不同的算法,使得數據的可靠性非常高,任意兩個磁盤驅動器同時失效時也不會影響其數據完整性,但其復雜及大量的運算會使得系統效能降低。
[0008]圖2所示的數據A將分組成數據Al、數據A2、數據A3及對應數據A的兩個獨立的奇偶校驗信息Ap及Aq,并分別將Al、A2、A3、Ap及Aq寫入磁盤驅動器21、23、25、27及29中。數據B將分組成數據B1、數據B2、數據B3及對應數據B的兩個獨立的奇偶校驗信息Bp及及Bq,并分別將Bl、B2、B3、Bp及Bq寫入磁盤驅動器21、23、25、27及29中。數據C將分組成數據Cl、數據C2、數據C3及對應數據C的兩個獨立的奇偶校驗信息Cp及Cq,并分別將Cl、C2、C3、Cp及Cq寫入磁盤驅動器21、23、25、27及29中。數據D將分組成數據D1、數據D2、數據D3及對應數據D的兩個獨立的奇偶校驗信息Dp及Dq,并分別將Dl、D2、D3、Dp及Dq寫入磁盤驅動器21、23、25、27及29中。而當數據儲存系統20其中任意一個或兩個磁盤驅動器出現故障時,只要將故障磁盤驅動器更換后,再利用之前此段扇區的前端與后端穿插的奇偶校驗信息Ap、Bp、Cp、Dp、Aq、Bq、Cq、Dq,即可推算回故障磁盤驅動器的內容,而達成數據保護的目的。
[0009]然而,RAID-6磁盤陣列模式需要分配給奇偶校驗信息更大的磁盤空間和額外的校驗計算,相對于RAID-5磁盤陣列模式有更大的系統操作量和計算量,其寫入效能因而不佳。又,盡管RAID-6磁盤陣列模式可以在一個或兩個磁盤驅動器損毀后,到更換新磁盤驅動器期間對新寫入的數據進行保護,但其數據保護機制(或稱:數據保護單元)需要較其他機制長的計算時間,且同樣在未更新損毀磁盤驅動器之前,磁盤驅動器損毀后所新寫入數據也得不到數據保護的目的。
【發明內容】
[0010]本發明的主要目的,在于提供一種數據儲存系統,可在一磁盤驅動器損毀的情況下,持續不間斷的對一新寫入數據進行數據的保護,直至損毀磁盤陣列被修復或抽換為止,以此以提高新寫入數據的保護功能。
[0011]本發明次要目的,在于提供一種數據儲存方法,可通過各磁盤陣列本身的數據保護單元,在某一磁盤陣列損毀的情況下,其他正常磁盤陣列持續不間斷的對一新寫入數據進行數據保護,直至損毀磁盤陣列被修復或抽換為止,以此不僅可提高新寫入數據的保護功能,又可同時維持系統的儲存效能。
[0012]為了達到以上目的,本發明提供一種數據儲存系統,包括:復數個磁盤陣列,每一個磁盤陣列由復數個磁盤驅動器所組成,且每一個磁盤陣列皆具有一相對應的數據保護單元;及一控制器,連接該些磁盤陣列及一數據對應表,控制器可對該些磁盤陣列中的實體儲存位置以建立一索引數據,并將該索引數據儲存至數據對應表中,控制器根據數據對應表中的索引數據對該些磁盤陣列進行數據的寫入與讀取,當其中一個磁盤陣列中的一磁盤驅動器損毀時,可定義該磁盤陣列為一損毀磁盤陣列,而無磁盤驅動器損毀的磁盤陣列則定義為至少一正常磁盤陣列,控制器控制并停止將一新寫入數據寫入該損毀磁盤陣列,而將該新寫入數據寫入正常磁盤陣列中,該新寫入數據則受到該正常磁盤陣列的數據保護單元的數據保護。
[0013]為了達到以上目的,本發明提供一種數據儲存方法,包括下列步驟:一控制器對復數個磁盤陣列中的實體儲存位置建立一索引數據,而每一個磁盤陣列皆具有一相對應的數據保護單元;控制器將該索引數據儲存至一數據對應表中;控制器根據數據對應表中的索引數據對該些磁盤陣列進行數據的寫入與讀取;當其中一個磁盤陣列中的一磁盤驅動器損毀時,定義為一損毀磁盤陣列,而無磁盤驅動器損毀的磁盤陣列則定義為至少一正常磁盤陣列,控制器停止將一新寫入數據寫入該損毀磁盤陣列;及控制器將該新寫入數據寫入正常磁盤陣列中,該新寫入數據則受到該正常磁盤陣列的數據保護單元的數據保護。
[0014]為了達到以上目的,本發明提供一種數據儲存方法,包括下列步驟:一控制器連接復數個磁盤陣列