專利名稱:用于一致性組形成中的數(shù)據(jù)傳送管理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機存儲,更具體地涉及計算機存儲中用于一致性組形成中的數(shù)據(jù)傳送管理的方法和系統(tǒng)。
背景技術(shù):
災(zāi)難恢復(fù)系統(tǒng)通常解決兩種故障,單一時間點的突發(fā)災(zāi)難性故障或一段時間內(nèi)的數(shù)據(jù)丟失。為幫助恢復(fù)數(shù)據(jù)更新,可以在遠程位置提供數(shù)據(jù)的拷貝。這種雙重或陰影拷貝(shadow copy)通常在應(yīng)用系統(tǒng)正將新數(shù)據(jù)寫入主存儲設(shè)備時進行。國際商業(yè)機器公司(IBM),該主題專利申請的受讓人提供用于在輔助站點保持數(shù)據(jù)的遠程拷貝的下述系統(tǒng),擴展遠程拷貝(Extended Remote Copy XRC)和對等遠程拷貝(Peer-to-Peer RemoteCopy PPRC)。這些系統(tǒng)提供了將數(shù)據(jù)連續(xù)鏡像到遠程站點以便在其數(shù)據(jù)被連續(xù)鏡像的主站點的故障期間進行失效轉(zhuǎn)移(failover)的方法。這種數(shù)據(jù)鏡像系統(tǒng)還能提供用于非恢復(fù)目的(諸如,遠程站點的本地訪問)的另外的遠程拷貝。在IBM出版物“DFSMS/MVS Version 1 Remote CopyAdministrator’s Guide and Reference;Document Number SC35-0169-03Copyright IBM Corp.1994,1997)中描述了IBM XRC和PPRC系統(tǒng),該出版物在此全部引入以供參考。
在這種備份系統(tǒng)中,按卷對(volume pair)保持數(shù)據(jù)。卷對包括主存儲設(shè)備中的卷和輔助存儲設(shè)備中的相應(yīng)卷,輔助存儲設(shè)備中的相應(yīng)卷包括保持在主卷中的數(shù)據(jù)的相同拷貝。通常,在主直接訪問存儲設(shè)備(DASD)中保持所述對的主卷,并且在投影主DASD上的數(shù)據(jù)的輔助DASD中保持所述對的輔助卷??梢蕴峁┲鞔鎯刂破骺刂茖χ鱀ASD的訪問,并且可以提供輔助存儲控制器來控制對輔助DASD的訪問。在IBM XRC環(huán)境中,將數(shù)據(jù)寫入主卷的應(yīng)用系統(tǒng)包括系統(tǒng)復(fù)合體定時器(sysplex timer),其提供作為數(shù)據(jù)寫入的時間戳的時刻(TOD)值。主機系統(tǒng)時間戳數(shù)據(jù)設(shè)置何時將這種數(shù)據(jù)集寫入主DASD中的卷。數(shù)據(jù)更新的完整性與保證按與在主卷上執(zhí)行的相同順序在卷對中的輔助卷上進行更新有關(guān)。在XRC以及其它現(xiàn)有技術(shù)系統(tǒng)中,由系統(tǒng)代表應(yīng)用程序提供的交叉系統(tǒng)共用時間戳確定和保持在任意數(shù)目的存儲系統(tǒng)上的任意數(shù)目的數(shù)據(jù)卷上的數(shù)據(jù)更新的邏輯順序。在許多應(yīng)用程序中,諸如數(shù)據(jù)庫系統(tǒng)中,某些寫入不能發(fā)生,除非發(fā)生一個先前寫入;否則將危及數(shù)據(jù)完整性。其完整性依賴于先前數(shù)據(jù)寫入的發(fā)生的這種數(shù)據(jù)寫入被稱為相關(guān)寫入。例如,如果顧客開戶,存入$400,然后提款$300,系統(tǒng)的提款更新取決于其它寫入、開戶和存款的發(fā)生,當(dāng)將這種相關(guān)事務(wù)從主卷復(fù)制到輔助卷時,必須保持事務(wù)順序以便保持相關(guān)寫入操作的完整性。
當(dāng)已經(jīng)按它們的邏輯順序傳送了所有寫入時,即,所有相關(guān)寫入被在與其相關(guān)的寫入之前先被傳送,主和輔助DASD中的卷是一致的。在銀行的例子中,這表示在提款前將存款寫入輔助卷。一致性組是主卷的更新的集合,從而以一致的方式確保相關(guān)寫入。例如,在銀行的例子中,這表示提款事務(wù)在與存款相同的一致性組中或在稍后的組中;取款不能在更早的一致性組中。一致性組保持卷和存儲設(shè)備上的數(shù)據(jù)一致性。例如,如果發(fā)生故障,在提款之前將存款寫入輔助卷。因此,當(dāng)從輔助卷恢復(fù)數(shù)據(jù)時,所恢復(fù)的數(shù)據(jù)將是一致的。
一致性時間是系統(tǒng)是從應(yīng)用系統(tǒng)對所述數(shù)據(jù)集施加的時間戳中得出的時間。一致性組具有用于一致性組中所有數(shù)據(jù)寫入的一個一致性時間,所述數(shù)據(jù)寫入具有等于或比該一致性時間戳更早的時間戳。在IBM XRC環(huán)境中,一致性時間是系統(tǒng)保證對輔助卷的更新是一致的最晚時間。在應(yīng)用程序?qū)?shù)據(jù)寫入主卷時,所述一致性時間增加。然而,如果更新活動停止,則一致性時間不改變,因為沒有具有時間戳的數(shù)據(jù)集以便提供用于另外的一致性組的時間參考。如果一致性組中的所有記錄都被寫入輔助卷,那么所報告的一致性時間反映出一致性組中的所有記錄的最晚的時間戳。在被受讓給IBM本主題專利申請的受讓人的U.S.專利Nos.5,615,329和5,504,861中描述了用于保持數(shù)據(jù)寫入的順序一致性和形成一致性組以便保持主DASD和輔助DASD間的數(shù)據(jù)傳送的順序一致性的方法,其內(nèi)容在此全部引入以供參考。
保持拷貝間的一致性的一種技術(shù)是使用被稱為系統(tǒng)復(fù)合體定時器的公用時鐘源給主卷上的數(shù)據(jù)加時間戳。在2003年9月29日提交的共同未決和共同受讓的題目為“METHOD,SYSTEM,AND PROGRAM FORFORMING A CONSISTENCY GROUP”,案卷號no.TUC920030108US1,序列號No.10/676,852的專利申請中描述了創(chuàng)建和操作一致性組的形成中的數(shù)據(jù)結(jié)構(gòu)的細節(jié),該專利申請在此全部引入以供參考??梢允褂靡环N數(shù)據(jù)結(jié)構(gòu),不同步(out of synch)位圖指示將傳送的道。存儲控制器可以接收一致性組形成命令以便將受存儲控制器管理的特定卷拷貝到遠程站點。作為響應(yīng),存儲控制器可以對任何另外的寫入進行排隊,同時產(chǎn)生改變記錄位圖以便跟蹤在啟動一致性組的形成后被排隊的寫入以及任何后續(xù)寫入。該操作模式可被稱為“處理模式中的一致性組”。在該模式中,不同步位圖中指示的道可以被拷貝到遠程站點以便創(chuàng)建一致性組。
在排空不同步位圖從而已經(jīng)完成了該不同步位圖中指示的所有異步遠程拷貝操作后,可以形成一致性組。如果是的,操作模式可以切換到第二模式,其中后續(xù)寫入可以改為記錄在不同步位圖中。不同步位圖中指示的道可以被繼續(xù)拷貝到遠程站點。該操作模式可被稱為(例如)“正常傳送模式”。在該模式中,可以將改變記錄位圖與不同步位圖合并,并且可以刪除改變記錄位圖。另外,可以與存儲控制器接收時間點拷貝命令的時間一致地在卷的遠程站點執(zhí)行虛擬拷貝。
通常在成功形成一致性組前,在處理模式中的一致性組模式內(nèi)清除不同步位圖中的所有位。管理一致性組形成中的數(shù)據(jù)傳送的一種方法是在一致性組的創(chuàng)建上強制施加固定的時間限制。如果在固定時間周期屆滿前,沒有完全排空不同步位圖,那么一致性組的形成嘗試被認為失敗了。如果是的,可以將操作模式從處理模式中的一致性組切換到正常傳送模式。在模式切換的準備中,可以將改變記錄位圖的位與不同步位圖合并,并且通過設(shè)置不同步位圖的適當(dāng)位,將新的主機寫入記錄在不同步位圖中。因此,隨著不同步位圖繼續(xù)排空,所有卷的道可以被傳送到遠程站點。因此,在一些應(yīng)用中,可以降低或消除對下一個一致性組的形成嘗試的寫入積壓。
如果在另一固定時間周期后,沒有完全排空不同步位圖,通過切換回處理模式中的一致性組,可以進行另一嘗試來形成一致性組。因此,存儲控制器可以對任何后續(xù)寫入進行排隊,同時生成改變記錄位圖。在生成改變記錄位圖后,可以在改變記錄位圖中指示任何被排隊的寫入和后續(xù)寫入,并且可以將在不同步位圖中指示的道繼續(xù)拷貝到遠程站點。同時,如果到所述固定時間周期屆滿時未完全排空不同步位圖,可以認為一致性組的形成失敗了,并且可以將操作模式切換回正常傳送模式。在由于不同步位圖的排空超出了用于形成每個一致性組的固定時限的某個次數(shù)的一致性組嘗試失敗后(諸如,例如五次一致性組嘗試),可以忽略該固定時限。因此,操作模式可以保持為處于處理模式中的一致性組內(nèi),直到成功形成一致性組為止。
發(fā)明內(nèi)容
提供了用于在形成數(shù)據(jù)的一致性組時管理數(shù)據(jù)傳送的方法、系統(tǒng)和程序。在一個實施例中,在第一數(shù)據(jù)結(jié)構(gòu)中標(biāo)識從多個源中的一個源傳送到多個目的地中的一個目的地的數(shù)據(jù)段。更新第一數(shù)據(jù)結(jié)構(gòu)以便指示數(shù)據(jù)段的傳送,并且在第一模式中,更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示一致性組的源和目的地之間要被傳送的另外的數(shù)據(jù)段。根據(jù)本說明的一個方面,在動態(tài)地選擇的傳送時間屆滿后,可以將操作模式切換到可以形成一致性組的第二模式。在第二模式中,更新第二數(shù)據(jù)結(jié)構(gòu)而不是第一數(shù)據(jù)結(jié)構(gòu)以便指示一致性組的源和目的地之間要被傳送的另外的數(shù)據(jù)段。在一個實施例中,在選擇傳送時間時,確定將從該一致性組的至少一個源傳送到至少一個目的地的數(shù)據(jù)段的至少一個積壓。作為至少一個被確定的積壓的函數(shù),選擇用于第一數(shù)據(jù)結(jié)構(gòu)的傳送時間。
在一致性組的創(chuàng)建前一個第二時間周期屆滿后,將第二數(shù)據(jù)結(jié)構(gòu)合并到第一數(shù)據(jù)結(jié)構(gòu)中。在恢復(fù)第一模式時,更新第一數(shù)據(jù)結(jié)構(gòu)而不是第二數(shù)據(jù)結(jié)構(gòu)以指示該一致性組的源和目的地之間要被傳送的另外的數(shù)據(jù)段。
在另一個方面,由多個服務(wù)器保持正被創(chuàng)建的一致性組的源,并且為每個服務(wù)器確定傳送速率。同時為每個服務(wù)器確定估計的傳送時間,并且選擇最大持續(xù)時間的傳送時間。
在再一個方面中,確定傳送速率包括在第一時間確定如第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建一致性組特定服務(wù)器尚待傳送的道數(shù),在第二個后續(xù)時間,確定如第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建一致性組該特定服務(wù)器尚待傳送的道數(shù),作為在第一和第二時間確定的道數(shù)的變化的函數(shù),并且除以第一和第二時間之間的持續(xù)時間,為特定服務(wù)器確定尚待傳送的道數(shù)的變化速率。
在再一個方面,為每個服務(wù)器確定估計的傳送時間,包括將如由第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建一致性組該特定的服務(wù)器尚待傳送的道數(shù)除以為該特定的服務(wù)器確定的數(shù)據(jù)傳送速率。另外,可以將所確定的傳送時間乘以一個常數(shù)。描述和提出了其它實施例。
現(xiàn)在參考附圖,相同的參考號表示相應(yīng)的組件圖1是示例說明可以在其中采用此處提供的說明的方面的網(wǎng)絡(luò)計算環(huán)境的框圖;圖2示例說明根據(jù)一個實施例的存儲控制器的布置;圖3示例說明根據(jù)一個實施例的關(guān)系信息;圖4示例說明根據(jù)一個實施例,圖1的存儲控制器內(nèi)的組件;圖5示例說明根據(jù)一個實施例,由存儲控制器執(zhí)行以便為了創(chuàng)建一致性組管理數(shù)據(jù)傳送的操作;圖6示例說明可以在其中采用此處提供的說明的方面的另一網(wǎng)絡(luò)計算環(huán)境;以及圖7示例說明根據(jù)一個實施例,可以用在網(wǎng)絡(luò)環(huán)境中的計算組件(諸如存儲控制器)的體系結(jié)構(gòu)。
具體實施例方式
在下述描述中參考了附圖,附圖形成本文的一部分并示例說明了幾個實施例。應(yīng)理解可以使用其它實施例并且可以做出結(jié)構(gòu)的操作的改變,而不背離本說明的范圍。
圖1示例說明了一個網(wǎng)絡(luò)計算環(huán)境,其中可以采用所述實施例的方面。本地站點2包括存儲控制器4a、4b和4c,其中,每個存儲控制器4a、4b和4c分別連接到所附的存儲系統(tǒng)6a、6b和6c。存儲控制器4a、4b和4c管理從主機系統(tǒng)(未示出)到存儲系統(tǒng)6a、6b和6c的輸入/輸出(I/O)訪問。每個存儲控制器4a、4b和4c通過連接12a、12b和12c將數(shù)據(jù)拷貝到遠程站點10處的相應(yīng)的遠程存儲控制器8a、8b和8c。存儲控制器4a、4b和4c在時間點上一致地將數(shù)據(jù)傳送到遠程存儲控制器8a、8b和8c,其中遠程存儲控制器8a、8b和8c將數(shù)據(jù)存儲到它們各自所附的遠程存儲系統(tǒng)14a、14b和14c。在某些實施例中,存儲控制器4a、4b和4c將數(shù)據(jù)連續(xù)地傳送到遠程站點10,并且在某些時刻,確保遠程站點10處數(shù)據(jù)的一致性。在某些實施例中,遠程站點10可以將數(shù)據(jù)的一致性組保存到另一存儲設(shè)備,諸如一致性備份存儲設(shè)備16a、16b和16c,以便在遠程站點10保持一致性數(shù)據(jù)的備份。在將數(shù)據(jù)的一致性組傳送到遠程存儲設(shè)備14a、14b和14c后,從遠程存儲設(shè)備14a、14b和16c向相應(yīng)的一致性備份存儲設(shè)備16a、16b和16c進行拷貝。盡管圖1示例說明了所述站點處的幾個組件,諸如三個存儲控制器和存儲設(shè)備,所述實施例可以所述站點處的任意數(shù)目的存儲控制器和存儲系統(tǒng)操作。
如下面更詳細所述,在管理一致性組形成中的數(shù)據(jù)傳送時,可以動態(tài)地調(diào)整用于限制特定模式中的操作的持續(xù)時間。例如,基于用于源的傳送速率和將為每個特定源傳送的道或其它數(shù)據(jù)段的數(shù)目,可以選擇用于該模式的最大排空或傳送時間。如此處所使用的,隨著成功地傳送了指示的數(shù)據(jù)段,指示將被傳送的數(shù)據(jù)段的數(shù)據(jù)結(jié)構(gòu)被排空,并且因此更新該數(shù)據(jù)結(jié)構(gòu)。一旦該數(shù)據(jù)結(jié)構(gòu)被完全排空,該數(shù)據(jù)結(jié)構(gòu)將指示沒有將被完成的另外的傳送。如果所選的傳送時間在排空數(shù)據(jù)結(jié)構(gòu)前屆滿,可以切換操作模式??梢杂媚茱@著地提高積壓減少的方式選擇傳送時間,從而增加成功的一致性組形成的機會。
數(shù)據(jù)段可以是單個道、多個道、道的一部分或適合于傳送的任何其它數(shù)據(jù)單位。遠程站點10可以離本地站點2幾百或幾千英里。存儲控制器對之間的連接12a、12b和12c可以包括專用線路,諸如專用光纖網(wǎng)絡(luò)或由長途電信運營商保持的連接,具有通道延長器或通過網(wǎng)絡(luò)諸如存儲區(qū)域網(wǎng)(SAN)、局域網(wǎng)(LAN)、因特網(wǎng)和內(nèi)聯(lián)網(wǎng)等等擴展的長距離光纖連接。
本地站點2處的主機系統(tǒng)(未示出)可以執(zhí)行關(guān)于存儲系統(tǒng)6a、6b和6c中的卷的輸入/輸出(I/O)操作。主機系統(tǒng)可以通過任何網(wǎng)絡(luò)或本領(lǐng)域公知的連接與存儲控制器4a、4b和4c通信。本地站點處的存儲控制器4a、4b和4c可以相對于由所述存儲控制器管理的卷具有某些主-從關(guān)系。例如,一個存儲控制器可以被指定為主,例如4c,并且其它的被指定為從,例如4a和4b。由被指定為從的控制器控制的卷可以受被指定為主的存儲控制器管理。以這種方式,一個主存儲控制器可以為對于特定的主存儲控制器被指定為從存儲控制器的從存儲控制器管理對特定卷的遠程拷貝操作。
存儲控制器4a、4b、4c、8a、8b和8c進一步包括處理器復(fù)合體(processor complex)并且可以包括本領(lǐng)域公知的任何存儲控制器或服務(wù)器,諸如IBM企業(yè)存儲服務(wù)器(IBM Enterprise Storage Server ESS),3990存儲控制器等等(Enterprise Storage Server是IBM的注冊商標(biāo))。存儲系統(tǒng)6a、6b、6c、14a、14b、14c、16a、16b和16c可以包括存儲設(shè)備陣列,諸如硬盤捆綁(JBOD)、獨立磁盤冗余陣列(RAID)、磁帶驅(qū)動器、虛擬設(shè)備等等。
圖2示例說明可以包括在本地站點2處的存儲控制器4諸如存儲控制器4a、4b和4c中的程序和信息,包括存儲管理軟件62、關(guān)系指定信息64、不同步位圖(OOS)66和改變記錄(CR)位圖68。存儲管理軟件62可以包括允許遠程拷貝數(shù)據(jù)的代碼,諸如包括在IBM PPRC Extended Distance程序中的代碼,以便允許在相對短和長的距離上鏡像數(shù)據(jù)。在具有文檔號No.SG24-6568-00(Copyright IBM,2002年6月)的IBM出版物“IBMTotalStorage Enterprise Storage Server PPRC Extended Distance”中描述了IBM PPRC Extended Distance程序的其它詳情,該出版物在此全部引用以供參考。由存儲管理軟件62保持的關(guān)系信息64包括分別用于屬于一個一致性組關(guān)系的存儲設(shè)備6a、6b和6c上的每個卷(或卷的一部分)的信息。對主-從環(huán)境,諸如圖1所示,關(guān)系信息64進一步指出存儲控制器是否是一致性組關(guān)系的主存儲控制器,或在所附的存儲設(shè)備中的卷是否是一致性組關(guān)系中的從卷。被指定為主存儲控制器的存儲控制器諸如4c管理對于其所附的存儲設(shè)備例如6c中的指定卷或由被指定為從存儲控制器的其它存儲控制器例如4a、4b管理的其它存儲系統(tǒng)例如6a、6b中的卷的一致性組拷貝操作。因此,可以基于逐卷地進行主-從指定。在可替換的實施例中,可以在子卷級進行主-從指定。一個存儲控制器中的不同卷對于不同的時間點拷貝關(guān)系可以被指定為從卷。因此,主存儲控制器可以控制分布在由不同存儲控制器管理的存儲系統(tǒng)中的卷的時間點拷貝。
本地存儲控制器4a、4b和4c可以在局域網(wǎng)18上通信,局域網(wǎng)18可以包括直接連接或交換網(wǎng)。可替換地,存儲控制器4a、4b和4c可以在鏈路12a、12b和12c上通信,如果所述鏈路還延伸到本地站點2處的網(wǎng)絡(luò)。
在另外的實施例中,可以在會話的基礎(chǔ)上發(fā)生數(shù)據(jù)鏡像和一致性組管理。會話可以被定義為包括多個卷,當(dāng)啟動會話時可以使用會話名引用所述的多個卷??梢越o會話指定主-從關(guān)系從而該關(guān)系將應(yīng)用于會話中的所有卷。在一個會話內(nèi)定義的所有卷將被包括在相同一致性組中。
關(guān)系信息64可以包括多個關(guān)系指定,每個卷一個,對于所述的卷該存儲控制器被指定為主或從。圖3示例說明包括在關(guān)系指定80中的信息。
關(guān)系標(biāo)識字段82指示一致性組拷貝關(guān)系的ID,因為可以有多個關(guān)系,每一個被指定給存儲控制器4a、4b、4c上一組卷。因此,存儲控制器4a、4b、4c可以是多個一致性組關(guān)系的主存儲控制器,或具有在不同關(guān)系中為從的卷。主-從字段84表示該指定用于主還是從關(guān)系。如果主-從指示器84指明為“主”,那么包括該指定80的存儲控制器,例如4c,在字段82中標(biāo)識的主-從關(guān)系中對于由存儲控制器信息86中指示的存儲控制器例如4a或4b管理的在卷信息88中指出的卷是主存儲控制器。同樣地,如果主-從指示器82指明為“從”,那么在字段82中指示的關(guān)系中由卷信息88中指示的所附的存儲設(shè)備例如6a或6b中的卷對于存儲控制器信息86中指示的主存儲控制器例如4c為從卷。主存儲控制器例如4c可以被指定給一個被附加到另外的存儲控制器例如4a、4b的存儲設(shè)備例如6a、6b中的,或被附加到主存儲控制器例如4c的存儲設(shè)備例如6c中的從卷。因此,主可以被指定給所附的存儲設(shè)備和/或被附加到其它存儲控制器的存儲系統(tǒng)中的從卷。此外,存儲控制器可以被相對于所附的存儲和/或由其它存儲控制器管理的存儲中的卷指定為主,并且同時包括相對于一個主被指定為從的卷,其中所述的主可以是該存儲控制器本身或是另一個存儲控制器。
另外,用于主存儲控制器的指定信息64將包括用于從存儲控制器上的每個從卷的關(guān)系記錄80,其中,在字段86和88中分別指示所述的從存儲控制器和卷。所述關(guān)系信息可以用不同于圖3所示的布置和格式保持,并且可以用本領(lǐng)域已知的任何數(shù)據(jù)結(jié)構(gòu)保持,諸如文本或格式化文本文件、數(shù)據(jù)庫等等。
不同步位圖66包括用于將被從存儲控制器拷貝到相應(yīng)的遠程存儲設(shè)備的每個道的位。在正常拷貝操作期間,可以在不同步位圖(OOS)66中記錄對存儲控制器的任何寫入,然后拷貝到遠程存儲設(shè)備。改變記錄位圖68包括用于在數(shù)據(jù)的一致性集合形成期間接收到更新的每個道的位。另外,存儲控制器4a、4b、4c可以保持用于每個卷的一組這些位圖,或可替換地保持用于所附存儲設(shè)備6a、6b、6c中的一組卷的一組位圖66和68。
在某些實施例中,存儲控制器運行后臺處理以便將在它們的不同步位圖中指示為被更新的任何道拷貝到遠程存儲設(shè)備。即使在啟動形成一致性組和創(chuàng)建改變記錄位圖后,這一處理也能在從控制器中繼續(xù)。圖4示例說明存儲控制器4a、4b、4c的其它細節(jié),其中,它們每一個被稱為主存儲控制器102,其將數(shù)據(jù)拷貝到接收數(shù)據(jù)的輔助存儲控制器104,諸如存儲控制器14a、14b、14c。主存儲控制器102包括主高速緩存106,其中保持有由主存儲控制器102管理的所附的存儲設(shè)備108諸如存儲設(shè)備6a、6b、6c中的道的更新,直到寫入所附的主存儲設(shè)備108(即道離臺)為止。另外,主存儲控制器102包括非易失高速緩存110。非易失高速緩存110可以是,例如,電池后備易失存儲設(shè)備,以便保持數(shù)據(jù)更新的非易失拷貝和其它信息。輔助存儲控制器104類似地可以包括輔助高速緩存107和非易失高速緩存111。
主存儲控制器102包括用于讀取數(shù)據(jù)的讀取處理112和用于寫入數(shù)據(jù)的寫入處理114。主存儲控制器102還包括異步處理116,用于將數(shù)據(jù)從主存儲控制器102傳送到遠程存儲設(shè)備,諸如在輔助存儲控制器104處的存儲設(shè)備。在某些實施例中,異步處理116可以執(zhí)行異步PPRC ExtendedDistance服務(wù)的數(shù)據(jù)的同步。在這些情況下,為PPRC Extended Distance服務(wù)連續(xù)運行異步處理116。在某些實施例中,可以有多個異步處理(例如,用于PPRC Extended Distance的主存儲設(shè)備108上的每個卷一個異步處理)。在某些實施例中,讀取處理112、寫入處理114和異步處理116包括在固件中。輔助存儲控制器104將從主存儲控制器102接收的數(shù)據(jù)寫入輔助存儲設(shè)備120,諸如存儲設(shè)備14a、14b、14c(圖1)。不同的處理112、114和116可以被包含在存儲管理軟件62中。
在具有案卷號No.TUC920030108US1,序列號No.10/676,852,2003年9月29日提交的名為“METHOD,SYSTEM,AND PROGRAM FORFORMING A CONSISTENCY GROUP”的共同未決和共同受讓的專利申請中描述了創(chuàng)建和操作OOS和CR的其它細節(jié),該專利申請在此全部引入以供參考。
在形成一致性組的一個例子中,主存儲控制器102可以接收一致性組形成命令以便將由主存儲控制器102管理的特定卷拷貝到遠程站點。作為響應(yīng),主存儲控制器102可以對任何其它的寫進行排隊,同時生成改變記錄位圖68。在生成改變記錄位圖68后,可以在改變記錄位圖68中指示出任何排隊的寫和后續(xù)寫,并且可以將不同步位圖66中指示的道拷貝到遠程站點。該操作模式可以稱為“處理模式中的一致性組”。
在排空OOS 66從而已經(jīng)完成OOS 66中指示的所有異步遠程拷貝操作后,后續(xù)寫可以改為被記錄在OOS 66中,并且不同步位圖66中指示出的道可以被繼續(xù)拷貝到遠程站點。這種操作模式可被稱為(例如)“正常傳送模式”。在這種模式中,可以將改變記錄位圖68與OOS 66合并,并且可以丟棄改變記錄位圖68。另外,可以與主存儲控制器102接收時間點拷貝命令的時間一致地在卷的遠程站點處執(zhí)行虛擬拷貝。
通常,在成功地形成一致性組前清除OOS 66中的所有位。很顯然,暫時的負載不平衡會產(chǎn)生這樣一種情況,其中一致性組中的相對少的卷在OOS 66中具有許多位設(shè)置,指示將從那些源卷傳送許多道。相反地,許多源卷可能在OOS 66中具有相對少的位設(shè)置,指示將從那些源卷傳送少量道。因此,用于許多卷的位可在一致性組內(nèi)的由于將傳送的道而承受繁重負載的少數(shù)源卷的所有位之前相對長時間地被從OOS 66中清除。如果在改變記錄位圖66而不是OOS 66中指出將被傳送的新道,能防止大量的卷傳送任何道,同時等待完成負載更重的卷的道的傳送。因此,被收集在改變記錄位圖68中的主機寫入能產(chǎn)生在創(chuàng)建下一個一致性組期間將傳送的寫入的大量積壓。因此,可能極大地增加了在形成下一個一致性組過程中將傳送的道數(shù)。
管理一致性組形成中的數(shù)據(jù)傳送的一種方法是將固定時限強加到一致性組的創(chuàng)建上。如果在固定的時間周期屆滿前,未完全排空OOS 66,則一致性組的形成嘗試被認為失敗了。如果是這樣,可以將操作模式從處理模式中的一致性組切換到正常傳送模式。因此,可以將改變記錄位圖68的位與OOS 66合并,并且通過設(shè)置OOS 66的適當(dāng)?shù)奈唬瑢⑷魏涡碌闹鳈C寫入記錄在OOS 66中。因此,隨著繼續(xù)排空OOS 66可以將來自所有卷的道傳送到遠程站點。因此,在一些應(yīng)用中,可以降低或消除對于下一個一致性組的形成嘗試的大量寫入積壓。
如果在另一個固定的時間周期后未完全排空OOS 66,通過切換回處理模式中的一致性組,可以進行另一嘗試以便形成一致性組。因此,主存儲控制器102可以對任何后續(xù)寫進行排隊,同時生成改變記錄位圖68。在生成改變記錄位圖68后,可以在改變記錄位圖68中指示任何被排隊的寫入和后續(xù)寫入,并且可以繼續(xù)將在不同步位圖66中指示出的道拷貝到遠程站點。同樣,如果在該固定的時間周期屆滿前,未完全排空OOS 66,可以認為一致性組形成失敗了,并且可以將操作模式切換回正常傳送模式。在某個次數(shù)的(諸如,例如,五次一致性組嘗試)由于排空OOS 66超出了用于形成每個一致性組的固定時限的一致性組嘗試失敗后,可以忽略該固定時限。因此,操作模式可以保持為處理模式中的一致性組,直到成功形成一致性組為止。
圖5示例說明由主存儲控制器102例如4c執(zhí)行的操作以便管理在一致性組形成中的數(shù)據(jù)傳送的另一方法。在該例子中,可以動態(tài)地調(diào)整特定模式諸如例如正常傳送模式中用于限制操作的持續(xù)時間。例如,隨著OOS 66排空,可以確定從一致性組中的至少一個源到至少一個目的地的數(shù)據(jù)傳送速率?;谟糜谠吹膫魉退俾屎兔總€特定源將傳送的道或其它數(shù)據(jù)段的數(shù)目,可以選擇用于該數(shù)據(jù)的可能的傳送時間。當(dāng)選定的傳送時間已經(jīng)屆滿時,則可以將操作模式切換到另一模式,諸如例如處理模式中的一致性組。因此,例如,如果主存儲控制器102處于正常傳送模式中,可以調(diào)整那個模式的持續(xù)時間以便允許基本上消除或減少積壓。當(dāng)所選的傳送時間屆滿時,可以將操作模式切換到具有減少的積壓的處理模式中的一致性組以便增加成功的一致性組形成的機會。另外,也可基本上減少由于大的積壓而具有很少成功形成一致性組的機會的處理模式中的一致性組內(nèi)的長的等待。
在圖5的例子中,描述了兩種操作模式。在被指為模式A的第一模式中,操作可以與(例如)正常傳送模式類似。在被指為模式B的第二模式中,操作可以與(例如)處理模式中的一致性組類似。在這兩種模式中,將數(shù)據(jù)段從源卷傳送到一致性組標(biāo)識的目的地卷。為形成一致性組將被傳送的段由第一數(shù)據(jù)結(jié)構(gòu)諸如,例如,OOS位圖66標(biāo)識。在該例子中,OOS66具有可以被設(shè)置以便指示將傳送的特定段以便形成一致性組的位。
在操作模式B(例如,其可以是處理模式中的一致性組)內(nèi)的一個操作中,更新第一數(shù)據(jù)結(jié)構(gòu)例如,諸如,OOS 66(塊200)以便指示為了創(chuàng)建一致性組數(shù)據(jù)段的成功傳送,例如諸如數(shù)據(jù)道。在該例子中,OOS 66具有可以被重置或清除的位以便指示已被成功傳送的特定段。更新第二數(shù)據(jù)結(jié)構(gòu),例如諸如改變記錄位圖68(塊202)以便指示將傳送的另外的數(shù)據(jù)段。這些另外的段可以是(例如)在啟動形成一致性組后,主機后來寫入一個或多個一致性組源卷的數(shù)據(jù)段。在該例子中,改變記錄位圖68具有可以被設(shè)置以便指示后續(xù)寫入的段的位。如下所述在該例子中,在已經(jīng)成功地形成一致性組或在形成一致性組的失敗后被成功形成一致性組后,最終將由改變記錄位圖68指示的數(shù)據(jù)段傳送到一致性組的目的地卷。
隨著排空第一數(shù)據(jù)結(jié)構(gòu)諸如OOS 66,確定是否成功創(chuàng)建了一致性組(塊203)。如果沒有,可以確定在創(chuàng)建一致性組前時限是否屆滿(塊204)。在所示的實施例中,該確定的時限可以是可由(例如)管理員設(shè)置的固定時間周期。然而應(yīng)意識到在其它實施例中,該時間周期可以是動態(tài)計算的時間周期。如果時限還未屆滿并且還未創(chuàng)建一致性組,繼續(xù)更新第一數(shù)據(jù)結(jié)構(gòu),例如諸如OOS 66(塊200),以便指示為創(chuàng)建一致性組數(shù)據(jù)段的成功傳送。另外,繼續(xù)更新第二數(shù)據(jù)結(jié)構(gòu)(塊202),例如諸如,改變記錄位圖68以便指示將最終傳送的任何后續(xù)數(shù)據(jù)段。
如果確定在一致性組創(chuàng)建前該時限已經(jīng)屆滿(塊204),確定在一致性組創(chuàng)建前該時限是否已經(jīng)屆滿預(yù)定多次(塊206)。該預(yù)定次數(shù)可以是(例如)五次。應(yīng)意識到也可以選擇其它失敗限制。
因此,在該例子中,如果確定一致性組的創(chuàng)建已經(jīng)失敗了少于五次(塊206),執(zhí)行切換到模式A的準備。在該準備期間,可以確定尚待傳送的數(shù)據(jù)段的至少一個積壓(塊210)?;谥饌€服務(wù)器、逐卷或任何其它適當(dāng)?shù)拇鎯挝淮_定數(shù)據(jù)段的積壓。在所示的實施例中,可以為具有該一致性組的一個或多個源卷的每個服務(wù)器確定數(shù)據(jù)段積壓。應(yīng)意識到根據(jù)特定應(yīng)用,可以確定更少的數(shù)據(jù)段積壓。
在所示的實施例中,通過在特定時間計算用于特定服務(wù)器的OOS 66中的位數(shù),所述位數(shù)表示在那個特定時間那個特定服務(wù)器尚待傳送的數(shù)據(jù)段的數(shù)目,可以確定數(shù)據(jù)段積壓??梢詾槊總€另外的源服務(wù)器進行該位計數(shù)。應(yīng)意識到根據(jù)特定應(yīng)用,可以使用其它技術(shù)確定積壓。
在另一操作中,可以作為至少一個被確定的積壓的函數(shù)選擇用于第一數(shù)據(jù)結(jié)構(gòu)的傳送時間(塊212)。在所選擇的傳送時間中,可以基于逐個服務(wù)器、逐卷或任何其它適當(dāng)?shù)拇鎯挝淮_定數(shù)據(jù)傳送速率。在所示的實施例中,為具有一致性組的一個或多個源卷的每個服務(wù)器確定數(shù)據(jù)速率。應(yīng)意識到根據(jù)特定的應(yīng)用,可以確定更少數(shù)目的數(shù)據(jù)速率。
在所示的實施例中,可以通過在特定時間計算用于特定服務(wù)器的OOS66中的位數(shù)確定數(shù)據(jù)傳送速率,所述位數(shù)表示在那個特定時間那個特定服務(wù)器尚待傳送的數(shù)據(jù)段的數(shù)目??梢詫γ總€附加的源服務(wù)器進行該位計數(shù)。一段時間后,可以再次為每個源服務(wù)器計算OOS位圖66中的剩余的位數(shù)。在為一個源服務(wù)器的第一次位計數(shù)和為該服務(wù)器的第二次位計數(shù)之間經(jīng)過的時間表示測試周期。該測試周期的持續(xù)時間可以為1秒,或在例如0.5至2秒的范圍中。應(yīng)意識到根據(jù)特定應(yīng)用,也可以選擇其它持續(xù)時間。
特定源服務(wù)器的OOS 66中的剩余位數(shù)的改變或差值表示在測試周期期間已經(jīng)為那個服務(wù)器傳送的數(shù)據(jù)段的數(shù)量。因此,通過將每個源服務(wù)器的OOS 66中的剩余位數(shù)的改變除以相關(guān)的測試周期的持續(xù)時間,可以計算用于該服務(wù)器的數(shù)據(jù)傳送速率。在該例子中,可以用每個服務(wù)器的積壓,即,每個源服務(wù)器剩余的數(shù)據(jù)段的數(shù)量除以為該服務(wù)器確定的數(shù)據(jù)傳送速率,以便提供OOS 66排空到適當(dāng)水平以便減少或消除該服務(wù)器的任何積壓的估計時間。因此,取決于那個服務(wù)器的積壓和那個服務(wù)器的數(shù)據(jù)傳送速率,特定服務(wù)器的估計的傳送時間可以相對大或相對小。
在所示的實施例中,可以將為每個源服務(wù)器計算出的估計的傳送時間的最長估計傳送時間選擇為傳送時間。在另一實施例中,可以通過按某一因子增加最長估計傳送時間從而增加減少積壓的可能性來計算所選擇的傳送時間。例如,可以將最長估計傳送時間乘以某一因子,諸如例如2或3,以便提供所選擇的傳送時間(塊212)。如另一例子,可以將一個固定或可變時間段增加到最長估計傳送時間以便提供所選擇的傳送時間。應(yīng)意識到可以基于一個或多個被確定的積壓使用多個過程動態(tài)地選擇傳送時間。
按照所選擇的可能的傳送時間,操作切換到模式A,并且將第二數(shù)據(jù)結(jié)構(gòu)(在該例子中為改變記錄位圖68)合并到第一數(shù)據(jù)結(jié)構(gòu)中,即,該例子中的OOS 66(塊213)。因此,在該模式中可以用OOS 66的位指示將為失敗的一致性組的卷傳送的所有數(shù)據(jù)段,包括在啟動一致性組的形成之后被寫入源卷的段。
隨著繼續(xù)傳送由第一數(shù)據(jù)結(jié)構(gòu)(該例子中的OOS 66)標(biāo)識的數(shù)據(jù)段時,可以更新第一數(shù)據(jù)結(jié)構(gòu)(塊214)以便指示數(shù)據(jù)段的成功傳送。在該例子中,可以清除不同步位圖66的位以便指示每個成功的傳送。在模式A(該例子中為正常傳送模式)中,還更新第一數(shù)據(jù)結(jié)構(gòu)(在該例子中為OOS66)(216)以便指示也將傳送的后來寫入源卷的任何附加數(shù)據(jù)段。在該例子中,可以設(shè)置不同步位圖66的位以便指示在將第二數(shù)據(jù)結(jié)構(gòu)合并到第一數(shù)據(jù)結(jié)構(gòu)后由主機寫入的每個后續(xù)數(shù)據(jù)段。
在另一操作中,確定(塊218)所選擇的傳送時間(塊212)是否屆滿。如果不是,繼續(xù)傳送第一數(shù)據(jù)結(jié)構(gòu)(在該例子中為OOS 66)標(biāo)識的數(shù)據(jù)段,繼續(xù)更新第一數(shù)據(jù)結(jié)構(gòu)(塊214)以便指示每個數(shù)據(jù)段的成功傳送,并且繼續(xù)更新第一數(shù)據(jù)結(jié)構(gòu)(216)以便指示也將傳送的被寫入源卷的任何后續(xù)數(shù)據(jù)段。
如上所述,可以基于一個或多個被確定的積壓動態(tài)地計算所選擇的傳送時間,以便增加在所選擇的傳送時間屆滿時將積壓減少到適當(dāng)水平的可能性。因此,當(dāng)所選擇的傳送時間屆滿時(塊218),可以將操作模式切換回到另一模式,諸如包括塊200-212的操作的模式B(在該例子中為處理模式中的一致性組)。通過以增加將積壓減少到適當(dāng)水平的可能性的方式選擇傳送時間,可以增加在模式B的時限屆滿前(204)成功創(chuàng)建一致性組的可能性。一旦確定已經(jīng)成功形成一致性組(塊203),操作可以切換到模式A,在該例子中為正常傳送模式。
此外,也可以降低當(dāng)可能成功地創(chuàng)建一致性組的機會相對小時模式B(在該例子中為處理模式中一致性組)中的長的等待。應(yīng)意識到在其它應(yīng)用中,可以基于一個或多個積壓動態(tài)地選擇傳送時間,以便根據(jù)特定的應(yīng)用實現(xiàn)不同或另外的特征。
圖6示例說明了四個卷的解決方案,其中中間站點312處的存儲控制器134a、134b、134c可以用與參考圖1說明的存儲控制器4a、4b和4c相同的方式操作,并且遠程站點330處的組件可以如參考圖1所述的遠程站點10的組件那樣操作。本地站點302和中間站點312可以位于相對近的地理區(qū)域中,諸如相同的建筑物、相同校園的不同建筑物、相同城市等等。本地302和中間312站點處的存儲控制器間的連接338a、338b、338c可以包括單獨的專用線路,或所述連接可以通過交換網(wǎng),諸如存儲區(qū)域網(wǎng)(SAN)、局域網(wǎng)(LAN)、因特網(wǎng)、內(nèi)聯(lián)網(wǎng)等等擴展。遠程站點330可以離本地302和中間站點312幾百或幾千英里。連接332a、332b、332c可以包括參考圖1所述的連接12a、12b、12c,包括長距離連接。
在圖6的實施例中,主機可以將I/O請求定向到在本地站點302處管理存儲系統(tǒng)306a、306b、306c的存儲控制器304a、304b、304c。然后,本地站點302處的存儲控制器304a、304b、304c將任何寫入同步拷貝到中間站點312處的存儲控制器314a、314b、314c。在某些實施例中,主機寫入將不會完成,直到本地存儲控制器304a、304b、304c將數(shù)據(jù)同步拷貝到中間站點312為止。然后主存儲控制器,例如314,如參考圖5所述根據(jù)中間站點312處該主存儲控制器中包含的遠程拷貝政策,異步地管理在遠程站點330處的一致性組的形成。
遠程存儲控制器348a、348b、348c將數(shù)據(jù)存儲到它們各自所附的遠程存儲系統(tǒng)354a、354b、354c。在某些實施例中,遠程站點330可以將數(shù)據(jù)的一致性組保存到另一存儲設(shè)備,諸如一致性備份存儲設(shè)備356a、356b、356c,以便在遠程站點330處保持一致性數(shù)據(jù)的備份。
另外的實施例細節(jié)使用標(biāo)準的編程和/或工程技術(shù)以便生成軟件、固件、硬件或它們的任意組合,形成一致性組的所述技術(shù)可以被具體化為方法、裝置、部署或制造產(chǎn)品。在此所使用的術(shù)語“制造產(chǎn)品”指包含在硬件邏輯(例如集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等等)或計算機可讀介質(zhì),諸如磁存儲介質(zhì)(例如硬盤驅(qū)動器、軟盤、磁帶等等)、光學(xué)存儲設(shè)備(CD-ROM、光盤等等)、易失和非易失存儲設(shè)備(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可編程邏輯等等)中的代碼或邏輯。由處理器復(fù)合體訪問和執(zhí)行計算機可讀介質(zhì)中的代碼。此外,可以通過傳輸介質(zhì)或從網(wǎng)絡(luò)上的文件服務(wù)器訪問優(yōu)選實施例中使用的代碼。在這些情況下,包含代碼的制造產(chǎn)品可以包括傳輸介質(zhì),諸如網(wǎng)絡(luò)傳輸線、無線傳輸介質(zhì)、通過空間傳播的信號、無線電波、紅外線信號等等。因此,“制造產(chǎn)品”可以包括包含代碼的介質(zhì)。另外,“制造產(chǎn)品”可以包括硬件和軟件組件的組合,所述代碼被包含在其中、被在其中處理和執(zhí)行。當(dāng)然,本領(lǐng)域的技術(shù)人員將意識到可以對這一結(jié)構(gòu)進行許多改進,而不背離本說明的范圍,并且制造產(chǎn)品可以包括本領(lǐng)域公知的任何信息承載介質(zhì)。
以IBM的異步PPRC計算環(huán)境描述了所述實施例。然而,所述的用于保持一致性的實施例可以應(yīng)用于保持其它計算和賣方環(huán)境中的一致性,并且使用與在此所述不同的其它數(shù)據(jù)拷貝協(xié)議和程序。
在所述的實施例中,在分布式計算環(huán)境中執(zhí)行主和存儲控制器處理。在另外的實施例中,可以在執(zhí)行主存儲控制器處理的相同機器或平臺中執(zhí)行一個或多個從處理器的操作。
在某些實施例中,存儲設(shè)備中的數(shù)據(jù)被布置在卷中。在另外的系統(tǒng)中,其上保持有數(shù)據(jù)的存儲區(qū)域可以被根據(jù)不同于卷的存儲單元分組,它們被分組到分組中而不是出于保持一致性目的的會話中。
在所述實施例中,在主-從拷貝關(guān)系中被指定為從的存儲單元包括卷。在另外的實施例中,可以將其它存儲單元值指定為相對于主的從,其中這些存儲單元可以包括卷中的道、塊、邏輯子系統(tǒng)、邏輯驅(qū)動器或本領(lǐng)域公知的任何其它物理或邏輯存儲單元指定。
用于形成一致性組的所述操作可以用在高可用性是最重要的關(guān)鍵數(shù)據(jù)環(huán)境中。然而,本領(lǐng)域的技術(shù)人員將意識到此處所述的時間點拷貝操作可以被應(yīng)用于高可能性不是絕對必需的用于非關(guān)鍵數(shù)據(jù)的存儲系統(tǒng)中。
在所述的實施例中,每個存儲控制器將數(shù)據(jù)拷貝到具有所附的遠程存儲系統(tǒng)的相應(yīng)的遠程存儲控制器。在另外的實施例中,本地或中間站點處的多個存儲控制器可以將數(shù)據(jù)拷貝到一個遠程存儲控制器,其中,單個遠程存儲控制器可以從多個本地或中間存儲控制器接收時間點數(shù)據(jù)。
圖5的所示邏輯表示按某一順序發(fā)生的某些事件。在另外的實施例中,可以用不同順序執(zhí)行、修改或刪除某些操作。此外,可以將操作添加到上述邏輯,并且仍然符合所述實施例。另外,此處所述的操作可以順序地發(fā)生,或可以并行處理某些操作。另外,可以通過單個處理單元或通過分布式處理單元執(zhí)行操作。
圖7示例說明網(wǎng)絡(luò)組件諸如圖1和6的存儲控制器的計算機體系結(jié)構(gòu)400的一個實施例。體系結(jié)構(gòu)400可以包括處理器402(例如,微處理器)、存儲器404(例如易失存儲器設(shè)備)和存儲設(shè)備406(例如非易失存儲設(shè)備,諸如磁盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器等等)。存儲設(shè)備406可以包括內(nèi)部存儲設(shè)備或所附的或可通過網(wǎng)絡(luò)訪問的存儲設(shè)備。存儲設(shè)備406中的程序被裝入存儲器404中并以本領(lǐng)域公知的方式由處理器402執(zhí)行。該體系結(jié)構(gòu)進一步包括允許與網(wǎng)絡(luò)通信的網(wǎng)卡408。輸入設(shè)備410用來向處理器402提供用戶輸入,并且可以包括鍵盤、鼠標(biāo)、輸入筆、麥克風(fēng)、觸敏顯示屏或本領(lǐng)域公知的任何其它激活或輸入機構(gòu)。輸出設(shè)備412能再現(xiàn)從處理器402或其它組件傳送的信息,諸如顯示監(jiān)視器、打印機、存儲設(shè)備等等。
出于示例說明和描述的目的,已經(jīng)提供了各個實施例的上述說明。它不旨在是無遺露的,或?qū)⒃撜f明限制到所公開的準確形式。鑒于上述教導(dǎo),許多修改和變形是可能的。
權(quán)利要求
1.一種創(chuàng)建一致性組的方法,包括將在第一數(shù)據(jù)結(jié)構(gòu)中標(biāo)識的數(shù)據(jù)段從多個源中的一個源傳送到多個目的地中的一個目的地;更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示數(shù)據(jù)段的傳送;確定尚待從至少一個源傳送到至少一個目的地的數(shù)據(jù)段的至少一個積壓;作為所述至少一個被確定的積壓的函數(shù),選擇用于所述第一數(shù)據(jù)結(jié)構(gòu)的傳送時間;在第一模式中,更新所述第一數(shù)據(jù)結(jié)構(gòu),以便指示將在所述源和目的地間傳送的另外的數(shù)據(jù)段;以及在所述選擇的傳送時間屆滿時,從所述第一模式切換到可以創(chuàng)建一致性組的第二模式,其中所述第二模式包括更新第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu),以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
2.如權(quán)利要求1所述的方法,進一步包括在所述一致性組創(chuàng)建之前一第二時限屆滿時,將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且恢復(fù)所述第一模式,更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu),以便指示將在所述一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
3.如權(quán)利要求2所述的方法,進一步包括在所選擇的傳送時間第二次屆滿時,恢復(fù)所述第二模式,更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu),以便指示將在所述一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
4.如權(quán)利要求3所述的方法,進一步包括在所述一致性組創(chuàng)建之前所述第二時限第二次屆滿時,將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且恢復(fù)所述第一模式,更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu),以便指示將在所述一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
5.如權(quán)利要求4所述的方法,進一步包括在所述一致性組創(chuàng)建前所述第二時限屆滿預(yù)定多次時,繼續(xù)所述第二模式而不是恢復(fù)所述第一模式,更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu),以便指示將在所述一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
6.如權(quán)利要求5所述的方法,其中所述第一數(shù)據(jù)結(jié)構(gòu)是位圖,其中每個位表示在所述第二模式中為創(chuàng)建所述一致性組將從源卷傳送到目的地卷的道,并且其中所述更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示為了創(chuàng)建所述一致性組對數(shù)據(jù)段的傳送包括清除表示為了創(chuàng)建所述一致性組被傳送的道的位。
7.如權(quán)利要求6所述的方法,其中所述第二數(shù)據(jù)結(jié)構(gòu)是位圖,其中每個位表示將從所述一致性組的源卷傳送到目的地卷的道,并且其中所述更新所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將被在所述一致性組的源和目的地間傳送的另外的數(shù)據(jù)段包括設(shè)置指示將從所述一致性組的源卷傳送到目的地卷的道的位。
8.如權(quán)利要求7所述的方法,其中所述更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將被在所述一致性組的源和目的地間傳送的另外的數(shù)據(jù)段包括設(shè)置指示將從所述一致性組的源卷傳送到目的地卷的道的位。
9.如權(quán)利要求8所述的方法,其中所述正被創(chuàng)建的一致性組的所述源是由多個服務(wù)器保持的卷,并且其中所述積壓確定包括確定尚待從相關(guān)服務(wù)器傳送的數(shù)據(jù)段的每個服務(wù)器的至少一個積壓。
10.如權(quán)利要求9所述的方法,其中所述傳送時間選擇包括為每個服務(wù)器確定從相關(guān)服務(wù)器傳送的數(shù)據(jù)的至少一個數(shù)據(jù)傳送速率,并且為每個服務(wù)器確定用于所述第一數(shù)據(jù)結(jié)構(gòu)的估計的傳送時間作為為相關(guān)服務(wù)器確定的所述積壓和所述傳輸速率的函數(shù),并且選擇最大持續(xù)時間的所確定的傳送時間。
11.如權(quán)利要求10所述的方法,其中所述為每個服務(wù)器確定至少一個數(shù)據(jù)傳送速率包括在第一時間確定如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述的一致性組特定服務(wù)器尚待傳送的道數(shù),在第二后續(xù)時間確定如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組該特定服務(wù)器尚待傳送的道數(shù),作為在所述第一和第二時間確定的道數(shù)的變化的函數(shù)并除以所述第一和第二時間之間的持續(xù)時間,確定該特定服務(wù)器尚待傳送的道數(shù)的變化速率。
12.如權(quán)利要求11所述的方法,其中所述為每個服務(wù)器確定估計的傳送時間包括將由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組該特定服務(wù)器尚待傳送的道數(shù)的積壓除以為該特定服務(wù)器確定的所述數(shù)據(jù)傳送速率。
13.一種系統(tǒng),適用于與管理包括多個源的至少一個存儲單元的存儲控制器通信,并且其中每個存儲控制器適用于與包括多個目的地的一個遠程存儲設(shè)備通信,該系統(tǒng)包括存儲器,適用于保存第一和第二數(shù)據(jù)結(jié)構(gòu);用于將在所述第一數(shù)據(jù)結(jié)構(gòu)中標(biāo)識的數(shù)據(jù)段從所述多個源中的一個源傳送到所述多個目的地中的一個目的地的裝置;用于更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示數(shù)據(jù)段的傳送的裝置;用于確定尚待從至少一個源傳送到至少一個目的地的數(shù)據(jù)段的至少一個積壓的裝置;用于作為所述至少一個被確定的積壓的函數(shù),選擇用于所述第一數(shù)據(jù)結(jié)構(gòu)的傳送時間的裝置;第一模式裝置,用于在第一模式中更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在所述源和目的地間傳送的另外的數(shù)據(jù)段;模式切換裝置,用于在所述被選擇的傳送時間屆滿時,從所述第一模式切換到可以創(chuàng)建一致性組的第二模式;以及第二模式裝置,用于在所述第二模式中更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
14.如權(quán)利要求13所述的系統(tǒng),其中在所述一致性組創(chuàng)建前一第二時限屆滿時,所述模式切換裝置將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且從所述第二模式切換到所述第一模式,其中更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
15.如權(quán)利要求14所述的系統(tǒng),其中在所選擇的傳送時間第二次屆滿時,所述模式切換裝置從所述第一模式切換到所述第二模式,其中更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
16.如權(quán)利要求15所述的系統(tǒng),其中在一致性組創(chuàng)建前所述第二時限第二次屆滿時,所述模式切換裝置將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且從所述第二模式切換到所述第一模式,更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
17.如權(quán)利要求16所述的系統(tǒng),其中在一致性組創(chuàng)建前所述第二時限屆滿預(yù)定多次時,所述模式切換裝置繼續(xù)所述第二模式,而不是從所述第二模式切換到所述第一模式,更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
18.如權(quán)利要求17所述的系統(tǒng),其中所述第一數(shù)據(jù)結(jié)構(gòu)是位圖,其中每個位表示在所述第二模式中為創(chuàng)建一致性組將從源卷傳送到目的地卷的道,并且其中用于在所述第二模式中更新所述第一數(shù)據(jù)結(jié)構(gòu)的所述裝置包括用于清除表示為創(chuàng)建一致性組被傳送的道的位的裝置。
19.如權(quán)利要求18所述的系統(tǒng),其中所述第二數(shù)據(jù)結(jié)構(gòu)是位圖,其中每個位表示將從一致性組的源卷傳送到目的地卷的道,并且其中用于更新所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在所述源和目的地間傳送的另外的數(shù)據(jù)段的所述第二模式裝置包括用于設(shè)置指示將從一致性組的源卷傳送到目的地卷的道的位的裝置。
20.如權(quán)利要求19所述的系統(tǒng),其中用于更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段的所述第一模式裝置包括用于設(shè)置指示將從一致性組的源卷傳送到目的地卷的道的位的裝置。
21.如權(quán)利要求20所述的系統(tǒng),進一步包括多個服務(wù)器,適用于保持正被創(chuàng)建的一致性組的源,并且其中所述用于積壓確定的裝置用于確定尚待從相關(guān)服務(wù)器傳送的數(shù)據(jù)段的每個服務(wù)器的至少一個積壓的裝置。
22.如權(quán)利要求21所述的系統(tǒng),其中所述用于傳送時間選擇的裝置包括用于為每個服務(wù)器確定從相關(guān)服務(wù)器傳送的數(shù)據(jù)的至少一個數(shù)據(jù)傳送速率的裝置,以及用于為每個服務(wù)器確定用于所述第一數(shù)據(jù)結(jié)構(gòu)的估計的傳送時間作為為相關(guān)服務(wù)器確定的所述積壓和所述傳送速率的函數(shù)的裝置,以及用于選擇最大持續(xù)時間的所確定的傳送時間的裝置。
23.如權(quán)利要求22所述的系統(tǒng),其中所述用于為每個服務(wù)器確定至少一個數(shù)據(jù)傳送速率的裝置包括用于在第一時間確定如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組特定服務(wù)器尚待傳送的道數(shù),在第二后續(xù)時間確定如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組該特定服務(wù)器尚待傳送的道數(shù),作為在所述第一和第二時間確定的道數(shù)的變化的函數(shù)并除以所述第一和第二時間之間的持續(xù)時間,確定該特定服務(wù)器尚待傳送的道數(shù)的變化速率的裝置。
24.如權(quán)利要求23所述的系統(tǒng),其中所述用于為每個服務(wù)器確定估計的傳送時間的裝置包括用于將如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組該特定服務(wù)器尚待傳送的道數(shù)的積壓除以為該特定服務(wù)器確定的數(shù)據(jù)傳送速率的裝置。
25.一種制造產(chǎn)品,包括能夠由系統(tǒng)執(zhí)行以便執(zhí)行操作的代碼,其中該系統(tǒng)包括存儲器,適用于保持第一和第二數(shù)據(jù)結(jié)構(gòu),并且其中該系統(tǒng)適用于與管理包括多個源的至少一個存儲單元的至少一個存儲控制器通信,并且其中每個存儲控制器適用于與包括多個目的地的一個遠程存儲設(shè)備通信,并且其中,所述操作包括將在所述第一數(shù)據(jù)結(jié)構(gòu)中標(biāo)識的數(shù)據(jù)段從所述多個源中的一個源傳送到所述多個目的地中的一個目的地;更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示數(shù)據(jù)段的傳送;確定尚待從至少一個源傳送到至少一個目的地的數(shù)據(jù)段的至少一個積壓;作為所述至少一個被確定的積壓的函數(shù),選擇用于所述第一數(shù)據(jù)結(jié)構(gòu)的傳送時間;在第一模式中,更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在所述源和目的地間傳送的另外的數(shù)據(jù)段;在所述被選擇的傳送時間屆滿時,從所述第一模式切換到可以創(chuàng)建一致性組的第二模式;以及在所述第二模式中,更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
26.如權(quán)利要求25所述的產(chǎn)品,其中所述操作進一步包括在一致性組創(chuàng)建前一第二時限屆滿時,將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且從所述第二模式切換到所述第一模式,其中更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
27.如權(quán)利要求26所述的產(chǎn)品,其中所述操作進一步包括在所選擇的傳送時間第二次屆滿時,從所述第一模式切換到所述第二模式,其中更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
28.如權(quán)利要求27所述的產(chǎn)品,其中所述操作進一步包括在一致性組創(chuàng)建前所述第二時限第二次屆滿時,將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且從所述第二模式切換到所述第一模式,更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
29.如權(quán)利要求28所述的產(chǎn)品,其中所述操作進一步包括在一致性組創(chuàng)建前所述第二時限屆滿預(yù)定多次時,繼續(xù)所述第二模式而不是從所述第二模式切換到所述第一模式,更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
30.如權(quán)利要求29所述的產(chǎn)品,其中所述第一數(shù)據(jù)結(jié)構(gòu)是位圖,其中每個位表示在所述第二模式中為創(chuàng)建一致性組將從源卷傳送到目的地卷的道,并且其中所述在所述第二模式中更新所述第一數(shù)據(jù)結(jié)構(gòu)包括清除表示為創(chuàng)建一致性組被傳送的道的位。
31.如權(quán)利要求30所述的產(chǎn)品,其中所述第二數(shù)據(jù)結(jié)構(gòu)是位圖,其中每個位表示將從一致性組的源卷傳送到目的地卷的道,并且其中所述更新所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在所述源和目的地間傳送的另外的數(shù)據(jù)段包括設(shè)置指示將從一致性組的源卷傳送到目的地卷的道的位。
32.如權(quán)利要求31所述的產(chǎn)品,其中所述更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段包括設(shè)置指示將從一致性組的源卷傳送到目的地卷的道的位。
33.如權(quán)利要求32所述的產(chǎn)品,其中該系統(tǒng)進一步包括多個服務(wù)器,適用于保持正被創(chuàng)建的一致性組的源,并且其中所述積壓確定包括確定尚待從相關(guān)服務(wù)器傳送的數(shù)據(jù)段的每個服務(wù)器的至少一個積壓。
34.如權(quán)利要求33所述的產(chǎn)品,其中所述傳送時間選擇包括為每個服務(wù)器確定從相關(guān)服務(wù)器傳送的數(shù)據(jù)的至少一個數(shù)據(jù)傳送速率,并且為每個服務(wù)器確定用于所述第一數(shù)據(jù)結(jié)構(gòu)的估計的傳送時間作為為相關(guān)服務(wù)器確定的所述積壓和所述傳送速率的函數(shù),并且選擇最大持續(xù)時間的所確定的傳送時間。
35.如權(quán)利要求34所述的產(chǎn)品,其中所述為每個服務(wù)器確定至少一個數(shù)據(jù)傳送速率包括在第一時間確定如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組特定服務(wù)器尚待傳送的道數(shù),在第二后續(xù)時間確定如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組該特定服務(wù)器尚待傳送的道數(shù),作為在所述第一和第二時間確定的道數(shù)的變化的函數(shù)并除以所述第一和第二時間之間的持續(xù)時間,確定該特定服務(wù)器尚待傳送的道數(shù)的變化速率。
36.如權(quán)利要求35所述的產(chǎn)品,其中所述為每個服務(wù)器確定估計的傳送時間包括將如由所述第一數(shù)據(jù)結(jié)構(gòu)指示的為創(chuàng)建所述一致性組該特定服務(wù)器尚待傳送的道數(shù)的積壓除以為該特定服務(wù)器確定的數(shù)據(jù)傳送速率。
37.一種用于部署計算指令的方法,包括將計算機可讀代碼集成到系統(tǒng)中,其中該系統(tǒng)包括存儲器,適用于保持第一和第二數(shù)據(jù)結(jié)構(gòu),并且其中該系統(tǒng)適用于與管理包括多個源的至少一個存儲單元的至少一個存儲控制器通信,并且其中每個存儲控制器適用于與包括多個目的地的一個遠程存儲設(shè)備通信,其中與系統(tǒng)結(jié)合的代碼能夠使系統(tǒng)執(zhí)行將在所述第一數(shù)據(jù)結(jié)構(gòu)中標(biāo)識的數(shù)據(jù)段從所述多個源中的一個源傳送到所述多個目的地中的一個目的地;更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示數(shù)據(jù)段的傳送;確定尚待從至少一個源傳送到至少一個目的地的數(shù)據(jù)段的至少一個積壓;作為所述至少一個被確定的積壓的函數(shù),選擇用于所述第一數(shù)據(jù)結(jié)構(gòu)的傳送時間;在第一模式中,更新所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在所述源和目的地間傳送的另外的數(shù)據(jù)段;在所述被選擇的傳送時間屆滿時,從所述第一模式切換到可以創(chuàng)建一致性組的第二模式;以及在所述第二模式中,更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
38.如權(quán)利要求37所述的方法,其中所述代碼進一步能夠使所述系統(tǒng)執(zhí)行在一致性組創(chuàng)建前一第二時限屆滿時,將所述第二數(shù)據(jù)結(jié)構(gòu)合并到所述第一數(shù)據(jù)結(jié)構(gòu)中,并且從所述第二模式切換到所述第一模式,其中更新所述第一數(shù)據(jù)結(jié)構(gòu)而不是所述第二數(shù)據(jù)結(jié)構(gòu)以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
39.如權(quán)利要求38所述的方法,其中所述代碼進一步能夠使所述系統(tǒng)執(zhí)行在所選擇的傳送時間第二次屆滿時,從所述第一模式切換到所述第二模式,其中更新所述第二數(shù)據(jù)結(jié)構(gòu)而不是所述第一數(shù)據(jù)結(jié)構(gòu),以便指示將在一致性組的源和目的地間傳送的另外的數(shù)據(jù)段。
40.如權(quán)利要求39所述的方法,其中至少一個存儲單元是獨立磁盤冗余陣列(RAID)陣列存儲單元。
全文摘要
提供了用于管理一致性組形成中的數(shù)據(jù)傳送的方法、系統(tǒng)、部署和程序。在一個實施例中,作為至少一個被確定的積壓的函數(shù)選擇用于一個數(shù)據(jù)結(jié)構(gòu)的傳送時間。在被選擇的傳送時間屆滿時,可以切換操作模式。通過動態(tài)地選擇傳送時間,可以減少積壓以增加成功創(chuàng)建一致性組的可能性。描述和提出了其它實施例。
文檔編號G06F11/14GK1773463SQ20051011514
公開日2006年5月17日 申請日期2005年11月10日 優(yōu)先權(quán)日2004年11月12日
發(fā)明者R·F·巴爾特福伊, P-F·讓-丹尼斯, G·A·斯皮爾, S·E·威廉姆斯, S·S·武斯特 申請人:國際商業(yè)機器公司