專利名稱:將存儲(chǔ)卷呈現(xiàn)為虛擬卷的裝置、系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬卷,更具體地說,涉及將虛擬屬性呈現(xiàn)給主機(jī)。
背景技術(shù):
數(shù)據(jù)處理系統(tǒng),例如計(jì)算機(jī)工作站、服務(wù)器、大型機(jī)等,通常將數(shù)據(jù)存儲(chǔ)在一個(gè)或多個(gè)存儲(chǔ)設(shè)備上。在一個(gè)實(shí)施例中,存儲(chǔ)控制器管理存儲(chǔ)設(shè)備。例如,存儲(chǔ)控制器可以初始化存儲(chǔ)設(shè)備,對(duì)存儲(chǔ)設(shè)備執(zhí)行維護(hù)操作,以及將數(shù)據(jù)寫入存儲(chǔ)設(shè)備和從存儲(chǔ)設(shè)備讀取數(shù)據(jù)。在特定實(shí)施例中,存儲(chǔ)服務(wù)器可以管理數(shù)據(jù)處理系統(tǒng)與存儲(chǔ)控制器之間的通信。所述存儲(chǔ)服務(wù)器、存儲(chǔ)控制器和存儲(chǔ)設(shè)備可以包含在存儲(chǔ)子系統(tǒng)中。
存儲(chǔ)設(shè)備可以是硬盤、光存儲(chǔ)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等。存儲(chǔ)設(shè)備可以組織為一個(gè)或多個(gè)物理卷。每個(gè)物理卷可以具有許多不同的物理屬性,如數(shù)據(jù)存儲(chǔ)容量、柱面數(shù)、柱面上的磁道數(shù)、磁道上的扇區(qū)數(shù)、磁道的數(shù)據(jù)容量、數(shù)據(jù)塊的數(shù)據(jù)容量等。
存儲(chǔ)設(shè)備通常存儲(chǔ)有大量有價(jià)值的數(shù)據(jù)。為了防止數(shù)據(jù)丟失,數(shù)據(jù)處理系統(tǒng)的管理員通常引導(dǎo)軟件過程通過將數(shù)據(jù)從存儲(chǔ)設(shè)備復(fù)制到另一個(gè)存儲(chǔ)設(shè)備來備份所述存儲(chǔ)設(shè)備。在一個(gè)實(shí)施例中,軟件過程可以生成快照副本。快照副本或即時(shí)(point-in-time)副本是數(shù)據(jù)的指定實(shí)例(例如,在指定時(shí)間的數(shù)據(jù)的實(shí)例)的副本。
創(chuàng)建快照副本的軟件過程通常將元數(shù)據(jù)和數(shù)據(jù)從主物理卷寫入目標(biāo)物理卷。所述主物理卷和目標(biāo)物理卷在本文中分別稱為主卷和目標(biāo)卷。元數(shù)據(jù)可以描述數(shù)據(jù),包括數(shù)據(jù)的源和創(chuàng)建快照的時(shí)間。在一個(gè)實(shí)施例中,將元數(shù)據(jù)寫入目標(biāo)卷的起始地址。軟件過程可以將元數(shù)據(jù)之后的數(shù)據(jù)寫入后續(xù)的目標(biāo)卷地址。備選地,軟件過程在數(shù)據(jù)地址之后的地址處將元數(shù)據(jù)寫入目標(biāo)卷。
此外,軟件過程可以在主卷空閑時(shí)將數(shù)據(jù)從主卷寫入目標(biāo)卷,以最小化備份操作對(duì)主卷性能的影響。軟件過程還可以將數(shù)據(jù)塊從主卷復(fù)制到目標(biāo)卷推遲到主卷上的數(shù)據(jù)塊被覆蓋的前一刻。
因此,備份軟件過程可以配置為將數(shù)據(jù)塊從主卷寫入目標(biāo)卷中的預(yù)定地址。因此,備份軟件過程經(jīng)常設(shè)計(jì)為僅將數(shù)據(jù)備份到具有與主卷基本類似的物理屬性的目標(biāo)卷,以確保在所有數(shù)據(jù)塊和元數(shù)據(jù)復(fù)制到目標(biāo)卷時(shí)有充足的空間。
不幸地,將目標(biāo)卷限于主卷的物理屬性限制了數(shù)據(jù)處理系統(tǒng)管理員配置存儲(chǔ)系統(tǒng)時(shí)的靈活性。例如,管理員可能只能將具有指定容量的物理卷包括在存儲(chǔ)子系統(tǒng)中來確保有足夠的目標(biāo)卷可用于備份每個(gè)主卷。這阻止了管理員以后添加更大容量的更加成本有效的存儲(chǔ)設(shè)備。
從上述說明應(yīng)顯而易見的是,存在對(duì)呈現(xiàn)虛擬物理卷屬性的裝置、系統(tǒng)和方法的需要。有利地,此類裝置、系統(tǒng)和方法將允許存儲(chǔ)子系統(tǒng)使用具有多個(gè)物理屬性的存儲(chǔ)設(shè)備。
發(fā)明內(nèi)容
開發(fā)本發(fā)明以響應(yīng)本領(lǐng)域的現(xiàn)狀,具體地說,響應(yīng)本領(lǐng)域中尚未完全通過當(dāng)前可用的目標(biāo)卷指定方法解決的問題和需要。因此,開發(fā)了本發(fā)明以提供將存儲(chǔ)卷呈現(xiàn)為虛擬卷的克服本領(lǐng)域中上面介紹的許多或全部缺點(diǎn)的裝置、系統(tǒng)和方法。
所述呈現(xiàn)虛擬卷的裝置具備多個(gè)模塊,所述模塊配置為功能地執(zhí)行以下步驟確定主卷物理屬性,向主機(jī)呈現(xiàn)所述主卷物理屬性,并轉(zhuǎn)換所述主機(jī)與目標(biāo)卷之間的通信。在所述實(shí)施例中的這些模塊包括屬性模塊和呈現(xiàn)模塊。此外,所述裝置可以包括轉(zhuǎn)換模塊。
所述屬性模塊確定主卷物理屬性。所述屬性可以是主卷的卷大小。例如,所述主卷物理屬性可以是所述主卷的卷大小為一百千兆字節(jié)(100GB)。備選地,所述主卷物理屬性可以是數(shù)據(jù)塊大小、每柱面的磁道數(shù),以及每磁道的扇區(qū)數(shù)。此外,所述主卷物理屬性可以是諸如模型號(hào)之類的邏輯屬性。
所述呈現(xiàn)模塊將所述主卷物理屬性作為目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)。因此,所述主機(jī)相信所述目標(biāo)卷具有所述主卷物理屬性,而不關(guān)心所述目標(biāo)卷的物理屬性。例如,當(dāng)所述目標(biāo)卷實(shí)際具有二百千兆字節(jié)(200GB)的卷大小時(shí),呈現(xiàn)模塊可以呈現(xiàn)所述目標(biāo)卷具有一百千兆字節(jié)(100GB)的卷大小。
在一個(gè)實(shí)施例中,所述轉(zhuǎn)換模塊轉(zhuǎn)換所述主機(jī)與所述目標(biāo)卷之間的通信,以便去往和來自所述主機(jī)的通信基于所述目標(biāo)卷虛擬屬性,該屬性等同于所述主卷物理屬性。此外,去往和來自所述目標(biāo)卷的通信基于所述目標(biāo)卷的目標(biāo)卷物理屬性。所述裝置允許要求所述目標(biāo)卷具有所述主卷物理屬性的過程使用具有與所述主卷物理屬性不同的物理屬性的目標(biāo)卷。
還公開了本發(fā)明的呈現(xiàn)虛擬卷的系統(tǒng)。所述系統(tǒng)可以包含在存儲(chǔ)子系統(tǒng)中。具體地說,在一個(gè)實(shí)施例中,所述系統(tǒng)包括主卷、目標(biāo)卷和存儲(chǔ)控制器。所述系統(tǒng)還可以包括主機(jī)。所述存儲(chǔ)控制器可以將數(shù)據(jù)存儲(chǔ)在所述主機(jī)的所述主卷和所述目標(biāo)卷中。
所述主卷和所述目標(biāo)卷存儲(chǔ)并檢索數(shù)據(jù)。所述存儲(chǔ)控制器管理所述主卷和所述目標(biāo)卷。在一個(gè)實(shí)施例中,所述系統(tǒng)包括多個(gè)存儲(chǔ)控制器,每個(gè)存儲(chǔ)控制器管理一個(gè)或多個(gè)卷。此外,所述存儲(chǔ)控制器可以執(zhí)行一個(gè)或多個(gè)包含屬性模塊、選擇模塊、呈現(xiàn)模塊和轉(zhuǎn)換模塊的軟件過程。
所述屬性模塊確定所述主卷的主卷物理屬性。在一個(gè)實(shí)施例中,所述選擇模塊選擇所述目標(biāo)卷。如果所述目標(biāo)卷與所述主卷物理屬性相一致,則所述選擇模塊可以選擇所述目標(biāo)卷。所述呈現(xiàn)模塊將所述主卷物理屬性作為所述選定的目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)。所述轉(zhuǎn)換模塊轉(zhuǎn)換所述主機(jī)與所述選定的目標(biāo)卷之間的通信。所述系統(tǒng)向所述主機(jī)將所述目標(biāo)卷呈現(xiàn)為具有所述主卷的物理屬性,以便所述目標(biāo)卷可以用于要求所述主卷與所述目標(biāo)卷之間的物理等同性的功能。
還公開了本發(fā)明的呈現(xiàn)虛擬卷的方法。在公開的實(shí)施例中的方法實(shí)質(zhì)上包括執(zhí)行上述與所述裝置和系統(tǒng)的操作有關(guān)的功能的步驟。在一個(gè)實(shí)施例中,所述方法包括確定主卷物理屬性,向主機(jī)呈現(xiàn)所述主卷物理屬性,以及在所述主機(jī)與目標(biāo)卷之間轉(zhuǎn)換通信。
屬性模塊確定主卷的主卷物理屬性。呈現(xiàn)模塊將所述主卷物理屬性作為目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)。轉(zhuǎn)換模塊轉(zhuǎn)換主機(jī)與所述目標(biāo)卷之間的通信。在一個(gè)實(shí)施例中,復(fù)制模塊在所述目標(biāo)卷上創(chuàng)建所述主卷的即時(shí)副本。所述方法允許具有各種物理屬性的目標(biāo)卷支持所述主卷和主卷相關(guān)的功能。
本說明書中對(duì)功能、優(yōu)點(diǎn)的參考或類似語言并非暗示可以與本發(fā)明一起實(shí)現(xiàn)的所有功能和優(yōu)點(diǎn)應(yīng)在本發(fā)明的任何單個(gè)實(shí)施例中。相反,應(yīng)當(dāng)理解,引用所述功能和優(yōu)點(diǎn)的語言指與實(shí)施例一起描述的特定功能、優(yōu)點(diǎn)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,本說明書中對(duì)功能、優(yōu)點(diǎn)的討論和類似語言可以(但并不一定)指相同的實(shí)施例。
此外,本發(fā)明的所述功能、優(yōu)點(diǎn)和特性可以以任何適當(dāng)?shù)姆绞浇M合在一個(gè)或多個(gè)實(shí)施例中。相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以在沒有特定實(shí)施例的一個(gè)或多個(gè)特定功能或優(yōu)點(diǎn)的情況下實(shí)現(xiàn)本發(fā)明。在其他情況下,可以在特定實(shí)施例中認(rèn)識(shí)到可能不存在于本發(fā)明的所有實(shí)施例中的其他功能和優(yōu)點(diǎn)。
本發(fā)明的實(shí)施例將主卷物理屬性作為目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī),允許所述主機(jī)使用目標(biāo)卷,就像所述目標(biāo)卷具有所述主卷物理屬性那樣。此外,本發(fā)明的實(shí)施例可以支持使用所述目標(biāo)卷來進(jìn)行所述主卷的即時(shí)復(fù)制,其中所述主機(jī)要求在物理上等價(jià)的目標(biāo)卷。從以下說明,本發(fā)明的這些功能和優(yōu)點(diǎn)將變得更加顯而易見,或者通過實(shí)現(xiàn)如下文所述的本發(fā)明,可以了解本發(fā)明的這些功能和優(yōu)點(diǎn)。
為了容易地理解本發(fā)明的優(yōu)點(diǎn),將通過參考附圖中示出的特定實(shí)施例說明上面簡(jiǎn)要介紹的本發(fā)明的更具體的說明。應(yīng)當(dāng)理解,這些附圖僅示出了本發(fā)明的典型實(shí)施例,并且因此不應(yīng)被視為限制其范圍,將通過使用附圖以其他特性和詳細(xì)信息來介紹和說明本發(fā)明,這些附圖是圖1是示出根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例的示意性方塊圖;圖2是示出根據(jù)本發(fā)明的數(shù)據(jù)卷的一個(gè)實(shí)施例的示意性方塊圖;圖3是示出本發(fā)明的虛擬目標(biāo)卷裝置的一個(gè)實(shí)施例的示意性方塊圖;圖4是示出本發(fā)明的存儲(chǔ)控制器的一個(gè)實(shí)施例的示意性方塊圖;圖5是示出本發(fā)明的虛擬存儲(chǔ)呈現(xiàn)方法的一個(gè)實(shí)施例的示意性流程圖;圖6是示出根據(jù)本發(fā)明的轉(zhuǎn)換過程的一個(gè)實(shí)施例的示意性流程圖;以及圖7是示出本發(fā)明的虛擬數(shù)據(jù)卷的一個(gè)實(shí)施例的示意性方塊圖。
具體實(shí)施例方式
將本說明書中描述的多個(gè)功能單元標(biāo)記為模塊,以便更具體地強(qiáng)調(diào)它們的實(shí)現(xiàn)無關(guān)性。例如,模塊可以被實(shí)現(xiàn)為包括定制VLSI電路或門陣列、諸如邏輯芯片、晶體管或其他分離組件之類的現(xiàn)用半導(dǎo)體的硬件電路。模塊還可以在諸如現(xiàn)場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備之類的可編程硬件設(shè)備中實(shí)現(xiàn)。
模塊還可以在軟件中實(shí)現(xiàn),以便由各種類型的處理器執(zhí)行。例如,標(biāo)識(shí)的可執(zhí)行代碼的模塊可以包括一個(gè)或多個(gè)物理或邏輯的計(jì)算機(jī)指令塊,所述塊可以例如組織為對(duì)象、過程或功能。然而,標(biāo)識(shí)的模塊的可執(zhí)行代碼不需要在物理上位于一起,但是可以包括存儲(chǔ)在不同位置的不同指令,當(dāng)所述指令被邏輯地結(jié)合時(shí),將包括所述模塊并實(shí)現(xiàn)模塊的所述目的。
實(shí)際上,可執(zhí)行代碼的模塊可以是單個(gè)指令或多個(gè)指令,并且甚至可以分布在數(shù)個(gè)不同的代碼段上、多個(gè)不同的程序中,以及跨多個(gè)存儲(chǔ)器設(shè)備。同樣,操作數(shù)據(jù)可以在模塊中被標(biāo)識(shí)和在此示出,并且可以包括在任何適當(dāng)?shù)男问街胁⒔M織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)中。操作數(shù)據(jù)可以被收集為單個(gè)數(shù)據(jù)集,或可以分布在包括不同存儲(chǔ)設(shè)備的不同位置上,并且可以至少部分地僅作為電子信號(hào)存在于系統(tǒng)或網(wǎng)絡(luò)中。
本說明書中對(duì)“一個(gè)實(shí)施例”、“實(shí)施例”或類似語言的引用指結(jié)合該實(shí)施例描述的特定功能、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,本說明書中出現(xiàn)的短語“在一個(gè)實(shí)施例中”、“在實(shí)施例中”和類似語言可以(但是并非一定)都指相同的實(shí)施例。
此外,本發(fā)明的所述功能、結(jié)構(gòu)或特性可以以任何適當(dāng)?shù)男问浇M合在一個(gè)或多個(gè)實(shí)施例中。在以下說明中,提供了大量特定的詳細(xì)信息,如編程、軟件模塊、用戶選擇、網(wǎng)絡(luò)事務(wù)、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等的實(shí)例,以便徹底理解本發(fā)明的實(shí)施例。但是,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以在沒有一個(gè)或多個(gè)特定的細(xì)節(jié)的情況下實(shí)現(xiàn)本發(fā)明,或者可以通過其他方法、組件、材料等實(shí)現(xiàn)本發(fā)明。在其他情況下,未詳細(xì)示出或描述公知的結(jié)構(gòu)、材料或操作以避免使本發(fā)明的各方面變得模糊不清。
圖1是示出根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)100的一個(gè)實(shí)施例的示意性方塊圖。系統(tǒng)100包括一個(gè)或多個(gè)主機(jī)105、網(wǎng)絡(luò)110、存儲(chǔ)服務(wù)器115、存儲(chǔ)網(wǎng)絡(luò)120,以及存儲(chǔ)子系統(tǒng)130。如圖所示,存儲(chǔ)子系統(tǒng)130包括一個(gè)或多個(gè)存儲(chǔ)控制器125、一個(gè)或多個(gè)通信通道135,以及一個(gè)或多個(gè)存儲(chǔ)設(shè)備145。
存儲(chǔ)子系統(tǒng)130為主機(jī)105存儲(chǔ)和檢索數(shù)據(jù)。主機(jī)105通過網(wǎng)絡(luò)110與存儲(chǔ)服務(wù)器115通信。網(wǎng)絡(luò)110可以是局域網(wǎng)、因特網(wǎng)、存儲(chǔ)區(qū)域網(wǎng)等。存儲(chǔ)服務(wù)器115在存儲(chǔ)網(wǎng)絡(luò)120上與存儲(chǔ)子系統(tǒng)通信。存儲(chǔ)網(wǎng)絡(luò)120可以是令牌環(huán)網(wǎng)、以太網(wǎng)、存儲(chǔ)區(qū)域網(wǎng)等。
存儲(chǔ)控制器125管理存儲(chǔ)子系統(tǒng)130的存儲(chǔ)設(shè)備145。例如,存儲(chǔ)控制器125可以初始化存儲(chǔ)設(shè)備145,邏輯地將存儲(chǔ)設(shè)備145分區(qū),并對(duì)存儲(chǔ)設(shè)備145執(zhí)行維護(hù)功能,如本領(lǐng)域的技術(shù)人員所公知的。此外,主機(jī)105可以通過存儲(chǔ)控制器125將數(shù)據(jù)寫入存儲(chǔ)設(shè)備145并通過存儲(chǔ)控制器125將從存儲(chǔ)設(shè)備145讀取數(shù)據(jù)。存儲(chǔ)控制器125在通信通道135上與存儲(chǔ)設(shè)備145通信。通信通道135可以使用小型計(jì)算機(jī)系統(tǒng)接口(SCSI)連接、光纖通道連接等。
存儲(chǔ)設(shè)備145可以包括硬盤驅(qū)動(dòng)器、光存儲(chǔ)設(shè)備等。例如,存儲(chǔ)設(shè)備145可以包括一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器。在某些實(shí)施例中,通過使用兩個(gè)或更多存儲(chǔ)設(shè)備145,存儲(chǔ)控制器125可以形成獨(dú)立磁盤冗余陣列(RAID),這表示某種聚集形式的存儲(chǔ)容量。RAID陣列的存儲(chǔ)容量可以細(xì)分為元素或邏輯卷,每個(gè)元素或邏輯卷將關(guān)聯(lián)有物理屬性。存儲(chǔ)控制器125管理邏輯卷的存儲(chǔ)容量并向主機(jī)105呈現(xiàn),實(shí)質(zhì)上與物理硬盤驅(qū)動(dòng)器元素相同。硬盤驅(qū)動(dòng)器或邏輯卷可以包括物理卷。每個(gè)物理卷具有一個(gè)或多個(gè)物理屬性。物理屬性可以包括卷大小、數(shù)據(jù)塊大小、每柱面的磁道數(shù),以及每磁道的扇區(qū)數(shù),如本領(lǐng)域的技術(shù)人員所公知的。在預(yù)示的實(shí)例中,物理卷的卷大小可以是三百千兆字節(jié)(300GB)。
圖2是示出根據(jù)本發(fā)明的數(shù)據(jù)卷200的一個(gè)實(shí)施例的示意性方塊圖。卷200是圖1的存儲(chǔ)設(shè)備145的物理卷。此外,卷200的描述引用了圖1的元素,相同的標(biāo)號(hào)表示相同的元素。示出了多個(gè)卷205、210。此外,每個(gè)卷205、210的示出大小與每個(gè)卷205、210的卷大小或存儲(chǔ)容量大約成比例。
在一個(gè)預(yù)示的實(shí)例中,主機(jī)105可以將數(shù)據(jù)存儲(chǔ)在主卷205上。此外,管理員和/或用戶可以指示主機(jī)145生成主卷205的即時(shí)副本。主機(jī)105和/或存儲(chǔ)控制器125可以從多個(gè)可用卷210中選擇可用卷210來存儲(chǔ)所述即時(shí)副本。
可以在擴(kuò)展的時(shí)間段生成所述即時(shí)副本。因此,主機(jī)105和/或存儲(chǔ)控制器125可以以非連續(xù)的順序?qū)⒅骶?05的數(shù)據(jù)塊復(fù)制到可用卷210,直至復(fù)制了所有數(shù)據(jù)塊。主機(jī)105可以指示僅具有與主卷205相同的物理屬性的可用卷210才能用于即時(shí)復(fù)制,以確保主卷205的每個(gè)數(shù)據(jù)塊可以復(fù)制到可用卷210中的相應(yīng)地址。選擇來存儲(chǔ)即時(shí)副本的可用卷210在此稱為目標(biāo)卷。如圖2所示,僅第一和第二可用卷210a、210b可以被選為目標(biāo)卷,因?yàn)橹挥械谝缓偷诙捎镁?10a、210b具有與主卷205相同的卷大小。
不幸地,要求考慮用作目標(biāo)卷的每個(gè)可用卷210具有主卷205的物理屬性限制了管理員在為存儲(chǔ)子系統(tǒng)125提供存儲(chǔ)設(shè)備145時(shí)的選擇。例如,一些管理員將存儲(chǔ)設(shè)備145限制為一個(gè)卷大小以確保所有可用卷210都可用作目標(biāo)卷。而限制容許的存儲(chǔ)設(shè)備145會(huì)增加成本并減少了將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)子系統(tǒng)130中的選擇。
本發(fā)明的實(shí)施例將主卷205的物理屬性作為目標(biāo)卷的虛擬屬性呈現(xiàn)給主機(jī)205,如以下將討論的,這允許主機(jī)105將目標(biāo)卷用于需要等價(jià)物理屬性的過程,即使當(dāng)所述目標(biāo)卷的物理屬性不同于主卷205時(shí)。因此,本發(fā)明的實(shí)施例支持在存儲(chǔ)子系統(tǒng)130中包括具有多個(gè)物理卷類型的多個(gè)存儲(chǔ)設(shè)備類型,同時(shí)維護(hù)較大的可用卷210的池以存儲(chǔ)主卷205的副本。
圖3是示出本發(fā)明的虛擬目標(biāo)卷裝置300的一個(gè)實(shí)施例的示意性方塊圖。裝置300包括屬性模塊305、選擇模塊310、呈現(xiàn)模塊315、轉(zhuǎn)換模塊320、標(biāo)識(shí)模塊325和復(fù)制模塊330。裝置300的描述引用了圖1和2的元素,相同的標(biāo)號(hào)表示相同的元素。
屬性模塊305確定主卷205的物理屬性,這將在下文中說明。所述物理屬性可以是主卷205的卷大小。在預(yù)示的實(shí)例中,主卷物理屬性可以是主卷的卷大小為一百千兆字節(jié)(100GB)。備選地,主卷物理屬性可以是數(shù)據(jù)塊大小、每柱面的磁道數(shù),以及每磁道的扇區(qū)數(shù)。此外,主卷物理屬性可以是諸如模型號(hào)之類的邏輯屬性。在另一個(gè)預(yù)示的實(shí)例中,主卷物理屬性可以具有五十六千字節(jié)(56KB)的磁道大小。
在一個(gè)實(shí)施例中,選擇模塊310將選擇目標(biāo)卷,如果所述目標(biāo)卷與主卷物理屬性一致的話,這將在下文中說明。在一個(gè)預(yù)示的實(shí)例中,選擇模塊310可以僅從卷大小大于或等于主卷205的卷大小的可用卷210來選擇目標(biāo)卷。
呈現(xiàn)模塊315將主卷物理屬性作為所述目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)105,如以下將說明的。通過將主卷物理屬性呈現(xiàn)為目標(biāo)卷的虛擬屬性,主機(jī)105相信所述目標(biāo)卷具有所述主卷物理屬性,而不關(guān)心所述目標(biāo)卷的物理屬性。因此,即使主機(jī)105配置為僅使用卷大小與主卷205的卷大小相當(dāng)?shù)目捎镁?10,但是仍可以將卷大小大于主卷205的卷大小的可用卷210選擇為目標(biāo)卷。
在一個(gè)實(shí)施例中,轉(zhuǎn)換模塊320轉(zhuǎn)換主機(jī)105與目標(biāo)卷之間的通信,這將在下文中說明。在一個(gè)預(yù)示的實(shí)例中,去往和來自主機(jī)105的通信可以基于四十八千字節(jié)(48KB)的目標(biāo)卷磁道大小,而去往和來自目標(biāo)卷的通信可以基于五十六千字節(jié)(56KB)的目標(biāo)卷磁道大小。
在一個(gè)實(shí)施例中,標(biāo)識(shí)模塊325將一個(gè)或多個(gè)可用卷210標(biāo)記為已啟用虛擬卷。如果可用卷210符合指定的物理屬性,則標(biāo)識(shí)模塊325可以將可用卷210標(biāo)記為已啟用虛擬卷。在其他實(shí)施例中,標(biāo)識(shí)模塊325可以將可用卷210標(biāo)記為已啟用虛擬卷,以便存儲(chǔ)控制器125選擇模塊310知道可用卷210能夠由虛擬目標(biāo)卷裝置300使用。在預(yù)示的實(shí)例中,如果第一可用卷210a的卷大小大于或等于主卷205的卷大小,則標(biāo)識(shí)模塊325可以將第一可用卷210a標(biāo)記為已啟用虛擬卷。
在一個(gè)實(shí)施例中,復(fù)制模塊330在目標(biāo)卷上創(chuàng)建主卷205的即時(shí)副本,這將在下文說明。在一個(gè)預(yù)示的實(shí)例中,通過在覆蓋主卷205上的數(shù)據(jù)塊之前將主卷205的每個(gè)數(shù)據(jù)塊復(fù)制到目標(biāo)卷,復(fù)制模塊330可以創(chuàng)建即時(shí)副本。裝置300允許要求目標(biāo)卷具有主卷物理屬性的過程(如即時(shí)復(fù)制過程)使用物理屬性不同于所述主卷物理屬性的目標(biāo)卷。
圖4是示出本發(fā)明的存儲(chǔ)控制器125的一個(gè)實(shí)施例的示意性方塊圖??刂破?25是圖1的存儲(chǔ)控制器125。此外,存儲(chǔ)控制器125的說明引用了圖1-3的元素,相同的標(biāo)號(hào)表示相同的元素。存儲(chǔ)控制器125包括處理器模塊405、存儲(chǔ)器模塊410、橋接模塊415、網(wǎng)絡(luò)接口模塊420,以及存儲(chǔ)接口模塊425。此外,示出了存儲(chǔ)控制器與圖1的主機(jī)105和存儲(chǔ)設(shè)備145通信。
處理器模塊405、存儲(chǔ)器模塊410、橋接模塊415、網(wǎng)絡(luò)接口模塊420,以及存儲(chǔ)接口模塊425可以由一個(gè)或多個(gè)半導(dǎo)體襯底上的半導(dǎo)體門來形成。每個(gè)半導(dǎo)體襯底可以封裝到一個(gè)或多個(gè)安裝在電路卡上的半導(dǎo)體器件中??梢酝ㄟ^半導(dǎo)體金屬層、襯底到襯底布線、電路卡線,和/或連接所述半導(dǎo)體器件的導(dǎo)線來進(jìn)行處理器模塊405、存儲(chǔ)器模塊410、橋接模塊415、網(wǎng)絡(luò)接口模塊420,以及存儲(chǔ)接口模塊425之間的連接。
存儲(chǔ)器模塊410存儲(chǔ)軟件指令和數(shù)據(jù)。處理器模塊405執(zhí)行軟件指令并操縱數(shù)據(jù),如本領(lǐng)域的技術(shù)人員所公知的。在一個(gè)實(shí)施例中,存儲(chǔ)器模塊410存儲(chǔ)而處理器模塊405執(zhí)行一個(gè)或多個(gè)包含圖3的屬性模塊305、選擇模塊310、呈現(xiàn)模塊315、轉(zhuǎn)換模塊320、標(biāo)識(shí)模塊325和復(fù)制模塊330的軟件過程。
處理器模塊405通過橋接模塊415與網(wǎng)絡(luò)接口模塊420及存儲(chǔ)接口模塊425通信。網(wǎng)絡(luò)接口模塊420可以是令牌環(huán)接口、以太網(wǎng)接口等。存儲(chǔ)接口模塊425可以是光纖通道接口、SCSI接口等。在示出的實(shí)施例中,存儲(chǔ)控制器125直接與主機(jī)105通信。存儲(chǔ)控制器125還可以通過如圖1所示的存儲(chǔ)服務(wù)器115和一個(gè)或多個(gè)網(wǎng)絡(luò)110、120與主機(jī)105通信。
通常作為邏輯流程圖說明以下的示意性流程圖。同樣,所示順序和標(biāo)記的步驟指示所提供方法的一個(gè)實(shí)施例。可以構(gòu)想其他步驟和方法,它們?cè)诠δ堋⑦壿嫽蛐Ч吓c所示方法的一個(gè)或多個(gè)步驟或其各部分等效。另外,提供所使用的格式和符號(hào)以說明所述方法的邏輯步驟,并且應(yīng)理解它們并非限制所述方法的范圍。盡管可以在流程圖中使用不同的箭頭類型和線條類型,但是應(yīng)理解,它們并非限制相應(yīng)方法的范圍。實(shí)際上,某些箭頭或其他連接符可用來僅指示所述方法的邏輯流。例如,箭頭可以指示所示方法的枚舉步驟之間的未指定持續(xù)時(shí)間的等待或監(jiān)視周期。另外,出現(xiàn)特定方法的順序可以或可以不嚴(yán)格地依照所示的相應(yīng)步驟的順序。
圖5是示出本發(fā)明的虛擬存儲(chǔ)呈現(xiàn)方法500的一個(gè)實(shí)施例的示意性流程圖。方法500實(shí)質(zhì)上包括執(zhí)行上述與圖1-4的裝置200、300、125和系統(tǒng)100的操作有關(guān)的步驟。此外,方法500的說明引用了圖1-4的元素,相同的標(biāo)號(hào)表示相同的元素。
方法500開始,在一個(gè)實(shí)施例中,存儲(chǔ)控制器125從主機(jī)105接收505對(duì)目標(biāo)卷的請(qǐng)求??梢哉?qǐng)求目標(biāo)卷以便接收主卷205的副本。在特定的實(shí)施例中,所述請(qǐng)求指定主卷205。備選地,所述請(qǐng)求可以指定目標(biāo)卷的物理屬性。
屬性模塊305確定510主卷205的主卷物理屬性。主卷物理屬性可以是卷大小、數(shù)據(jù)塊大小、每柱面的磁道數(shù)、每磁道的扇區(qū)數(shù),以及邏輯屬性。在一個(gè)實(shí)施例中,邏輯屬性是模型號(hào)、模型類型、配置類型等。此外,屬性模塊305可以確定510多個(gè)主卷物理屬性。在一個(gè)實(shí)施例中,屬性模塊205訪問存儲(chǔ)在存儲(chǔ)控制器125的存儲(chǔ)器模塊410中的主卷205的配置數(shù)據(jù)。在預(yù)示的實(shí)例中,屬性模塊205可以從存儲(chǔ)在存儲(chǔ)器模塊410中的數(shù)據(jù)文件檢索卷大小主卷物理屬性。
在備選實(shí)施例中,屬性模塊305在主卷205中查詢主卷物理屬性。在預(yù)示的實(shí)例中,屬性模塊305在主卷205中查詢主卷205上的扇區(qū)數(shù)。在特定實(shí)施例中,屬性模塊305在主機(jī)105中查詢主卷物理屬性。在預(yù)示的實(shí)例中,屬性模塊305可以在主機(jī)105中查詢主卷205的卷大小。備選地,屬性模塊305可以從主機(jī)105接收的請(qǐng)求來確定510主卷物理屬性。在預(yù)示的實(shí)例中,如果主機(jī)105請(qǐng)求一百千兆字節(jié)(100GB)的目標(biāo)卷,則屬性模塊305確定主卷物理屬性是一百千兆字節(jié)(100GB)的卷大小。
在一個(gè)實(shí)施例中,選擇模塊310從可用卷210中選擇515目標(biāo)卷。在特定實(shí)施例中,如果目標(biāo)卷與主卷物理屬性相一致,則選擇模塊310選擇515所述目標(biāo)卷。在預(yù)示的實(shí)例中,如果主卷物理屬性是卷大小為三百千兆字節(jié)(300GB),則選擇模塊310可以選擇515卷大小超過三百千兆字節(jié)(300GB)的目標(biāo)卷。
在一個(gè)實(shí)施例中,如果可用卷210符合指定的物理屬性,則標(biāo)識(shí)模塊325將一個(gè)或多個(gè)可用卷210標(biāo)記為已啟用虛擬卷。所述指定的物理屬性可以是主卷物理屬性。在預(yù)示的實(shí)例中,如果主卷物理屬性是一百千兆字節(jié)(100GB)的卷大小,則標(biāo)識(shí)模塊325可以將每個(gè)卷大小為一百千兆字節(jié)(100GB)或更大的可用卷210標(biāo)記為已啟用虛擬卷。
通過將指定的數(shù)據(jù)串寫入存儲(chǔ)控制器125的存儲(chǔ)器模塊410中的可用卷210的數(shù)據(jù)陣列,標(biāo)識(shí)模塊325可以將可用卷210標(biāo)記為已啟用虛擬卷。在一個(gè)實(shí)施例中,選擇模塊310從標(biāo)記為已啟用虛擬卷的可用卷210中選擇515目標(biāo)卷。
呈現(xiàn)模塊315將主卷物理屬性作為選定目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)520給主機(jī)105。在一個(gè)實(shí)施例中,呈現(xiàn)模塊315向主機(jī)105呈現(xiàn)520主卷物理屬性以響應(yīng)來自主機(jī)105的請(qǐng)求。呈現(xiàn)模塊315可以將目標(biāo)卷虛擬屬性作為數(shù)據(jù)陣列的一部分來傳送。所述數(shù)據(jù)陣列可以包括所述目標(biāo)卷的標(biāo)識(shí)符、所述目標(biāo)卷的一個(gè)或多個(gè)目標(biāo)卷虛擬屬性,以及所述目標(biāo)卷的一個(gè)或多個(gè)物理屬性。
轉(zhuǎn)換模塊320轉(zhuǎn)換525主機(jī)105與目標(biāo)卷之間的通信,如下文針對(duì)圖6說明的。存儲(chǔ)控制器125可以包括轉(zhuǎn)換模塊320并轉(zhuǎn)換525主機(jī)105與目標(biāo)卷之間的通信。
在一個(gè)實(shí)施例中,主機(jī)105使用530目標(biāo)卷。在特定實(shí)施例中,復(fù)制模塊330通過在目標(biāo)卷上創(chuàng)建主卷205的即時(shí)副本來使用530所述目標(biāo)卷。在備選實(shí)施例中,主機(jī)105可以使用所述目標(biāo)卷代替主卷205。在預(yù)示的實(shí)例中,所述目標(biāo)卷可以存儲(chǔ)主卷205的副本。如果主卷205出現(xiàn)故障,則主機(jī)105可以訪問所述目標(biāo)卷來代替訪問主卷205。方法500允許具有各種物理屬性的目標(biāo)卷與主卷205一起使用來支持主機(jī)105。
圖6是示出根據(jù)本發(fā)明的轉(zhuǎn)換過程600的一個(gè)實(shí)施例的示意性流程圖。過程600可以包含圖5的步驟525。所述過程的說明引用了圖1-5的元素,相同的標(biāo)號(hào)表示相同的元素。
示出了主機(jī)105與轉(zhuǎn)換模塊320交換信息。轉(zhuǎn)換模塊320可以是在存儲(chǔ)控制器125的處理器模塊405上執(zhí)行的軟件過程。盡管為了簡(jiǎn)潔,示出主機(jī)105與轉(zhuǎn)換模塊320直接通信,但是主機(jī)105可以通過一個(gè)或多個(gè)中間設(shè)備(例如,圖1的網(wǎng)絡(luò)110、存儲(chǔ)服務(wù)器115,以及存儲(chǔ)網(wǎng)絡(luò)120)與轉(zhuǎn)換模塊320通信。
示出了轉(zhuǎn)換模塊320與存儲(chǔ)設(shè)備145交換信息。存儲(chǔ)設(shè)備145可以包括一個(gè)或多個(gè)物理卷(例如,主卷205和可用卷210),其中從可用卷210中選擇515目標(biāo)卷。在一個(gè)實(shí)施例中,轉(zhuǎn)換模塊320與多個(gè)存儲(chǔ)設(shè)備145交換信息。
主機(jī)105與轉(zhuǎn)換模塊320之間的通信是基于主卷物理屬性的通信605。在預(yù)示的實(shí)例中,主卷物理屬性(其也是目標(biāo)卷虛擬屬性)可以是一百千兆字節(jié)(100GB)卷大小。從主機(jī)105到轉(zhuǎn)換模塊320的通信605使用并基于該一百千兆字節(jié)(100GB)卷大小。因此,如果主機(jī)105將五十千兆字節(jié)(50GB)的數(shù)據(jù)復(fù)制到目標(biāo)卷并查詢目標(biāo)卷的未使用容量,則轉(zhuǎn)換模塊320可以回復(fù)主機(jī)105有五十千兆字節(jié)(50GB)可用,盡管目標(biāo)卷可能有兩百千兆字節(jié)(200GB)卷大小,其中有一百五十千兆字節(jié)(150GB)的可用存儲(chǔ)。
轉(zhuǎn)換模塊320與存儲(chǔ)設(shè)備145之間的通信是基于目標(biāo)卷物理屬性的通信610。在預(yù)示的實(shí)例中,主機(jī)105可以使用基于四十八千字節(jié)(48KB)磁道大小的通信來向轉(zhuǎn)換模塊傳送數(shù)據(jù)。轉(zhuǎn)換模塊320可以使用基于五十六千字節(jié)(56KB)磁道大小的基于目標(biāo)卷物理屬性的通信610來將數(shù)據(jù)傳送到存儲(chǔ)設(shè)備。
此外,存儲(chǔ)設(shè)備145可以將格式為五十六千字節(jié)(56KB)磁道大小的數(shù)據(jù)傳送到轉(zhuǎn)換模塊320。轉(zhuǎn)換模塊320可以將格式為四十八千字節(jié)(48KB)磁道大小的數(shù)據(jù)傳送到主機(jī)105。因此,主機(jī)105可以使用包含在存儲(chǔ)設(shè)備145中的目標(biāo)卷,好像所述目標(biāo)卷具有所述主卷物理屬性一樣。
圖7是示出了本發(fā)明的虛擬數(shù)據(jù)卷700的一個(gè)實(shí)施例的示意性方塊圖。將圖2的可用卷200示為虛擬卷700。圖7的說明引用了圖1-6的元素,相同的標(biāo)號(hào)表示相同的元素。
繼續(xù)圖2的預(yù)示實(shí)例,呈現(xiàn)模塊315可以向主機(jī)105呈現(xiàn)520每個(gè)可用卷210具有主卷205的卷大小的主卷物理屬性。因此,主機(jī)105可以將任何可用卷210用作目標(biāo)卷。例如,主機(jī)105可以將第三可用卷210c用作目標(biāo)卷,盡管第三可用卷210c的卷大小大于主卷205的卷大小。因此,存儲(chǔ)子系統(tǒng)130可以使用具有多個(gè)物理屬性的物理卷。
本發(fā)明的實(shí)施例將主卷物理屬性作為目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)105,這允許主機(jī)105使用目標(biāo)卷,好像所述目標(biāo)卷具有所述主卷物理屬性一樣。此外,本發(fā)明的實(shí)施例在主機(jī)105要求物理上等價(jià)的目標(biāo)卷的情況下,可以支持使用所述目標(biāo)卷來進(jìn)行主卷205的即時(shí)復(fù)制。
可以以其他特定形式實(shí)現(xiàn)本發(fā)明而不偏離本發(fā)明的精神和本質(zhì)特性。所述實(shí)施例在所有方面都只是被視為示例性的而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求而非上述說明來指示。所有在權(quán)利要求的等效含義和范圍之內(nèi)的更改都旨在被包含在權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種呈現(xiàn)虛擬卷的裝置,所述裝置包括屬性模塊,配置為確定主卷物理屬性;以及呈現(xiàn)模塊,配置為將所述主卷物理屬性作為目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)。
2.如權(quán)利要求1中所述的裝置,還包括轉(zhuǎn)換模塊,該模塊配置為轉(zhuǎn)換所述主機(jī)與所述目標(biāo)卷之間的通信,以便去往和來自所述主機(jī)的通信基于所述目標(biāo)卷虛擬屬性,而去往和來自所述目標(biāo)卷的通信基于目標(biāo)卷物理屬性。
3.如權(quán)利要求2中所述的裝置,其中所述轉(zhuǎn)換模塊進(jìn)一步配置為將所述目標(biāo)卷作為所述主卷呈現(xiàn)給所述主機(jī)。
4.如權(quán)利要求2中所述的裝置,還包括選擇模塊,該模塊配置為選擇所述目標(biāo)卷以響應(yīng)所述主卷物理屬性,其中所述選定的目標(biāo)卷的所述目標(biāo)卷物理屬性與所述主卷物理屬性相一致。
5.如權(quán)利要求1中所述的裝置,還包括標(biāo)識(shí)模塊,該模塊配置為將所述目標(biāo)卷標(biāo)記為已啟用虛擬卷以響應(yīng)所述目標(biāo)卷符合指定的物理屬性。
6.如權(quán)利要求1中所述的裝置,還包括復(fù)制模塊,該模塊配置為在所述目標(biāo)卷上創(chuàng)建所述主卷的即時(shí)副本。
7.如權(quán)利要求1中所述的裝置,其中所述主卷物理屬性配置為卷大小。
8.如權(quán)利要求1中所述的裝置,其中從數(shù)據(jù)塊大小、每柱面的磁道數(shù)、每磁道的扇區(qū)數(shù)以及邏輯屬性來選擇所述主卷物理屬性。
9.一種呈現(xiàn)虛擬卷的系統(tǒng),所述系統(tǒng)包括主卷,配置為存儲(chǔ)數(shù)據(jù)并且包括物理屬性;目標(biāo)卷,配置為存儲(chǔ)數(shù)據(jù);存儲(chǔ)控制器,配置為管理所述主卷和所述目標(biāo)卷并且包括屬性模塊,配置為確定所述主卷物理屬性;選擇模塊,配置為從多個(gè)可用卷選擇所述目標(biāo)卷以響應(yīng)所述主卷物理屬性,其中所述選定的目標(biāo)卷的目標(biāo)卷物理屬性與所述主卷物理屬性相一致;呈現(xiàn)模塊,配置為將所述主卷物理屬性作為所述選定的目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī);以及轉(zhuǎn)換模塊,配置為轉(zhuǎn)換所述主機(jī)與所述選定的目標(biāo)卷之間的通信,以便去往和來自所述主機(jī)的通信基于所述目標(biāo)卷虛擬屬性,而去往和來自所述選定的目標(biāo)卷的通信基于目標(biāo)卷物理屬性。
10.如權(quán)利要求9中所述的系統(tǒng),其中所述存儲(chǔ)控制器進(jìn)一步包括復(fù)制模塊,該模塊配置為在所述目標(biāo)卷上創(chuàng)建所述主卷的即時(shí)副本。
11.如權(quán)利要求9中所述的系統(tǒng),其中所述轉(zhuǎn)換模塊進(jìn)一步配置為將所述目標(biāo)卷作為所述主卷呈現(xiàn)給所述主機(jī)。
12.如權(quán)利要求9中所述的系統(tǒng),其中所述存儲(chǔ)控制器進(jìn)一步包括標(biāo)識(shí)模塊,該模塊配置為將所述目標(biāo)卷標(biāo)記為已啟用虛擬卷,以響應(yīng)所述目標(biāo)卷符合從卷大小、數(shù)據(jù)塊大小、每柱面的磁道數(shù)、每磁道的扇區(qū)數(shù)以及邏輯屬性中選擇的屬性。
13.一種部署計(jì)算機(jī)基礎(chǔ)設(shè)施的方法,包括將計(jì)算機(jī)可讀代碼集成到計(jì)算系統(tǒng)中,其中所述代碼結(jié)合所述計(jì)算系統(tǒng)能夠執(zhí)行以下操作確定從卷大小、數(shù)據(jù)塊大小、每柱面的磁道數(shù)以及每磁道的扇區(qū)數(shù)中選擇的主卷物理屬性;選擇目標(biāo)卷以響應(yīng)所述主卷物理屬性;將所述主卷物理屬性作為所述目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī);轉(zhuǎn)換所述主機(jī)與所述目標(biāo)卷之間的通信,以便去往和來自所述主機(jī)的通信基于所述目標(biāo)卷虛擬屬性,而去往和來自所述目標(biāo)卷的通信基于目標(biāo)卷物理屬性;以及在所述目標(biāo)卷上創(chuàng)建所述主卷的即時(shí)副本。
14.如權(quán)利要求13中所述的方法,其中所述方法包括將所述目標(biāo)卷作為所述主卷呈現(xiàn)給所述主機(jī)。
全文摘要
本發(fā)明公開了將存儲(chǔ)卷呈現(xiàn)為虛擬卷的裝置、系統(tǒng)和方法。屬性模塊確定主卷的主卷物理屬性。呈現(xiàn)模塊將所述主卷物理屬性作為目標(biāo)卷的目標(biāo)卷虛擬屬性呈現(xiàn)給主機(jī)。轉(zhuǎn)換模塊轉(zhuǎn)換主機(jī)與所述目標(biāo)卷之間的通信。在一個(gè)實(shí)施例中,復(fù)制模塊在所述目標(biāo)卷上創(chuàng)建所述主卷的即時(shí)副本。
文檔編號(hào)G06F12/08GK101079007SQ20071010380
公開日2007年11月28日 申請(qǐng)日期2007年5月15日 優(yōu)先權(quán)日2006年5月23日
發(fā)明者R·A·庫博, R·A·利普博格, M·J·卡洛斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司