本發(fā)明一般涉及計(jì)算機(jī),更特別地,涉及用于增強(qiáng)計(jì)算存儲(chǔ)環(huán)境中的數(shù)據(jù)處理性能的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):在當(dāng)今社會(huì),計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)被應(yīng)用于各種設(shè)置中。在住宅、辦公室、學(xué)校、政府和其它設(shè)置中可找到計(jì)算環(huán)境和網(wǎng)絡(luò)。計(jì)算環(huán)境越來越多地在一個(gè)或更多個(gè)存儲(chǔ)環(huán)境中存儲(chǔ)數(shù)據(jù),在許多情況下,這些環(huán)境遠(yuǎn)離向用戶呈現(xiàn)的本地界面。這些計(jì)算存儲(chǔ)環(huán)境可使用常常協(xié)作的諸如硬盤驅(qū)動(dòng)的許多存儲(chǔ)裝置,以存儲(chǔ)、檢索和更新組多數(shù)據(jù),該數(shù)據(jù)然后可被提供給請(qǐng)求或發(fā)送數(shù)據(jù)的主機(jī)計(jì)算機(jī)。在一些情況下,數(shù)個(gè)數(shù)據(jù)存儲(chǔ)子系統(tǒng)作為單個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)被統(tǒng)一管理??赏ㄟ^組合幾個(gè)處理單元或處理單元群的主機(jī)“sysplex”(系統(tǒng)集合體)配置來管理這些子系統(tǒng)。以這種方式,可以使用常常包含各種類型的存儲(chǔ)裝置的多層次/多系統(tǒng)計(jì)算環(huán)境以組織和處理大量的數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:許多多層/多系統(tǒng)計(jì)算環(huán)境實(shí)現(xiàn)數(shù)據(jù)去復(fù)制(de-duplicate)技術(shù)以通過減少跨著存儲(chǔ)裝置的復(fù)制存儲(chǔ)量來提高存儲(chǔ)性能。數(shù)據(jù)去復(fù)制系統(tǒng)越來越多地被利用,原因是它們幫助減少存儲(chǔ)數(shù)據(jù)所需要的物理存儲(chǔ)的總量。通過確保復(fù)制數(shù)據(jù)不被多次存儲(chǔ)來實(shí)現(xiàn)這種減少。事實(shí)上,例如,如果數(shù)據(jù)塊與已存儲(chǔ)的數(shù)據(jù)塊匹配,那么將原數(shù)據(jù)的指針存儲(chǔ)于虛擬存儲(chǔ)映射中而不是對(duì)于新的數(shù)據(jù)塊分配新的物理存儲(chǔ)空間。因此,數(shù)據(jù)去復(fù)制系統(tǒng)中的各數(shù)據(jù)塊與指示多少虛擬映射要素指向給定的數(shù)據(jù)塊的“參考計(jì)數(shù)器”相關(guān)聯(lián)。這種數(shù)據(jù)去復(fù)制系統(tǒng)必須應(yīng)對(duì)能夠存儲(chǔ)將虛擬存儲(chǔ)空間映射到物理盤存儲(chǔ)空間的大量的映射信息或者例所謂的如映射到已存儲(chǔ)的數(shù)據(jù)塊的數(shù)據(jù)塊“指紋”的問題。這種情況至少部分地由于這樣一種事實(shí),即,與在算法上確定虛擬到物理映射的常規(guī)的獨(dú)立盤冗余陣列(RAID)系統(tǒng)不同,數(shù)據(jù)去復(fù)制映射可指向物理盤存儲(chǔ)的任意隨機(jī)塊。當(dāng)使用內(nèi)嵌數(shù)據(jù)去復(fù)制時(shí),由于映射的尺寸,在存儲(chǔ)器中存儲(chǔ)整個(gè)映射一般是不實(shí)際或者不可能的。因此,根據(jù)訪問模式,只高速緩存映射的多個(gè)部分。作為結(jié)果,這些在特定時(shí)間存儲(chǔ)映射的最相關(guān)部分的正確的高速緩存和檢索變得越來越重要。為了快速訪問數(shù)據(jù),內(nèi)嵌數(shù)據(jù)去復(fù)制系統(tǒng)必須在存儲(chǔ)器內(nèi)保留上述的存儲(chǔ)映射信息(包含參考計(jì)數(shù)器信息)。否則,當(dāng)從物理存儲(chǔ)取出映射信息時(shí),會(huì)引起附加的映射故障懲罰,由此明顯增加存儲(chǔ)延時(shí)。由此,存儲(chǔ)控制器必須能夠識(shí)別去復(fù)制映射的在特定的時(shí)間必須在存儲(chǔ)器內(nèi)被高速緩存的那些部分。相反,常規(guī)的高速緩存算法基于常規(guī)的“訪問局部性”模型以高速緩存虛擬化映射。需要用于這種存儲(chǔ)映射的更有效的高速緩存管理的方式,特別是出于本發(fā)明的目的,用于指紋索引或映射。鑒于以上對(duì)于更好地管理這種指紋映射信息的高速緩存的需要,提供通過處理器在計(jì)算環(huán)境中提高散列索引密鑰查找高速緩存性能的各種實(shí)施例。在一個(gè)實(shí)施例中,僅作為例子,對(duì)于具有與多個(gè)數(shù)據(jù)指紋對(duì)應(yīng)的多個(gè)條目的高速緩存的指紋映射,使用參考計(jì)數(shù)信息以確定在高速緩存中保留多個(gè)條目的時(shí)間長度。多個(gè)條目的具有較高參考計(jì)數(shù)的那些條目被保留得比具有較低參考計(jì)數(shù)的那些條目長。除了以上的示例性實(shí)施例以外,各種系統(tǒng)和計(jì)算機(jī)程序?qū)嵤├惶峁┎⑻峁┫嚓P(guān)的優(yōu)點(diǎn)。附圖說明為了更容易理解本發(fā)明的優(yōu)點(diǎn),參照在附圖中示出的特定的實(shí)施例,給出以上簡要描述的本發(fā)明的更具體的描述。在理解這些附圖僅示出本發(fā)明的典型的實(shí)施例并因此不應(yīng)被視為限制其范圍之后,通過使用附圖以附加的特征和細(xì)節(jié)描述和解釋本發(fā)明,其中,圖1是示出可實(shí)現(xiàn)本發(fā)明的方面的示例性計(jì)算環(huán)境的框圖;圖2是表示也可實(shí)現(xiàn)本發(fā)明的方面的數(shù)據(jù)存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)的框圖;圖3A是示出用于提高高速緩存性能的本發(fā)明的高速緩存系統(tǒng)實(shí)施例的框圖,其示出了數(shù)據(jù)去復(fù)制系統(tǒng)、數(shù)據(jù)頻率索引映射和高速緩存管理模塊之間的關(guān)系;圖3B是示出用于提高高速緩存性能的本發(fā)明的高速緩存系統(tǒng)實(shí)施例的框圖,其示出了高速緩存管理模塊與指紋高速緩存之間的關(guān)系;圖4是可實(shí)現(xiàn)本發(fā)明的方面的用于增強(qiáng)數(shù)據(jù)高速緩存性能的示例性實(shí)施例的流程圖;圖5是也可實(shí)現(xiàn)本發(fā)明的方面的用于增強(qiáng)數(shù)據(jù)高速緩存性能的附加示例性實(shí)施例的流程圖;以及圖6是也可實(shí)現(xiàn)本發(fā)明的方面的用于數(shù)據(jù)段的高速緩存管理的示例性實(shí)施例的流程圖。具體實(shí)施方式本領(lǐng)域技術(shù)人員可以理解,伴隨計(jì)算存儲(chǔ)環(huán)境的發(fā)展,對(duì)為了快速訪問而高速緩存于存儲(chǔ)器中的相關(guān)數(shù)據(jù)段的任何整個(gè)存儲(chǔ)映射的能力的限制也發(fā)展。當(dāng)實(shí)現(xiàn)內(nèi)嵌數(shù)據(jù)去復(fù)制系統(tǒng)時(shí),這種限制變得更明顯,如上面描述的那樣,由于映射的尺寸,難以或者不可能在高速緩存存儲(chǔ)器中存儲(chǔ)整個(gè)存儲(chǔ)映射。作為結(jié)果,在任何特定的時(shí)間,存儲(chǔ)映射的僅僅多個(gè)部分被高速緩存。為了應(yīng)對(duì)和改善現(xiàn)有技術(shù)的狀態(tài),示出的實(shí)施例描述利用由去復(fù)制系統(tǒng)(例如,去復(fù)制引擎)提供的各種數(shù)據(jù)段的所謂“參考計(jì)數(shù)”信息以增強(qiáng)指紋映射高速緩存算法,從而更好地識(shí)別必須在存儲(chǔ)器中高速緩存的指紋存儲(chǔ)映射信息的部分,以確保更快的內(nèi)嵌數(shù)據(jù)訪問并由此提高存儲(chǔ)環(huán)境的高速緩存性能的機(jī)制。包括數(shù)據(jù)去復(fù)制功能的存儲(chǔ)系統(tǒng)實(shí)現(xiàn)各數(shù)據(jù)段的參考計(jì)數(shù),例如,該參考計(jì)數(shù)指示多少虛擬存儲(chǔ)段映射到單個(gè)物理存儲(chǔ)段上。參考計(jì)數(shù)信息一般是容易得到的,原因是這種參考計(jì)數(shù)功能可在即使不是全部也是大多數(shù)的內(nèi)嵌數(shù)據(jù)去復(fù)制系統(tǒng)中找到。通過提高指紋存儲(chǔ)映射信息的高速緩存性能,可明顯降低內(nèi)嵌數(shù)據(jù)去復(fù)制系統(tǒng)中的輸入/輸出(I/O)操作的平均延時(shí)。在以下的描述中,參照示出本發(fā)明的幾個(gè)實(shí)施例并形成其一部分的附圖。應(yīng)當(dāng)理解,在不背離本發(fā)明的范圍的情況下,可以利用其它的實(shí)施例,并且,可提出結(jié)構(gòu)和操作變化。現(xiàn)在轉(zhuǎn)到圖1,示出可實(shí)現(xiàn)本發(fā)明的方面的示例性計(jì)算機(jī)系統(tǒng)10。計(jì)算機(jī)系統(tǒng)10包括與大容量存儲(chǔ)裝置14和存儲(chǔ)器裝置16連接的中央處理單元(CPU)12。大容量存儲(chǔ)裝置可包括可被配置于獨(dú)立盤冗余陣列(RAID)中的硬盤驅(qū)動(dòng)(HDD)裝置。可在位于系統(tǒng)10或其它位置中的裝置14上執(zhí)行進(jìn)一步描述的高速緩存管理操作。存儲(chǔ)器裝置16可包括諸如電可擦除可編程只讀存儲(chǔ)器(EEPROM)的存儲(chǔ)器或大量相關(guān)裝置。存儲(chǔ)器裝置16和大容量存儲(chǔ)裝置14通過信號(hào)承載介質(zhì)與CPU12連接。另外,CPU12通過通信端口18與附接有多個(gè)附加的計(jì)算機(jī)系統(tǒng)22和24的通信網(wǎng)絡(luò)20連接。計(jì)算機(jī)系統(tǒng)10可包括一個(gè)或更多個(gè)處理器裝置(CPU12)和用于計(jì)算機(jī)系統(tǒng)10的各單個(gè)部件的附加的存儲(chǔ)器裝置16,以執(zhí)行并進(jìn)行這里描述的各操作以實(shí)現(xiàn)本發(fā)明的目的。圖2是表示根據(jù)本發(fā)明的計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)的示例性框圖200。示出分別用作用于作為數(shù)據(jù)存儲(chǔ)系統(tǒng)200的一部分執(zhí)行數(shù)據(jù)處理的中央處理單元的主機(jī)計(jì)算機(jī)210、220、225。主機(jī)(物理或虛擬裝置)210、220和225可以是數(shù)據(jù)存儲(chǔ)系統(tǒng)200中的用于實(shí)現(xiàn)本發(fā)明的目的的一個(gè)或更多個(gè)新的物理裝置或邏輯裝置。在一個(gè)實(shí)施例中,僅作為例子,數(shù)據(jù)存儲(chǔ)系統(tǒng)200可實(shí)現(xiàn)為SystemStorageTMDS8000TM。網(wǎng)絡(luò)連接260可以是光纖通道結(jié)構(gòu)、光纖通道點(diǎn)對(duì)點(diǎn)鏈接、以太網(wǎng)結(jié)構(gòu)或點(diǎn)對(duì)點(diǎn)鏈接上的光纖通道、FICON或ESCONI/O接口、任何其它I/O接口類型、無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、LAN、WAN、異質(zhì)、同質(zhì)、公共(即,因特網(wǎng))、私人或它們的任意的組合。主機(jī)210、220和225可位于本地或者分布于一個(gè)或更多個(gè)位置之間,并且可配有任意類型的結(jié)構(gòu)(或結(jié)構(gòu)通道)(圖2未示出)或與存儲(chǔ)控制器240的網(wǎng)絡(luò)適配器260,諸如光纖通道、FICON、ESCON、以太網(wǎng)、光纖、無線或共軸適配器。數(shù)據(jù)存儲(chǔ)系統(tǒng)200因此配有適當(dāng)?shù)挠糜谕ㄐ诺慕Y(jié)構(gòu)(圖2未示出)或網(wǎng)絡(luò)適配器260。數(shù)據(jù)存儲(chǔ)系統(tǒng)200在圖2中被示為包括存儲(chǔ)控制器240和存儲(chǔ)230。為了有利于更清楚地理解這里描述的方法,存儲(chǔ)控制器240在圖2中被示為包括將在后面更詳細(xì)地描述的微處理器242、系統(tǒng)存儲(chǔ)器243和非易失性存儲(chǔ)(“NVS”)216的單個(gè)處理單元。注意,在一些實(shí)施例中,存儲(chǔ)控制器240包含多個(gè)處理單元,每個(gè)具有它們自身的處理器集合和系統(tǒng)存儲(chǔ)器并通過數(shù)據(jù)存儲(chǔ)系統(tǒng)200內(nèi)的專用網(wǎng)絡(luò)互連。存儲(chǔ)230可包含通過存儲(chǔ)網(wǎng)絡(luò)與存儲(chǔ)控制器240連接的諸如存儲(chǔ)陣列的一個(gè)或更多個(gè)存儲(chǔ)裝置。在一些實(shí)施例中,包含于存儲(chǔ)230中的裝置可在回路結(jié)構(gòu)被連接。存儲(chǔ)控制器240管理存儲(chǔ)230并促進(jìn)針對(duì)存儲(chǔ)230的寫入和讀取請(qǐng)求的處理。存儲(chǔ)控制器240的系統(tǒng)存儲(chǔ)器243存儲(chǔ)處理器242為了執(zhí)行與管理存儲(chǔ)230相關(guān)聯(lián)的功能而訪問的程序指令和數(shù)據(jù)。在一個(gè)實(shí)施例中,系統(tǒng)存儲(chǔ)器243包含操作軟件250、與其相關(guān)聯(lián)或者與其通信,并部分地被配置為用于實(shí)現(xiàn)本發(fā)明的功能。如圖2所示,系統(tǒng)存儲(chǔ)器243還可包含用于緩沖分別指的是寫入/讀取請(qǐng)求和它們的相關(guān)聯(lián)的數(shù)據(jù)的“寫入數(shù)據(jù)”和“讀取數(shù)據(jù)”的用于存儲(chǔ)230的數(shù)據(jù)高速緩存245或者與其通信,該數(shù)據(jù)高速緩存245在這里也被稱為“高速緩存存儲(chǔ)器”。在一個(gè)實(shí)施例中,除了實(shí)施這里描述的操作以外,數(shù)據(jù)高速緩存245被分配于系統(tǒng)存儲(chǔ)器243外部的裝置中,但仍然保留可被微處理器242訪問,并可用于針對(duì)數(shù)據(jù)損失提供附加的安全性。在一些實(shí)施例中,為了增強(qiáng)數(shù)據(jù)存儲(chǔ)系統(tǒng)200的性能,數(shù)據(jù)高速緩存245通過易失性存儲(chǔ)器和非易失性存儲(chǔ)器被實(shí)現(xiàn),并通過局部總線(圖2未示出)與微處理器242耦合。包含于數(shù)據(jù)存儲(chǔ)控制器中的NVS216可被微處理器242訪問,并用于為在其它的圖中描述的本發(fā)明的操作和執(zhí)行提供附加的支持。也可被稱為“永久”高速緩存或“高速緩存存儲(chǔ)器”的NVS216通過可以或者可以不利用外部電力以保留存儲(chǔ)于其中的數(shù)據(jù)的非易失性存儲(chǔ)器被實(shí)現(xiàn)。出于適于實(shí)現(xiàn)本發(fā)明的目標(biāo)的任何目的,NVS可被存儲(chǔ)于數(shù)據(jù)高速緩存245中并通過其被存儲(chǔ)。在一些實(shí)施例中,諸如電池的后備電源(圖2未示出)向NVS216供給足夠的電力,以在數(shù)據(jù)存儲(chǔ)系統(tǒng)200出現(xiàn)電力損失的情況下保留存儲(chǔ)于其中的數(shù)據(jù)。在某些實(shí)施例中,NVS216的容量小于或等于數(shù)據(jù)高速緩存245的總?cè)萘?。存?chǔ)230可在物理上包含諸如存儲(chǔ)陣列的一個(gè)或更多個(gè)存儲(chǔ)裝置。存儲(chǔ)陣列是諸如硬盤的單個(gè)存儲(chǔ)裝置的邏輯分組。在某些實(shí)施例中,存儲(chǔ)230包含JBOD(簡單磁盤簇)陣列或RAID(獨(dú)立盤冗余陣列)陣列。物理存儲(chǔ)陣列的集合可進(jìn)一步被組合以形成使物理存儲(chǔ)與邏輯配置分離的等級(jí)(rank)。等級(jí)中的存儲(chǔ)空間可被分配到邏輯卷中,該邏輯卷限定在寫入/讀取請(qǐng)求中規(guī)定的存儲(chǔ)位置。在一個(gè)實(shí)施例中,圖2所示的存儲(chǔ)系統(tǒng)可包含具有相應(yīng)的各種類型的分配的邏輯卷或“卷”。存儲(chǔ)230a、230b和230n被示為數(shù)據(jù)存儲(chǔ)系統(tǒng)200中的等級(jí),并在這里被稱為等級(jí)230a、230b和230n。等級(jí)可處于數(shù)據(jù)存儲(chǔ)系統(tǒng)200的本地,或者可位于物理遠(yuǎn)程位置上。換句話說,局部存儲(chǔ)控制器可與遠(yuǎn)程存儲(chǔ)控制器連接,并管理遠(yuǎn)程位置處的存儲(chǔ)。等級(jí)230a被示為配有兩個(gè)整個(gè)卷234和236以及一個(gè)部分卷232a。等級(jí)230b被示為具有另一部分卷232b。因此,卷232跨著等級(jí)230a和230b被分配。等級(jí)230n被示為完全分配給卷238,即,等級(jí)230n指的是卷238的整個(gè)物理存儲(chǔ)。對(duì)于以上的例子,可以理解,等級(jí)可被配置為包含一個(gè)或更多個(gè)部分和/或整個(gè)卷。卷和等級(jí)可進(jìn)一步被分成代表固定存儲(chǔ)塊的所謂的“軌道”。軌道因此與給定的卷相關(guān)聯(lián)并可被給予給定的等級(jí)。存儲(chǔ)控制器240可包含將進(jìn)一步描述的數(shù)據(jù)去復(fù)制引擎255、高速緩存管理模塊257、塊映射259、指紋映射261和指紋高速緩存263。高速緩存管理模塊257可與存儲(chǔ)控制器240、主機(jī)210、220、225和存儲(chǔ)230的每個(gè)部件一起工作。本領(lǐng)域技術(shù)人員可以理解,高速緩存管理模塊257可在結(jié)構(gòu)為一個(gè)完整的模塊或者可與其它的單個(gè)模塊相關(guān)聯(lián)并且/或者包含于其中。高速緩存管理模塊257也可位于數(shù)據(jù)高速緩存245或其它部件中。存儲(chǔ)控制器240包含用于控制對(duì)于主機(jī)計(jì)算機(jī)210、220、225的光纖通道協(xié)議的控制開關(guān)241、用于控制所有存儲(chǔ)控制器240的微處理器242、用于存儲(chǔ)用于控制存儲(chǔ)控制器240的操作的微程序(操作軟件)250、用于控制的數(shù)據(jù)和后面描述的各表的非易失性控制存儲(chǔ)器243、用于暫時(shí)存儲(chǔ)(緩存)數(shù)據(jù)的數(shù)據(jù)高速緩存245和用于幫助數(shù)據(jù)高速緩存245讀取和寫入數(shù)據(jù)的緩沖器244、用于控制用于控制去往或者來自存儲(chǔ)230的數(shù)據(jù)傳送的協(xié)議的控制開關(guān)241。多個(gè)緩沖器244可通過本發(fā)明被實(shí)現(xiàn)以幫助這里描述的操作。存儲(chǔ)控制器240被示為包含數(shù)據(jù)去復(fù)制引擎255、存儲(chǔ)映射/數(shù)據(jù)頻率索引映射(DFIM)259(“存儲(chǔ)映射”259)和高速緩存管理模塊257。數(shù)據(jù)去復(fù)制引擎255、高速緩存管理模塊257和DFIM259可與存儲(chǔ)控制器240、主機(jī)210、220、225和存儲(chǔ)230的每個(gè)部件一起操作,以實(shí)現(xiàn)根據(jù)本發(fā)明的功能。數(shù)據(jù)去復(fù)制引擎255、高速緩存管理模塊257和DFIM259可在結(jié)構(gòu)上為一個(gè)完整的模塊或者可與其它的單個(gè)模塊相關(guān)聯(lián)并且/或者包含于其中。高速緩存管理模塊257和DFIM259也可包含于數(shù)據(jù)高速緩存245或其它部件中。數(shù)據(jù)去復(fù)制引擎255被配置為用于與諸如微處理器242的存儲(chǔ)控制器240的其它部件結(jié)合對(duì)于通過存儲(chǔ)控制器240傳遞到存儲(chǔ)230的寫入數(shù)據(jù)執(zhí)行數(shù)據(jù)去復(fù)制操作。如上所述,簡言之,存儲(chǔ)控制器240包含數(shù)據(jù)頻率塊映射259。數(shù)據(jù)高速緩存245(或整體稱為高速緩存系統(tǒng)245(可包含高速緩存管理模塊257、塊映射259或者甚至數(shù)據(jù)去復(fù)制引擎255))從主機(jī)210、220和225或類似的裝置接收然后將被置于數(shù)據(jù)高速緩存245中的寫入數(shù)據(jù)。數(shù)據(jù)去復(fù)制引擎255然后針對(duì)在高速緩存245中的復(fù)制而測(cè)試寫入數(shù)據(jù),并然后在塊映射259中寫入其索引和頻率。與塊映射259結(jié)合,數(shù)據(jù)去復(fù)制引擎產(chǎn)生與存儲(chǔ)的數(shù)據(jù)塊對(duì)應(yīng)的指紋信息,在指紋映射261中寫入其索引。新數(shù)據(jù)塊的指紋然后被與指紋映射中的索引指紋相比,以確定是否找到數(shù)據(jù)的確切的復(fù)制。指紋映射261可在部分上或整體上暫時(shí)存儲(chǔ)于指紋高速緩存263中。在一個(gè)實(shí)施例中,指紋映射261的尺寸使得在任意一個(gè)時(shí)間指紋映射261的僅僅一部分可被存儲(chǔ)于指紋高速緩存263中的“存儲(chǔ)器內(nèi)”(高速緩存)?,F(xiàn)在轉(zhuǎn)到圖3A,作為示例性流程,示出本發(fā)明的各種功能方面300的框圖,特別地,示出通過高速緩存管理模塊260創(chuàng)建要在后面在高速緩存管理中使用的參考計(jì)數(shù)信息。具體而言,數(shù)據(jù)高速緩存系統(tǒng)245被示為接收要作對(duì)于數(shù)據(jù)高速緩存245的寫入操作304通過數(shù)據(jù)去復(fù)制引擎255被處理的寫入數(shù)據(jù)302。當(dāng)寫入數(shù)據(jù)302通過數(shù)據(jù)去復(fù)制引擎255被處理時(shí),并且,如上所述,寫入數(shù)據(jù)302通過現(xiàn)有存儲(chǔ)進(jìn)行復(fù)制測(cè)試,并且,去復(fù)制引擎255將頻率和索引信息306傳遞到數(shù)據(jù)頻率索引/塊映射259。圖3所示的包含數(shù)據(jù)去復(fù)制功能的存儲(chǔ)系統(tǒng)包含用于各數(shù)據(jù)塊的參考計(jì)數(shù),它表示多少虛擬存儲(chǔ)塊映射映射到單個(gè)物理存儲(chǔ)塊上以及其它的指示。當(dāng)從高速緩存245讀取312數(shù)據(jù)時(shí),塊映射259被更新。包含于塊映射259中的信息(包含參考計(jì)數(shù)信息310)作為讀取數(shù)據(jù)312被提供給高速緩存管理模塊260,高速緩存管理模塊260與數(shù)據(jù)高速緩存245與存儲(chǔ)控制器240(圖2)并由此與主機(jī)210、220和225進(jìn)行向雙通信。現(xiàn)在轉(zhuǎn)到圖3B,作為附加的示例性流程,示出本發(fā)明的各種功能方面320的框圖,特別是示出使用上述的參考計(jì)數(shù)信息310以執(zhí)行對(duì)于指紋映射261的高速緩存管理信息。至少部分地基于前面在圖3A中描述的活動(dòng),根據(jù)本發(fā)明的方面,高速緩存管理模塊260可確定指紋映射261的哪些部分將被置于指紋高速緩存263中以及持續(xù)多長的適當(dāng)?shù)臅r(shí)間長度,將進(jìn)一步示出這一點(diǎn)。如上所述,參考計(jì)數(shù)信息310被高速緩存管理模塊260使用以確定指紋映射261的哪些部分將保留于指紋高速緩存263中。可通過數(shù)據(jù)去復(fù)制引擎255(例如,圖3A)處理寫入命令,以獲得/產(chǎn)生代表將被寫入到存儲(chǔ)的寫入數(shù)據(jù)的指紋。指紋信息322然后被提供給示出的高速緩存管理模塊260,該高速緩存管理模塊260從指紋高速緩存263(通過雙邊通信316)調(diào)用指紋映射261的高速緩存的部分,以確定是否找到確切的匹配。該結(jié)果作為指紋數(shù)據(jù)318被提供給數(shù)據(jù)去復(fù)制引擎255。如果找到確切的匹配,那么可以更新這種數(shù)據(jù)的參考計(jì)數(shù),但是,數(shù)據(jù)不被重寫到物理存儲(chǔ)。在一個(gè)實(shí)施例中,至少部分基于用于確定指紋映射的哪些部分在存儲(chǔ)器中被高速緩存的參考計(jì)數(shù)信息的使用,與傳入的指紋信息322對(duì)應(yīng)的指紋映射261的相關(guān)部分增加,并且,根據(jù)進(jìn)一步描述的機(jī)制減輕對(duì)于從存儲(chǔ)調(diào)用指紋映射261的附加部分的需要?,F(xiàn)在轉(zhuǎn)到圖4,在一個(gè)示例性實(shí)施例中表示用于在存儲(chǔ)環(huán)境中改善高速緩存性能的方法的流程圖。方法400開始于(步驟402)使用上述的參考計(jì)數(shù)信息以確定在指紋高速緩存263中保留上述的指紋映射261(例如,圖3B)的特定的條目(例如,部分)的適當(dāng)?shù)臅r(shí)間長度(步驟404)。方法400結(jié)束(406)。下面的圖5是另一示例性實(shí)施例中的前面在圖4中表示的參考計(jì)數(shù)信息的這種利用的實(shí)現(xiàn)方法的流程圖。這里,方法500開始(502),然后,檢查在上述的去復(fù)制操作的過程中從去復(fù)制引擎獲得的參考計(jì)數(shù)數(shù)據(jù)(步驟504)。基于參考計(jì)數(shù)信息(和/或通過特定的存儲(chǔ)策略的實(shí)現(xiàn)),建立指紋映射中的特定的條目或指紋映射中的數(shù)個(gè)條目的保留時(shí)間(步驟506)。繼續(xù)圖5,方法500然后詢問參照的數(shù)據(jù)段的參考計(jì)數(shù)信息是否被更新(例如,根據(jù)去復(fù)制操作被遞增),或者例如在物理塊上觀察到?jīng)]有活動(dòng)的預(yù)定的時(shí)間間隔是否已到期(步驟508)。如果情況如此,那么前面在步驟506中建立的保留時(shí)間被重新訪問,以確定在高速緩存中的新的適當(dāng)?shù)谋A魰r(shí)間(步驟510)。返回步驟508,如果參考計(jì)數(shù)信息未被更新,或者預(yù)定時(shí)間間隔沒有到期,那么方法500在經(jīng)過一定時(shí)間之后返回步驟508以重新詢問是否滿足這些條件中的任一個(gè)或兩個(gè)。前面在圖4和圖5中描述的方法可考慮某些加權(quán)因子,諸如隨時(shí)間減小的預(yù)定權(quán)重,使得甚至看到很少或者看不到活動(dòng)的具有高參考計(jì)數(shù)的數(shù)據(jù)段將看到它們的相關(guān)聯(lián)的權(quán)重(并由此將保留于高速緩存中的參照數(shù)據(jù)段的指紋信息的重要性)緩慢減小。本領(lǐng)域技術(shù)人員可以理解,為了適于特定的應(yīng)用,這些加權(quán)因子可在考慮或者不考慮其它的因素的情況下以各種方式被利用,以有效地處理參照的數(shù)據(jù)段的指紋信息隨經(jīng)過時(shí)間的相對(duì)重要性、用途和資源利用(諸如帶寬和其它缺乏系統(tǒng)資源)等。本領(lǐng)域技術(shù)人員可以理解,基于指紋映射中的特定的條目或一組條目(即,多個(gè)部分)的當(dāng)前的參考計(jì)數(shù)信息,可引入各種存儲(chǔ)策略(例如,可借助于管理員/用戶建立)以影響該條目或一組條目是否應(yīng)被保留一定的持續(xù)時(shí)間。由于參考計(jì)數(shù)信息對(duì)于給定的數(shù)據(jù)段表示特定的條目被訪問的可能性,因此,為了確定存儲(chǔ)于應(yīng)從高速緩存存儲(chǔ)器調(diào)出的指紋映射中的候選條目,可通過這種策略或者另外在映射高速緩存機(jī)制(諸如可通過前面描述的高速緩存管理模塊實(shí)現(xiàn)的映射高速緩存算法)中智能地使用該同一信息。鑒于以上的情況,考慮以下的例子。十(10)個(gè)映射表?xiàng)l目被建立為作為待被調(diào)出的候選。在這十個(gè)映射表?xiàng)l目中,包含較高參考計(jì)數(shù)的那些條目(在一個(gè)實(shí)施例中,對(duì)于所有的數(shù)據(jù)段一起)將比具有較低參考計(jì)數(shù)的那些條目晚些被調(diào)出。以這種方式,具有相應(yīng)的較高的參考計(jì)數(shù)的指紋映射部分被保留較長,期望是它們將被再次重新使用,并且,當(dāng)出現(xiàn)這一點(diǎn)時(shí),將在高速緩存中找到該特定的條目以用于快速訪問。以下的圖6示出用于使用參考計(jì)數(shù)值在高速緩存中保留映射表?xiàng)l目的示例性方法的流程圖,其中,可以實(shí)現(xiàn)本發(fā)明的方面。方法600開始(步驟602),然后,詢問高速緩存是否是滿的,以及是否盡管如此仍從盤取出新的映射條目(由此需要調(diào)出其它的映射條目)(604)。如果情況如此,那么指紋映射條目被一并檢查以確定這些條目中的哪些將被從高速緩存調(diào)出(步驟606)。作為該檢查處理的部分,方法600然后詢問特定的被檢查的條目是否具有較高的參考計(jì)數(shù)值(例如,在一個(gè)實(shí)施例中,高于由策略設(shè)定的特定閾值)(步驟608)。如果情況如此,那么該條目保留于高速緩存中(步驟610)。如果條目被確定不具有高的值,那么條目被指定為將從高速緩存被調(diào)出(步驟612),并且,新的映射條目可在該條目位置被調(diào)入到高速緩存中。本領(lǐng)域技術(shù)人員可以理解,本發(fā)明的方面可體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的方面可采取在這里可一般稱為“電路”、“模塊”、“處理”或“系統(tǒng)”的完全硬件實(shí)施例、完全軟件實(shí)施例(包含固件、駐留軟件、微代碼等)或包含軟件和硬件方面的實(shí)施例的形式。并且,本發(fā)明的方面可采取在具有體現(xiàn)于其上面的計(jì)算機(jī)可讀程序代碼的一個(gè)或更多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式。可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是-但不限于-電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括-但不限于-無線、有線、光纜、RF等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言-諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言-諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)-包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的指令的制造品(articleofmanufacture)。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令提供實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的過程。附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。雖然詳細(xì)示出了本發(fā)明的一個(gè)或更多個(gè)實(shí)施例,但是,本領(lǐng)域技術(shù)人員可以理解,在不背離在以下的權(quán)利要求中闡述的本發(fā)明的范圍的情況下,可以提出對(duì)于這些實(shí)施例的修改和適應(yīng)。