欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于執(zhí)行去重復(fù)操作的碎片控制的制作方法

文檔序號(hào):6533690閱讀:157來(lái)源:國(guó)知局
用于執(zhí)行去重復(fù)操作的碎片控制的制作方法
【專(zhuān)利摘要】在此介紹的技術(shù)能夠用于文件系統(tǒng)的去重復(fù)操作,不會(huì)由于在所述文件系統(tǒng)中數(shù)據(jù)集的碎片而顯著影響所述文件系統(tǒng)的讀取性能。所述技術(shù)包括通過(guò)承載所述文件系統(tǒng)的存儲(chǔ)服務(wù)器確定將會(huì)被引入到存儲(chǔ)在所述文件系統(tǒng)中的數(shù)據(jù)集的碎片的級(jí)別,作為在所述數(shù)據(jù)集上執(zhí)行去重復(fù)操作的結(jié)果。所述存儲(chǔ)服務(wù)器接著將所述碎片的級(jí)別與一閾值比較,并基于比較所述碎片的級(jí)別與所述閾值的結(jié)果確定是否執(zhí)行所述去重復(fù)操作。所述閾值表示在所述文件系統(tǒng)的所述數(shù)據(jù)集中的可接受的碎片的級(jí)別。
【專(zhuān)利說(shuō)明】用于執(zhí)行去重復(fù)操作的碎片控制
[0001] 相關(guān)申請(qǐng)奪叉引用
[0002] 本申請(qǐng)要求2012年2月29日提交的美國(guó)申請(qǐng)?zhí)?3/408,051的優(yōu)先權(quán),其通過(guò)引 用的方式被整體并入此文。

【技術(shù)領(lǐng)域】
[0003] 本發(fā)明的至少一個(gè)實(shí)施例涉及由存儲(chǔ)服務(wù)器存儲(chǔ)的數(shù)據(jù)的去重復(fù),且特別涉及在 去重復(fù)的過(guò)程中控制被引入到數(shù)據(jù)集的碎片化級(jí)別。

【背景技術(shù)】
[0004] 存儲(chǔ)控制器是一種物理處理裝置,用于存儲(chǔ)和檢索代表一個(gè)或多個(gè)主機(jī)的數(shù)據(jù)。 網(wǎng)絡(luò)存儲(chǔ)控制器可被配置(例如,由硬件、軟件、固件或它們的任何組合)以作為存儲(chǔ)服務(wù) 器操作,其為一個(gè)或多個(gè)聯(lián)網(wǎng)客戶端服務(wù),以在一組大容量存儲(chǔ)裝置(諸如磁或光學(xué)存儲(chǔ) 磁盤(pán)、磁帶,或閃存)中存儲(chǔ)和管理數(shù)據(jù)。
[0005] 大容量存儲(chǔ)裝置提供了一系列可存儲(chǔ)數(shù)據(jù)的可尋址的位置。一些裝置,例如磁帶 驅(qū)動(dòng)器,僅允許存儲(chǔ)位置被按順序訪問(wèn),而其他裝置,諸如硬盤(pán)或閃存,允許隨機(jī)訪問(wèn)。大容 量存儲(chǔ)裝置可以被組合,以給予一具有某理想特性的單個(gè)裝置更高層的印象。例如,獨(dú)立磁 盤(pán)冗余陣列("RAID陣列")可以包含在之中散布數(shù)據(jù)的兩個(gè)或多個(gè)硬盤(pán),以獲得傳輸速度 的增加、容錯(cuò)的改進(jìn)或存儲(chǔ)容量的簡(jiǎn)單增加。在RAID陣列中的各種裝置上的數(shù)據(jù)放置(以 及誤差檢測(cè)和校正信息的計(jì)算和存儲(chǔ))可以通過(guò)硬件和/或軟件來(lái)管理。
[0006] 許多同時(shí)代的數(shù)據(jù)處理系統(tǒng)消耗和/或產(chǎn)生大量數(shù)據(jù)。大容量存儲(chǔ)裝置,如硬盤(pán) 驅(qū)動(dòng)器通常被用來(lái)存儲(chǔ)這些數(shù)據(jù)。為了跟上由這些處理系統(tǒng)所消耗和產(chǎn)生的數(shù)據(jù)量,大容 量存儲(chǔ)裝置的存儲(chǔ)容量和/或在大容量存儲(chǔ)裝置上的使用空間的效率可以被提高。一種用 于增加在大容量存儲(chǔ)裝置上的空間使用效率的方法是執(zhí)行消除存儲(chǔ)在大容量存儲(chǔ)裝置上 的冗余數(shù)據(jù)的去重復(fù)操作。
[0007] 然而,去重復(fù)通常向被預(yù)先作為連續(xù)塊存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)集引入碎片。每個(gè)可 尋址的存儲(chǔ)位置通??梢匀菁{多個(gè)數(shù)據(jù)字節(jié),這樣的位置被稱為"塊"。當(dāng)數(shù)據(jù)集的數(shù)據(jù)塊 被分離和/或無(wú)讀取順序式存儲(chǔ)時(shí),數(shù)據(jù)集被稱為是"被碎片化"。讀取被碎片化數(shù)據(jù)集的 過(guò)程可能造成存儲(chǔ)系統(tǒng)執(zhí)行多個(gè)讀取操作以獲得對(duì)應(yīng)于數(shù)據(jù)集的數(shù)據(jù)塊的內(nèi)容。許多類(lèi)型 的大容量存儲(chǔ)裝置的機(jī)械性質(zhì)限制了它們的速度為系統(tǒng)潛在處理速度的一小部分,特別是 當(dāng)數(shù)據(jù)集被碎片化并要求多次讀取操作來(lái)檢索數(shù)據(jù)集時(shí)。因?yàn)橛扇ブ貜?fù)引起的碎片可能對(duì) 存儲(chǔ)系統(tǒng)性能產(chǎn)生負(fù)面影響,許多存儲(chǔ)系統(tǒng)用戶禁用去重復(fù)操作,因此不會(huì)從去重復(fù)的空 間節(jié)省優(yōu)勢(shì)中受益。
[0008] 因此,需要一種用于平衡去重復(fù)操作過(guò)程中引入碎片的影響和用戶所期望的存儲(chǔ) 系統(tǒng)性能的技術(shù)。


【發(fā)明內(nèi)容】

[0009] 在此介紹的技術(shù)能夠用于文件系統(tǒng)的去重復(fù)操作,不會(huì)由于在文件系統(tǒng)中數(shù)據(jù)集 的碎片而顯著影響文件系統(tǒng)的讀取性能。在一個(gè)實(shí)施例中,承載文件系統(tǒng)的存儲(chǔ)服務(wù)器確 定將會(huì)被引入到存儲(chǔ)在文件系統(tǒng)中的數(shù)據(jù)集的碎片的級(jí)別,以作為在數(shù)據(jù)集上進(jìn)行去重復(fù) 操作的結(jié)果。存儲(chǔ)服務(wù)器接著將碎片的級(jí)別與一閾值比較,并確定是否基于比較的結(jié)果執(zhí) 行去重復(fù)操作。閾值表示在文件系統(tǒng)的數(shù)據(jù)集中的可接受的碎片的級(jí)別。
[0010] 在一個(gè)實(shí)施例中,存儲(chǔ)在文件系統(tǒng)中的數(shù)據(jù)的碎片的級(jí)別通過(guò)執(zhí)行預(yù)讀以計(jì)算在 數(shù)據(jù)集上執(zhí)行去重復(fù)操作后訪問(wèn)數(shù)據(jù)集所需的讀取操作的數(shù)量以及通過(guò)計(jì)算碎片索引被 確定,碎片索引是去重復(fù)操作后的讀取操作的數(shù)量與訪問(wèn)一理想數(shù)據(jù)集的讀取操作的數(shù)量 的比值。理想數(shù)據(jù)集是指被存儲(chǔ)在連續(xù)的物理數(shù)據(jù)塊內(nèi)并且能夠以具有最低數(shù)量的讀取操 作被訪問(wèn)。碎片索引是由于去重復(fù)操作使得碎片增加的指示。
[0011] 存儲(chǔ)服務(wù)器可以通過(guò)確定物理卷塊號(hào)(PVBN)的列表,對(duì)PVBN列表進(jìn)行排序以及 計(jì)算塊的連續(xù)組數(shù)來(lái)計(jì)算在執(zhí)行去重復(fù)操作后訪問(wèn)數(shù)據(jù)集的讀取操作的數(shù)量,物理卷塊號(hào) (PVBN)的列表將表示在去重復(fù)操作被執(zhí)行后的數(shù)據(jù)集。
[0012] 以上概括的技術(shù)的其它方面通過(guò)附圖和下面的詳細(xì)說(shuō)明將是顯而易見(jiàn)的。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0013] 通過(guò)例子和非限制性附圖對(duì)本發(fā)明的一個(gè)或多個(gè)實(shí)施例進(jìn)行說(shuō)明,在附圖中,相 同的引用代表相同的元件。
[0014] 圖1所示是網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的示例。
[0015] 圖2所示是可以實(shí)現(xiàn)一個(gè)或多個(gè)網(wǎng)絡(luò)存儲(chǔ)服務(wù)器的存儲(chǔ)控制器的示例圖。
[0016] 圖3示意性地示出了在存儲(chǔ)服務(wù)器內(nèi)的存儲(chǔ)操作系統(tǒng)的體系結(jié)構(gòu)的示例圖。
[0017] 圖4A所示是文件系統(tǒng)中的文件的緩沖樹(shù)的框圖表示。
[0018] 圖4B所示是在文件系統(tǒng)上執(zhí)行去重復(fù)過(guò)程后在文件系統(tǒng)中的文件的緩沖樹(shù)的框 圖表示。
[0019] 圖5所示是用于確定是否執(zhí)行去重復(fù)操作的過(guò)程的流程圖。
[0020] 圖6所示是用于確定通過(guò)在數(shù)據(jù)集上執(zhí)行去重復(fù)操作而將被引入的碎片的級(jí)別 的流程圖。
[0021] 圖7所示是在執(zhí)行去重復(fù)操作之前計(jì)算在去重復(fù)后訪問(wèn)數(shù)據(jù)集的讀取操作的數(shù) 量的流程圖。

【具體實(shí)施方式】
[0022] 在本說(shuō)明書(shū)中所提到的"實(shí)施例"、" 一實(shí)施例"或類(lèi)似的表達(dá),表示在本發(fā)明的至 少一實(shí)施例中包含所描述的特定的特征、結(jié)構(gòu)或特性。在本說(shuō)明書(shū)中出現(xiàn)的這類(lèi)詞匯不一 定都是指相同的實(shí)施例。
[0023] 圖1所示是網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的示例,該系統(tǒng)包括多個(gè)客戶端系統(tǒng)104、存儲(chǔ)服務(wù)器 108以及連接客戶端服務(wù)器104和存儲(chǔ)服務(wù)器108的網(wǎng)絡(luò)106。如圖1所示,存儲(chǔ)服務(wù)器 108與在大容量存儲(chǔ)子系統(tǒng)105內(nèi)的多個(gè)大容量存儲(chǔ)裝置112,諸如磁盤(pán),建立連接??蛇x 擇地,一些或所有的大容量存儲(chǔ)裝置112可以是其它類(lèi)型的存儲(chǔ)器,諸如閃存、固態(tài)驅(qū)動(dòng)器 (SSD)、磁帶存儲(chǔ)器等等。但是,為了便于說(shuō)明,存儲(chǔ)裝置112在此被假定為是磁盤(pán)。
[0024] 存儲(chǔ)服務(wù)器108可以是,例如,可得自NetApp#公司的FAS-系列之一的存儲(chǔ)服務(wù) 器產(chǎn)品??蛻舳讼到y(tǒng)104通過(guò)網(wǎng)絡(luò)106被連接到存儲(chǔ)服務(wù)器108,網(wǎng)絡(luò)106可以是分組交換 網(wǎng)絡(luò),例如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。此外,存儲(chǔ)服務(wù)器108可以經(jīng)由交換結(jié)構(gòu)(未示 出)被連接到磁盤(pán)112,例如,交換結(jié)構(gòu)可以是光纖分布式數(shù)據(jù)接口(FDDI)網(wǎng)絡(luò)。值得注意 的是,在網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)環(huán)境中,任何其它合適的數(shù)量的存儲(chǔ)服務(wù)器和/或大容量存儲(chǔ)裝置, 和/或任何其它合適的網(wǎng)絡(luò)技術(shù),也可以被使用。
[0025] 存儲(chǔ)服務(wù)器108可以以一種傳統(tǒng)的方式使得在磁盤(pán)112上的一部分或所有的存儲(chǔ) 空間可用于客戶端系統(tǒng)104是。例如,每個(gè)磁盤(pán)112可以被實(shí)施,作為單獨(dú)的磁盤(pán)、多個(gè)磁 盤(pán)(例如,RAID組),或任何其它合適的大容量存儲(chǔ)裝置。在大容量存儲(chǔ)子系統(tǒng)105內(nèi)信息 的存儲(chǔ)可以被實(shí)施作為一個(gè)或多個(gè)存儲(chǔ)卷,其包括配合以定義卷上的卷塊號(hào)(VBN)空間的 整體邏輯排列的物理存儲(chǔ)磁盤(pán)112的集合。盡管不是必須的,每個(gè)卷一般與其自身的文件 系統(tǒng)相關(guān)聯(lián)。
[0026] 與卷/文件系統(tǒng)相關(guān)聯(lián)的磁盤(pán)通常被組成為一個(gè)或多個(gè)組,其中每個(gè)組可以作為 獨(dú)立(或廉價(jià))磁盤(pán)冗余陣列(RAID)被操作。大多數(shù)RAID實(shí)現(xiàn)方式(如RAID-4級(jí)實(shí)現(xiàn) 方式)通過(guò)跨越在RAID組中的給定數(shù)量的物理磁盤(pán)的數(shù)據(jù)"條帶"的冗余寫(xiě)入和關(guān)于條帶 數(shù)據(jù)的奇偶校驗(yàn)信息的適當(dāng)存儲(chǔ)來(lái)增強(qiáng)數(shù)據(jù)存儲(chǔ)的可靠性/完整性。RAID實(shí)現(xiàn)方式的一說(shuō) 明性的例子是RAID-4級(jí)實(shí)現(xiàn)方式,但應(yīng)當(dāng)理解的是,RAID實(shí)現(xiàn)方式的其它類(lèi)型和級(jí)別可以 根據(jù)本文描述的技術(shù)被使用。一個(gè)或多個(gè)RAID組一起形成集群。集群可以包含一個(gè)或多 個(gè)卷。
[0027] 圖2所示是可以實(shí)施一個(gè)或多個(gè)網(wǎng)絡(luò)存儲(chǔ)服務(wù)器,例如,圖1所示的存儲(chǔ)服務(wù)器 108的存儲(chǔ)控制器的硬件體系結(jié)構(gòu)的一示例的示意圖。存儲(chǔ)服務(wù)器是一個(gè)處理系統(tǒng),其提供 關(guān)于在大容量存儲(chǔ)裝置上,諸如大容量存儲(chǔ)子系統(tǒng)105的磁盤(pán)112上的信息的存儲(chǔ)、組織和 檢索的存儲(chǔ)服務(wù)。在一個(gè)示例性實(shí)施例中,存儲(chǔ)服務(wù)器108包括處理器子系統(tǒng)210,其包括 一個(gè)或多個(gè)處理器。存儲(chǔ)服務(wù)器108還包括內(nèi)存220、網(wǎng)絡(luò)適配器240和存儲(chǔ)適配器250, 全部由互連260互相連接。
[0028] 存儲(chǔ)服務(wù)器108可以被作為單-處理器或多-處理器存儲(chǔ)服務(wù)器實(shí)施,該單-處 理器的或多-處理器的存儲(chǔ)服務(wù)器執(zhí)行存儲(chǔ)操作系統(tǒng)230以合邏輯地組織在磁盤(pán)112上的 一個(gè)或多個(gè)文件系統(tǒng)中的數(shù)據(jù),存儲(chǔ)操作系統(tǒng)230優(yōu)選地實(shí)施被稱為存儲(chǔ)管理器的高級(jí)別 模塊。
[0029] 內(nèi)存220說(shuō)明性地包括由處理器210、適配器240和250可尋址的存儲(chǔ)位置,以用 于存儲(chǔ)軟件程序代碼和與在此介紹的技術(shù)相關(guān)聯(lián)的數(shù)據(jù)。處理器210和適配器可能,反過(guò) 來(lái),包括被配置來(lái)執(zhí)行軟件代碼和操縱數(shù)據(jù)結(jié)構(gòu)的處理元件和/或邏輯電路。通常位于內(nèi) 存中并且由處理元件執(zhí)行的部分的存儲(chǔ)操作系統(tǒng)230通過(guò)(除其他事項(xiàng)外)調(diào)用存儲(chǔ)操作 以支持由存儲(chǔ)服務(wù)器108提供的存儲(chǔ)服務(wù)來(lái)功能性地組織存儲(chǔ)服務(wù)器108。對(duì)于本領(lǐng)域技 術(shù)人員而言顯而易見(jiàn)的是,其它處理器和內(nèi)存實(shí)現(xiàn)方式,包括各種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可 以被用于存儲(chǔ)和執(zhí)行有關(guān)于在此介紹的技術(shù)的程序指令。
[0030] 網(wǎng)絡(luò)適配器240包括多個(gè)端口以通過(guò)點(diǎn)對(duì)點(diǎn)鏈路、廣域網(wǎng)、經(jīng)由公共網(wǎng)絡(luò)(互聯(lián) 網(wǎng))實(shí)施的虛擬專(zhuān)用網(wǎng)絡(luò)或共享局域網(wǎng)絡(luò)來(lái)連接存儲(chǔ)服務(wù)器108與一個(gè)或多個(gè)客戶端104 或其他存儲(chǔ)服務(wù)器。網(wǎng)絡(luò)適配器240因此可以包括機(jī)械部件,以及將存儲(chǔ)服務(wù)器108連接到 網(wǎng)絡(luò)106所需要的電學(xué)或信號(hào)電路。說(shuō)明性地,網(wǎng)絡(luò)106可以被作為以太網(wǎng)或光纖通道網(wǎng) 絡(luò)實(shí)施。每個(gè)客戶端104可以根據(jù)預(yù)定義的協(xié)議(如傳輸控制協(xié)議/Internet協(xié)議(TCP/ IP)),通過(guò)交換數(shù)據(jù)包或數(shù)據(jù)幀來(lái)經(jīng)由網(wǎng)絡(luò)106與存儲(chǔ)服務(wù)器108進(jìn)行通信。
[0031] 存儲(chǔ)適配器250與存儲(chǔ)操作系統(tǒng)230協(xié)作以訪問(wèn)被客戶端104請(qǐng)求的信息。信息 可以被存儲(chǔ)在任何類(lèi)型的可寫(xiě)存儲(chǔ)介質(zhì)的附加陣列之上,可寫(xiě)存儲(chǔ)介質(zhì)如磁盤(pán)或磁帶、光 盤(pán)(例如,CD-ROM或DVD)、閃存、固態(tài)驅(qū)動(dòng)器(SSD)、電子隨機(jī)訪問(wèn)內(nèi)存(RAM)、微機(jī)電和/ 或任何其它類(lèi)似的用于存儲(chǔ)信息(包括數(shù)據(jù)和奇偶校驗(yàn)信息)的介質(zhì)。然而,如在本文中 的不例性描述,信息被存儲(chǔ)在磁盤(pán)112上。適配器250包括多個(gè)具有輸入/輸出(I/O)接 口電路的端口,其經(jīng)由諸如傳統(tǒng)的高性能光纖通道連接拓?fù)浣Y(jié)構(gòu)的I/O互聯(lián)布置與磁盤(pán)連 接。
[0032] 存儲(chǔ)操作系統(tǒng)230便于對(duì)存儲(chǔ)在磁盤(pán)112上的數(shù)據(jù)的客戶端訪問(wèn)。在某些實(shí)施例 中,存儲(chǔ)操作系統(tǒng)230實(shí)現(xiàn)了隨處寫(xiě)入文件系統(tǒng),其與一個(gè)或多個(gè)虛擬化模塊協(xié)作以"虛擬 化"由磁盤(pán)112提供的存儲(chǔ)空間。在某些實(shí)施例中,存儲(chǔ)操作系統(tǒng)230的存儲(chǔ)管理器310 (圖 3)元件在邏輯上將信息組織為在磁盤(pán)112上的命名目錄和文件的層次結(jié)構(gòu)。每個(gè)"磁盤(pán)上 的"文件可以被實(shí)現(xiàn)為被配置為存儲(chǔ)信息的磁盤(pán)塊集。如本文中所使用的,"文件"這個(gè)術(shù) 語(yǔ)是指數(shù)據(jù)的任何邏輯容器。虛擬化模塊可以允許存儲(chǔ)管理器310進(jìn)一步在邏輯上將信息 組織為作為命名邏輯單元號(hào)(LUN)被導(dǎo)出的在磁盤(pán)上的塊的層級(jí)結(jié)構(gòu)。
[0033] 圖3示意性地示出了用在存儲(chǔ)服務(wù)器108內(nèi)的存儲(chǔ)操作系統(tǒng)230的體系結(jié)構(gòu)的 示例圖。在一個(gè)實(shí)施例中,存儲(chǔ)操作系統(tǒng)230可以是NeUpp* Data 0ΝΤΑΡ?操作系統(tǒng), 其可以從NetApp公司獲得,公司位于加州舊金山彎區(qū),操作系統(tǒng)實(shí)現(xiàn)了隨處寫(xiě)入文件布局 (WAFL?)文件系統(tǒng)。然而,另一存儲(chǔ)操作系統(tǒng)可以選擇性地被設(shè)計(jì)或改進(jìn),以根據(jù)本文所描 述的技術(shù)使用。
[0034] 存儲(chǔ)操作系統(tǒng)230可被實(shí)現(xiàn)為用軟件和/或固件進(jìn)行編程的可編程電路,或作為 專(zhuān)門(mén)設(shè)計(jì)的非可編程電路(即,硬件),或者是它們的組合。在如圖所示的實(shí)施例中,存儲(chǔ)操 作系統(tǒng)230包括多個(gè)模塊,或?qū)?。這些層包括存儲(chǔ)管理器310,它是存儲(chǔ)操作系統(tǒng)230的核 心功能元件。存儲(chǔ)管理器310向由存儲(chǔ)服務(wù)器108管理的數(shù)據(jù)和來(lái)自客戶端104的服務(wù)的 讀取和寫(xiě)入請(qǐng)求施加了一結(jié)構(gòu)(例如,一個(gè)或多個(gè)文件系統(tǒng))。
[0035] 為了允許存儲(chǔ)服務(wù)器通過(guò)網(wǎng)絡(luò)106進(jìn)行通信(例如,與客戶端104),存儲(chǔ)操作系統(tǒng) 230還包括多協(xié)議層320和網(wǎng)絡(luò)訪問(wèn)層330,邏輯上低于存儲(chǔ)管理器310。多協(xié)議層320實(shí) 現(xiàn)各種更高級(jí)別的網(wǎng)絡(luò)協(xié)議,諸如網(wǎng)絡(luò)文件系統(tǒng)(NFS)、通用互聯(lián)網(wǎng)文件系統(tǒng)(CIFS)、超文 本傳輸協(xié)議(HTTP)、因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI),和/或備用/鏡像協(xié)議,以使用 戶和/或應(yīng)用程序能夠獲得存儲(chǔ)在磁盤(pán)112上的數(shù)據(jù)。網(wǎng)絡(luò)訪問(wèn)層330包括一個(gè)或多個(gè)網(wǎng) 絡(luò)驅(qū)動(dòng)器以實(shí)現(xiàn)一個(gè)或多個(gè)較低級(jí)別的協(xié)議通過(guò)網(wǎng)絡(luò)進(jìn)行通信,諸如以太網(wǎng)、因特網(wǎng)協(xié)議 (IP)、TCP/IP、光纖信道協(xié)議和/或用戶數(shù)據(jù)報(bào)協(xié)議/因特網(wǎng)協(xié)議(UDP/IP)。
[0036] 此外,為了允許該裝置與存儲(chǔ)子系統(tǒng)(例如,存儲(chǔ)子系統(tǒng)105)進(jìn)行通信,存儲(chǔ)操作 系統(tǒng)230包括存儲(chǔ)訪問(wèn)層340和在邏輯上低于存儲(chǔ)管理器310的相關(guān)聯(lián)的存儲(chǔ)驅(qū)動(dòng)器層 350。存儲(chǔ)訪問(wèn)層340實(shí)現(xiàn)了較高級(jí)別的存儲(chǔ)冗余算法,諸如RAID-4、RAID-5或RAID DP' 存儲(chǔ)驅(qū)動(dòng)器層350實(shí)現(xiàn)較低級(jí)別的存儲(chǔ)裝置訪問(wèn)協(xié)議,諸如光纖通道協(xié)議或小型計(jì)算機(jī)系 統(tǒng)接口(SCSI)。
[0037] 此外,在圖3中所示是通過(guò)存儲(chǔ)操作系統(tǒng)230、與讀取或?qū)懭氩僮飨嚓P(guān)聯(lián)、來(lái)自客 戶端接口至存儲(chǔ)接口的數(shù)據(jù)流的路徑360。因此,存儲(chǔ)管理器310通過(guò)存儲(chǔ)訪問(wèn)層340和存 儲(chǔ)驅(qū)動(dòng)器層350訪問(wèn)存儲(chǔ)子系統(tǒng)105。客戶端104可以根據(jù)信息傳遞的客戶端/服務(wù)器模 型與存儲(chǔ)服務(wù)器108交互。即,客戶端104請(qǐng)求存儲(chǔ)服務(wù)器108的服務(wù),并且存儲(chǔ)服務(wù)器可 以通過(guò)網(wǎng)絡(luò)106交換數(shù)據(jù)包以返回客戶端請(qǐng)求的服務(wù)的結(jié)果。當(dāng)以文件和目錄的形式訪問(wèn) 信息時(shí),客戶端可以通過(guò)在TCP/IP上使用基于文件的訪問(wèn)協(xié)議,諸如CIFS或NFS,來(lái)發(fā)出數(shù) 據(jù)包??蛇x的,當(dāng)以塊的形式訪問(wèn)信息時(shí),客戶端可通過(guò)使用基于塊的訪問(wèn)協(xié)議,如iSCSI 和SCSI,來(lái)發(fā)出數(shù)據(jù)包。
[0038] 在一個(gè)實(shí)施例中,存儲(chǔ)管理器310實(shí)現(xiàn)了提供邏輯卷管理功能的基于消息的文件 系統(tǒng),用于訪問(wèn)存儲(chǔ)在存儲(chǔ)裝置(諸如磁盤(pán)112)上的信息。即,除了提供文件系統(tǒng)語(yǔ)義,存 儲(chǔ)管理器310提供附加的存儲(chǔ)效率功能,如去重復(fù)和壓縮操作。存儲(chǔ)管理器310可以實(shí)現(xiàn) WAFL文件系統(tǒng)(以下通常稱"隨處寫(xiě)入文件系統(tǒng)"),其具有磁盤(pán)上的格式表示,即基于塊的 使用,例如,4千字節(jié)(kB)塊,以及采用索引節(jié)點(diǎn)("inodes")來(lái)識(shí)別文件和文件屬性(諸 如創(chuàng)建時(shí)間、訪問(wèn)權(quán)限、大小和塊的位置)。文件系統(tǒng)采用文件來(lái)存儲(chǔ)元數(shù)據(jù),以描述其文件 系統(tǒng)的布局;這些元數(shù)據(jù)文件包括,但不限于,索引節(jié)點(diǎn)文件。
[0039] 在操作上,來(lái)自客戶端104的請(qǐng)求被作為數(shù)據(jù)包通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)106轉(zhuǎn)發(fā)至存儲(chǔ) 服務(wù)器108上,在那里被網(wǎng)絡(luò)適配器240接收。(層330的)網(wǎng)絡(luò)驅(qū)動(dòng)器處理數(shù)據(jù)包并且, 若是合適的,在轉(zhuǎn)發(fā)至存儲(chǔ)管理器310之前把它傳送至多協(xié)議訪問(wèn)層用于附加的處理。在 這里,存儲(chǔ)管理器生成操作以加載(檢索)來(lái)自磁盤(pán)112的請(qǐng)求數(shù)據(jù)。存儲(chǔ)控制器接下來(lái) 傳送消息結(jié)構(gòu),包括RAID系統(tǒng)340的文件索引節(jié)點(diǎn),文件索引節(jié)點(diǎn)被映射到磁盤(pán)標(biāo)識(shí)符和 磁盤(pán)塊數(shù)并被發(fā)送至磁盤(pán)驅(qū)動(dòng)器系統(tǒng)350的適當(dāng)?shù)尿?qū)動(dòng)器(例如,SCSI驅(qū)動(dòng)器)。磁盤(pán)驅(qū) 動(dòng)器從指定的磁盤(pán)112訪問(wèn)磁盤(pán)塊數(shù),并在內(nèi)存220內(nèi)加載請(qǐng)求的數(shù)據(jù)塊用于通過(guò)存儲(chǔ)服 務(wù)器處理。根據(jù)請(qǐng)求的完成,存儲(chǔ)服務(wù)器(以及操作系統(tǒng))通過(guò)網(wǎng)絡(luò)106向客戶端104返 回一回復(fù)。
[0040] 雖然在圖3中示出為單個(gè)單元,存儲(chǔ)操作系統(tǒng)230可具有分布式體系結(jié)構(gòu)。例如, 多協(xié)議層320和網(wǎng)絡(luò)訪問(wèn)層330可以被包含在N-模塊(例如,N-刀片)內(nèi),而存儲(chǔ)管理器 310、存儲(chǔ)訪問(wèn)層340和存儲(chǔ)驅(qū)動(dòng)層350被包含在單獨(dú)的D-模塊(例如,D-刀片)內(nèi)。在 這種情況下,N-模塊和D模塊(未示出)通過(guò)某種形式的物理互連進(jìn)行通信(并且,可能 的話,與其它N-模塊和D-模塊通信),并共同形成存儲(chǔ)服務(wù)器節(jié)點(diǎn)。這樣的存儲(chǔ)服務(wù)器節(jié) 點(diǎn)可以與一個(gè)或多個(gè)其它存儲(chǔ)服務(wù)器節(jié)點(diǎn)連接以形成高度可擴(kuò)展的存儲(chǔ)服務(wù)器集群。
[0041] 圖4A是文件系統(tǒng)中的文件的緩沖樹(shù)(buffer trees)的框圖表示。文件系統(tǒng)中的 每個(gè)文件被分配一個(gè)索引節(jié)點(diǎn)。例如,圖4A包括通過(guò)存儲(chǔ)在文件系統(tǒng)中的索引節(jié)點(diǎn)402-a 和402-b表示的兩個(gè)文件。每個(gè)索引節(jié)點(diǎn)402引用,例如使用指針,級(jí)別1(L1)間接塊404。 每個(gè)間接塊404存儲(chǔ)至少一個(gè)物理卷塊號(hào)(PVBN) 410。每個(gè)PVBN 410引用,例如使用指針, 大容量存儲(chǔ)裝置408中的物理塊406。如圖4A所示,每個(gè)PVBN 410引用唯一的物理塊406。 例如,PVBN 410-b引用物理塊406-b。應(yīng)當(dāng)注意的是,可能會(huì)存在間接塊的附加級(jí)別(例 如,級(jí)別2、級(jí)別3),這取決于文件的大小和布局。
[0042] 圖4B所示是在文件系統(tǒng)上執(zhí)行去重復(fù)過(guò)程后,在文件系統(tǒng)中的文件的緩沖樹(shù)的 框圖表示。在圖4B所示的文件對(duì)應(yīng)于圖4A中的文件。如以上簡(jiǎn)要描述的,去重復(fù)操作消 除了在文件系統(tǒng)中的冗余數(shù)據(jù),以產(chǎn)生存儲(chǔ)附加數(shù)據(jù)的空間。本質(zhì)上,去重復(fù)刪除了重復(fù)的 數(shù)據(jù)塊,僅在文件系統(tǒng)中存儲(chǔ)唯一的塊,并在此過(guò)程中產(chǎn)生少量的附加元數(shù)據(jù)。這個(gè)附加的 元數(shù)據(jù)由存儲(chǔ)管理器310使用來(lái)定位數(shù)據(jù)以響應(yīng)請(qǐng)求。在一個(gè)實(shí)施例中,元數(shù)據(jù)包括散列 值(例如,基于SHA-256)或"指紋"值以用于在文件系統(tǒng)中的每個(gè)塊。在去重復(fù)過(guò)程中,數(shù) 據(jù)塊的散列值與其它存儲(chǔ)在文件系統(tǒng)中的塊的散列值比較,并且如果發(fā)現(xiàn)匹配(即,塊是 相同的),通過(guò)共享兩個(gè)或多個(gè)間接塊之間的物理塊中的一個(gè)來(lái)消除冗余數(shù)據(jù)。
[0043] 考慮圖4A中由索引節(jié)點(diǎn)402-a和402-b表示的文件為例,如果經(jīng)散列值比較后, 數(shù)據(jù)塊410-c,410-d和410-f被確定相同,則在去重復(fù)后一個(gè)塊可以被共享而不是在磁盤(pán) 上保留三個(gè)塊。塊共享在圖4B中表示。在圖4B的例子中,PVBN 410-d被指定為捐獻(xiàn)者, 而PVBN 410-c和410-f被指定為收受者。不再被收受者PVBN(即,塊406-c和406-f)引 用的底層物理塊被釋放且可以被存儲(chǔ)管理器310使用以存儲(chǔ)附加數(shù)據(jù)。
[0044] 去重復(fù)操作通常向文件系統(tǒng)引入碎片。如圖4A所示,存儲(chǔ)管理器310按順序向文 件分配塊(即,406-a,406-b,406-c)以提高存儲(chǔ)系統(tǒng)的讀取性能。當(dāng)一個(gè)文件的塊是連續(xù) 的,文件可以由單一的讀取操作訪問(wèn),而不需要相對(duì)耗時(shí)的尋找操作來(lái)定位文件塊。如圖4B 所示,當(dāng)去重復(fù)操作共享數(shù)據(jù)的塊,即文件的其余部分為非連續(xù)的,塊的該連續(xù)布局塊被打 破。由于索引節(jié)點(diǎn)402-a引用被碎片化的塊(即非連續(xù)塊406-a,406-b和406-d),多次讀 取操作必須被執(zhí)行以訪問(wèn)整個(gè)文件。
[0045] 有一個(gè)觀點(diǎn)認(rèn)為,對(duì)存儲(chǔ)系統(tǒng)性能的考慮壓倒去重復(fù)的節(jié)省空間的好處,例如,當(dāng) 一個(gè)文件通過(guò)去重復(fù)變得非常零碎,該去重復(fù)讀取文件導(dǎo)致在檢索文件中的明顯的延遲。 這種糟糕的讀取性能無(wú)法被必須經(jīng)常訪問(wèn)數(shù)據(jù)的存儲(chǔ)系統(tǒng)(例如,主存儲(chǔ)系統(tǒng))所接受 的。因此,為了控制去重復(fù)所造成的的碎片而無(wú)需完全禁用去重復(fù),存儲(chǔ)管理器310在執(zhí)行 去重復(fù)之前可以確定讀取性能將被降低至的程度,并決定是否根據(jù)該確定來(lái)執(zhí)行去重復(fù)操 作。
[0046] 在一個(gè)實(shí)施例中,存儲(chǔ)系統(tǒng)的用戶(例如,存儲(chǔ)管理員)可以選擇可以被執(zhí)行去重 復(fù)操作所接受的碎片級(jí)別。例如,如果存儲(chǔ)系統(tǒng)正被用于二級(jí)存儲(chǔ)且用戶知道對(duì)存儲(chǔ)系統(tǒng) 的讀取/寫(xiě)入訪問(wèn)將不頻繁時(shí),用戶可以設(shè)置去重復(fù)操作為最大節(jié)約空間和由于碎片而潛 在地犧牲讀取性能。然而,如果存儲(chǔ)系統(tǒng)正被用作主存儲(chǔ),并且用戶知道對(duì)存儲(chǔ)系統(tǒng)的讀取 /寫(xiě)入訪問(wèn)將是頻繁的,則用戶可以設(shè)置去重復(fù)操為最高的性能且僅在碎片對(duì)存儲(chǔ)系統(tǒng)的 讀取性能僅有一點(diǎn)或沒(méi)有影響時(shí)執(zhí)行去重復(fù)。同樣地,可以有中間設(shè)置以在不同級(jí)別平衡 節(jié)省存儲(chǔ)空間和性能。
[0047] 圖5所示是用于確定是否執(zhí)行去重復(fù)操作的流程圖。本文所描述的過(guò)程被組織為 在流程圖中的操作順序。然而,應(yīng)當(dāng)理解的是,至少有一些與這些過(guò)程相關(guān)聯(lián)的操作可能被 重新排序、補(bǔ)充或替代,但是仍執(zhí)行相同的整體技術(shù)。
[0048] 過(guò)程500始于步驟502,其中存儲(chǔ)管理器310確定將通過(guò)在存儲(chǔ)于文件系統(tǒng)中的 文件上執(zhí)行去重復(fù)操作而引入的碎片的級(jí)別。碎片的級(jí)別被確定而不必實(shí)際執(zhí)行去重復(fù)操 作。在步驟502中確定的碎片級(jí)別是指示性的讀取性能,且如果去重復(fù)操作被執(zhí)行,讀取性 能可以被預(yù)測(cè)。確定碎片的級(jí)別會(huì)參考圖6和圖7在下面更詳細(xì)地描述。
[0049] 在步驟504,通過(guò)存儲(chǔ)管理器310將碎片級(jí)別與一閾值進(jìn)行比較。如上面描述的那 樣,閾值可以由存儲(chǔ)系統(tǒng)的用戶確定并且可以依賴于存儲(chǔ)系統(tǒng)的預(yù)期用途。例如,用作主存 儲(chǔ)的存儲(chǔ)系統(tǒng)的閾值相對(duì)低于用作二級(jí)或備份存儲(chǔ)的存儲(chǔ)系統(tǒng)的閾值。在一個(gè)實(shí)施例中, 相對(duì)較低的閾值指示存儲(chǔ)系統(tǒng)的用戶對(duì)可能與去重復(fù)引起的碎片相關(guān)的性能延遲更為敏 感。根據(jù)碎片級(jí)別的計(jì)算方式,在一些實(shí)施例中,若碎片級(jí)別低于給定的閾值,可以得到良 好的比較結(jié)果。
[0050] 在圖5所示的例子中,如果文件的碎片級(jí)別被確定為大于閾值,則過(guò)程繼續(xù)到步 驟508,其中存儲(chǔ)管理器310確定去重復(fù)操作不應(yīng)該被執(zhí)行。然而,如果文件的碎片級(jí)別不 高于閾值,則過(guò)程繼續(xù)到步驟506,其中存儲(chǔ)管理器310確定去重復(fù)操作應(yīng)該被執(zhí)行。去重 復(fù)過(guò)程本身與本公開(kāi)內(nèi)容沒(méi)有密切關(guān)系且任何已知的以及合適的去重復(fù)方法都可以被采 用。圖5所示的過(guò)程被重復(fù)用于在文件系統(tǒng)中的每個(gè)文件,以確定是否執(zhí)行去重復(fù)操作。去 重復(fù)操作可連續(xù)地或周期性地被執(zhí)行。
[0051] 圖6所示是用于確定通過(guò)在文件上執(zhí)行去重復(fù)操作而將被引入的碎片的級(jí)別的 流程圖。過(guò)程600是圖5的步驟502的一個(gè)示例性實(shí)施例。過(guò)程始于步驟602,其中存儲(chǔ)管 理器310計(jì)算在去重復(fù)操作之后訪問(wèn)文件所需要的讀取操作的數(shù)量。這個(gè)過(guò)程會(huì)參考圖7 在下面更詳細(xì)地描述。
[0052] 在步驟604中,存儲(chǔ)管理器310計(jì)算訪問(wèn)一理想文件所需的讀取操作的數(shù)量。該 理想文件是存儲(chǔ)在連續(xù)的物理數(shù)據(jù)塊中的一個(gè)文件,并且能夠以具有最低數(shù)量的讀取操作 被訪問(wèn)。在一個(gè)實(shí)施例中,訪問(wèn)文件所需的讀取操作的數(shù)量可以通過(guò)執(zhí)行預(yù)讀操作來(lái)確定。 預(yù)讀操作從物理存儲(chǔ)取出塊,并將塊存入內(nèi)存。存儲(chǔ)管理器可使用需要執(zhí)行預(yù)讀操作的讀 取操作的數(shù)量作為訪問(wèn)文件所需的讀取操作的數(shù)量。
[0053] 在一個(gè)實(shí)施例中,存儲(chǔ)管理器310將寫(xiě)入分配到存儲(chǔ)系統(tǒng)中的多達(dá)64個(gè)連續(xù)磁盤(pán) 塊的段,并且讀取操作可以在多達(dá)64個(gè)連續(xù)塊的磁盤(pán)的部分上被執(zhí)行。因此,例如,對(duì)于一 個(gè)由256個(gè)連續(xù)的磁盤(pán)塊組成的理想文件,存儲(chǔ)管理器310將會(huì)執(zhí)行四個(gè)讀取操作來(lái)獲取 整個(gè)文件。不過(guò),在由去重復(fù)操作引入碎片后,該相同的預(yù)讀可能會(huì)需要更多數(shù)量的讀取操 作。
[0054] 在步驟606,存儲(chǔ)管理器310計(jì)算在去重復(fù)操作后的文件的碎片索引。碎片索引是 在去重復(fù)之后文件的碎片級(jí)別相對(duì)于理想文件的碎片的指示。使用來(lái)自上述的理想256塊 文件的例子,如果由于該文件是連續(xù)的而理想文件的預(yù)讀采用四個(gè)讀取操作以及由于碎片 已被引入的去重復(fù)后的預(yù)讀采用16個(gè)讀取操作,則文件的碎片索引將是4。該碎片索引可 以與一閾值進(jìn)行比較,例如在圖5的步驟504中,并且用于確定是否進(jìn)行去重復(fù)操作。
[0055] 圖7所示是在執(zhí)行去重復(fù)操作之前計(jì)算在去重復(fù)后訪問(wèn)文件的讀取操作的數(shù)量 的流程圖。過(guò)程700是圖6的步驟602的一示例性實(shí)施例。在步驟702中,存儲(chǔ)管理器310 定位所有捐獻(xiàn)塊的PVBN以在去重復(fù)操作中被使用。如上所述,存儲(chǔ)系統(tǒng)為在文件系統(tǒng)中 的每個(gè)塊保留具有散列值或指紋的數(shù)據(jù)結(jié)構(gòu)。在確定文件中的哪些塊可以被替換為捐獻(xiàn)塊 (通常稱為塊"共享")時(shí),存儲(chǔ)管理器310將文件的每個(gè)塊的散列值和在文件系統(tǒng)中的其 他文件的被存儲(chǔ)的散列值進(jìn)行比較。
[0056] 在可能地捐獻(xiàn)塊被定位之后,在步驟704,存儲(chǔ)管理器310將原始文件的每個(gè)PVBN 替換為表示文件的PVBN列表中的其相應(yīng)的捐獻(xiàn)塊的PVBN,而無(wú)需實(shí)際將文件的邏輯塊與 PVBN關(guān)聯(lián)。存儲(chǔ)管理器接下來(lái)將PVBN列表排序,在步驟706,以表示在磁盤(pán)上的塊的布局。 在步驟708中,根據(jù)被排序的PVBN列表,存儲(chǔ)管理器310計(jì)算在去重復(fù)之后訪問(wèn)文件所需 要的讀取操作的數(shù)量。在一個(gè)實(shí)施例中,存儲(chǔ)管理器310通過(guò)對(duì)在PVBN列表中的連續(xù)塊的 組數(shù)進(jìn)行計(jì)數(shù)來(lái)計(jì)算讀取操作的數(shù)量。例如,如果有16組連續(xù)塊,存儲(chǔ)管理器310確定需 要16個(gè)讀取操作以在去重復(fù)之后訪問(wèn)文件。
[0057] 上面介紹的技術(shù)可以由以軟件和/或固件編程或配置的可編程電路來(lái)實(shí)現(xiàn),或者 它們可以完全通過(guò)特殊目的的"硬件"電路或以這些形式的組合來(lái)實(shí)現(xiàn)。這種特殊目的的 電路(如果有)的形式可能是,例如,一個(gè)或多個(gè)專(zhuān)用應(yīng)用集成電路(ASIC)、可編程邏輯器 件(PLD)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA),等等。
[0058] 在執(zhí)行此處介紹的技術(shù)中使用的軟件或固件可被存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)上,并 且可以由一個(gè)或多個(gè)通用目的或特殊目的的可編程微處理器執(zhí)行。"機(jī)器可讀存儲(chǔ)介質(zhì)", 作為在本文所用的術(shù)語(yǔ),包括任何可以將信息以可由機(jī)器訪問(wèn)的形式(機(jī)器可以是,例如, 計(jì)算機(jī)、網(wǎng)絡(luò)裝置、蜂窩電話、個(gè)人數(shù)字助理(PDA)、制造工具、具有一個(gè)或多個(gè)處理器的任 何裝置,等等)進(jìn)行存儲(chǔ)的機(jī)制。例如,一臺(tái)機(jī)器可訪問(wèn)介質(zhì)包括可記錄/不可記錄介質(zhì) (例如,只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤(pán)存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃存裝置), 等等。
[0059] 如本文所用的術(shù)語(yǔ)"邏輯"可包括,例如,特殊目的的硬線電路、與可編程電路結(jié)合 的軟件和/或固件,或它們的組合。
[0060] 盡管已經(jīng)參照特定的示例性實(shí)施例描述了本發(fā)明,但是應(yīng)當(dāng)認(rèn)識(shí)到,本發(fā)明不限 于所描述的實(shí)施例,而是可以在所附的權(quán)利要求的精神和范圍內(nèi)以修改和變型的方式來(lái)實(shí) 施。因此,本說(shuō)明書(shū)和附圖應(yīng)當(dāng)在示例性的意義上而非在限制性的意義上進(jìn)行理解。
【權(quán)利要求】
1. 一種方法,包括: 由存儲(chǔ)服務(wù)器計(jì)算將會(huì)被引入到被所述存儲(chǔ)服務(wù)器存儲(chǔ)的數(shù)據(jù)集的碎片的級(jí)別,作為 在所述數(shù)據(jù)集上進(jìn)行去重復(fù)操作的結(jié)果;以及 基于所述計(jì)算的結(jié)果,由所述存儲(chǔ)服務(wù)器確定是否執(zhí)行所述去重復(fù)操作。
2. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括,由所述存儲(chǔ)服務(wù)器將所述碎片的級(jí)別與 一閾值比較,以確定是否執(zhí)行所述去重復(fù)操作。
3. 根據(jù)權(quán)利要求1所述的方法,其中確定所述碎片的級(jí)別包括: 計(jì)算在所述去重復(fù)操作后訪問(wèn)所述數(shù)據(jù)集所需的讀取操作的數(shù)量; 計(jì)算訪問(wèn)理想數(shù)據(jù)集所需的讀取操作的數(shù)量;以及 基于所述去重復(fù)操作后訪問(wèn)所述數(shù)據(jù)集所需的所述讀取操作的數(shù)量以及訪問(wèn)所述理 想數(shù)據(jù)集所需的所述讀取操作的數(shù)量,計(jì)算表示所述碎片的級(jí)別的碎片索引,其中確定是 否執(zhí)行所述去重復(fù)操作是基于所述碎片索引。
4. 根據(jù)權(quán)利要求3所述的方法,其中所述碎片索引是在所述去重復(fù)操作之后訪問(wèn)所述 數(shù)據(jù)集的所述讀取操作的數(shù)量與訪問(wèn)所述理想數(shù)據(jù)集所需的所述讀取操作的數(shù)量的比值。
5. 根據(jù)權(quán)利要求3所述的方法,其中計(jì)算在所述去重復(fù)操作之后訪問(wèn)所述數(shù)據(jù)集所需 的所述讀取操作的數(shù)量包括: 確定將在所述去重復(fù)操作中被共享的在所述數(shù)據(jù)集中的多個(gè)塊的每一個(gè)的捐獻(xiàn)塊的 地址; 創(chuàng)建地址列表,所述地址列表包括在所述去重復(fù)操作之后的所述數(shù)據(jù)集的每一個(gè)所述 塊的地址; 對(duì)在所述地址列表中的所述地址按它們出現(xiàn)在存儲(chǔ)裝置上的順序進(jìn)行排序; 從所述地址列表計(jì)算在所述去重復(fù)操作之后訪問(wèn)所述數(shù)據(jù)集所需的所述讀取操作的 數(shù)量。
6. 根據(jù)權(quán)利要求2所述的方法,其中所述閾值表示所述數(shù)據(jù)集的最大可接受的碎片的 級(jí)別。
7. 根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括,執(zhí)行所述去重復(fù)操作以響應(yīng)確定所述碎 片的級(jí)別低于所述閾值。
8. 根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括,不執(zhí)行所述去重復(fù)操作以響應(yīng)確定所述 碎片的級(jí)別高于所述閾值。
9. 根據(jù)權(quán)利要求2所述的方法,其中所述閾值的設(shè)定是基于用戶的輸入。
10. -種方法,包括: 計(jì)算表示碎片的級(jí)別的碎片索引,所述碎片將會(huì)被引入到被存儲(chǔ)在存儲(chǔ)服務(wù)器上的數(shù) 據(jù)集,所述碎片索引作為在所述數(shù)據(jù)集上執(zhí)行去重復(fù)操作的結(jié)果,其中所述碎片索引是在 所述去重復(fù)操作之后訪問(wèn)所述數(shù)據(jù)集所需的讀取操作的數(shù)量與訪問(wèn)理想數(shù)據(jù)集所需的讀 取操作的數(shù)量的比值; 將所述碎片索引與閾值比較,以確定是否執(zhí)行所述去重復(fù)操作;以及 基于所述比較的結(jié)果執(zhí)行所述去重復(fù)操作。
11. 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括: 確定將在所述去重復(fù)操作中被共享的在所述數(shù)據(jù)集中的多個(gè)塊的每一個(gè)的捐獻(xiàn)塊的 地址; 創(chuàng)建地址列表,所述地址列表包括在所述去重復(fù)操作之后的所述數(shù)據(jù)集的每一個(gè)所述 塊的地址; 對(duì)在所述地址列表中的所述地址按它們出現(xiàn)在存儲(chǔ)裝置上的順序進(jìn)行排序; 從所述地址列表計(jì)算在所述去重復(fù)操作之后訪問(wèn)所述數(shù)據(jù)集所需的所述讀取操作的 數(shù)量。
12. 根據(jù)權(quán)利要求10所述的方法,其中所述閾值表示所述數(shù)據(jù)集的最大可接受的碎片 的級(jí)別。
13. 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括: 執(zhí)行所述去重復(fù)操作以響應(yīng)確定所述碎片索引低于所述閾值。
14. 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括: 不執(zhí)行所述去重復(fù)操作以響應(yīng)確定所述碎片索引高于所述閾值。
15. 根據(jù)權(quán)利要求10所述的方法,其中所述閾值的設(shè)定是基于用戶的輸入。
16. -種存儲(chǔ)服務(wù)器,包括: 處理器; 與所述處理器耦合的內(nèi)存,所述內(nèi)存存儲(chǔ)當(dāng)由所述處理器執(zhí)行時(shí)引起所述處理器執(zhí)行 多個(gè)操作的指令,包括: 計(jì)算將會(huì)被引入到被所述存儲(chǔ)服務(wù)器存儲(chǔ)的數(shù)據(jù)集的碎片的級(jí)別,作為在所述數(shù)據(jù)集 上進(jìn)行去重復(fù)操作的結(jié)果;以及 基于所述計(jì)算的結(jié)果,確定是否執(zhí)行所述去重復(fù)操作。
17. 根據(jù)權(quán)利要求16所述的存儲(chǔ)服務(wù)器,其中所述操作進(jìn)一步包括將所述碎片的級(jí)別 與閾值進(jìn)行比較以確定是否執(zhí)行所述去重復(fù)操作。
18. 根據(jù)權(quán)利要求16所述的存儲(chǔ)服務(wù)器,其中確定所述碎片的級(jí)別包括: 計(jì)算在所述去重復(fù)操作后訪問(wèn)所述數(shù)據(jù)集所需的所述讀取操作的數(shù)量; 計(jì)算訪問(wèn)理想數(shù)據(jù)集所需的所述讀取操作的數(shù)量;以及 基于所述去重復(fù)操作后訪問(wèn)所述數(shù)據(jù)集所需的所述讀取操作的數(shù)量以及訪問(wèn)所述理 想數(shù)據(jù)集所需的所述讀取操作的數(shù)量,計(jì)算表示所述碎片的級(jí)別的碎片索引。
19. 根據(jù)權(quán)利要求18所述的存儲(chǔ)服務(wù)器,其中所述碎片索引是在所述去重復(fù)操作之后 訪問(wèn)所述數(shù)據(jù)集的所述讀取操作的數(shù)量與訪問(wèn)所述理想數(shù)據(jù)集所需的所述讀取操作的數(shù) 量的比值。
20. 根據(jù)權(quán)利要求18所述的存儲(chǔ)系統(tǒng),其中計(jì)算在所述去重復(fù)操作后訪問(wèn)所述數(shù)據(jù)集 所需的讀取操作的數(shù)量包括: 確定將在所述去重復(fù)操作中被共享的在所述數(shù)據(jù)集中的多個(gè)塊的每一個(gè)的捐獻(xiàn)塊的 地址; 創(chuàng)建地址列表,所述地址列表包括在所述去重復(fù)操作之后的所述數(shù)據(jù)集的每一個(gè)所述 塊的地址; 對(duì)在所述地址列表中的所述地址按它們出現(xiàn)在存儲(chǔ)裝置上的順序進(jìn)行排序; 從所述地址列表計(jì)算在所述去重復(fù)操作之后訪問(wèn)所述數(shù)據(jù)集所需的所述讀取操作的 數(shù)量。
21. 根據(jù)權(quán)利要求17所述的存儲(chǔ)系統(tǒng),其中所述閾值表示所述數(shù)據(jù)集的最大可接受的 碎片的級(jí)別。
22. 根據(jù)權(quán)利要求17所述的存儲(chǔ)系統(tǒng),其中所述操作進(jìn)一步包括: 執(zhí)行所述去重復(fù)操作以響應(yīng)確定所述碎片的級(jí)別低于所述閾值。
23. 根據(jù)權(quán)利要求17所述的存儲(chǔ)系統(tǒng),其中所述操作進(jìn)一步包括: 不執(zhí)行所述去重復(fù)操作以響應(yīng)確定所述碎片的級(jí)別高于所述閾值。
24. 根據(jù)權(quán)利要求17所述的存儲(chǔ)服務(wù)器,其中所述閾值的設(shè)定是基于用戶的輸入。
【文檔編號(hào)】G06F11/14GK104272263SQ201380022459
【公開(kāi)日】2015年1月7日 申請(qǐng)日期:2013年2月25日 優(yōu)先權(quán)日:2012年2月29日
【發(fā)明者】艾洛克·沙瑪, 蘇尼爾·沃爾沃克, 韋杰揚(yáng)蒂·巴拉德瓦杰 申請(qǐng)人:網(wǎng)絡(luò)裝置公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
台湾省| 岑溪市| 黎川县| 织金县| 务川| 同仁县| 蚌埠市| 枣阳市| 连城县| 秦安县| 台北县| 尚义县| 达孜县| 旬邑县| 兴仁县| 磴口县| 民和| 都江堰市| 上高县| 饶平县| 陆河县| 慈溪市| 赤峰市| 志丹县| 新干县| 达日县| 丰原市| 建德市| 和平县| 木兰县| 卓尼县| 贵德县| 迭部县| 潍坊市| 武平县| 特克斯县| 海阳市| 葵青区| 霞浦县| 乌恰县| 菏泽市|