專(zhuān)利名稱:數(shù)據(jù)存儲(chǔ)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)系統(tǒng)、以及操作數(shù)據(jù)存儲(chǔ)系統(tǒng)的方法。在一個(gè)實(shí)施例中,使用 FlashCopy過(guò)程來(lái)將頻繁存取的數(shù)據(jù)與較不頻繁存取的數(shù)據(jù)分離。
背景技術(shù):
在大數(shù)據(jù)存儲(chǔ)系統(tǒng)內(nèi),經(jīng)常有多種不同類(lèi)型的存儲(chǔ)介質(zhì)被使用??赏ㄟ^(guò)諸如容量、 可用性、性能和成本的很多度量標(biāo)準(zhǔn)來(lái)對(duì)各種類(lèi)型進(jìn)行分類(lèi)。區(qū)分不同類(lèi)型的存儲(chǔ)的不同屬性的例子可包括附連(attachment)技術(shù)(例如,SATA或FC/SCSI)驅(qū)動(dòng)器、冗余方案(例如,RAID-5、RAID-I或RAID-10)、以及空間節(jié)省算法(例如,壓縮、去重(de-duplication) 或非壓縮)。正在出現(xiàn)的新型的存儲(chǔ)技術(shù)是存儲(chǔ)型存儲(chǔ)器(storage-class memory),閃存是其優(yōu)選的例子。存儲(chǔ)介質(zhì)上的不同應(yīng)用和服務(wù)器將具有關(guān)于這些度量標(biāo)準(zhǔn)的變化的需求。每個(gè)應(yīng)用將趨向于具有其自己的需求,給定應(yīng)用的需求也將趨向于隨著時(shí)間而變化,這是由于對(duì)該應(yīng)用的要求發(fā)生了變化。因此,在應(yīng)用之間優(yōu)化存儲(chǔ)的分配以確??捎觅Y源的最佳使用、從而在整體上滿足業(yè)務(wù)需求是非常復(fù)雜的任務(wù)。執(zhí)行改變以嘗試并優(yōu)化資源分配所需的工作也可能代價(jià)很高。向服務(wù)器重新分配存儲(chǔ)(storage)可能需要服務(wù)器停機(jī)時(shí)間、以及可觀的管理員工作來(lái)執(zhí)行該改變。使用例如SAN卷控制器(SVC)的、實(shí)現(xiàn)存儲(chǔ)虛擬化的產(chǎn)品可消除服務(wù)器停機(jī)時(shí)間,并顯著減少管理員工作。這樣的產(chǎn)品提供了數(shù)據(jù)遷移特征,其允許將數(shù)據(jù)從一種類(lèi)型存儲(chǔ)分配到另一種類(lèi)型存儲(chǔ),這對(duì)使用中的系統(tǒng)來(lái)說(shuō)是透明的。然而,這些改變的一個(gè)限制是最方便的管理單元處于虛擬盤(pán)(vdisk)、卷或邏輯單元(LUN)級(jí)別。整個(gè)虛擬盤(pán)必須被給定為同一類(lèi)型的存儲(chǔ)。然而,存在數(shù)據(jù)存儲(chǔ)系統(tǒng)中的虛擬盤(pán)可能不包括具有同類(lèi)需求的數(shù)據(jù)的很多例子。事實(shí)上,完全同類(lèi)的虛擬盤(pán)是異常而非常規(guī)。將存在具有不同需求的不同數(shù)據(jù)區(qū)的一個(gè)特定情況是為了性能。傳統(tǒng)的緩存技術(shù)在有限程度上可對(duì)此問(wèn)題有幫助。盡管被慢存取存儲(chǔ)拖累,但是寫(xiě)入緩存可允許主機(jī)察覺(jué)到低寫(xiě)入服務(wù)時(shí)間。寫(xiě)入緩存還可快速地吸收短突發(fā)的寫(xiě)入活動(dòng),并將其在較長(zhǎng)時(shí)段上送至較慢的后端存儲(chǔ),從而模擬高性能存儲(chǔ)。這些能力均為已知的,并在例如SVC中實(shí)現(xiàn)。但是,當(dāng)前使用的寫(xiě)入緩存在其能力上受限。首先,必須最終將寫(xiě)入IO從寫(xiě)入緩存發(fā)送到后備存儲(chǔ)。有可能消除小部分流量,但大部分必定仍在該處被處理。如果后備存儲(chǔ)不能支撐主機(jī)應(yīng)用寫(xiě)入流量,則寫(xiě)入緩存變滿,并失去優(yōu)勢(shì)。另外,寫(xiě)入緩存的大小相對(duì)于系統(tǒng)存儲(chǔ)的總量來(lái)說(shuō)較小,可能小于1%。同時(shí),這些意味著,傳統(tǒng)的寫(xiě)入緩存不足以允許低性能類(lèi)型內(nèi)的存儲(chǔ)被用于盤(pán)中具有較高性能需求的那些部分。諸如采用壓縮或數(shù)據(jù)去重(de-duplication)的某些類(lèi)型的存儲(chǔ)表現(xiàn)為低性能存儲(chǔ)的極端例子。盡管這些可能提供與滿足給定服務(wù)器或應(yīng)用的存儲(chǔ)需求所需的容量有關(guān)的顯著成本節(jié)省,但針對(duì)這些存儲(chǔ)執(zhí)行寫(xiě)入10所帶來(lái)的性能損失意味著,它們不能被用于通用10。它們的算法增大了執(zhí)行10的成本,并對(duì)它們可支撐的峰值吞吐量起到限制作用。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于對(duì)現(xiàn)有技術(shù)做出改善。根據(jù)本發(fā)明的第一方面,提供了一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括控制器、第一低性能存儲(chǔ)介質(zhì)、以及第二高性能存儲(chǔ)介質(zhì),所述控制器連接到所述存儲(chǔ)介質(zhì),并被配置為控制對(duì)所述存儲(chǔ)介質(zhì)的IO存取,其中,所述控制器被配置為在第一存儲(chǔ)介質(zhì)上存儲(chǔ)映像;啟動(dòng)從第一存儲(chǔ)介質(zhì)到第二存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第二存儲(chǔ)介質(zhì); 以及周期性地從第二存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。根據(jù)本發(fā)明的第二方面,提供了一種操作數(shù)據(jù)存儲(chǔ)系統(tǒng)的方法,所述系統(tǒng)包括控制器、第一低性能存儲(chǔ)介質(zhì)、以及第二高性能存儲(chǔ)介質(zhì),所述控制器連接到所述存儲(chǔ)介質(zhì), 并被配置為控制對(duì)所述存儲(chǔ)介質(zhì)的IO存取,其中,所述方法包括以下步驟在第一存儲(chǔ)介質(zhì)上存儲(chǔ)映像;啟動(dòng)從第一存儲(chǔ)介質(zhì)到第二存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有 IO存取導(dǎo)向第二存儲(chǔ)介質(zhì);以及周期性地從第二存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。根據(jù)本發(fā)明的第三方面,提供了一種計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,用于操作數(shù)據(jù)存儲(chǔ)系統(tǒng),所述系統(tǒng)包括控制器、第一低性能存儲(chǔ)介質(zhì)、以及第二高性能存儲(chǔ)介質(zhì),所述控制器連接到所述存儲(chǔ)介質(zhì),并被配置為控制對(duì)所述存儲(chǔ)介質(zhì)的IO存取,其中,所述產(chǎn)品包括指令,用于在第一存儲(chǔ)介質(zhì)上存儲(chǔ)映像;啟動(dòng)從第一存儲(chǔ)介質(zhì)到第二存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第二存儲(chǔ)介質(zhì);以及周期性地從第二存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。由于本發(fā)明,可以提供這樣的數(shù)據(jù)存儲(chǔ)系統(tǒng)該系統(tǒng)將在低處理開(kāi)銷(xiāo)下自動(dòng)地識(shí)另IJ、并將高性能區(qū)域與低性能區(qū)域分離。因此,包含對(duì)于系統(tǒng)性能來(lái)說(shuō)重要的數(shù)據(jù)的原始存儲(chǔ)介質(zhì)的部分相對(duì)于其余部分接收到更好的服務(wù),因此,該系統(tǒng)作為整體是有優(yōu)勢(shì)的。將虛擬盤(pán)上的頻繁存取的需要高性能的數(shù)據(jù)與需要低性能的數(shù)據(jù)分離,并分配給相當(dāng)最高執(zhí)行類(lèi)型(class)的存儲(chǔ),將其余虛擬盤(pán)數(shù)據(jù)留在較低執(zhí)行類(lèi)型的存儲(chǔ)上。此能力使最低成本下的存儲(chǔ)介質(zhì)上的應(yīng)用和服務(wù)器的性能最大化。諸如SVC的存儲(chǔ)虛擬化平臺(tái)可允許將數(shù)據(jù)遷移策略表示為允許將像16MB那么小的數(shù)據(jù)段置于適當(dāng)類(lèi)型的存儲(chǔ)上。此能力對(duì)于優(yōu)化性能來(lái)說(shuō)足夠了,但先假定用來(lái)識(shí)別大虛擬盤(pán)的哪些部分需要較高到較低(higher over lower)性能的手段??捎脕?lái)實(shí)現(xiàn)此目標(biāo)的一種技術(shù)是以足夠精細(xì)的粒度收集存取統(tǒng)計(jì),使得它們可被分析并被用來(lái)根據(jù)需要遷移數(shù)據(jù)。但是,這些技術(shù)將很可能運(yùn)行不夠良好,不足以實(shí)現(xiàn)所需優(yōu)點(diǎn)。如果跟蹤的粒度過(guò)于粗放,則它將不能充分地區(qū)分?jǐn)?shù)據(jù)類(lèi)型,并且,盤(pán)的性能特征將呈現(xiàn)為相似。如果使粒度精細(xì)到足以有效地進(jìn)行區(qū)分,則需要收集、傳遞和處理的統(tǒng)計(jì)數(shù)據(jù)的總量將使該系統(tǒng)擔(dān)負(fù)無(wú)法支撐的過(guò)度處理工作量。本發(fā)明提供了使存儲(chǔ)系統(tǒng)自動(dòng)地識(shí)別并將高性能區(qū)域與低性能區(qū)域分離的手段,其具有比基于統(tǒng)計(jì)的方法低得多的處理開(kāi)銷(xiāo)。在優(yōu)選實(shí)施例中,該系統(tǒng)還包括第三高性能存儲(chǔ)介質(zhì),其中,所述控制器還被配置為啟動(dòng)從第二存儲(chǔ)介質(zhì)到第三存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第三存儲(chǔ)介質(zhì);以及周期性地從第三存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。存儲(chǔ)系統(tǒng)的優(yōu)選實(shí)施例具有單個(gè)低性能存儲(chǔ)介質(zhì)和兩個(gè)高性能存儲(chǔ)介質(zhì)。優(yōu)選地,所述控制器還被配置為在周期性地向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理之后,在第二和第三存儲(chǔ)介質(zhì)之間切換對(duì)于所述映像的所有IO存取的目標(biāo),并在第二和第三存儲(chǔ)介質(zhì)之間切換所述復(fù)制功能的方向。一旦第一高性能存儲(chǔ)介質(zhì)存儲(chǔ)的數(shù)據(jù)已到達(dá)特定大小(或者,在經(jīng)過(guò)了特定時(shí)間量之后),便將IO存取切換到第二高性能存儲(chǔ)介質(zhì)。這導(dǎo)致在第二高性能存儲(chǔ)介質(zhì)上構(gòu)建新一代的數(shù)據(jù),同時(shí),可將在第一高性能存儲(chǔ)介質(zhì)上存儲(chǔ)的數(shù)據(jù)老化處理回到慢存儲(chǔ)介質(zhì)上。有利地,所述控制器還被配置為當(dāng)周期性地從第二或第三存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理時(shí),僅對(duì)在第二和第三存儲(chǔ)介質(zhì)上均不存在的數(shù)據(jù)進(jìn)行老化處理。在使用兩個(gè)高性能存儲(chǔ)介質(zhì)的存儲(chǔ)系統(tǒng)的優(yōu)選實(shí)施例中,可通過(guò)僅將在其數(shù)據(jù)被合并回的特定高性能存儲(chǔ)介質(zhì)上發(fā)現(xiàn)的數(shù)據(jù)合并回到較慢執(zhí)行的存儲(chǔ)介質(zhì),而更有效地進(jìn)行備份合并過(guò)程。在一個(gè)實(shí)施例中,第二和第三存儲(chǔ)介質(zhì)包括單個(gè)盤(pán),其中所述控制器還被配置為 維持用于由所述單個(gè)盤(pán)存儲(chǔ)的數(shù)據(jù)的地址元數(shù)據(jù),并響應(yīng)于另外在第二和第三存儲(chǔ)介質(zhì)之間復(fù)制數(shù)據(jù)的IO來(lái)調(diào)整所述地址元數(shù)據(jù)。單個(gè)盤(pán)內(nèi)的較快存儲(chǔ)的虛擬化將減小用來(lái)實(shí)際實(shí)現(xiàn)本發(fā)明所需的物理復(fù)制操作的實(shí)際數(shù)目。這將減小在存儲(chǔ)系統(tǒng)組件上加載的功率和時(shí)間量。理想地,該系統(tǒng)還包括最高性能層級(jí)的存儲(chǔ)介質(zhì),其中第二和第三存儲(chǔ)介質(zhì)包括最高性能層級(jí)和第一存儲(chǔ)介質(zhì)之間的中間層級(jí),其中該控制器還被配置為啟動(dòng)從中間層級(jí)到最高性能層級(jí)的復(fù)制功能,將用于該映像的所有IO存取導(dǎo)向最高性能層級(jí),并周期性地從最高性能層級(jí)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理(age)。本發(fā)明的存儲(chǔ)系統(tǒng)可被擴(kuò)展為包括更佳執(zhí)行存儲(chǔ)的另一層級(jí),其總能夠被用作將IO存取導(dǎo)向其的存儲(chǔ)。因此,較高執(zhí)行的存儲(chǔ)介質(zhì)可被配置到中間層級(jí)中,其被用作前代數(shù)據(jù)的存儲(chǔ)。最高性能層級(jí)的這種使用改善了整個(gè)存儲(chǔ)系統(tǒng)的性能與成本的關(guān)系。理想地,從第一存儲(chǔ)介質(zhì)到不同存儲(chǔ)介質(zhì)的復(fù)制功能包括寫(xiě)復(fù)制 (copy-on-write)功能以及讀復(fù)制(copy-on-read)功能。使用諸如FlashCopy的復(fù)制功能可被擴(kuò)展為使用讀復(fù)制作為將數(shù)據(jù)從較慢的第一存儲(chǔ)介質(zhì)復(fù)制到較快的存儲(chǔ)介質(zhì)上的觸發(fā)器。這將進(jìn)一步增強(qiáng)系統(tǒng)性能,這是由于,在較快的存儲(chǔ)介質(zhì)上更易于找到公共存取的數(shù)據(jù)。
現(xiàn)在將通過(guò)參照附圖,僅通過(guò)示例來(lái)描述本發(fā)明的實(shí)施例,附圖中圖Ia和圖Ib是存儲(chǔ)系統(tǒng)的示意圖;圖2是存儲(chǔ)系統(tǒng)的另一個(gè)實(shí)施例的示意圖;圖3a和圖北是示出存儲(chǔ)系統(tǒng)內(nèi)的數(shù)據(jù)老化處理(aging)的示意圖;圖4至圖8是存儲(chǔ)系統(tǒng)的實(shí)施例的其它的示意圖。
具體實(shí)施例方式圖1示出了數(shù)據(jù)存儲(chǔ)系統(tǒng)1,其包括控制器10、第一低性能存儲(chǔ)介質(zhì)12、以及第二高性能存儲(chǔ)介質(zhì)14??刂破?0連接到存儲(chǔ)介質(zhì)12和14,并被布置為控制對(duì)存儲(chǔ)介質(zhì)12 和14的10存取。盡管將兩個(gè)存儲(chǔ)介質(zhì)12和14示出為相同的大小,但它們的物理尺寸和/或數(shù)據(jù)存儲(chǔ)容量可以不同。例如,低性能存儲(chǔ)介質(zhì)12可為硬盤(pán),高性能存儲(chǔ)介質(zhì)14可為固態(tài)存儲(chǔ)器件??刂破?0管理對(duì)數(shù)據(jù)存儲(chǔ)的IO存取,無(wú)論是讀取還是寫(xiě)入存取??刂破?0被配置為在第一存儲(chǔ)介質(zhì)12上存儲(chǔ)映像(image)。該映像將是表示多個(gè)應(yīng)用和服務(wù)器的數(shù)據(jù)??刂破?0還被配置為啟動(dòng)從第一存儲(chǔ)介質(zhì)12到第二存儲(chǔ)介質(zhì)14 的復(fù)制功能。復(fù)制功能將存在對(duì)第一存儲(chǔ)介質(zhì)12存儲(chǔ)的映像內(nèi)的任何數(shù)據(jù)的讀或?qū)懙拇嫒r(shí),把數(shù)據(jù)復(fù)制到第二存儲(chǔ)介質(zhì)14??刂破鞅慌渲脼閷⒂糜谠撚诚竦乃蠭O存取導(dǎo)向第二存儲(chǔ)介質(zhì)14,另外,將周期性地從第二存儲(chǔ)介質(zhì)14向第一存儲(chǔ)介質(zhì)12對(duì)數(shù)據(jù)進(jìn)行老化處理。下面將更詳細(xì)地描述對(duì)數(shù)據(jù)進(jìn)行老化處理的此過(guò)程。圖Ib示出了在已經(jīng)存在對(duì)第一存儲(chǔ)介質(zhì)12的標(biāo)注為2的扇區(qū)的IO存取之后的情形。此IO存取可為在此扇區(qū)中覆寫(xiě)某些數(shù)據(jù)??刂破魍ㄟ^(guò)使用傳入IO和原始扇區(qū)2以在較快的存儲(chǔ)介質(zhì)14上創(chuàng)建新的扇區(qū)加,來(lái)對(duì)其處理。由于所有的IO存取被導(dǎo)向較快的存儲(chǔ)介質(zhì)14,所以,將直接由較快的存儲(chǔ)介質(zhì)14處理對(duì)扇區(qū)2中的數(shù)據(jù)的讀或?qū)懘嫒?,而不需要?duì)較慢的存儲(chǔ)介質(zhì)12存儲(chǔ)的原始映像進(jìn)行任何存取。圖2示出了該系統(tǒng)的第二實(shí)施例。在此實(shí)施例中,該系統(tǒng)還包括第三高性能存儲(chǔ)介質(zhì)16,其可為與第二高性能存儲(chǔ)介質(zhì)14相同的類(lèi)型??刂破?0還被配置為啟動(dòng)從第二存儲(chǔ)介質(zhì)14到第三存儲(chǔ)介質(zhì)16的復(fù)制功能。存儲(chǔ)系統(tǒng)的此實(shí)施例使用SAN卷控制器的 FlashCopy (快閃復(fù)制)和 Space-Efficient (空間高效)(瘦規(guī)范(thin provisioning)) 特征,其被進(jìn)一步擴(kuò)展,以實(shí)現(xiàn)期望的數(shù)據(jù)分離。該圖中的字母FC表示FlashCopy功能,其中,箭頭指示該復(fù)制功能的源和目標(biāo)。在最基礎(chǔ)的級(jí)別上,在高性能高成本的存儲(chǔ)介質(zhì)14 和16上保持兩個(gè)Space-Efficient FlashCopy映像(虛擬盤(pán))的布置,其余存儲(chǔ)在低成本的存儲(chǔ)介質(zhì)12上被保持為(典型的)全分配的映像(虛擬盤(pán))。在存儲(chǔ)系統(tǒng)的此版本中,所有應(yīng)用IO被導(dǎo)向存儲(chǔ)于第三存儲(chǔ)介質(zhì)16上的最左側(cè)的FlashCopy映像。此映像包含最近被存取的數(shù)據(jù)。該映像隨著應(yīng)用的最近的工作集的增長(zhǎng)而增長(zhǎng)。第二存儲(chǔ)介質(zhì)14存儲(chǔ)的中間映像包含較早一代的這個(gè)最近存取的盤(pán)。在此介質(zhì)14上存儲(chǔ)的數(shù)據(jù)的大小不改變,并且,服務(wù)于讀取10,以滿足介質(zhì)16上的最左側(cè)映像未捕捉到的所需存取。第一存儲(chǔ)介質(zhì)12的右側(cè)映像包含應(yīng)用盤(pán)的完整映像,然而,此介質(zhì)12 不包含在兩個(gè)最左側(cè)盤(pán)14和16上所保持的最近的更新。使用傳統(tǒng)的FlashCopy算法,使用寫(xiě)復(fù)制(copy-onirite)技術(shù),來(lái)處理寫(xiě)存取。 因此,如果要被覆寫(xiě)的數(shù)據(jù)已經(jīng)位于最左側(cè)盤(pán)16上,則其在適當(dāng)?shù)奈恢弥斜桓矊?xiě)。如果最近未存取數(shù)據(jù),則其可在中間的盤(pán)14或最右側(cè)盤(pán)12上被發(fā)現(xiàn)。只要發(fā)現(xiàn)該數(shù)據(jù),便從其當(dāng)前的位置讀取其,將其與新的寫(xiě)數(shù)據(jù)合并,并寫(xiě)入到最左側(cè)盤(pán)16。因此,在此操作模式中,最左側(cè)盤(pán)16正在累積相當(dāng)于應(yīng)用的最近工作集的改變。將由最左側(cè)盤(pán)16直接服務(wù)于很多將來(lái)的10存取。某些10存取將不會(huì)被累積在該處,而是將由中間的盤(pán)14服務(wù),或者,作為異常,由最右側(cè)盤(pán)12服務(wù)。如果上述布置是靜態(tài)的,則最左側(cè)盤(pán)16將隨著時(shí)間增長(zhǎng)為接近于最右側(cè)盤(pán)12的完整大小,這是由于,即使不被頻繁存取的數(shù)據(jù),一旦被存取,也會(huì)開(kāi)始消耗存儲(chǔ)介質(zhì)16上的空間。最終,低性能盤(pán)12上的所有數(shù)據(jù)將被存取,并且,高性能盤(pán)16存儲(chǔ)的數(shù)據(jù)將為帶有10修改的全部原始數(shù)據(jù)映像。因此,需要老化處理來(lái)從最左側(cè)盤(pán)16移除不頻繁存取的數(shù)據(jù)。在圖1所示的雙存儲(chǔ)介質(zhì)系統(tǒng)中也需要這樣的老化處理。
圖3中示出了此過(guò)程,并且,本質(zhì)上,此過(guò)程通過(guò)以下步驟來(lái)操作如圖3a所示,將中間的盤(pán)14的內(nèi)容并入最右側(cè)盤(pán)12,如圖北所示,將最左側(cè)盤(pán)16重新分配成為下一代的中間盤(pán)14,識(shí)別空閑的空間高效虛擬盤(pán),并使用FlashCopy,將其建立為“最左側(cè)”的盤(pán),其中,初始的邏輯內(nèi)容與前一代的最左側(cè)盤(pán)(現(xiàn)在是中間的盤(pán))的內(nèi)容相同,并將主機(jī)IO重新引導(dǎo)為尋址到新的“最左側(cè)”的盤(pán)??赏ㄟ^(guò)在執(zhí)行重新布置的同時(shí)、以傳統(tǒng)方式對(duì)主機(jī)IO 進(jìn)行排隊(duì)和出隊(duì),來(lái)使這樣的重新布置不混亂。在圖3的實(shí)施例中,兩個(gè)盤(pán)14和16的角色已被反轉(zhuǎn)。在如圖1所示的雙存儲(chǔ)介質(zhì)系統(tǒng)中,老化過(guò)程的效果為將存儲(chǔ)介質(zhì)14存儲(chǔ)的某些數(shù)據(jù)(較舊的數(shù)據(jù))合并回到第一存儲(chǔ)介質(zhì)12,在介質(zhì)14上留下空閑空間。通過(guò)此技術(shù),最左側(cè)盤(pán)和中間盤(pán)趨向于包含最近寫(xiě)入的數(shù)據(jù),因此,捕捉到需要最高性能的數(shù)據(jù),將其與其余的留在原始盤(pán)12上的較少存取的數(shù)據(jù)分離。這允許此存儲(chǔ)被保持在較少量的最高類(lèi)型(和最高成本)存儲(chǔ)上,以使效果最大化。當(dāng)與統(tǒng)計(jì)分析相比時(shí),此系統(tǒng)布置具有優(yōu)勢(shì),因此其使用可調(diào)節(jié)以覆蓋數(shù)據(jù)中心的數(shù)據(jù)存儲(chǔ)的大比例的算法,在需要非常少的元數(shù)據(jù)操作情況下識(shí)別頻繁寫(xiě)入的數(shù)據(jù)。例如,該系統(tǒng)還可使用SVC的空間高效的FlashCopy特征(其已經(jīng)在64k粒度下操作),在非常精細(xì)的粒度下操作。因此,在可存取的高性能存儲(chǔ)的量的方面、與兩種傳統(tǒng)的緩存算法相比,以及在以非常精細(xì)的粒度操作的效率方面、與基于統(tǒng)計(jì)的方案相比,這是具有改進(jìn)的。此系統(tǒng)布置的另一特征為最慢的存儲(chǔ)上的最右側(cè)盤(pán)12不接收主機(jī)寫(xiě)入活動(dòng),并且,其接收的僅有的寫(xiě)入活動(dòng)是在老化過(guò)程期間來(lái)自中間盤(pán)14的合并活動(dòng)。這使得可以考慮使用諸如去重(de-duplicated)或壓縮存儲(chǔ)的相對(duì)低性能類(lèi)型的存儲(chǔ)器來(lái)存儲(chǔ)數(shù)據(jù)。 這是因?yàn)椋瑢?xiě)入流是先前累積循環(huán)的寫(xiě)入IO的合計(jì),于是,其已通過(guò)移除覆寫(xiě)而被“壓縮” 到某個(gè)程度,因此,僅僅數(shù)據(jù)的最近一代才需要通過(guò)高成本的寫(xiě)入過(guò)程被發(fā)送,并且,合并過(guò)程與主機(jī)寫(xiě)入過(guò)程完全解耦,于是,其能夠平滑長(zhǎng)時(shí)段內(nèi)的主機(jī)寫(xiě)入IO的突發(fā),由此,需要滿足的峰值寫(xiě)入工作負(fù)載比主機(jī)低得多。圖4詳示了使用逆FlashCopy特征的老化過(guò)程的具體實(shí)現(xiàn)。在其它平臺(tái)上,將存在一系列實(shí)現(xiàn)同樣目標(biāo)的不同詳細(xì)度的步驟、或所需算法,然而,每個(gè)實(shí)現(xiàn)將趨向于示出上述累積和合并、或老化過(guò)程。這個(gè)第一實(shí)現(xiàn)創(chuàng)建并刪除存儲(chǔ)卷之間的映射,以實(shí)現(xiàn)所需結(jié)果, 在優(yōu)選實(shí)施例中,存在三個(gè)虛擬盤(pán),其具有如下的初始角色分配。A為“最右側(cè)盤(pán)”,其保持?jǐn)?shù)據(jù)的完整副本,B為“中間盤(pán)”,其保持前一代的數(shù)據(jù),C為“最左側(cè)盤(pán)”,其保持當(dāng)前一代的數(shù)據(jù)、并還接收主機(jī)10。A可以(但不必須)是完全分配的虛擬盤(pán)。優(yōu)選地,B和C為空間高效虛擬盤(pán)。在老化過(guò)程的開(kāi)始,當(dāng)前存在兩個(gè)映射,其被定義為A- >> C,其建立將新數(shù)據(jù)捕捉到盤(pán)C的寫(xiě)復(fù)制。該模式可運(yùn)行一段時(shí)間,以在C上累積映像,其大小接近于B上的映像的大小。隨后,開(kāi)始合并過(guò)程。首先,使用逆FlashCopy特征,創(chuàng)建并開(kāi)始映射B-> A (圖如示出了此點(diǎn)上的系統(tǒng)的拓?fù)?,并且,運(yùn)行此復(fù)制直到完成,使得駐留在B上的B的數(shù)據(jù)內(nèi)容(即,已從A分離到B上的那些部分)已被并入A。當(dāng)映射8->六被100%完成時(shí) (在該點(diǎn),B- > A映射空閑或被復(fù)制),隨后停止映射A- > B,隨后,可刪除兩個(gè)映射B- > A和A_>B,其從級(jí)聯(lián)(cascade)中移除虛擬盤(pán)B,僅留下A-> C運(yùn)行。隨后,建立B作為 C的FlashCopy,即映射C- > B。準(zhǔn)備并開(kāi)始映射C- > B。這具有使B的內(nèi)容復(fù)位的效果, 使得其再次空閑。在開(kāi)始FlashCopy映射的同一點(diǎn),首先將10排隊(duì),隨后,隨著映射開(kāi)始而將其出隊(duì),并且,將此IO遞交到取代C的虛擬盤(pán)B。因此,結(jié)束的布置為盤(pán)A作為上面的 “最右側(cè)盤(pán)”,其保持?jǐn)?shù)據(jù)的完整副本,盤(pán)C現(xiàn)在為“中間盤(pán)”,其保持前一代的數(shù)據(jù),盤(pán)B現(xiàn)在為“最左側(cè)盤(pán)”,其保持新的(初始為空)當(dāng)前一代,現(xiàn)在接收主機(jī)10,因此,其允許在另一循環(huán)的開(kāi)始執(zhí)行數(shù)據(jù)的累積周期,而現(xiàn)在,B和C的角色反轉(zhuǎn)。圖4b示出了在圖如中示出的點(diǎn)上、系統(tǒng)自身如何內(nèi)部地實(shí)現(xiàn)該反轉(zhuǎn)。盤(pán)A目前在“級(jí)聯(lián)”中的兩個(gè)點(diǎn)上。A(S) (s表示次級(jí))是B->A映射開(kāi)始的點(diǎn)上的A的“舊”映像。 其在該處是為了維持其虛擬盤(pán)下行流上的映像的一致性,在此情況下,其為盤(pán)B。A(S)不支持主機(jī)10。B支持主機(jī)10,但在此實(shí)現(xiàn)中不使用該能力。Α(ρ) (ρ表示初級(jí))是通過(guò)B-> A 映射的開(kāi)始所建立的A的新映像。在該點(diǎn)上,其在邏輯上包含與B相同的數(shù)據(jù)。在此情況下,由于B與A(S)最為相同,所以A(p)也在物理上包含如同B那樣的數(shù)據(jù)。因此,用于映射B- > A的數(shù)據(jù)結(jié)構(gòu)記錄A(p)已經(jīng)包含用于粒度1、3、4、5、6的數(shù)據(jù)。僅將一個(gè)粒度標(biāo)記為在物理上駐留在B上(作為加)。使用后臺(tái)過(guò)程來(lái)復(fù)制此數(shù)據(jù),以使其在物理上駐留在A(p)上。一旦完成了此后臺(tái)復(fù)制過(guò)程,A(p)便包含數(shù)據(jù)的完整副本, 并且如上所述,可停止映射A- > B和B- > A0替換布置可以使用SVC的FlashCopy。在此布置中,再次通過(guò)相同的虛擬盤(pán)集來(lái)開(kāi)始,盤(pán)A保持?jǐn)?shù)據(jù)的完整副本,盤(pán)B保持前一代的數(shù)據(jù),盤(pán)C保持當(dāng)前一代的數(shù)據(jù)、并還接收主機(jī)10。然而,在此情況下,已被創(chuàng)建的映射是A- > B和A- > C,連同逆映射B- > A和 C->A。通過(guò)該算法的多個(gè)循環(huán)來(lái)保留這些映射。在累積階段的開(kāi)始,為實(shí)現(xiàn)A、B和C上的這些角色,執(zhí)行下面的FlashCopy操作,其中,主機(jī)IO靜默,映射B- > A開(kāi)始在邏輯上將前一代的數(shù)據(jù)復(fù)制到A上,開(kāi)始映射A- > C,將主機(jī)IO導(dǎo)向盤(pán)C。通過(guò)逆FlashCopy的操作,虛擬盤(pán)和映射被級(jí)聯(lián)地布置為A (s) - > B- > A (ρ)- > C。盡管這可能顯得意味著在累積期間,虛擬盤(pán)Α(ρ)將開(kāi)始服務(wù)于主機(jī)10,破壞了目的,但是,因?yàn)樵陂_(kāi)始A- > C的同一點(diǎn)上開(kāi)始B- > Α(且主機(jī)IO被導(dǎo)向C),所以,Α(ρ)實(shí)際上是空的。因此,仍主要從B服務(wù)累積10,并且相反,在異常時(shí)從A(S)服務(wù)累積10。為確保 Α(ρ)不服務(wù)于主機(jī)10,B- > A映射上的后臺(tái)復(fù)制率被設(shè)置為0%,其在SVC中防止任何后臺(tái)復(fù)制?,F(xiàn)在,通過(guò)簡(jiǎn)單地將后臺(tái)復(fù)制率設(shè)置為預(yù)定的數(shù)目,來(lái)啟動(dòng)合并過(guò)程,以使B的內(nèi)容被倒空到Α(ρ)上。映射停止,并且,當(dāng)完成了這兩個(gè)過(guò)程時(shí),可使用以下步驟來(lái)啟動(dòng)下一循環(huán)主機(jī)IO靜默,開(kāi)始映射C- > Α,開(kāi)始映射A- > B,并且,將主機(jī)IO導(dǎo)向B, 其與先前的循環(huán)相比再次反轉(zhuǎn)B和C的角色,使盤(pán)A保持?jǐn)?shù)據(jù)的完整副本,盤(pán)C保持前一代的數(shù)據(jù),盤(pán)B保持新的(初始為空)當(dāng)前一代、且現(xiàn)在接收主機(jī)10。上面的例子說(shuō)明了將有操作特定的FlashCopy實(shí)現(xiàn)以實(shí)現(xiàn)期望目的的很多方式。 然而,所有這樣的方案仍將示出正在被執(zhí)行的同樣的過(guò)程將最近的寫(xiě)入流量累積到新的容器中,將前一代寫(xiě)入流量并入完全副本容器,并重復(fù)地循環(huán),以多次執(zhí)行這些步驟。還要注意,盡管上面的描述示出了這兩個(gè)過(guò)程的分立的階段,但它們?cè)跁r(shí)間上可以在某個(gè)程度上重疊,使得可在進(jìn)行合并的同時(shí)累積某些其他數(shù)據(jù)。實(shí)際上,這在所有實(shí)現(xiàn)中,在某個(gè)程度上將是必要的。上述的硬件和軟件實(shí)現(xiàn)的結(jié)果為在包括少量的快速存儲(chǔ)的空間高效的 FlashCopy盤(pán)14和16上保留最近寫(xiě)入的數(shù)據(jù),同時(shí),最近未寫(xiě)入(且因此暗示是不被頻繁寫(xiě)入)的數(shù)據(jù)被保留在大量的較慢但較便宜的存儲(chǔ)盤(pán)12上。盡管這些技術(shù)提供了關(guān)于最近被寫(xiě)入的數(shù)據(jù)的優(yōu)點(diǎn),但它們不一定會(huì)改善讀取IO的處理。如果頻繁地讀取、但不頻繁地(或幾乎從不)寫(xiě)入數(shù)據(jù),則通過(guò)使用諸如FlashCopy的寫(xiě)復(fù)制方案,數(shù)據(jù)將繼續(xù)被保持在慢存儲(chǔ)介質(zhì)12上,并且,對(duì)該數(shù)據(jù)的任何讀取IO將受到慢存儲(chǔ)介質(zhì)12的性能影響。另夕卜,在在最近的歷史中數(shù)據(jù)要被第一次寫(xiě)入的情況下,并且,其必須要被從慢存儲(chǔ)復(fù)制到快存儲(chǔ),則最經(jīng)常的是,該數(shù)據(jù)最近將已被讀取。因此,數(shù)據(jù)存儲(chǔ)系統(tǒng)必須從慢存儲(chǔ)讀取數(shù)據(jù)兩次,并受到性能影響兩次。可以在慢存儲(chǔ)12前采用讀緩存來(lái)處理這第二個(gè)問(wèn)題,但是,此解決方案無(wú)助于第一個(gè)問(wèn)題。當(dāng)然,引入另一個(gè)讀取緩存層也增大了系統(tǒng)的成本。為解決此問(wèn)題,如上所述,可擴(kuò)展數(shù)據(jù)存儲(chǔ)系統(tǒng),以包括讀復(fù)制(copy-on-read) 算法,其使用模仿在FlashCopy中使用的已知的寫(xiě)復(fù)制技術(shù)的過(guò)程,將數(shù)據(jù)從慢存儲(chǔ)12移至快存儲(chǔ)14,但是,其在接收到正在慢存儲(chǔ)介質(zhì)12上被服務(wù)的讀取IO時(shí)被激活。結(jié)果,在特定的存儲(chǔ)區(qū)域經(jīng)受頻繁的讀取10、但寫(xiě)入IO很少的情況下,其將位于快速存儲(chǔ)14上,并且,該系統(tǒng)將受益于快速存儲(chǔ)的性能。同樣地,在寫(xiě)入之前讀取(read-before-write)的情形下,讀復(fù)制過(guò)程將數(shù)據(jù)從慢存儲(chǔ)12移至快存儲(chǔ)14,使得之后的寫(xiě)入10在被執(zhí)行時(shí)不會(huì)像讀取10那樣經(jīng)受同樣的不利。在未從慢存儲(chǔ)復(fù)制數(shù)據(jù)的情況下接收到讀取10會(huì)觸發(fā)該算法。這在圖5中被示出。已讀取了扇區(qū)2。從慢存儲(chǔ)12讀取用于該10的數(shù)據(jù),并將其寫(xiě)入快存儲(chǔ)14,隨后,更新元數(shù)據(jù)結(jié)構(gòu),以指示該數(shù)據(jù)現(xiàn)在位于快存儲(chǔ)14上。觸發(fā)該算法的主機(jī)讀取10可與對(duì)元數(shù)據(jù)結(jié)構(gòu)的該更新并行完成。在SVC的情況下,將數(shù)據(jù)標(biāo)記為已被復(fù)制所需的元數(shù)據(jù)更新是在簇的兩個(gè)節(jié)點(diǎn)中保持的位圖(bitmap)中的比特。用于比粒度(其中,粒度是向SVC的 FlashCopy中的數(shù)據(jù)布置的管理單元賦予的名稱)小的讀取10被擴(kuò)展,以讀取數(shù)據(jù)的完整粒度。SVC的位圖中的每個(gè)比特跟蹤數(shù)據(jù)的粒度的位置??齑鎯?chǔ)介質(zhì)14直接處理此數(shù)據(jù)的任何將來(lái)的讀取。如上所述,需要快存儲(chǔ)介質(zhì)上的數(shù)據(jù)到慢存儲(chǔ)介質(zhì)12的周期性老化。用來(lái)將最近更新的數(shù)據(jù)遷移到慢存儲(chǔ)中的老化/合并過(guò)程自身可被改善。在一個(gè)實(shí)施例中,這個(gè)老化過(guò)程操作,使用逆FlashCopy技術(shù),并實(shí)際上用來(lái)在慢存儲(chǔ)介質(zhì)12上建立在較早的某個(gè)時(shí)間點(diǎn)上被捕捉的數(shù)據(jù)的映像。在上述例子下,合并過(guò)程用來(lái)將最后之前的映像 (image-before-last)的數(shù)據(jù)移至慢存儲(chǔ)介質(zhì)12。盡管從FlashCopy的觀點(diǎn)來(lái)看,此操作是正確的,因?yàn)槠涫冀K在慢存儲(chǔ)介質(zhì)12上維持定義明確的映像,但從在不同級(jí)別的存儲(chǔ)介質(zhì)之間劃分?jǐn)?shù)據(jù)的整體存儲(chǔ)系統(tǒng)方法的目的的觀點(diǎn)來(lái)看,這個(gè)操作不是必要的。系統(tǒng)目標(biāo)在于,在最近的FlashCopy盤(pán)上維持用于主機(jī)存儲(chǔ)的單個(gè)一致映像,因此,較舊幾代數(shù)據(jù)的映像不需要一致,它們僅需要操作用來(lái)維持滿足主機(jī)正在最近的FlashCopy上存取的一致映像所需的最近一代數(shù)據(jù)。在被用于劃分?jǐn)?shù)據(jù)存儲(chǔ)時(shí),F(xiàn)lashCopy算法的另一個(gè)弱點(diǎn)為,它們趨向于跨越多級(jí)虛擬盤(pán)映像來(lái)建立多代數(shù)據(jù),但實(shí)際上僅需要最近一代數(shù)據(jù)。因此,這樣是有利的存儲(chǔ)系統(tǒng)可操作使得消除不是最近一代的數(shù)據(jù)的合并/遷移,以便減小需要在算法的每個(gè)循環(huán)被并入慢存儲(chǔ)的數(shù)據(jù)量,結(jié)果,進(jìn)一步減小該存儲(chǔ)必須滿足的寫(xiě)入流量,因此,提供減小整個(gè)系統(tǒng)的成本的進(jìn)一步的機(jī)會(huì)。此外,如果該系統(tǒng)可操作用來(lái)從高性能/更昂貴的數(shù)據(jù)層級(jí)消除較舊幾代的數(shù)據(jù),則可實(shí)現(xiàn)附加的成本節(jié)省。為了實(shí)現(xiàn)這個(gè)目的,該系統(tǒng)通過(guò)擴(kuò)展在快存儲(chǔ)層級(jí)之間遷移數(shù)據(jù)時(shí)執(zhí)行的更新序列來(lái)操作。假定包括慢盤(pán)12 (最右側(cè)盤(pán))、以及提供最新一代數(shù)據(jù)(最左側(cè)盤(pán))和前一代數(shù)據(jù)(中間盤(pán))的兩個(gè)層級(jí)的快存儲(chǔ)14和16這三個(gè)盤(pán)的情況,其中,最新的數(shù)據(jù)位于前一代 (中間)盤(pán)14,那么,元數(shù)據(jù)結(jié)構(gòu)將指示數(shù)據(jù)已被從最右側(cè)盤(pán)12復(fù)制到了中間盤(pán)14,但是, 其尚未被從中間盤(pán)復(fù)制到最左側(cè)盤(pán)16。在此系統(tǒng)中,寫(xiě)入IO將觸發(fā)數(shù)據(jù)從前一代遷移到最新一代數(shù)據(jù),其將更新元數(shù)據(jù),以將數(shù)據(jù)標(biāo)記為已從一個(gè)復(fù)制到了另一個(gè)??梢孕薷腇lashCopy算法、以及它們?nèi)绾喂芾碓獢?shù)據(jù),以指示好像數(shù)據(jù)尚未從最右側(cè)盤(pán)復(fù)制到中間盤(pán)那樣。結(jié)果,當(dāng)調(diào)用老化/合并過(guò)程來(lái)將數(shù)據(jù)從中間盤(pán)14移至最右側(cè)盤(pán)12時(shí),僅將尚未被進(jìn)一步更新和遷移到最左側(cè)盤(pán)16的中間盤(pán)14上的數(shù)據(jù)遷移到最右側(cè)盤(pán)12。遷移過(guò)程忽略在中間和最左側(cè)盤(pán)兩者上存在的數(shù)據(jù)。圖6示出了此原理。在第一循環(huán)中,扇區(qū)1、4、5已被寫(xiě)入、并因此已被復(fù)制到快存儲(chǔ)介質(zhì)14。在后面的循環(huán)中,扇區(qū)4已被再次寫(xiě)入、且因此被復(fù)制到第二快存儲(chǔ)介質(zhì)。當(dāng)發(fā)生將中間盤(pán)14的內(nèi)容合并回到慢盤(pán)12時(shí),僅將扇區(qū)1和5復(fù)制回到慢存儲(chǔ)介質(zhì)12,這是由于,扇區(qū)4已存在于最左側(cè)盤(pán)16上。作為相同情形的一部分,進(jìn)一步的如下可選步驟也適用一旦相關(guān)聯(lián)的數(shù)據(jù)已被遷移到最左側(cè)盤(pán)16,就釋放(de-allocate)中間盤(pán)14上的空間。此空間回收消除了數(shù)據(jù)的冗余歷史映像,由此減小了高性能層級(jí)上所需的總存儲(chǔ)量。 在圖6的例子中,可從中間盤(pán)14釋放扇區(qū)如。最清楚的實(shí)現(xiàn)產(chǎn)生對(duì)元數(shù)據(jù)操作的附加改變,以便使合并過(guò)程避免合并已被復(fù)制到最新一代的數(shù)據(jù)。使用SVC的空間高效FlashCopy實(shí)現(xiàn)作為參照,考慮在中間層級(jí)、而不是釋放最左側(cè)盤(pán)16的最新層級(jí)上保持的數(shù)據(jù)粒度,左到中間(left-to-middle)映射指示數(shù)據(jù)尚未被復(fù)制、中間盤(pán)14被分配,中間到右(middle-to-right)映射指示已復(fù)制了數(shù)據(jù)、 分配了右側(cè)盤(pán)12。在此情況下,寫(xiě)入10觸發(fā)如下步驟步驟1,從中間盤(pán)14讀取數(shù)據(jù);步驟 2,將數(shù)據(jù)寫(xiě)入最左側(cè)盤(pán)16(作為副作用,其觸發(fā)該處的空間分配);步驟3,更新左到中間映射,以指示已復(fù)制了數(shù)據(jù);步驟4,更新中間到右映射,以指示尚未復(fù)制數(shù)據(jù);以及步驟5,釋放中間盤(pán)14上的空間。現(xiàn)在,所得到的最終狀態(tài)為最左側(cè)盤(pán)16被分配,左到中間映射指示已復(fù)制了數(shù)據(jù),中間盤(pán)14未被分配,中間到右映射指示尚未復(fù)制數(shù)據(jù),右側(cè)盤(pán)12被分配。隨后,合并過(guò)程傳統(tǒng)地操作來(lái)將被標(biāo)記為已復(fù)制到中間存儲(chǔ)14的數(shù)據(jù)遷移回到右側(cè)盤(pán)12,并且,作為上述算法的結(jié)果,避免了移動(dòng)隨后也被移至最左側(cè)存儲(chǔ)16的數(shù)據(jù)。這些原理的顯然的擴(kuò)展也可以為當(dāng)慢存儲(chǔ)12的數(shù)據(jù)被遷移到高性能存儲(chǔ)時(shí),釋放慢存儲(chǔ)12 上的空間。取決于執(zhí)行釋放的成本、以及由此實(shí)現(xiàn)的存儲(chǔ)節(jié)省的價(jià)值,這也許有利、或者并非有利。實(shí)現(xiàn)相同效果的替代實(shí)現(xiàn)可以為調(diào)整合并處理操作,使得在元數(shù)據(jù)指示數(shù)據(jù)已被復(fù)制到了最新一代的情況下(即,被復(fù)制到最左側(cè)盤(pán)16),忽略該數(shù)據(jù)已被復(fù)制到中間盤(pán) 14的任何指示,如同該元數(shù)據(jù)已被更新為如上述步驟4中所指示的那樣。也就是說(shuō),作為步驟3的結(jié)果,步驟4可為隱式的,并且對(duì)合并過(guò)程如何檢查元數(shù)據(jù)做出調(diào)整,而不需要顯式地更新元數(shù)據(jù)。在運(yùn)行存儲(chǔ)系統(tǒng)時(shí)的上述操作和可選增強(qiáng)優(yōu)化了數(shù)據(jù)的布置,并消除了數(shù)據(jù)的某些冗余移動(dòng)和復(fù)制。然而,在高性能層級(jí)之間遷移數(shù)據(jù)的操作仍需要采用寫(xiě)復(fù)制(或讀復(fù)制)算法,以允許最近存取的數(shù)據(jù)的更新,并允許在最近一代中保留數(shù)據(jù),以實(shí)現(xiàn)將來(lái)優(yōu)化的存取。這些復(fù)制操作純粹是為了利用FlashCopy算法的優(yōu)點(diǎn),且不需要用來(lái)實(shí)現(xiàn)為了將來(lái)的IO存取保留最新數(shù)據(jù)的系統(tǒng)目的。如果這可以在不破壞FlashCopy算法跟蹤數(shù)據(jù)存儲(chǔ)歷史所使用的元數(shù)據(jù)的正確性的情況下實(shí)現(xiàn),則在消除物理復(fù)制操作方面具有優(yōu)點(diǎn)。可通過(guò)單個(gè)空間高效虛擬盤(pán),來(lái)實(shí)現(xiàn)在高性能存儲(chǔ)上容納的多代數(shù)據(jù)。在此情況下,對(duì)任何高性能代的IO存取被轉(zhuǎn)發(fā)到此單個(gè)虛擬盤(pán)映像。在各代之間復(fù)制數(shù)據(jù)或從一代釋放存儲(chǔ)所涉及的讀取/寫(xiě)入IO操作通過(guò)高級(jí)原語(yǔ)來(lái)表示,這些原語(yǔ)隨后以優(yōu)選方式在空間高效層中實(shí)現(xiàn)。通過(guò)描述源和目標(biāo)虛擬盤(pán)地址、以及要復(fù)制的塊地址,來(lái)表示復(fù)制操作。 在源和目標(biāo)虛擬盤(pán)處于同一空間高效虛擬盤(pán)上時(shí),隱式地滿足復(fù)制操作,并且于是,復(fù)制操作成功地完成,而不執(zhí)行IO (如果虛擬盤(pán)不共享存儲(chǔ),則以傳統(tǒng)方式,使用讀取和寫(xiě)入IO來(lái)執(zhí)行IO操作)。通過(guò)描述要從其消除數(shù)據(jù)的虛擬盤(pán)、要保留數(shù)據(jù)的虛擬盤(pán)、以及操作應(yīng)用的塊地址,來(lái)表示釋放操作。在源和目標(biāo)虛擬盤(pán)處于同一空間高效的虛擬盤(pán)的情況下,隱式地滿足釋放操作,并且于是,釋放操作完成,而不執(zhí)行IO(如果虛擬盤(pán)不共享存儲(chǔ),則以傳統(tǒng)方式,在所需的虛擬盤(pán)上執(zhí)行釋放操作)。使用下面的新原語(yǔ)來(lái)重新表示用于從中間盤(pán)14讀取數(shù)據(jù)、向最左側(cè)盤(pán)16寫(xiě)入數(shù)據(jù)(作為副作用,其觸發(fā)該處的空間分配)、將左到中間映射更新為指示已復(fù)制數(shù)據(jù)、將中間到右映射更新為指示尚未復(fù)制數(shù)據(jù)、以及釋放中間盤(pán)14上的空間的遷移操作的更傳統(tǒng)的系列步驟。將數(shù)據(jù)從中間盤(pán)14復(fù)制到最左側(cè)盤(pán)16、將左到中間映射更新為指示已復(fù)制數(shù)據(jù)、將中間到右映射更新為指示尚未復(fù)制數(shù)據(jù)、以及釋放中間盤(pán)14上的空間(但保留在最左側(cè)盤(pán)12上)。在中間和最左側(cè)盤(pán)處于同一空間高效虛擬盤(pán)上的情況下,第一和最后的步驟立即完成,而不執(zhí)行任何工作。這留下FlashCopy元數(shù)據(jù)更新作為操作用于此IO情形的空間管理算法所需的僅有的步驟。注意,尤其是存儲(chǔ)系統(tǒng)為了校正操作而使用時(shí),新的IO原語(yǔ)依賴于FlashCopy算法的屬性。在請(qǐng)求從虛擬盤(pán)A到虛擬盤(pán)B的復(fù)制操作的情況下,將不執(zhí)行對(duì)虛擬盤(pán)B的存取,直到FlashCopy層已接收到對(duì)該復(fù)制操作的成功完成時(shí)為止。在請(qǐng)求對(duì)虛擬盤(pán)A的釋放操作(保留虛擬盤(pán)B)之前,F(xiàn)lashCopy層將確保沒(méi)有對(duì)虛擬盤(pán)A的存取。這些規(guī)則由 FlashCopy算法固有地遵守,并意味著上述原語(yǔ)足以實(shí)現(xiàn)本發(fā)明的目標(biāo),并維持正確的10 操作。在優(yōu)選實(shí)施例中,該存儲(chǔ)系統(tǒng)利用這樣的方法使用FlashCopy和空間高效(稀疏規(guī)范)來(lái)分離頻繁存取和不頻繁存取的數(shù)據(jù)。此存儲(chǔ)系統(tǒng)的典型實(shí)現(xiàn)可以是將頻繁存取的數(shù)據(jù)存儲(chǔ)在高性能(由此具有較高成本)的存儲(chǔ)上,而將不頻繁存取的數(shù)據(jù)存儲(chǔ)在低性能(由此具有較低成本)的存儲(chǔ)上。還有可能將此思想進(jìn)一步擴(kuò)展為使用多層級(jí)存儲(chǔ),使得根據(jù)存取頻率,將最頻繁存取的數(shù)據(jù)保持在最快的層級(jí)上,而將較不頻繁存取的數(shù)據(jù)存儲(chǔ)在較慢的層級(jí)上,其中,最不頻繁存取的數(shù)據(jù)被存儲(chǔ)在最慢的層級(jí)上。使用多于兩層級(jí)存儲(chǔ)的優(yōu)點(diǎn)在于,允許用戶將它們的數(shù)據(jù)中的大多數(shù)存儲(chǔ)在較低成本的存儲(chǔ)上,而不會(huì)失去較快層級(jí)的存儲(chǔ)所提供的性能優(yōu)勢(shì)。三層級(jí)存儲(chǔ)可能適合的例子為這樣的情況使用固態(tài)閃存來(lái)實(shí)現(xiàn)層級(jí)1存儲(chǔ),使用高性能FC或SAS硬盤(pán)來(lái)實(shí)現(xiàn)層級(jí) 2,使用SATA硬盤(pán)來(lái)實(shí)現(xiàn)層級(jí)3。圖7示出了跨越三個(gè)不同層級(jí)存儲(chǔ)分布數(shù)據(jù)的實(shí)現(xiàn),層級(jí)1是最快的存儲(chǔ),層級(jí)2 是中間的存儲(chǔ),層級(jí)3是最慢的存儲(chǔ)。最初,所有數(shù)據(jù)被存儲(chǔ)在最慢的(層級(jí)幻存儲(chǔ)卷E上,且創(chuàng)建了具有層級(jí)2存儲(chǔ)上的兩個(gè)空間高效卷以及層級(jí)1存儲(chǔ)上的兩個(gè)空間高效卷的 FlashCopy映射的級(jí)聯(lián)。主機(jī)寫(xiě)入I/O最初被導(dǎo)向卷A。最初,上述實(shí)現(xiàn)被應(yīng)用于卷A、B、C。隨著主機(jī)寫(xiě)入新數(shù)據(jù),其被存儲(chǔ)在卷A上。如果寫(xiě)入了數(shù)據(jù)的部分粒度,則FlashCopy寫(xiě)復(fù)制算法將從級(jí)聯(lián)上較高的適當(dāng)卷讀取數(shù)據(jù)的舊副本,將其并入新數(shù)據(jù),并向卷A寫(xiě)入整個(gè)粒度。在長(zhǎng)度X的延遲之后,反轉(zhuǎn)從卷C到B 的FlashCopy,使得將B上的數(shù)據(jù)復(fù)制回到卷C。當(dāng)從B到C的逆FlashCopy已完成時(shí),隨后,從級(jí)聯(lián)中移除卷B。在層級(jí)1存儲(chǔ)上創(chuàng)建新的卷B,并將其加到級(jí)聯(lián)的左手端,其中將主機(jī)I/O重導(dǎo)向這個(gè)新的卷B。隨著主機(jī)寫(xiě)入新數(shù)據(jù),其被存儲(chǔ)在卷B上。如果寫(xiě)入了數(shù)據(jù)的部分粒度,則FlashCopy寫(xiě)復(fù)制算法將從級(jí)聯(lián)上的適當(dāng)卷讀取數(shù)據(jù)的舊副本,將其并入新數(shù)據(jù),并向卷B寫(xiě)入整個(gè)粒度。在長(zhǎng)度X的延遲之后,反轉(zhuǎn)從卷C到A的FlashCopy,使得將 A上的數(shù)據(jù)復(fù)制回到卷C。當(dāng)從A到C的逆FlashCopy已完成時(shí),隨后,從級(jí)聯(lián)中移除卷A。 在層級(jí)1存儲(chǔ)上創(chuàng)建新的卷A,并將其加到級(jí)聯(lián)的左手端,將主機(jī)1/0重導(dǎo)向這個(gè)新的卷A。 隨后重復(fù)該算法。該算法確保在任意時(shí)間點(diǎn),頻繁存取的數(shù)據(jù)(在時(shí)間X內(nèi)已被存取的數(shù)據(jù))被保持在層級(jí)1存儲(chǔ)上,在時(shí)間X到2X內(nèi)已被存取的數(shù)據(jù)可被保持在層級(jí)1存儲(chǔ)上,并且,不頻繁被存取的數(shù)據(jù)將被保持在卷C(層級(jí)2存儲(chǔ))或卷E(層級(jí)幻存儲(chǔ)上。為確保最不頻繁存取的數(shù)據(jù)被保持在層級(jí)3上,上述實(shí)現(xiàn)還被應(yīng)用于卷C、D和E。 在長(zhǎng)度Y的延遲之后,從卷E到D的FlashCopy被反轉(zhuǎn),使得D上的數(shù)據(jù)被復(fù)制回到卷E。當(dāng)從D到E的逆FlashCopy已完成時(shí),隨后,從級(jí)聯(lián)中移除卷D。在層級(jí)2存儲(chǔ)上創(chuàng)建新的卷 D,并將其插入到級(jí)聯(lián)中的卷C的左側(cè)。調(diào)整將數(shù)據(jù)從層級(jí)1復(fù)制到層級(jí)2存儲(chǔ)的過(guò)程,使得不同于使用卷A、B、C,其使用卷A、B、D0在長(zhǎng)度Y的延遲之后,從卷E到C的FlashCopy 被反轉(zhuǎn),使得C上的數(shù)據(jù)被復(fù)制回到卷E。當(dāng)從C到E的逆FlashCopy已完成時(shí),隨后從級(jí)聯(lián)中移除卷C。在層級(jí)2存儲(chǔ)上創(chuàng)建新的卷C,并將其插入到級(jí)聯(lián)中的卷D的左側(cè)。調(diào)整將數(shù)據(jù)從層級(jí)1復(fù)制到層級(jí)2存儲(chǔ)的過(guò)程,使得不同于使用卷A、B、D,其使用卷A、B、C。隨后, 該算法重復(fù)。通過(guò)選擇比X大的Y的值,這確保頻繁存取的數(shù)據(jù)(在時(shí)間X內(nèi)已被存取的數(shù)據(jù))被保持在層級(jí)1存儲(chǔ)上,在時(shí)間X到2X內(nèi)已被存取的數(shù)據(jù)被保持在層級(jí)1或?qū)蛹?jí)2存儲(chǔ)上,在時(shí)間2X到Y(jié)內(nèi)已被存取的數(shù)據(jù)被保持在層級(jí)2存儲(chǔ)上,在時(shí)間Y到2Y內(nèi)已被存取的數(shù)據(jù)被保持在層級(jí)2或?qū)蛹?jí)3存儲(chǔ)上,而不頻繁被存取的數(shù)據(jù)將被保持在層級(jí)3存儲(chǔ)上。 可修改X和Y的值來(lái)實(shí)現(xiàn)性能和每個(gè)層級(jí)中消耗的存儲(chǔ)量之間的平衡。上面通過(guò)參照?qǐng)D7描述的實(shí)現(xiàn)使用了作為示例的圖2的原始實(shí)現(xiàn)的兩個(gè)實(shí)例,其被應(yīng)用于同一 FlashCopy級(jí)聯(lián)中的不同卷。將該過(guò)程的兩個(gè)實(shí)例應(yīng)用于同一級(jí)聯(lián)對(duì)該級(jí)聯(lián)加入附加需求。例如,有必要能夠在級(jí)聯(lián)中的任意點(diǎn)創(chuàng)建卷的新的目標(biāo)副本。例如,通過(guò) IBM SAN卷控制器4. 2. 1,來(lái)實(shí)現(xiàn)多個(gè)目標(biāo)FlashCopy的使用。還可以在級(jí)聯(lián)中的任意兩個(gè)相鄰卷之間反轉(zhuǎn)FlashCopy的方向。理想地,例如,圖2的原始實(shí)現(xiàn)的兩個(gè)實(shí)例應(yīng)能夠在以期望的時(shí)間間隔創(chuàng)建、刪除和反轉(zhuǎn)FlashCopy時(shí)獨(dú)立操作。然而,因?yàn)樗鰞蓚€(gè)實(shí)例在相同的層級(jí)上操作,并且,尤其因?yàn)樗鰞烧咴诰鞢上操作,所以,在兩個(gè)實(shí)例之間可能有FlashCopy的實(shí)現(xiàn)所不能處理的交互。加入了逆FlashCopy的IBM SAN卷控制器中的FlashCopy的實(shí)現(xiàn)支持這些交互,然而,替換的實(shí)現(xiàn)可能必須在實(shí)例之間施加某些進(jìn)一步的約束。首先,可能有必要使逆FlashCopy 的調(diào)用連續(xù),使得在級(jí)聯(lián)內(nèi),一次僅有一個(gè)逆復(fù)制有效,第二,可能有必要延遲一個(gè)實(shí)例所需的級(jí)聯(lián)中的新卷的刪除和創(chuàng)建,直到其它實(shí)例發(fā)起的逆FlashCopy操作已完成為止。如果實(shí)現(xiàn)(implementation)需要這些附加約束,則簡(jiǎn)單地修改該過(guò)程,使得在每個(gè)步驟的結(jié)束,存儲(chǔ)系統(tǒng)等待,直到在執(zhí)行下個(gè)步驟之前,該級(jí)聯(lián)處于可靠的(viable)狀態(tài)為止。該存儲(chǔ)系統(tǒng)可被一般化,以通過(guò)將附加的卷對(duì)加入級(jí)聯(lián)、并使用主過(guò)程的具有不同時(shí)間段的其它實(shí)例來(lái)處理其它層級(jí)的存儲(chǔ),以控制何時(shí)將數(shù)據(jù)移回到慢存儲(chǔ)層級(jí)。該存儲(chǔ)系統(tǒng)可被擴(kuò)展為使用多個(gè)FlashCopy目標(biāo)。額外的FlashCopy目標(biāo)的添加增大了必須維持的元數(shù)據(jù)量,但可減小實(shí)現(xiàn)確保在最近的(Iast)X分鐘內(nèi)已被存取的數(shù)據(jù)被存儲(chǔ)在高性能存儲(chǔ)介質(zhì)上所需的高性能存儲(chǔ)的量。例如,圖8示出了具有從高性能存儲(chǔ)介質(zhì)14至18提供的三個(gè)目標(biāo)P、Q和R以及從低性能存儲(chǔ)介質(zhì)12提供的源S的FlashCopy 級(jí)聯(lián)。主機(jī)1/0最初被導(dǎo)向卷P。隨后,重復(fù)地執(zhí)行操作的以下階段。步驟1,在卷P上累積主機(jī)所寫(xiě)入的新數(shù)據(jù)。 步驟2,在時(shí)間段Y之后,反轉(zhuǎn)從S- > R的FlashCopy映射,將數(shù)據(jù)復(fù)制回到S。當(dāng)完成反轉(zhuǎn)時(shí),隨后從級(jí)聯(lián)刪除卷R,留下FlashCopy級(jí)聯(lián)S- > Q- > P,并創(chuàng)建新的映射P_ > R,以產(chǎn)生級(jí)聯(lián)3->0-> ->1 。將主機(jī)1/0重新導(dǎo)向卷R。步驟3,在卷R上累積主機(jī)所寫(xiě)入的新數(shù)據(jù)。步驟4,在時(shí)間段Y之后,反轉(zhuǎn)從S- > Q的FlashCopy映射,將數(shù)據(jù)復(fù)制回到 S。當(dāng)完成反轉(zhuǎn)時(shí),隨后從級(jí)聯(lián)刪除卷Q,留下FlashCopy級(jí)聯(lián)S- > P- > R,并創(chuàng)建新的映射[>0,以產(chǎn)生級(jí)聯(lián)3-> ->1 ->0。將主機(jī)1/0重新導(dǎo)向卷Q。步驟5,在卷Q上累積主機(jī)所寫(xiě)入的新數(shù)據(jù)。步驟6,在時(shí)間段Y之后,反轉(zhuǎn)從S- > P的FlashCopy映射,將數(shù)據(jù)復(fù)制回到S。當(dāng)完成反轉(zhuǎn)時(shí),隨后從級(jí)聯(lián)刪除卷P,留下FlashCopy級(jí)聯(lián)S- > R- > Q,并創(chuàng)建新的映射Q- > P,以產(chǎn)生級(jí)聯(lián)S- > R- > Q- > P。將主機(jī)1/0重新導(dǎo)向卷P。在開(kāi)始步驟1、3、或5時(shí),在最近的2Y分鐘內(nèi)已被存取的數(shù)據(jù)被存儲(chǔ)在高性能存儲(chǔ)介質(zhì)14至18上,并且,將所有其它數(shù)據(jù)存儲(chǔ)在低性能存儲(chǔ)介質(zhì)12上。在接下來(lái)的Y分鐘,在高性能存儲(chǔ)上收集其它數(shù)據(jù),使得通過(guò)開(kāi)始步驟2、4、或6,在最近的3Y分鐘內(nèi)已被存取的數(shù)據(jù)被存儲(chǔ)在高性能存儲(chǔ)介質(zhì)14至18上,并且,將所有其它數(shù)據(jù)存儲(chǔ)在低性能存儲(chǔ)介質(zhì)12上。當(dāng)開(kāi)始逆FlashCopy時(shí),在最近的2Y分鐘內(nèi)未被存取的數(shù)據(jù)被復(fù)制回到低性能存儲(chǔ)介質(zhì)上。因此,隨著時(shí)間經(jīng)過(guò),在最近的2Y分鐘內(nèi)已被存取的數(shù)據(jù)被保持在高性能存儲(chǔ)介質(zhì)14至18上,在最近的3Y分鐘內(nèi)未被存取的數(shù)據(jù)被保持在低性能存儲(chǔ)介質(zhì)12上,取決于算法的操作階段,僅僅在最近的2Y至3Y分鐘內(nèi)已被存取的數(shù)據(jù)可位于高性能或低性能存儲(chǔ)上。如果需求是將在最近Z分鐘內(nèi)已被存取的數(shù)據(jù)保持在高性能存儲(chǔ)介質(zhì)14至18 上,則僅使用兩個(gè)目標(biāo)(A和B,圖2的實(shí)施例),有必要設(shè)置X = Z,以滿足此確保,并且,在最壞情況下,該系統(tǒng)將把在最近2Z分鐘內(nèi)已被存取的所有數(shù)據(jù)存儲(chǔ)在高性能存儲(chǔ)上。在三個(gè)目標(biāo)(P、Q、R,圖8的實(shí)施例)的情況下,有必要設(shè)置Y = Z/2,并且,在最壞情況下,該系統(tǒng)將把在最近3Z/2分鐘內(nèi)已被存取的所有數(shù)據(jù)存儲(chǔ)在高性能存儲(chǔ)上。因此,通過(guò)將更多的目標(biāo)引入級(jí)聯(lián),可以實(shí)現(xiàn)同樣的需求,而不需要將這樣多的數(shù)據(jù)存儲(chǔ)在高性能存儲(chǔ)上。通過(guò)進(jìn)一步增大級(jí)聯(lián)中的目標(biāo)數(shù)目,可以進(jìn)一步減小保持在高性能存儲(chǔ)上的數(shù)據(jù)量。一般化的實(shí)現(xiàn)具有從一個(gè)層級(jí)的存儲(chǔ)提供的源卷S、以及從第二層級(jí)的存儲(chǔ)提供的N個(gè)目標(biāo)卷(T1、T2.......TN)。創(chuàng)建FlashCopy映射集來(lái)形成FlashCopy級(jí)聯(lián),
其中源卷位于級(jí)聯(lián)的首部,而每個(gè)目標(biāo)卷從先前的目標(biāo)卷級(jí)聯(lián)。重復(fù)以下步驟。步驟1,將主機(jī)I/O導(dǎo)向級(jí)聯(lián)末端(最遠(yuǎn)離源)的目標(biāo)卷;步驟2,周期性地,級(jí)聯(lián)的首部的FlashCopy 映射被反轉(zhuǎn),以將數(shù)據(jù)從級(jí)聯(lián)中鄰近源的目標(biāo)復(fù)制回到源上;以及步驟3,當(dāng)完成此逆復(fù)制時(shí),刪除用于該目標(biāo)的FlashCopy映射,丟棄目標(biāo)卷的內(nèi)容,并創(chuàng)建新的FlashCopy映射,以在級(jí)聯(lián)的末端(最遠(yuǎn)離源)添加目標(biāo)卷。
權(quán)利要求
1.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括控制器、第一低性能存儲(chǔ)介質(zhì)、以及第二高性能存儲(chǔ)介質(zhì), 所述控制器連接到所述存儲(chǔ)介質(zhì),并被配置為控制對(duì)所述存儲(chǔ)介質(zhì)的IO存取,其中,所述控制器被配置為在第一存儲(chǔ)介質(zhì)上存儲(chǔ)映像;啟動(dòng)從第一存儲(chǔ)介質(zhì)到第二存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第二存儲(chǔ)介質(zhì);以及周期性地從第二存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
2.如權(quán)利要求1所述的系統(tǒng),還包括第三高性能存儲(chǔ)介質(zhì),其中,所述控制器還被配置為啟動(dòng)從第二存儲(chǔ)介質(zhì)到第三存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第三存儲(chǔ)介質(zhì);以及周期性地從第三存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
3.如權(quán)利要求2所述的系統(tǒng),其中,所述控制器還被配置為在周期性地向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理之后,在第二和第三存儲(chǔ)介質(zhì)之間切換對(duì)于所述映像的所有IO存取的目標(biāo),并在第二和第三存儲(chǔ)介質(zhì)之間切換所述復(fù)制功能的方向。
4.如權(quán)利要求2或3所述的系統(tǒng),其中,所述控制器還被配置為當(dāng)周期性地從第二或第三存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理時(shí),僅對(duì)在第二和第三存儲(chǔ)介質(zhì)上均不存在的數(shù)據(jù)進(jìn)行老化處理。
5.如權(quán)利要求2、3或4所述的系統(tǒng),其中,第二和第三存儲(chǔ)介質(zhì)包括單個(gè)盤(pán),其中所述控制器還被配置為維持用于由所述單個(gè)盤(pán)存儲(chǔ)的數(shù)據(jù)的地址元數(shù)據(jù),并響應(yīng)于另外在第二和第三存儲(chǔ)介質(zhì)之間復(fù)制數(shù)據(jù)的IO來(lái)調(diào)整所述地址元數(shù)據(jù)。
6.如權(quán)利要求2至5中的任一項(xiàng)所述的系統(tǒng),還包括最高性能層級(jí)的存儲(chǔ)介質(zhì),其中第二和第三存儲(chǔ)介質(zhì)包括最高性能層級(jí)和第一存儲(chǔ)介質(zhì)之間的中間層級(jí),其中所述控制器還被配置為啟動(dòng)從中間層級(jí)到最高性能層級(jí)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向最高性能層級(jí);以及周期性地從最高性能層級(jí)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
7.如前述任一權(quán)利要求所述的系統(tǒng),其中從第一存儲(chǔ)介質(zhì)到不同存儲(chǔ)介質(zhì)的復(fù)制功能包括寫(xiě)復(fù)制功能和讀復(fù)制功能。
8.一種操作數(shù)據(jù)存儲(chǔ)系統(tǒng)的方法,所述系統(tǒng)包括控制器、第一低性能存儲(chǔ)介質(zhì)、以及第二高性能存儲(chǔ)介質(zhì),所述控制器連接到所述存儲(chǔ)介質(zhì),并被配置為控制對(duì)所述存儲(chǔ)介質(zhì)的 IO存取,其中,所述方法包括以下步驟在第一存儲(chǔ)介質(zhì)上存儲(chǔ)映像;啟動(dòng)從第一存儲(chǔ)介質(zhì)到第二存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第二存儲(chǔ)介質(zhì);以及周期性地從第二存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
9.如權(quán)利要求8所述的方法,其中所述系統(tǒng)還包括第三高性能存儲(chǔ)介質(zhì),其中所述方法還包括啟動(dòng)從第二存儲(chǔ)介質(zhì)到第三存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第三存儲(chǔ)介質(zhì);以及周期性地從第三存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
10.如權(quán)利要求9所述的方法,還包括在周期性地向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理之后,在第二和第三存儲(chǔ)介質(zhì)之間切換對(duì)于所述映像的所有IO存取的目標(biāo),并在第二和第三存儲(chǔ)介質(zhì)之間切換所述復(fù)制功能的方向。
11.如權(quán)利要求9或10所述的方法,其中還包括當(dāng)周期性地從第二或第三存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理時(shí),僅對(duì)在第二和第三存儲(chǔ)介質(zhì)上均不存在的數(shù)據(jù)進(jìn)行老化處理。
12.如權(quán)利要求9、10或11所述的方法,其中第二和第三存儲(chǔ)介質(zhì)包括單個(gè)盤(pán),其中所述方法還包括維持用于由所述單個(gè)盤(pán)存儲(chǔ)的數(shù)據(jù)的地址元數(shù)據(jù),并響應(yīng)于另外在第二和第三存儲(chǔ)介質(zhì)之間復(fù)制數(shù)據(jù)的IO來(lái)調(diào)整所述地址元數(shù)據(jù)。
13.如權(quán)利要求9至12中的任一項(xiàng)所述的方法,其中所述系統(tǒng)還包括最高性能層級(jí)的存儲(chǔ)介質(zhì),第二和第三存儲(chǔ)介質(zhì)包括最高性能層級(jí)和第一存儲(chǔ)介質(zhì)之間的中間層級(jí),并且所述方法還包括啟動(dòng)從中間層級(jí)到最高性能層級(jí)的復(fù)制功能;將對(duì)于所述映像的所有IO 存取導(dǎo)向最高性能層級(jí);以及周期性地從最高性能層級(jí)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
14.如權(quán)利要求8至13中的任一項(xiàng)所述的方法,其中從第一存儲(chǔ)介質(zhì)到不同存儲(chǔ)介質(zhì)的復(fù)制功能包括寫(xiě)復(fù)制功能和讀復(fù)制功能。
15.一種計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序代碼,當(dāng)被載入計(jì)算機(jī)系統(tǒng)并在其上運(yùn)行時(shí),使計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)權(quán)利要求8至14的任一項(xiàng)所述的方法的所有步驟。
全文摘要
一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括控制器、第一低性能存儲(chǔ)介質(zhì)、以及第二高性能存儲(chǔ)介質(zhì)。所述控制器連接到所述存儲(chǔ)介質(zhì),并被配置為控制對(duì)所述存儲(chǔ)介質(zhì)的IO存取。在操作中,所述控制器被配置為在第一存儲(chǔ)介質(zhì)上存儲(chǔ)映像;啟動(dòng)從第一存儲(chǔ)介質(zhì)到第二存儲(chǔ)介質(zhì)的復(fù)制功能;將對(duì)于所述映像的所有IO存取導(dǎo)向第二存儲(chǔ)介質(zhì);以及周期性地從第二存儲(chǔ)介質(zhì)向第一存儲(chǔ)介質(zhì)對(duì)數(shù)據(jù)進(jìn)行老化處理。
文檔編號(hào)G06F17/30GK102511036SQ201080041725
公開(kāi)日2012年6月20日 申請(qǐng)日期2010年8月26日 優(yōu)先權(quán)日2009年9月25日
發(fā)明者B.D.懷特, C.F.弗恩特, W.J.斯加勒斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司