專利名稱:在存儲控制器和復制引擎之間分離寫入的制作方法
技術(shù)領域:
本發(fā)明涉及在存儲控制器和復制引擎之間分離寫入的方法、系統(tǒng)和制造產(chǎn)品。
背景技術(shù):
在目前的網(wǎng)絡存儲系統(tǒng)中,可在主機或交換機中實現(xiàn)分離器,從而把指向由存儲 控制器管理的卷的寫入分離到另一個存儲設備。分離器把數(shù)據(jù)的一個副本向存儲控制器發(fā) 送,并把另一個副本向復制引擎發(fā)送,該復制引擎實現(xiàn)拷貝服務以將數(shù)據(jù)拷貝到存儲裝置。 復制引擎可包含獨立的網(wǎng)絡設備或裝置。在一種實現(xiàn)中,在主機軟件棧(比如設備驅(qū)動器或邏輯卷管理器)中實現(xiàn)分離器。 在另一種實現(xiàn)中,在架構(gòu)中(比如在交換機中)實現(xiàn)分離器。在又一種實現(xiàn)中,在存儲控制 器內(nèi)實現(xiàn)分離器和復制功能,比如在主存儲控制器不斷把數(shù)據(jù)向遠程輔助站點鏡像或復制 的對等拷貝(“PPRC”)的情況下。
發(fā)明內(nèi)容
在第一方面,本發(fā)明提供一種由在存儲控制器中執(zhí)行的對主卷的存取進行管理的 分離器來實現(xiàn)的用于復制數(shù)據(jù)的方法,所述方法包括接收與復制引擎通信的初始化命令; 接收針對一個主卷的復制命令;把所述主卷指示為經(jīng)受復制;接收用于把數(shù)據(jù)寫入主卷中 的被指示為經(jīng)受復制的目標主卷的寫入請求;把寫入請求中的數(shù)據(jù)寫入目標主卷;和把寫 入請求中的數(shù)據(jù)向復制引擎發(fā)送,其中復制引擎執(zhí)行與目標主卷相關(guān)聯(lián)的拷貝服務功能, 從而把數(shù)據(jù)寫入復制引擎卷。優(yōu)選地,復制引擎和分離器通過把命令和數(shù)據(jù)封裝在標準存儲通信協(xié)議包中傳輸 來進行通信。優(yōu)選地,存在多個復制引擎,每個復制引擎實現(xiàn)來自不同廠商的異類拷貝功能,其 中分離器能夠使用一組相同的命令和標準存儲通信協(xié)議與不同的復制引擎通信,從而調(diào)用 異類拷貝功能。所述方法還可以包括響應于接收到在主卷和在復制引擎卷都完成寫入的確認, 返回寫入請求的完成。所述方法還可以包括檢測與復制引擎進行的通信中的故障;把在檢測到的故障 之后發(fā)生的對主卷寫入的指示記錄在記錄變化數(shù)據(jù)結(jié)構(gòu)中;從復制引擎接收針對記錄變化 數(shù)據(jù)結(jié)構(gòu)的請求;把記錄變化數(shù)據(jù)結(jié)構(gòu)中關(guān)于已變化的數(shù)據(jù)的信息向復制引擎發(fā)送;響應 于把記錄變化數(shù)據(jù)結(jié)構(gòu)向復制引擎發(fā)送,清除記錄變化數(shù)據(jù)結(jié)構(gòu)。所述方法還可以包括從復制引擎接收針對在記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的主卷中 的已更新數(shù)據(jù)的請求;和把所請求的在記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的已更新數(shù)據(jù)向復制引擎 發(fā)送。所述方法還可以包括接收將從復制引擎拷貝到主卷的區(qū)域的指示;從復制引擎 請求在所述區(qū)域中指示的數(shù)據(jù);從復制引擎接收在所述區(qū)域中指示的數(shù)據(jù);把接收到的在
5所述區(qū)域中指示的數(shù)據(jù)寫入主卷;響應于把從復制引擎接收的數(shù)據(jù)寫入主卷,指示所述區(qū) 域中的數(shù)據(jù)已被寫入主卷。所述方法還可以包括在接收到區(qū)域的列表之后,接收對主卷中的數(shù)據(jù)的讀取請 求;確定在所述列表中是否指示請求讀取的數(shù)據(jù);響應于確定在所述列表中指示請求讀取 的數(shù)據(jù),把讀取請求重定向到復制引擎;和響應于確定在所述列表中未指示請求讀取的數(shù) 據(jù),從主卷返回請求讀取的數(shù)據(jù)。所述方法還可以包括在接收到區(qū)域之后,接收用于把數(shù)據(jù)寫入主卷的寫入請求; 確定在所述區(qū)域中是否指示待寫入的數(shù)據(jù);和響應于把所述數(shù)據(jù)寫入主卷,指示所述區(qū)域 中的來自寫入請求的數(shù)據(jù)已被寫入主卷。所述方法還可以包括接收將從主卷拷貝到復制引擎的區(qū)域的指示;把來自指示 區(qū)域的數(shù)據(jù)向復制引擎發(fā)送;和響應于把在所述區(qū)域中指示的數(shù)據(jù)向復制引擎發(fā)送,指示 所述區(qū)域中的數(shù)據(jù)已向復制引擎發(fā)送。所述方法還可以包括接收創(chuàng)建與復制引擎卷相關(guān)聯(lián)的虛擬主卷的命令;創(chuàng)建主 機可存取的虛擬主卷;接收指向虛擬主卷的輸入/輸出(I/O)請求;把指向虛擬主卷的I/O 請求定向到復制引擎。優(yōu)選地,復制引擎執(zhí)行與目標主卷相關(guān)聯(lián)的其他功能。在第二方面,提供一種管理對主卷的存取、并與復制引擎通信的系統(tǒng),包括具有 主卷元數(shù)據(jù)的計算機可讀介質(zhì);和能夠引起操作的分離器,所述操作包括接收與復制引 擎通信的初始化命令;接收針對一個主卷的復制命令;在主卷元數(shù)據(jù)中將所述主卷指示為 經(jīng)受復制;接收用于把數(shù)據(jù)寫入主卷中的被指示為經(jīng)受復制的目標主卷的寫入請求;把寫 入請求中的數(shù)據(jù)寫入目標主卷;和把寫入請求中的數(shù)據(jù)向復制引擎發(fā)送,其中復制引擎執(zhí) 行與目標主卷相關(guān)聯(lián)的拷貝服務功能,從而把數(shù)據(jù)寫入復制引擎卷。優(yōu)選地,存在多個復制引擎,每個復制引擎實現(xiàn)來自不同廠商的異類拷貝功能,其 中分離器能夠使用一組相同的命令和標準存儲通信協(xié)議與不同的復制引擎通信,從而調(diào)用 異類拷貝功能。優(yōu)選地,所述分離器還引起下述操作檢測與復制引擎進行的通信中的故障;把 在檢測到的故障之后發(fā)生的對主卷的寫入的指示記錄在記錄變化數(shù)據(jù)結(jié)構(gòu)中;從復制引擎 接收針對記錄變化數(shù)據(jù)結(jié)構(gòu)的請求;把記錄變化數(shù)據(jù)結(jié)構(gòu)中與已變化的數(shù)據(jù)有關(guān)的信息向 復制引擎發(fā)送;響應于把記錄變化數(shù)據(jù)結(jié)構(gòu)向復制引擎發(fā)送,清除記錄變化數(shù)據(jù)結(jié)構(gòu)。優(yōu)選地,所述分離器還引起下述操作接收將從復制引擎拷貝到主卷的區(qū)域的指 示;從復制引擎請求在所述區(qū)域中指示的數(shù)據(jù);從復制引擎接收在所述區(qū)域中指示的數(shù) 據(jù);把接收到的在所述區(qū)域中指示的數(shù)據(jù)寫入主卷;響應于把從復制引擎接收的數(shù)據(jù)寫入 主卷,指示所述區(qū)域中的數(shù)據(jù)已被寫入主卷。優(yōu)選地,所述分離器還引起下述操作在接收到區(qū)域的列表之后,接收對主卷中的 數(shù)據(jù)的讀取請求;確定在所述列表中是否指示請求讀取的數(shù)據(jù);響應于確定在所述列表中 指示請求讀取的數(shù)據(jù),把讀取請求重定向到復制引擎;和響應于確定在所述列表中未指示 請求讀取的數(shù)據(jù),從主卷返回請求讀取的數(shù)據(jù)。優(yōu)選地,所述分離器還引起下述操作接收用于創(chuàng)建與復制引擎卷相關(guān)聯(lián)的虛擬 主卷的命令;創(chuàng)建主機可存取的虛擬主卷;接收指向虛擬主卷的輸入/輸出(I/O)請求;把指向虛擬主卷的I/O請求定向到復制引擎。在第三方面,提供一種包含計算機程序代碼的計算機程序,當被載入計算機系統(tǒng) 并在計算機系統(tǒng)上執(zhí)行時,所述計算機程序代碼使所述計算機系統(tǒng)實現(xiàn)按照第二方面的方 法的所有步驟。第三方面的計算機程序可用制造產(chǎn)品具體體現(xiàn),所述制造產(chǎn)品包括用于與復制引 擎通信、管理對主卷的存取、以及引起操作的執(zhí)行的代碼,該操作包括接收與復制引擎通 信的初始化命令;接收針對一個主卷的復制命令;將所述主卷指示為經(jīng)受復制;接收用于 把數(shù)據(jù)寫入主卷中的被指示為經(jīng)受復制的目標主卷的寫入請求;把寫入請求中的數(shù)據(jù)寫入 目標主卷;和把寫入請求中的數(shù)據(jù)向復制引擎發(fā)送,其中復制引擎執(zhí)行與目標主卷相關(guān)聯(lián) 的拷貝服務功能,從而把數(shù)據(jù)寫入復制引擎卷。優(yōu)選地,復制引擎和分離器通過把命令和數(shù)據(jù)封裝在標準存儲通信協(xié)議包中傳輸 來進行通信。優(yōu)選地,存在多個復制引擎,每個復制引擎實現(xiàn)來自不同廠商的異類拷貝功能,其 中分離器能夠使用一組相同的命令和標準存儲通信協(xié)議與不同的復制引擎通信,從而調(diào)用 異類拷貝功能。優(yōu)選地,所述操作還包括響應于接收到在主卷和在復制引擎卷都完成寫入的確 認,返回寫入請求的完成。優(yōu)選地,所述操作還包括檢測與復制引擎的通信故障;把在檢測到的故障之后 發(fā)生的對主卷的寫入的指示記錄在記錄變化數(shù)據(jù)結(jié)構(gòu)中;從復制引擎接收針對記錄變化數(shù) 據(jù)結(jié)構(gòu)的請求;把記錄變化數(shù)據(jù)結(jié)構(gòu)中關(guān)于已變化的數(shù)據(jù)的信息向復制引擎發(fā)送;和響應 于把記錄變化數(shù)據(jù)結(jié)構(gòu)向復制引擎發(fā)送,清除記錄變化數(shù)據(jù)結(jié)構(gòu)。優(yōu)選地,所述操作還包括從復制引擎接收針對在記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的主 卷中的已更新數(shù)據(jù)的請求;和把所請求的在記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的已更新數(shù)據(jù)向復制 引擎發(fā)送。優(yōu)選地,所述操作還包括接收將從復制引擎拷貝到主卷的區(qū)域的指示;從復制 引擎請求在所述區(qū)域中指示的數(shù)據(jù);從復制引擎接收在所述區(qū)域中指示的數(shù)據(jù);把接收到 的在所述區(qū)域中指示的數(shù)據(jù)寫入主卷;響應于把從復制引擎接收的數(shù)據(jù)寫入主卷,指示所 述區(qū)域中的數(shù)據(jù)已被寫入主卷。優(yōu)選地,所述操作還包括在接收到區(qū)域的列表之后,接收對主卷中的數(shù)據(jù)的讀取 請求;確定在所述列表中是否指示請求讀取的數(shù)據(jù);響應于確定在所述列表中指示請求讀 取的數(shù)據(jù),把讀取請求重定向到復制引擎;和響應于確定在所述列表中未指示請求讀取的 數(shù)據(jù),從主卷返回請求讀取的數(shù)據(jù)。優(yōu)選地,所述操作還包括在接收到區(qū)域之后,接收用于把數(shù)據(jù)寫入主卷的寫入請 求;確定在所述區(qū)域中是否指示待寫入的數(shù)據(jù);和響應于把所述數(shù)據(jù)寫入主卷,指示所述 區(qū)域中的來自寫入請求的數(shù)據(jù)已被寫入主卷。優(yōu)選地,所述操作還包括接收將從主卷拷貝到復制引擎的區(qū)域的指示;把來自 指示區(qū)域的數(shù)據(jù)向復制引擎發(fā)送;和響應于把在所述區(qū)域中指示的數(shù)據(jù)向復制引擎發(fā)送, 指示所述區(qū)域中的數(shù)據(jù)已向復制引擎發(fā)送。優(yōu)選地,所述操作還包括接收創(chuàng)建與復制引擎卷相關(guān)聯(lián)的虛擬主卷的命令;創(chuàng)建主機可存取的虛擬主卷;接收指向虛擬主卷的輸入/輸出(I/O)請求;把指向虛擬主卷 的I/O請求定向到復制引擎。優(yōu)選地,復制引擎執(zhí)行與目標主卷關(guān)聯(lián)的其他功能。因此,提供了一種在存儲控制器和復制引擎之間分離寫入的方法、系統(tǒng)和計算機 程序或制造產(chǎn)品。在存儲控制器中執(zhí)行的分離器管理對主卷的存取。接收與復制引擎通信 的初始化命令。接收針對一個主卷的復制命令,該主卷被指示為經(jīng)受復制。接收用于把數(shù) 據(jù)寫入主卷中的被指示為經(jīng)受復制的目標主卷的寫入請求。寫入請求中的數(shù)據(jù)被寫入目標 主卷。寫入請求中的數(shù)據(jù)被向復制引擎發(fā)送。復制引擎執(zhí)行與目標主卷相關(guān)聯(lián)的拷貝服務 功能,從而把數(shù)據(jù)寫入復制引擎卷。在另一個實施例中,復制引擎和分離器通過把命令和數(shù)據(jù)封裝在標準存儲通信協(xié) 議包中傳輸來進行通信。在另一個實施例中,存在多個復制引擎,每個復制引擎實現(xiàn)來自不同廠商的異類 拷貝功能。分離器能夠使用一組相同的命令和標準存儲通信協(xié)議與不同的復制引擎通信, 從而調(diào)用異類拷貝功能。在另一個實施例中,響應于接收到在主卷和在復制引擎卷都完成寫入的確認,返 回寫入請求的完成。在另一個實施例中,檢測與復制引擎進行的通信中的故障。把在檢測到的故障之 后發(fā)生的對主卷的寫入的指示記錄在記錄變化數(shù)據(jù)結(jié)構(gòu)中。從復制引擎接收對記錄變化數(shù) 據(jù)結(jié)構(gòu)的請求。把記錄變化數(shù)據(jù)結(jié)構(gòu)中與變化的數(shù)據(jù)有關(guān)的信息向復制引擎發(fā)送。響應于 把記錄變化數(shù)據(jù)結(jié)構(gòu)向復制引擎發(fā)送,清除記錄變化數(shù)據(jù)結(jié)構(gòu)。在另一個實施例中,從復制引擎接收針對在記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的主卷中的 已更新數(shù)據(jù)的請求。把所請求的在記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的已更新數(shù)據(jù)向復制引擎發(fā) 送。在另一個實施例中,接收將從復制引擎拷貝到主卷的區(qū)域的指示。從復制引擎請 求在所述區(qū)域中指示的數(shù)據(jù)。從復制引擎接收在所述區(qū)域中指示的數(shù)據(jù),接收的在所述區(qū) 域中指示的數(shù)據(jù)被寫入主卷。響應于把從復制引擎接收的數(shù)據(jù)寫入主卷,指示所述區(qū)域中 的數(shù)據(jù)已被寫入主卷。在另一個實施例中,在接收到區(qū)域的列表之后,接收用于對主卷中的數(shù)據(jù)的讀取 請求。關(guān)于在所述列表中是否指示請求讀取的數(shù)據(jù)做出確定。響應于確定在所述列表中指 示請求讀取的數(shù)據(jù),讀取請求被重定向到復制引擎。響應于確定在所述列表中未指示請求 讀取的數(shù)據(jù),從主卷返回請求讀取的數(shù)據(jù)。在另一個實施例中,在接收到區(qū)域之后,接收用于把數(shù)據(jù)寫入主卷的寫入請求。確 定在所述區(qū)域中是否指示待寫入的數(shù)據(jù)。響應于把所述數(shù)據(jù)寫入主卷,指示所述區(qū)域中的 來自寫入請求的數(shù)據(jù)已被寫入主卷。在另一個實施例中,接收將從主卷拷貝到復制引擎的區(qū)域的指示。數(shù)據(jù)從指示區(qū) 域被向復制引擎發(fā)送,響應于把在所述區(qū)域中指示的數(shù)據(jù)向復制引擎發(fā)送,指示所述區(qū)域 中的數(shù)據(jù)已向復制引擎發(fā)送。在另一個實施例中,接收創(chuàng)建與復制引擎卷相關(guān)聯(lián)的虛擬主卷的命令。創(chuàng)建主機 可存取的虛擬主卷。接收指向虛擬主卷的輸入/輸出(I/O)請求,并把所述I/O請求重定向到復制引擎。在另一個實施例中,復制引擎執(zhí)行與目標主卷關(guān)聯(lián)的其他功能。
下面參考附圖,舉例說明本發(fā)明的一個優(yōu)選實施例,其中圖1圖解說明網(wǎng)絡計算環(huán)境的一個實施例。圖2圖解說明由分離器保持的主卷元數(shù)據(jù)的一個實施例。圖3圖解說明由復制引擎保持的主卷元數(shù)據(jù)的一個實施例。圖4圖解說明如何把復制命令封裝在通信協(xié)議中的實施例。圖5圖解說明發(fā)起分離器和復制引擎之間的通信的操作的實施例。圖6圖解說明一配置分離器以把寫入分給復制引擎的操作的實施例。圖7圖解說明處理對主卷的寫入請求以分離到復制引擎的操作的實施例。圖8圖解說明處理分離器和復制引擎之間的通信故障的操作的實施例。圖9圖解說明把數(shù)據(jù)從復制引擎卷向主卷拷貝的操作的實施例。圖10圖解說明處理對將利用來自復制引擎卷的數(shù)據(jù)進行更新的主卷的一個區(qū)域 的讀取請求的操作的實施例。圖11圖解說明處理對將利用來自復制引擎卷的數(shù)據(jù)進行更新的主卷的一個區(qū)域 的寫入請求的操作的實施例。圖12圖解說明創(chuàng)建與復制引擎卷相關(guān)聯(lián)的虛擬主卷的操作的實施例。圖13圖解說明實現(xiàn)實施例的某些描述方面的計算機體系結(jié)構(gòu)的方框圖。
具體實施例方式圖1圖解說明網(wǎng)絡計算環(huán)境的一個實施例。一個或多個主機2發(fā)送對一個或多個 主存儲裝置6中的主卷4的讀取/寫入請求。一個或多個存儲控制器8管理從主機2到主 卷4的輸入/輸出(I/O)存取。存儲控制器8可包括分離器程序10,用于將至主卷4的寫 入數(shù)據(jù)向在復制設備14中實現(xiàn)的一個或多個復制引擎12拷貝。每個復制引擎12可調(diào)用 拷貝服務16,以將從分離器10接收的數(shù)據(jù)向存儲裝置20中的、由復制引擎12保持的復制 引擎卷18拷貝。在其它實施例中,復制引擎12可按照不涉及拷貝的方式(比如通過創(chuàng)建 日志并把寫入數(shù)據(jù)記錄到日志中)實現(xiàn)拷貝服務功能。主機2、存儲控制器8和復制設備14可通過網(wǎng)絡22通信。網(wǎng)絡22可包含存儲區(qū) 域網(wǎng)(SAN)、局域網(wǎng)(LAN)、企業(yè)內(nèi)部網(wǎng)(Intranet)、因特網(wǎng)、廣域網(wǎng)(WAN)、對等網(wǎng)絡、無線 網(wǎng)絡、仲裁環(huán)路網(wǎng)絡等等。存儲裝置6和20可包含單一存儲設備,比如硬盤驅(qū)動器、閃速存 儲器等,或者存儲設備陣列,比如簡單磁盤捆綁(JBOD)、網(wǎng)絡附加存儲裝置(NAS)、硬盤驅(qū) 動器、直接存取存儲設備(DASD)、獨立磁盤冗余陣列(RAID)、虛擬化設備、磁帶存儲裝置、 閃速存儲器等。在圖1的實施例中,復制引擎12被示出為在獨立于存儲控制器8的設備中實現(xiàn)。 在備選實施例中,可在和存儲控制器8相同的系統(tǒng)內(nèi)實現(xiàn)復制引擎12。例如,復制設備14 和存儲控制器8可包含相同機箱或系統(tǒng)中的獨立邏輯分區(qū)(LPAR)。備選地,復制引擎14 和存儲控制器8可包含插入相同主板的不同插槽中的擴展卡。在這種實現(xiàn)中,復制設備14和存儲控制器8可利用除網(wǎng)絡協(xié)議外的標準協(xié)議進行通信,該標準協(xié)議諸如是總線通信協(xié)議,例如外設組件互連(PCI)協(xié)議和體系結(jié)構(gòu)。圖2圖解說明存儲控制器8為一個主卷保持的主卷元數(shù)據(jù)26的一個實施例。主卷元數(shù)據(jù)26可包括指示主卷52的信息;指示主卷52是否將被復制到被標識的復制引擎 56的復制標記54 ;記錄變化數(shù)據(jù)結(jié)構(gòu)58,用于記錄在存儲控制器8和復制設備14之間的 通信被禁止時被復制主卷的變化;還原(revert)數(shù)據(jù)結(jié)構(gòu)60,其標識主卷52中的、將利用 來自復制引擎12的數(shù)據(jù)進行更新的區(qū)域;和虛擬模式信息62,指示主卷52是否是主存儲 裝置6中的、其數(shù)據(jù)被保持在關(guān)聯(lián)的復制引擎卷18中的虛擬卷。創(chuàng)建虛擬主卷,以把復制 引擎卷18作為由存儲控制器8管理的主卷顯露給主機2。圖3圖解說明復制引擎12為一個主卷4保持的主卷元數(shù)據(jù)28的一個實施例。主卷元數(shù)據(jù)28包括標識一個主卷4的主卷72信息;用于存儲對應主卷72的數(shù)據(jù)的復制引擎 卷74 ;復制引擎12調(diào)用以把主卷72的數(shù)據(jù)存儲在復制引擎卷74中的拷貝服務76 ;和指示 主卷72是否在主存儲裝置6中的虛擬卷的虛擬模式78信息。圖4圖解說明在存儲控制器8到一個復制引擎12之間如何傳遞命令的實施例。分離器10和復制引擎12可按照標準網(wǎng)絡通信協(xié)議(比如光纖通道、以太網(wǎng)、串行附加 SCSI (SAS)等)促成具有網(wǎng)絡協(xié)議報頭92的標準網(wǎng)絡通信包90的構(gòu)成。通過利用標準存 儲通信協(xié)議(比如小型計算機系統(tǒng)接口(SCSI)),具有存儲協(xié)議報頭96的標準存儲通信包 94可被封裝在網(wǎng)絡通信包90中。復制命令/消息98可被包括在標準存儲通信包94中,以 實現(xiàn)與復制有關(guān)的操作、消息和通信以及數(shù)據(jù)100 (可選)。在一個實施例中,來自不同廠商的包含異類并且可能不兼容的程序的分離器10 和復制引擎12可實現(xiàn)相同的一組復制命令,從而使來自不同廠商的異類分離器和復制引 擎之間的通信和復制操作成為可能。這樣,分離器或復制引擎廠商可把復制命令集合并到 他們的產(chǎn)品中,以允許與來自不同廠商的、也實現(xiàn)該命令集的異類分離器和復制引擎進行 通信。此外,不同的復制引擎12可實現(xiàn)來自不同廠商的不同拷貝服務16,以使不同的分離 器10能夠通過支持拷貝服務16的復制引擎12調(diào)用來自不同廠商的不同拷貝服務16。圖5圖解說明由分離器10和復制引擎12執(zhí)行的、用于初始化通信的操作的實施 例。分離器10接收用于發(fā)起與復制引擎12的通信的命令98 (方框120),該命令98可包 括在包90和94中(圖4)。分離器10可通過存儲控制器8的用戶接口或命令行接收該命 令。作為響應,分離器10產(chǎn)生和發(fā)送帶有用于發(fā)起與復制引擎12的通信的復制命令98和 消息的標準存儲通信包94(方框122),標準存儲通信包94可被封裝在網(wǎng)絡通信包90內(nèi)。 當接收到用以發(fā)起與分離器10的通信的復制通信(方框124)時,復制引擎12通過向分離 器10發(fā)送另外的消息98,而執(zhí)行與分離器10建立通信的操作(方框126)。圖6圖解說明由分離器10和復制引擎12執(zhí)行的、用于將主卷4設置為處于復制 關(guān)系的操作的實施例。在一個實施例中,位于復制設備14的用戶接口處的用戶調(diào)用復制 引擎12以產(chǎn)生復制命令98,并把產(chǎn)生的復制命令98向分離器10發(fā)送,以復制指定的主卷 4 (方框150)。當接收到復制命令98 (方框152)時,分離器10設置針對指定主卷52的復 制標記54,以指示把主卷52的數(shù)據(jù)分給被標識的復制引擎56 (方框154),該被標識的復制 引擎56可包含發(fā)送復制命令的復制引擎12或者另一個指定的復制引擎。圖7圖解說明由分離器10和復制引擎12執(zhí)行的、用于處理對主卷4的寫入請求的操作的實施例。當從主機2接收到對主卷4的寫入請求(方框170)時,分離器10確定 目標主卷52的復制標記54(圖2)是否指示復制(方框172)。如果設置了復制,那么分離 器10產(chǎn)生存儲通信協(xié)議包94,并把該存儲通信協(xié)議包94向復制引擎12發(fā)送(方框174), 該存儲通信協(xié)議包94可進一步被包括在標準網(wǎng)絡通信包90中,該存儲通信協(xié)議包94包括 拷貝復制命令98和寫入數(shù)據(jù)100,該復制引擎12可包括針對目標主卷而被標識的復制引擎 56。從方框172的“否”分支或者從方框174,分離器10把數(shù)據(jù)寫入主卷4 (方框176)。當復制引擎12從分離器10接收到帶有待復制數(shù)據(jù)100的拷貝復制命令98 (方框 178)時,復制引擎12確定用于拷貝所接收數(shù)據(jù)的拷貝服務16功能(方框180)。在一個實 施例中,可根據(jù)復制引擎12為主卷保持的主卷元數(shù)據(jù)28確定拷貝服務16,或者可在從分離 器10發(fā)送的復制命令中指示拷貝服務16。復制引擎12可執(zhí)行確定的拷貝服務16功能,以 把接收的數(shù)據(jù)向?qū)膹椭埔婢?8傳送(方框182),該對應的復制引擎卷18可在由復 制引擎12保持的主卷元數(shù)據(jù)28 (圖3)的字段74中指示。當完成拷貝時,復制引擎12向 分離器10發(fā)送數(shù)據(jù)寫入已完成的消息(方框184),該消息包含一個復制命令98。當從復 制引擎12接收到傳送數(shù)據(jù)的完成(方框186)時,分離器10向發(fā)起寫入請求的主機2發(fā)送 數(shù)據(jù)寫入完成的消息(方框188)。
圖8圖解說明由分離器10和復制引擎12執(zhí)行的、用于處理分離器10和復制引擎 12之間的通信故障(比如網(wǎng)絡22故障)的操作的實施例。當檢測到與復制引擎12的通信 能力中的故障(方框200)時,分離器10為如設置的復制標記54所指示的那樣、處于復制 關(guān)系的每個主卷產(chǎn)生一個記錄變化數(shù)據(jù)結(jié)構(gòu)58(方框202),以記錄在檢測到的故障之后經(jīng) 受復制的主卷4的變化。在另一實施例中,分離器10可保持用于一組卷的全局數(shù)據(jù)結(jié)構(gòu)。 當在通信故障之后與分離器10重新建立通信(方框204)時,復制引擎12產(chǎn)生標準存儲通 信協(xié)議包94中的復制命令98,并把該復制命令98向分離器10發(fā)送(方框206),該復制命 令98請求來自記錄變化數(shù)據(jù)結(jié)構(gòu)58的信息(該信息可包含記錄變化數(shù)據(jù)結(jié)構(gòu)58的副本, 或者從數(shù)據(jù)結(jié)構(gòu)58提取的信息)。響應于接收到針對記錄變化數(shù)據(jù)結(jié)構(gòu)58的復制命令請 求(方框208),分離器10利用標準存儲通信協(xié)議94把來自記錄變化數(shù)據(jù)結(jié)構(gòu)58的信息 向發(fā)出請求的復制引擎12發(fā)送(方框210)。發(fā)送的信息可指示在通信故障期間被更新的 經(jīng)受復制的主卷的那些區(qū)域。當向復制引擎12發(fā)送關(guān)于記錄變化數(shù)據(jù)結(jié)構(gòu)58的信息時, 分離器10還可清除記錄變化數(shù)據(jù)結(jié)構(gòu)58(方框212)。當復制引擎12接收到來自記錄變 化數(shù)據(jù)結(jié)構(gòu)58的信息(方框216)時,復制引擎12向分離器10發(fā)送命令的一個或多個包 94(方框218),以請求在通信故障期間在主卷4中更新的數(shù)據(jù)。響應于從復制引擎12接收到請求主卷4中數(shù)據(jù)的復制命令98 (方框220),其中在 記錄變化數(shù)據(jù)結(jié)構(gòu)58中標識該主卷4的數(shù)據(jù),分離器10將請求的數(shù)據(jù)以標準存儲通信協(xié) 議包94中的一個或多個消息傳送給復制引擎12(方框222)。當從分離器10接收到請求 的數(shù)據(jù)(方框224)時,復制引擎12為分離器10調(diào)用拷貝服務76功能,把接收的數(shù)據(jù)向?qū)?應的復制引擎卷18傳送(方框226)。根據(jù)由復制引擎12保持的主卷元數(shù)據(jù)28中的字段 72和74,可確定對應于主卷4的復制引擎卷18。在另一個實施例中,當執(zhí)行其它區(qū)域的再 同步時,復制引擎12可運行恢復過程所需的特定功能。圖9圖解說明由分離器10和復制引擎12執(zhí)行的、用于把區(qū)域從復制引擎卷18拷 貝到主卷4的操作的實施例。復制引擎12發(fā)送標準存儲協(xié)議包94中的命令(方框250),該命令帶有在復制引擎卷18的要拷貝到主卷4的區(qū)域列表。響應于接收到具有區(qū)域列表 的拷貝命令(方框252),分離器10產(chǎn)生目標主卷4的還原數(shù)據(jù)結(jié)構(gòu)60 (圖2)(方框254), 該還原數(shù)據(jù)結(jié)構(gòu)60指示主卷中將利用來自復制引擎12的數(shù)據(jù)進行更新的區(qū)域的列表。分 離器10向復制引擎12發(fā)送存儲通信協(xié)議包94和網(wǎng)絡包90中的復制命令98 (方框256), 該復制命令98請求在還原數(shù)據(jù)結(jié)構(gòu)60中指示的區(qū)域列表中的數(shù)據(jù)。當從分離器10收到請求區(qū)域的列表的復制命令(方框258)時,復制引擎12利用 標準存儲通信協(xié)議包94和網(wǎng)絡包90產(chǎn)生一條或多條消息,并把該一條或多條消息向分離 器10發(fā)送(方框260)。當收到數(shù)據(jù)(方框262)時,分離器10把數(shù)據(jù)寫入目標主卷4中 (方框264)。分離器10在還原數(shù)據(jù)結(jié)構(gòu)60中指示利用來自復制引擎卷18的數(shù)據(jù)更新的 主卷位置(方框266)。如果還原數(shù)據(jù)結(jié)構(gòu)60指出所有被指示的數(shù)據(jù)都被拷貝,即所有列表 區(qū)域都從復制引擎卷18拷貝到主卷4(方框268),那么分離器10向復制引擎12發(fā)送結(jié)束 狀態(tài)(方框270),指示列表區(qū)域從復制引擎卷18被拷貝到目標主卷4。否則,如果還原數(shù) 據(jù)結(jié)構(gòu)60指示存在待拷貝的其它區(qū)域(方框268),那么控制結(jié)束。圖10圖解說明由分離器10和復制引擎12執(zhí)行的、用于處理針對主卷4的讀取請 求的操作的實施例,該主卷4具有在還原數(shù)據(jù)結(jié)構(gòu)60中指示的將利用來自復制引擎卷18 的數(shù)據(jù)進行更新的區(qū)域。當分離器10從主機2接收到對在還原數(shù)據(jù)結(jié)構(gòu)60中指出的被指 示為未更新、或者等待更新的主卷4位置的讀取請求(方框300)時,分離器10向復制引擎 12發(fā)送針對讀取的所請求數(shù)據(jù)的復制命令98(方框302)。當接收到針對讀取的所請求數(shù) 據(jù)的請求(方框304)時,復制引擎12產(chǎn)生包括所請求數(shù)據(jù)(比如在網(wǎng)絡包90內(nèi)的標準存 儲通信包94的數(shù)據(jù)字段100中的數(shù)據(jù))的一條或多條消息,并把該一條或多條消息向發(fā)出 請求的分離器10發(fā)送(方框306)。當接收到所請求的數(shù)據(jù)(方框308)時,分離器10向發(fā)起讀取請求的主機2返回 接收的數(shù)據(jù)(方框310),并用接收的數(shù)據(jù)更新主卷4 (方框312)。分離器10還在還原數(shù)據(jù) 結(jié)構(gòu)60中指示主卷4中的區(qū)域被更新。圖11圖解說明由分離器10執(zhí)行的、用于處理來自主機2的對在還原數(shù)據(jù)結(jié)構(gòu)60 中指示為等待來自復制引擎卷18的數(shù)據(jù)的區(qū)域的寫入請求的操作的實施例。當分離器10 接收到對在還原數(shù)據(jù)結(jié)構(gòu)60中被指示為未被更新的主卷位置的寫入請求(方框330)時, 分離器10執(zhí)行圖9中的方框264-270的操作,以用新的寫入數(shù)據(jù)更新數(shù)據(jù)(方框332)。分 離器10還把復制消息和已更新的數(shù)據(jù)(如果指示該數(shù)據(jù)要拷貝到復制引擎12) —起向復 制引擎12發(fā)送。圖12圖解說明由分離器10和復制引擎12執(zhí)行的、用于管理向主機2顯露復制引 擎卷18的虛擬主卷4的操作的實施例。復制引擎12 (或某一其它組件)可產(chǎn)生復制命令 98并把該復制命令98向分離器10 (方框350)發(fā)送,該復制命令請求分離器10創(chuàng)建復制引 擎卷18的虛擬主卷。復制引擎主卷元數(shù)據(jù)28可指示虛擬主卷72、通過虛擬主卷72顯露的 對應復制引擎卷74、和虛擬模式78。當接收到創(chuàng)建虛擬主卷的命令(方框352)時,通過創(chuàng) 建指示新的虛擬主卷52的主卷元數(shù)據(jù)26,同時虛擬模式62被設置成指示改主卷52是虛擬 的,分離器10創(chuàng)建虛擬主卷(方框354)。分離器10返回指示所請求的虛擬主卷已創(chuàng)建的 復制消息98 (方框356)。當分離器10接收到針對在虛擬模式62中指示的對主卷的讀取/寫入請求(方框358)時,分離器10產(chǎn)生具有針對虛擬主卷的讀取/寫入請求的命令98,并把該命令98向復制引擎12發(fā)送(方框360)。復制引擎12接收該命令(方框362),并相對于在元數(shù)據(jù)28 中指示的與主卷72關(guān)聯(lián)的對應復制引擎卷18執(zhí)行讀取/寫入請求(方框364)。響應于相 對于復制引擎卷18執(zhí)行讀取/寫入請求,復制引擎12產(chǎn)生包括返回數(shù)據(jù)和/或完成的命 令98,并把該命令98向分離器10發(fā)送。分離器10把返回的數(shù)據(jù)或完成向發(fā)出請求的主機 2轉(zhuǎn)發(fā)(方框368)。所描述的實施例提供能夠在存儲控制器中的管理對主卷的存取的分離器與管理 對復制引擎卷的存取的復制引擎之間實現(xiàn)數(shù)據(jù)傳輸操作的技術(shù)。所描述的實施例為分離器 提供與實現(xiàn)復制命令集的不同復制引擎通信的技術(shù)。復制引擎12可為存儲控制器中的分 離器調(diào)用拷貝服務,從而把對主卷的寫入分給復制引擎卷。其它實施例細節(jié)通過利用標準編程和/或工程技術(shù)來產(chǎn)生軟件、固件、硬件或它們的任意組合,上 述操作可被實現(xiàn)成方法、設備或制造產(chǎn)品。所述操作可被實現(xiàn)成保持在“計算機可讀介質(zhì)” 中的代碼,處理器可從計算機可讀介質(zhì)讀取并執(zhí)行該代碼。計算機可讀介質(zhì)可包含諸如磁 存儲介質(zhì)(例如,硬盤驅(qū)動器、軟盤、磁帶等)、光學存儲裝置(⑶-ROM、DVD、光盤等)、易失 性和非易失性存儲器器件(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、閃速存儲器、固件、可 編程邏輯等)之類的介質(zhì)。實現(xiàn)所描述的操作的代碼還可在硬件邏輯(例如,集成電路芯 片、可編程門陣列(PGA)、專用集成電路(ASIC)等)中實現(xiàn)。另外,實現(xiàn)所描述的操作的代 碼可用“傳輸信號”來實現(xiàn),其中傳輸信號可通過空間或者通過比如光纖、銅導線等的傳輸 介質(zhì)來傳播。代碼或邏輯在其中被編碼的傳輸信號還可包含無線信號、衛(wèi)星傳輸、無線電 波、紅外信號、藍牙等。代碼或邏輯在其中被編碼的傳輸信號能夠由發(fā)射站發(fā)射并由接收站 接收,其中在傳輸信號中編碼的代碼或邏輯可被解碼并存儲在接收和發(fā)射站或設備處的硬 件或計算機可讀介質(zhì)中?!爸圃飚a(chǎn)品”包含其中可實現(xiàn)代碼的計算機可讀介質(zhì)、硬件邏輯和 /或傳輸信號。實現(xiàn)所述操作實施例的代碼在其中被編碼的設備可包含計算機可讀介質(zhì)或 硬件邏輯。當然,本領域的技術(shù)人員會認識到可對該結(jié)構(gòu)進行許多修改,而不脫離本發(fā)明的 范圍,并且制造產(chǎn)品可包含本領域已知的適當信息承載介質(zhì)。術(shù)語“實施例”、“多個實施例”、“該實施例”、“該多個實施例”、“一個或多個實施 例”、“一些實施例”和“一個實施例”意味著“本發(fā)明的一個或多個(但不是全部)實施例”,
除非另有明確說明。術(shù)語“包括”、“包含”、“具有”和它們的各種變化意味著“包括但不限于”,除非另有
明確說明。各個項目的枚舉列表并不意味著任意或所有項目互相排斥,除非另有明確說明。術(shù)語“一個”、“該”意味著“一個或多個”,除非另有明確說明。相互通信的設備不需要相互持續(xù)通信,除非另有明確說明。另外,相互通信的設備 可直接通信,或者通過一個或多個媒介間接通信。具有相互通信的幾個組件的實施例的描述并不意味需要所有此類組件。相反,對 各種可選組件描述以舉例說明本發(fā)明的多種可能的實施例。此外,盡管可按照時間順序說明處理步驟、方法步驟、算法等,但這樣的處理、方法 和算法可被配置成按照交替順序工作。換句話說,可以描述的步驟的任何序列或順序并不必定表示按照該順序執(zhí)行各個步驟的要求。實際上,可按照任何順序執(zhí)行這里描述的處理 的各個步驟。此外,可同時執(zhí)行一些步驟。當這里描述單一設備或產(chǎn)品時,顯然可以使用多于一個的設備/產(chǎn)品(無論它們是否協(xié)作)代替單一設備/產(chǎn)品。類似地,在此處描述多于一個設備或產(chǎn)品(無論它們是 否協(xié)作)的情況下,顯然,可以使用單一設備/產(chǎn)品代替使用多于一個的設備或產(chǎn)品,或者 可以使用不同數(shù)目的設備/產(chǎn)品代替所示數(shù)目的設備或程序。另一方面,設備的功能性和 /或特征可由未被明確描述成具有這種功能性/特征的一個或多個其它設備具體體現(xiàn)。因 此,本發(fā)明的其它實施例不需要包括該設備本身。圖解說明的圖5-12的操作表示按照一定順序發(fā)生的特定事件。在備選實施例中, 一些操作可按照不同的順序執(zhí)行、修改或者去除。此外,可向上述邏輯中增加一些步驟,并 且仍然與描述的實施例相符。此外,這里描述的操作可順序地發(fā)生,或者某些操作可被并行 處理。另外,操作可由單一處理單元執(zhí)行或者由分布式處理單元執(zhí)行。圖13圖解說明可整體或部分在設備2、8和14(圖1)中實現(xiàn)的計算系統(tǒng)體系結(jié) 構(gòu)400的實施例。體系結(jié)構(gòu)400可包括一個或多個處理器402 (例如,微處理器)、存儲器 404 (例如,易失性存儲設備)和存儲裝置406 (例如,非易失性存儲裝置,比如磁盤驅(qū)動器、 光盤驅(qū)動器、磁帶驅(qū)動器等)。存儲裝置406可包含內(nèi)部存儲設備或附加的或可網(wǎng)絡存取的 存儲裝置。存儲裝置406中的程序可按照本領域已知的方式被載入存儲器404中,并由處 理器402執(zhí)行。該體系結(jié)構(gòu)還包括一個或多個適配器408,以使得能夠通過網(wǎng)絡通信。輸入 設備410可被用于把用戶輸入提供給處理器402,并且可包括鍵盤、鼠標、鐵筆、麥克風、觸 敏顯示屏、或者本領域已知的任何其它激活或輸入機構(gòu)。輸出設備412能夠呈現(xiàn)從處理器 402或其它組件(比如顯示監(jiān)視器、打印機、存儲裝置等)傳送的信息。
權(quán)利要求
一種由在存儲控制器中執(zhí)行的對主卷的存取進行管理的分離器來實現(xiàn)的用于復制數(shù)據(jù)的方法,包括接收與復制引擎通信的初始化命令;接收針對一個主卷的復制命令;把所述主卷指示為經(jīng)受復制;接收用于把數(shù)據(jù)寫入所述主卷的被指示為經(jīng)受復制的目標主卷的寫入請求;把所述寫入請求中的數(shù)據(jù)寫入目標主卷;和把所述寫入請求中的數(shù)據(jù)向所述復制引擎發(fā)送,其中所述復制引擎執(zhí)行與所述目標主卷相關(guān)聯(lián)的拷貝服務功能,從而把數(shù)據(jù)寫入復制引擎卷。
2.按照權(quán)利要求1所述的方法,其中存在多個復制引擎,每個復制引擎實現(xiàn)來自不同 廠商的異類拷貝功能,其中分離器能夠使用相同組的命令和標準存儲通信協(xié)議來與不同的 復制引擎通信,從而調(diào)用異類拷貝功能。
3.按照權(quán)利要求1或2所述的方法,還包括 檢測與所述復制引擎進行的通信中的故障;把在檢測到的故障之后發(fā)生的對所述主卷寫入的指示記錄在記錄變化數(shù)據(jù)結(jié)構(gòu)中; 從所述復制引擎接收針對所述記錄變化數(shù)據(jù)結(jié)構(gòu)的請求; 把所述記錄變化數(shù)據(jù)結(jié)構(gòu)中關(guān)于已變化的數(shù)據(jù)的信息向所述復制引擎發(fā)送;和 響應于把所述記錄變化數(shù)據(jù)結(jié)構(gòu)向所述復制引擎發(fā)送,清除所述記錄變化數(shù)據(jù)結(jié)構(gòu)。
4.按照權(quán)利要求3所述的方法,還包括從所述復制引擎接收針對在所述記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的主卷中的已更新數(shù)據(jù)的 請求;和把所請求的、在所述記錄變化數(shù)據(jù)結(jié)構(gòu)中指示的已更新數(shù)據(jù)向復制引擎發(fā)送。
5.按照前述任意一項權(quán)利要求所述的方法,還包括 接收將從所述復制引擎拷貝到所述主卷的區(qū)域的指示; 從所述復制引擎請求在所述區(qū)域中指示的數(shù)據(jù); 從復制引擎接收在所述區(qū)域中指示的數(shù)據(jù);把接收到的在所述區(qū)域中指示的數(shù)據(jù)寫入所述主卷;響應于把從所述復制引擎接收的數(shù)據(jù)寫入所述主卷,指示所述區(qū)域中的數(shù)據(jù)已被寫入 所述主卷。
6.按照權(quán)利要求5所述的方法,還包括在接收到區(qū)域的列表之后,接收對所述主卷中的數(shù)據(jù)的讀取請求; 確定在所述列表中是否指示請求讀取的數(shù)據(jù);響應于確定在所述列表中指示請求讀取的數(shù)據(jù),把所述讀取請求重定向到復制引擎;禾口響應于確定在所述列表中未指示請求讀取的數(shù)據(jù),從所述主卷返回請求讀取的數(shù)據(jù)。
7.按照權(quán)利要求5所述的方法,還包括在接收到區(qū)域之后,接收用于把數(shù)據(jù)寫入主卷的寫入請求; 確定在所述區(qū)域中是否指示待寫入的數(shù)據(jù);和響應于把所述數(shù)據(jù)寫入所述主卷,指示所述區(qū)域中的來自寫入請求的數(shù)據(jù)已被寫入主卷。
8.按照前述任意一項權(quán)利要求所述的方法,還包括 接收將從所述主卷拷貝到所述復制引擎的區(qū)域的指示; 把數(shù)據(jù)從所指示的區(qū)域向所述復制引擎發(fā)送;和響應于把在所述區(qū)域中指示的數(shù)據(jù)向復制引擎發(fā)送,指示所述區(qū)域中的數(shù)據(jù)已向復制 引擎發(fā)送。
9.按照前述任意一項權(quán)利要求所述的方法,還包括 接收用于創(chuàng)建與復制引擎卷相關(guān)聯(lián)的虛擬主卷的命令; 創(chuàng)建主機可存取的虛擬主卷;接收指向所述虛擬主卷的輸入/輸出(I/O)請求; 把指向所述虛擬主卷的I/O請求定向到所述復制引擎。
10.一種用于管理對主卷的存取、并與復制引擎通信的系統(tǒng),包括 具有主卷元數(shù)據(jù)的計算機可讀介質(zhì);和能夠引起操作的分離器,所述操作包括 接收與所述復制引擎通信的初始化命令; 接收針對一個主卷的復制命令; 在所述主卷元數(shù)據(jù)中將所述主卷指示為經(jīng)受復制;接收用于把數(shù)據(jù)寫入所述主卷的被指示為經(jīng)受復制的目標主卷的寫入請求; 把所述寫入請求中的數(shù)據(jù)寫入所述目標主卷;和把所述寫入請求中的數(shù)據(jù)向所述復制引擎發(fā)送,其中所述復制引擎執(zhí)行與所述目標主 卷相關(guān)聯(lián)的拷貝服務功能,從而把數(shù)據(jù)寫入復制引擎卷。
11.按照權(quán)利要求10所述的系統(tǒng),其中存在多個復制引擎,每個復制引擎實現(xiàn)來自不 同廠商的異類拷貝功能,其中所述分離器能夠使用相同組的命令和標準存儲通信協(xié)議來與 不同的復制引擎通信,從而調(diào)用異類拷貝功能。
12.按照權(quán)利要求11所述的系統(tǒng),其中所述分離器還引起包括以下的操作 檢測與所述復制引擎進行的通信中的故障;把在檢測到的故障之后發(fā)生的對所述主卷寫入的指示記錄在記錄變化數(shù)據(jù)結(jié)構(gòu)中; 從所述復制引擎接收針對記錄變化數(shù)據(jù)結(jié)構(gòu)的請求;把所述記錄變化數(shù)據(jù)結(jié)構(gòu)中關(guān)于已變化的數(shù)據(jù)的信息向所述復制引擎發(fā)送;和 響應于把所述記錄變化數(shù)據(jù)結(jié)構(gòu)向所述復制引擎發(fā)送,清除所述記錄變化數(shù)據(jù)結(jié)構(gòu)。
13.按照權(quán)利要求11所述的系統(tǒng),其中所述分離器還引起包括以下的操作 接收將從所述復制引擎拷貝到所述主卷的區(qū)域的指示;從所述復制引擎請求在所述區(qū)域中指示的數(shù)據(jù); 從復制引擎接收在所述區(qū)域中指示的數(shù)據(jù); 把接收到的在所述區(qū)域中指示的數(shù)據(jù)寫入所述主卷;響應于把從所述復制引擎接收的數(shù)據(jù)寫入所述主卷,指示所述區(qū)域中的數(shù)據(jù)已被寫入 所述主卷。
14.按照權(quán)利要求11所述的系統(tǒng),其中所述分離器還引起包括以下的操作 在接收到區(qū)域的列表之后,接收對所述主卷中的數(shù)據(jù)的讀取請求;確定在所述列表中是否指示請求讀取的數(shù)據(jù);響應于確定在所述列表中指示請求讀取的數(shù)據(jù),把所述讀取請求重定向到復制引擎;禾口響應于確定在所述列表中未指示請求讀取的數(shù)據(jù),從所述主卷返回請求讀取的數(shù)據(jù)。
15. —種包含計算機程序代碼的計算機程序,當被載入計算機系統(tǒng)并在計算機系統(tǒng)上 執(zhí)行時,所述計算機程序代碼使所述計算機系統(tǒng)執(zhí)行按照權(quán)利要求10-14中任一項的方法 的所有步驟。
全文摘要
提供一種在存儲控制器和復制引擎之間分離寫入的方法、系統(tǒng)和制造產(chǎn)品。在存儲控制器中執(zhí)行的分離器管理對主卷的存取。接收與復制引擎通信的初始化命令。接收針對一個主卷的復制命令,該主卷被指示為經(jīng)受復制。接收用于把數(shù)據(jù)寫入主卷中的被指示為經(jīng)受復制的目標主卷的寫入請求。寫入請求中的數(shù)據(jù)被寫入目標主卷。將寫入請求中的數(shù)據(jù)向復制引擎發(fā)送。復制引擎執(zhí)行與目標主卷相關(guān)聯(lián)的拷貝服務功能,從而把數(shù)據(jù)寫入復制引擎卷。
文檔編號G06F11/20GK101815986SQ200880101630
公開日2010年8月25日 申請日期2008年8月12日 優(yōu)先權(quán)日2007年8月16日
發(fā)明者D·梅西納, G·A·斯皮爾, G·E·麥克布萊德, K·F·戴三世, K·W·伯伊德, R·B·尼科爾森, R·F·巴特費, S·費恩布里特, 程建群 申請人:國際商業(yè)機器公司