專利名稱:用于管理數(shù)據(jù)存儲的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品以及虛擬化引擎的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,并且特別涉及存儲管理和數(shù)據(jù)遷移。
技術(shù)背景企業(yè)面臨主要的存儲挑戰(zhàn)是由于其存儲需求的快速M、存儲管理的日益復(fù)雜性,以及對存儲器的高可用性的需求。存儲區(qū)域網(wǎng)(SAN)技術(shù) 使得能夠通過合并(pooling)存儲而將存儲系統(tǒng)與主計算機(jī)分開設(shè)計,從 而改進(jìn)了效率。還可以使用存儲虛擬化,其是使物理存儲復(fù)雜性對用戶屏蔽的一種存 儲管理技術(shù)。塊虛擬化(blockvisualization)(有時也稱為塊聚合(block aggregation))為服務(wù)器提供了在其上實際存儲數(shù)據(jù)的物理存儲器(例如 磁盤驅(qū)動、固態(tài)盤和磁帶驅(qū)動)的邏輯視圖。邏輯視圖可以包括多個虛擬 存儲區(qū)域,在不考慮實際存儲器的物理布局的情況下,將可用存儲空間劃 分(或聚合)成該多個虛擬存儲區(qū)域。服務(wù)器不再看到具體的物理目標(biāo), 而是看到其可以專用的邏輯巻。服務(wù)器將其數(shù)據(jù)發(fā)送到虛擬存儲區(qū)域,就 好像這些虛擬存儲區(qū)域是其直接附屬的所有物。虛擬化可以在巻的級別上、各個文件的級別上或者表示磁盤驅(qū)動內(nèi)特 定位置的塊的級別上發(fā)生??梢栽谥鳈C(jī)(服務(wù)器)、存儲網(wǎng)絡(luò)(存儲路由 器、存儲控制器)和/或存#^殳備(智能盤陣列)中進(jìn)行塊聚合。在數(shù)據(jù)存儲系統(tǒng)中,數(shù)據(jù)流通(data currency )問M普遍問題。很 可能新數(shù)據(jù)會在其創(chuàng)建的最初幾天或幾周內(nèi)被定期訪問,并且隨著時間的 流逝該數(shù)據(jù)將逐漸被訪問得越來越少。舉例來說,設(shè)想這樣的存儲體 (bank),即在其中存儲了有關(guān)股份交易的數(shù)據(jù)。很可能會在最近幾天內(nèi) 所發(fā)生的股份交易上進(jìn)行分析以發(fā)現(xiàn)趨勢。 一星期之后,由于市場會有所改變,該數(shù)據(jù)便不太重要了。幾星期之后,該數(shù)據(jù)將不再相關(guān)。存儲數(shù)據(jù) 本身,以便可以由進(jìn)行分析的服務(wù)器(通常是高性能服務(wù)器和快速可靠的 存儲器)對其進(jìn)行訪問,并且可以將其作為記錄存儲在數(shù)據(jù)庫中。 一旦數(shù) 據(jù)已變得不太有用時,便不再需要將其存儲在快速(昂貴)的存儲器中, 但其卻可能仍然需要偶爾被訪問。因此,系統(tǒng)管理員會需要手動地將數(shù)據(jù) 從數(shù)據(jù)庫中移到另一數(shù)據(jù)庫中,或者移到較便宜的存儲介質(zhì)上。最終,可 以將數(shù)據(jù)移到磁帶存儲器上用于長期*。在美國專利US 6, 032, 224中已經(jīng)提出了 一種在計算機(jī)中分級存儲數(shù) 據(jù)的方法。該計算機(jī)包括解釋器和分級性能驅(qū)動器,該分級性能驅(qū)動器監(jiān) 控對存儲在計算機(jī)的存儲設(shè)備上的數(shù)據(jù)塊的訪問率,并且將不常被訪問的 數(shù)據(jù)塊從較快速的數(shù)據(jù)存儲設(shè)備轉(zhuǎn)移到較慢速的數(shù)據(jù)存儲設(shè)備。由于在主機(jī)級上進(jìn)行存儲管理,因此當(dāng)可以使用不同操作系統(tǒng)的兩個 或更多的不同主機(jī)共享相同的存儲設(shè)備時就會有問題。會要求額外的數(shù)據(jù) 聚集系統(tǒng)(extra data gathering system )查看整個系統(tǒng)的訪問統(tǒng)計,并且 如果主機(jī)使用不同的操作系統(tǒng),則該額外的數(shù)據(jù)聚集系統(tǒng)將必須兼容所有 不同的操作系統(tǒng)??蛇x地,可以將主機(jī)之一實現(xiàn)為控制器,但是然后必須 將所有其它主機(jī)的活動通知給該控制器,并且將再次出現(xiàn)不同操作系統(tǒng)的 問題。這兩種選項均導(dǎo)致使用額外的帶寬、時間和處理器能力。本發(fā)明旨在解決這些問題。發(fā)明內(nèi)容本發(fā)明的第一方面提供了一種用于在網(wǎng)絡(luò)中管理數(shù)據(jù)存儲的方法,所 述網(wǎng)絡(luò)包括耦合于存儲虛擬化引擎的多個主機(jī)數(shù)據(jù)處理器,所述存儲虛擬 化引擎耦合于多個物理存儲介質(zhì),每個物理存儲介質(zhì)均被分派了層次級別。 所述方法包括存儲與每個層次級別關(guān)聯(lián)的門F^儲訪問值,向主機(jī)數(shù)據(jù)處 理器提供至少一個虛擬盤,以及從所述主機(jī)數(shù)據(jù)處理器接收對所述虛擬盤 的I/O請求。另外,為物理存儲塊存儲元數(shù)據(jù)。所述元數(shù)據(jù)標(biāo)識物理塊到一個或多個對應(yīng)的虛擬盤塊的映射;每個物理塊的訪問值,其表示通過主機(jī)數(shù)據(jù)處 理器對所述塊的訪問率;以及所述塊的層次級別。周期性地將物理塊的訪 問值與關(guān)聯(lián)于其層次級別的門限訪問值進(jìn)行比較,并且根據(jù)所述比較的結(jié) 果,將所述塊標(biāo)記用于遷移到另一層次級別。所述存儲虛擬化引擎充當(dāng)耦合于所述主機(jī)數(shù)據(jù)處理器以及還耦合于多 個物理存儲介質(zhì)的共享存儲互連,并且使得所述主機(jī)數(shù)據(jù)處理器能夠維持 "分區(qū)(zoned)"于所述物理存儲介質(zhì)。所述物理存儲介質(zhì)對于所述主機(jī) 數(shù)據(jù)處理器不可見,所述主機(jī)數(shù)據(jù)處理器僅看見由所述虛擬化引擎所提供 的虛擬盤。從所述主機(jī)數(shù)據(jù)處理器到所述虛擬盤的I/O請求由所述虛擬化引擎根 據(jù)其映射而引導(dǎo)至對應(yīng)的物理數(shù)據(jù)塊。同時,所述虛擬化引擎維護(hù)每個物 理塊的訪問值,其根據(jù)接收到的1/0請求更新所述訪問值。所述虛擬化引擎將所述物理存儲器分割成組塊(chunk),或者"區(qū) 段(extent)"。所述引擎內(nèi)的元數(shù)據(jù)跟蹤區(qū)段到虛擬盤的映射。另外, 用元數(shù)據(jù)標(biāo)記每個區(qū)段,所述元數(shù)據(jù)表示其上駐留有所述區(qū)段的數(shù)據(jù)的物 理存儲器的層次。通常,高層次意味著所述數(shù)據(jù)經(jīng)常被使用并且需要處在 昂貴的存儲器上;以及低層次意味著所述數(shù)據(jù)已經(jīng)有些時間沒有被訪問了 , 并且適合備盼到磁帶。周期性地將物理塊的訪問值與關(guān)聯(lián)于其層次級別的門限率進(jìn)行比較, 并且根據(jù)所述比較的結(jié)果,然后可以將存儲塊標(biāo)記用于將其數(shù)據(jù)遷移到另 一層次級別的存儲介質(zhì)。該步驟可以包括由存儲管理器使用算法來確認(rèn)區(qū)段被標(biāo)記的層次。所 述訪問值標(biāo)識所述區(qū)段上的數(shù)據(jù)的最近訪問歷史。根據(jù)所述算法,所述存 儲管理器要么維持區(qū)段標(biāo)記其當(dāng)前的層次,要么標(biāo)記所述區(qū)段用于在分層 系統(tǒng)中向上或向下遷移。所述算法可以包括月良務(wù)級協(xié)定(service level agreement),其標(biāo)識門限訪問值以及任何其它的因素。通過一次設(shè)置各種 SLA屬性,所述系統(tǒng)自動將數(shù)據(jù)在層次之間移動,釋放高端存儲器中的容 量,并且最終將所述數(shù)據(jù)備份到磁帶以及完全釋放較為昂貴的高端存儲器。所述主機(jī)數(shù)據(jù)處理器可以是不同供應(yīng)商的主機(jī)數(shù)據(jù)處理器,并且可以具有不同的^Mt系統(tǒng),而且不需要主樹目互通知其i/o請求。
現(xiàn)在將參照附圖,僅通過例子的方式描述本發(fā)明的優(yōu)選實施例,在附圖中圖l示出了可以在其中實現(xiàn)本發(fā)明的存儲區(qū)域網(wǎng)的例子;圖2示出了塊虛擬化的簡單視圖;以及圖3示出了才艮據(jù)本發(fā)明的實施例的虛擬化引擎的組件。
具體實施方式
本發(fā)明提出使用虛擬化引擎來基于服務(wù)級協(xié)定進(jìn)行數(shù)據(jù)遷移,該虛擬 化引擎既知道數(shù)據(jù)又知道數(shù)據(jù)的位置。參照圖1,其中示出了附設(shè)有幾個主機(jī)應(yīng)用服務(wù)器102的SAN 100。 這些主機(jī)應(yīng)用服務(wù)器可以是很多不同的類型,通常是一定數(shù)量的企業(yè)服務(wù) 器,以及一定數(shù)量的用戶工作站。同樣依附于SAN (通過冗余廉價盤陣列(RAID)控制器A、 B和C) 的是各級物理存儲器。在本例中,有三種級別層次1,舉例來說,其可 以是諸如IBM⑧企業(yè)存儲服務(wù)器⑧(ESS)這樣的企業(yè)級存儲器;層次2, 其可以是諸如IBM光纖陣列存儲技術(shù)TM (FAStT)這樣的中檔存儲器; 以及層次3,其可以是諸如IBMFAStT串行高級技術(shù)配件(SATA)這樣 的較低端存儲器。通常,每個Mdisk對應(yīng)于單個層次并且每個RAID陣列101屬于單個 層次。每個RAID控制器103可以控制屬于不同層次的RAID陣列。除了 將不同的層次應(yīng)用于不同的物理盤類型外,如上所述,還可以將不同的層 次應(yīng)用于不同的RAID類型;例如,可以將RAID-5陣列置于比RAID-0 陣列更高的層次中。SAN是借助于處在(sit in)所有SAN數(shù)據(jù)的數(shù)據(jù)路徑中的存儲虛擬化引擎104來虛擬化的,并且其將虛擬盤106a到106n提供給主機(jī)服務(wù)器 和工作站102。這些虛擬盤是由跨三層存儲設(shè)備所提供的容量構(gòu)成的。虛擬化引擎104包括一個或多個節(jié)點110 (示出了四個),其向主機(jī) 提供虛擬化、高速緩存和復(fù)制服務(wù)。通常,節(jié)點被成對部署并且構(gòu)成節(jié)點 群集,每對節(jié)點被稱為輸^/輸出(I/O)組。由于存儲器依附于SAN,因此將其添加到各自由RAID控制器103所 控制的不同存儲池。每個RAID控制器向虛擬化引擎提供SCSI(小型計算 機(jī)系統(tǒng)接口)盤。所提供的盤可以由虛擬化引擎來管理,并且被稱為受管 盤或MDisk。將這些MDisk分成區(qū)段(固定大小的可用容量塊),從開頭 到結(jié)尾順序為每個MDisk編號。然后,可以對這些區(qū)段進(jìn)行連接 (concatenated)、分條(striped),或者可以使用任何期望的算法來產(chǎn) 生較大的虛擬盤(VDisks),其可由節(jié)點提供給主機(jī)??梢栽谑芄鼙P組或MDGs 108中將MDisk Ml、 M2、…M9分組到一 起,通常以諸如性能、RAID級別、可靠性、供應(yīng)商等因素為特征。根據(jù) 優(yōu)選實施例,一 MDG中所有的MDisks均表示相同層次級別的存儲器, 如圖1所示。虛擬化引擎將虛擬盤的邏輯塊地址(LBAs)轉(zhuǎn)換成VDisk的區(qū)段, 并且將VDisk的區(qū)段映射到MDisk區(qū)段。在圖2中示出了從VDisk到 MDisk的映射的例子。每個VDisk A的區(qū)段均被映射到受管盤Ml、 M2 或M3之一的區(qū)段??梢愿鶕?jù)每個節(jié)點所存儲的元數(shù)據(jù)而創(chuàng)建的映射表顯 示出未使用一些受管盤區(qū)段。在創(chuàng)建新的VDisk、遷移、擴(kuò)展等時可以使 用這些未使用的區(qū)段。通常,創(chuàng)建并這樣分布虛擬盤,即企業(yè)級服務(wù)器使用企業(yè)級存儲器, 等等。然而,如文中所描述的,可以將已經(jīng)有一些時間沒有被訪問的區(qū)段 遷移到不同級別的存儲器。為實現(xiàn)該目的,除了用于跟蹤受管盤區(qū)段到虛擬盤的映射的元數(shù)據(jù)之 外,還用表示該區(qū)段上的數(shù)據(jù)所屬的存儲器的"層次"的元數(shù)據(jù)來標(biāo)記每 個區(qū)段。監(jiān)控對每個區(qū)段的訪問率并且將其與存儲遷移策略或服務(wù)級協(xié)定(SLA)進(jìn)行比較,服務(wù)級協(xié)定(SLA)指定應(yīng)當(dāng)將數(shù)據(jù)遷移到不同層次 的存儲器的條件。當(dāng)將數(shù)據(jù)讀取和寫入到任何給定的區(qū)段時,SLA用于確 認(rèn)區(qū)段被標(biāo)記的層次,并且要么維持區(qū)段標(biāo)記其當(dāng)前的層次,要么在分層 系統(tǒng)中向上或向下移動區(qū)段。存儲管理系統(tǒng)因而在層次之間自動移動數(shù)據(jù), 釋放高端存儲器中的容量,并且最終將數(shù)據(jù)備除到磁帶以及完全釋放高級 存儲器。服務(wù)級協(xié)定的屬性可以由系統(tǒng)管理員來定義?,F(xiàn)將參照圖3來描述I/0流。如圖3中所示,虛擬化引擎或節(jié)點110 包括以下才莫塊SCSI前端302、存儲虛擬化310、 SCSI后端312、存儲管 理器314和事件管理器316。SCSI前端層接收來自主機(jī)的I/O請求;實施LUN映射(即在LBA到 虛擬盤A和C的邏輯單元號(LUNs)(或區(qū)段)之間);以及將SCSI 讀和寫命令轉(zhuǎn)換成節(jié)點的內(nèi)部格式。存儲虛擬化層負(fù)責(zé)虛擬盤A和B與受管盤1、 2和3之間的映射,并且負(fù)責(zé)進(jìn)行數(shù)據(jù)遷移。SCSI后端處理由上面的虛擬化層向其發(fā)送的對受管盤的請求,并且將 命令尋址到RAID控制器。I/O堆棧還可以包括其它模塊(未示出),例如遠(yuǎn)程復(fù)制、閃速復(fù)制 以及高速緩存。圖3中所顯示的節(jié)點屬于向虛擬盤A和B分派的I/O組。這意p未著該 節(jié)點向主機(jī)提供了到虛擬盤A和B的接口。受管盤l、 2和3還可以對應(yīng)于分派給其它節(jié)點的其它虛擬盤。事件管理器316管理元數(shù)據(jù)318,其包括用于每個受管區(qū)段的映射信 息以及用于該區(qū)段的層次級別數(shù)據(jù)和訪問值。該元數(shù)據(jù)對虛擬化層310和 存儲管理器314也是可用的?,F(xiàn)在考慮從主機(jī)接收寫請求350,其包括該請求所引用的虛擬盤的ID, 以及應(yīng)當(dāng)向其進(jìn)行寫入的LBA。在收到寫請求時,前端將指定的LBA轉(zhuǎn) 換成虛擬盤的區(qū)段ID (LUN),舉例來說,其是VDisk A的區(qū)段3 (A, 3)。 虛擬化組件310使用元數(shù)據(jù)(在圖2中以映射表的形式示出)來將區(qū)段A,3映射到MDisk 2的區(qū)段6 (M2, 6)。然后通過SCSI后端312將寫請求 傳遞給用于MDisk2的相關(guān)盤控制器,并且將數(shù)據(jù)寫到區(qū)段M2, 6。虛擬 化層向事件管理器發(fā)送消息304,指示已經(jīng)請求寫到MDisk 2的區(qū)段6。 事件管理器然后更新關(guān)于區(qū)段M2, 6的元數(shù)據(jù)以指示該區(qū)段現(xiàn)在是滿的。 事件管理器還更新該區(qū)段的元數(shù)據(jù)中的訪問值。這可以通過將發(fā)生寫入的 時間存儲為訪問值,或者通過重置由存儲管理器所監(jiān)控的元數(shù)據(jù)中的計數(shù) 值,如稍后將描述的。事件管理器向虛擬化組件返回消息304以指示已經(jīng) 更新了元數(shù)據(jù)以反映寫操作。存儲管理器314監(jiān)控對物理區(qū)段的使用,并且根據(jù)其SLA來判定是否 將區(qū)段上的數(shù)據(jù)從其當(dāng)前層次遷移到另一層次。存儲管理器可以使用很多 不同的因素來確定特定區(qū)段的訪問值,例如最后訪問的日期;近來一段時 間期間訪問的次數(shù);近來訪問的類型(例如,讀或?qū)?。其4吏用元數(shù)據(jù)來 確定這些細(xì)節(jié)。當(dāng)建立節(jié)點時,系統(tǒng)管理員可以建立對"近來"的分類?,F(xiàn)在將進(jìn)一步詳細(xì)描述根據(jù)優(yōu)選實施例通過存儲管理器來遷移數(shù)據(jù)。 根據(jù)其SLA,存儲管理器314以規(guī)則間隔掃描元數(shù)據(jù)318,例如每隔一天, 以便檢查每個區(qū)段的層次級別處于該SLA內(nèi)。該檢查可以包括查閱與每個受管區(qū)段關(guān)聯(lián)的元數(shù)據(jù)中的計數(shù)值。該計 數(shù)值可以指示自從最后訪問該區(qū)段以來所發(fā)生的檢查掃描數(shù)。在該例中, 事件管理器被配置成當(dāng)受管區(qū)段被訪問時(例如,對讀或?qū)懖僮?重置計 數(shù)值。對每個存儲層次來說,服務(wù)級協(xié)定可以指定與計數(shù)值相比較的一個 或多個門限。例如,對于層次l區(qū)段,可以設(shè)置為五的計數(shù)值的單個"降 級(demote)"門限,以便如果用于任何區(qū)段的計數(shù)值等于或超過五,即 該層次很少被訪問,那么通過遷移到較低層次存儲區(qū)段而將該區(qū)段"降級"。 有些層次可以具有超過一個的門限,區(qū)段的計數(shù)值與該門限進(jìn)行比較,以 便確定是否應(yīng)當(dāng)將該區(qū)段上的數(shù)據(jù)上移或下移層次,或者其是否應(yīng)當(dāng)留在 其當(dāng)前的層次中。如果發(fā)現(xiàn)區(qū)段的計數(shù)值低于其層次的"晉級(promote)" 門限,則存儲管理器將標(biāo)記該區(qū)段用于"晉級",即遷移到較高層次。在對優(yōu)選實施例的修改中,區(qū)段的計數(shù)值可以指示該區(qū)段已經(jīng)被訪問的次數(shù),例如,每次訪問該區(qū)段的時候,可以增加或減少該計數(shù)值,而不 是將其重置成特定值。會相應(yīng)地修改門限訪問值。存儲管理器然后標(biāo)記區(qū)段用于遷移,并且將其名稱和當(dāng)前位置,連同 對該區(qū)段上的數(shù)據(jù)將要遷移到的層次的指示一起,添加到數(shù)據(jù)遷移隊列。該數(shù)據(jù)遷移隊列可以是被建立僅用于實現(xiàn)層次改變遷移;或者可以是通用 的數(shù)據(jù)遷移隊列;并且通常在后臺處理期間實現(xiàn)層次改變遷移。在遷移期間,暫停所有節(jié)點上的MDisk的源區(qū)段上的I/0;進(jìn)行遷移 的節(jié)點在正確層次的盤上選擇目標(biāo)區(qū)段,并且然后選擇源區(qū)段的組塊。使 用RAID控制器,該節(jié)點從源區(qū)段同步讀取數(shù)據(jù)組塊,并且將該數(shù)據(jù)組塊 寫到目標(biāo)盤上的目標(biāo)區(qū)段。 一旦已經(jīng)復(fù)制了整個組塊,便對該區(qū)段的下一 組塊重復(fù)該過程。 一旦已經(jīng)遷移了整個區(qū)段,便通知事件管理器已經(jīng)成功 移動并且更新了用于虛擬盤映射的元數(shù)據(jù)以指示不同受管盤上的數(shù)據(jù)的新 位置,例如,對應(yīng)于已經(jīng)向其移動了數(shù)據(jù)的目標(biāo)盤的M5。可以以各種方式修改服務(wù)級算法,例如,每當(dāng)發(fā)現(xiàn)區(qū)段要中斷 (breaking)用于該層次的SLA時,例如高于/低于特定門限,便向該區(qū)段 添加"中斷"計數(shù),并且僅在已經(jīng)達(dá)到例如為三的計數(shù)時,才啟動數(shù)據(jù)遷 移。當(dāng)系統(tǒng)通常正在使用數(shù)據(jù),但卻有一小段時間事情是靜止的(quiescing ) 的時候,這將停止不必要的數(shù)據(jù)遷移。該算法優(yōu)選地考慮了對系統(tǒng)的一般使用。舉例來說,如果整個系統(tǒng)已 經(jīng)靜止,則I/0率將會很低,或者為零,并且系統(tǒng)應(yīng)當(dāng)桂起對數(shù)據(jù)區(qū)段的 層次級別進(jìn)行確認(rèn)的過程。否則,會因為系統(tǒng)沒有負(fù)載而將該系統(tǒng)中的所 有數(shù)據(jù)通過存儲層次向下遷移。由用戶設(shè)置的SLA需要足夠細(xì)致(granular),以便用戶可以微調(diào)該 自動遷移。然而,其還應(yīng)當(dāng)足夠簡明(terse),以便不會不必要地通過層 次來彈回和轉(zhuǎn)發(fā)數(shù)據(jù)。優(yōu)選地,在實現(xiàn)向下遷移之前沒有數(shù)據(jù)訪問或更新 所涉及的時間周期是大約幾天,并且在進(jìn)行向上遷移之前每天發(fā)生若干訪 問。使用數(shù)據(jù)遷移隊列確保系統(tǒng)不會變得過度進(jìn)行基于層次的數(shù)據(jù)遷移而以用戶(正常的)1/0操作為代價。這還可以由用戶在全系統(tǒng)范圍 (system-wide) SLA中定制。在另一種^"改中,當(dāng)發(fā)現(xiàn)區(qū)段落在用于其層次的SLA所要求的使用范 圍之外時,遷移該區(qū)段所映射到的整個VDisk的數(shù)據(jù),而不是僅僅遷移該 區(qū)段上的數(shù)據(jù)。這會使得VDisk的所有區(qū)段能夠一起移動到不同的受管盤 組,并且將避免使區(qū)段與不同的MDGs相關(guān)聯(lián)。可選地,當(dāng)發(fā)現(xiàn)其一定數(shù) 量或百分比的區(qū)段具有處在用于其層次的SLA之外的訪問率時,可以選擇 整個VDisk用于遷移。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)清楚,本發(fā)明的方法可以適當(dāng)?shù)伢w現(xiàn)于包括用 于實現(xiàn)該方法的步驟的邏輯裝置的邏輯設(shè)備中,并且這樣的邏輯裝置可以 包^^硬件組件或固件組件。在可實現(xiàn)所描述的本發(fā)明的實施例的范圍之內(nèi),至少部分地,使用軟 件控制的可編程處理設(shè)備,例如,微處理器、數(shù)字信號處理器或其它處理 設(shè)備、數(shù)字處理裝置或系統(tǒng),應(yīng)當(dāng)理解,可以將用于配置可編程設(shè)備、裝 置或系統(tǒng)以實現(xiàn)前述方法的計算機(jī)程序設(shè)想為本發(fā)明的一方面。該計算機(jī) 程序可以體現(xiàn)為用于在處理設(shè)備、裝置或系統(tǒng)上實現(xiàn)的源代碼或經(jīng)受的編 譯,或者可以體現(xiàn)為例如目標(biāo)代碼。適當(dāng)?shù)兀撚嬎悴艓壮绦虼鎯υ跈C(jī)器或設(shè)備可讀形式的載體介質(zhì)上,例 如,固態(tài)存儲器、諸如磁盤或磁帶的磁存儲器、諸如光盤(CD)或數(shù)字通 用光盤(DVD)等的光或磁-光可讀存儲器,并且處理i殳備利用該程序或 其部分來配置其:^作??梢詮捏w現(xiàn)于諸如電子信號、射頻載波或光載波這 樣的通信介質(zhì)中的遠(yuǎn)程源提供該計算機(jī)程序。也將這樣的載體介質(zhì)設(shè)想為 本發(fā)明的方面。本領(lǐng)域的技術(shù)人員可以理解,盡管已經(jīng)關(guān)于前面的例子實施例描述了 本發(fā)明,然而本發(fā)明并不限于此,并且還可以有落入本發(fā)明的范圍之內(nèi)的 很多可能的變化和修改。本公開的范圍包括文中所公開的任何新穎的特征或特征的組合。申請 人因此提醒,在該申請或由其引發(fā)的任何這樣的進(jìn)一步的申請的執(zhí)行期間,可以將新的權(quán)利要求表示成這樣的特征或特征的組合。特別地,參照所附 權(quán)利要求,可以將從屬權(quán)利要求的特征與獨立權(quán)利要求的特征進(jìn)行組合, 并且可以以適當(dāng)?shù)姆绞綄Ω鱾€獨立權(quán)利要求的特征進(jìn)行組合,而不是僅僅 以權(quán)利要求中所列舉的具體組合方式來進(jìn)行組合。為了避免疑問,如貫穿本說明書和權(quán)利要求書所使用的術(shù)語"包括" 并不被解釋為意味著"僅由......組成"。
權(quán)利要求
1.一種用于在網(wǎng)絡(luò)中管理數(shù)據(jù)存儲的方法,所述網(wǎng)絡(luò)包括耦合于存儲虛擬化引擎的多個主機(jī)數(shù)據(jù)處理器,所述存儲虛擬化引擎耦合于多個物理存儲介質(zhì),每個物理存儲介質(zhì)均被分派了層次級別,所述方法包括存儲與每個層次級別關(guān)聯(lián)的門限存儲訪問值;向主機(jī)數(shù)據(jù)處理器提供至少一個虛擬盤;從所述主機(jī)數(shù)據(jù)處理器接收對所述虛擬盤的I/O請求;存儲用于物理存儲塊的元數(shù)據(jù),所述元數(shù)據(jù)標(biāo)識物理塊到一個或多個對應(yīng)的虛擬盤塊的映射;每個物理塊的訪問值,其表示通過主機(jī)數(shù)據(jù)處理器對所述塊的訪問率;以及所述塊的層次級別;以及周期性地將物理塊的訪問值與關(guān)聯(lián)于其層次級別的門限訪問值進(jìn)行比較,并且根據(jù)所述比較的結(jié)果,將所述塊標(biāo)記用于遷移到另一層次級別。
2. 根據(jù)權(quán)利要求1的方法,其進(jìn)一步包括接收尋址于虛擬盤塊的I/O 請求,并且確定對應(yīng)的物理存儲塊。
3. 根據(jù)權(quán)利要求2的方法,其進(jìn)一步包括更新與被確定對應(yīng)于1/0 請求中所尋址的虛擬盤塊的物理存儲塊相關(guān)聯(lián)的訪問值。
4. 根據(jù)任何一項前述權(quán)利要求的方法,其中,物理塊的所述訪問值包 括檢查掃描計數(shù),并且所述周期性地比較所述訪問值的步驟包括更新所述 檢查掃描計數(shù)。
5. 根據(jù)權(quán)利要求4的方法,其包括響應(yīng)于收到尋址于對應(yīng)的虛擬盤 塊的i/o請求,重置物理塊的所述檢查掃描計數(shù)。
6. 根據(jù)任何一項前^利要求的方法,其進(jìn)一步包括根據(jù)所述比較 的結(jié)果,將中斷計數(shù)值存儲在用于物理塊的元數(shù)據(jù)中。
7. 根據(jù)權(quán)利要求6的方法,其進(jìn)一步包括存儲中斷計數(shù)值門限;將 物理塊的所述中斷計數(shù)值與所述門限中斷計數(shù)值進(jìn)行比較;以及如果所述 中斷計數(shù)值超過了所述中斷計數(shù)門限,則將所述塊標(biāo)記用于遷移。
8. 根據(jù)任何一項前述權(quán)利要求的方法,其進(jìn)一步包括將所述物理存 儲器作為具有一個或多個受管盤的塊提供給所述虛擬化引擎,并且所述提 供虛擬盤的步驟包括虛擬化來自所述受管盤的存儲數(shù)據(jù)。
9. 一種用于在網(wǎng)絡(luò)中使用的虛擬化引擎,所述網(wǎng)絡(luò)包括可操作以便與 所述虛擬化引擎通信的多個主機(jī)數(shù)據(jù)處理器;所述虛擬化引擎可操作以便與多個物理存儲介質(zhì)通信,每個物理存儲介質(zhì)均被分派了層次級別;以及向主才幾數(shù)據(jù)處理器提供至少一個虛擬盤,以及從所述主機(jī)數(shù)據(jù)處理器 接收對所述虛擬盤的I/O請求;并且所述虛擬化引擎包括 標(biāo)識了與每個層次級別關(guān)聯(lián)的門PIM^儲訪問值的數(shù)據(jù); 用于物理存儲塊的元數(shù)據(jù),其標(biāo)識 物理存儲塊到對應(yīng)的虛擬盤塊之間的映射;每個物理塊的訪問值,其表示通過主機(jī)數(shù)據(jù)處理器對所述塊的訪問率; 以及所述塊的層次級別;存儲管理器,其用于周期性地將物理塊的訪問值與關(guān)聯(lián)于其層次級別 的門限訪問值進(jìn)行比較,并且根據(jù)所述比較的結(jié)果,將所述塊標(biāo)記用于遷 移到另一層次級別。
10. 根據(jù)權(quán)利要求9的虛擬化引擎,其可操作以便接收尋址于虛擬盤 塊的i/o請求,以及確定對應(yīng)的物理存儲塊。
11. 根據(jù)權(quán)利要求10的虛擬化引擎,其進(jìn)一步包括事件管理器,所 述事件管理器用于更新與被確定對應(yīng)于I/O請求中所尋址的虛擬盤塊的物 理存儲塊相關(guān)聯(lián)的訪問值。
12. 根據(jù)權(quán)利要求9、 10或11的虛擬化引擎,其中物理塊的所述訪 問值包括檢查掃描計數(shù),每當(dāng)進(jìn)行周期性比較的時候,所述存儲管理器可 操作以便更新所述檢查掃描計數(shù)。
13. 根據(jù)權(quán)利要求12的虛擬化引擎,其中所述元數(shù)據(jù)包括事件管理 器,響應(yīng)于收到尋址于對應(yīng)的虛擬盤塊的1/0請求,所述事件管理器可操 作以^更重置物理塊的所述檢查掃描計數(shù)。
14. 根據(jù)權(quán)利要求9至13中任何一項的虛擬化引擎,其根據(jù)所述周
15. 根據(jù)權(quán)利要求14的虛擬化引擎,其包括標(biāo)識了中斷計數(shù)值門限 的數(shù)據(jù);并且其可操作以便將物理塊的所述中斷計數(shù)值與所述門限中斷計 數(shù)值進(jìn)行比較,以及如果所述中斷計數(shù)值超過了所述中斷計數(shù)門限,則將 所述塊標(biāo)記用于遷移。
16. 根據(jù)權(quán)利要求9至15中任何一項的虛擬化引擎,其耦合于作為 具有一個或多個受管盤的塊而被提供給所述虛擬化引擎的物理存儲介質(zhì), 所述虛擬化引擎可操作以便將來自所述受管盤的存儲數(shù)據(jù)虛擬化到虛擬盤 中,用于提供給所述主機(jī)數(shù)據(jù)處理器。
17. —種用于管理數(shù)據(jù)存儲的系統(tǒng),所述系統(tǒng)包括耦合于根據(jù)權(quán)利要 求9至16中任何一項的存儲虛擬化引擎的多個主機(jī)數(shù)據(jù)處理器,所述存儲 虛擬化引擎耦合于多個物理存儲介質(zhì),每個物理存儲介質(zhì)均被分派了層次 級別。
18. 根據(jù)權(quán)利要求17的系統(tǒng),其進(jìn)一步包括一個或多個存儲控制器, 所述一個或多個存儲控制器將存儲在所述物理存儲介質(zhì)上的數(shù)據(jù)作為多個 受管盤提供給所述虛擬化引擎。
19. 一種計算機(jī)程序元件,其包括可操作以便實現(xiàn)權(quán)利要求1至8中 任何一項的方法的程序代碼。
20. 載體介質(zhì)上根據(jù)權(quán)利要求19的程序元件。
21. —種實質(zhì)上如文中參照附圖所描述的用于管理數(shù)據(jù)存儲的虛擬 化引擎。
22. —種實質(zhì)上如文中參照附圖所描述的用于管理數(shù)據(jù)存儲的方法 或系統(tǒng)。
全文摘要
本發(fā)明提供了一種用于在存儲區(qū)域網(wǎng)中使用的存儲管理方法。所述存儲區(qū)域網(wǎng)包括耦合于存儲虛擬化引擎的多個主機(jī)數(shù)據(jù)處理器,該存儲虛擬化引擎耦合于多個物理存儲介質(zhì)。每個物理存儲介質(zhì)均被分派了層次級別。該方法包括提供存儲管理策略,其標(biāo)識與每個層次級別關(guān)聯(lián)的門限存儲訪問率;將物理存儲塊映射到對應(yīng)的虛擬盤塊;以及存儲關(guān)聯(lián)于塊的元數(shù)據(jù),該元數(shù)據(jù)標(biāo)識了該塊所對應(yīng)的物理存儲器的層次級別、在該塊與虛擬盤塊之間的映射,以及指示對數(shù)據(jù)的訪問率的訪問率。周期性地將訪問值與關(guān)聯(lián)于其層次級別的至少一個門限率進(jìn)行比較。根據(jù)比較的結(jié)果,然后可以將存儲塊標(biāo)記用于遷移到另一層次級別的物理存儲介質(zhì)。
文檔編號G06F3/06GK101223498SQ200680025626
公開日2008年7月16日 申請日期2006年7月11日 優(yōu)先權(quán)日2005年7月15日
發(fā)明者B·D·懷特, D·J·卡爾 申請人:國際商業(yè)機(jī)器公司