專利名稱:數(shù)據(jù)存儲(chǔ)空間恢復(fù)系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過(guò)使用由主機(jī)計(jì)算機(jī)系統(tǒng)提供的知道在查詢時(shí)哪些被分配的 空間當(dāng)前正在被使用的信息確定帶有隱性分配的數(shù)據(jù)空間的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的明 顯空閑的數(shù)據(jù)空間。通過(guò)減少所要求的存儲(chǔ)總量,在任何給定數(shù)據(jù)的存在期可以實(shí)現(xiàn)可觀 的成本節(jié)省。
背景技術(shù):
為了各種目的每年要求存儲(chǔ)和傳輸日益增加的數(shù)據(jù)量,包括為了商業(yè)慣例 以及順應(yīng)各種法律。在其上記錄該數(shù)據(jù)的介質(zhì)具有以美金計(jì)算的獲得價(jià)格、以人力時(shí)間計(jì) 算的管理價(jià)格、以及提供諸如動(dòng)力和散熱和/或其他要素的基礎(chǔ)設(shè)施的價(jià)格。所希望的是 減少所有這些要素的成本。普遍認(rèn)為管理和提供這種基礎(chǔ)設(shè)施的成本是獲得存儲(chǔ)介質(zhì)的成 本的倍數(shù)。通過(guò)減少介質(zhì)的量,其他基礎(chǔ)設(shè)施成本可以被進(jìn)一步減少。本發(fā)明提供通過(guò)其 可以節(jié)約、循環(huán)利用、或者再次使用數(shù)據(jù)存儲(chǔ)和有關(guān)的介質(zhì),從而減少擁有數(shù)據(jù)存儲(chǔ)的總成 本的方法。
先前已經(jīng)證明是有可能構(gòu)建在其中所有物理存儲(chǔ)初始地被分配到池 (pool)的存儲(chǔ)子系統(tǒng),其示例在題為“Virtual Disk Drive System andMethod (虛擬盤片 驅(qū)動(dòng)系統(tǒng)和方法)”、2004年8月13日提交的、序列號(hào)10/918,329的共同待定的美國(guó)專利 申請(qǐng)中被論述。然后該池可以根據(jù)需要被分配到計(jì)算實(shí)體可存取的其他實(shí)體以便將該實(shí)體 用于數(shù)據(jù)存儲(chǔ)。在本發(fā)明的領(lǐng)域中從池到計(jì)算實(shí)體的存儲(chǔ)分配通常被稱為“自動(dòng)精簡(jiǎn)配置 (thin provisioning) 僅根據(jù)需要分配存儲(chǔ)的這種方法利用了這樣的含意存儲(chǔ)正在被 計(jì)算實(shí)體使用,因?yàn)槿绻?jì)算實(shí)體寫入數(shù)據(jù),其旨在于存儲(chǔ)該數(shù)據(jù)用于稍后取回。通過(guò)僅分 配由這些特定操作標(biāo)識(shí)的存儲(chǔ),沒(méi)有被常規(guī)的存儲(chǔ)子系統(tǒng)使用并且可能從未被常規(guī)的存儲(chǔ) 子系統(tǒng)使用的可觀的存儲(chǔ)量可能作為整體被從系統(tǒng)中省略,從而減少獲得、維護(hù)等成本。
然而,在標(biāo)準(zhǔn)協(xié)議中,計(jì)算實(shí)體不可能向存儲(chǔ)子系統(tǒng)傳達(dá)先前已經(jīng)有數(shù)據(jù)被 存儲(chǔ)到其的特定區(qū)域不再被使用并且現(xiàn)在可以被再次使用或者以其他方式被釋放。該數(shù)據(jù) 空間可以已經(jīng)被用于臨時(shí)存儲(chǔ),或者可以僅僅是不再有足夠價(jià)值為進(jìn)一步的應(yīng)用而保留。 由于沒(méi)有方法可用來(lái)只從存儲(chǔ)子系統(tǒng)的角度標(biāo)識(shí)不再被使用的區(qū)域,存儲(chǔ)子系統(tǒng)繼續(xù)維護(hù) 數(shù)據(jù)空間。換句話說(shuō),沒(méi)有隱含的方法可以邏輯上存在,通過(guò)該方法不用檢查數(shù)據(jù)本身而毫 無(wú)疑義地確定騰出(free)先前隱性分配的存儲(chǔ)。同樣地,對(duì)于存儲(chǔ)子系統(tǒng),檢查計(jì)算實(shí)體所存儲(chǔ)的所有數(shù)據(jù)的內(nèi)容是十分耗費(fèi)計(jì)算資源的。因而,在試圖緊跟操作或者文件系統(tǒng)中 的技術(shù)變化以及可以使用存儲(chǔ)子系統(tǒng)的所有可能的應(yīng)用的同時(shí),存儲(chǔ)系統(tǒng)遭受非常嚴(yán)重的 性能影響。
總的來(lái)說(shuō),所希望的是準(zhǔn)確地知道對(duì)于任何操作系統(tǒng)和任何類型的文件系 統(tǒng)來(lái)說(shuō)哪些塊正在被使用,以及哪些塊不是正在被使用以有助于使自動(dòng)精簡(jiǎn)配置盡可能有 效。對(duì)于塊存儲(chǔ)的用戶,不存在標(biāo)準(zhǔn)向存儲(chǔ)單元指示塊“沒(méi)有正在被使用”。對(duì)于常規(guī)的存 儲(chǔ)設(shè)備,該信息已經(jīng)完全無(wú)關(guān)緊要,因?yàn)橐粋€(gè)物理塊通過(guò)物理表示被映射到存儲(chǔ)設(shè)備上每 個(gè)可尋址塊。在包含多于一個(gè)盤片(disk)設(shè)備的幾乎所有存儲(chǔ)系統(tǒng)中,任何給定的可尋址 塊實(shí)際上可以被映射到一個(gè)或多個(gè)物理盤片設(shè)備上的幾乎任何(以及有時(shí)多于一個(gè))物理 塊。利用完全虛擬化的、自動(dòng)精簡(jiǎn)配置的存儲(chǔ)系統(tǒng),只關(guān)于哪些塊正在被使用的信息被隱性 地收集一如果塊被寫入,其被假定為正在被使用。這是本質(zhì)上安全的假設(shè)。在自動(dòng)精簡(jiǎn)配 置的情況下,基于用戶寫入到給定的可尋址塊,物理塊被分配用來(lái)基于需要而映射到用戶 可尋址塊?!白x取”從來(lái)沒(méi)有被寫的塊可以返回空數(shù)據(jù)(dummy data),通常是由全0構(gòu)成的 以及具有所要求的總長(zhǎng)度的數(shù)據(jù)。在這個(gè)實(shí)施例中使塊可以被釋放用于再次使用的僅有的 方法是如果產(chǎn)生PITC,以及給定的邏輯可尋址塊再一次被寫入,并且先前的PITC期滿。再 次地,這隱性地指示先前被分配的塊對(duì)于可尋址存儲(chǔ)的完整性不再必要并且如有需要可以 被重新分配,可能地被分配到其他卷。
某些條件可以導(dǎo)致任何FS中大量未使用的可尋址塊。這種情況的極端例子 可能是產(chǎn)生包含幾乎整個(gè)卷的單個(gè)非常大的文件,接著刪除該文件。存儲(chǔ)子系統(tǒng)將隱性地 分配對(duì)于文件系統(tǒng)進(jìn)行的每次寫入所要求的存儲(chǔ),在這種情況下為包含整個(gè)卷的那些。在 該文件被刪除后,由存儲(chǔ)子系統(tǒng)分配的空間中的大部分不再被需要,但是存儲(chǔ)空間不能隱 性地被釋放,從而消耗資源。隨著時(shí)間逝去,應(yīng)用或者文件系統(tǒng)層面的小型分配以及重新分 配可能導(dǎo)致相同的結(jié)果。
因而,現(xiàn)有的數(shù)據(jù)存儲(chǔ)系統(tǒng)中的自動(dòng)精簡(jiǎn)配置方法受操作系統(tǒng)的文件系統(tǒng) 操作束縛。這些文件系統(tǒng)不重新分配被騰出的空間,而是將先前未使用的空間分配給新文 件寫入,即新文件寫入操作。該操作方法給定分區(qū)中造成先前已經(jīng)被寫入的大量空間,該給 定分區(qū)實(shí)際上不再存儲(chǔ)對(duì)于文件系統(tǒng)可用的數(shù)據(jù)。因?yàn)閿?shù)據(jù)存儲(chǔ)系統(tǒng)沒(méi)有辦法知道哪些邏 輯塊地址(“LBA”)不再被文件系統(tǒng)使用,該文件系統(tǒng)根據(jù)由數(shù)據(jù)存儲(chǔ)系統(tǒng)提供的塊存儲(chǔ)分 層,隨著時(shí)間逝去這些現(xiàn)在未使用的塊將累積。這種累積將最終要求得到的每個(gè)時(shí)間點(diǎn)拷 貝("PITC",point in timecopy)將訪問(wèn)(refer to)頁(yè)面池中先前的頁(yè)面,盡管那個(gè)存儲(chǔ) 實(shí)際上不再被使用。
因?yàn)樵絹?lái)越多的頁(yè)面被宣告為“正在被使用”,而實(shí)際上沒(méi)有正在被使用,諸 如拷貝(copy)、復(fù)制(replication)以及其他數(shù)據(jù)移動(dòng)的操作將占用更多的時(shí)間,并且將 消耗更多的存儲(chǔ)空間(可能在所有層級(jí)),從而使自動(dòng)精簡(jiǎn)配置的許多空間優(yōu)勢(shì)無(wú)效。一 個(gè)示例為lgb的文件被寫入以及相應(yīng)的新的卷被分配,接著該lgb的文件被刪除。在存儲(chǔ) 子系統(tǒng)中,lgb頁(yè)面仍然被分配在有效PITC (active PITC)中并且將被帶到下一個(gè)PITC中 諸如此類。頁(yè)面可以在稍后的PITC中被替換,然而在現(xiàn)有的系統(tǒng)中,沒(méi)有釋放文件系統(tǒng)已 經(jīng)宣告其不再被使用的頁(yè)面的方法。結(jié)果是如果該據(jù)推測(cè)為空的卷通過(guò)使用內(nèi)部工具被拷 貝,在新的拷貝中l(wèi)gb的頁(yè)面將被消耗,即使該卷為空。
因此,確定何時(shí)隱性分配的存儲(chǔ)不再被計(jì)算實(shí)體使用并且可以被騰出用于 其它應(yīng)用的方法是所希望的。
發(fā)明內(nèi)容
本發(fā)明提供通過(guò)使用由主機(jī)計(jì)算機(jī)系統(tǒng)提供的知道在查詢時(shí)哪些被分配的 空間當(dāng)前正在被使用的信息確定帶有隱性分配的數(shù)據(jù)空間的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中的明 顯空閑的數(shù)據(jù)空間的系統(tǒng)和方法。通過(guò)減少所要求的存儲(chǔ)總量,在任何給定數(shù)據(jù)的存在期 可以實(shí)現(xiàn)可觀的成本節(jié)省。
在本發(fā)明的一個(gè)實(shí)施例中,提供用來(lái)確定何時(shí)隱性分配的存儲(chǔ)不再被計(jì)算 實(shí)體使用并且可以被騰出用于其他應(yīng)用的方法。本發(fā)明的優(yōu)點(diǎn)之一是其減少所要求的數(shù)據(jù) 存儲(chǔ)總量,這減少其他資源,諸如要求用來(lái)將數(shù)據(jù)從一個(gè)實(shí)體拷貝到另一個(gè)實(shí)體、存儲(chǔ)數(shù)據(jù) 的另外的拷貝的帶寬,并且相應(yīng)地減少使用起支持作用的基礎(chǔ)設(shè)施,包括輸送和管理存儲(chǔ) 的空間、時(shí)間,以及提供給存儲(chǔ)設(shè)備的動(dòng)力和其他可能有用的資源。
如其將會(huì)實(shí)現(xiàn)地那樣,本發(fā)明的實(shí)施例能夠在各個(gè)顯而易見(jiàn)的方面進(jìn)行改 動(dòng),而都不脫離本發(fā)明的實(shí)質(zhì)和范圍。因此,附圖和詳細(xì)的說(shuō)明應(yīng)被認(rèn)為本質(zhì)上是示意性的 而不是限制性的。
圖1示出根據(jù)本發(fā)明的原理的數(shù)據(jù)存儲(chǔ)空間恢復(fù)的一個(gè)示例性方法的流程 圖。
圖2示出根據(jù)本發(fā)明的原理的到計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中明顯空閑數(shù)據(jù)空間 的頁(yè)面池映射方法的一個(gè)示例性文件系統(tǒng)單元/扇區(qū)/簇。
具體實(shí)施例方式
圖1和2示出確定通過(guò)使用由主機(jī)計(jì)算機(jī)系統(tǒng)提供的知道在查詢時(shí)哪些被 分配的空間當(dāng)前正在被使用的信息確定帶有隱性分配的數(shù)據(jù)空間的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng) 中明顯空閑的數(shù)據(jù)空間的方法。
本發(fā)明的主機(jī)計(jì)算機(jī)系統(tǒng)可以包括一個(gè)或多個(gè)計(jì)算實(shí)體(有時(shí)稱為主機(jī)或 者服務(wù)器),該計(jì)算實(shí)體通過(guò)諸如光纖信道、SCSI或者其他標(biāo)準(zhǔn)存儲(chǔ)協(xié)議的方式連接到一 個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)子系統(tǒng),每個(gè)數(shù)據(jù)存儲(chǔ)子系統(tǒng)模擬或者映射到一個(gè)或多個(gè)物理存儲(chǔ)卷。 數(shù)據(jù)存儲(chǔ)子系統(tǒng)的一個(gè)實(shí)施例在題為“Virtual Disk Drive System and Method(虛擬盤 片驅(qū)動(dòng)系統(tǒng)和方法)”、2004年8月13日提交的、序列號(hào)為10/918,329的共同待定的美國(guó) 專利申請(qǐng)中論述,其主題通過(guò)引用被并入。主機(jī)或者服務(wù)器包括操作系統(tǒng)(“OS”),其部分 被稱為文件系統(tǒng)(“FS”),該文件系統(tǒng)具有多個(gè)單元/扇區(qū)/簇,如圖2所示。
主機(jī)或者服務(wù)器通常沒(méi)有辦法確定被限制在單個(gè)物理盤片中的常規(guī)存儲(chǔ)卷 和模擬/虛擬卷之間的區(qū)別。數(shù)據(jù)存儲(chǔ)子系統(tǒng)將主機(jī)或者服務(wù)器所查看的存儲(chǔ)單元扇區(qū) 之間的抽象(abstraction)提供給被用于通過(guò)使用諸如RAID的冗余存儲(chǔ)或者其他非冗余 方法跨多個(gè)盤片被擴(kuò)展的數(shù)據(jù)存儲(chǔ)的那些存儲(chǔ)單元扇區(qū)。存儲(chǔ)子系統(tǒng)抽象化(abstract) 經(jīng)RAID方法被分配到被稱為頁(yè)面的單元的存儲(chǔ),該頁(yè)面包含多個(gè)扇區(qū)。該抽象允許對(duì)虛擬卷和實(shí)際盤片存儲(chǔ)之間的數(shù)據(jù)分配的簡(jiǎn)化的內(nèi)部管理,并且詳細(xì)的實(shí)現(xiàn)在題為“Virtual Disk Drive System and Method(虛擬盤片驅(qū)動(dòng)系統(tǒng)和方法)”、2004年8月13日提交的、 序列號(hào)為10/918,329的共同待定的美國(guó)專利申請(qǐng)中論述。
因此,在圖1中,確定帶有隱性分配的數(shù)據(jù)空間的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中明 顯空閑的數(shù)據(jù)空間的方法100從標(biāo)識(shí)FS分配單元/扇區(qū)/簇的步驟102開(kāi)始。在步驟104 中FS單元/扇區(qū)/簇被分配和映射有OS物理盤片單元/扇區(qū)(the FS units/sectors/ clusters are allocated andmapped with OS physical disk units/sectors in a step 104)。在步驟106中,明顯空閑區(qū)域的未使用的塊的列表被輸送到存儲(chǔ)子系統(tǒng)。在到達(dá)存 儲(chǔ)子系統(tǒng)時(shí),未使用的塊被調(diào)整為僅包括整個(gè)頁(yè)面。頁(yè)面必須完全未使用以使其有資格被 騰出。在步驟108中,控制器(未示出)可以修改有效PITC,該有效PITC在給定的時(shí)間期 間中跟蹤卷的變化。在步驟108中,控制器(未示出)確定未使用的塊的列表中的每個(gè)塊 是在有效時(shí)間點(diǎn)拷貝(“PITC”)中還是在歷史PITC中,其中有效PITC是已經(jīng)被使用并且 沒(méi)有被正在使用的存儲(chǔ)區(qū)域或者頁(yè)面,而歷史PITC是已經(jīng)被使用并且在PITC期滿時(shí)將可 能被騰出的存儲(chǔ)區(qū)域或者頁(yè)面。如果未使用的塊的列表中的塊是有效PITC,則控制器在步 驟110中將頁(yè)面送回空閑列表。圖2中的頁(yè)面池210示出存儲(chǔ)空間的空閑列表。圖2中的 頁(yè)面池212示出頁(yè)面被送回之后的空閑列表。
如果空閑列表中的塊是歷史PITC,則控制器在步驟112中將有效PITC中的 頁(yè)面標(biāo)記為可用以在擁有該頁(yè)面的被凍結(jié)的PITC期滿成為帶有被標(biāo)記的頁(yè)面的PITC時(shí)被 騰出(即稍后的PITC可以含有可能已經(jīng)與該頁(yè)面重疊的新的數(shù)據(jù),所以該頁(yè)面無(wú)論如何可 以已經(jīng)被隱性地騰出),從而在歷史PITC期滿時(shí)該頁(yè)面將被騰出。歷史PITC內(nèi)的數(shù)據(jù)是 只讀的并且可以在存在期不被更改。這包括到將1/0寫入數(shù)據(jù)頁(yè)面,以及將頁(yè)面送回空閑 列表。一旦歷史PITC期滿,其頁(yè)面可能被送回到空閑列表。接下來(lái),控制器確定列表中是 否有另一個(gè)塊。如果是,方法100返回步驟108依此類推。如果列表中沒(méi)有塊,方法100結(jié) 束。圖2中的頁(yè)面池212示出PITC B和C從系統(tǒng)中期滿之后的空閑頁(yè)面列表。在PITC B 和C從系統(tǒng)中期滿時(shí)頁(yè)面E和N被騰出。只要PITC存在并且提供有效的恢復(fù)點(diǎn),其需要保 留其全部的頁(yè)面。
在沒(méi)有本發(fā)明的上述方法100的典型情況中,PITC A中的頁(yè)面6、PITC B中 的頁(yè)面1、PITC C中的頁(yè)面1、2,如圖2所示,可以在先前已經(jīng)被訪問(wèn)(reference),因而它 們必須被帶向前作為PITC合并,并且它們是隱性的空閑的空間而服務(wù)器或者主機(jī)沒(méi)法知 道。如圖2所示,F(xiàn)S不再使用如FS簇映射202所指示的這些存儲(chǔ)區(qū)域,即簇2、4、5、6不再 被使用,其僅是被浪費(fèi)的空間。
為了釋放或者騰出這些空間,F(xiàn)S被要求用來(lái)標(biāo)識(shí)在簇映射202中示出的沒(méi) 有正在被使用以及正在被使用的簇。這將簇2、4、5、6標(biāo)識(shí)為不再被使用。
接著,F(xiàn)S被要求用來(lái)將沒(méi)有正在被使用的簇(2、4、5、6)映射到對(duì)0S可見(jiàn)的 盤片。這提供簇2到盤片0上的扇區(qū)3、4、簇4到盤片0上的扇區(qū)7、8、簇5到盤片1上的 扇區(qū)18和19、以及簇6到盤片1上的扇區(qū)1和2的映射。應(yīng)當(dāng)理解的是在此使用的扇區(qū)號(hào) 是為了示意的目的。
因?yàn)橥ㄟ^(guò)設(shè)計(jì)0S所查看的物理盤片與由存儲(chǔ)子系統(tǒng)呈現(xiàn)的模擬/虛擬卷一 致,盤片的0S視角(view) 204和存儲(chǔ)子系統(tǒng)卷206之間有一對(duì)一的扇區(qū)映射。
被標(biāo)識(shí)為沒(méi)有被正在使用的扇區(qū)的扇區(qū)地址現(xiàn)在可以被解析到數(shù)據(jù)從其被 映射的相應(yīng)的PITC,即208中的PITC A、PITC B、以及PITC C。每個(gè)PITC頁(yè)面通常含有非 常多的扇區(qū)-有時(shí)數(shù)千個(gè),而在這個(gè)示例中為了示意的目的,每個(gè)頁(yè)面含有兩個(gè)扇區(qū)。因 此,卷0的扇區(qū)3和4被映射到PITC B的頁(yè)面1,卷0的扇區(qū)7和8被映射到PITCA的頁(yè) 面6依此類推。在該點(diǎn)處,由于頁(yè)面的其他部分正在被使用而不能被騰出的頁(yè)面也可以被 解析。舉例來(lái)說(shuō),在圖2中,卷1的扇區(qū)19被映射到PITC C的頁(yè)面5,其也并且仍然正在被 卷1的扇區(qū)3使用。在這種情況下,PITC C的頁(yè)面5在該點(diǎn)處沒(méi)有被騰出。
通過(guò)使用關(guān)于FS的服務(wù)器信息,在208中示出的PITC頁(yè)面被標(biāo)記為對(duì)于今 后的PITC為不再被使用并且將不被向前合并超過(guò)空間恢復(fù)的點(diǎn),因而節(jié)省可觀的存儲(chǔ)。
注意到的是上述示例沒(méi)有示出從來(lái)沒(méi)有被使用的FS簇怎樣被映射到“零數(shù) 據(jù)”。應(yīng)當(dāng)理解的是盡管本發(fā)明的方法標(biāo)識(shí)和解析先前已經(jīng)含有數(shù)據(jù)并且不再含有數(shù)據(jù)的 (例如刪除或者移動(dòng)文件等等)簇,可以實(shí)現(xiàn)被用來(lái)標(biāo)識(shí)和解析包括從來(lái)沒(méi)有被使用的一 些簇的簇的步驟。
總的來(lái)說(shuō),通過(guò)檢查FS,某些被標(biāo)識(shí)的頁(yè)面可以從稍后的PITC中去除,在今 后的操作中將某些頁(yè)面送回存儲(chǔ)頁(yè)面池。在本發(fā)明中,F(xiàn)S可以自由地將由FS使用的任何 分配單元以其所希望的任何方式映射到扇區(qū)和物理盤片。因而恢復(fù)不再被使用的空間的關(guān) 鍵之一是查詢FS以確定哪個(gè)空間實(shí)際上正在被使用以及處于哪個(gè)物理位置。在知道該信 息的情況下,可以執(zhí)行從FS分配單元到虛擬存儲(chǔ)子系統(tǒng)卷的映射,并且從那里,到頁(yè)面的 映射。隱性地被標(biāo)識(shí)為正在被使用的頁(yè)面可以明顯地被確定為被空閑。該信息可以被用來(lái) 在合適的PITC中優(yōu)化空間使用。
權(quán)利要求
確定計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中明顯空閑的數(shù)據(jù)空間的方法,其包含以下步驟詢問(wèn)哪些被分配的空間正在被使用以及沒(méi)有正在被使用;通過(guò)使用由主機(jī)計(jì)算機(jī)系統(tǒng)提供的信息來(lái)提供隱性分配的數(shù)據(jù)空間;以及將所述被分配的空間從物理盤片映射到虛擬卷,以及映射到時(shí)間點(diǎn)拷貝(“PITC”)頁(yè)面,其中不再被使用的空間被標(biāo)識(shí)在PITC頁(yè)面中并且將不被向前合并并且在頁(yè)面池列表中被騰出。
2.確定帶有隱性分配的數(shù)據(jù)空間的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中明顯空閑的數(shù)據(jù)空間的方 法,其包含以下步驟標(biāo)識(shí)文件系統(tǒng)(“FS”)分配單元/扇區(qū)/簇,其中所述FS分配單元/扇區(qū)/簇被分配 和映射有操作系統(tǒng)(“OS”)物理盤片單元/扇區(qū);將明顯空閑區(qū)域的未使用的塊的列表輸送到存儲(chǔ)子系統(tǒng);將明顯空閑區(qū)域的所述未使用的塊的列表調(diào)整為僅包括所述存儲(chǔ)子系統(tǒng)中完整的頁(yè)確定所述未使用的塊的列表中的每個(gè)塊是在有效時(shí)間點(diǎn)拷貝(“PITC”)中還是在歷史 PITC中,其中所述有效PITC是已經(jīng)被使用過(guò)并且沒(méi)有正在被使用的存儲(chǔ)區(qū)域或者頁(yè)面,而 所述歷史PITC是已經(jīng)被使用過(guò)并且在所述有效PITC期滿時(shí)將可能被騰出的存儲(chǔ)區(qū)域或者 頁(yè)面,其中,如果所述未使用的塊的列表中的塊是所述有效PITC,則將所述頁(yè)面送回空閑列表;以及如果所述未使用的塊的列表中的塊是歷史PITC,則將所述有效PITC中的頁(yè)面標(biāo)記為 可用以在擁有相應(yīng)頁(yè)面的PITC期滿時(shí)被騰出。
3.如權(quán)利要求2所述的方法,其還包含修改有效PITC的步驟,所述有效PITC在給定的 時(shí)間期間中跟蹤虛擬存儲(chǔ)空間的卷的變化。
全文摘要
提供了通過(guò)使用由主機(jī)計(jì)算機(jī)系統(tǒng)提供的知道在查詢時(shí)哪些被分配的空間當(dāng)前正在被使用的信息確定帶有隱性分配的數(shù)據(jù)空間的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)系統(tǒng)中明顯空閑的數(shù)據(jù)空間的方法。在一個(gè)實(shí)施例中,文件系統(tǒng)(“FS”)被要求用來(lái)標(biāo)識(shí)不再被使用的簇,該簇接著被映射到對(duì)操作系統(tǒng)(“OS”)可見(jiàn)的物理盤片。該物理盤片被映射到由存儲(chǔ)子系統(tǒng)呈現(xiàn)的模擬/虛擬的卷。通過(guò)使用關(guān)于FS的服務(wù)器信息,對(duì)于不再被使用的那些頁(yè)面,時(shí)間點(diǎn)拷貝(“PITC”)頁(yè)面被標(biāo)記用于今后的PITC并且將不被向前合并,從而節(jié)省可觀的存儲(chǔ)。
文檔編號(hào)G06F12/00GK101878471SQ200880103998
公開(kāi)日2010年11月3日 申請(qǐng)日期2008年6月23日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者L·E·阿什曼, M·D·奧爾森, M·H·皮特爾科, M·J·克萊姆 申請(qǐng)人:康佩倫特科技公司