維護(hù)多個(gè)目標(biāo)拷貝的制作方法
【專利摘要】本發(fā)明涉及維護(hù)多個(gè)目標(biāo)拷貝。提供了用于維護(hù)即時(shí)虛擬拷貝的技術(shù)。接收對(duì)于執(zhí)行即時(shí)虛擬拷貝操作以從第一卷到新卷創(chuàng)建即時(shí)虛擬拷貝的請(qǐng)求。確定從最后一次即時(shí)虛擬拷貝操作被執(zhí)行以來沒有修改過第一卷。確定是否已經(jīng)創(chuàng)建了中間卷和中間映射。響應(yīng)于確定還沒有創(chuàng)建中間卷和中間映射而創(chuàng)建中間卷和中間映射,基于中間映射使得中間卷在依賴鏈中依賴于第一卷,及使得新卷在依賴鏈中依賴于中間卷。
【專利說明】維護(hù)多個(gè)目標(biāo)拷貝
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明實(shí)施例涉及維護(hù)多個(gè)目標(biāo)拷貝。
【背景技術(shù)】
[0002]計(jì)算機(jī)系統(tǒng)經(jīng)常包括一個(gè)或多個(gè)用于處理數(shù)據(jù)以及運(yùn)行應(yīng)用程序的產(chǎn)品計(jì)算機(jī),用于存儲(chǔ)數(shù)據(jù)的直接訪問存儲(chǔ)設(shè)備(DASD),以及用于控制產(chǎn)品計(jì)算機(jī)和DASD之間數(shù)據(jù)傳輸?shù)拇鎯?chǔ)控制器。存儲(chǔ)控制器也稱作控制單元或存儲(chǔ)導(dǎo)向器,其管理到也稱作直接訪問存儲(chǔ)設(shè)備(DASD)的存儲(chǔ)空間的訪問,該存儲(chǔ)空間包含有許多以循環(huán)體系結(jié)構(gòu)連接的硬盤驅(qū)動(dòng)器。產(chǎn)品計(jì)算機(jī)可以通過存儲(chǔ)控制器把輸入/輸出(I/O)請(qǐng)求傳送到存儲(chǔ)空間。
[0003]數(shù)據(jù)的存儲(chǔ)在大組織中是重要的,既是為了數(shù)據(jù)的可靠性也是為了在任何硬件失敗的情況下能夠恢復(fù)數(shù)據(jù)。存儲(chǔ)區(qū)域網(wǎng)(SAN)是當(dāng)非常大量的數(shù)據(jù)需要以可靠和安全的方式存儲(chǔ)時(shí)使用的體系結(jié)構(gòu)。該技術(shù)允許要?jiǎng)?chuàng)建的網(wǎng)絡(luò)支持諸如磁盤整列的遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)設(shè)備以這樣的方式附連到服務(wù)器,即,對(duì)操作系統(tǒng)來說,該設(shè)備表現(xiàn)為象本地附連的一樣。既在數(shù)據(jù)存儲(chǔ)中也在個(gè)別組件之間的硬件連接中包括大量的冗余在這些網(wǎng)絡(luò)中是常見的。存在用于創(chuàng)建數(shù)據(jù)冗余的各種技術(shù)。
[0004]在許多系統(tǒng)中,諸如DASD的一個(gè)存儲(chǔ)設(shè)備上的數(shù)據(jù)卷可以被拷貝到相同或另一存儲(chǔ)設(shè)備。時(shí)間點(diǎn)拷貝涉及從源卷到目標(biāo)卷物理地拷貝所有的數(shù)據(jù),使得目標(biāo)卷具有到時(shí)間點(diǎn)為止的數(shù)據(jù)的拷貝。時(shí)間點(diǎn)拷貝也可以通過邏輯地生成數(shù)據(jù)的拷貝然后只有當(dāng)必要時(shí)才拷貝數(shù)據(jù)來完成,在效果上延遲了物理拷貝。執(zhí)行該邏輯拷貝操作以最小化目標(biāo)卷和源卷不可訪問的時(shí)間。
[0005]許多直接訪問存儲(chǔ)設(shè)備(DASD)子系統(tǒng)能夠執(zhí)行“即時(shí)虛擬拷貝”操作,也稱作為“快速復(fù)制功能”。即時(shí)虛擬拷貝操作通過修改諸如關(guān)系表或指針的元數(shù)據(jù),把源數(shù)據(jù)對(duì)象既當(dāng)作原始的又當(dāng)作拷貝的來工作。響應(yīng)于產(chǎn)品計(jì)算機(jī)的拷貝請(qǐng)求,存儲(chǔ)子系統(tǒng)在不做任何數(shù)據(jù)的物理拷貝的情況下,立即報(bào)告拷貝的創(chuàng)建。只創(chuàng)建了“虛擬的”拷貝,并且產(chǎn)品計(jì)算機(jī)完全不知道不存在另外的物理拷貝。
[0006]以后,當(dāng)存儲(chǔ)系統(tǒng)接收到對(duì)原始的數(shù)據(jù)或者拷貝的數(shù)據(jù)的更新時(shí),更新被分開地存儲(chǔ)并且只對(duì)更新的數(shù)據(jù)對(duì)象交叉引用。此時(shí),原始的和拷貝的數(shù)據(jù)對(duì)象開始偏離。最初的好處是即時(shí)虛擬拷貝幾乎是瞬時(shí)發(fā)生的,完成的比正常的物理拷貝操作快很多。這就解放了產(chǎn)品計(jì)算機(jī)及存儲(chǔ)子系統(tǒng)去執(zhí)行其它任務(wù)。產(chǎn)品計(jì)算機(jī)或存儲(chǔ)子系統(tǒng)在后臺(tái)處理期間或其它時(shí)間甚至可以繼續(xù)來創(chuàng)建原始數(shù)據(jù)對(duì)象的實(shí)際的物理拷貝。
[0007]一個(gè)已知的這種即時(shí)虛擬拷貝操作是FLASHCOPY?操作。(FLASHC0PY是國際商用機(jī)器公司在美國和/或其它國家的注冊(cè)商標(biāo)或普通法商標(biāo))。FLASHCOPY?.操作涉及在相同或不同設(shè)備的源卷和目標(biāo)卷之間建立邏輯的時(shí)間點(diǎn)關(guān)系。
[0008]諸如FLASHCOPY?操作的即時(shí)虛擬拷貝技術(shù)提供了時(shí)間點(diǎn)拷貝工具。因此,即時(shí)虛擬拷貝可以描述為數(shù)據(jù)集或卷的即時(shí)快照。
[0009]例如,諸如FLASHCOP\?功能的功能使得管理員可以做數(shù)據(jù)的時(shí)間點(diǎn)全卷重寫之前被拷貝到目標(biāo)卷。:設(shè)備上所支持的特征,這個(gè)特征允許用戶勺拷貝。在目標(biāo)盤上做了源盤的拷貝。這些人現(xiàn)的常見的特征是反向匕映射的源盤。
戶常見的拷貝服務(wù)特征,它能使用戶創(chuàng)建產(chǎn))(即,即時(shí)虛擬拷貝這些卷可以在存在欠變時(shí)用于恢復(fù)數(shù)據(jù)。使用這個(gè)特征的原因5持續(xù)數(shù)據(jù)保護(hù)(⑶?)或黃金映象安描述為數(shù)據(jù)的備份,其自動(dòng)地保存對(duì)數(shù)據(jù)(臺(tái)版本可以稱作黃金映象,并且可以從該黃
功能的一些基本技術(shù)包括寫時(shí)拷貝與時(shí)拷貝和與時(shí)重定向都跟蹤映
良,由于產(chǎn)品計(jì)算機(jī)到源卷或產(chǎn)品卷的寫活[0017]圖1在框圖中說明了根據(jù)某些實(shí)施例的計(jì)算環(huán)境。
[0018]圖2在框圖中說明了根據(jù)某些實(shí)施例的四個(gè)卷(有時(shí)稱作V-盤)以及其中某些卷之間的映射。
[0019]圖3在框圖中說明了根據(jù)某些實(shí)施例的通過各個(gè)映射鏈接的存儲(chǔ)卷級(jí)聯(lián)的例子,其中每個(gè)映射定義了從源卷到目標(biāo)卷的即時(shí)虛擬拷貝功能。
[0020]圖4在框圖中說明了根據(jù)某些實(shí)施例的包括中間卷和中間映射的存儲(chǔ)卷級(jí)聯(lián)的例子。
[0021]圖5A和5B在流程圖中說明了根據(jù)某些實(shí)施例的通過級(jí)聯(lián)工具執(zhí)行的過程。
[0022]圖6在框圖中說明了根據(jù)某些實(shí)施例的可以使用的計(jì)算機(jī)體系結(jié)構(gòu)。
【具體實(shí)施方式】
[0023]本發(fā)明各種實(shí)施例的描述是為了說明的目的而給出的,而不是詳盡的或者要把本發(fā)明限定到所公開的實(shí)施例。對(duì)本領(lǐng)域的普通技術(shù)人員來說,在不背離所描述實(shí)施例的范圍的情況下,許多修改與變體都是顯而易見的。本文中所用術(shù)語的選擇是為了最好地解釋實(shí)施例的原理、實(shí)踐應(yīng)用或?qū)κ袌錾纤业郊夹g(shù)的技術(shù)改進(jìn),或者使本領(lǐng)域的其他普通技術(shù)人員能夠理解本文所公開的實(shí)施例。
[0024]圖1在框圖中說明了根據(jù)某些實(shí)施例的計(jì)算環(huán)境。存儲(chǔ)控制器100通過網(wǎng)絡(luò)190從產(chǎn)品計(jì)算機(jī)150a,b,...,k (其中a,b和k可以是任何整數(shù)值,其中產(chǎn)品計(jì)算機(jī)150b和產(chǎn)品計(jì)算機(jī)150k之間的省略號(hào)指示可能存在任何數(shù)量的產(chǎn)品計(jì)算機(jī))接收輸入/輸出(I/O)請(qǐng)求,其中網(wǎng)絡(luò)190指向分別配置有卷(例如,邏輯單元號(hào)、邏輯設(shè)備等)122a,b...n,和142a,b...1的存儲(chǔ)裝置120、140,其中η和I可以是不同的整數(shù)值或者相同的整數(shù)值。存儲(chǔ)裝置120和140之間的省略號(hào)指示可能存在任何數(shù)量的存儲(chǔ)設(shè)備。存儲(chǔ)裝置120、140可以是諸如DASD的存儲(chǔ)設(shè)備。
[0025]存儲(chǔ)控制器100還包括級(jí)聯(lián)引擎110。級(jí)聯(lián)引擎110執(zhí)行到存儲(chǔ)裝置120、140或在存儲(chǔ)裝置120、140之間的數(shù)據(jù)的即時(shí)虛擬拷貝(例如,從產(chǎn)品計(jì)算機(jī)150a、150b、150k)。在本發(fā)明某些實(shí)施例中,代替在存儲(chǔ)控制器100上執(zhí)行或者除此之外,級(jí)聯(lián)弓丨擎110可以在連接到存儲(chǔ)控制器100的其它存儲(chǔ)控制器上執(zhí)行。
[0026]卷可以是存儲(chǔ)裝置的任何邏輯或者物理元件。在某些實(shí)施例中,數(shù)據(jù)塊是軌跡的內(nèi)容,而子數(shù)據(jù)塊是軌跡的扇區(qū)的內(nèi)容。卷可以劃分成包含數(shù)據(jù)塊(也稱作“數(shù)據(jù)的塊”)的存儲(chǔ)塊,并且存儲(chǔ)塊進(jìn)一步劃分成包含子數(shù)據(jù)塊(也稱作“數(shù)據(jù)的子塊”)的存儲(chǔ)子塊。
[0027]本發(fā)明實(shí)施例可以應(yīng)用到任何存儲(chǔ)介質(zhì)之間的數(shù)據(jù)傳輸。例如,如圖1所說明的,本發(fā)明某些實(shí)施例可以與位于單一存儲(chǔ)控制器的存儲(chǔ)介質(zhì)一起使用。而且,本發(fā)明某些備選實(shí)施例可以與位于不同存儲(chǔ)控制器、不同物理站點(diǎn)等的存儲(chǔ)介質(zhì)一起使用。每一個(gè)存儲(chǔ)設(shè)備對(duì)即時(shí)虛擬拷貝來說可以是源或者目標(biāo)。
[0028]在某些實(shí)施例中,(代替存儲(chǔ)裝置120、140或除此之外)可移動(dòng)存儲(chǔ)裝置可以用來維護(hù)拷貝??梢苿?dòng)存儲(chǔ)裝置可以存在于存儲(chǔ)控制器100處。
[0029]存儲(chǔ)控制器100還可以包括處理器聯(lián)合體(未示出)并且可以包括任何存儲(chǔ)控制器或本領(lǐng)域已知的服務(wù)器。
[0030]產(chǎn)品計(jì)算機(jī)150a、b...k可以包含任何本領(lǐng)域已知的計(jì)算設(shè)備。存儲(chǔ)器控制100和產(chǎn)品計(jì)算機(jī)系統(tǒng)150a、b...k經(jīng)由網(wǎng)絡(luò)190通信,其中網(wǎng)絡(luò)190可以包括任何類型的網(wǎng)絡(luò),諸如,存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng),內(nèi)部網(wǎng)等。存儲(chǔ)裝置120、140可以每個(gè)都包括存儲(chǔ)設(shè)備整列,諸如直接訪問存儲(chǔ)設(shè)備(DASD)、簡單磁盤捆綁(JBOD)、獨(dú)立磁盤冗余整列(RAID),虛擬設(shè)備等。
[0031]另外,盡管圖1說明了單一存儲(chǔ)控制器100,但是本領(lǐng)域技術(shù)人員將知道可以通過網(wǎng)絡(luò)(例如,局域網(wǎng)(LAN)、廣域網(wǎng)(WAN),因特網(wǎng)等)連接多個(gè)存儲(chǔ)控制器,并且多個(gè)存儲(chǔ)控制器的一個(gè)或多個(gè)可以實(shí)現(xiàn)本發(fā)明。
[0032]即時(shí)虛擬拷貝指令啟動(dòng)即時(shí)虛擬拷貝進(jìn)程,該進(jìn)程創(chuàng)建從源卷到目標(biāo)卷的映射。源卷的映象在這個(gè)特殊的時(shí)間點(diǎn)現(xiàn)在在目標(biāo)卷上是可以得到的。這創(chuàng)建了源卷上數(shù)據(jù)的備份,并且還允許在源卷的數(shù)據(jù)上運(yùn)行測試和其它管理任務(wù),因?yàn)樵嫉臄?shù)據(jù)保存在原始的源卷上,所以不會(huì)有隨之而來的丟失任何原始數(shù)據(jù)的危險(xiǎn)。
[0033]當(dāng)做即時(shí)虛擬拷貝時(shí),如由映射所定義的,在源卷和目標(biāo)卷這兩個(gè)之間創(chuàng)建鏈接?,F(xiàn)在數(shù)據(jù)可以在后臺(tái)拷貝,具有的另外的要求是對(duì)目標(biāo)卷的任何訪問將立即引起源卷的映象的相關(guān)部分被拷貝,并且同樣對(duì)源卷的會(huì)導(dǎo)致由該源卷存儲(chǔ)的映象改變的任何訪問也將引起未改變數(shù)據(jù)被立即拷貝到目標(biāo)卷。對(duì)外部用戶來說,盡管數(shù)據(jù)將只在上述情況下才被物理地拷貝,但是目標(biāo)卷以這種方式存儲(chǔ)源卷的時(shí)間點(diǎn)拷貝。
[0034]是即時(shí)虛擬拷貝功能的目標(biāo)卷的存儲(chǔ)卷也可以是進(jìn)一步即時(shí)虛擬拷貝功能的源卷,這樣就創(chuàng)建了存儲(chǔ)卷的級(jí)聯(lián)。
[0035]為了最小化開銷,級(jí)聯(lián)引擎110通過在目標(biāo)卷之間創(chuàng)建依賴來執(zhí)行級(jí)聯(lián)方法。圖2在框圖中說明了根據(jù)某些實(shí)施例的四個(gè)卷(有時(shí)稱作V-盤)以及其中某些卷之間的映射。尤其是,圖2說明了卷A200,卷B210,卷C220和卷D230。參考圖2,級(jí)聯(lián)引擎110創(chuàng)建了由以下定義的三個(gè)即時(shí)虛擬拷貝映射1,2,3:
[0036]1:A — B
[0037]2:A — C
[0038]3:A — D
[0039]從這些映射1,2和3開始,級(jí)聯(lián)引擎110創(chuàng)建A — D — C — B的依賴鏈。圖3在框圖中說明了根據(jù)某些實(shí)施例的通過各個(gè)映射300、302、304鏈接的存儲(chǔ)卷200、230、220、210的級(jí)聯(lián)的例子,其中每個(gè)映射定義從源卷到目標(biāo)卷的即時(shí)虛擬拷貝功能。在圖3中,卷D230提供卷A200的備份,卷C220提供卷D230的備份,卷B210提供卷C220的備份。鏈接不同存儲(chǔ)卷200、210、220、230的即時(shí)虛擬拷貝功能會(huì)在不同的時(shí)間開始,其創(chuàng)建由各自存儲(chǔ)卷200、210、220、230存儲(chǔ)的映象的不同時(shí)間點(diǎn)拷貝。
[0040]在A — D — C — B的即時(shí)虛擬拷貝級(jí)聯(lián)中,其中A、D、C和B是圖2中示出的級(jí)聯(lián)中的卷,并且箭頭是即時(shí)虛擬拷貝映射,然后指示(A,D)是從卷A200到卷D230的即時(shí)虛擬拷貝映射,該級(jí)聯(lián)具有映射(A,D) (D,C)以及(C,B)。在級(jí)聯(lián)的這個(gè)實(shí)現(xiàn)中,根據(jù)所需要的在卷D230上維護(hù)映象的各個(gè)即時(shí)虛擬拷貝功能,寫到卷A200的新數(shù)據(jù)能夠引起到卷D230的分開寫。
[0041]更復(fù)雜的級(jí)聯(lián)是可能的,尤其當(dāng)存儲(chǔ)卷用作多于一個(gè)即時(shí)虛擬拷貝功能的源時(shí)。例如,用戶可能希望在由盤A存儲(chǔ)的當(dāng)前映象上執(zhí)行兩個(gè)不同的測試。例如,用戶可以發(fā)起即時(shí)虛擬拷貝映射A — B和A — E,使得它們能夠在盤B和盤E上執(zhí)行獨(dú)立的測試。然后,如果用戶偏向這兩個(gè)測試結(jié)果中的后者,那么它們可以發(fā)起即時(shí)虛擬拷貝映射E —A來把該數(shù)據(jù)傳輸回盤A。同樣的,被執(zhí)行以用來把數(shù)據(jù)恢復(fù)到原始的盤的即時(shí)虛擬拷貝逆轉(zhuǎn)(reversal)將導(dǎo)致復(fù)雜的盤布置以及即時(shí)虛擬拷貝映射。
[0042]參考圖3,由每個(gè)目標(biāo)卷210、220、230表示的映象是通過首先查看自身建立的。如果目標(biāo)卷210、220、230包含所需的數(shù)據(jù),那么數(shù)據(jù)就檢索到了。如果目標(biāo)卷210、220、230不包含所需要的數(shù)據(jù),那么級(jí)聯(lián)引擎110查看上游(圖3中依賴鏈的左側(cè))直到找到數(shù)據(jù)。
[0043]如果卷A200的區(qū)域被改變,那么那個(gè)區(qū)域保持的原始數(shù)據(jù)被拷貝到卷D230,然后該區(qū)域可以被修改。這樣,級(jí)聯(lián)就減少了維護(hù)所有這些映象的開銷。實(shí)際上,因?yàn)椴灰蕾囉谟诚蟮臄?shù)量來綁定開銷,所以映象的數(shù)量現(xiàn)在是無關(guān)的。
[0044]由于多個(gè)時(shí)間點(diǎn)映象用于拷貝時(shí)寫實(shí)現(xiàn),所以級(jí)聯(lián)引擎110限制開銷。例如,如果目標(biāo)卷本身要將被改變,那么要做另外的改變。如果卷C220的區(qū)域改變了,那么為了維護(hù)卷B210,級(jí)聯(lián)引擎110首先從卷D230 (或卷A200)拷貝相應(yīng)的區(qū)域并且把該數(shù)據(jù)寫到卷B210。
[0045]在某些實(shí)施例中,有些目標(biāo)卷從來沒有或者很少被修改并且底層存儲(chǔ)裝置被完全分配(即,不是精簡提供的(thin provisioned))。在某些實(shí)施例中,目標(biāo)卷是精簡提供的以避免“浪費(fèi)的”容量,這使得用戶避免為用于保持從來沒有或很少改變的數(shù)據(jù)的容量付費(fèi)。精簡提供的卷可以描述為消費(fèi)與已經(jīng)寫到卷中的數(shù)據(jù)量成比例的后端存儲(chǔ)。使用級(jí)聯(lián)的方法,看似獨(dú)立的映象會(huì)影響每個(gè)映象需要的容量大小(例如,當(dāng)目標(biāo)映象經(jīng)歷相當(dāng)大的變化時(shí))。當(dāng)目標(biāo)映象在它們的生命期內(nèi)經(jīng)歷相當(dāng)大的變化時(shí),這種影響尤其明顯。
[0046]為了刪除目標(biāo)映象之間的依賴性,級(jí)聯(lián)引擎110創(chuàng)建中間映射和中間卷。中間映射和中間卷彼此相關(guān)聯(lián)。用這個(gè)方法,對(duì)目標(biāo)卷的修改對(duì)其它目標(biāo)卷沒有影響。
[0047]僅僅為增加理解,將提供一個(gè)例子。在這個(gè)例子中,當(dāng)級(jí)聯(lián)引擎110啟動(dòng)映射I時(shí),響應(yīng)于收到對(duì)于從卷A200到卷B210的即時(shí)虛擬拷貝的請(qǐng)求,級(jí)聯(lián)引擎110也創(chuàng)建由下面定義的中間映射I’以及中間卷B’ 410:
[0048]1:A —B
[0049]1,:A —B,
[0050]這導(dǎo)致下面的依賴鏈:
[0051]A — B,一 B
[0052]在這個(gè)例子中,自從映射I啟動(dòng)開始,沒有寫改變過卷A200,并且,響應(yīng)于收到另一個(gè)對(duì)于從卷A200到卷C220的即時(shí)虛擬拷貝的請(qǐng)求,級(jí)聯(lián)引擎110啟動(dòng)映射2:
[0053]2:A —C
[0054]在這種情況下,級(jí)聯(lián)引擎110不創(chuàng)建另一個(gè)中間卷或中間映射。相反,級(jí)聯(lián)引擎110把卷C220從中間卷B’ 410分支出去使得依賴鏈為:
[0055]A — B,( — B, — C)
[0056]通過(一B,一 C)表示的依賴鏈部分說明了中間卷B’ 410的分支使得卷B210和卷C220彼此獨(dú)立并且只依賴于中間卷B’ 410和卷A200。
[0057]下一步,假設(shè)卷A200被修改,然后級(jí)聯(lián)引擎110響應(yīng)于收到對(duì)于從卷A200到卷D230的即時(shí)虛擬拷貝的請(qǐng)求而啟動(dòng)映射3。在這種情況下,級(jí)聯(lián)引擎創(chuàng)建由下面定義的中間卷D’ 420和中間映射3’:[0058]3,:A —D,
[0059]下面是該依賴鏈,并且圖4在框圖中說明了下面依賴鏈的根據(jù)某些實(shí)施例的包括中間卷和中間映射的存儲(chǔ)卷級(jí)聯(lián)的例子:
[0060]A — D,( — D) — B,( — B, — C)
[0061]利用具有中間卷及相關(guān)聯(lián)的中間映射的依賴鏈,對(duì)卷C220的讀將在卷C220上、中間卷B’410或者卷A200上找到數(shù)據(jù)。對(duì)卷B210的讀將在卷B210、中間卷B’410或卷A200上找到數(shù)據(jù)。
[0062]中間卷D’ 420和B’ 410是寫入的注釋并且它們的意圖分別是維護(hù)用于卷D230和卷C220和B210的數(shù)據(jù)。也就是說,如果收到對(duì)中間卷的寫請(qǐng)求,那么就拒絕該寫請(qǐng)求。
[0063]現(xiàn)在,到卷D230的寫對(duì)卷B210或卷C220上的數(shù)據(jù)沒有影響。同樣,到卷B210的寫對(duì)卷C220或卷D230上的數(shù)據(jù)沒有影響。卷B210、C220和D230彼此獨(dú)立,并且在它們每個(gè)上面分配的數(shù)據(jù)僅僅是寫到卷B210、C220或D230的數(shù)據(jù)。
[0064]中間卷D’420由于寫到卷A200的區(qū)域而保持?jǐn)?shù)據(jù)是可能的;卷D230為相應(yīng)的區(qū)域保持?jǐn)?shù)據(jù);并且卷B210和卷C220也為相同的相應(yīng)區(qū)域保持?jǐn)?shù)據(jù)。在某些實(shí)施例中,因?yàn)椴恍枰虚g卷D’ 420上的數(shù)據(jù),所以用某種形式的垃圾回收來最小化所使用容量的大小。以這種方式,級(jí)聯(lián)引擎110確保獨(dú)立于目標(biāo)輸入/輸出(I/O) (B卩,讀/寫)活動(dòng)的數(shù)量而只使用了最少量的容量維護(hù)目標(biāo)映象。
[0065]圖5A和5B在流程圖中說明了根據(jù)某些實(shí)施例的由級(jí)聯(lián)引擎110執(zhí)行的過程??刂圃趬K500開始,以級(jí)聯(lián)引擎110接收到對(duì)于執(zhí)行即時(shí)虛擬拷貝操作來創(chuàng)建從第一卷到新卷(例如,從卷A200到卷B210、從卷200A到卷C220或從卷A200到卷D230)的即時(shí)虛擬拷貝的請(qǐng)求。
[0066]在塊502中,級(jí)聯(lián)引擎110確定這是否是第一個(gè)來自第一卷的即時(shí)虛擬拷貝操作(即,沒有做過其它即時(shí)虛擬拷貝)。如果是,那么處理繼續(xù)到塊504,否則,處理繼續(xù)到塊508。在塊504,級(jí)聯(lián)引擎110創(chuàng)建從第一卷到新卷的映射。在塊506,級(jí)聯(lián)引擎110使得新卷在依賴鏈中依賴于第一卷。
[0067]在塊508中,級(jí)聯(lián)引擎110確定從最后一次即時(shí)虛擬拷貝操作以來第一卷是否已經(jīng)被修改。如果是,那么處理繼續(xù)到塊510,否則,處理繼續(xù)到塊514(圖5B)。在塊510中,級(jí)聯(lián)引擎110創(chuàng)建從第一卷到新卷的映射。在塊512中,級(jí)聯(lián)引擎110使得新卷在依賴鏈中依賴于第一卷。
[0068]在塊514中,級(jí)聯(lián)引擎110確定是否已經(jīng)創(chuàng)建了中間卷和中間映射。如果是,那么處理繼續(xù)到塊516,否則,處理繼續(xù)到塊518。
[0069]在塊516中,級(jí)聯(lián)引擎110使得新卷在依賴鏈中依賴于最近創(chuàng)建的中間卷。
[0070]在塊518中,級(jí)聯(lián)引擎110創(chuàng)建新中間卷以及相關(guān)聯(lián)的新中間映射。在塊520中,級(jí)聯(lián)引擎110使得中間卷在依賴鏈中依賴于第一卷。從塊520開始,處理繼續(xù)到塊516。
[0071]附加的實(shí)施例細(xì)節(jié)
[0072]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0073]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0074]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0075]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0076]可以以一種或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0077]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0078]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)0
[0079]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程裝置或其它設(shè)備上執(zhí)行一系列操作過程(例如,操作或步驟),以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的過程。[0080]實(shí)現(xiàn)所述操作的代碼還可以用硬件邏輯或電路(例如,集成電路芯片、可編程門整列(PGA),專用集成電路(ASIC)等)實(shí)現(xiàn)。硬件邏輯可以耦合到處理器來執(zhí)行操作。
[0081]圖6說明了根據(jù)某些實(shí)施例可以使用的計(jì)算機(jī)體系結(jié)構(gòu)600。存儲(chǔ)控制器100和/或產(chǎn)品計(jì)算機(jī)150a、b、...k可以實(shí)現(xiàn)計(jì)算機(jī)體系結(jié)構(gòu)600。計(jì)算機(jī)體系結(jié)構(gòu)600適合于存儲(chǔ)和/或執(zhí)行程序代碼并且包括至少一個(gè)通過系統(tǒng)總線620直接或間接耦合到存儲(chǔ)器元件604的處理器602。存儲(chǔ)器元件604可以包括在程序代碼的實(shí)際執(zhí)行過程中所采用的本地存儲(chǔ)器、大容量存儲(chǔ)器以及高速緩存存儲(chǔ)器,其中高速緩存存儲(chǔ)器提供至少一些程序代碼的臨時(shí)存儲(chǔ),以便減少在執(zhí)行過程中必須從大容量存儲(chǔ)器檢索代碼的次數(shù)。存儲(chǔ)器元件604包括操作系統(tǒng)605以及一個(gè)或多個(gè)計(jì)算機(jī)程序606。
[0082]輸入/輸出(I/O)設(shè)備612,614 (包括但不限于鍵盤、顯示器,定點(diǎn)設(shè)備等)可以直接地或者通過中間I/o控制器610耦合到系統(tǒng)。
[0083]網(wǎng)絡(luò)適配器608也可以耦合到系統(tǒng),使得數(shù)據(jù)處理系統(tǒng)通過中間的私有或公共網(wǎng)絡(luò)變成耦合到其它數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡僅僅是當(dāng)前可以獲得的網(wǎng)絡(luò)適配器608的幾種類型。
[0084]計(jì)算機(jī)體系結(jié)構(gòu)600可以耦合到存儲(chǔ)裝置616 (例如,非易失性存儲(chǔ)區(qū)域,諸如磁盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器,磁帶驅(qū)動(dòng)器等)。存儲(chǔ)裝置616可以包括內(nèi)部存儲(chǔ)設(shè)備或附加的設(shè)備或可通過網(wǎng)絡(luò)訪問的存儲(chǔ)裝置。存儲(chǔ)裝置616中的計(jì)算機(jī)程序606可以被加載到存儲(chǔ)器元件604并且由處理器602以本領(lǐng)域已知的方式執(zhí)行。
[0085]計(jì)算機(jī)體系結(jié)構(gòu)600可以包括比所說明少的組件、沒有在本文說明的附加組件,或說明的組件與附加組件的某種組合。計(jì)算機(jī)體系結(jié)構(gòu)600可以包括任何本領(lǐng)域已知的計(jì)算設(shè)備,諸如,大型計(jì)算機(jī)、服務(wù)器、個(gè)人計(jì)算機(jī)、工作站、筆記本、手持計(jì)算機(jī)、電話設(shè)備、網(wǎng)絡(luò)家電、虛擬設(shè)備,存儲(chǔ)控制器等。
[0086]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
[0087]本文所使用的術(shù)語僅僅是為了描述特定的實(shí)施例而不是要作為本發(fā)明的限制。所本文所使用的,除非上下文明確地另外指出,否則單數(shù)形式“一個(gè)”和“這個(gè)”要同樣包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解,當(dāng)在本說明書使用時(shí),術(shù)語“包括”規(guī)定所述特征、整數(shù)、步驟、操作、元件和/或組件的存在,但是并不排除一個(gè)或多個(gè)其它特征、整數(shù)、步驟、操作、元件、組件和/或其組的存在或添加。
[0088]以下權(quán)利要求中所有裝置或步驟加功能元件的對(duì)應(yīng)結(jié)構(gòu)、材料、操作及等同都是要包括用于結(jié)合具體所述的其它所述元件執(zhí)行所述功能的任何結(jié)構(gòu)、材料或操作。已經(jīng)為了說明和描述給出了本發(fā)明實(shí)施例的描述,但這不是詳盡的或者要把本發(fā)明限定到本發(fā)明所公開的形式。在不背離本發(fā)明范圍的情況下,許多修改和變化對(duì)本領(lǐng)域普通技術(shù)人員都將是顯而易見的。實(shí)施例的選擇和描述是為了最好地解釋本發(fā)明的原理和實(shí)踐應(yīng)用,并使本領(lǐng)域其他普通技術(shù)人員能夠理解本發(fā)明具有適合預(yù)期特定用途的各種修改的各種實(shí)施例。
[0089]前面對(duì)本發(fā)明實(shí)施例的描述是為了說明和描述的目的而給出的。它不是詳盡的或者要把實(shí)施例限定到所公開的精確形式。根據(jù)上述教義,許多修改與變體都是可能的。實(shí)施例的范圍不是要由該詳細(xì)描述限制而是由所附權(quán)利要求限制。上述說明書,示例以及數(shù)據(jù)提供了對(duì)實(shí)施例組成部分的制造與使用的完整描述。由于在不背離本發(fā)明范圍的情況下可以產(chǎn)生許多實(shí)施例,因此實(shí)施例存在于下文所附權(quán)利要求或任何后續(xù)提交的權(quán)利要求及其等同中。
【權(quán)利要求】
1.一種用于維護(hù)即時(shí)虛擬拷貝的方法,包括: 使用計(jì)算機(jī)的處理器接收對(duì)于執(zhí)行即時(shí)虛擬拷貝操作以從第一卷到新卷創(chuàng)建即時(shí)虛擬拷貝的請(qǐng)求; 確定從最后一次即時(shí)虛擬拷貝操作被執(zhí)行以來沒有修改過第一卷; 確定是否已經(jīng)創(chuàng)建了中間卷和中間映射; 響應(yīng)于確定還沒有創(chuàng)建中間卷和中間映射而 創(chuàng)建中間卷和中間映射; 基于中間映射使得中間卷在依賴鏈中依賴于第一卷;及 使得新卷在依賴鏈中依賴于中間卷。
2.如權(quán)利要求1所述的方法,還包括: 確定即時(shí)虛擬拷貝操作是來自第一卷的第一即時(shí)虛擬拷貝操作; 創(chuàng)建從第一卷到新卷的映射;及 基于所創(chuàng)建的映射使新卷在依賴鏈中依賴于第一卷。
3.如權(quán)利要求1所述的方法,還包括: 確定從最后一次 即時(shí)虛擬拷貝操作被執(zhí)行以來修改過第一卷; 創(chuàng)建從第一卷到新卷的映射;及 基于所創(chuàng)建的映射使新卷在依賴鏈中依賴于第一卷。
4.如權(quán)利要求1所述的方法,還包括: 響應(yīng)于確定已經(jīng)創(chuàng)建了中間卷和中間映射而使新卷在依賴鏈中依賴于中間卷。
5.如權(quán)利要求1所述的方法,還包括: 接收對(duì)依賴于中間卷的新卷的讀請(qǐng)求; 嘗試為讀請(qǐng)求依次從新卷、中間卷或第一卷獲得數(shù)據(jù)。
6.如權(quán)利要求1所述的方法,其中,中間卷響應(yīng)于寫請(qǐng)求而不被更新。
7.如權(quán)利要求1所述的方法,其中新卷是第二卷,還包括: 接收對(duì)于執(zhí)行另一個(gè)即時(shí)虛擬拷貝操作以從第一卷到第三卷創(chuàng)建另一個(gè)即時(shí)虛擬拷貝的請(qǐng)求; 創(chuàng)建新中間卷和新中間映射; 基于新中間映射使新中間卷在依賴鏈中依賴于第一卷;及 使得第三卷在依賴鏈中依賴于新中間卷。
8.如權(quán)利要求7所述的方法,其中第三卷的更新不影響存儲(chǔ)在第二卷上的數(shù)據(jù)。
9.一種用于維護(hù)即時(shí)虛擬拷貝的計(jì)算機(jī)系統(tǒng),包括: 處理器 '及 連接到處理器的存儲(chǔ)設(shè)備,其中存儲(chǔ)設(shè)備在其上存儲(chǔ)了程序,并且處理器被配置為執(zhí)行程序的指令來執(zhí)行操作,其中操作包括: 使用計(jì)算機(jī)的處理器接收對(duì)于執(zhí)行即時(shí)虛擬拷貝操作以從第一卷到新卷創(chuàng)建即時(shí)虛擬拷貝的請(qǐng)求; 確定從最后一次即時(shí)虛擬拷貝操作被執(zhí)行以來沒有修改過第一卷; 確定是否已經(jīng)創(chuàng)建了中間卷和中間映射; 響應(yīng)于確定還沒有創(chuàng)建中間卷和中間映射而創(chuàng)建中間卷和中間映射; 基于中間映射使得中間卷在依賴鏈中依賴于第一卷;及 使得新卷在依賴鏈中依賴于中間卷。
10.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中操作還包括: 確定即時(shí)虛擬拷貝操作是來自第一卷的第一即時(shí)虛擬拷貝操作; 創(chuàng)建從第一卷到新卷的映射;及 基于所創(chuàng)建的映射使新卷在依賴鏈中依賴于第一卷。
11.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中操作還包括: 確定從最后一次即時(shí)虛擬拷貝操作被執(zhí)行以來修改過第一卷; 創(chuàng)建從第一卷到新卷的映射;及 基于所創(chuàng)建的映射使新卷在依賴鏈中依賴于第一卷。
12.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中操作還包括: 響應(yīng)于確定已經(jīng)創(chuàng)建了中間卷和中間映射而使新卷在依賴鏈中依賴于中間卷。
13.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中操作還包括: 接收對(duì)依賴于中間卷的新卷的讀請(qǐng)求;及 嘗試為讀請(qǐng)求依次從新卷、中間卷或第一卷獲得數(shù)據(jù)。
14.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中,中間卷響應(yīng)于寫請(qǐng)求而不被更新。
15.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中新卷是第二卷,并且其中操作還包括: 接收對(duì)于執(zhí)行另一個(gè)即時(shí)虛擬拷貝操作以從第一卷到第三卷創(chuàng)建另一個(gè)即時(shí)虛擬拷貝的請(qǐng)求; 創(chuàng)建新中間卷和新中間映射; 基于新中間映射使新中間卷在依賴鏈中依賴于第一卷;及 使得第三卷在依賴鏈中依賴于新中間卷。
16.如權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其中第三卷的更新不影響存儲(chǔ)在第二卷上的數(shù)據(jù)。
17.一種用于維護(hù)即時(shí)虛擬拷貝的計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序產(chǎn)品包括: 包含有計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀程序代碼包括: 計(jì)算機(jī)可讀程序代碼,當(dāng)被計(jì)算機(jī)的處理器執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序代碼被配置為執(zhí)行: 使用計(jì)算機(jī)的處理器接收對(duì)于執(zhí)行即時(shí)虛擬拷貝操作以從第一卷到新卷創(chuàng)建即時(shí)虛擬拷貝的請(qǐng)求; 確定從最后一次即時(shí)虛擬拷貝操作被執(zhí)行以來沒有修改過第一卷; 確定是否已經(jīng)創(chuàng)建了中間卷和中間映射; 響應(yīng)于確定還沒有創(chuàng)建中間卷和中間映射而 創(chuàng)建中間卷和中間映射; 基于中間映射使得中間卷在依賴鏈中依賴于第一卷;及 使得新卷在依賴鏈中依賴于中間卷。
18.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中當(dāng)被計(jì)算機(jī)的處理器執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序代碼被配置為執(zhí)行:確定即時(shí)虛擬拷貝操作是來自第一卷的第一即時(shí)虛擬拷貝操作; 創(chuàng)建從第一卷到新卷的映射;及 基于所創(chuàng)建的映射使新卷在依賴鏈中依賴于第一卷。
19.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中當(dāng)被計(jì)算機(jī)的處理器執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序代碼被配置為執(zhí)行: 確定從最后一次即時(shí)虛擬拷貝操作被執(zhí)行以來修改過第一卷; 創(chuàng)建從第一卷到新卷的映射;及 基于所創(chuàng)建的映射使新卷在依賴鏈中依賴于第一卷。
20.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中當(dāng)被計(jì)算機(jī)的處理器執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序代碼被配置為執(zhí)行: 響應(yīng)于確定已經(jīng)創(chuàng)建了中間卷和中間映射而使新卷在依賴鏈中依賴于中間卷。
21.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中當(dāng)被計(jì)算機(jī)的處理器執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序代碼被配置為執(zhí)行: 接收對(duì)依賴于中間卷的新卷的讀請(qǐng)求;及 嘗試為讀請(qǐng)求依次從 新卷、中間卷或第一卷獲得數(shù)據(jù)。
22.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中,中間卷響應(yīng)于寫請(qǐng)求而不被更新。
23.如權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中新卷是第二卷,并且其中當(dāng)被計(jì)算機(jī)的處理器執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序代碼被配置為執(zhí)行: 接收對(duì)于執(zhí)行另一個(gè)即時(shí)虛擬拷貝操作以從第一卷到第三卷創(chuàng)建另一個(gè)即時(shí)虛擬拷貝的請(qǐng)求; 創(chuàng)建新中間卷和新中間映射; 基于新中間映射使新中間卷在依賴鏈中依賴于第一卷;及 使得第三卷在依賴鏈中依賴于新中間卷。
24.如權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,其中第三卷的更新不影響存儲(chǔ)在第二卷上的數(shù)據(jù)。
【文檔編號(hào)】G06F11/14GK103842967SQ201280048669
【公開日】2014年6月4日 申請(qǐng)日期:2012年9月21日 優(yōu)先權(quán)日:2011年10月3日
【發(fā)明者】C·B·比肯, W·J·斯格爾斯 申請(qǐng)人:國際商業(yè)機(jī)器公司