在源邏輯地址和目標邏輯地址之間建立時間點拷貝關系的制作方法
【技術領域】
[0001] 本發明涉及一種在源邏輯地址和目標邏輯地址之間建立時間點(point-in-time) 拷貝關系的計算機程序產品、系統、和方法。
【背景技術】
[0002] 在存儲環境,卷可以被拷貝到其他卷以提供數據的冗余拷貝或存儲截至時間點的 數據。快照是常見的行業術語,表示創建所有數據的時間點(PiT)拷貝的能力。通常,快照 創建是瞬間完成的,并且數據只有當被修改時才被拷貝,稱為寫時拷貝(copy-onirite), 為了保存截至時間點的數據,創建了快照。此外,可以指定后臺拷貝操作以在后臺拷貝源數 據到目標站點從而提供的源數據的冗余拷貝。可以使用時間點拷貝技術創建快照或時間點 拷貝,如IBM的FlashCopy?(FlashCopy?是國際商用機器公司,或"IBM"的注冊商標)。
[0003] 為了在源數據與目標數據之間建立時間點拷貝關系,IBM數據設施存儲管理子系 統(DFSM)可與IBMz/OS?.操作系統一起提供快速拷貝建立(FCESTABL)命令,該命令允許 用戶指定要拷貝到目標卷的源卷,用戶可以指定只拷貝在源卷中被更新的數據或者執行源 卷到目標卷的后臺拷貝。(z/〇S是IBM在美國和其他國家的注冊商標)。
[0004] FCESTABL命令還允許用戶為時間點拷貝指定區(extents)列表,其包括少于所有 的源卷和目標卷的相鄰的軌道。在FCESTABL命令中指定的程度指出了在源設備和目標設 備上的第一和最后軌道,其可以在磁盤柱和磁頭號中指定。
[0005] 現有技術中需要用于建立時間點拷貝關系的改進技術。
【發明內容】
[0006] 提供了在源邏輯地址和目標邏輯地址之間建立時間點(point-in-time)拷貝關 系的計算機程序產品、系統、和方法。時間點拷貝建立命令指定源集和目標集,所述源集包 含所述至少一個存儲器中的源邏輯地址的子集,所述目標集包含所述至少一個存儲器中的 目標邏輯地址的子集,源邏輯地址的所述源集被拷貝到目標邏輯地址的所述目標集,其中 所述源邏輯地址映射到源軌道,并且所述目標邏輯地址映射到目標軌道;響應于處理該時 間點拷貝建立命令,產生指示源邏輯地址的所述源集以及目標邏輯地址的所述目標集、以 及指示是否所述源集中的所述源邏輯地址已經被拷貝到所述目標集的拷貝信息;產生所述 拷貝信息之后并且拷貝全部所述源邏輯地址到所述目標邏輯地址之前,向所述時間點拷貝 建立命令返回執行完畢。
【附圖說明】
[0007] 圖1說明了計算環境的實施例;
[0008] 圖2說明了為了建立時間點拷貝關系的時間點拷貝建立命令的實施例;
[0009] 圖3說明了源/目標關系信息的實施例;
[0010] 圖4說明了用于時間點拷貝關系的拷貝映射的實施例;
[0011] 圖5a和5b說明了建立時間點拷貝關系的操作的實施例;
[0012] 圖6說明了在時間點拷貝關系中處理源邏輯地址更新的操作的實施例;
[0013]圖7說明了為時間點拷貝關系執行后臺拷貝操作的操作實施例。
【具體實施方式】
[0014] 描述的實施例提供了在源邏輯地址的源集和目標邏輯地址的目標集之間建立時 間點拷貝關系關系的技術,其中源邏輯地址的源集包括諸如在源卷中的源邏輯地址的子 集,目標邏輯地址的目標集包括諸如在目標卷中的目標邏輯地址的子集,這里邏輯地址映 射到軌道。此外,所描述的實施例提供了用于為第一和/或最后的目標軌道拷貝源數據作 為建立操作的一部分的技術,其中第一和/或最后的目標軌道只是部分包括被拷貝的源邏 輯地址。這樣,指示在諸如目標卷的目標位置的需要被拷貝的目標邏輯地址的拷貝映射,不 能指示在建立操作期間使用數據更新的第一和/或最后的目標軌道需要被拷貝。描述的實 施例進一步對使用卷和邏輯塊地址的分布式系統允許有時間點拷貝關系。
[0015] 圖1說明了計算環境的實施例,該計算環境具有控制器2,用于從具有一個或多個 邏輯卷6a的耦合的源存儲器4a到具有一個或多個卷6b的耦合的目標存儲器4b拷貝數 據。控制器2包括處理器8和存儲器10。主機(未示出)可以向第一控制器6a直接發出 讀寫請求來訪問在第一存儲器4a和在第二存儲器4b中的軌道。主機在時間點拷貝關系16 中寫入該第一存儲器4a中的軌道可能導致第二存儲4b的軌道重復。在另一個實施例中, 目標存儲器4b可以耦合到目標控制器,以便控制器2傳達被拷貝到目標控制器的時間點數 據,以便管理到目標存儲器4b的拷貝。控制器2可以通過網絡10與存儲4a、4b通信。
[0016] 存儲器10包括一個拷貝管理器12,用于如在一個或多個時間點拷貝關系14中指 定的那樣,從源存儲器4a到目標存儲器4b拷貝數據。拷貝關系14可以識別在源卷6a中 的源邏輯地址以拷貝到在目標卷6b中的目標邏輯地址。另外,在時間點拷貝關系14中的 源邏輯地址和目標邏輯地址可以在存儲器4a,4b中的一個的相同卷中。在時間點拷貝關系 14中拷貝的數據可以是一致性會話或者一致性組的部分,以便數據以保持所有相關數據的 一致性的方式拷貝,從而保持相關的寫的順序,使得截至時間點的數據一致。
[0017] 時間點拷貝關系14包括源關系信息20以及目標關系信息22,二者提供關于參與 拷貝操作的源和目標軌道的信息。此信息用于管理到源卷和目標卷的I/O請求以確定I/O 請求是否是針對參與時間點拷貝操作的軌道的。時間點拷貝關系14還包括指示源集的源 邏輯地址需要被拷貝到的目標卷6b中的軌道的拷貝映射24。
[0018]拷貝管理器12可以實現為時間點程序,例如IBMFlashCopy?,快照,和其他時 間點程序,以在相同或不同的卷中指定的源和目標的邏輯地址之間執行時間點拷貝操作。 (FlashCopy是國際商用機器公司,或"IBM"的注冊商標)。時間點拷貝操作可以是在包含 在源卷6a的邏輯地址的子集的源邏輯地址的源集和包含在目標卷6b的邏輯地址的子集的 目標邏輯地址的目標集之間的。邏輯地址可以包括映射到卷6a,6b的鄰接軌道的邏輯塊地 址(LBA)〇
[0019] 當程序代碼加載到存儲器10并由處理器8執行時,圖1示出了拷貝管理器12。另 外,拷貝管理器12的一些或所有的功能可以在控制器6a,6b的硬件設備中實現,如專用集 成電路(ASIC),現場可編程門陣列(FPGA)等,控制器2可以包括其他沒有示出的程序,如操 作系統和應用程序。
[0020] 存儲器10可以包括一個或多個易失性的或非易失性的存儲設備,如動態隨機存 取存儲器ORAM),隨機存取存儲器(RAM)或非易失性存儲器,例如,具有后備電池的隨機存 取存儲器(RAM),靜態存儲器(SRAM),固態存儲設備(SSD),等。
[0021] 存儲器4a,4b的每個可以包含一個或多個在本領域中已知的存儲設備,如相互 連接的存儲設備,其中存儲設備可以包括硬盤驅動器,包含固態電子器件的固態存儲設備 (SSD),如EEPR0M(電可擦除可編程只讀存儲器),閃存,閃存硬盤,隨機存取存儲器(RAM)驅 動器,存儲級內存(SCM),等,磁存儲磁盤,光盤,磁帶等,存儲器4a和4b可以在獨立磁盤冗 余陣列(RAID)配置中存儲軌道,該RAID配置中,軌道的步進是跨包括存儲器4a和4b的多 個存儲設備而寫入存儲體(rank)的。
[0022] 網絡10可包含網絡,如局域網(LAN),存儲區域網絡(SAN),廣域網(WAN),對等網 絡,無線網絡,等等。
[0023] 圖2說明了時間點拷貝建立命令50的實施例,該命令或在控制器2內提交或從連 接的主機提交,以使得拷貝管理器12產生時間點拷貝的關系14。時間點拷貝建立命令50 包括用于指定時間點拷貝建立命令的命令字段52 ;要被拷貝的第一源邏輯地址54 ;要被拷 貝的最后源邏輯地址56 ;第一源邏輯地址54被拷貝到的第一目標邏輯地址58 ;和最后源 邏輯地址56被拷貝到的最后目標邏輯60 ;和其他參數62,如后臺拷貝參數,其用于指示是 否進行后臺操作來將源邏輯地址拷貝到目標邏