亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

虛擬磁盤驅(qū)動系統(tǒng)和方法

文檔序號:6480471閱讀:208來源:國知局

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