專利名稱:提供混合的盤鏡像和盤分條的方法、裝置和程序的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)處理,特別是獨立盤冗余陣列。更具體地說,本發(fā)明提供一種方法、裝置和程序,用于在一個盤子系統(tǒng)中開發(fā)分條和鏡像的混合,而不增加盤驅動器的個數(shù)。
背景技術:
獨立盤冗余陣列(RAID)是一個增強性能和提供容錯的盤子系統(tǒng)。RAID需要由含有兩個或更多個硬盤的一組硬盤以及合有RAID功能的專用的盤控制器。RAID當初是為服務器和獨立的盤存儲器系統(tǒng)開發(fā)的,但現(xiàn)在RAID變得越來越多地應用于桌面?zhèn)€人計算機,這主要是為了容錯。RAID還可以只使用軟件實現(xiàn),但性能要差些,特別是當出現(xiàn)故障之后重建數(shù)據(jù)時。
盤分條是RAID的一個級別,它在多個驅動器上交錯存放多個字節(jié)或多組字節(jié),使一個以上的盤同時進行讀和寫,從而改善其性能。數(shù)據(jù)被按字節(jié)或扇區(qū)跨驅動器交錯存放。例如,利用設計成重疊讀、寫的四個驅動器和一個控制器,能在通常讀一個扇區(qū)所用的時間內(nèi)讀出四個扇區(qū)。盤分條被稱作RAID級別0(零)或RAID0。盤分條并不是固有地提供容錯或檢錯,然而,分條能與用作容錯的其他方法結合使用。
容錯可通過鏡像實現(xiàn)。鏡像涉及在兩個驅動器上的數(shù)據(jù)備份。數(shù)據(jù)可被寫入同一系統(tǒng)內(nèi)的兩個單獨的盤中。一個失效的驅動器可由新的驅動器替代,而RAID控制器能自動重建丟失的數(shù)據(jù)。盤鏡像被稱作RAID級別1(壹)或RAID1。
結合使用盤分條(RAID0)和盤鏡像(RAID1)可提供分條的性能和鏡像的可靠性。RAID0和RAID1的組合被稱作RAID0/1。然而,結合使用RAID0和RAID1至少需要四個盤驅動器,兩個驅動器用于分條,兩個驅動器用于對各數(shù)據(jù)條進行鏡像處理。大多數(shù)小辦公室和家庭辦公室一般使用通用個人計算機。由于其尺寸和成本的限制,這些計算機通常最多有兩個盤驅器。這樣,當要在一個通用個人計算機上實現(xiàn)RAID時,必須在分條和鏡像之間做出抉擇。
所以,在盤子系統(tǒng)中開發(fā)出分條和鏡像的混合而不增加所需盤驅動器的個數(shù)是有好處的。
發(fā)明內(nèi)容
本發(fā)明使用硬盤驅動器對數(shù)據(jù)進行鏡像和分條處理。在寫的時候,硬盤控制器可把第一數(shù)據(jù)條寫入第一硬盤并在第二硬盤上分配適當空間量以對該數(shù)據(jù)條進行鏡像處理。與此同時,第二數(shù)據(jù)條可被寫入第二硬盤并在第一硬盤上分配適當空間量以對第二數(shù)據(jù)條進行鏡像處理。關于哪些數(shù)據(jù)條以被鏡像以及哪些數(shù)據(jù)條尚未被鏡像的信息被存儲在存儲器中。其后,例如在盤空閑期間,控制器或文件系統(tǒng)可把相應的數(shù)據(jù)條復制到預先分配的空間,從而使各驅動器之間的數(shù)據(jù)同步。在盤空閑期間,控制器或文件系統(tǒng)還可驗證各數(shù)據(jù)條,以識別被破壞的數(shù)據(jù)。
這樣,人們可以實現(xiàn)由分條提高的性能和由鏡像增強的可靠性,無需四個或更多個硬盤驅動器。另一種作法是,用戶可指定是否在寫數(shù)據(jù)時對數(shù)據(jù)進行鏡像處理和是否在讀數(shù)據(jù)時驗證數(shù)據(jù)。所以,用戶可針對讀和寫,在速度和可靠性之間進行抉擇。
在所附權利要求中列出相信能表征本發(fā)明的新特性。然而,結合附圖參考下文中對一實施示例的詳細描述,將最好地理解發(fā)明本身及其優(yōu)選實施方式、進一步的目的和優(yōu)點,這些附圖是
圖1是根據(jù)本發(fā)明的優(yōu)選實施例可在其中實現(xiàn)本發(fā)明的一個數(shù)據(jù)處理系統(tǒng)的圖形表示;圖2是可在其中實現(xiàn)本發(fā)明的一個數(shù)據(jù)處理系統(tǒng)的方框圖;圖3A-3C是對數(shù)據(jù)進行分條和鏡像處理的現(xiàn)有技術方框圖;圖4是根據(jù)本發(fā)明的優(yōu)選實施例結合使用數(shù)據(jù)分條和數(shù)據(jù)鏡像的方框圖;以及圖5是流程圖,顯示根據(jù)本發(fā)明的優(yōu)選實施例一個硬盤控制器或文件系統(tǒng)所進行的操作。
具體實施例方式
現(xiàn)在參考附圖,特別是參考圖1,圖中給出根據(jù)本發(fā)明的優(yōu)選實施例在其中可實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的圖形表示。圖中所示計算機100包括系統(tǒng)單元100、視頻顯示終端102、鍵盤104、存儲設備108以及鼠標器106,其中存儲設備108可包括軟盤驅動器和其他類型的永久和可卸存儲介質。附加的輸入設備可包括在個人計算機100中,如游戲棒、觸摸墊、觸摸屏、跟蹤球、送話器等。計算機100能用任何適用的計算機實現(xiàn),如IBMRS/6000計算機或IntelliStation計算機,它們是位于紐約Armonk的國際商業(yè)機器公司的產(chǎn)品。盡管所描繪的圖形表示顯示一個計算機,但本發(fā)明的其他實施例可以以其他形式的數(shù)據(jù)處理系統(tǒng)實現(xiàn),如網(wǎng)絡計算機。優(yōu)選地,計算機100還包括一個圖形用戶界面,它可由在計算機100內(nèi)操作的計算機可讀介質中駐留的系統(tǒng)軟件實現(xiàn)。
現(xiàn)在參考圖2,圖中顯示在其中可實現(xiàn)本發(fā)明的一個數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)200是一個計算機(如圖1中的計算機100)的實例,實現(xiàn)本發(fā)明的處理過程的代碼或指令可位于其中。數(shù)據(jù)處理系統(tǒng)200利用外圍部件互連(PCI)局部總線體系結構。盡管所描繪的例子使用PCI總線,但也可使用其他總線體系結構,如圖形加速端口(AGP)和工業(yè)標準體系結構(ISA)。處理器202和主存儲器204通過PCI橋208與PCI局部總線206相連。PCI橋208還可包括一個用于處理器202的集成的存儲器控制器和高速緩沖存儲器。到PCI局部總線206的其他連接可通過直接部件互連或通過附件板來實現(xiàn)。在所描繪的例子中,局域網(wǎng)(LAN)適配器210、小型計算機系統(tǒng)接口SCSI主機總線適配器212以及擴展總線接口214通過直接部件連接而連到PCI局部總線206。與此對照的是,音頻適配器216、圖形適配器218以及音頻/視頻適配器219則由插入擴展槽的附件板連接到PCI局部總線206。擴展總線接口214為鍵盤和鼠標適配器220、調(diào)制解調(diào)器222以及附加存儲器224提供連接。硬盤適配器212為硬盤驅動器226、228提供連接。典型的PCI局部總線實現(xiàn)將支持三個或四個PCI擴展槽或附件連接器。
一個操作系統(tǒng)在處理器202上運行并用于協(xié)調(diào)和控制圖2中的數(shù)據(jù)處理系統(tǒng)200內(nèi)的各個部件。該操作系統(tǒng)可以是市場上可得到的操作系統(tǒng),如Windows2000,它可從微軟公司得到。一個面向對象的編程系統(tǒng),如Java,可與操作系統(tǒng)結合運行并提供從在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應用對操作系統(tǒng)的調(diào)用?!癑ava”是微系統(tǒng)公司的商標。用于操作系統(tǒng)、面向對象的編程系統(tǒng)以及應用或程序的指令位于存儲設備上(例如硬盤驅動器226)并可被加載到主存儲器204中,供處理器202執(zhí)行。
本領域技術人員將會理解,圖2中的硬件可根據(jù)具體實現(xiàn)而改變。其他內(nèi)部硬件或外部設備,如閃速ROM(或等效的非易失存儲器)或光盤驅動器等,可用于補充或替代圖2中描繪的硬件。再有,本發(fā)明的過程可應用于多處理器數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)200可以是一個個人數(shù)字助理(PDA),它被配置成具有ROM和/或閃速ROM以提供非易失存儲器,用于存儲操作系統(tǒng)文件和/或用戶產(chǎn)生的數(shù)據(jù)。
圖2中描繪的例子以及上文描述的例子不意味對體系結構的限制。例如,數(shù)據(jù)處理系統(tǒng)200除了采取PDA的形式外,還可以是筆記本計算機或手持計算機。數(shù)據(jù)處理系統(tǒng)200還可以是一個kiosk系統(tǒng)或Web設備。
本發(fā)明的過程是由處理器202使用計算機實現(xiàn)的指令完成的,這些指令可位于存儲器中,如主存儲器204、存儲器224,或一個或多個硬盤226、228中。
根據(jù)本發(fā)明的優(yōu)選實施例,專門化的硬盤適配器212或文件系統(tǒng)使用硬盤226、228提供獨立盤冗余陣列(RAID)子系統(tǒng)。
圖3A-3C是方框圖,顯示對數(shù)據(jù)進行分條和鏡像處理的現(xiàn)有技術。具體地說,參考圖3A,圖中顯示數(shù)據(jù)分條(RAID0)。當數(shù)據(jù)被寫入時,數(shù)據(jù)被分成兩個數(shù)據(jù)條,即數(shù)據(jù)A和數(shù)據(jù)B。數(shù)據(jù)A312可被寫入硬盤310,而數(shù)據(jù)B322可被同時寫入硬盤320。數(shù)據(jù)還可被分成更多數(shù)據(jù)條并寫入更多個硬盤或成對地寫入硬盤310、320。當讀數(shù)據(jù)時,數(shù)據(jù)A可從硬盤310中被讀出,而數(shù)據(jù)B從硬盤320中被讀出。數(shù)據(jù)分條允許同時讀或寫多個數(shù)據(jù)條,從而使性能提高。
現(xiàn)在轉到圖3B,圖中顯示數(shù)據(jù)鏡像(RAID1)的方框圖。當數(shù)據(jù)被寫入硬盤330時,數(shù)據(jù)同時被復制到硬盤340上。在數(shù)據(jù)A332被寫入硬盤330的同時,數(shù)據(jù)A342被鏡像到硬盤340上。類似地,在數(shù)據(jù)B334被寫入硬盤330的同時,數(shù)據(jù)B344被寫入硬盤340。數(shù)據(jù)鏡像通過在兩個驅動器上復制數(shù)據(jù)提供容錯功能。當讀數(shù)據(jù)時可進行驗證。例如,當數(shù)據(jù)B334被從硬盤330中讀出時,數(shù)據(jù)B344可同時從硬盤340中讀出??蛇M行比較以識別數(shù)據(jù)破壞。失效的驅動器可由新的驅動器取代,而RAID控制器能自動重建丟失的數(shù)據(jù)。
現(xiàn)在參考圖3C,所示方框圖顯示結合使用數(shù)據(jù)分條和數(shù)據(jù)鏡像(RAID0/1)。當寫數(shù)據(jù)時,數(shù)據(jù)被分成兩個數(shù)據(jù)條,即數(shù)據(jù)A和數(shù)據(jù)B。數(shù)據(jù)A352可被寫入硬盤350,而數(shù)據(jù)B362可同時被寫入硬盤360。再有,當數(shù)據(jù)A352被寫入硬盤350時,數(shù)據(jù)A372同時被鏡像到硬盤370。類似地,當數(shù)據(jù)B362被寫入硬盤360時,數(shù)據(jù)B382同時被寫入硬盤380。
數(shù)據(jù)分條允許同時將各數(shù)據(jù)條寫入硬盤350、360或從硬盤350、360中讀出從而提高了性能。數(shù)據(jù)鏡像允許通過比較硬盤350、360上的各數(shù)據(jù)條與硬盤370、380上的各數(shù)據(jù)條,來驗證數(shù)據(jù)。結合使用數(shù)據(jù)分條(RAID0)和數(shù)據(jù)鏡像(RAID1)可提供分條的性能和鏡像的可靠性。
然而,結合使用RAID0和RAID1需要至少四個盤驅動器,兩個用于分條,再有兩個用于對數(shù)據(jù)條做鏡像。例如,硬盤350、360可為20GB的硬盤。這樣,硬盤370、380必須也是20GB的硬盤。為使用RAID0/1,一臺計算機必須支持四個20GB硬盤。大多數(shù)小辦公室或家庭辦公室使用通用個人計算機。這些計算機通常由于尺寸和成本的限制最多有兩個盤驅動器。由于計算機殼體內(nèi)部的可用空間或可用驅動器架個數(shù)的限制,使尺寸受到限制。大多數(shù)個人計算機在其母板上置有兩個集成驅動器接口(IDE)通道(控制器)。一個通道通常用做存儲設備,如光盤驅動器、數(shù)字視盤(DVD)驅動器、壓縮介質驅動器。另一個通道通常用于硬盤驅動器,通常是一個,但最多為兩個驅動器。再有,額外硬盤的費用可限制使用RAID0/1。所以,當在通用計算機上實現(xiàn)RAID時,必須在分條和鏡像之間做出抉擇。
根據(jù)本發(fā)明的優(yōu)選實施例、一個硬盤驅動器可同時被用作數(shù)據(jù)鏡像和分條。在寫的時候,硬盤控制器可把第一數(shù)據(jù)條寫入第一硬盤并在第二硬盤上分配適當空間量以對該數(shù)據(jù)條鏡像。與此同時,第二數(shù)據(jù)條可被寫入第二硬盤并在第一硬盤上分配適當空間量以對第二數(shù)據(jù)條鏡像。關于哪些數(shù)據(jù)條已被鏡像而哪些數(shù)據(jù)條尚未被鏡像的信息被存儲在存儲器中。其后,例如在盤空閑期間,控制器或文件系統(tǒng)可把相應的數(shù)據(jù)條復制到預先分配的空間,從而使各驅動器之間的數(shù)據(jù)同步。在盤空閑期間,控制器或文件系統(tǒng)還可驗證各數(shù)據(jù)條,以識別被破壞的數(shù)據(jù)。還可在其他時間驗證數(shù)據(jù),如在系統(tǒng)啟動的時候。
參考圖4,圖中的方框圖說明根據(jù)本發(fā)明的優(yōu)選實施例結合使用數(shù)據(jù)分條和數(shù)據(jù)鏡像。在寫的時候,數(shù)據(jù)A412被寫入硬盤410并在硬盤420上分配適當?shù)目臻g量以對該數(shù)據(jù)條進行鏡像處理。與此同時,數(shù)據(jù)B422被寫入硬盤420并在硬盤410上分配適當?shù)目臻g量以對該數(shù)據(jù)條進行鏡像處理。其后,通過把數(shù)據(jù)A424復制到硬盤420上的預分配空間中和把數(shù)據(jù)B414復制到硬盤410上的預分配空間中使驅動器之間的數(shù)據(jù)同步。
這樣,人們可以實現(xiàn)由分條提高的性能和由鏡像增強的可靠性,無需四個或更多個硬盤驅動器。硬盤410、420必須支持為單獨進行分條或鏡像所需容量的兩倍。然而,對雙倍容量的硬盤尺寸沒有付出代價。例如,40GB硬驅動器所占空間與20GB硬驅動器所占空間相同。而且,相對于雙倍驅動器個數(shù)據(jù)而言,雙倍其容量成本不是那么高。例如,40GB硬驅動器的費用少于兩個20GB硬驅動器。
在另一個實施例中,用戶可指定是否在寫數(shù)據(jù)時對數(shù)據(jù)鏡像和是否在讀數(shù)據(jù)時驗證數(shù)據(jù)。所以,用戶可對讀和寫在速度和可靠性之間進行抉擇。例如,一臺計算機可主要用于存儲數(shù)據(jù)。于是用戶可指定該計算機在盤空閑期間對數(shù)據(jù)鏡像,而在讀數(shù)據(jù)時驗證數(shù)據(jù)。與此相反,一臺計算機可能用于存儲數(shù)據(jù)和反復訪問所存儲的數(shù)據(jù)。于是用戶可指定在寫數(shù)據(jù)時對數(shù)據(jù)鏡像以保證其可靠性,但在讀數(shù)據(jù)時不進行數(shù)據(jù)的,從而提高讀分條的數(shù)據(jù)的速度。
現(xiàn)在參考圖5,所示流程圖說明根據(jù)本發(fā)明的優(yōu)選實施例一個硬盤控制器或文件系統(tǒng)的操作。過程開始時確定是否要進行寫(步驟502)。如果是要寫數(shù)據(jù),則過程寫分條的數(shù)據(jù)(步驟504)并確定該RAID子系統(tǒng)是否被配置成在寫的時候做鏡像(步驟506)。如果該子系統(tǒng)是被配置成在寫時做鏡像,則過程寫鏡像數(shù)據(jù)(步驟508)并確定是否要進行讀操作(步驟512)。
如果在步驟506該子系統(tǒng)未被配置成在寫時做鏡像,則過程為鏡像數(shù)據(jù)分配存儲區(qū)(步驟510)并進入步驟512,確定是否要進行讀操作?;氐讲襟E502,如果不是要進行寫操作,則過程進入步驟512,確定是否要進行讀操作。
如果要讀數(shù)據(jù),則過程讀分條的數(shù)據(jù)(步驟514)并確定該RAID子系統(tǒng)是否被配置成在讀時驗證數(shù)據(jù)(步驟516)。如果該子系統(tǒng)是被配置成在讀時驗證數(shù)據(jù),則如果數(shù)據(jù)已被鏡像的話便驗證數(shù)據(jù)(步驟518)并確定該硬盤是否空閑(步驟520)。
如果在步驟516中該子系統(tǒng)未被配置成在讀時驗證數(shù)據(jù),則過程進入步驟520,確定該硬盤是否空閑。回到步驟512,如果沒有要進行讀操作,則過程進入步驟520,確定該硬盤是否空閑。
如果硬盤空閑,則過程寫那些在初始寫時尚未被鏡像的數(shù)據(jù)(步驟522)并驗證被鏡像的數(shù)據(jù)(步驟524)。然后,確定是否存在退出條件(步驟526),例如,當計算機系統(tǒng)關機時或當電源管理子系統(tǒng)使硬盤進入“睡眠”或休止方式時便可存在退出條件。如果在步驟520中硬盤不空閑,則過程進入步驟526,確定是否存在退出條件。如果存在退出條件,則過程結束。如果在步驟526中不存在退出條件,則過程返回步驟502,確定是否要寫數(shù)據(jù)。
這樣,本發(fā)明提供多種類型RAID而無需增加所需盤驅動器個數(shù),從而克服了現(xiàn)有技術的缺點。本發(fā)明對數(shù)據(jù)分條并在第二個硬盤上分配適當?shù)目臻g量以對各數(shù)據(jù)條做鏡像。關于哪些數(shù)據(jù)條已被鏡像而哪些數(shù)據(jù)條尚未被鏡像的信息被存儲在存儲器中。其后,例如在盤空閑期間,控制器或文件系統(tǒng)可把相應的數(shù)據(jù)條復制到預先分配的空間,從而使各驅動器之間的數(shù)據(jù)同步。在盤空閑期間,控制器或文件系統(tǒng)還可驗證各數(shù)據(jù)條,以識別被破壞的數(shù)據(jù)。這樣,人們可以實現(xiàn)由分條提高的性能和由鏡像增強的可靠性,無需四個或更多個硬盤驅動器。用戶還可指定是否在寫數(shù)據(jù)時對數(shù)據(jù)鏡像和是否在讀數(shù)據(jù)時驗證數(shù)據(jù)。所以,用戶可針對讀和寫,在速度和可靠性之間進行抉擇。
盡管已在全功能數(shù)據(jù)處理系統(tǒng)的上下文中詳細描述了本發(fā)明,但本領域普通技術人員將會理解,本發(fā)明的過程能以指令的計算機可讀介質形式和各種形式分發(fā),而且不管實際用于進行分發(fā)的信號承載介質的特定形式如何,本發(fā)明能同樣地應用;指出這些是重要的。計算機可讀介質的實例包括可記錄型介質,如軟盤、硬盤驅動器、RAM、CD-ROM、DVD-ROM,以及傳輸型介質,如數(shù)字的和模擬的通信鏈路,使用諸如射頻和光波傳輸?shù)刃问降挠芯€或無線通信鏈路。計算機可讀介質可采取編碼格式的形式,它們被解碼后實際用于一個特定數(shù)據(jù)處理系統(tǒng)中。
本發(fā)明的描述是為了說明和描述的目的給出的,不是要把本發(fā)明窮盡和限定于所公開的形式。對于本領域普通技術人員而言,許多修改和變化是顯然的。實施例的選擇和描述是為了最好地解釋本發(fā)明的原理和實際應用,并使本領域其他普通技術人員能理解本發(fā)明以實現(xiàn)具有各種修改的各種實施例,以適用于所考慮的特定應用。
權利要求
1.一種用于存儲數(shù)據(jù)的方法,包括把數(shù)據(jù)至少分成第一數(shù)據(jù)條和第二數(shù)據(jù)條;把第一數(shù)據(jù)條存儲在第一存儲器中,同時把第二數(shù)據(jù)條存儲在第二存儲器中;在第二存儲器中為第一數(shù)據(jù)條分配空間并在第一存儲器中為第二數(shù)據(jù)條分配空間;以及把第一數(shù)據(jù)條復制到供第一數(shù)據(jù)條用的空間并把第二數(shù)據(jù)條復制到供第二數(shù)據(jù)條用的空間。
2.權利要求1的方法,進一步包括驗證第一數(shù)據(jù)條。
3.權利要求2的方法,其中驗證第一數(shù)據(jù)條的步驟包括將第一存儲器中的第一數(shù)據(jù)條與在第二存儲器中的復制的第一數(shù)據(jù)條進行比較。
4.權利要求2的方法,其中驗證第一數(shù)據(jù)條的步驟是在盤空閑期間進行的。
5.權利要求2的方法,其中驗證第一數(shù)據(jù)條的步驟是在啟動時進行的。
6.權利要求1的方法,其中復制第一數(shù)據(jù)條和復制第二數(shù)據(jù)條的步驟是在盤空閑期間進行的。
7.一種用于存儲數(shù)據(jù)的方法,包括把數(shù)據(jù)至少分成第一數(shù)據(jù)條和第二數(shù)據(jù)條;把第一數(shù)據(jù)條存儲在第一存儲器中和把第二數(shù)據(jù)條存儲在第二存儲器中;把第一數(shù)據(jù)條復制到第二存儲器中和把第二數(shù)據(jù)條存儲到第一存儲器中;以及驗證第一數(shù)據(jù)條。
8.權利要求7的方法,其中復制第一數(shù)據(jù)條和復制第二數(shù)據(jù)條的步驟包括在第二存儲器中為第一數(shù)據(jù)條分配空間和在第一存儲器中為第二數(shù)據(jù)條分配空間;以及把第一數(shù)據(jù)條復制到供第一數(shù)據(jù)條用的空間中和把第二數(shù)據(jù)條復制到供第二數(shù)據(jù)條用的空間中。
9.權利要求8的方法,其中復制第一數(shù)據(jù)條和復制第二數(shù)據(jù)條的步驟是在盤空閑期間進行的。
10.權利要求7的方法,其中是在把第一數(shù)據(jù)條存儲到第一存儲器中時把第一數(shù)據(jù)條復制到第二存儲器中。
11.權利要求7的方法,其中復制第一數(shù)據(jù)條和復制第二數(shù)據(jù)條的步驟是在盤空閑期間進行的。
12.權利要求11的方法,其中第一數(shù)據(jù)條和第二數(shù)據(jù)條是同時被復制的。
13.權利要求7的方法,其中驗證第一數(shù)據(jù)條的步驟是在盤空閑期間進行的。
14.權利要求7的方法,其中驗證第一數(shù)據(jù)條的步驟是在讀第一數(shù)據(jù)條時進行的。
15.權利要求7的方法,其中驗證第一數(shù)據(jù)條的步驟包括將第一存儲器中的第一數(shù)據(jù)條與在第二存儲器中的復制的第一數(shù)據(jù)條進行比較。
16.一種用于存儲數(shù)據(jù)的設備,包括分條裝置,用于把數(shù)據(jù)至少分成第一數(shù)據(jù)條和第二數(shù)據(jù)條;存儲裝置,用于把第一數(shù)據(jù)條存儲在第一存儲器中,同時把第二數(shù)據(jù)條存儲在第二存儲器中;分配裝置,用于在第二存儲器中為第一數(shù)據(jù)條分配空間并在第一存儲器中為第二數(shù)據(jù)條分配空間;以及復制裝置,用于把第一數(shù)據(jù)條復制到供第一數(shù)據(jù)條用的空間并把第二數(shù)據(jù)條復制到供第二數(shù)據(jù)條用的空間。
17.權利要求16的設備,進一步包括驗證裝置,用于驗證第一數(shù)據(jù)條。
18.權利要求17的設備,其中驗證裝置包括比較裝置,用于將第一存儲器中的第一數(shù)據(jù)條與在第二存儲器中的復制的第一數(shù)據(jù)條進行比較。
19.權利要求17的設備,其中驗證裝置包括在盤空閑期間驗證第一數(shù)據(jù)條的裝置。
20.權利要求17的設備,其中驗證裝置包括在啟動時驗證第一數(shù)據(jù)條的裝置。
21.權利要求16的設備,其中復制裝置包含在盤空閑期間復制第一數(shù)據(jù)條和第二數(shù)據(jù)條的裝置。
22.一種用于存儲數(shù)據(jù)的設備,包括分條裝置,用于把數(shù)據(jù)至少分成第一數(shù)據(jù)條和第二數(shù)據(jù)條;存儲裝置,用于把第一數(shù)據(jù)條存儲在第一存儲器中和把第二數(shù)據(jù)條存儲在第二存儲器中;復制裝置,用于把第一數(shù)據(jù)條復制到第二存儲器中和把第二數(shù)據(jù)條存儲到第一存儲器中;以及驗證裝置,用于驗證第一數(shù)據(jù)條。
23.權利要求22的設備,其中復制裝置包括分配裝置,用于在第二存儲器中為第一數(shù)據(jù)條分配空間和在第一存儲器中為第二數(shù)據(jù)條分配空間;以及復制裝置,用于把第一數(shù)據(jù)條復制到供第一數(shù)據(jù)條用的空間中和把第二數(shù)據(jù)條復制到供第二數(shù)據(jù)條用的空間中。
24.權利要求23的設備,其中復制裝置包含在盤空閑期間復制第一數(shù)據(jù)條和第二數(shù)據(jù)條的裝置。
25.權利要求22的設備,其中是在把第一數(shù)據(jù)條存儲到第一存儲器中時把第一數(shù)據(jù)條復制到第二存儲器中。
26.權利要求22的設備,其中復制裝置包含在盤空閑期間復制第一數(shù)據(jù)條和第二數(shù)據(jù)條的裝置。
27.權利要求26的設備,其中第一數(shù)據(jù)條和第二數(shù)據(jù)條是同時被復制的。
28.權利要求22的設備,其中驗證裝置包括在盤空閑期間驗證第一數(shù)據(jù)條的裝置。
29.權利要求22的設備,其中驗證裝置包括在讀第一數(shù)據(jù)條時驗證第一數(shù)據(jù)條的裝置。
30.權利要求22的設備,其中驗證裝置包括比較裝置,用于將第一存儲器中的第一數(shù)據(jù)條與在第二存儲器中的復制的第一數(shù)據(jù)條進行比較。
31.一種用于存儲數(shù)據(jù)的設備,包括第一存儲器;第二存儲器;以及控制器,它把數(shù)據(jù)至少分成是第一數(shù)據(jù)條和第二數(shù)據(jù)條,把第一數(shù)據(jù)條存儲在第一存儲器中并同時把第二數(shù)據(jù)條存儲在第二存儲器中,在第二存儲器中為第一數(shù)據(jù)條分配空間和在第一存儲器中為第二數(shù)據(jù)條分配空間,以及把第一數(shù)據(jù)條復制到供第一數(shù)據(jù)條用的空間中和把第二數(shù)據(jù)條復制到供第二數(shù)據(jù)條用的空間中。
32.一種用于存儲數(shù)據(jù)的設備,包括第一存儲器;第二存儲器;以及控制器,它把數(shù)據(jù)至少分成是第一數(shù)據(jù)條和第二數(shù)據(jù)條,把第一數(shù)據(jù)條存儲在第一存儲器中和把第二數(shù)據(jù)條存儲在第二存儲器中,把第一數(shù)據(jù)條復制到第二存儲器中和把第二數(shù)據(jù)條復制到第一存儲器中,以及驗證第一數(shù)據(jù)條。
33.一種在計算機可讀介質中的用于存儲數(shù)據(jù)的計算機程序產(chǎn)品,包括用于把數(shù)據(jù)至少分成是第一數(shù)據(jù)條和第二數(shù)據(jù)條的指令;用于把第一數(shù)據(jù)條存儲在第一存儲器中并同時把第二數(shù)據(jù)條存儲在第二存儲器中的指令;用于在第二存儲器中為第一數(shù)據(jù)條分配空間并在第一存儲器中為第二數(shù)據(jù)條分配空間的指令;以及用于把第一數(shù)據(jù)條復制到供第一數(shù)據(jù)條用的空間并把第二數(shù)據(jù)條復制到供第二數(shù)據(jù)條用的空間的指令。
34.一種在計算機可讀介質中的用于存儲數(shù)據(jù)的計算機程序產(chǎn)品,包括用于把數(shù)據(jù)至少分成是第一數(shù)據(jù)條和第二數(shù)據(jù)條的指令;用于把第一數(shù)據(jù)條存儲在第一存儲器中和把第二數(shù)據(jù)條存儲在第二存儲器中的指令;用于把第一數(shù)據(jù)條復制到第二存儲器中和把第二數(shù)據(jù)條復制到第一存儲器中的指令;以及用于驗證第一數(shù)據(jù)條的指令。
全文摘要
硬盤驅動器(410、420)用于對數(shù)據(jù)進行鏡像和分條處理。在寫的時候,硬盤控制器把第一數(shù)據(jù)條(420)寫(504)到第一硬盤(410)中并在第二硬盤(420)上分配(510)適當?shù)目臻g量以對該數(shù)據(jù)條進行鏡像處理。與此同時,第二數(shù)據(jù)條(422)可被寫入第二硬盤(420)并在第一硬盤(410)上分配適當空間量以對第二數(shù)據(jù)條進行鏡像處理。關于哪些數(shù)據(jù)條已被鏡像而哪些數(shù)據(jù)條尚未被鏡像的信息被存儲在存儲器中。其后,例如在盤空閑期間,控制器或文件系統(tǒng)可把相應的數(shù)據(jù)條復制(508)到預先分配的空間,從而使各驅動器(410、420)之間的數(shù)據(jù)同步。在盤空閑期間,控制器或文件系統(tǒng)還可驗證(518)各數(shù)據(jù)條,以識別被破壞的數(shù)據(jù)。用戶可指定是否在寫數(shù)據(jù)時對數(shù)據(jù)鏡像和是否在讀數(shù)據(jù)時驗證數(shù)據(jù)。所以,用戶可對讀和寫分別獨立地在速度和可靠性之間進行抉擇。
文檔編號G06F11/20GK1518697SQ01823378
公開日2004年8月4日 申請日期2001年12月17日 優(yōu)先權日2001年4月19日
發(fā)明者J·瓊斯, D·羅特爾特, J 瓊斯, 囟 申請人:國際商業(yè)機器公司