專利名稱:異步遠程復(fù)制系統(tǒng)及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及使用存儲系統(tǒng)的遠程復(fù)制系統(tǒng),特別涉及異步遠程復(fù)制系 統(tǒng),其具有在包括在遠程復(fù)制系統(tǒng)中的第 一存儲系統(tǒng)和第二存儲系統(tǒng)之間交換 主站點和遠程站點的作用的功能。在下面的描述中,該功能有時稱為交換功能 (swap function )。
技術(shù)背景在處理大量數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)中,例如在數(shù)據(jù)中心使用的數(shù)據(jù)庫系統(tǒng),通 常使用和主機系統(tǒng)分開提供的存儲系統(tǒng)來管理數(shù)據(jù)。磁盤陣列系統(tǒng)是這樣的存 儲系統(tǒng)的熟知的例子。磁盤陣列系統(tǒng)通過RAID (廉價的冗余磁盤陣列)管理來管理在陣列中排 列的許多磁盤驅(qū)動器。許多,茲盤驅(qū)動器提供物理存儲區(qū)域,并且在物理存儲區(qū) 域中形成至少一個邏輯單元。這個邏輯單元提供至主機系統(tǒng)。主機系統(tǒng)將該邏 輯單元識別為 一個物理設(shè)備并且數(shù)據(jù)存取該邏輯單元。在這樣的存儲系統(tǒng)中,采取了措施在災(zāi)難等情況下安全地保護數(shù)據(jù)。例如, JP2005-293469A披露了能夠增強容錯性的系統(tǒng),通過將寫入到位于主站點的 主要存儲控制設(shè)備中的復(fù)制源巻(copy - source volume)的數(shù)據(jù)遠程復(fù)制到位 于遠程站點的輔助存儲控制設(shè)備中的復(fù)制目的巻(copy - destination volume ), 以便實現(xiàn)數(shù)據(jù)復(fù)制。這樣的遠程復(fù)制包括兩種類型同步遠程復(fù)制,同步地處理從主站點的主 機到主要存儲控制設(shè)備的主機IO及從主要存儲控制設(shè)備到輔助存儲控制設(shè)備 的遠程復(fù)制IO;和異步遠程復(fù)制,異步地處理主機IO和遠程復(fù)制IO。在異步遠程復(fù)制中,主要存儲控制設(shè)備將區(qū)別數(shù)據(jù)以預(yù)定周期(例如,每5分鐘)固定到復(fù)制源巻,并且每周期一次地傳送區(qū)別數(shù)據(jù)至輔助存儲控制設(shè) 備中的復(fù)制目的巻。在下面的描述中,在一些情況下,復(fù)制源巻將被稱為主要 巻,并且復(fù)制目的巻將被稱為輔助巻。執(zhí)行同步遠程復(fù)制的系統(tǒng)同步地從主機到主要巻和到輔助巻兩次寫入(double write)寫數(shù)據(jù)。因此,當用戶請求交換功能時,可以通過將在主站點 主要巻改變成為輔助巻的時候?qū)⒃谶h程站點的輔助巻升級為主要巻來交換遠 程站點和主站點的作用來實現(xiàn)交換功能。另 一方面,在相關(guān)技術(shù)中的不具有這樣的交換功能的異步遠程復(fù)制系統(tǒng)巻中。由于這種安排,在執(zhí)行異步遠程復(fù)制時,輔助巻處于不固定的狀態(tài),所 以當執(zhí)行交換功能的命令發(fā)布給遠程復(fù)制系統(tǒng)時,輔助巻不能照原樣地升級為 主要巻。為了在異步遠程復(fù)制系統(tǒng)中實現(xiàn)交換功能,輔助巻的數(shù)據(jù)圖像在當前的異 步遠程復(fù)制周期之前必須恢復(fù)至它的狀態(tài),并且在主站點的主要巻必須匹配在 遠程站點的輔助巻;簡而言之,兩個巻必須暫時同步來實現(xiàn)交換功能。這里,當將輔助巻中的所有數(shù)據(jù)復(fù)制到主要巻時,需要很長時間來完成復(fù) 制,此外,將大的通信負載施加到將主站點和遠程站點連接到一起的通信線。 發(fā)明內(nèi)容為了解決上述問題,本發(fā)明的目的是提供異步遠程復(fù)制系統(tǒng)和控制方法, 即使在主要巻和輔助巻之間執(zhí)行異步遠程復(fù)制也能夠在短的時間周期內(nèi)實現(xiàn) 交換功能。為了實現(xiàn)這個目的,根據(jù)本發(fā)明的一方面,通過在異步遠程復(fù)制的周期期間固定(fix)在輔助巻中的數(shù)據(jù),以及確定輔助包含需要從輔助巻復(fù)制到主要巻的數(shù)據(jù)的輔助巻中的區(qū)域,可以在異步遠程復(fù)制系統(tǒng)中實現(xiàn)交換功能,而不必復(fù)制主要巻中的所有的數(shù)據(jù)到輔助巻中。根據(jù)本發(fā)明,提供一種在多個存儲控制設(shè)備中的異步遠程復(fù)制系統(tǒng)的控制方法,其中設(shè)置主要巻和輔助巻,并且從主要巻向輔助巻異步地傳送數(shù)據(jù),該方法包括在第一存儲控制設(shè)備中設(shè)置主要巻;在第二存儲控制設(shè)備中設(shè)置輔助巻;中斷從主要巻向輔助巻的異步遠程復(fù)制進行中的當前周期;在輔助巻中固定數(shù)據(jù);確定在輔助巻中的特定區(qū)域,該特定區(qū)域包括要求從已固定數(shù)據(jù)的 輔助巻向主要巻復(fù)制的數(shù)據(jù);轉(zhuǎn)變第一存儲控制設(shè)備中的主要巻用作輔助巻; 轉(zhuǎn)變第二存儲控制設(shè)備中的輔助巻用作主要巻;將特定區(qū)域中的數(shù)據(jù)復(fù)制到主 要巻;以及從新開始從第二存儲控制設(shè)備中的主要巻向第一存儲控制設(shè)備中的 輔助巻的異步遠程復(fù)制。根據(jù)本發(fā)明,還提供一種遠程復(fù)制系統(tǒng),它是異步遠程復(fù)制系統(tǒng),在第一 存儲系統(tǒng)和第二存儲系統(tǒng)之間異步地遠程復(fù)制數(shù)據(jù),其中第一存儲系統(tǒng)包括 連接至第一計算機的第一存儲控制設(shè)備,第一存儲控制設(shè)備包括具有第一邏輯 存儲區(qū)域、第一存儲器以及第一控制器的第一存儲裝置;第二存儲系統(tǒng)包括連 接至第二計算機的第二存儲控制設(shè)備,第二存儲控制設(shè)備包括具有第二邏輯存 儲區(qū)域、第二存儲器以及第二控制器的第二存儲裝置;第一控制器將第一邏輯 存儲區(qū)域識別為主要巻,以及將第二邏輯存儲區(qū)域識別為輔助巻,第一控制器異步遠程復(fù)制區(qū)別數(shù)據(jù)至第二邏輯存儲區(qū)域,該區(qū)別數(shù)據(jù)是由第一計算機寫存 取至第一邏輯存儲區(qū)域產(chǎn)生的;第二控制器在異步遠程復(fù)制執(zhí)行期間,基于來 自已經(jīng)接管第一計算機的操作的第二計算機的命令,在第二存儲器中存儲控制 信息,該控制信息用于匹配第一邏輯存儲區(qū)域的數(shù)據(jù)圖像和第二邏輯存儲區(qū)域 的數(shù)據(jù)圖像,第二邏輯存儲區(qū)域是主要巻,以及第一邏輯存儲區(qū)域是輔助巻;基于該控制信息,第二控制器將來自上次異步遠程復(fù)制周期完成時在第二 邏輯存儲區(qū)域中的數(shù)據(jù)復(fù)制到第一邏輯存儲區(qū)域;第二存儲器存儲用于管理第 二邏輯存儲區(qū)域中特定塊的管理信息,該特定塊包含要復(fù)制到第 一邏輯存儲區(qū) 域的數(shù)據(jù);以及第二控制器基于該管理信息將在第二邏輯存儲區(qū)域中的該特定 塊中的數(shù)據(jù)復(fù)制到第 一 邏輯存儲區(qū)域。利用本發(fā)明的這個方面,可以提供能夠在短的時間周期內(nèi)實現(xiàn)交換功能的 異步遠程復(fù)制系統(tǒng)和控制方法。
圖1是表示根據(jù)本發(fā)明的異步遠程復(fù)制的實施例的存儲系統(tǒng)的硬件方框圖。圖2是表示不同微程序和巻管理表的圖表。 圖3是表示巻管理表的圖表。圖4是表示在異步遠程復(fù)制中實現(xiàn)交換功能的硬件結(jié)構(gòu)的方框圖。 圖5是表示在異步遠程復(fù)制中實現(xiàn)交換功能的第一步驟的方框圖。 圖6是表示在異步遠程復(fù)制中實現(xiàn)交換功能的后續(xù)步驟的方框圖。 圖7是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖8是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖9是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖10是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖11是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖12是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖13是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再下面的后續(xù)步驟的方框圖。圖14是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖15是表示在異步遠程復(fù)制中實現(xiàn)交換功能的再后續(xù)步驟的方框圖。 圖16A和16B每個表示在主站點的存儲控制設(shè)備中CPU如何控制內(nèi)部瞬態(tài)位圖(snapshot bitmap )和區(qū)別傳送區(qū)別(transfer - difference )位圖的例子的方框圖。輔助巻的時候,當輔助主機系統(tǒng)寫存取輔助巻時的處理操作的方框圖。 圖18A至18C表示在圖17A至17E的上述處理操作的第一改進。 圖19A至19C表示在圖17A至17E的上述處理操作的第二改進。
具體實施方式
以下參照附圖描述本發(fā)明的實施例。圖1表示實現(xiàn)本發(fā)明的異步遠程復(fù)制 系統(tǒng)的存儲系統(tǒng)10的系統(tǒng)結(jié)構(gòu)。存儲系統(tǒng)10包括設(shè)置在主站點的主要存儲控 制設(shè)備20以及設(shè)置在遠程站點的輔助存儲控制設(shè)備50。主要存儲控制設(shè)備20、 輔助控制設(shè)備50、主要主機系統(tǒng)100以及輔助主機系統(tǒng)IIO通過SAN (存儲 區(qū)域網(wǎng))120互相連接。此外,上述存儲系統(tǒng)還具有第一存儲系統(tǒng)和第二存儲系統(tǒng),第一存儲系統(tǒng) 具有上述主要存儲控制設(shè)備20和主要主機系統(tǒng)100,第二存儲系統(tǒng)具有上述 輔助存儲控制設(shè)備50和輔助主機系統(tǒng)UO。主要主機系統(tǒng)100是正規(guī)操作的主機系統(tǒng),主要在主要主機系統(tǒng)在正常情 況時請求主要存儲控制設(shè)備20進行I/O處理。另一方面,輔助主機系統(tǒng)110 是備用主機系統(tǒng),主要在正規(guī)操作的主要主機系統(tǒng)100中發(fā)生故障時請求輔助 存儲設(shè)備50 I/O處理以及接替由主要主機系統(tǒng)100執(zhí)行的處理輔助。每個主要 主機系統(tǒng)100和輔助主機系統(tǒng)110可以是個人計算機、工作站或者大型計算機 等。稱為RAID管理器的程序駐留在主要主機系統(tǒng)100中,用于控制主要存儲 控制設(shè)備20。相似地,RAID管理器駐留在輔助主機系統(tǒng)110中,用于控制輔 助存儲控制設(shè)備50。排列存儲系統(tǒng)10使得寫入主要存儲控制設(shè)備20的數(shù)據(jù)被遠程復(fù)制到輔助 存儲控制設(shè)備50。輔助存儲控制設(shè)備50存儲與主要存儲控制設(shè)備20以前已 存儲的數(shù)據(jù)圖像相同的數(shù)據(jù)圖像。利用這種安排,即使在主要存儲控制設(shè)備 20中發(fā)生故障時,主要存儲控制設(shè)備20的處理可以由輔助存儲控制設(shè)備50 接替。這里使用的遠程復(fù)制方法是異步遠程復(fù)制,其中當在主要存儲控制設(shè)備 20中寫入數(shù)據(jù)時,主要存儲控制設(shè)備20向主要主機系統(tǒng)IOO報告寫入的完成, 以及每個預(yù)定的時間周期一次地從主要存儲控制設(shè)備20傳送數(shù)據(jù)給輔助存儲 控制設(shè)備50。主要存儲控制設(shè)備20包括控制器30和存儲器設(shè)備作為主要部件。控制器 30包括LAN (局域網(wǎng))接口 31、前端接口 32、 CPU33、數(shù)據(jù)傳送控制器34、 高速緩沖存儲器35、本地存儲器36以及后端接口 37??刂破?0可以使用在所謂的RAID系統(tǒng)中指定的RAID電平(level)(例 如0、 1、 5)來控制多個磁盤驅(qū)動器41。在RAID系統(tǒng)中,多個磁盤驅(qū)動器 41作為一個RAID組來管理。多個邏輯巻42在RAID組中定義,每個邏輯巻 是由主要主機系統(tǒng)IOO存取的存取單元。每個邏輯巻42指定一個LUN(邏輯 單元號)。CPU 33是響應(yīng)于來自主要主機系統(tǒng)100的數(shù)據(jù)輸入/輸出請求用于控制涉 及多個磁盤驅(qū)動器41的I/O處理(即,寫存取和讀存取)的處理器。本地處理器36存儲不同類型的微程序、巻管理表等。不同類型的微程序 和巻管理表將在稍后詳細描述。高速緩沖存儲器35是用于暫時存儲寫入磁盤驅(qū)動器41的寫入數(shù)據(jù)或從磁 盤驅(qū)動器41讀出的讀數(shù)據(jù)的緩沖存儲器。高速緩沖存儲器35裝備在電源故障 情況時的備份電源,并且配置為可以防止高速緩存數(shù)據(jù)丟失的非易失存儲器, 即使在主要存儲控制設(shè)備20中發(fā)生電源故障時。數(shù)據(jù)傳送控制器34將高速緩沖存儲器35、后端接口 37和CPU 33相互連 接,并且控制主要主機系統(tǒng)100和磁盤驅(qū)動器41之間的數(shù)據(jù)傳送。當由主要 主機系統(tǒng)100請求寫存取時,數(shù)據(jù)傳送控制器34通過前端接口 32將從主要主 機系統(tǒng)100接收的數(shù)據(jù)寫入高速緩沖存儲器35。然后數(shù)據(jù)傳送控制器34將該 寫數(shù)據(jù)傳送到后端接口 37,以便異步地將該寫數(shù)據(jù)寫入石茲盤驅(qū)動器41中。當 由主要主機系統(tǒng)100請求讀存取時,數(shù)據(jù)傳送控制器34通過后端接口 37將從 磁盤驅(qū)動器41讀取的讀取數(shù)據(jù)寫入高速緩沖存儲器35,以及將該讀取數(shù)據(jù)傳 送至前端接口 32。前端接口 32是用于控制主要主機系統(tǒng)100和主要存儲控制設(shè)備20之間的 接口的控制器。例如,前端接口 32具有基于光纖信道協(xié)議從主要主機系統(tǒng)100 接收塊存取請求的功能。后端接口 37是用于控制磁盤驅(qū)動器41和主要存儲控制設(shè)備20之間的接 口的控制器。例如,后端接口 37具有基于控制磁盤驅(qū)動器41的協(xié)議控制向磁 盤驅(qū)動器41的數(shù)據(jù)輸入/輸出請求的功能。LAN接口 31是連接到LAN90的接口。LAN接口 31基于TCP/IP控制數(shù) 據(jù)的傳送/接收,以及控制管理終端80和主要存儲控制設(shè)備20之間的信號。存儲器設(shè)備40包括多個磁盤驅(qū)動器41 。磁盤驅(qū)動器41例如是FC (光纖 信道)磁盤驅(qū)動器、SATA (串行先進技術(shù)附件)磁盤驅(qū)動器、PATA (并行先 進技術(shù)附件)磁盤驅(qū)動器、FATA (光纖連接適應(yīng)性)磁盤驅(qū)動器、SAS (串 行連接SCSI )磁盤驅(qū)動器以及SCSI (小型計算機系統(tǒng)接口 )磁盤驅(qū)動器的存主要存儲控制設(shè)備20通過LAN 90連接至管理終端80。管理終端80是具 有例如CPU、存儲器以及顯示器的硬件資源的計算機系統(tǒng)。通過在管理終端 80上的輸入操作,系統(tǒng)管理員發(fā)送管理主要存儲控制設(shè)備20的命令至主要存 儲控制設(shè)備20。管理主要存儲控制設(shè)備20的命令的例子包括增加或減少磁盤驅(qū)動器41的命令、改變RAID結(jié)構(gòu)的命令、設(shè)置主機系統(tǒng)100和主要存儲控 制設(shè)備20之間的通信路徑的命令、CPU在本地存儲器36中安裝微程序的命 令、檢查主要存儲控制設(shè)備20的操作狀態(tài)的命令以及在主要存儲控制設(shè)備20 中識別故障位置的命令。輔助存儲控制設(shè)備50和主要存儲控制設(shè)備20 —樣,包括控制器60和存 儲設(shè)備70??刂破?0可以使用在所謂的RAID系統(tǒng)中指定的RAID電平(例 如0、 1、 5)控制多個石茲盤驅(qū)動器71。在RAID系統(tǒng)中,多個,茲盤驅(qū)動器71 作為一個RAID組來管理。多個邏輯巻72在一個RAID組中定義,每個邏輯巻是由輔助主機系統(tǒng)110 存取的存取單元。每個邏輯巻72指定一個LUN (邏輯單元號)。該邏輯巻是20中的硬件結(jié)構(gòu)是相同的。圖2表示存儲在主要存儲控制設(shè)備20和輔助存儲控制設(shè)備50的本地存儲 器36中的不同的微程序和巻管理表。每個本地存儲器36存儲位圖控制程序 200、遠程復(fù)制執(zhí)行程序210、控制程序220和巻管理表230。位圖控制程序200執(zhí)行后面描述的位圖的控制處理。遠程復(fù)制執(zhí)行程序 210執(zhí)行遠程復(fù)制??刂瞥绦?20控制位圖控制程序220和遠程復(fù)制執(zhí)行程序 210。巻管理表230存儲關(guān)于多個邏輯巻42 (72)的信息。圖3表示巻管理表230的表格結(jié)構(gòu)。巻管理表230為多個邏輯巻的每一個 邏輯巻存儲識別邏輯巻的VOL-ID (下文中在某些情況下縮寫為"VOL")、 表示該邏輯巻的存取路徑的路徑信息、邏輯巻的類型、表示邏輯巻是否是共用文中稱為"對信息"),所有這些相互關(guān)聯(lián)。對于每個主要存儲控制設(shè)備20和輔助存儲控制設(shè)備50,通過管理終端80 或者每個主機系統(tǒng)輸入存儲在巻管理表230中的信息。這里,這一安排可以是 提供專用于輔助存儲控制設(shè)備50的另一個管理終端8,或者是主要存儲控制 設(shè)備20的管理終端80控制輔助存儲控制設(shè)備50的安排。巻類型的例子包括"主要"、"輔助"和"共用"。"主要"巻提供在主要存 儲控制設(shè)備20中,并且在遠程復(fù)制處理中用作復(fù)制源。"輔助"巻提供在輔助存儲控制設(shè)備50中,并且在遠程復(fù)制處理中用作 復(fù)制目的地。當交換主要和輔助存儲控制設(shè)備的角色時,也交換主要和輔助巻 的角色。"共用"巻是沒有定義其路徑信息的巻。共用巻標記指示是否相關(guān)的邏輯 巻是共用巻。具體地講,共用巻標記"1"指示相關(guān)的邏輯巻是共用巻,而共用巻標記"0"指示相關(guān)的邏輯巻不是共用巻。對信息例如包4舌對^f火伴信息(pair partner information)和對狀態(tài)。例如,關(guān) 于稱為對伙伴的邏輯巻的信息(下文中稱為對伙伴VOL),對伙伴信息包括存 儲控制設(shè)備的ID,包括對伙伴VOL、對伙伴VOL的VOL-ID以及路徑信息等 等。對狀態(tài)包括"SMPL"、 "COPY"、 "PAIR"、 "PSUE"、 "SPLIT"、 "SSWS" 等。"SMPL"指示形成對之前的狀態(tài),其中沒有主要-輔助關(guān)系。"COPY" 指示在信息復(fù)制期間的狀態(tài),其中主要巻中的數(shù)據(jù)復(fù)制到輔助巻中。當狀態(tài)是 "COPY"時,不允許對輔助巻的寫處理。"PAIR"指示從主要巻到輔助巻執(zhí) 行異步復(fù)制的狀態(tài)。在"PAIR"狀態(tài)期間,不允許對輔助巻的寫處理。"PSUE"指示停止從主要巻到輔助巻執(zhí)行異步復(fù)制的狀態(tài)。在"PSUE" 狀態(tài)期間,不允許對輔助巻的寫和讀處理。雖然可以進行對主要巻的寫處理, 在"PSUE"狀態(tài)期間不允許向輔助巻傳送數(shù)據(jù)。"SPLIT"是邏輯地分開主要巻和輔助巻,并且僅僅主要巻更新前后的區(qū) 別數(shù)據(jù)被復(fù)制到輔助巻的狀態(tài)。"SSWS"指示對輔助巻的讀和寫處理是允許 的狀態(tài)。當狀態(tài)是"SSWS"時,輔助巻中的數(shù)據(jù)被恢復(fù)到最近固定的狀態(tài), 以及主要巻轉(zhuǎn)換成"PSUE"狀態(tài)。CPU 33參照巻管理表230可以識別存取目標的邏輯巻42的類型以及對信 息。此外,如果共用巻被分配給后面描述的虛擬巻,CPU33可以定義信息表 示至這個共用巻的路徑,以及在巻管理表230中數(shù)據(jù)定義的路徑信息。為了設(shè) 定該共用巻是未使用的,CPU33也可以刪除關(guān)于未分配的共用巻的路徑信息。 CPU 33可以通過檢查是否輸入了每個共用巻的路徑信息來判斷每個共用巻的' 狀態(tài)是使用了還是未使用。圖4表示由主要存儲控制設(shè)備20執(zhí)行的異步遠程復(fù)制處理的略圖。主要存儲控制設(shè)備20包括CPU33、高速緩沖存儲器35、主要巻(P-VOL) 600、 虛擬巻(P—VVOL) 610、多個共用巻620、內(nèi)部瞬態(tài)位圖310以及區(qū)別傳送區(qū) 別位圖510。內(nèi)部瞬態(tài)位圖310以及區(qū)別傳送區(qū)別位圖510是主要巻600和共 用巻620的控制信息,并且存儲在本地存儲器36中。在異步遠程復(fù)制期間當主要主機系統(tǒng)100發(fā)出寫1O至主要巻600時,共 用巻620是保存預(yù)更新數(shù)據(jù)的邏輯巻。虛擬巻610是虛擬邏輯巻,由主要存儲控制設(shè)備20中的CPU 33用來異 步地遠程復(fù)制主要巻600中的區(qū)別數(shù)據(jù)到輔助巻(S-VOL)區(qū)別。在異步遠程復(fù)制系統(tǒng)中,從主站點向遠程站點的數(shù)據(jù)復(fù)制的周期是由數(shù)據(jù) 復(fù)制的開始和結(jié)束定義,并且該周期通過從主要主機系統(tǒng)到主要巻的寫IO異 步地重復(fù)。在執(zhí)行異步遠程復(fù)制的當前周期期間,固定在上個周期結(jié)束的主要 巻中的區(qū)別數(shù)據(jù)被傳送至輔助巻。這樣安排這個遠程復(fù)制系統(tǒng),使得提供多個主要巻600和輔助巻700、形 成多個對,每個對包括一個主要巻和一個輔助巻,以及遠程復(fù)制可以在多個對 的每一個對之間進行。多個對定義公共一致性組(common consistency group )。 一致性組意味著數(shù)據(jù)更新的時序是在多個對之間確定的。雖然圖4表示在高速緩沖存儲器35的存儲區(qū)域中形成的虛擬巻610的例 子,虛擬巻610可以形成在磁盤驅(qū)動器41的存儲區(qū)域中。如果由多個對,每個對包括一個主要巻600和一個輔助巻700,則共用巻 620分配給每個對。此外,如果有多個這樣的異步遠程復(fù)制對,也有多個虛擬 巻610,以及虛擬巻610分配給每個對。而且, 一個主要巻600和一個共用巻 620分配給該虛擬巻,并且通過虛擬巻610從主要巻600或共用巻620傳送數(shù) 據(jù)至輔助巻700。順便提及,在提供多個共用巻620以及多個對,每個對包括 主要巻600和輔助巻700的安排中,共用巻620可以分配給每個對。位圖310在主要存儲控制設(shè)備20的高速緩沖存儲器35中設(shè)置,位圖310 管理主要巻600的存儲區(qū)域,其中基于來自主要主機系統(tǒng)100的寫10更新數(shù)的設(shè)置適用于后面描述的區(qū)別傳送區(qū)別位圖510。塊是由邏輯地址定義的區(qū) 域。因此,通過參照位圖310, CPU 33可以基于來自主要主機系統(tǒng)100的10 判斷在主要巻塊中的數(shù)據(jù)已經(jīng)更新了 ,該主要巻塊對應(yīng)于已設(shè)定標記的比特。 為了將這個位圖與后面描述的區(qū)別傳送區(qū)別位圖510區(qū)別,這個位圖稱為內(nèi)部 瞬態(tài)位圖。區(qū)別傳送區(qū)別位圖510是用于管理從主要巻600向輔助巻700傳送的區(qū)別 數(shù)據(jù)的位置的控制信息。CPU33參照該區(qū)別傳送區(qū)別位圖510,從主要巻600 或共用巻620讀取區(qū)別數(shù)據(jù),并將讀取的區(qū)別數(shù)據(jù)傳送至輔助巻700。輔助存儲控制設(shè)備50和輔助主機系統(tǒng)110 —起用作備用系統(tǒng),因此具備 相似于主要存儲控制設(shè)備20的安排。標號63表示對應(yīng)于在主要存儲控制設(shè)備 20中的CPU33的CPU; 700表示已經(jīng)描述的輔助巻;720表示對應(yīng)于共用巻 620的共用巻,65表示對應(yīng)于高速緩沖存儲器35的高速緩沖存儲器;320表 示對應(yīng)于內(nèi)部瞬態(tài)位圖310的內(nèi)部瞬態(tài)位圖;710表示對應(yīng)于虛擬巻610的虛 擬巻;以及520表示對應(yīng)于區(qū)別傳送區(qū)別位圖510的區(qū)別傳送區(qū)別位圖。下面將描述實現(xiàn)圖4的異步遠程復(fù)制系統(tǒng)中的交換功能的操作。存儲系統(tǒng) 為了在異步遠程復(fù)制期間實現(xiàn)交換功能,主要巻600和輔助巻700必須同步,為了這個目的,首先固定在輔助巻700中的數(shù)據(jù),然后從輔助巻700向主 要巻600僅復(fù)制需要的部分,可以在短的時間周期內(nèi)實現(xiàn)交換功能的處理。為了在輔助巻中固定數(shù)據(jù),當上一個異步遠程復(fù)制周期結(jié)束時,將輔助巻 700置于輔助巻700從該狀態(tài)保持數(shù)據(jù)的狀態(tài),除了該數(shù)據(jù)外,在主要主機系 統(tǒng)100的操作之后由輔助系統(tǒng)110寫入輔助巻700的數(shù)據(jù)由輔助主機系統(tǒng)110 接管。然后,為了僅將輔助巻700中的需要的部分復(fù)制到主要巻600,確定在輔 助巻700中需要被復(fù)制的區(qū)域。在輔助巻中的這些區(qū)域包括在異步遠程復(fù)制 當前周期期間已經(jīng)寫入主要巻600中的區(qū)別數(shù)據(jù)的區(qū)域;主要巻600區(qū)別數(shù)據(jù) 應(yīng)該被寫入的區(qū)域;在主要主機系統(tǒng)100的操作由輔助主機系統(tǒng)IIO接管之后 由輔助主機系統(tǒng)IIO寫入數(shù)據(jù)的區(qū)域;以及對應(yīng)于主要巻600中的區(qū)域的一個 區(qū)域,在當前異步處理周期開始之后直到主要主機系統(tǒng)100的操作由輔助主機 系統(tǒng)IIO接管為止,由主要主機系統(tǒng)IOO寫入數(shù)據(jù)到該區(qū)域。下面將更詳細地描述異步遠程復(fù)制。圖5至圖16是表示異步遠程復(fù)制處 理順序的方框圖。在這些圖中,在圖4中的硬件結(jié)構(gòu)以簡單的形式示出。應(yīng)該 注意的是,在下面的描述中,主要存儲控制設(shè)備20中的CPU 33稱為主要CPU 33,在輔助存儲控制設(shè)備50中的CPU 63稱為輔助CPU 63。主要CPU 33在每個異步遠程復(fù)制周期在主要巻600中固定由來自主機系 統(tǒng)100的寫命令產(chǎn)生的區(qū)別數(shù)據(jù),并且在下一個異步遠程復(fù)制周期內(nèi)將固定的 區(qū)別數(shù)據(jù)傳送至輔助存儲控制設(shè)備50。如圖16A所示,主要CPU33在異步遠程復(fù)制終止的時間點時,將內(nèi)部瞬 態(tài)位圖310的整個圖像復(fù)制到區(qū)別傳送區(qū)別位圖510。同時,如圖16B所示, 主要CPU33清除內(nèi)部瞬態(tài)位圖310中的所有比特。在這個時間點上,固定主 要巻600區(qū)別數(shù)據(jù),該區(qū)別數(shù)據(jù)是從主要巻600傳送至輔助巻700。圖5示出當前異步遠程復(fù)制周期開始時,在主要存儲控制設(shè)備20和輔助 存儲控制設(shè)備50中的巻和位圖的狀態(tài)。當在異步遠程復(fù)制的中間由主要主機 系統(tǒng)100發(fā)出寫命令至主要巻600時(S100),主要CPU 33在內(nèi)部瞬態(tài)位圖 310中設(shè)置已寫入寫數(shù)據(jù)的塊的標記,如圖6所示。具有5比特x5比特的內(nèi) 部瞬態(tài)位圖被示作例子,其中每個比特對應(yīng)于巻中的每個塊。黑色的比特表示 在這些比特中已經(jīng)設(shè)置的標記。這適用于其他位圖中。主要巻600和輔助巻700被設(shè)置為前面描述的"PAIR"狀態(tài),并且區(qū)別 數(shù)據(jù)順序地傳送至輔助巻700 ( S110 )。當主機系統(tǒng)100寫存取主要巻600時,新的數(shù)據(jù)(S120 )。因為這個預(yù)更新的數(shù)據(jù)可能是要傳送至輔助巻700的區(qū)別 數(shù)據(jù),該預(yù)更新數(shù)據(jù)被保存在共用巻620中。參照圖6進行進一步的描述。主要CPU33參閱區(qū)別傳送區(qū)別位圖510并 確定固定的區(qū)別數(shù)據(jù)分配給對應(yīng)于設(shè)置了標記的比特的虛擬巻610中的塊。主 要CPU33檢查是否為內(nèi)部瞬態(tài)位圖310比特設(shè)置了標記,該比特對應(yīng)于設(shè)置 標記的區(qū)別傳送區(qū)別位圖510比特。如果沒有設(shè)置標記,主要CPU33從主要 巻600中的對應(yīng)區(qū)域讀出區(qū)別數(shù)據(jù)并且指定該區(qū)別數(shù)據(jù)給虛擬巻610中的對應(yīng) 區(qū)域。另一方面,如果在內(nèi)部瞬態(tài)位圖310中設(shè)置了標記,在主要巻600中的對應(yīng)塊由寫命令S100更新,并且預(yù)更新數(shù)據(jù)(區(qū)別數(shù)據(jù))保存在共用巻620中, 從共用巻620中的對應(yīng)區(qū)域讀出該區(qū)別數(shù)據(jù)并且分配給虛擬巻610中的對應(yīng)區(qū) 域。如果基于區(qū)別傳送區(qū)別位圖510將該區(qū)別數(shù)據(jù)傳送至輔助巻700,主要CPU 33 順序地清除在對應(yīng)于傳送的區(qū)別數(shù)據(jù)的塊中設(shè)置的標記。當將傳送的區(qū)別數(shù)據(jù)寫入輔助巻700時,已接收傳送的區(qū)別數(shù)據(jù)的輔助 CPU 63為內(nèi)部瞬態(tài)位圖320比特設(shè)置標記,該比特對應(yīng)于在輔助巻700中寫 入?yún)^(qū)別數(shù)據(jù)的區(qū)域,以及在共用巻720的輔助巻700中保存預(yù)更新的數(shù)據(jù) (S130)。當在異步遠程復(fù)制中間由于主要主機系統(tǒng)100發(fā)生故障,輔助主機系統(tǒng) 110和輔助存儲控制設(shè)備50的備用系統(tǒng)轉(zhuǎn)變?yōu)橛米鞑僮飨到y(tǒng)時,輔助主機系 統(tǒng)110的用戶或管理員IIOA發(fā)出"Horctakeover,,命令至輔助主機系統(tǒng)110 的RAID管理器(S140 )。在主機系統(tǒng)中的RAID管理器112是控制存儲控制 設(shè)備的代理軟件。這個命令轉(zhuǎn)變輔助主機系統(tǒng)no和輔助存儲控制設(shè)備50為將它們用作操 作系統(tǒng),也就是,主要側(cè)。接收這個命令的輔助主機系統(tǒng)110發(fā)出"S-VOL Takeover"命令至輔助CPU 63,使得它開始輔助巻700的恢復(fù)(稍后描述) (S150)。當輔助巻700的對狀態(tài)變成"SSWS",輔助CPU63禁止由數(shù)據(jù)傳送引起 的基于數(shù)據(jù)傳送的寫入輔助巻700。當由于在數(shù)據(jù)傳送期間的錯誤不能進行向 輔助巻700傳送數(shù)據(jù)時,主要CPU 33改變主要巻600的對狀態(tài)至"PSUE", 并且中斷給輔助巻700的數(shù)據(jù)傳送。換句話說,遠程復(fù)制中斷或停止了。如圖7所示,接收"S-VOLTakeover"命令的輔助CPU 63對于這個"S-VOL Takeover"命令》會出響應(yīng)(S160)至RAID管理器110,并且改變輔助巻700 的對狀態(tài)為"SSWS"。輔助主機系統(tǒng)110接管主要主機系統(tǒng)100的操作,并且開始發(fā)出寫命令至 輔助巻700 ( S170 )。接收該寫命令的輔助CPU 63寫對應(yīng)于這個寫命令的數(shù)據(jù) 到輔助巻700。為了復(fù)制在上一個異步遠程復(fù)制周期中在輔助巻700中固定的數(shù)據(jù),輔助 CPU 63將在共用巻720中保存的數(shù)據(jù)寫入輔助巻700 ( S180 )。這個處理順序特定區(qū)域來恢復(fù)輔助巻700的狀態(tài)到它更新前的狀態(tài)。通過執(zhí)行恢復(fù),輔助巻 700被恢復(fù)到在上個異步遠程復(fù)制周期中固定的狀態(tài),換句話說,輔助巻700 被恢復(fù)到當前異步遠程復(fù)制周期開始前的它的狀態(tài),并且可固定輔助巻700 中的數(shù)據(jù)。通過參照在內(nèi)部瞬態(tài)位圖320中的標記,輔助CPU 63可以獲知在共用巻 720中保存的數(shù)據(jù)應(yīng)該寫入輔助巻720中的哪個區(qū)域。圖7中的標號520指示在輔助存儲控制設(shè)備50中的區(qū)別傳送區(qū)別位圖。 類似在主要存儲控制設(shè)備20中的區(qū)別傳送區(qū)別位圖510,區(qū)別在交換主要存 儲控制設(shè)備20和輔助存儲控制設(shè)備50以及重新開始異步遠程復(fù)制之后,這個 傳送區(qū)別位圖510由CPU使用來識別在當前用作主要巻的巻700中的區(qū)域, 該區(qū)域包含要被傳送至當前用作輔助巻的巻600的區(qū)別數(shù)據(jù)。在這個處理期 間,其中交換主要存儲控制設(shè)備和輔助存儲控制設(shè)備,區(qū)別傳送區(qū)別位圖520 用作S-VOL (輔助巻)改變位圖,用于管理在包含應(yīng)該從輔助巻傳送至主要 巻的數(shù)據(jù)的輔助巻中的位置。在圖7中,當輔助主機系統(tǒng)110發(fā)出寫命令至輔助巻700時(S170),寫 數(shù)據(jù)被寫入輔助巻700。然后輔助CPU 630設(shè)置在對應(yīng)于已寫入寫數(shù)據(jù)的塊的 S-VOL改變位圖520比特中的標記。用戶110A可以獲知,上面描述的恢復(fù)從輔助CPU 63給予RAID管理器 113的響應(yīng)作為對從RAID管理器112發(fā)出的"S-VOL Takeover"命令的響應(yīng) 在輔助存儲控制設(shè)備50中已經(jīng)開始了 。在恢復(fù)期間,每次恢復(fù)目標保存的數(shù)據(jù)的恢復(fù)完成了,輔助CPU63將內(nèi) 部瞬態(tài)位圖320中的相關(guān)標記復(fù)制到S-VOL改變位圖520中,并且從內(nèi)部瞬 態(tài)位圖320清除這個標記。當清除了在內(nèi)部瞬態(tài)位圖320中的所有標記時,輔 助CPU 63終止該恢復(fù)。在圖8中示出的標號520A指示在S-VOL改變位圖 520中設(shè)置的標記,并且對應(yīng)于完成了恢復(fù)的塊,以及標號5MB指示對應(yīng)于 在恢復(fù)期間由輔助主機系統(tǒng)110在輔助巻700中寫入數(shù)據(jù)的塊的標記。這些將在稍'后詳細i也4苗述。輔助CPU 63通過參照S-VOL改變位圖520可以識別在輔助巻700中已 更新的塊。當正在執(zhí)行恢復(fù)時,輔助CPU63不接收取消主要巻600和輔助巻 700的對的命令。雖然以輔助巻的對狀態(tài)是"ssws"給出了描述,在恢復(fù)期間對狀態(tài)作為 "SSWS(R)"存儲在表中。(R)表示恢復(fù)正在進行中。當完成恢復(fù)時,"SSWS (R)"變成了 "SSWS"。通過監(jiān)視在客戶計算機或者管理設(shè)備上的管理屏幕, 當輔助巻700的對狀態(tài)從"SSWS (R)"變成"SSWS"時用戶可以獲知恢復(fù) 的完成。如圖8所示,接收對"S-VOL命令,,的響應(yīng)的RAID管理器發(fā)出"Swap Takeover"(交互接管)命令至輔助CPU 63,該命令用于交換主要存儲控制設(shè) 備20和輔助存儲控制設(shè)備50的角色(S190 )。當接收這個命令的輔助CPU63參照內(nèi)部瞬態(tài)位圖320并且檢測剩余一個 標記,輔助CPU 63確定恢復(fù)沒有完成以及不能執(zhí)行主要和輔助的角色的交換, 并且給出錯誤響應(yīng)至RAID管理器112 (S200,圖9)。如圖9所示,用戶IIOA可以從來自RAID管理器112的通知獲知已開始 "S-VOLTakeover"命令,也就是,已開始上面描述的恢復(fù)。如圖10所示,CPU 63重復(fù)地參照內(nèi)部瞬態(tài)位圖320直到內(nèi)部瞬態(tài)位圖 320中的所有標記都清除了,并且當所有標記清除時確定恢復(fù)完成了。當恢復(fù) 完成時,輔助CPU63將輔助巻700的狀態(tài)從"SSWS(R)"改變?yōu)?SSWS"。 從管理屏幕的顯示中,用戶可以獲知輔助巻700的狀態(tài)已從"SSWS (R)"改 變?yōu)?SSWS"。如圖11所示,當恢復(fù)完成時,用戶110A向RAID管理器112發(fā)出 "pairresync-swap,,(對再同步交換)命令S"0。這個命令是用于將主要巻600 和輔助巻700同步的命令,也就是,用于匹配輔助巻700中的數(shù)據(jù)圖像和主要 巻600中的數(shù)據(jù)圖像。如圖12所示,接收這個命令的RAID管理器112重新發(fā)出"Swap Takeover" 命令至輔助CPU63 (S220)。接收這個"Swap Takeover"命令的輔助CPU63 從主要CPU33獲得內(nèi)部瞬態(tài)位圖310的比特組合模式(bitpattern)和區(qū)別傳送區(qū)別位圖510,并且將這些組合模式并入S-VOL改變位圖520。由于在內(nèi)部瞬態(tài)位圖310中設(shè)置標記的區(qū)域是這樣的區(qū)域,其中當由主要CPU 33將區(qū)別數(shù)據(jù)傳送至輔助巻700的時候,由主要主才幾系統(tǒng)100更新在主要巻600中的數(shù)據(jù),當系統(tǒng)交換時,在輔助巻700中的相應(yīng)的區(qū)域必須復(fù)制到在主要巻600中的相應(yīng)的區(qū)域。而且,在區(qū)別傳送區(qū)別位圖510中設(shè)置標記的區(qū)域指示該區(qū)別數(shù)據(jù)還沒有傳送到輔助巻700,所以凝:據(jù)必須從輔助巻700中的相應(yīng)的區(qū)域傳送至主要巻600中相應(yīng)的區(qū)域。如上所述,內(nèi)部瞬態(tài)位圖310比特組合才莫式和區(qū)別傳送區(qū)別位圖510比特組合模式并入S-VOL改變位圖520。通過參照S-VOL改變位圖520比特組合模式,輔助CPU63可以識別在輔助巻700中的區(qū)域,數(shù)據(jù)應(yīng)該從該區(qū)域傳送至主要巻600。這個并入可以通過對內(nèi)部瞬態(tài)位圖310、區(qū)別傳送區(qū)別位圖510和S-VOL 改變位圖520中所有相應(yīng)比特的標記數(shù)據(jù)執(zhí)行邏輯或運算來實現(xiàn)。在圖13中,輔助CPU 63給出對"Swap Takeover"命令的響應(yīng)給RAID 管理器112 (S230)。然后RAID管理器112通知用戶110A交換接管的開始 (S240 )。輔助CPU 63交換主要巻600和輔助巻700,并且將這些巻的對信息設(shè)置 為"COPY"(復(fù)制)。根據(jù)S-VOL改變位圖520,輔助CPU 63從對應(yīng)于設(shè) 置標記的比特的主要巻700中的區(qū)域讀出數(shù)據(jù),并且將數(shù)據(jù)傳送至輔助巻600 (S241 )。這個數(shù)據(jù)對應(yīng)于來自輔助巻600在主要巻700中的區(qū)別。因此,輔助CPU 63可以通過從主要巻700向輔助巻600僅傳送對應(yīng)于這個區(qū)別的數(shù)據(jù)來將備 用系統(tǒng)轉(zhuǎn)換成工作系統(tǒng)。如圖14所示,當由輔助主機系統(tǒng)110發(fā)出寫命令至輔助存儲控制設(shè)備50 時,同時從主要巻700向輔助巻600傳送該數(shù)據(jù),該數(shù)據(jù)被寫入主要巻700, 此外,更新了數(shù)據(jù)的區(qū)域被輸入作為輔助內(nèi)部瞬態(tài)位圖320的標記。輔助CPU 63讀出S - VOL改變位圖520中的每個比特,并且將對應(yīng)于在 主要巻700中設(shè)置標記的塊的數(shù)據(jù)復(fù)制到輔助巻600。當數(shù)據(jù)傳送完成時,輔助CPU 63清除該相關(guān)塊的標記。輔助CPU 63繼續(xù)在S - VOL改變位圖520 中設(shè)置標記的所有比特的數(shù)據(jù)傳送。當檢查S-VOL改變位圖520并且確認 沒有設(shè)置標記時,輔助CPU 63終止從主要巻700到輔助巻600的數(shù)據(jù)傳送。下面,如圖15所示,當輔助CPU 63終止從主要巻700到輔助巻600的 數(shù)據(jù)傳送時,輔助CPU 63將主要巻700和輔助巻600的對信息改變?yōu)閳?zhí)行異 步遠程復(fù)制的"PAIR"。然后,輔助CPU 63將在內(nèi)部瞬態(tài)位圖320中設(shè)置標 記的有關(guān)區(qū)別比特的信息復(fù)制到區(qū)別傳送區(qū)別位圖520 (S240)。然后,輔助CPU 63清除在內(nèi)部瞬態(tài)位圖320中的所有區(qū)別比特的標記, 并且輔助主機系統(tǒng)IIO轉(zhuǎn)換為用作主要主機系統(tǒng),同時主要主機系統(tǒng)100轉(zhuǎn)換 為用作輔助主機系統(tǒng)。依據(jù)這些轉(zhuǎn)換,標號20表示輔助存儲控制設(shè)備,而標 號50表示主要存儲控制設(shè)備。區(qū)別傳送區(qū)別位圖520是和S-VOL改變位圖相同的控制信息。因此,在 主要巻700中的數(shù)據(jù)復(fù)制到輔助巻600以及復(fù)制了在內(nèi)部瞬態(tài)位圖320中有關(guān) 該數(shù)據(jù)的信息之后,在輔助巻700變成主要巻之前,區(qū)別傳送區(qū)別位圖520 不用作表示輔助巻700中的更新位置的位圖,而用作管理區(qū)別數(shù)據(jù)的位置的控 制信息,該區(qū)別數(shù)據(jù)是從主要巻700傳送至輔助巻600。在傳送區(qū)別位圖520中的信息表示在主要巻700中塊的邏輯地址,主要巻 700與輔助巻600相差的區(qū)別數(shù)據(jù)位于該塊中。通過上面的處理順序,交換操 作系統(tǒng)和備用系統(tǒng),并且存儲控制設(shè)備50用作主站點,同時存儲控制設(shè)備20 用作遠程站點。下面將補充描述在參照圖5至16描述的異步遠程復(fù)制系統(tǒng)中實現(xiàn)交換功 能的處理期間,當由輔助主機系統(tǒng)向輔助巻發(fā)出寫命令時,同時從共用巻向輔 助巻恢復(fù)數(shù)據(jù)時所執(zhí)行的處理。圖17A至17E表示當輔助CPU63接收輔助巻 塊的寫命令時的操作,該輔助巻塊要求保存的數(shù)據(jù)的復(fù)制。當輔助CPU63從輔助主機系統(tǒng)IIO接收寫命令時,CPU63參照內(nèi)部瞬態(tài) 位圖320來^f企查是否為對應(yīng)于輔助巻700塊的比特設(shè)置了標記,該輔助巻塊是 寫命令的目標(圖17A和17B )。如果設(shè)置了標記,在來自輔助主機系統(tǒng)110的寫數(shù)據(jù)被寫入輔助巻700之 前,在共用巻720中保存的數(shù)據(jù)必須被復(fù)制到輔助巻700。因此,輔助CPU63將對應(yīng)于帶有該標記的比特(圖17C)的保存的數(shù)據(jù)復(fù)制到輔助巻700,從共 用巻720刪除這個保存的數(shù)據(jù),在S-VOL改變位圖520中的對應(yīng)的比特設(shè)置 標記,以及清除在內(nèi)部瞬態(tài)位圖320中的該對應(yīng)比特的標記(圖17D)。下面,輔助CPU 63將對應(yīng)于寫命令的數(shù)據(jù)寫入輔助巻700,并且在S-VOL 改變位圖520中設(shè)置該對應(yīng)比特的標記。由于已經(jīng)設(shè)置了這個對應(yīng)比特的標 記,S-VOL改變位圖520的狀態(tài)不變(圖17E)。另 一方面,圖18A至18C表示當輔助CPU 63接收輔助巻700塊的寫命令 時的操作,該輔助巻700塊不要求保存的數(shù)據(jù)的復(fù)制。當輔助CPU63從輔助 主機系統(tǒng)110接收輔助巻700的寫命令時,CPU 63參照內(nèi)部瞬態(tài)位圖320來 檢查是否在這個寫命令的目標的塊中設(shè)置了標記(圖18A和18B )。輔助CPU 63確定沒有設(shè)置標記,并且將該寫數(shù)據(jù)寫入輔助巻700中的特 定塊中。然后輔助CPU 63在S-VOL改變位圖520中設(shè)置該對應(yīng)比特的標記 (圖18C)。圖19A至19C表示當CPU63接收輔助巻700塊的寫命令時的操作,該輔 助巻700塊已完成保存的數(shù)據(jù)的復(fù)制。當輔助CPU63從輔助主機系統(tǒng)IIO接 收輔助巻700的寫命令時,輔助CPU 63參照內(nèi)部瞬態(tài)位圖320來檢查是否在 這個寫命令的目標的塊中設(shè)置了標記(圖19A和19B)。輔助CPU 63確定沒有設(shè)置標記并且將該寫數(shù)據(jù)寫入輔助巻700中的特定 塊中。輔助CPU 63在S-VOL改變位圖520中設(shè)置該對應(yīng)比特的標記(圖19C )。 然而,當保存的數(shù)據(jù)被復(fù)制到輔助巻700時,由于在S-VOL改變位圖520中 設(shè)置該對應(yīng)比特的標記,S-VOL改變位圖520的狀態(tài)不變。在前面描述的圖9中,輔助CPU63給出對應(yīng)于來自RAID管理器112的"Swap Takeover"命令的錯誤響應(yīng)(S20 ),并且當完成了步驟S180的恢復(fù)時, 基于這個錯誤響應(yīng)用戶IIOA獲知定時并且發(fā)出"pairresync-swap"命令(S210)(圖11)至輔助CPU63,由此實現(xiàn)主要和輔助存儲控制設(shè)備之間的交換功能。 可選的,CPU63可以保持"Swap Takeover"命令而不對這個命令給出錯誤響 應(yīng)直到完成了恢復(fù),并且可以實現(xiàn)交換功能而不用等待"pairresync-swap"命 令的發(fā)出。在保持"Swap Takeover"命令而不對這個命令給出錯誤響應(yīng)直到完成了恢復(fù)的安排中,即使在恢復(fù)完成之前接收"Swap Takeover"命令,對"Swap Takeover"命令給出正常的響應(yīng);該對狀態(tài)從"SSWS"(實際上"SSWS (R)") 改變到"COPY"(復(fù)制)(實際上是"COPY(R)");并且輔助巻轉(zhuǎn)變?yōu)橛米?主要巻,同時主要巻轉(zhuǎn)變?yōu)橛米鬏o助巻。雖然本發(fā)明相對于有限數(shù)目的實施例進行了描述,但是獲得本說明的益處 的本領(lǐng)域的技術(shù)人員應(yīng)該清楚,可以設(shè)計出其他實施例而不偏離本文披露的本 發(fā)明的范圍。因此,本發(fā)明的范圍應(yīng)該僅由所附的權(quán)利要求書限定。
權(quán)利要求
1.一種在多個存儲控制設(shè)備中的異步遠程復(fù)制系統(tǒng)的控制方法,其中設(shè)置主要卷和輔助卷,并且從主要卷向輔助卷異步地傳送數(shù)據(jù),該方法包括第一步,在第一存儲控制設(shè)備中設(shè)置主要卷;第二步,在第二存儲控制設(shè)備中設(shè)置輔助卷;第三步,中斷從主要卷向輔助卷的異步遠程復(fù)制進行中的當前周期;第四步,在輔助卷中固定數(shù)據(jù);第五步,確定在輔助卷中的特定區(qū)域,該特定區(qū)域包括要求從已固定數(shù)據(jù)的輔助卷向主要卷復(fù)制的數(shù)據(jù);第六步,轉(zhuǎn)變第一存儲控制設(shè)備中的主要卷用作輔助卷;第七步,轉(zhuǎn)變第二存儲控制設(shè)備中的輔助卷用作主要卷;第八步,將特定區(qū)域中的數(shù)據(jù)復(fù)制到主要卷;以及第九步,從新開始從第二存儲控制設(shè)備中的主要卷向第一存儲控制設(shè)備中的輔助卷的異步遠程復(fù)制。
2. 根據(jù)權(quán)利要求1所述的異步遠程復(fù)制系統(tǒng)的控制方法,其中第三步是 在連接至第 一存儲控制設(shè)備的第 一 主機系統(tǒng)的操作由連接至第二存儲控制設(shè) 備的第二主機系統(tǒng)接管時執(zhí)行的。
3. 根據(jù)權(quán)利要求1所述的異步遠程復(fù)制系統(tǒng)的控制方法,其中第四步包 括將輔助巻置于如下狀態(tài),其中輔助巻包含上個異步遠程復(fù)制周期完成時的 數(shù)據(jù);除此之外,在第一主機系統(tǒng)的操作由第二主機系統(tǒng)接管之后由第二主機 系統(tǒng)寫入輔助巻中的數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的異步遠程復(fù)制系統(tǒng)的控制方法,其中第四步包 括在主要巻中保存輔助巻數(shù)據(jù)的步驟,該輔助巻數(shù)據(jù)是在當前異步遠程復(fù)制 周期期間在主要巻區(qū)別數(shù)據(jù)存儲在輔助巻區(qū)域之前存儲在輔助巻區(qū)域中的數(shù) 據(jù);以及將保存的輔助巻數(shù)據(jù)恢復(fù)到輔助巻的步驟。
5. 根據(jù)權(quán)利要求1所述的異步遠程復(fù)制系統(tǒng)的控制方法,其中,在第五 步中,該輔助巻中的特定區(qū)域包括在當前異步遠程復(fù)制周期期間主要巻區(qū)別 數(shù)據(jù)寫入的區(qū)域;在第一主機系統(tǒng)的操作由第二主機系統(tǒng)接管之后由第二主機系統(tǒng)寫入數(shù)據(jù)的區(qū)域;以及對應(yīng)于主要巻中的區(qū)域的區(qū)域,其中該主要巻中的 區(qū)域為在當前異步遠程復(fù)制周期開始之后并且直到第 一主機系統(tǒng)的操作由第 二主機系統(tǒng)接管為止由第 一主機系統(tǒng)寫入數(shù)據(jù)的區(qū)域。
6. —種遠程復(fù)制系統(tǒng),它是異步遠程復(fù)制系統(tǒng),在第一存儲系統(tǒng)和第二 存儲系統(tǒng)之間異步地遠程復(fù)制數(shù)據(jù),其中第一存儲系統(tǒng)包括連接至第一計算機的第一存儲控制設(shè)備,第一存儲控制 設(shè)備包括具有第 一邏輯存儲區(qū)域、第 一存儲器以及第 一控制器的第 一存儲裝 置;第二存儲系統(tǒng)包括連接至第二計算機的第二存儲控制設(shè)備,第二存儲控制 設(shè)備包括具有第二邏輯存儲區(qū)域、第二存儲器以及第二控制器的第二存儲裝置;第 一控制器將第 一邏輯存儲區(qū)域識別為主要巻,以及將第二邏輯存儲區(qū)域 識別為輔助巻,第一控制器異步遠程復(fù)制區(qū)別數(shù)據(jù)至第二邏輯存儲區(qū)域,該區(qū)別數(shù)據(jù)是由第 一計算機寫存取至第 一邏輯存儲區(qū)域產(chǎn)生的;第二控制器在異步遠程復(fù)制執(zhí)行期間,基于來自已經(jīng)接管第一計算機的操作的第二計算機的命令,在第二存儲器中存儲控制信息,該控制信息用于匹配第 一邏輯存儲區(qū)域的數(shù)據(jù)圖像和第二邏輯存儲區(qū)域的數(shù)據(jù)圖像,第二邏輯存儲區(qū)域是主要巻,以及第一邏輯存儲區(qū)域是輔助巻;基于該控制信息,第二控制器將來自上次異步遠程復(fù)制周期完成時在第二邏輯存儲區(qū)域中的數(shù)據(jù)復(fù)制到第 一邏輯存儲區(qū)域;第二存儲器存儲用于管理第二邏輯存儲區(qū)域中特定塊的管理信息,該特定塊包含要復(fù)制到第一邏輯存儲區(qū)域的數(shù)據(jù);以及第二控制器基于該管理信息將在第二邏輯存儲區(qū)域中的該特定塊中的數(shù)據(jù)復(fù)制到第 一邏輯存儲區(qū)域。
7. 根據(jù)權(quán)利要求6所述的遠程復(fù)制系統(tǒng),其中存儲在第二存儲器中的該 管理信息的第二邏輯存儲區(qū)域的該特定塊包括在當前異步遠程復(fù)制周期期間第 一邏輯存儲區(qū)域中的區(qū)別數(shù)據(jù)要寫入的塊;在第 一計算機的操作由第二計算機接管之后由第二計算機寫入數(shù)據(jù)的塊;以及對應(yīng)于在第一邏輯存儲區(qū)域中的塊的塊,在當前異步遠程復(fù)制周期開始之 后直到第 一計算機的操作由第二計算機接管為止由第 一計算機寫入數(shù)據(jù)到第 一邏輯存儲區(qū)域中的該塊。
8. 根據(jù)權(quán)利要求7所述的遠程復(fù)制系統(tǒng),其中第一控制器包括第一管 理單元,管理通過存儲由第一計算機寫入的數(shù)據(jù)來更新的第一邏輯存儲區(qū)域中 的塊;第一保存巻,其中保存在由第一計算機寫入該數(shù)據(jù)之前的數(shù)據(jù);以及第 二管理單元,管理在第一邏輯存儲區(qū)域中的塊,該塊存儲在異步遠程復(fù)制中要 傳送到第二邏輯存儲區(qū)域的區(qū)別數(shù)據(jù)。
9. 根據(jù)權(quán)利要求8所述的遠程復(fù)制系統(tǒng),其中第二控制器包括第三管理 單元,管理在第二邏輯存儲區(qū)域中的塊,該塊通過存儲由第二計算機寫入的數(shù) 據(jù)來更新;第四管理單元,管理在第二邏輯存儲區(qū)域中的塊,區(qū)別數(shù)據(jù)寫入該 塊中;以及第二保存巻,在其中保存在區(qū)別數(shù)據(jù)寫入之前的數(shù)據(jù)。
10. 根據(jù)權(quán)利要求9所述的遠程復(fù)制系統(tǒng),其中第二控制器在第三管理單 元中輸入第四管理單元的管理信息。
11. 根據(jù)權(quán)利要求10所述的遠程復(fù)制系統(tǒng),其中第二控制器將在第二保 存巻中保存的數(shù)據(jù)恢復(fù)到第二邏輯存儲區(qū)域。
12. 根據(jù)權(quán)利要求IO的遠程復(fù)制系統(tǒng),其中第二控制器在第三管理單元 中輸入第一管理單元的管理信息和第二管理單元的管理信息。
全文摘要
本發(fā)明涉及一種異步遠程復(fù)制系統(tǒng)及其控制方法,該方法包括在輔助卷中固定數(shù)據(jù);確定在輔助卷中的特定區(qū)域,該特定區(qū)域包含要求從已固定數(shù)據(jù)的輔助卷復(fù)制到主要卷的數(shù)據(jù);將在特定區(qū)域中的數(shù)據(jù)復(fù)制到主要卷;并且交換輔助主要卷和輔助卷來從新開始異步遠程復(fù)制。
文檔編號G06F11/14GK101334748SQ200810080929
公開日2008年12月31日 申請日期2008年2月29日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者小林正明, 水田力彌, 永田幸司 申請人:株式會社日立制作所