專利名稱:用來存儲原始時間點數(shù)據(jù)的設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明總地來說涉及用來存儲原始時間點數(shù)據(jù)的設(shè)備和方法。
背景技術(shù):
數(shù)據(jù)存儲系統(tǒng)被用來存儲由一個或者多個主機系統(tǒng)提供的信息。這樣的數(shù)據(jù)存儲 系統(tǒng)接收請求來將信息寫到多個數(shù)據(jù)存儲設(shè)備,也接收請求來從該多個數(shù)據(jù)存儲設(shè)備取回 fn息ο時間點(“point-in-time,PIT”)數(shù)據(jù)包括在某一規(guī)定時間產(chǎn)生的數(shù)據(jù)。當(dāng)這 樣的時間點數(shù)據(jù)的某些部分隨后被更新時,在原始的時間點數(shù)據(jù)被更新之前,該原始的PIT 數(shù)據(jù)首先被復(fù)制到目標(biāo)數(shù)據(jù)存儲器。這一過程保留了原始的PIT數(shù)據(jù)。如果原始的PIT數(shù) 據(jù)以隨機的順序被更新,那么使用現(xiàn)有技術(shù)的方法,待更新的原始PIT數(shù)據(jù)以類似的隨機 順序被寫到目標(biāo)存儲器。
發(fā)明內(nèi)容
申請人:的發(fā)明包括一種用來存儲時間點數(shù)據(jù)的方法。該方法建立塊尺寸,提供包 括(S)個塊的源數(shù)據(jù)存儲器和包括(T)個塊的目標(biāo)數(shù)據(jù)存儲器,其中(T)小于(S),并且該 方法構(gòu)建(B)個源存儲段和(B)個目標(biāo)存儲段,其中每個源存儲段包括[(幻/ )]個塊,而 每個目標(biāo)存儲段包括[(T)/(B)]個塊。該方法接收寫到第(i)個源存儲段的原始時間點數(shù)據(jù)的更新時間點數(shù)據(jù),設(shè)定 (j)等于(i),并確定第(j)個目標(biāo)存儲段是否包括用來存儲該原始時間點數(shù)據(jù)的可用存儲 容量。如果第(j)個目標(biāo)存儲段包括用來存儲該原始時間點數(shù)據(jù)的可用存儲容量,該方法 將該原始時間點數(shù)據(jù)寫到第(j)個目標(biāo)存儲段。
為了使本發(fā)明的優(yōu)點更易于理解,將參考附圖中示出的具體實施例來更詳細(xì)地說 明上面簡要描述的本發(fā)明。需理解這些附圖只是描繪了本發(fā)明的典型實施例而不是因此 就被認(rèn)為是限制本發(fā)明的范圍,將利用附圖來更加具體和詳細(xì)地說明和解釋本發(fā)明,附圖 中圖1是說明申請人的包括兩個簇(cluster)的存儲庫的一個實施例的方塊圖;圖2示出了用于時間點數(shù)據(jù)的源數(shù)據(jù)存儲器和目標(biāo)數(shù)據(jù)存儲器,其中更新的原始 時間點數(shù)據(jù)在源數(shù)據(jù)存儲器中被更新之前,從該源數(shù)據(jù)存儲器被復(fù)制到該目標(biāo)數(shù)據(jù)存儲 器;圖3說明了被配置為包括5個存儲段的圖2所示的源數(shù)據(jù)存儲器;圖4說明了被配置為包括5個存儲段的圖2所示的目標(biāo)數(shù)據(jù)存儲器;圖5是概括了申請人的方法的特定步驟的流程圖;圖6是概括了申請人的方法的附加步驟的流程圖7說明了使用申請人的方法的第一例子;圖8說明了使用申請人的方法的第二例子;圖9A說明了使用申請人的方法的第三例子的一部分;圖9B說明了使用申請人的方法的第三例子的一部分;圖IOA說明了使用申請人的方法的第四例子的一部分;圖IOB說明了使用申請人的方法的第四例子的一部分;圖IOC說明了使用申請人的方法的第四例子的一部分;圖11說明了使用申請人的方法的第五例子;圖12說明了使用申請人的方法,在例子1,2,3,4和5中被復(fù)制到目標(biāo)存儲器的原 始PIT數(shù)據(jù)的后續(xù)讀取操作;以及圖13說明了使用現(xiàn)有技術(shù)的方法,在例子1,2,3,4和5中被復(fù)制到目標(biāo)存儲器的 原始PIT數(shù)據(jù)的后續(xù)讀取操作。
具體實施例方式下面的說明中將參考附圖,在優(yōu)選實施例中說明本發(fā)明,其中相似的標(biāo)號代表相 同或相似的部件。在此說明書中,“一個實施例”、“一實施例”或類似語言意味著與該實施 例相關(guān)描述的一個特定的特征、結(jié)構(gòu)或者特性被包括在本發(fā)明的至少一個實施例中。因此, 本說明書中出現(xiàn)的“在一個實施例中”,“在一實施例中”及類似語言可以但不一定都指同一 實施例。本發(fā)明描述的特征、結(jié)構(gòu)或特性在一個或多個實施例中可以以任何適當(dāng)?shù)姆绞浇M 合。在下面的說明中,引用了很多具體的細(xì)節(jié)來提供對本發(fā)明的實施例的透徹理解。然而, 本領(lǐng)域技術(shù)人員將認(rèn)識到,本發(fā)明可以在沒有這些具體細(xì)節(jié)中的一個或多個的情況下實 施,或者利用其他的方法、部件、材料等來實施。另外的情況下,沒有詳細(xì)顯示出或描述公知 的結(jié)構(gòu)、材料或操作,以避免模糊了本發(fā)明的各方面。這里包括的示意性流程圖總地來說被表述為邏輯流程圖(例如圖5和6)。這樣, 描繪的順序和標(biāo)注的步驟說明了本發(fā)明的一個實施例。可以構(gòu)想在功能上、邏輯上或者效 果上等同于所示出的該方法的一個或多個步驟或者是其某些部分的其他步驟和方法。此 外,所使用的格式和符號被提供用來解釋此方法的邏輯步驟,而不應(yīng)理解為限制本方法的 范圍。雖然在流程圖中可以使用各種箭頭類型和直線類型,它們也不應(yīng)當(dāng)理解為限制相應(yīng) 方法的范圍(例如圖5和圖6)。事實上,可以使用某些箭頭或其他連接符來僅指示該方法 的邏輯步驟。例如,箭頭可以指示所描述方法的枚舉步驟之間的未指定持續(xù)時間的等待或 監(jiān)視周期。另外,特定方法發(fā)生的順序可以嚴(yán)格地遵循或可以不嚴(yán)格地遵循所示相應(yīng)步驟 的順序。參考圖2,寫到源數(shù)據(jù)存儲器220的時間點(“PIT”)數(shù)據(jù)包括在規(guī)定時間產(chǎn)生的 數(shù)據(jù)。當(dāng)這樣的原始PIT數(shù)據(jù)的某些部分隨后被更新時,該原始PIT數(shù)據(jù)在被更新之前首 先被復(fù)制到目標(biāo)數(shù)據(jù)存儲器230。這個過程保留了該原始PIT數(shù)據(jù)。在某些實施例中,申請人的方法利用稀少提供的時間點復(fù)制過程,其中該方法僅 分配復(fù)制被更新的原始PIT數(shù)據(jù)所需的目標(biāo)存儲器量。申請人的方法以偽排序的順序?qū)⒃?被更新的原始PIT數(shù)據(jù)寫到目標(biāo)存儲器。與現(xiàn)有技術(shù)的時間點數(shù)據(jù)復(fù)制方法相比,這個偽排序的原始PIT數(shù)據(jù)的隨后順序讀取所需的尋找距離和時間減少了。圖5概括了申請人的方法的初始步驟。現(xiàn)在參考圖5,在步驟510,該方法提供包 括原始PIT數(shù)據(jù)的源數(shù)據(jù)存儲器和目標(biāo)數(shù)據(jù)存儲器,其中要被更新的原始PIT數(shù)據(jù)首先將 被從源數(shù)據(jù)存儲器復(fù)制到目標(biāo)數(shù)據(jù)存儲器。在步驟520,該方法建立塊尺寸,其中該塊尺寸 包括多個存儲地址。在某些實施例中,步驟520的該塊尺寸包括規(guī)定數(shù)量的塊標(biāo)識。在某 些實施例中,步驟520的該塊尺寸包括規(guī)定數(shù)量的軌道號。在某些實施例中,步驟520的該 塊尺寸包括規(guī)定數(shù)量的單獨的存儲塊。在某些實施例中,步驟520由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí) 行。在某些實施例中,步驟520由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在 某些實施例中,步驟520由與包括源數(shù)據(jù)存儲器的存儲庫相通信的主機執(zhí)行。在某些實施 例中,步驟520由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫相通信的主機執(zhí)行。例如,圖2示出了源數(shù)據(jù)存儲器210和目標(biāo)數(shù)據(jù)存儲器230,其中源數(shù)據(jù)存儲器 210包括( 個存儲塊220,目標(biāo)數(shù)據(jù)存儲器230包括(T)個存儲塊M0。在圖2所示的實 施例中,源存儲塊220總地比目標(biāo)存儲塊240包括更大的存儲容量。在某些實施例中,源數(shù)據(jù)存儲器210和目標(biāo)數(shù)據(jù)存儲器230 二者都設(shè)置在相同的 數(shù)據(jù)存儲庫中。在某些實施例中,源數(shù)據(jù)存儲器210和目標(biāo)數(shù)據(jù)存儲器230設(shè)置在不同的 數(shù)據(jù)存儲庫中。在某些實施例中,源數(shù)據(jù)存儲器從由一個或多個磁信息存儲介質(zhì)、一個或多 個光信息存儲介質(zhì)、一個或多個電信息存儲介質(zhì)、和一個或多個全息數(shù)據(jù)存儲介質(zhì)構(gòu)成的 組中選擇。在某些實施例中,源數(shù)據(jù)存儲器包括一個或多個第一信息存儲介質(zhì),目標(biāo)數(shù)據(jù)存 儲器包括一個或多個第二信息存儲介質(zhì),其中該第一信息存儲介質(zhì)的類型不同于該第二信 息存儲介質(zhì),即磁盤和磁帶。現(xiàn)在參考圖1,在某些實施例中,源數(shù)據(jù)存儲器210和目標(biāo)數(shù)據(jù)存儲器230設(shè)置在 與一個或多個主機(例如主機390 (圖1))通信的數(shù)據(jù)存儲庫(例如數(shù)據(jù)存儲庫100 (圖1)) 中。在圖1所示的實施例中,數(shù)據(jù)存儲庫100包括第一簇IOlA和第二簇101B,其中簇IOlA 和簇IOlB設(shè)置在相同的外殼中。在圖1所示的實施例中,數(shù)據(jù)存儲系統(tǒng)100包括多個主機 適配器102-105,107-110,112-115和117-120,分別設(shè)置在四個主區(qū)域101,106,111和116 中。在其他的實施例中,申請人的數(shù)據(jù)存儲系統(tǒng)包括比16個主機適配器更少的適配器。不 管設(shè)置在申請人的系統(tǒng)的任何實施例中的主機適配器的數(shù)量是多少,這些主機適配器中的 每一個包括一個具有對中央處理/緩存部件130和140同等訪問權(quán)的共享資源。每個主機適配器可以包括一個或多個光纖信道端口、一個或多個FICON端口、一 個或多個ESCON端口、或一個或多個SCSI端口。每個主機適配器都通過互聯(lián)總線121被連 接到簇IOlA和101B,使得每個簇可以處理來自任何主機適配器的1/0,并且使得任一簇的 存儲控制器部分可以監(jiān)視每一通信路徑的通信路徑誤差率,該通信路徑是物理的和/或邏 輯的,與數(shù)據(jù)存儲系統(tǒng)100互聯(lián)。存儲控制器部分130包括處理器132和緩存器134。在某些實施例中,存儲控制器 部分130還包括計算機可讀介質(zhì)133。在某些實施例中,計算機可讀介質(zhì)133包括隨機訪問 存儲器。在某些實施例中,計算機可讀介質(zhì)133包括非易失存儲器。存儲控制器部分140包括處理器142和緩存器144。在某些實施例中,存儲控制器 部分140還包括計算機可讀介質(zhì)143。在某些實施例中,計算機可讀介質(zhì)143包括隨機訪問存儲器。在某些實施例中,計算機可讀介質(zhì)143包括非易失存儲器。I/O部分160包括多個設(shè)備適配器,諸如設(shè)備適配器165,166,167和168。I/O部 分170還包括多個設(shè)備適配器,諸如設(shè)備適配器175,176,177和178。在申請人的系統(tǒng)的某些實施例中,一個或多個主機適配器、存儲控制器部分130、 和一個或多個設(shè)備適配器被一起包裝在設(shè)置在申請人的數(shù)據(jù)存儲系統(tǒng)中的單個卡上。類似 地,在某些實施例中,一個或多個主機適配器、存儲控制器部分140、和一個或多個設(shè)備適配 器設(shè)置在申請人的數(shù)據(jù)存儲系統(tǒng)中的另一個卡上。在這些實施例中,申請人的數(shù)據(jù)存儲庫 100包括與多個數(shù)據(jù)存儲設(shè)備互聯(lián)的兩個卡。再次參考圖5,在步驟530,該方法建立(B)個存儲段,其中(B) 大于或等于2且小 于或等于(T)。在某些實施例中,步驟530由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器 執(zhí)行。在某些實施例中,步驟530由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。 在某些實施例中,步驟530由與包括源數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施 例中,步驟530由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。例如,在圖3所示的實施例中,示出源數(shù)據(jù)存儲器210包括10個存儲塊,即源存 儲塊305,315,325,335,345,355,365,375,385和395。此外,在圖3所示的實施例中,存儲 地址SO到S99位于存儲塊305中。類似地,存儲地址SlOO到S199,S200到S299, S300到 S399, S400 到 S499, S500 到 S599, S600 到 S699, S700 到 S799, S800 到 S899 及 S900 到 S999 分別位于源存儲塊315,325,335,345,355,365,375,385和395中。此外,在圖3所示的實 施例中,存儲段的數(shù)量(B)被設(shè)定為5。源存儲段1包括源存儲塊305和315。類似地,源 存儲段2,3,4和5分別包括源存儲塊325/335,345/355,365/375和385/395。在圖4所示的實施例中,示出目標(biāo)數(shù)據(jù)存儲器230包括5個存儲塊,即目標(biāo)存儲塊 410,420,430,440和450。每個目標(biāo)存儲塊的存儲容量是相同的,并且每個目標(biāo)存儲塊的存 儲容量等于每個源存儲塊的存儲容量。此外,在圖4所示的實施例中,示出目標(biāo)數(shù)據(jù)存儲器230包括5個目標(biāo)存儲段。目 標(biāo)存儲段1包括目標(biāo)存儲塊410。類似地,目標(biāo)存儲段2,3,4和5分別包括目標(biāo)存儲塊420, 430,440 和 450。再次參考圖5,在步驟M0,該方法接收要寫到位于第(i)個存儲段中的一個或多 個存儲地址的更新的時間點PIT數(shù)據(jù)。在某些實施例中,步驟MO的更新的PIT數(shù)據(jù)由包 括源數(shù)據(jù)存儲器和/或目標(biāo)數(shù)據(jù)存儲器的數(shù)據(jù)存儲庫(例如數(shù)據(jù)存儲庫100)接收。在某 些實施例中,步驟MO的更新的PIT數(shù)據(jù)由與包括源數(shù)據(jù)存儲器和/或目標(biāo)數(shù)據(jù)存儲器的 數(shù)據(jù)存儲庫通信的主機(例如主機390(圖1))產(chǎn)生和提供。在步驟550,該方法從源數(shù)據(jù)存儲器取回原始PIT數(shù)據(jù),其中該原始PIT數(shù)據(jù)將用 步驟540的更新的PIT數(shù)據(jù)來修改。在某些實施例中,步驟550由設(shè)置在包括源數(shù)據(jù)存儲 器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟550由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的 存儲庫中的控制器執(zhí)行。在某些實施例中,步驟550由與包括源數(shù)據(jù)存儲器的存儲庫通信 的主機執(zhí)行。在某些實施例中,步驟550由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí) 行。在步驟560,該方法確定第(j)個目標(biāo)存儲段是否包括存儲容量來編碼在步驟550 中從第(i)個源存儲段取回的原始PIT數(shù)據(jù),其中(j)初始地設(shè)定為(i)。在某些實施例
8中,步驟560由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟 560由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟560由 與包括源數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施例中,步驟560由與包括目標(biāo) 數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。如果該方法在步驟560確定第(j)個目標(biāo)存儲段包括存儲容量來編碼在步驟550 中從第(i)個源存儲段取回的原始PIT數(shù)據(jù),那么該方法從步驟560轉(zhuǎn)到步驟570,在步驟 570該方法在第(j)個目標(biāo)數(shù)據(jù)存儲器中編碼在步驟550中從第(i)個源存儲段取回的原 始PIT數(shù)據(jù)。該方法從步驟570轉(zhuǎn)到步驟M0,并且如這里所描述繼續(xù)。在某些實施例中,步驟570由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí) 行。在某些實施例中,步驟570由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在 某些實施例中,步驟570由與包括源數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施例 中,步驟570由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。如果該方法在步驟560中確定第(j)個目標(biāo)存儲段不包括存儲容量來編碼在步驟 550中從第(i)個源存儲段取回的原始PIT數(shù)據(jù),那么該方法從步驟560轉(zhuǎn)到步驟580,在 步驟580該方法確定(j)是否等于(B)。在某些實施例中,步驟580由設(shè)置在包括源數(shù)據(jù)存 儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟580由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器 的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟580由與包括源數(shù)據(jù)存儲器的存儲庫通 信的主機執(zhí)行。在某些實施例中,步驟580由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機 執(zhí)行。如果該方法在步驟580確定(i)等于(B),那么該方法從步驟580轉(zhuǎn)到步驟610(圖 6)??商娲?,如果該方法在步驟580確定(i)不等于(B),那么該方法從步驟580轉(zhuǎn)到步 驟590,在步驟590中該方法將(i)增加一。該方法從步驟590轉(zhuǎn)到步驟560并如這里所述繼續(xù)。在某些實施例中,步驟590由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí) 行。在某些實施例中,步驟590由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在 某些實施例中,步驟590由與包括源數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施例 中,步驟590由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行?,F(xiàn)在參考圖6,在步驟610,該方法設(shè)定(j)等于(i_l)。在某些實施例中,步驟610 由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟610由設(shè)置 在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟610由與包括源 數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施例中,步驟610由與包括目標(biāo)數(shù)據(jù)存儲 器的存儲庫通信的主機執(zhí)行。在步驟620,該方法確定第(j)個目標(biāo)存儲段是否包括存儲容量來編碼在步驟550 中從第(i)個源存儲段取回的原始PIT數(shù)據(jù)。在某些實施例中,步驟620由設(shè)置在包括源 數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟620由設(shè)置在包括目標(biāo)數(shù)據(jù) 存儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟620由與包括源數(shù)據(jù)存儲器的存 儲庫通信的主機執(zhí)行。在某些實施例中,步驟620由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信 的主機執(zhí)行。如果該方法在步驟620確定第(j)個目標(biāo)存儲段包括存儲容量來編碼在步驟550中從第(i)個源存儲段取回的原始PIT數(shù)據(jù),那么該方法從步驟620轉(zhuǎn)到步驟630,在步驟 630,該方法在第(j)個目標(biāo)數(shù)據(jù)存儲段中編碼在步驟550中從第(i)個源存儲段取回的原 始PIT數(shù)據(jù)。該方法從步驟630轉(zhuǎn)到步驟540并如這里所述繼續(xù)。在某些實施例中,步驟630由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí) 行。在某些實施例中,步驟630由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在 某些實施例中,步驟630由與包括源數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施例 中,步驟630由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。如果該方法在步驟620確定第(j)個目標(biāo)存儲段不包括存儲容量來編碼在步驟 550中從第(i)個源存儲段取回的原始PIT數(shù)據(jù),那么該方法從步驟620轉(zhuǎn)到步驟640,在 步驟640,該方法確定(j)是否等于1。在某些實施例中,步驟640由設(shè)置在包括源數(shù)據(jù)存 儲器的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟640由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器 的存儲庫中的控制器執(zhí)行。在某些實施例中,步驟640由與包括源數(shù)據(jù)存儲器的存儲庫通 信的主機執(zhí)行。在某些實施例中,步驟640由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機 執(zhí)行。如果該方法在步驟640確定(i)等于1,那么該方法從步驟640轉(zhuǎn)到步驟650,在 步驟650,該方法產(chǎn)生一個誤差消息。該方法從步驟650轉(zhuǎn)到步驟540并如這里所述繼續(xù)。在某些實施例中,步驟650的誤差消息被提供給與包括源數(shù)據(jù)存儲器的存儲庫相 通信的主機。在某些實施例中,步驟650的誤差消息被提供給與包括目標(biāo)數(shù)據(jù)存儲器的存 儲庫相通信的主機。在某些實施例中,步驟650的誤差消息被提供給提供步驟MO的更新 PIT數(shù)據(jù)的主機?;蛘撸绻摲椒ㄔ诓襟E640確定(j)不等于1,那么該方法從步驟640轉(zhuǎn)到步驟 660,在步驟660,該方法將(j)減小一。該方法從步驟660轉(zhuǎn)到步驟620并如這里所述繼續(xù)。在某些實施例中,步驟590由設(shè)置在包括源數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí) 行。在某些實施例中,步驟590由設(shè)置在包括目標(biāo)數(shù)據(jù)存儲器的存儲庫中的控制器執(zhí)行。在 某些實施例中,步驟590由與包括源數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。在某些實施例 中,步驟590由與包括目標(biāo)數(shù)據(jù)存儲器的存儲庫通信的主機執(zhí)行。提供下面的例子來進(jìn)一步向本領(lǐng)域技術(shù)人員說明如何實施圖5和6中的方法。但 是這些例子不旨在限制本發(fā)明的范圍。例子 1現(xiàn)在參考圖7,在步驟MO,該方法接收將用來修改編碼在存儲地址S325-S380中 的原始PIT數(shù)據(jù)的更新的PIT數(shù)據(jù)。參考圖3,存儲地址S325-S380位于源存儲塊335中, 而源存儲數(shù)據(jù)塊335構(gòu)建在源存儲段2中。因此,(i)等于2。在步驟560,該方法確定目標(biāo)存儲段2是否包括充足的存儲容量來存儲編碼在存 儲地址S325-S380中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo)存儲段2確實包括充足的存儲容量, 圖7示出編碼在存儲地址S325-S380中的該原始PIT數(shù)據(jù)在步驟570中被復(fù)制到目標(biāo)存儲 段2。例子2現(xiàn)在參考圖8,在步驟MO,該方法接收將用來修改編碼在存儲地址S720-S780中的原始PIT數(shù)據(jù)的更新的PIT數(shù)據(jù)。參考圖3,存儲地址S720-S780位于源存儲塊375中, 而源存儲塊375構(gòu)建在源存儲段4中。因此,(i)等于4。在步驟560,該方法確定目標(biāo)存儲段4是否包括充足的存儲容量來存儲編碼在存 儲地址S720-S780中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo)存儲段4確實包括充足的存儲容量, 圖8示出編碼在存儲地址S720-S780中的該原始PIT數(shù)據(jù)在步驟570中被復(fù)制到目標(biāo)存儲 段4。例子3現(xiàn)在參考圖9A,在步驟M0,該方法接收將用來修改編碼在存儲地址S600-S650中 的原始PIT數(shù)據(jù)的更新的PIT數(shù)據(jù)。參考圖3,存儲地址S600-S650位于源存儲塊365中, 而源存儲塊365構(gòu)建在源存儲段4中。因此,(i)等于4。在步驟560,該方法確定目標(biāo)存儲段4是否包括充足的存儲容量來存儲編碼在存 儲地址S600-S650中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo)存儲段4不包括充足的存儲容量, 圖8示出編碼在存儲地址S600-S650中的該原始PIT數(shù)據(jù)不能被復(fù)制到目標(biāo)存儲段4。在 步驟580,該方法確定4,即(i)的值不等于5,即(B)的值。因此,在步驟590,將(i)增加一,并且在步驟560該方法確定目標(biāo)存儲段5是否包 括充足的存儲容量來存儲編碼在存儲地址S600-S650中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo) 存儲段5確實包括充足的存儲容量,圖9B示出編碼在存儲地址S600-S650中的該原始PIT 數(shù)據(jù)在步驟570被復(fù)制到目標(biāo)存儲段5。例子 4現(xiàn)在參考圖10A,在步驟M0,該方法接收將用來修改編碼在存儲地址S651-S699 中的原始PIT數(shù)據(jù)的更新的PIT數(shù)據(jù)。參考圖3,存儲地址S651-S699位于源存儲塊365 中,而源存儲塊365構(gòu)建在源存儲段4中。因此,(i)等于4。在步驟560,該方法確定目標(biāo)存儲段4是否包括充足的存儲容量來存儲編碼在存 儲地址S651-S699中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo)存儲段4不包括充足的存儲容量, 圖IOA示出編碼在存儲地址S651-S699中的該原始PIT數(shù)據(jù)不能被復(fù)制到目標(biāo)存儲段4。在步驟580,該方法確定4,即(j)的值不等于5,即⑶的值。因此,在步驟590, 將(j)增加一,并且在步驟560該方法確定目標(biāo)存儲段5是否包括充足的存儲容量來存儲 編碼在存儲地址S651-S699中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo)存儲段5不包括充足的存 儲容量,圖IOB示出編碼在存儲地址S651-S699中的該原始PIT數(shù)據(jù)不能被復(fù)制到目標(biāo)存 儲段5。在步驟580,該方法確定(j)的值5等于⑶的值5。在步驟610,該方法設(shè)定(j)等于3,即(i-Ι)。在步驟620,該方法確定目標(biāo)存儲 段3是否包括充足的存儲容量來存儲編碼在存儲地址S651-S699中的該原始PIT數(shù)據(jù)。一 旦確定目標(biāo)存儲段3確實包括充足的存儲容量,圖IOC示出編碼在存儲地址S651-S699中 的該原始PIT數(shù)據(jù)在步驟630被復(fù)制到目標(biāo)存儲段3。例子 5現(xiàn)在參考圖11,在步驟MO,該方法接收將用來修改編碼在存儲地址S025-S080中 的原始PIT數(shù)據(jù)的更新的PIT數(shù)據(jù)。參考圖3,存儲地址S025-S080位于源存儲塊305中, 而源存儲塊305構(gòu)建在源存儲段1中。因此,(i)等于1。在步驟560,該方法確定目標(biāo)存儲段1是否包括充足的存儲容量來存儲編碼在存儲地址S025-S080中的該原始PIT數(shù)據(jù)。一旦確定目標(biāo)存儲段1確實包括充足的存儲容量, 圖11示出編碼在存儲地址S025-S080中的該原始PIT數(shù)據(jù)被復(fù)制到目標(biāo)存儲段1。例子6現(xiàn)在參考圖12,當(dāng)讀取寫在目標(biāo)數(shù)據(jù)存儲器310中的原始PIT數(shù)據(jù)時,該原始PIT 數(shù)據(jù)后續(xù)地被順序讀取,即以原先寫到源數(shù)據(jù)存儲器210中的順序被讀取。利用例子1,2, 3,4和5中被復(fù)制的原始PIT數(shù)據(jù),圖12所示的“讀取順序”為目標(biāo)存儲段1,目標(biāo)存儲段 2,目標(biāo)存儲段4,目標(biāo)存儲段5和目標(biāo)存儲段3。這個讀取序列包括總共2個“跳躍”。關(guān) 于“跳躍”,申請人的意思是讀取頭讀取編碼在第一目標(biāo)數(shù)據(jù)段中的數(shù)據(jù),跳過一個目標(biāo)數(shù) 據(jù)段,然后讀取編碼在第二目標(biāo)數(shù)據(jù)段中的數(shù)據(jù)。例子 7現(xiàn)在參考圖13,利用現(xiàn)有技術(shù)的方法在更新原始PIT數(shù)據(jù)之前復(fù)制該PIT數(shù)據(jù)時, 原始PIT數(shù)據(jù)以與接收更新的PIT數(shù)據(jù)相同的順序被寫到目標(biāo)數(shù)據(jù)存儲器。圖13示出例 子1,2,3,4和5的更新的PIT數(shù)據(jù)被以接收的順序?qū)懙侥繕?biāo)數(shù)據(jù)存儲器320。該原始PIT 數(shù)據(jù)后續(xù)地被順序讀取,即以原先寫到源數(shù)據(jù)存儲器210的順序被讀取。利用例子1,2,3,4和5中被復(fù)制到目標(biāo)數(shù)據(jù)存儲塊的原始PIT數(shù)據(jù),使用現(xiàn)有技 術(shù)方法的圖13所示的“讀取順序”為目標(biāo)塊5,目標(biāo)塊1,目標(biāo)塊3,目標(biāo)塊4和目標(biāo)塊2。此 現(xiàn)有技術(shù)讀取序列包括總共5個“跳躍”。比較例子7和8中的“跳躍”總數(shù),表明了申請人的方法的有用性。申請人的方法 以偽排序的序列將原始PIT數(shù)據(jù)復(fù)制到目標(biāo)數(shù)據(jù)存儲器。相對于利用現(xiàn)有技術(shù)的方法讀取 復(fù)制到目標(biāo)數(shù)據(jù)存儲塊的原始PIT數(shù)據(jù),此偽排序序列的后續(xù)讀取減少了讀取頭必須走過 的距離。本領(lǐng)域的技術(shù)人員可以理解,減少讀取頭在后續(xù)讀取操作期間必須走過的距離必 然減少執(zhí)行該后續(xù)讀取操作所需的時間。在某些實施例中,圖5和6中提到的各步驟可以被組合、刪除或重排序。在某些實施例中,申請人的發(fā)明包括諸如指令136(圖1)和/或指令146(圖1), 和/或指令398的指令,這些指令分別駐留于計算機可讀介質(zhì)133,143和/或396中,其中 這些指令分別由諸如處理器132,142和/或394的處理器執(zhí)行,來實現(xiàn)圖5中的步驟520, 530,540,550,560,570,580和/或590中的一個或多個,和/或圖6中的步驟610,620,630, 640,650和/或660中的一個或多個。在其它的實施例中,申請人的發(fā)明包括駐留在任何其它的計算機程序產(chǎn)品中的指 令,這里這些指令由存儲庫100(圖1)或主機390(圖1)的外部或內(nèi)部的計算機執(zhí)行,以實 現(xiàn)圖5中的步驟520,530J40,550,560,570,580和/或590中的一個或多個,和/或圖6 中的步驟610,620,630,640,650和/或660中的一個或多個。在任何一種情況中,這些指令可以編碼在計算機可讀介質(zhì)中,包括例如磁信息存 儲介質(zhì)、光信息存儲介質(zhì)、電子信息存儲介質(zhì)等。關(guān)于“電子存儲介質(zhì)”,申請人指的是,例如 但不局限于一個或多個設(shè)備,諸如PROM、EPROM、EEPR0M、快閃PR0M、緊致閃存、智能介質(zhì)等。雖然已經(jīng)詳細(xì)地說明了本發(fā)明的優(yōu)選實施例,很顯然對于本領(lǐng)域的技術(shù)人員來說 可以對這些實施例做出各種改變和調(diào)整而不脫離后附權(quán)利要求書中限定的本發(fā)明的保護 范圍。
權(quán)利要求
1.一種用于存儲時間點數(shù)據(jù)的方法,包括 建立塊尺寸;提供包括( 個塊的源數(shù)據(jù)存儲器; 提供包括⑴個塊的目標(biāo)數(shù)據(jù)存儲器,其中⑴小于⑶;構(gòu)建(B)個源存儲段和(B)個目標(biāo)存儲段,其中每個源存儲段包括[6)/(B)]個塊,并 且其中每個目標(biāo)存儲段包括[(T)/(B)]個塊;接收寫到第(i)個源存儲段的原始時間點數(shù)據(jù)的更新時間點數(shù)據(jù); 設(shè)定(j)等于⑴;確定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量; 響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量, 將所述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段。
2.如權(quán)利要求1的方法,其中⑶等于⑴。
3.如權(quán)利要求1的方法,還包括提供包括所述源數(shù)據(jù)存儲器和所述目標(biāo)數(shù)據(jù)存儲器的數(shù)據(jù)存儲庫; 由主機向所述數(shù)據(jù)存儲庫提供所述更新時間點數(shù)據(jù); 由所述數(shù)據(jù)存儲庫將所述原始時間點數(shù)據(jù)復(fù)制到所述目標(biāo)數(shù)據(jù)存儲器。
4.如權(quán)利要求3的方法,還包括提供第二數(shù)據(jù)存儲庫,其中所述目標(biāo)數(shù)據(jù)存儲器包括磁帶存儲介質(zhì)。
5.如權(quán)利要求1的方法,其中所述塊尺寸包括一個或多個軌道號。
6.如權(quán)利要求1的方法,其中所述塊尺寸包括一個或多個塊標(biāo)識。
7.如權(quán)利要求1的方法,其中所述第(j)個目標(biāo)存儲段不包括用來存儲所述更新時間 點數(shù)據(jù)的可用存儲容量,該方法還包括將(j)增加一;判定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量; 響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量, 將所述原始時間點數(shù)據(jù)復(fù)制到所述第(j)個目標(biāo)存儲段。
8.如權(quán)利要求7的方法,其中所述第(j)個目標(biāo)存儲段不包括用來存儲所述更新時間 點數(shù)據(jù)的可用存儲容量,該方法還包括確定(j)是否等于⑶;如果(j)不等于(B),重復(fù)所述增加步驟、所述判定步驟和所述復(fù)制步驟。
9.如權(quán)利要求8的方法,其中(j)等于(B),該方法還包括 設(shè)定(j)等于(i_l);確定所述第(j)個目標(biāo)存儲段是否包括用來存儲所述更新時間點數(shù)據(jù)的可用存儲容量;響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述更新時間點數(shù)據(jù)的可用存儲容量, 將所述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段。
10.如權(quán)利要求9的方法,其中所述第(j)個目標(biāo)存儲段不包括用來存儲所述更新時間 點數(shù)據(jù)的可用存儲容量,該方法還包括確定(j)是否等于1 ;如果(j)不等于1,將(j)減小一;確定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量;響應(yīng)于第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量,將所 述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段。
11.一種制造品,包括包括( 個塊的源數(shù)據(jù)存儲介質(zhì),其中( 大于1,和包括置于 其中的計算機可讀程序碼來復(fù)制更新時間點數(shù)據(jù)的計算機可讀介質(zhì),其中所述制造品與包 括(T)個塊的目標(biāo)數(shù)據(jù)存儲介質(zhì)通信,其中(T)小于(S),并且其中所述(S)個塊和所述(T) 個塊中的每個塊包括相同的塊尺寸,該計算機可讀程序碼包括一系列計算機可讀程序步驟 來實現(xiàn)構(gòu)建(B)個源存儲段和(B)個目標(biāo)存儲段,其中每個源存儲段包括[(S)/(B)]個塊,并 且其中每個目標(biāo)存儲段包括[(T)/(B)]個塊;接收更新時間點數(shù)據(jù);接收寫到第(i)個源存儲段的原始時間點數(shù)據(jù)的更新時間點數(shù)據(jù);設(shè)定(j)等于⑴;確定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量;響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量, 將所述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段。
12.如權(quán)利要求11的制造品,其中⑶等于(T)。
13.如權(quán)利要求11的制造品,其中所述計算機可讀程序碼還包括一系列計算機可讀程 序步驟來實現(xiàn)從主機接收所述更新時間點數(shù)據(jù)。
14.如權(quán)利要求13的制造品,其中所述目標(biāo)數(shù)據(jù)存儲器包括磁帶存儲介質(zhì)。
15.如權(quán)利要求11的制造品,其中所述第(i)個目標(biāo)存儲段不包括用來存儲所述更新 時間點數(shù)據(jù)的可用存儲容量,所述計算機可讀程序碼還包括一系列計算機可讀程序步驟來 實現(xiàn)將(j)增加一;判定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量;響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量, 將所述原始時間點數(shù)據(jù)復(fù)制到所述第(j)個目標(biāo)存儲段。
16.如權(quán)利要求15的制造品,其中所述第(j)個目標(biāo)存儲段不包括用來存儲所述更新 時間點數(shù)據(jù)的可用存儲容量,所述計算機可讀程序碼還包括一系列計算機可讀程序步驟來 實現(xiàn)確定(j)是否等于⑶;如果(j)不等于(B),重復(fù)所述增加步驟、所述判定步驟和所述復(fù)制步驟。
17.如權(quán)利要求16的制造品,其中(j)等于(B),所述計算機可讀程序碼還包括一系列 計算機可讀程序步驟來實現(xiàn)設(shè)定(j)等于(i_l);確定所述第(j)個目標(biāo)存儲段是否包括用來存儲所述更新時間點數(shù)據(jù)的可用存儲容量;響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述更新時間點數(shù)據(jù)的可用存儲容量,將所述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段。
18.如權(quán)利要求17的制造品,其中所述第(j)個目標(biāo)存儲段不包括用來存儲所述更新 時間點數(shù)據(jù)的可用存儲容量,所述計算機可讀程序碼還包括一系列計算機可讀程序步驟來 實現(xiàn)確定(j)是否等于1 ;如果(j)不等于1,將(j)減小一;確定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量; 響應(yīng)于第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容量,將所 述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段。
19.一種計算機程序,包括程序碼裝置,適用于當(dāng)所述程序運行在計算機上時執(zhí)行權(quán)利 要求1-10中任何一項的所有步驟。
20.一種用來存儲時間點數(shù)據(jù)的設(shè)備,包括 用于建立塊尺寸的裝置;用于提供包括( 個塊的源數(shù)據(jù)存儲器的裝置; 用于提供包括⑴個塊的目標(biāo)數(shù)據(jù)存儲器的裝置,其中⑴小于⑶; 用于構(gòu)建(B)個源存儲段和(B)個目標(biāo)存儲段的裝置,其中每個源存儲段包括[(S)/ (B)]個塊,并且其中每個目標(biāo)存儲段包括[(T)/(B)]個塊;用于接收寫到第(i)個源存儲段的原始時間點數(shù)據(jù)的更新時間點數(shù)據(jù)的裝置; 用于設(shè)定(j)等于⑴的裝置;用于確定第(j)個目標(biāo)存儲段是否包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲容 量的裝置;用于響應(yīng)于所述第(j)個目標(biāo)存儲段包括用來存儲所述原始時間點數(shù)據(jù)的可用存儲 容量,將所述原始時間點數(shù)據(jù)寫到所述第(j)個目標(biāo)存儲段的裝置。
全文摘要
一種存儲時間點數(shù)據(jù)的方法,包括建立塊尺寸,提供包括(S)個塊的源數(shù)據(jù)存儲器,和包括(T)個塊的目標(biāo)數(shù)據(jù)存儲器。該方法構(gòu)建(B)個源存儲段和(B)個目標(biāo)存儲段,并且接收寫到第(i)個源存儲段的原始時間點數(shù)據(jù)的更新時間點數(shù)據(jù)。該方法然后確定第(j)個目標(biāo)存儲段是否包括用來存儲該原始時間點數(shù)據(jù)的可用存儲容量。如果第(j)個目標(biāo)存儲段包括用來存儲該原始時間點數(shù)據(jù)的可用存儲容量,該方法將該原始時間點數(shù)據(jù)寫到該第(j)個目標(biāo)存儲段。
文檔編號G06F11/14GK102112956SQ200980129453
公開日2011年6月29日 申請日期2009年7月16日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者C·M·桑索尼, D·F·斯科特, L·C·拉弗雷斯, O·伊帕拉基, 徐燕 申請人:國際商業(yè)機器公司