專利名稱::虛擬磁盤驅(qū)動(dòng)系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及磁盤驅(qū)動(dòng)器系統(tǒng)和方法,尤其設(shè)計(jì)具有諸如動(dòng)態(tài)數(shù)據(jù)分配和磁盤驅(qū)動(dòng)器虛擬化等能力的磁盤驅(qū)動(dòng)器系統(tǒng)。
背景技術(shù):
:現(xiàn)有的磁盤驅(qū)動(dòng)器系統(tǒng)是以這樣的一種方式來設(shè)計(jì)的使得虛擬巻數(shù)據(jù)存儲(chǔ)空間與具有特定大小和位置的物理磁盤靜態(tài)地相關(guān)聯(lián)以供存儲(chǔ)數(shù)據(jù)。這些磁盤驅(qū)動(dòng)器系統(tǒng)需要了解和監(jiān)視/控制數(shù)據(jù)存儲(chǔ)空間的虛擬巻的精確位置和大小以便存儲(chǔ)數(shù)據(jù)。另外,系統(tǒng)經(jīng)常需要更大的數(shù)據(jù)存儲(chǔ)空間,以便添加更多的RAID設(shè)備。然而,通常這些附加的RAID設(shè)備是昂貴的,且在實(shí)際需要額外的數(shù)據(jù)存儲(chǔ)空間之前并不是所需的。圖14A示出了包含與具有特定大小和位置的物理磁盤相關(guān)聯(lián)的虛擬巻數(shù)據(jù)存儲(chǔ)空間以供存儲(chǔ)、讀/寫和/或恢復(fù)數(shù)據(jù)的現(xiàn)有磁盤驅(qū)動(dòng)器系統(tǒng)。磁盤驅(qū)動(dòng)器系統(tǒng)基于數(shù)據(jù)存儲(chǔ)空間的虛擬巻的特定位置和大小來靜態(tài)地分配數(shù)據(jù)。結(jié)果是,將不使用清空的數(shù)據(jù)存儲(chǔ)空間,而預(yù)先獲取額外的、有時(shí)是昂貴的數(shù)據(jù)存儲(chǔ)設(shè)備,例如RAID設(shè)備以供存儲(chǔ)、讀/寫和/或恢復(fù)系統(tǒng)中的數(shù)據(jù)。稍后,才需要和/或使用這些額外的數(shù)據(jù)存儲(chǔ)空間。從而,存在對(duì)改進(jìn)的磁盤驅(qū)動(dòng)系統(tǒng)和方法的需求。還存在對(duì)有效的、動(dòng)態(tài)數(shù)據(jù)分配和磁盤驅(qū)動(dòng)器空間和時(shí)間管理系統(tǒng)和方法的需求。
發(fā)明內(nèi)容本發(fā)明提供能夠動(dòng)態(tài)分配數(shù)據(jù)的改進(jìn)的磁盤驅(qū)動(dòng)器系統(tǒng)和方法。該磁盤驅(qū)動(dòng)4器系統(tǒng)可包括含有磁盤存儲(chǔ)塊的矩陣的RAID子系統(tǒng)以及含有至少一個(gè)磁盤存儲(chǔ)系統(tǒng)控制器的磁盤管理器。RAID子系統(tǒng)和磁盤管理器基于RAID—磁盤映射跨磁盤存儲(chǔ)塊的矩陣和多個(gè)磁盤驅(qū)動(dòng)器來動(dòng)態(tài)地分配數(shù)據(jù)。RAID子系統(tǒng)和磁盤管理器確定是否需要另外的磁盤驅(qū)動(dòng)器,且如果需要另外的磁盤驅(qū)動(dòng)器則發(fā)送通知。動(dòng)態(tài)數(shù)據(jù)分配允許用戶在稍后當(dāng)需要時(shí)獲取磁盤驅(qū)動(dòng)器。動(dòng)態(tài)數(shù)據(jù)分配也允許對(duì)磁盤存儲(chǔ)塊的虛擬巻矩陣或池的快照/時(shí)間點(diǎn)副本的有效數(shù)據(jù)存儲(chǔ),用于數(shù)據(jù)備份、恢復(fù)等的即時(shí)數(shù)據(jù)重放和數(shù)據(jù)即時(shí)融合,遠(yuǎn)程數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)分級(jí)管理(dataprogression)等。由于將在稍后購買更便宜的磁盤驅(qū)動(dòng)器,因此數(shù)據(jù)分級(jí)管理也允許推遲購買更便宜的磁盤驅(qū)動(dòng)器。在--個(gè)實(shí)施例中,提供虛擬巻或磁盤存儲(chǔ)塊的矩陣或池與物理磁盤相關(guān)聯(lián)。虛擬巻或磁盤存儲(chǔ)塊的矩陣或池是由多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器動(dòng)態(tài)地監(jiān)視/控制的。在一個(gè)實(shí)施例中,每一虛擬巻的大小可以是默認(rèn)的或可由用戶預(yù)定義,而每一虛擬巻的位置默認(rèn)為空。在分配數(shù)據(jù)之前,虛擬巻為空??稍诰仃嚮虺氐娜魏尉W(wǎng)格中分配數(shù)據(jù)(例如,一旦在網(wǎng)格中分配數(shù)據(jù),即為該網(wǎng)格中的一個(gè)"點(diǎn)")。一旦刪除該數(shù)據(jù),該虛擬巻再次可用,指示為"空"。因此,可在需求的基礎(chǔ)上在稍后獲取額外的數(shù)據(jù)存儲(chǔ)空間以及有時(shí)是昂貴的磁盤存儲(chǔ)設(shè)備,例如RAID設(shè)備。在一個(gè)實(shí)施例中,磁盤管理器可管理多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器,多個(gè)冗余磁盤存儲(chǔ)系統(tǒng)控制器可被實(shí)現(xiàn)來覆蓋被操作的磁盤存儲(chǔ)系統(tǒng)控制器上的故障。在--個(gè)實(shí)施例中,RAID子系統(tǒng)包括各RAID類型中至少一個(gè)的組合,RAID類型諸如RAID-0、RAID-1、RAID-5和RAID-IO。可以理解,可在替換的RAID子系統(tǒng)中使用其它RAID類型,諸如RAID-3、RAID-4、RAID-6和RAID-7等。本發(fā)明也提供動(dòng)態(tài)數(shù)據(jù)分配方法,它包括以下步驟.,提供邏輯塊或磁盤存儲(chǔ)塊的默認(rèn)大小,使得RAID子系統(tǒng)的磁盤空間形成磁盤存儲(chǔ)塊的矩陣;在該磁盤存儲(chǔ)塊的矩陣中寫數(shù)據(jù)和分配數(shù)據(jù);基于RAID子系統(tǒng)的磁盤空間的歷史占用率確定RAID子系統(tǒng)的磁盤空間的占用率;確定是否需要額外的磁盤驅(qū)動(dòng)器;且如果需要額外的磁盤驅(qū)動(dòng)器則向RAID子系統(tǒng)發(fā)送通知。在一個(gè)實(shí)施例中,通知是通過電子郵件發(fā)送的。本發(fā)明的磁盤驅(qū)動(dòng)器系統(tǒng)的優(yōu)點(diǎn)之一是,RAID子系統(tǒng)能夠跨虛擬數(shù)量的磁盤使用RAID技術(shù)。其余的存儲(chǔ)空間可供自由使用。通過監(jiān)視存儲(chǔ)空間和確定RAID子系統(tǒng)的存儲(chǔ)空間的占用率,用戶不必獲取昂貴但購買時(shí)無用的大量驅(qū)動(dòng)器。因此,當(dāng)實(shí)際需要驅(qū)動(dòng)器時(shí)添加驅(qū)動(dòng)器以滿足存儲(chǔ)空間的漸增需求將顯著地減少磁盤驅(qū)動(dòng)器的總成本。同時(shí),基本上改進(jìn)了對(duì)磁盤使用的效率。本發(fā)明的另一優(yōu)點(diǎn)是,該磁盤存儲(chǔ)系統(tǒng)控制器對(duì)任何計(jì)算機(jī)文件系統(tǒng)是通用的,而不僅用于特定計(jì)算機(jī)文件系統(tǒng)。本發(fā)明也提供數(shù)據(jù)即時(shí)重放的方法。在一個(gè)實(shí)施例中,數(shù)據(jù)即時(shí)重放方法包括以下步驟提供邏輯塊或磁盤存儲(chǔ)塊的默認(rèn)大小,使得RAID子系統(tǒng)的磁盤空間形成存儲(chǔ)頁池或磁盤存儲(chǔ)塊的矩陣;以預(yù)定的時(shí)間間隔自動(dòng)生成存儲(chǔ)頁池的巻的快照或磁盤存儲(chǔ)塊的矩陣的快照;以及存儲(chǔ)存儲(chǔ)頁池或磁盤存儲(chǔ)塊的矩陣的快照或增量的地址索引,使得磁盤存儲(chǔ)塊矩陣的快照或增量可通過所存儲(chǔ)的地址索引來即時(shí)定位。數(shù)據(jù)即時(shí)重放方法以用戶定義的時(shí)間間隔、用戶配置的動(dòng)態(tài)時(shí)戳(例如,每隔幾分鐘或幾小時(shí)等)或由服務(wù)器指示的時(shí)間自動(dòng)生成RAID子系統(tǒng)的快照。萬一出現(xiàn)系統(tǒng)故障或病毒攻擊,這些加時(shí)戳的虛擬快照允許大約數(shù)分鐘或小時(shí)內(nèi)等的數(shù)據(jù)即時(shí)重放和數(shù)據(jù)即時(shí)恢復(fù)。該技術(shù)也被稱為即時(shí)重放融合,目卩,及時(shí)地融合崩潰或攻擊前不久的數(shù)據(jù),且可即時(shí)使用崩潰或攻擊之前所存儲(chǔ)的快照用于將來的操作。在一個(gè)實(shí)施例中,可在本地RAID子系統(tǒng)或在遠(yuǎn)程RAID子系統(tǒng)中存儲(chǔ)快照,使得如果由于例如恐怖襲擊等而發(fā)生主要系統(tǒng)崩潰時(shí),數(shù)據(jù)的完整性不受影響,且可即時(shí)恢復(fù)數(shù)據(jù)。數(shù)據(jù)即時(shí)重放方法的另一優(yōu)點(diǎn)是,快照可用于測試,而同時(shí)系統(tǒng)保持其操作。實(shí)時(shí)數(shù)據(jù)可用于實(shí)時(shí)測試。本發(fā)明也提供數(shù)據(jù)即時(shí)重放的系統(tǒng),它包括RAID子系統(tǒng)和具有至少一個(gè)磁盤存儲(chǔ)系統(tǒng)控制器的磁盤管理器。在一個(gè)實(shí)施例中,RAID子系統(tǒng)和磁盤管理器基于RAID—磁盤映射跨多個(gè)驅(qū)動(dòng)器的磁盤空間自動(dòng)分配數(shù)據(jù),其中RAID子系統(tǒng)的磁盤空間形成磁盤存儲(chǔ)塊的矩陣。磁盤存儲(chǔ)系統(tǒng)控制器以預(yù)定的時(shí)間間隔自動(dòng)生成磁盤存儲(chǔ)塊的矩陣的快照,并存儲(chǔ)磁盤存儲(chǔ)塊的矩陣的快照或增量的地址索引,使得可通過所存儲(chǔ)的地址索引即時(shí)定位磁盤存儲(chǔ)塊的矩陣的該快照或增量。在一個(gè)實(shí)施例中,磁盤存儲(chǔ)系統(tǒng)控制器從磁盤存儲(chǔ)塊的矩陣的快照中監(jiān)視數(shù)據(jù)使用的頻率,并應(yīng)用老化規(guī)則,使得較少使用或訪問的數(shù)據(jù)被移至較不昂貴的RAID子系統(tǒng)中。類似地,當(dāng)位于較不昂貴的RAID子系統(tǒng)中的數(shù)據(jù)要被更頻繁地使用時(shí),控制器將該數(shù)據(jù)移動(dòng)至較昂貴的RAID子系統(tǒng)中。從而,用戶能夠選擇所期望的RAID子系統(tǒng)公文包來滿足其自身的存儲(chǔ)需求。從而,磁盤驅(qū)動(dòng)器系統(tǒng)的成本可顯著地減少,并由用戶動(dòng)態(tài)控制。通過以下詳細(xì)描述,對(duì)本領(lǐng)域的技術(shù)人員而言,本發(fā)明的這些和其它特征和優(yōu)點(diǎn)將是顯而易見的,在詳細(xì)描述中示出和描述了本發(fā)明的說明性實(shí)施例,包括用于實(shí)施本發(fā)明的所構(gòu)想的最佳模式??梢哉J(rèn)識(shí)到,本發(fā)明可在各種明顯的方面中修改,但均不背離本發(fā)明的精神和范圍。從而,附圖和詳細(xì)描述將被示為本質(zhì)上是說明性而非限制性的。附閨說明圖1示出了根據(jù)本發(fā)明的原理的計(jì)算機(jī)環(huán)境中的磁盤驅(qū)動(dòng)器系統(tǒng)的一個(gè)實(shí)施例。圖2示出了根據(jù)本發(fā)明的原理,具有用于磁盤驅(qū)動(dòng)器的RAID子系統(tǒng)的存儲(chǔ)頁池的動(dòng)態(tài)數(shù)搪分配的一個(gè)實(shí)施例。圖2A示出了磁盤驅(qū)動(dòng)器系統(tǒng)的RAID子系統(tǒng)中的常規(guī)數(shù)據(jù)分配。配。圖2C示出了根據(jù)本發(fā)明的原理的動(dòng)態(tài)數(shù)據(jù)分配方法。圖3A和犯是根據(jù)本發(fā)明的原理,RAID子系統(tǒng)的磁盤存儲(chǔ)塊在多個(gè)時(shí)間間隔處的快照的示意圖。圖4是根據(jù)本發(fā)明的原理,通過使用RAID子系統(tǒng)的磁盤存儲(chǔ)塊的快照的數(shù)據(jù)即時(shí)融合功能的示意圖。圖5是根據(jù)本發(fā)明的原理,通過使用RAID子系統(tǒng)的磁盤存儲(chǔ)塊的快照的本地一遠(yuǎn)程數(shù)據(jù)復(fù)制和即時(shí)重放功能的示意圖。圖6示出了根據(jù)本發(fā)明的原理,使用同一RAID接口來執(zhí)行I/O和將多個(gè)RAID設(shè)備串接成巻的快照的示意圖。圖7示出了根據(jù)本發(fā)明的原理的快照結(jié)構(gòu)的一個(gè)實(shí)施例。圖8示出了根據(jù)本發(fā)明的原理的PITC生存周期的一個(gè)實(shí)施例。圖9示出了根據(jù)本發(fā)明的原理,具有多級(jí)索引的PITC表結(jié)構(gòu)的一個(gè)實(shí)施例。圖IO示出了根據(jù)本發(fā)明的原理的PITC表的恢復(fù)的一個(gè)實(shí)施例。圖11示出了根據(jù)本發(fā)明的原理,具有自有頁序列以及非自有頁序列的寫進(jìn)程的一個(gè)實(shí)施例。圖12示出了根據(jù)本發(fā)明的原理的示例性快照操作。圖13A示出了含有與具有特定大小和位置的物理磁盤相關(guān)聯(lián)的虛擬數(shù)據(jù)存儲(chǔ)空間以供靜態(tài)分配數(shù)據(jù)的現(xiàn)有磁盤驅(qū)動(dòng)器系統(tǒng)。圖13B示出了圖13A的現(xiàn)有磁盤驅(qū)動(dòng)器系統(tǒng)中的巻邏輯塊映射。圖14A示出了根據(jù)本發(fā)明的原理,含有磁盤塊虛擬巻矩陣以供動(dòng)態(tài)分配系統(tǒng)中的數(shù)據(jù)的磁盤驅(qū)動(dòng)器系統(tǒng)的一個(gè)實(shí)施例。圖14B示出了在如圖14A中所示的磁盤存儲(chǔ)塊虛擬巻矩陣中的動(dòng)態(tài)數(shù)據(jù)分配的一個(gè)實(shí)施例。圖14C示出了根據(jù)本發(fā)明的原理,存儲(chǔ)虛擬巻頁池的一個(gè)實(shí)施例的巻一RAID頁承:映射的示意圖。閣15示出了根據(jù)本發(fā)明的原理,映射到RAID子系統(tǒng)的多個(gè)磁盤存儲(chǔ)塊的三個(gè)磁盤驅(qū)動(dòng)器的示例。圖16示出了在向如圖15中所示的三個(gè)磁盤驅(qū)動(dòng)器添加磁盤驅(qū)動(dòng)器之后,磁盤驅(qū)動(dòng)器存儲(chǔ)塊的重映射的示例。圖17示出了根據(jù)本發(fā)明的原理的數(shù)據(jù)分級(jí)管理操作中的可訪問數(shù)據(jù)頁的一個(gè)實(shí)施例。閣18示出了根據(jù)本發(fā)明的原理的數(shù)據(jù)分級(jí)管理操作的一個(gè)實(shí)施例的流程圖。閣19示出了根據(jù)本發(fā)明的原理的壓縮頁布局的一個(gè)實(shí)施例。圖20示出了根據(jù)本發(fā)明的原理的高級(jí)磁盤驅(qū)動(dòng)器系統(tǒng)中的數(shù)據(jù)分級(jí)管理的一個(gè)實(shí)施例。圖21示出了根據(jù)本發(fā)明的原理的子系統(tǒng)中的外部數(shù)據(jù)流的一個(gè)實(shí)施例。圖22示出了子系統(tǒng)中的內(nèi)部數(shù)據(jù)流的一個(gè)實(shí)施例。圖23示出了獨(dú)立維護(hù)相干性的每一子系統(tǒng)的一個(gè)實(shí)施例。圖24示出了根據(jù)本發(fā)明的原理的混合RAID瀑布式數(shù)據(jù)分級(jí)管理的一個(gè)實(shí)施例。圖25示出了根據(jù)本發(fā)明的原理,存儲(chǔ)頁池的多個(gè)自由列表的一個(gè)實(shí)施例。圖26示出了根據(jù)本發(fā)明的原理的數(shù)據(jù)庫示例的一個(gè)實(shí)施例。圖27示出了根據(jù)本發(fā)明的原理的MRI映像示例的一個(gè)實(shí)施例。具體實(shí)施例方式本發(fā)明提供能夠動(dòng)態(tài)分配數(shù)據(jù)的改進(jìn)的磁盤驅(qū)動(dòng)器系統(tǒng)和方法。磁盤驅(qū)動(dòng)器8系統(tǒng)可包括含有維護(hù)RAID自由列表的存儲(chǔ)頁池或者磁盤存儲(chǔ)塊矩陣的RAID子系統(tǒng),以及含有至少一個(gè)磁盤存儲(chǔ)系統(tǒng)控制器的磁盤管理器。RAID子系統(tǒng)和磁盤管理器基于RAID—磁盤映射跨存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣和多個(gè)磁盤驅(qū)動(dòng)器動(dòng)態(tài)地分配數(shù)據(jù)。RAID子系統(tǒng)和磁盤管理器確定是否需要另外的磁盤驅(qū)動(dòng)器,且如果需要另外的磁盤驅(qū)動(dòng)器則發(fā)送通知。動(dòng)態(tài)數(shù)據(jù)分配允許用戶當(dāng)稍后需要磁盤驅(qū)動(dòng)器時(shí)獲取磁盤驅(qū)動(dòng)器。動(dòng)態(tài)數(shù)據(jù)分配也允許對(duì)磁盤存儲(chǔ)塊的虛擬巻矩陣或池的快照/時(shí)間點(diǎn)副本的有效數(shù)據(jù)存儲(chǔ),用于數(shù)據(jù)備份、恢復(fù)等的即時(shí)數(shù)據(jù)重放和數(shù)據(jù)即時(shí)融合,遠(yuǎn)程數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)分級(jí)管理等。由于可稍后購買較廉價(jià)磁盤驅(qū)動(dòng)器,數(shù)據(jù)分級(jí)管理也允許推遲購買較廉價(jià)的磁盤驅(qū)動(dòng)器。圖1示出了根據(jù)本發(fā)明的原理的計(jì)算機(jī)環(huán)境102中的磁盤驅(qū)動(dòng)器系統(tǒng)100的—個(gè)實(shí)施例。如圖1中所示,磁盤驅(qū)動(dòng)器系統(tǒng)100包括RAID子系統(tǒng)104和具有至少一個(gè)磁盤存儲(chǔ)系統(tǒng)控制器(圖16)的磁盤管理器106。RAID子系統(tǒng)104和磁盤管理器106基于RAID—磁盤映射跨多個(gè)磁盤驅(qū)動(dòng)器108的磁盤空間動(dòng)態(tài)分配數(shù)據(jù)。另外,RAID子系統(tǒng)104和磁盤管理器106能夠基于跨磁盤空間的數(shù)據(jù)分配來確定是否需要另外的磁盤驅(qū)動(dòng)器。如果需要另外的磁盤驅(qū)動(dòng)器,則向用戶發(fā)送通知,使得如果期望則可添加另外的磁盤空間。根據(jù)本發(fā)明的原理,在一個(gè)實(shí)施例中,在圖2中示出了具有動(dòng)態(tài)數(shù)據(jù)分配(或稱為"磁盤驅(qū)動(dòng)器虛擬化")的磁盤驅(qū)動(dòng)器系統(tǒng)IOO,在另一實(shí)施例中,在圖14A和14B中示出了該系統(tǒng)。如圖2中所示,磁盤存儲(chǔ)系統(tǒng)110包括存儲(chǔ)頁池112,即包含可自由存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)空間列表的數(shù)據(jù)存儲(chǔ)池。頁池112維護(hù)RAID設(shè)備114的自由列表,并基于用戶請(qǐng)求管理讀/寫分配。將用戶所請(qǐng)求的磁盤存儲(chǔ)巻116發(fā)送給頁池112以獲取存儲(chǔ)空間。每一巻可請(qǐng)求具有相同或不同RAID等級(jí)(例如,RAID10、RAID5、RAIDO等)的相同不同的存儲(chǔ)設(shè)備類。本發(fā)明的動(dòng)態(tài)數(shù)據(jù)分配的另一實(shí)施例在圖14A和14B中示出,其中根據(jù)本發(fā)明的原理,含有多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器1402和由該多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器提供虛擬巻或塊1404的矩陣用于與物理磁盤相關(guān)聯(lián)。虛擬巻或塊1404的矩陣是由多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器1402動(dòng)態(tài)監(jiān)視/控制的。在一個(gè)實(shí)施例中,可預(yù)定義每一虛擬巻1404的大小,例如2M字節(jié),每一虛擬巻1404的位置默認(rèn)為空。在分配數(shù)據(jù)之前,虛擬巻1404中的每一個(gè)皆為空。可在矩陣或池的任何網(wǎng)格中分配數(shù)據(jù)(例如,一旦在網(wǎng)格中分配了數(shù)據(jù),即為該網(wǎng)格中的一個(gè)"點(diǎn)")。一旦刪除數(shù)據(jù),該虛擬巻1404再次可用,指示為"空"。因此,可在需求的基礎(chǔ)上在稍后獲取額外的且有時(shí)是昂貴的磁盤存儲(chǔ)設(shè)備,例如RAID設(shè)備。從而,RAID子系統(tǒng)能夠跨虛擬數(shù)量的磁盤使用RAID技術(shù)。其余的存儲(chǔ)空間可供自由使用。通過監(jiān)視存儲(chǔ)空間和確定RAID子系統(tǒng)的存儲(chǔ)空間的占用率,用戶不必獲取昂貴但購買時(shí)無用的大量驅(qū)動(dòng)器。因此,當(dāng)實(shí)際需要驅(qū)動(dòng)器時(shí)添加驅(qū)動(dòng)器以滿足存儲(chǔ)空間的漸增的需求將顯著地減少磁盤驅(qū)動(dòng)器的總成本。同時(shí),基本上改進(jìn)了對(duì)磁盤的使用效率。同樣,本發(fā)明的磁盤驅(qū)動(dòng)器系統(tǒng)的動(dòng)態(tài)數(shù)據(jù)分配允許對(duì)存儲(chǔ)虛擬巻頁池或磁盤存儲(chǔ)塊虛擬巻矩陣的快照/時(shí)間點(diǎn)副本的有效數(shù)據(jù)存儲(chǔ)、用于數(shù)據(jù)恢復(fù)和遠(yuǎn)程數(shù)據(jù)存儲(chǔ)的即時(shí)數(shù)據(jù)重放和數(shù)據(jù)即時(shí)融合、以及數(shù)據(jù)分級(jí)管理。將在以下詳細(xì)討論由動(dòng)態(tài)數(shù)據(jù)分配系統(tǒng)和方法及其在磁盤驅(qū)動(dòng)器系統(tǒng)100中的實(shí)現(xiàn)所得的以上特征和優(yōu)點(diǎn)。動(dòng)態(tài)數(shù)據(jù)分配圖2A示出了磁盤驅(qū)動(dòng)器系統(tǒng)的RAID子系統(tǒng)中的常規(guī)數(shù)據(jù)分配,其中清空的數(shù)據(jù)存儲(chǔ)空間是被俘獲的且不能被分配以供數(shù)據(jù)存儲(chǔ)。圖2B示出了根據(jù)本發(fā)明的原理的磁盤驅(qū)動(dòng)器系統(tǒng)的RAID子系統(tǒng)中的數(shù)據(jù)分配,其中將可供數(shù)據(jù)存儲(chǔ)使用的清空的數(shù)據(jù)存儲(chǔ)混合在一起以形成頁池,例如本發(fā)明的一個(gè)實(shí)施例中的單個(gè)頁池。圖2C示出了根據(jù)本發(fā)明的原理的動(dòng)態(tài)數(shù)據(jù)分配方法200。動(dòng)態(tài)數(shù)據(jù)分配方法200包括定義邏輯塊或磁盤存儲(chǔ)塊的默認(rèn)大小使得RAID子系統(tǒng)的磁盤空間形成磁盤存儲(chǔ)塊的矩陣的步驟202;以及在其中磁盤存儲(chǔ)塊指示為"空"的該矩陣的磁盤存儲(chǔ)塊中寫數(shù)據(jù)和分配數(shù)據(jù)的步驟204。該方法還包括基于RAID子系統(tǒng)的磁盤空間的歷史占用率確定RAID子系統(tǒng)的磁盤空間的占用率的步驟206;以及確定是否'希要另外的磁盤驅(qū)動(dòng)器,且如果需要?jiǎng)t向RAID子系統(tǒng)發(fā)送通知的步驟208。在一個(gè)實(shí)施例中,通知是通過電子郵件發(fā)送的。此外,磁盤存儲(chǔ)塊的大小可設(shè)定為默認(rèn)或可由用戶改變。在一個(gè)實(shí)施例中,動(dòng)態(tài)數(shù)據(jù)分配有時(shí)也稱為"虛擬化"或"磁盤空間虛擬化",它每秒有效地處理大量的讀和寫請(qǐng)求。該體系結(jié)構(gòu)可以要求中斷處理程序直接調(diào)用高速緩存子系統(tǒng)。由于動(dòng)態(tài)數(shù)據(jù)分配不對(duì)請(qǐng)求排隊(duì),它可能不能優(yōu)化請(qǐng)求,但它可以--次擁有大量待處理請(qǐng)求。動(dòng)態(tài)數(shù)據(jù)分配也可以維護(hù)數(shù)據(jù)完整性且保護(hù)數(shù)據(jù)的內(nèi)容以防任何控制器故障。為此,動(dòng)態(tài)數(shù)據(jù)分配將狀態(tài)信息寫入RAID設(shè)備以供可靠存儲(chǔ)。動(dòng)態(tài)數(shù)據(jù)分配還可以維護(hù)讀寫請(qǐng)求的順序,并按照接收請(qǐng)求的精確順序完成讀或?qū)懻?qǐng)求。動(dòng)態(tài)數(shù)據(jù)分配允許最大系統(tǒng)可用性,且支持?jǐn)?shù)據(jù)至不同地理位置的遠(yuǎn)程復(fù)制。另外,動(dòng)態(tài)數(shù)據(jù)分配提供從數(shù)據(jù)訛誤中恢復(fù)的能力。通過快照,用戶可査看過去的磁盤狀態(tài)。動(dòng)態(tài)數(shù)據(jù)分配管理RAID設(shè)備并提供存儲(chǔ)抽象以創(chuàng)建和擴(kuò)充大型設(shè)備。動(dòng)態(tài)數(shù)據(jù)分配向服務(wù)器呈現(xiàn)虛擬磁盤設(shè)備;該設(shè)備被稱為巻。對(duì)服務(wù)器而言,巻---樣工作。它可返回對(duì)序號(hào)的不同信息,但巻基本上如同磁盤驅(qū)動(dòng)器一樣工作。巻提供對(duì)多個(gè)RAID設(shè)備的存儲(chǔ)抽象以創(chuàng)建更大的動(dòng)態(tài)巻設(shè)備。巻包括多個(gè)RAID設(shè)備,以供對(duì)磁盤空間的有效使用。圖21示出了現(xiàn)有的巻邏輯塊映射。圖14C示出了根據(jù)本發(fā)明的原理,存儲(chǔ)虛擬巻頁池的一個(gè)實(shí)施例的巻一RAID頁的重映射。每一巻被分成一組頁,例如1、2、3等,且每一RAID被分成一組頁。在一個(gè)實(shí)施例中,巻頁大小和RAID頁大小可以相同。從而,本發(fā)明的巻一RAID頁映射的一個(gè)示例是使用RAID-2的頁W被映射到RAID頁#1。動(dòng)態(tài)數(shù)據(jù)分配維護(hù)巻的數(shù)據(jù)完整性。數(shù)據(jù)被寫入巻中,并向服務(wù)器確認(rèn)。數(shù)據(jù)完整性覆蓋各種控制器配置,包括獨(dú)立和通過控制器故障的冗余??刂破鞴收习娫垂收?、電源循環(huán)、軟件異常和硬復(fù)位。動(dòng)態(tài)數(shù)據(jù)分配--般不處理由RAID覆蓋的磁盤驅(qū)動(dòng)器故障。動(dòng)態(tài)數(shù)據(jù)分配為控制器提供最高級(jí)的數(shù)據(jù)抽象。它從前端接受請(qǐng)求,并最終使用RAID設(shè)備將數(shù)據(jù)寫入磁盤。動(dòng)態(tài)數(shù)據(jù)分配包括各種內(nèi)部子系統(tǒng)髙速緩存——通過向服務(wù)器提供快速響應(yīng)時(shí)間以及將寫捆綁至數(shù)據(jù)插件來平滑對(duì)巻的讀和寫操作。配黃——包含創(chuàng)建、刪除、檢索和修改數(shù)據(jù)分配對(duì)象的方法。提供組件用于為較髙級(jí)系統(tǒng)應(yīng)用程序創(chuàng)建工具箱。數(shù)據(jù)插件——取決于巻配置,將巻讀和寫請(qǐng)求分發(fā)給各個(gè)子系統(tǒng)。RAID接口——向用戶和其它動(dòng)態(tài)數(shù)據(jù)分配子系統(tǒng)提供RAID設(shè)備抽象以創(chuàng)建更大巻。ii復(fù)制/鏡像/交換——將巻數(shù)據(jù)復(fù)制到本地和遠(yuǎn)程巻。在一個(gè)實(shí)施例中,可僅復(fù)制由服務(wù)器寫的塊??煺铡峁?shù)據(jù)的增量式巻恢復(fù)。它即時(shí)地創(chuàng)建過去巻狀態(tài)的視圖巻(ViewVolume)。代理巻——實(shí)現(xiàn)至遠(yuǎn)程目的巻的請(qǐng)求通信,用于支持遠(yuǎn)程復(fù)制。記帳——向用戶就分配的存儲(chǔ)、活動(dòng)、性能以及數(shù)據(jù)恢復(fù)索要費(fèi)用。動(dòng)態(tài)數(shù)據(jù)分配也將配置中的任何錯(cuò)誤和顯著改變記錄日志中。圖21示出了該子系統(tǒng)中的外部數(shù)據(jù)流的一個(gè)實(shí)施例。外部請(qǐng)求來自前端。請(qǐng)求包括,獲取巻信息、讀和寫。所有的請(qǐng)求都含有巻ID。巻信息是由巻配置子系統(tǒng)來處理的。讀和寫請(qǐng)求包含LBA。寫請(qǐng)求也包含數(shù)據(jù)。取決于巻配置,動(dòng)態(tài)數(shù)據(jù)分配將請(qǐng)求傳遞給多個(gè)外部層。遠(yuǎn)程復(fù)制將請(qǐng)求傳遞給前端,目的地為遠(yuǎn)程目的地巻。RAID接口將請(qǐng)求傳遞給RAID。復(fù)制/鏡像/交換將請(qǐng)求傳回給動(dòng)態(tài)數(shù)據(jù)分配至目的地巻。圖22示出了該子系統(tǒng)中的內(nèi)部數(shù)據(jù)流的一個(gè)實(shí)施例。內(nèi)部數(shù)據(jù)流以高速緩存開始。高速緩存可將寫請(qǐng)求置于髙速緩存中或?qū)⒄?qǐng)求直接傳遞給數(shù)據(jù)插件。高速緩存支持從前端HBA設(shè)備的直接DMA??煽焖偻瓿烧?qǐng)求,并將響應(yīng)返回給服務(wù)器。數(shù)據(jù)插件管理器是高速緩存下方請(qǐng)求流的中心。對(duì)每一巻,它為每一請(qǐng)求調(diào)用所注冊(cè)的子系統(tǒng)對(duì)象。影響數(shù)據(jù)完整性的動(dòng)態(tài)數(shù)據(jù)分配子系統(tǒng)可要求對(duì)控制器相干性的支持。如圖23中所示,每一子系統(tǒng)獨(dú)立維護(hù)相干性。相干性更新避免跨相干性鏈路復(fù)制數(shù)據(jù)塊。高速緩存相千性可要求將數(shù)據(jù)復(fù)制到對(duì)等控制器。磁盤存儲(chǔ)系統(tǒng)控制器圖14A示出了根據(jù)本發(fā)明的原理,含有多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器1402和由多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器1402控制的磁盤存儲(chǔ)塊或虛擬巻1404的矩陣以供動(dòng)態(tài)分配系統(tǒng)中的數(shù)據(jù)的磁盤存儲(chǔ)系統(tǒng)1400。圖l犯示出了在磁盤存儲(chǔ)塊或虛擬巻1404的虛擬巻矩陣中動(dòng)態(tài)數(shù)據(jù)分配的一個(gè)實(shí)施例。在一個(gè)操作中,磁盤存儲(chǔ)系統(tǒng)1400以預(yù)定的時(shí)間間隔自動(dòng)生成磁盤存儲(chǔ)塊或虛擬巻1404的矩陣的快照,并存儲(chǔ)磁盤存儲(chǔ)塊或虛擬巻1404的矩陣的該快照或其屮的增量的地址索引,使得磁盤存儲(chǔ)塊或虛擬巻1404的矩陣的快照或增量可通過所存儲(chǔ)的地址索引來即時(shí)定位。在另一個(gè)操作中,磁盤存儲(chǔ)系統(tǒng)控制器1402從磁盤存儲(chǔ)塊1404的矩陣的快照中監(jiān)視數(shù)據(jù)使用的頻率,并應(yīng)用老化規(guī)則,使得較少使用或訪問的數(shù)據(jù)被移至較不昂貴的RAID子系統(tǒng)中。類似地,當(dāng)位于較不昂貴的RAID子系統(tǒng)中的數(shù)據(jù)開始更頻繁使用時(shí),控制器將該數(shù)據(jù)移動(dòng)至較昂貴的RAID子系統(tǒng)中。從而,用戶能夠選擇所期望的RAID子系統(tǒng)公文包來滿足其自身的存儲(chǔ)需求。從而,磁盤驅(qū)動(dòng)系統(tǒng)的成本可顯著地減少,并由用戶動(dòng)態(tài)控制。RAID—磁盤映射RAID子系統(tǒng)和磁盤管理器基于RAID—磁盤映射跨多個(gè)磁盤驅(qū)動(dòng)器的磁盤空間來動(dòng)態(tài)分配數(shù)據(jù)。在一個(gè)實(shí)施例中,RAID子系統(tǒng)和磁盤管理器確定是否需要另外的磁盤驅(qū)動(dòng)器,且如果需要另外的磁盤驅(qū)動(dòng)器則發(fā)送通知。圖15示出了根據(jù)本發(fā)明的原理,映射到RAID-5子系統(tǒng)1500中的多個(gè)磁盤存儲(chǔ)塊1502-1512的三個(gè)磁盤驅(qū)動(dòng)108(圖1)的示例。圖16示出了當(dāng)將磁盤驅(qū)動(dòng)器1602添加到如圖15中所示的三個(gè)磁盤驅(qū)動(dòng)器108之后,磁盤驅(qū)動(dòng)存儲(chǔ)塊的重映射1600的示例。磁盤管理器如閣1中所示,磁盤管理器106—般管理磁盤和磁盤陣列,包括分組/資源合并(pooling)、磁盤屬性抽象、格式化、添加/減去磁盤、以及跟蹤磁盤服務(wù)次數(shù)和出錯(cuò)率。磁盤管理器106不區(qū)分各種磁盤模型之間的差異,且為RAID組件提供通用的存儲(chǔ)設(shè)備。磁盤管理器106也提供分組能力,該能力便于構(gòu)造具有諸如10,000RPM磁盤等特定特征的RAID分組。在本發(fā)明的一個(gè)實(shí)施例中,磁盤管理器106至少是三層的抽象、配置和I/0優(yōu)化。磁盤管理器106向較髙層呈現(xiàn)"磁盤",較高層可以是例如,本地或遠(yuǎn)程附加的物理磁盤驅(qū)動(dòng)器或遠(yuǎn)程附加的磁盤系統(tǒng)。常見的基礎(chǔ)特征是,這些設(shè)備中的任何一個(gè)可以是I/0操作的目標(biāo)。抽象服務(wù)為較高層(尤其是RAID子系統(tǒng))提供統(tǒng)一數(shù)據(jù)路徑接口,且為管理員管理目標(biāo)設(shè)備提供通用的機(jī)制。本發(fā)明的磁盤管理器106也提供分組能力以簡化管理和配置。磁盤可被命名且被覽亍組中,組也可被命名。分組是簡化諸如將巻從磁盤的一個(gè)分組遷移至另一個(gè)、將磁盤的一分組專用于特定功能、指定磁盤的分組為備用等任務(wù)的強(qiáng)大特征。磁盤管理器也與諸如負(fù)責(zé)檢測外部設(shè)備存在與否的SCSI設(shè)備子系統(tǒng)等設(shè)備接口。SCSI設(shè)備子系統(tǒng)至少對(duì)于光纖通激SCSI類型設(shè)備而言能夠確定作為塊類型目標(biāo)設(shè)備的設(shè)備的子集。正是這些設(shè)備是由磁盤管理器管理和抽象的。此外,磁盤管理器負(fù)責(zé)響應(yīng)于來自SCSI設(shè)備層的流程控制。磁盤管理器擁有排隊(duì)的能力,這提供了將i/o請(qǐng)求作為方法聚集以優(yōu)化磁盤驅(qū)動(dòng)器系統(tǒng)吞吐量的機(jī)會(huì)。而且,本發(fā)明的磁盤管理器管理多個(gè)磁盤存儲(chǔ)系統(tǒng)控制器。同樣,可實(shí)現(xiàn)多個(gè)冗余磁盤存儲(chǔ)系統(tǒng)控制器來覆蓋所操作的磁盤存儲(chǔ)系統(tǒng)控制器的故障。冗余磁盤存儲(chǔ)系統(tǒng)控制器也是由磁盤管理器管理的。磁盤管理器與其它子系統(tǒng)的關(guān)系磁盤管理器與若干其它子系統(tǒng)交互。RAID子系統(tǒng)是由磁盤管理器為數(shù)據(jù)路徑活動(dòng)提供的服務(wù)的主要客戶機(jī)。RAID子系統(tǒng)將磁盤管理器用作到用于I/O的磁盤的排他路徑。RAID系統(tǒng)也監(jiān)聽來自磁盤管理器的事件,以確定磁盤的存在和操作狀態(tài)。RAID子系統(tǒng)也與磁盤管理器一起工作來為RAID設(shè)備的構(gòu)造分配范圍。管理控制監(jiān)聽磁盤事件,以了解磁盤的存在以及了解操作狀態(tài)改變。在本發(fā)明的一個(gè)實(shí)施例中,RAID子系統(tǒng)104可包括至少一個(gè)RAID類型的組合,RAID類型諸如RAID-O、RAID-1、RAID-5和RAID-IO??梢岳斫?,可在替換的RAID子系統(tǒng)中使用其它RAID類型,諸如RAID-3、RAID-4、RAID-6和RAID-7等。在本發(fā)明的一個(gè)實(shí)施例中,磁盤管理器利用配置訪問服務(wù)來存儲(chǔ)持久配置和諸如對(duì)表示層的統(tǒng)計(jì)等當(dāng)前過渡性的只讀信息。磁盤管理器向配置訪問注冊(cè)處理程序以訪問這些參數(shù)。磁盤管理器也利用SCSI設(shè)備層的服務(wù)來了解塊設(shè)備的存在和操作狀態(tài),且含有對(duì)這些塊設(shè)備的I/O路徑。磁盤管理器向SCSI設(shè)備子系統(tǒng)査詢?cè)O(shè)備,作為唯--地標(biāo)識(shí)磁盤的支持方法。數(shù)據(jù)即時(shí)重放和數(shù)據(jù)即時(shí)融合本發(fā)明也提供數(shù)據(jù)即時(shí)重放和數(shù)據(jù)即時(shí)融合的方法。圖3A和3B示出了根據(jù)本發(fā)明的原理在多個(gè)時(shí)間間隔處對(duì)RAID子系統(tǒng)的磁盤存儲(chǔ)塊的快照的示意圖。圖3C示出了數(shù)據(jù)即時(shí)重放方法300,它包括定義邏輯塊或磁盤存儲(chǔ)塊的默認(rèn)大小使得RAID子系統(tǒng)的磁盤空間形成存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣的步驟302;以預(yù)定的時(shí)間間隔自動(dòng)生成頁池的巻的快照或磁盤存儲(chǔ)塊的矩陣的快照的步驟304;以及存儲(chǔ)存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣的快照或其中的增量的地址索引,使得磁盤存儲(chǔ)塊矩陣的快照或增量可通過所存儲(chǔ)的地址索引來即時(shí)定位。如圖3B中所示,在每一預(yù)定時(shí)間間隔處,例如,5分鐘,諸如Tl(12:00PM)、T2(12:05PM)、T3(12:10PM)和T4(12:15PM),自動(dòng)生成存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣的快照。存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣的快照或其中的增量被存儲(chǔ)在該存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣中,使得可通過所存儲(chǔ)的地址索引來即時(shí)定位存儲(chǔ)頁池或磁盤存儲(chǔ)塊矩陣的該快照或增量。從而,數(shù)據(jù)即時(shí)重放方法以用戶定義的時(shí)間間隔、用戶配置的動(dòng)態(tài)時(shí)戳(例如,每隔幾分鐘或幾小時(shí)等)或由服務(wù)器指示的時(shí)間自動(dòng)生成RAID子系統(tǒng)的快照。萬一出現(xiàn)系統(tǒng)故障或病毒攻擊,這些加時(shí)戳的虛擬快照允許大約數(shù)分鐘或小時(shí)內(nèi)等的數(shù)據(jù)的即時(shí)重放和數(shù)據(jù)的即時(shí)恢復(fù)。該技術(shù)也被稱為即時(shí)重放融合,即及時(shí)地融合崩潰或攻擊前不久的數(shù)據(jù),且可即時(shí)使用崩潰或攻擊之前所存儲(chǔ)的快照用于將來的操作。圖4還示出了根據(jù)本發(fā)明的原理,通過使用RAID子系統(tǒng)的磁盤存儲(chǔ)塊的多個(gè)快照的數(shù)據(jù)即時(shí)融合功能400的示意圖。在T3處,生成快照的平行鏈(parallelchain)T3'-T5',借此由融合的數(shù)據(jù)T3,融合和/或恢復(fù)的數(shù)據(jù)可用于替換在T4處將被融合的數(shù)據(jù)。類似地,可生成快照的多個(gè)平行鏈T3"、T4'",用于替換在T4'-T5'處和T4"-T5"處將被融合的數(shù)據(jù)。在替換實(shí)施例中,仍可將T4、T4'-T5'、T5"處的快照存儲(chǔ)在頁池或矩陣中。快照可存儲(chǔ)在本地RAID子系統(tǒng)或遠(yuǎn)程RAID子系統(tǒng),使得如果由于例如恐怖襲擊而發(fā)生主要系統(tǒng)崩潰,數(shù)據(jù)的完整性將不受影響,且數(shù)據(jù)可被即時(shí)恢復(fù)。圖5示出了根據(jù)本發(fā)明的原理通過使用RAID子系統(tǒng)的磁盤存儲(chǔ)塊的快照的本地一遠(yuǎn)程數(shù)據(jù)復(fù)制和即時(shí)恢復(fù)功能500的示意圖。遠(yuǎn)程復(fù)制執(zhí)行將巻數(shù)據(jù)復(fù)制到遠(yuǎn)程系統(tǒng)的服務(wù)。它試圖盡可能地保持本地和遠(yuǎn)程巻的緊密同步。在一個(gè)實(shí)施例中,遠(yuǎn)程巻的數(shù)據(jù)可能不能反映本地巻的數(shù)據(jù)的完關(guān)副本。網(wǎng)絡(luò)連接和性能可能使得遠(yuǎn)程巻與本地巻不同步。數(shù)據(jù)即時(shí)重放和數(shù)據(jù)即時(shí)融合方法的另一特征是,快照可用于測試,同時(shí)系統(tǒng)仍保持其操作。可使用實(shí)時(shí)數(shù)據(jù)用于實(shí)時(shí)測試??煺蘸蜁r(shí)間點(diǎn)副本(PITC)15根據(jù)本發(fā)明的原理,數(shù)據(jù)即時(shí)重放的一個(gè)示例是利用RAID子系統(tǒng)的磁盤存儲(chǔ)塊的快照??煺沼涗泴?duì)巻的寫操作,使得可創(chuàng)建視圖來査看過去巻的內(nèi)容。快照因此也支持通過創(chuàng)建對(duì)巻的先前時(shí)間點(diǎn)副本(PITC)的視圖的數(shù)據(jù)恢復(fù)??煺盏暮诵膶?shí)現(xiàn)快照的創(chuàng)建、聚合、管理和I/0操作??煺毡O(jiān)視對(duì)巻的寫,并為創(chuàng)建時(shí)間點(diǎn)副本(PITC)以通過視圖巻訪問。它向虛擬化層內(nèi)的數(shù)據(jù)路徑添加邏輯塊地址(LBA)重映射層。這是1/0路徑內(nèi)的另一虛擬LBA映射層。PITC可以不復(fù)制所有的巻信息,它可僅修改重映射使用的表??煺崭檶?duì)巻數(shù)據(jù)的改變,并提供査看來自先前時(shí)間點(diǎn)的巻數(shù)據(jù)的能力。快照通過為每一PITC維護(hù)增量寫的列表來執(zhí)行該功能??煺諡镻ITC簡介表提供多種方法,包括應(yīng)用程序啟動(dòng)的和時(shí)間啟動(dòng)的??煺諡閼?yīng)用程序提供創(chuàng)建PITC的能力。應(yīng)用程序通過服務(wù)器上的API控制創(chuàng)建,并將創(chuàng)建傳遞給快照API。同樣,快照提供創(chuàng)建時(shí)間簡介表的能力??煺湛梢圆粚?shí)現(xiàn)日志處理系統(tǒng)或恢復(fù)對(duì)巻的所有寫??煺湛蓛H保存對(duì)PITC窗口內(nèi)的單個(gè)地址的最后一次寫??煺赵试S用戶創(chuàng)建覆蓋諸如幾分鐘或幾小時(shí)等的所定義的短期時(shí)間的PITC。為處理故障,快照將所有的信息寫至磁盤??煺站S護(hù)包含增:慮寫的巻數(shù)據(jù)頁指針。因?yàn)楸硖峁?duì)巻數(shù)據(jù)的映射,且如果沒有它則不可訪問巻數(shù)據(jù),因此表數(shù)據(jù)必須處理控制器故障情況。視圖巻功能提供對(duì)PITC的訪問。視圖巻功能可附加于巻內(nèi)除現(xiàn)有PITC以外的任何PITC。對(duì)PITC的附加是相對(duì)較快的操作。視圖巻功能的用途包括測試、訓(xùn)練、備份和恢復(fù)。視圖巻功能允許寫操作且不修改它所基于的基礎(chǔ)PITC。在---個(gè)實(shí)施例中,設(shè)計(jì)快照以優(yōu)化性能且以磁盤空間為代價(jià)而易于使用-快照為用戶請(qǐng)求提供快速響應(yīng)。用戶請(qǐng)求包括I/O操作、創(chuàng)建PITC和創(chuàng)建/刪除視圖巻。為此,快照使用比最小需要的更多的磁盤空間來存儲(chǔ)表信息。對(duì)1/0,快照將巻的當(dāng)前狀態(tài)概述至單張表中,使得可由單張表滿足所有讀和寫請(qǐng)求??煺毡M可能多地降低對(duì)正常i/o操作的影響。其次,對(duì)視圖巻操作,快照使用與主巻數(shù)據(jù)路徑相同的表機(jī)制??煺兆钚』瘡?fù)制的數(shù)據(jù)量。為此,快照為每—-PITC維護(hù)指針表??煺諒?fù)制和移動(dòng)指針,但它不移動(dòng)巻上的數(shù)據(jù)。快照使用固定大小的數(shù)據(jù)頁來管理巻。跟蹤個(gè)別扇區(qū)可能需要大量存儲(chǔ)器用于單個(gè)合理大小的巻。通過使用大于扇區(qū)的數(shù)據(jù)頁,某些頁可包含直接從另一頁復(fù)制而來的一定百分比的信息??煺帐褂脦喩系臄?shù)據(jù)空間來存儲(chǔ)數(shù)據(jù)頁表。在控制器故障之后重新生成查找表。查找表分配頁并進(jìn)一步細(xì)分它們。在一個(gè)實(shí)施例中,快照通過要求使用快照的巻在單個(gè)控制器上操作來處理控制器故障。該實(shí)施例不要求任何相干性。對(duì)巻的所有改變都記錄在磁盤上或記錄至可靠的高速緩存以供替換控制器恢復(fù)使用。在一個(gè)實(shí)施例中,從控制器故障中恢復(fù)要求從磁盤上讀快照信息??煺帐褂锰摂M化RAID接口來訪問存儲(chǔ)??煺湛蓪⒍鄠€(gè)RAID設(shè)備作為單個(gè)數(shù)據(jù)空間使用。快照支持每巻'n'個(gè)PITC以及每巻'm'個(gè)視圖。對(duì)和'm'的限制是磁盤空間和控制器存儲(chǔ)器的函數(shù)。巻和巻分配/布局快照向巻添加LBA重映射層。重映射使用I/O請(qǐng)求LBA和查找表將地址轉(zhuǎn)換成數(shù)據(jù)頁。如圖6中所示,使用快照的所呈現(xiàn)的巻與不具有快照的巻相同地運(yùn)作。它具有線性的LBA空間并處理I/0請(qǐng)求。快照使用RAID接口來執(zhí)行I/O,且將多個(gè)RAID設(shè)備包含在巻中。在一個(gè)實(shí)施例中,快照巻的RAID設(shè)備的大小不是所呈現(xiàn)巻的大小。RAID設(shè)備允許快照為巻內(nèi)的數(shù)據(jù)頁擴(kuò)充空間?!_始就啟用快照的新巻僅需包括新數(shù)據(jù)頁的空間??煺詹粍?chuàng)建頁列表來置于底層PITC中。在這種情況中,底層PITC為空。在分配時(shí),所有PITC頁均位于自由列表上。通過創(chuàng)建--開始便啟用快照的巻,它可分配比巻所呈現(xiàn)的更少的物理空間。快照跟蹤對(duì)巻的寫。在本發(fā)明的一個(gè)實(shí)施例中,將不在頁池或矩陣中復(fù)制和/或存儲(chǔ)NULL巻,從而提高了對(duì)存儲(chǔ)空間的使用效率。在一個(gè)實(shí)施例中,對(duì)這兩種分配方案,PITC均在列表的底部放置虛擬NULL巻。對(duì)NULL巻的讀返回零塊。NULL巻處理之前未由服務(wù)器寫的扇區(qū)。不可能發(fā)生對(duì)NULL巻的寫。巻使用NULL巻用于對(duì)未寫的扇區(qū)的讀。自由頁的數(shù)量取決于巻的大小、PITC的數(shù)量以及數(shù)據(jù)改變的預(yù)期速率。系統(tǒng)為給定的巻確定分配的頁的數(shù)量。數(shù)據(jù)頁的數(shù)量可隨時(shí)間擴(kuò)充。擴(kuò)充可支持比預(yù)期更快速的數(shù)據(jù)改變、更多PITC或更大的巻。將新頁添加至自由列表??勺詣?dòng)發(fā)生對(duì)自由列表添加頁??煺帐褂脭?shù)據(jù)頁來管理巻空間。每一數(shù)據(jù)頁可包括幾兆字節(jié)的數(shù)據(jù)。使用操作系統(tǒng)往往在巻的同一區(qū)域中寫入多個(gè)扇區(qū)。存儲(chǔ)器需求也指示快照使用頁來管理巻。為1萬億字節(jié)的巻的每一扇區(qū)維護(hù)單個(gè)32位指針可需要8吉字節(jié)的RAM。不同的巻可具有不同的頁大小。圖7示出了快照結(jié)構(gòu)的一個(gè)實(shí)施例??煺諏⒍鄠€(gè)對(duì)象添加至巻結(jié)構(gòu)。其它對(duì)象包括PITC、指向活動(dòng)PITC的指針、數(shù)據(jù)頁自由列表、子視圖巻以及PITC聚合對(duì)象?;顒?dòng)PITC(AP)指針由巻維護(hù)。AP處理對(duì)巻的讀和寫請(qǐng)求的映射。AP包含巻內(nèi)所有數(shù)據(jù)的當(dāng)前位置的概述。數(shù)據(jù)頁自由列表跟蹤巻上的可用頁??扇芜x子視圖巻提供對(duì)巻PITC的訪問。視圖巻包含它們自己的AP以記錄對(duì)PITC的寫,同時(shí)不修改基礎(chǔ)數(shù)據(jù)。巻可支持多個(gè)子視圖巻??煺站酆蠈?duì)象為移除先前的PITC起見,臨時(shí)鏈接兩個(gè)PITC。對(duì)PITC的聚合涉及移動(dòng)數(shù)據(jù)頁的所有權(quán)以及釋放數(shù)據(jù)頁。PITC包含用于當(dāng)PITC活動(dòng)時(shí)所寫的頁的表和數(shù)據(jù)頁。PITC包含凍結(jié)時(shí)戳,在那刻PITC停止接受寫請(qǐng)求。PITC也包含生存時(shí)間值,該值確定何時(shí)PITC將聚合。同樣,在取PITC以提供可預(yù)測的讀和寫性能的時(shí)刻,快照概述整個(gè)巻的數(shù)據(jù)頁指針。其它的解決方案可要求讀來檢查多個(gè)PITC以找出最新的指針。這些解決方案需要表髙速緩存算法,但具有最壞情況性能。本發(fā)明中的快照概述也減少表的最壞情況的存儲(chǔ)器使用。它可要求將整個(gè)表加載至存儲(chǔ)器中,但它可能僅要求加載單個(gè)表。概述包括當(dāng)前PITC所擁有的頁,且可包括來自所有先前PITC的頁。為確定PITC可寫哪些頁,它對(duì)每一數(shù)據(jù)頁跟蹤頁所有權(quán)。它也對(duì)聚合進(jìn)程跟蹤所有權(quán)。為此,數(shù)據(jù)頁指針包括頁索引。圖8示出了PITC生存周期的一個(gè)實(shí)施例。每一PITC在作為只讀提交前經(jīng)過多個(gè)以下狀態(tài)1.創(chuàng)建表——在創(chuàng)建時(shí),表被創(chuàng)建。2.提交給磁盤——這為PITC生成磁盤上的存儲(chǔ)。通過在此刻寫表,它保證了在取PITC之前分配存儲(chǔ)表信息所需的空間。同時(shí),也將PITC對(duì)象提交給磁盤。3.接受1/0~—它成為活動(dòng)PITC(AP)——現(xiàn)在它為巻處理讀和寫請(qǐng)求。這是接受對(duì)表的寫請(qǐng)求的唯一狀態(tài)。PITC生成表示它目前是活動(dòng)的事件。4.將表提交給磁盤一~PITC不再是AP,且不再接受另外的頁。新AP已經(jīng)18接管。在此刻之后,除非在聚合操作中移除表,否則表將不再改變。它是只讀的。在此刻,PITC生成表示它被凍結(jié)且已被提交的事件。任何服務(wù)可監(jiān)聽該事件。5.釋放表存儲(chǔ)器——釋放表需要的存儲(chǔ)器。該步驟也清除日志以聲明所有的改變已被寫入磁盤。巻或視圖巻的頂層PITC被稱為活動(dòng)PITC(AP)。AP滿足對(duì)巻的所有讀和寫請(qǐng)求。對(duì)巻而言,AP是可接受寫請(qǐng)求的唯一的PITC。AP包含對(duì)整個(gè)巻的數(shù)據(jù)頁指針的概述。對(duì)聚合進(jìn)程而言,AP可以是目的地,而不是源。作為目的地,AP增加所擁有的頁的數(shù)量,但它不改變數(shù)據(jù)的視圖。對(duì)巻擴(kuò)充,AP立即隨巻增長。新頁指向NULL巻。非APPITC對(duì)巻擴(kuò)充不需要修改。每一PITC維護(hù)將輸入的LBA映射到對(duì)基礎(chǔ)巻的數(shù)據(jù)頁指針的表。該表包括指向數(shù)據(jù)頁的指針。該表需要對(duì)比先前呈現(xiàn)的邏輯空間更多的物理磁盤空間進(jìn)行尋址。圖9示出了含有多級(jí)索引的表結(jié)構(gòu)的一個(gè)實(shí)施例。該結(jié)構(gòu)將巻LBA解碼成數(shù)據(jù)頁指針。如圖9中所示,每一級(jí)對(duì)地址的越來越低的位解碼。表的該結(jié)構(gòu)允許快速査找并提供擴(kuò)充巻的能力。對(duì)快速査找,多級(jí)索引結(jié)構(gòu)使表很淺,在每一級(jí)上有多個(gè)條目。索引在每一級(jí)上執(zhí)行數(shù)組查找。為支持巻擴(kuò)充,多級(jí)索引結(jié)構(gòu)允許添加另外的層以支持?jǐn)U充。在整個(gè)情況中,巻擴(kuò)充是呈現(xiàn)給較高層的LBA計(jì)數(shù)的擴(kuò)充,而不是為巻分配的存儲(chǔ)空間的實(shí)際數(shù)量的擴(kuò)充。多級(jí)索引包含整個(gè)巻數(shù)據(jù)頁重映射的概述。每一PITC包含在提交PITC的時(shí)間點(diǎn)的巻的完整重映射列表。多級(jí)索引結(jié)構(gòu)對(duì)表的各層使用不同的條目類型。不同的條目類型支持從磁盤讀信息以及在存儲(chǔ)器中存儲(chǔ)信息的需求。底層條目可僅包含數(shù)據(jù)頁指針。頂層和中間M條目包含兩個(gè)數(shù)組,--個(gè)用于下一級(jí)表?xiàng)l目的LBA,另一個(gè)用于指向表的存儲(chǔ)器指針。當(dāng)所呈現(xiàn)的巻大小的擴(kuò)充時(shí),先前PITC表的大小不需要增加,且這些表不需要修改。因?yàn)楸頌橹蛔x的,表中的信息可以不改變,且擴(kuò)充進(jìn)程通過添加指向末尾的NULL頁指針來修改表??煺詹幌蛴脩糁苯映尸F(xiàn)來自先前PITC的表。I/O操作要求表將LBA映射到數(shù)據(jù)頁指針。I/O然后將數(shù)據(jù)頁指針乘以數(shù)據(jù)頁大小以獲取基礎(chǔ)RAID的LBA。在一個(gè)實(shí)施例中,數(shù)據(jù)頁大小是2的冪。該表提供API來重映射LBA、添加頁以及聚合表??煺帐褂脭?shù)據(jù)頁來存儲(chǔ)PITC對(duì)象和LBA映射表。該表為對(duì)其表?xiàng)l目的I/O而直接訪問RAID接口。當(dāng)將該表讀和寫至RAID設(shè)備時(shí),該表最小化修改。在沒有修改的情況下,可能將表信息直接讀和寫入表?xiàng)l目結(jié)構(gòu)。這減少了I/0所需的副本。快照可使用變更日志以阻止在磁盤上創(chuàng)建熱點(diǎn)。熱點(diǎn)是重復(fù)使用以跟蹤對(duì)巻的更新的位置。變更日志記錄對(duì)PITC表的更新以及巻的自由列表。在恢復(fù)過程中,快照使用變更日志來重新創(chuàng)建存儲(chǔ)器中的AP和自由列表。圖IO示出了對(duì)表的恢復(fù)的一個(gè)實(shí)施例,它闡明了存儲(chǔ)器中的AP、磁盤上的AP和變更日志之間的關(guān)系。它也顯示對(duì)自由列表的同樣的關(guān)系。存儲(chǔ)器中的AP表可從磁盤上的AP以及日志中重建。對(duì)任何控制器故障,通過讀磁盤上的AP并向其應(yīng)用變更日志來重建存儲(chǔ)器中的AP。取決于系統(tǒng)配置,變更日志使用不同的物理資源。對(duì)多控制器系統(tǒng)而言,變更日志依賴于備用電池高速緩存存儲(chǔ)器以供存儲(chǔ)。使用髙速緩存存儲(chǔ)器允許快照減少對(duì)磁盤寫表的次數(shù)同時(shí)仍維護(hù)數(shù)據(jù)完整性。變更日志復(fù)制到備份控制器以供恢復(fù)。對(duì)單控制器系統(tǒng)而言,變更日志將所有信息寫至磁盤。這具有在日志位置處創(chuàng)建磁盤上的熱點(diǎn)的副作用。這允許將多個(gè)改變寫至單個(gè)設(shè)備塊。周期性地,快照將PITC表和自由列表寫至磁盤,從而在日志中創(chuàng)建檢查點(diǎn)以及清除檢查點(diǎn)。該周期取決于對(duì)PITC的更新的數(shù)量而變化。聚合進(jìn)程不使用變更日志??煺諗?shù)據(jù)頁I/O可要求請(qǐng)求在數(shù)據(jù)頁邊界之內(nèi)適合。如果快照遇到跨越頁邊界的I/0請(qǐng)求,則它拆分該請(qǐng)求。它然后將請(qǐng)求向下傳遞給請(qǐng)求處理程序。寫和讀部分假定I/O在頁邊界之內(nèi)適合。AP提供LBA重映射以滿足I/O請(qǐng)求。AP滿足所有的寫請(qǐng)求??煺諏?duì)自有和非自有頁支持兩種不同的寫序列。不同的寫序列允許向表添加頁。圖n示出了含有自有頁序列以及非自有頁序列的寫進(jìn)程的—*個(gè)實(shí)施例。對(duì)自有頁序列,該進(jìn)程包括以下1)找出表映射;以及2)自有頁寫——重映射LBA,并將數(shù)據(jù)寫至RAID接口。之前寫的頁是簡單的寫請(qǐng)求??煺諏?shù)據(jù)寫至該頁,從而蓋寫當(dāng)前內(nèi)容。僅寫AP所擁有的數(shù)據(jù)頁。其它PITC所擁有的頁是只讀的。對(duì)非自有頁序列,該進(jìn)程包括以下1)找出表映射;2)讀之前的頁——執(zhí)行對(duì)數(shù)據(jù)頁的讀,使得寫請(qǐng)求和所讀的數(shù)據(jù)構(gòu)成完整的頁。這是寫進(jìn)程上的復(fù)制的開始。3)組合數(shù)據(jù)——將數(shù)據(jù)頁讀和寫請(qǐng)求有效負(fù)載置于單個(gè)鄰接塊中。4)自由列表分配——從自由列表中獲取新的數(shù)據(jù)頁指針。5)將組合的數(shù)據(jù)寫至新的數(shù)據(jù)頁。6)將新頁的信息提交給日志。7)更新表——改變表中的LBA重映射以反映新數(shù)據(jù)頁指針。該數(shù)據(jù)頁現(xiàn)在由該P(yáng)ITC所擁有。添加頁可要求阻塞讀和寫請(qǐng)求,直到將頁添加至表中。通過將表更新寫至磁盤,并為日志保存多個(gè)高速緩存的副本,快照實(shí)現(xiàn)控制器相干性。就讀請(qǐng)求而言,AP履行所有的讀請(qǐng)求。使用AP表,讀請(qǐng)求將LBA重映射到數(shù)據(jù)頁的LBA。它將經(jīng)重映射的LBA傳遞給RAID接口以滿足請(qǐng)求。巻可履行對(duì)之前未寫至巻的數(shù)據(jù)頁的讀請(qǐng)求。這些頁在PITC表中被標(biāo)記為NULL地址(全1〉。對(duì)該地址的請(qǐng)求可由NULL巻滿足,并返回常量數(shù)據(jù)模式。由不同PITC所擁有的頁可滿足跨越頁邊界的讀請(qǐng)求??煺帐褂肗ULL巻來滿足對(duì)之前未寫的數(shù)據(jù)頁的讀請(qǐng)求。它對(duì)讀取的每一扇區(qū)返回全0。它不具有RAID設(shè)備或分配的空間。預(yù)期在存儲(chǔ)器中保存全O的塊以滿足對(duì)NULL巻的讀的數(shù)據(jù)要求。所有巻共享NULL巻來滿足讀請(qǐng)求。在一個(gè)實(shí)施例中,聚合進(jìn)程從巻中移除PITC和其自有頁中的某一些。移除PITC創(chuàng)建更多的可用空間來跟蹤新的差異。聚合對(duì)兩個(gè)相鄰的表比較差異,且僅保存較新的差異。根據(jù)用戶配置,聚合周期性或手動(dòng)地發(fā)生。該進(jìn)程可包括兩個(gè)PITC,源和目的地。在一個(gè)實(shí)施例中,對(duì)合格對(duì)象的規(guī)則如下1)源必須是目的地之前的PITC——源必須在目的地之前創(chuàng)建。2)目的地不可同時(shí)為源。3)源不可由多個(gè)PITC引用。當(dāng)從PITC創(chuàng)建視圖巻時(shí),發(fā)生多重引用。4)R的地可支持多重引用。5)AP可以是目的地,但不可以是源。聚合進(jìn)程將所有的改變寫至磁盤,且不要求任何相干性。如果控制器發(fā)生故障,巻從磁盤中恢復(fù)PITC信息,并重新開始聚合進(jìn)程。該進(jìn)程標(biāo)記兩個(gè)PITC以供聚合,且包含以下步驟1)將源狀態(tài)置為聚合源一一該狀態(tài)被提交給磁盤以供存儲(chǔ)器故障恢復(fù)。此時(shí),由于源的數(shù)據(jù)頁可能無效而不再訪問源。數(shù)據(jù)頁可被返回至自由列表,或所有權(quán)可轉(zhuǎn)移給目的地。2)將目的地狀態(tài)置為聚合目的地——該狀態(tài)被提交給磁盤以供控制器故障恢復(fù)。3)加載和比較表——該進(jìn)程移動(dòng)數(shù)據(jù)頁指針。釋放的數(shù)據(jù)頁立即被添加至自由列表。4)將目的地狀態(tài)置為正?!撨M(jìn)程完成。5)調(diào)整列表一將源下一指針的前一指針改為指向目的。這有效地將源從列表中移除。6)釋放源——向自由列表返回用于控制信息的任何數(shù)據(jù)頁。以上進(jìn)程支持兩個(gè)PITC的組合。本領(lǐng)域的技術(shù)人員可以理解,聚合可被設(shè)計(jì)成移除多個(gè)PITC以及在一遍中創(chuàng)建多個(gè)源。如圖2中所示,頁池維護(hù)數(shù)據(jù)頁自由列表以供與該頁池相關(guān)聯(lián)的所有巻使用。該自由列表管理器使用來自頁池的數(shù)據(jù)頁將自由列表提交給永久性存儲(chǔ)器。自由列表的更新來自多于個(gè)源:寫進(jìn)程分配頁、控制頁管理器分配頁以及聚合進(jìn)程返回頁。自由列表維護(hù)在某一閾值自動(dòng)擴(kuò)充自身的觸發(fā)器。該觸發(fā)器使用頁池?cái)U(kuò)充方法將頁添加到頁池。自動(dòng)擴(kuò)充可以是由巻策略決定的。較重要的數(shù)據(jù)巻將被允許擴(kuò)充,而較不重要的巻被強(qiáng)制聚合。視圖巻提供對(duì)先前時(shí)間點(diǎn)的訪問并支持正常巻I/O操作。PITC跟蹤PITC之前的差異,視圖巻允許用戶訪問PITC內(nèi)包含的信息。視圖巻從PITC中分支。視圖巻支持恢復(fù)、測試、備份操作等。由于視圖巻不需要數(shù)據(jù)副本,幾乎即時(shí)發(fā)生視圖巻的創(chuàng)建。視圖巻可要求其自己的AP支持對(duì)視圖巻的寫??蓮漠?dāng)前巻AP中復(fù)制從巻AP的當(dāng)前狀態(tài)中取得的視圖。使用AP,視圖巻允許對(duì)視圖巻的寫操作而無需修改基礎(chǔ)數(shù)據(jù)。OS可要求文件系統(tǒng)或文件重建來使用數(shù)據(jù)。視圖巻從父巻中為AP和所寫數(shù)據(jù)頁分配空間。視圖巻沒有相關(guān)聯(lián)的RAID設(shè)備信息。刪除視圖巻將空間釋放回父巻。圖12示出了使用快照顯示巻轉(zhuǎn)移的示例性快照操作。圖12示出了具有10頁的巻。每一狀態(tài)包含對(duì)巻的讀請(qǐng)求履行列表。陰影塊指示自有數(shù)據(jù)頁指針。從該圖左側(cè)(即,初始狀態(tài))到圖中間的轉(zhuǎn)移示出對(duì)頁3和8的寫。對(duì)頁3的寫要求改變PITCI(AP)。PITCI遵循新頁寫處理以將頁3添加至表中。PITC從頁J中讀取未改變的信息,并使用驅(qū)動(dòng)器頁B來存儲(chǔ)該頁。可在無需移動(dòng)頁的情況下處理該P(yáng)ITC中對(duì)頁3的所有將來的寫。對(duì)頁8的寫示出了用于寫至頁的第二種情況。因?yàn)镻ITCI已經(jīng)包含頁8,PITCI蓋寫頁8中的那部分?jǐn)?shù)據(jù)。對(duì)這一情況而言,它存在于驅(qū)動(dòng)器頁C上。從圖中間到圖右側(cè)(即,最終狀態(tài))的轉(zhuǎn)移示出PITCII與III的聚合??煺站酆仙婕胺謩e移除較老的頁,同時(shí)仍維護(hù)兩個(gè)PITC中的所有改變。這兩個(gè)PITC均包含頁3和頁8。該進(jìn)程保留來自PITCH的較新的頁并釋放來自PITCIII的頁,它將頁A和D返回給自由列表。快照分配來自頁池的數(shù)據(jù)頁用于存儲(chǔ)自由列表和PITC表信息??刂祈摲峙鋵?duì)數(shù)據(jù)頁進(jìn)行二次分配以匹配對(duì)象所需的大小。巻包含對(duì)控制頁信息頂端的頁指針。從該頁中,可讀取所有其它信息??煺崭櫾谀骋粫r(shí)間間隔的使用中的頁的數(shù)量。這允許快照預(yù)測用戶何時(shí)需要向系統(tǒng)添加更多的物理磁盤空間以防止快照耗盡。數(shù)掘分級(jí)管理在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)分級(jí)管理(DP)用于將數(shù)據(jù)逐漸地移至具有適當(dāng)成本的存儲(chǔ)空間中。本發(fā)明允許用戶在實(shí)際需要驅(qū)動(dòng)器時(shí)添加驅(qū)動(dòng)器。這將顯著地減少磁盤驅(qū)動(dòng)器的總成本。數(shù)據(jù)分級(jí)管理將非最近訪問的數(shù)據(jù)以及歷史快照數(shù)據(jù)移至較不昂貴的存儲(chǔ)中。對(duì)非最近訪問的數(shù)據(jù)而言,這為非最近訪問的任何頁逐步減少了存儲(chǔ)的成本。它可以不將數(shù)據(jù)立即移動(dòng)至最低成本的存儲(chǔ)。對(duì)歷史快照數(shù)據(jù),它將只讀頁移動(dòng)至更有效的存儲(chǔ)空間,諸如RAID5,如果該頁不再由巻訪問,那么將該頁移動(dòng)至最不昂貴的存儲(chǔ)中。本發(fā)明的數(shù)據(jù)分級(jí)管理的其它優(yōu)點(diǎn)包括,維護(hù)對(duì)當(dāng)前訪問數(shù)據(jù)的快速I/O訪問以及減少購買快速但昂貴的磁盤驅(qū)動(dòng)器的需求。在操作中,數(shù)據(jù)分級(jí)管理使用物理介質(zhì)的成本以及用于數(shù)據(jù)保護(hù)的RAID設(shè)備的效率來確定存儲(chǔ)的成本。數(shù)據(jù)分級(jí)管理也確定存儲(chǔ)效率并相應(yīng)地移動(dòng)數(shù)據(jù)。例如,數(shù)據(jù)分級(jí)管理可將RAID10轉(zhuǎn)換成RAID5設(shè)備以便更有效地使用物理磁盤空間。數(shù)據(jù)分級(jí)管理將可訪問數(shù)據(jù)定義為當(dāng)前可由服務(wù)器讀或?qū)懙臄?shù)據(jù)。它使用可訪問性來確定頁應(yīng)使用的存儲(chǔ)類。如果頁屬于歷史PITC,則它是只讀的。如果服務(wù)器在最近的PITC中沒有更新該頁,則該頁仍然可訪問。23圖17示出了數(shù)據(jù)分級(jí)管理操作中的可訪問數(shù)據(jù)頁的一個(gè)實(shí)施例。該可訪問數(shù)據(jù)頁被分成以下類別最近訪問的可訪問——這些是巻最多使用的活動(dòng)頁。非最近訪問的可訪問——最近未使用的讀寫頁。歷史可訪問——可由巻讀的只讀頁——應(yīng)用于快照巻歷史非可訪問——巻當(dāng)前未訪問的只讀數(shù)據(jù)頁——應(yīng)用于快照巻??煺諡榛謴?fù)的目的而維護(hù)這些頁,且這些頁一般盡可能置于最低成本的存儲(chǔ)上。在圖17中,示出了快照巻的具有不同自有頁的三個(gè)PITC。由PITCC單獨(dú)表示動(dòng)態(tài)容量巻。所有這些頁是可訪問且讀寫的。這些頁可具有不同的訪問時(shí)間。下表按照遞增的效率或遞減的金錢費(fèi)用示出了各種存儲(chǔ)設(shè)備。該存儲(chǔ)設(shè)備的列表也按照漸慢的寫I/O訪問的大致順序。數(shù)據(jù)分級(jí)管理計(jì)算由RAID設(shè)備的總物理空間劃分的邏輯受保護(hù)空間的效率。表l:RAID類型<table>tableseeoriginaldocumentpage24</column></row><table>隨著條帶中驅(qū)動(dòng)器數(shù)的增加,RAID5效率隨之增加。隨著條帶中磁盤數(shù)的增加,失效域(faultdomain)也隨之增加。條帶中驅(qū)動(dòng)器數(shù)的增加也增加了創(chuàng)建RAID設(shè)備所必需的最小磁盤數(shù)量。在一個(gè)實(shí)施例中,由于失效域大小的增加以及有限的效率增加,數(shù)據(jù)分級(jí)管理不使用大于9個(gè)驅(qū)動(dòng)器的RAID5條帶大小。數(shù)據(jù)分級(jí)管理使用為快照頁大小整數(shù)倍的RAID5條帶大小。這允許數(shù)據(jù)分級(jí)管理在將頁移動(dòng)至RAID5時(shí)執(zhí)行全條帶寫,從而使得移動(dòng)更有效。對(duì)數(shù)據(jù)分級(jí)管理的目的,所有的RAID5配置具有相同的寫I/0特征。例如,2.5英寸FC磁盤上的RAID5可能不能有效地使用這些磁盤的性能。為防止這種組合,數(shù)據(jù)分級(jí)管理需要支持防止RAID類型在某些磁盤類型上運(yùn)行的能力。數(shù)據(jù)分級(jí)管理的配置也可防止系統(tǒng)使用RAID10或RAID5的空間。下表中示出磁盤類型表2:磁盤類型<table>tableseeoriginaldocumentpage25</column></row><table>數(shù)據(jù)分級(jí)管理包含對(duì)相對(duì)于系統(tǒng)內(nèi)的驅(qū)動(dòng)器的磁盤驅(qū)動(dòng)器進(jìn)行自動(dòng)分類的能力。系統(tǒng)檢査磁盤來確定它相對(duì)于系統(tǒng)中的其它磁盤的性能。較快速的磁盤被分類在較高值分類中,較慢磁盤被分類在較低值分類中。當(dāng)磁盤被添加至系統(tǒng)時(shí),系統(tǒng)自動(dòng)重新平衡磁盤的值分類。該方法同時(shí)處理了從不改變的系統(tǒng)以及當(dāng)添加新磁盤時(shí)經(jīng)常改變的系統(tǒng)兩者。自動(dòng)分類可將多個(gè)磁盤類型置于同一值分類中。如果確定驅(qū)動(dòng)器在值上足夠接近,那么它們可具有相同的值。在一個(gè)實(shí)施例中,系統(tǒng)包含以下驅(qū)動(dòng)器高一10KFC驅(qū)動(dòng)器低一SATA驅(qū)動(dòng)器隨著15KFC驅(qū)動(dòng)器的添加,數(shù)據(jù)分級(jí)管理自動(dòng)對(duì)磁盤重新分類,并降級(jí)該IOKFC驅(qū)動(dòng)器。這產(chǎn)生以下分類高—15KFC驅(qū)動(dòng)器中一10KFC驅(qū)動(dòng)器低—SATA驅(qū)動(dòng)器在另--實(shí)施例中,系統(tǒng)可具有以下驅(qū)動(dòng)器類型高一25KFC驅(qū)動(dòng)器低—15KFC驅(qū)動(dòng)器從而,該15KFC驅(qū)動(dòng)器被分類為較低值分類,而15KFC驅(qū)動(dòng)器被分類為較髙值分類。如果將SATA驅(qū)動(dòng)器添加至該系統(tǒng),數(shù)據(jù)分級(jí)管理自動(dòng)對(duì)磁盤重新分類。這產(chǎn)生以下分類高一25KFC驅(qū)動(dòng)器中一15KFC驅(qū)動(dòng)器低一SATA驅(qū)動(dòng)器數(shù)據(jù)分級(jí)管理可包括瀑布式分級(jí)管理。通常,瀑布式分級(jí)管理僅當(dāng)完全使用了資源時(shí)才將數(shù)據(jù)移動(dòng)至較不昂貴的資源中。瀑布式分級(jí)管理有效地最大化最昂貴系統(tǒng)資源的使用。它也最小化系統(tǒng)的成本。向最低的池添加便宜的磁盤將在底部創(chuàng)建較大的池。典型的瀑布式分級(jí)管理使用RAID10空間,然后使用RAID空間中的下一個(gè),諸如RAID5空間。這迫使瀑布直接前進(jìn)至下一類磁盤的RAID10?;蛘?,數(shù)據(jù)分級(jí)管理可包括如圖24中所示的混合RAID瀑布式分級(jí)管理。該替換數(shù)據(jù)分級(jí)管理方法解決了最大化磁盤空間和性能的問題,且允許存儲(chǔ)轉(zhuǎn)換成同一磁盤類中的更有效形式。該替換方法也支持RAID10和RAID5共享磁盤類的總資源的要求。這可要求配置RAID等級(jí)可對(duì)磁盤類使用的磁盤空間的固定百分比。從而,該替換的數(shù)據(jù)分級(jí)管理方法最大化昂貴存儲(chǔ)的使用,同時(shí)允許對(duì)另一RAID類的空間共存。該混合RAID瀑布式方法在存儲(chǔ)受限時(shí),也僅將頁移動(dòng)移動(dòng)至較不昂貴的存儲(chǔ)。諸如總磁盤空間的百分比等閾值限制某一RAID類型的存儲(chǔ)量。這最大化系統(tǒng)中最昂貴存儲(chǔ)的使用。當(dāng)存儲(chǔ)逼近其極限時(shí),數(shù)據(jù)分級(jí)管理自動(dòng)將頁移動(dòng)至較低成本的存儲(chǔ)。數(shù)據(jù)分級(jí)管理為寫峰值提供緩沖器??梢岳斫?,以上的瀑布式方法也將頁立即移動(dòng)至最低成本存儲(chǔ),因?yàn)樵谀承┣闆r中,可能存在以及時(shí)的方式將歷史和非可訪問頁移動(dòng)至較不昂貴存儲(chǔ)的需求。歷史頁也可被即時(shí)移動(dòng)至較不昂貴存儲(chǔ)。圖18示出了數(shù)據(jù)分級(jí)管理進(jìn)程1800的流程圖。數(shù)據(jù)分級(jí)管理對(duì)系統(tǒng)中的每一頁連續(xù)檢査其訪問模式和存儲(chǔ)成本以確定是否存在要移動(dòng)的數(shù)據(jù)。數(shù)據(jù)分級(jí)管理也可確定存儲(chǔ)是否達(dá)到其最大分配。數(shù)據(jù)分級(jí)管理進(jìn)程確定該頁是否可由任何巻訪問。該進(jìn)程對(duì)PITC檢査附加于歷史的每一巻以確定是否引用該頁。如果該頁正被活動(dòng)地使用,那么該頁對(duì)升級(jí)或緩慢降級(jí)而言是合格的。如果該頁不可由任何巻訪問,那么將其移動(dòng)至可用的最低成本存儲(chǔ)。數(shù)據(jù)分級(jí)管理也將PITC期滿之前的時(shí)間計(jì)算在內(nèi)。如果快照調(diào)度PITC即將期滿,那么沒有頁將分級(jí)管理。如果頁池正以積極的模式操作,那么頁可分級(jí)管理。數(shù)據(jù)分級(jí)管理最近訪問檢測需要從對(duì)頁的升級(jí)中消除活動(dòng)的爆發(fā)。數(shù)據(jù)分級(jí)管理將讀和寫訪問跟蹤分離。這允許數(shù)據(jù)分級(jí)管理在可訪問的RAID5設(shè)備上保持?jǐn)?shù)據(jù)。如病毒掃描或報(bào)告等操作僅讀數(shù)據(jù)。如果存儲(chǔ)短缺,則數(shù)據(jù)分級(jí)管理改變最近訪問的資格鑒定。這允許數(shù)據(jù)分級(jí)管理更積極地將頁降級(jí)。這也有助于當(dāng)存儲(chǔ)短缺時(shí)從下往上填充系統(tǒng)。當(dāng)系統(tǒng)資源變得短缺時(shí),數(shù)據(jù)分級(jí)管理可積極地移動(dòng)數(shù)據(jù)頁。對(duì)于所有這些情況,仍然必須有更多的磁盤或配置改變。數(shù)據(jù)分級(jí)管理拉長了系統(tǒng)可在緊缺狀況中操作的時(shí)間量。數(shù)據(jù)分級(jí)管理試圖盡可能長時(shí)間地保持系統(tǒng)可操作。這一直持續(xù)到當(dāng)它所有的存儲(chǔ)類都耗盡空間時(shí)。在當(dāng)RAIDIO空間短缺,且總的可用磁盤空間短缺的情況中,數(shù)據(jù)分級(jí)管理可調(diào)撥RAID10磁盤空間來移動(dòng)至更有效的RAID5中。以寫性能為代價(jià),這增加了系統(tǒng)的總體容量。但仍必需有更多的磁盤。如果完全使用了特定的存儲(chǔ)類,那么數(shù)據(jù)分級(jí)管理允許借用非可接受頁以保持系統(tǒng)運(yùn)行。例如,如果巻被配置成對(duì)其可訪問信息使用RAIDIO-FC,那么它可以從RAID5-FC或RAIDIO-SATA中分配頁,直到有更多的RAID10-FC空間可用。數(shù)據(jù)分級(jí)管理也支持壓縮來增加系統(tǒng)的察覺的容量。壓縮可僅用于不訪問的歷史頁,或用作恢復(fù)信息的存儲(chǔ)。壓縮表現(xiàn)為接近存儲(chǔ)成本底部的另一類存儲(chǔ)。如圖25中所示,頁池基本上包含自由列表和設(shè)備信息。頁池需要支持多個(gè)自由列表、增強(qiáng)的頁分配方案以及自由列表的分類。頁池為每一類存儲(chǔ)維護(hù)單獨(dú)的自由列表。分配方案允許從多個(gè)池中的一個(gè)分配頁,同時(shí)設(shè)定最小或最大允許的類。自由列表的分類來自設(shè)備配置。每一自由列表提供其自己的計(jì)數(shù)器用于統(tǒng)計(jì)匯集和顯示。每一自由列表也提供RAID設(shè)備效率信息用于存儲(chǔ)效率狀態(tài)的匯集。在一個(gè)實(shí)施例中,設(shè)備列表可要求跟蹤存儲(chǔ)類成本的額外能力。該組合確定存儲(chǔ)的類。如果用戶希望對(duì)所配置的類具有更多或更少粒度時(shí),發(fā)生這一情況。圖26示出了髙性能數(shù)據(jù)庫的一個(gè)實(shí)施例,其中所有可用數(shù)據(jù),即便最近未訪問,也僅駐留在2.5FC驅(qū)動(dòng)器上。非可訪問歷史數(shù)據(jù)被移動(dòng)至RAID5光纖通道。圖27示出了MRI映像巻的一個(gè)實(shí)施例,其中對(duì)該動(dòng)態(tài)巻而言可訪問存儲(chǔ)是SATARAID10和RAID5。如果映像最近未被訪問,那么該映像被移動(dòng)至RAID5。新的寫最初進(jìn)入RAID10。圖19示出了經(jīng)壓縮的頁布局的一個(gè)實(shí)施例。數(shù)據(jù)分級(jí)管理通過對(duì)固定大小的數(shù)據(jù)頁進(jìn)行二次分配來實(shí)現(xiàn)壓縮。二次分配信息跟蹤該頁的自由部分以及該頁的已分配部分的位置。數(shù)據(jù)分級(jí)管理可以不預(yù)測壓縮的效率,且可處理其二次分配內(nèi)的可變大小頁。經(jīng)壓縮的頁可顯著地影響CPU性能。對(duì)寫訪問,經(jīng)壓縮的頁將要求整個(gè)頁被解壓和重新壓縮。從而,正被活動(dòng)地訪問的頁不被壓縮,并且返回至其未壓縮狀態(tài)。在存儲(chǔ)極端受限的情況下,寫可能是必需的。PITC重映射表指向二次分配信息,且被標(biāo)記為指示被壓縮的頁。訪問經(jīng)壓縮的頁可比非壓縮的頁需要更高的I/O計(jì)數(shù)。訪問可需要對(duì)二次分配信息的讀取來檢索實(shí)際數(shù)據(jù)的位置。該經(jīng)壓縮的數(shù)據(jù)可從磁盤中讀取并可在處理器上解壓。數(shù)據(jù)分級(jí)管理可要求壓縮能夠?qū)φ麄€(gè)頁的部分解壓。這允許數(shù)據(jù)分級(jí)管理讀訪問僅解壓頁的小部分。讀髙速緩存的預(yù)讀特征可有助于延遲壓縮。單個(gè)解壓可處理多個(gè)服務(wù)器I/0。數(shù)據(jù)分級(jí)管理標(biāo)記對(duì)壓縮而言非良好候選的頁,使得它將不必頻繁嘗試來壓縮頁。閣20示出了根據(jù)本發(fā)明的原理的高級(jí)磁盤驅(qū)動(dòng)器系統(tǒng)中的數(shù)據(jù)分級(jí)管理的一個(gè)實(shí)施例。數(shù)據(jù)分級(jí)管理不改變巻的外部行為或數(shù)據(jù)路徑的操作。數(shù)據(jù)分級(jí)管理可要求對(duì)頁池的修改。頁池基本上包含自由列表和設(shè)備信息。頁池需要支持多個(gè)自由列表、增強(qiáng)的頁分配方案以及自由列表的分類。頁池為每一類存儲(chǔ)維護(hù)單獨(dú)的自由列表。該分配方案允許從多個(gè)池中的一個(gè)分配頁,同時(shí)設(shè)定最小或最大允許的類。自由列表的分類可來自設(shè)備配置。每一自由列表提供其自己的計(jì)數(shù)器用于統(tǒng)計(jì)匯集和顯示。每一自由列表也提供RAID設(shè)備效率信息用于存儲(chǔ)效率統(tǒng)計(jì)的匯集。PITC標(biāo)識(shí)用于移動(dòng)的候選,并當(dāng)移動(dòng)可訪問頁時(shí)阻斷對(duì)該頁的I/O。數(shù)據(jù)分級(jí)管理不斷地對(duì)PITC檢查候選。由于服務(wù)器1/0、新快照頁更新以及視圖巻的創(chuàng)建/刪除,頁的可訪問性不斷改變。數(shù)據(jù)分級(jí)管理也不斷檢查巻配置改變,并概括頁類和計(jì)數(shù)的當(dāng)前列表。這允許數(shù)據(jù)分級(jí)管理評(píng)估該概述,并確定是否存在可能要移動(dòng)的頁。每一PITC呈現(xiàn)用于每一類存儲(chǔ)的頁的數(shù)量的計(jì)數(shù)器。數(shù)據(jù)分級(jí)管理使用該信息來標(biāo)識(shí)當(dāng)達(dá)到閾值時(shí)成為移動(dòng)頁的良好候選的PITC。RAID基于磁盤成本從一組磁盤中分配設(shè)備。RAID也提供API來檢索設(shè)備或潛在設(shè)備的效率。它也需要返回關(guān)于寫操作所需的I/0數(shù)量的信息。數(shù)據(jù)分級(jí)管理也可要求RAIDNULL使用第三方RAID控制器作為數(shù)據(jù)分級(jí)管理的一部分。RAIDNULL可消費(fèi)整個(gè)磁盤,且可僅作為穿過的層。28磁盤管理器也可自動(dòng)確定和存儲(chǔ)磁盤分類。自動(dòng)確定磁盤分類可要求對(duì)SCSI啟動(dòng)程序的改變。通過以上描述和附圖,本領(lǐng)域的普通技術(shù)人員可理解,所示和描述的具體實(shí)施例僅用于說明的目的,而不旨在限制本發(fā)明的范圍。本領(lǐng)域的普通技術(shù)人員可以認(rèn)識(shí)到,本發(fā)明也可用其它具體形式實(shí)現(xiàn),而不背離本發(fā)明的精神或基本特征。對(duì)具體實(shí)施例的細(xì)節(jié)的參考不旨在限制本發(fā)明的范圍。權(quán)利要求1.一種磁盤驅(qū)動(dòng)器系統(tǒng)中數(shù)據(jù)分級(jí)管理的方法,包括以下步驟確定多個(gè)RAID設(shè)備中的每一個(gè)的操作成本;基于所述成本對(duì)所述多個(gè)RAID設(shè)備中的每一個(gè)進(jìn)行分類;連續(xù)檢查所述多個(gè)RAID設(shè)備上的數(shù)據(jù),以確定是否有數(shù)據(jù)要從一個(gè)分類的RAID設(shè)備移動(dòng)到另一個(gè);以及將一個(gè)分類的RAID設(shè)備上存儲(chǔ)的數(shù)據(jù)移動(dòng)到另一個(gè)分類的RAID設(shè)備。2.如權(quán)利要求l所述的方法,其特征在于,所述多個(gè)RAID設(shè)備中的每一個(gè)的成本基于所述RAID設(shè)備的效率。3.如權(quán)利要求2所述的方法,其特征在于,所述多個(gè)RAID設(shè)備中的每一個(gè)的成本基于所述RAID設(shè)備的存儲(chǔ)效率。4.如權(quán)利要求2所述的方法,其特征在于,所述多個(gè)RAID設(shè)備中的每一個(gè)的成本基于所述RAID設(shè)備的物理成本。5.如權(quán)利要求l所述的方法,其特征在于,所述多個(gè)RAID設(shè)備彼此相關(guān)地分類。6.如權(quán)利要求5所述的方法,其特征在于,還包括當(dāng)存儲(chǔ)磁盤增加時(shí),重新平衡RAID設(shè)備的分類。7.如權(quán)利要求l所述的方法,其特征在于,連續(xù)檢査所述多個(gè)RAID設(shè)備上的數(shù)據(jù)包括確定所述數(shù)據(jù)的訪問模式和存儲(chǔ)成本。8.如權(quán)利要求l所述的方法,其特征在于,如果數(shù)據(jù)最近未被訪問,則將數(shù)據(jù)移動(dòng)到較低操作成本的RAID設(shè)備。9.如權(quán)利要求l所述的方法,其特征在于,如果數(shù)據(jù)包括歷史快照數(shù)據(jù),則將數(shù)據(jù)移動(dòng)到較低操作成本的RAID設(shè)備。10.如權(quán)利要求8所述的方法,其特征在于,如果較高操作成本的RAID設(shè)備上相當(dāng)一部分存儲(chǔ)空間耗盡,則將數(shù)據(jù)移動(dòng)到較低操作成本的RAID設(shè)備。11.如權(quán)利要求10所述的方法,其特征在于,如果較高操作成本的RAID設(shè)備上的存儲(chǔ)空間充分耗盡,則將數(shù)據(jù)移動(dòng)到較低操作成本的RAID設(shè)備。12.如權(quán)利要求1所述的方法,其特征在于,當(dāng)較低操作成本的RAID設(shè)備中的數(shù)據(jù)開始被更頻繁地使用時(shí),將數(shù)據(jù)移動(dòng)到較高操作成本的RAID設(shè)備。13.如權(quán)利要求1所述的方法,其特征在于,所述磁盤驅(qū)動(dòng)器系統(tǒng)包括諸如RAID-0、RAID-1、RAID-5和RAID-10之類的多種RAID類型中的至少一種的存儲(chǔ)空間。14.如權(quán)利要求13所述的方法,其特征在于,將RAID-10設(shè)備轉(zhuǎn)換成RAID-5設(shè)備,以更有效地使用該RAID設(shè)備的物理磁盤空間。15.如權(quán)利要求8所述的方法,其特征在于,當(dāng)存儲(chǔ)資源低時(shí),積極地移動(dòng)數(shù)據(jù)。16.如權(quán)利要求1所述的方法,其特征在于,還包括管理存儲(chǔ)頁池,所述存儲(chǔ)頁池對(duì)每個(gè)類別的RAID設(shè)備包括單獨(dú)的自由存儲(chǔ)空間列表。17.—種磁盤驅(qū)動(dòng)器系統(tǒng),包括包括存儲(chǔ)池的RAID子系統(tǒng);以及具有至少一個(gè)磁盤存儲(chǔ)系統(tǒng)控制器的磁盤管理器,所述磁盤存儲(chǔ)系統(tǒng)控制器配覽成確定所述RAID子系統(tǒng)的多個(gè)RAID設(shè)備中的每一個(gè)的操作成本;檢査所述多個(gè)RAID設(shè)備上的數(shù)據(jù),以確定是否有數(shù)據(jù)要從一個(gè)RAID設(shè)備移動(dòng)到不同操作成本的另--個(gè)RAID設(shè)備;以及將一個(gè)操作成本的raid設(shè)備上存儲(chǔ)的數(shù)據(jù)移動(dòng)到另一個(gè)操作成本的raid設(shè)備。18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述RAID子系統(tǒng)還包括諸如RAID-O、RAID-l、RAID-5和RAID-10等多種RAID類型中的至少一種的組合。19.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括包含RAID-3、RAID-4、RAID-6和RAID-7的RAID類型。20.-'種能夠進(jìn)行數(shù)據(jù)分級(jí)管理的磁盤驅(qū)動(dòng)器系統(tǒng),包括確定多個(gè)RAID設(shè)備中的每一個(gè)的操作成本的計(jì)算裝置;基于所述成本對(duì)所述多個(gè)RAID設(shè)備中的每一個(gè)進(jìn)行分類的分類裝置;連續(xù)檢查所述多個(gè)RAID設(shè)備上的數(shù)據(jù)的狀態(tài)檢査裝置,以確定是否有數(shù)據(jù)要從一個(gè)分類的raid設(shè)備移動(dòng)到另一個(gè);以及將—個(gè)分類的r^jd設(shè)備上存儲(chǔ)的數(shù)據(jù)移動(dòng)到另一個(gè)分類的raid設(shè)備的轉(zhuǎn)移裝置。全文摘要提供了能夠動(dòng)態(tài)分配數(shù)據(jù)的磁盤驅(qū)動(dòng)器系統(tǒng)和方法。該磁盤驅(qū)動(dòng)器系統(tǒng)可包括含有存儲(chǔ)池的RAID子系統(tǒng)以及含有至少一個(gè)磁盤存儲(chǔ)系統(tǒng)控制器的磁盤管理器,該存儲(chǔ)池例如維護(hù)RAID自由列表的存儲(chǔ)頁池或維護(hù)RAID空列表的磁盤存儲(chǔ)塊矩陣。RAID子系統(tǒng)和磁盤管理器基于RAID-磁盤映射跨存儲(chǔ)池和多個(gè)磁盤驅(qū)動(dòng)器動(dòng)態(tài)地分配數(shù)據(jù)。RAID子系統(tǒng)和磁盤管理器確定是否需要另外的磁盤驅(qū)動(dòng)器,且如果需要另外的磁盤驅(qū)動(dòng)器則發(fā)送通知。動(dòng)態(tài)數(shù)據(jù)分配和數(shù)據(jù)分級(jí)管理允許用戶在稍后需要時(shí)獲取磁盤驅(qū)動(dòng)器。動(dòng)態(tài)數(shù)據(jù)分配也允許對(duì)用于存儲(chǔ)的虛擬卷池的快照/時(shí)間點(diǎn)副本的有效數(shù)據(jù)存儲(chǔ),用于數(shù)據(jù)備份、恢復(fù)等的即時(shí)數(shù)據(jù)重放和數(shù)據(jù)即時(shí)融合,遠(yuǎn)程數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)分級(jí)管理等。文檔編號(hào)G06F11/00GK101566931SQ200910004738公開日2009年10月28日申請(qǐng)日期2004年8月13日優(yōu)先權(quán)日2003年8月14日發(fā)明者J·P·圭德,L·E·阿茲曼,M·J·克萊姆,P·E·索蘭申請(qǐng)人:克姆佩棱特科技公司