該申請涉及與該申請并發(fā)提交的具有代理人卷號HGST-H20151036US1的專利申請:“APPARATUSANDMETHODFORINLINECOMPRESSIONANDDEDUPLICATION”,其在這里通過引用被全部合并。
技術(shù)領(lǐng)域:
本公開一般涉及數(shù)據(jù)縮減技術(shù)的領(lǐng)域。
背景技術(shù):
:高性能非易失性儲存類別存儲子系統(tǒng)一般包括相對昂貴的組件。這樣,高度期望使用數(shù)據(jù)縮減技術(shù)使得這樣的系統(tǒng)中的數(shù)據(jù)儲存最大化。數(shù)據(jù)縮減表示數(shù)據(jù)自壓縮和數(shù)據(jù)消重(deduplication)的技術(shù),以縮減向后端儲存系統(tǒng)寫入或從后端儲存系統(tǒng)讀取的信息總量。數(shù)據(jù)縮減導(dǎo)致用戶(輸入)數(shù)據(jù)向能存儲的更緊湊表示的變換。數(shù)據(jù)縮減的優(yōu)點包括除了別的優(yōu)點之外的、改進(jìn)的儲存利用、增加的壽命(在全閃存儲存系統(tǒng)的上下文中)、和應(yīng)用加速。數(shù)據(jù)壓縮表示尋找相同數(shù)據(jù)塊內(nèi)的冗余度并然后按照縮減數(shù)據(jù)總體尺寸的方式來編碼這些重復(fù)的序列的處理。數(shù)據(jù)消重表示即使個別塊具有不可壓縮的數(shù)據(jù)、仍為了找到匹配序列而跨過多個塊匹配數(shù)據(jù)序列的處理。然而,傳統(tǒng)系統(tǒng)執(zhí)行壓縮和數(shù)據(jù)消重作為數(shù)據(jù)縮減處理中的分離步驟。這樣,這些傳統(tǒng)系統(tǒng)不將他們組合為單一步驟,并因此付出等待時間(latency)和帶寬懲罰(penalties)。此外,傳統(tǒng)數(shù)據(jù)縮減方案花費大量周期和功率以便執(zhí)行壓縮功能。在任何給定應(yīng)用數(shù)據(jù)流中,總是存在數(shù)據(jù)塊的特定集合可以不呈現(xiàn)自壓縮屬性(properties)的高概率。典型地,在壓縮階段的結(jié)束,傳統(tǒng)方案執(zhí)行檢查以確保結(jié)果不大于原始塊。因此,因為在嘗試壓縮數(shù)據(jù)時已利用了資源,所以這是相當(dāng)遲的。技術(shù)實現(xiàn)要素:因此,存在對于以下方案的需求,即創(chuàng)建在單遍(singlepass)中執(zhí)行數(shù)據(jù)壓縮和消重兩者的統(tǒng)一數(shù)據(jù)路徑。本發(fā)明的實施例組合數(shù)據(jù)壓縮技術(shù),并通過將它們與數(shù)據(jù)消重方法合并來擴充它們。本發(fā)明的實施例的單遍本質(zhì)(nature)允許系統(tǒng)等待時間的控制,并幫助實現(xiàn)更高速度的線速率壓縮和消重(例如,按照能滿足用于給定FPGA的PCIeGen3速度、或其他速度需求或標(biāo)準(zhǔn)的方式)。本發(fā)明的實施例利用較小的數(shù)據(jù)子集(諸如4千字節(jié)尺寸數(shù)據(jù)塊)用于壓縮,并且能推翻(override)壓縮編碼副本格式,以區(qū)分自我參考的副本和參考參考塊的副本。應(yīng)理解的是,實施例不限于4千字節(jié)尺寸數(shù)據(jù)塊,并且能使用任何塊尺寸或塊尺寸的范圍(例如,4kb、8kb、10kb、4kb–8kb塊尺寸范圍等)。實施例能創(chuàng)建以下存儲緩沖器結(jié)構(gòu),其具有多個并行輸入緩沖器以保存參考數(shù)據(jù)塊。而且,實施例可包括并行哈希表查找方案,其中能與對于輸入數(shù)據(jù)緩沖器中存儲的數(shù)據(jù)的哈希查找同時地、執(zhí)行與參考數(shù)據(jù)塊緩沖器中存儲的數(shù)據(jù)對應(yīng)的搜索。另外,為了增強數(shù)據(jù)縮減性能的目的,實施例能使用參考數(shù)據(jù)緩沖器的填充時間,以計算和存儲參考數(shù)據(jù)的疊瓦(shingled)哈希函數(shù)值。實施例還能創(chuàng)建參考哈希表計算和壓縮開始之間的互鎖。按照該方式,當(dāng)壓縮開始時,能在參考哈希表、壓縮哈希表、或兩者中執(zhí)行搜索。本發(fā)明的實施例能使用試探法(heuristics)來確定當(dāng)在哈希表的一個或多個中檢測到哈希命中時使用哪個序列(如果存在任一個的話)。此外,本發(fā)明的實施例能修改用于輸入數(shù)據(jù)流或來自輸入?yún)⒖季彌_器的回溯引用(back-reference)解釋。此外,本發(fā)明的實施例能早期檢測并預(yù)測塊的可壓縮性,以便使得浪費的努力最小化并避免總體系統(tǒng)性能的損耗。這里描述的實施例能分析可壓縮性特性,以作出對于給定數(shù)據(jù)塊執(zhí)行數(shù)據(jù)縮減過程(諸如壓縮)的判斷。這樣,當(dāng)給定不可壓縮的數(shù)據(jù)時,能按照使得高性能數(shù)據(jù)縮減系統(tǒng)能節(jié)約功率和壓縮單元周期的方式,來執(zhí)行低影響-高性能熵檢測操作。附圖說明該說明書中合并的、并且形成其一部分的、并且其中相同附圖標(biāo)記描繪相同元件的附圖圖示了本公開的實施例,并且和該描述一起,用來解釋本公開的原理。圖1A是描繪了根據(jù)本發(fā)明實施例的為了數(shù)據(jù)縮減的目的能夠并行執(zhí)行雙壓縮和消重過程的直列(inline)壓縮和消重系統(tǒng)的示范硬件配置的框圖。圖1B是描繪了根據(jù)本發(fā)明實施例的用于執(zhí)行直列壓縮和消重過程的存儲器中提供的示范組件的框圖。圖1C描繪了根據(jù)本發(fā)明實施例生成的示范壓縮數(shù)據(jù)成幀格式。圖1D描繪了根據(jù)本發(fā)明實施例的示范組合參考哈希表和壓縮哈希表查找方案。圖2A是根據(jù)本發(fā)明實施例的用于單遍熵檢測的示范處理的第一部分的流程圖。圖2B是根據(jù)本發(fā)明實施例的用于單遍熵檢測的示范處理的第二部分的流程圖。圖3A是根據(jù)本發(fā)明實施例的用于同時數(shù)據(jù)消重和壓縮的示范處理的流程圖。圖3B是根據(jù)本發(fā)明實施例的用于執(zhí)行哈希表查找過程的示范處理的流程圖。具體實施方式現(xiàn)在將對本發(fā)明的優(yōu)選實施例進(jìn)行詳細(xì)參考,其示例在附圖中進(jìn)行了圖示。盡管將結(jié)合優(yōu)選實施例描述本發(fā)明,但是將理解的是,它們并不意欲將本發(fā)明限于這些實施例。相反,本發(fā)明意欲覆蓋可在所附權(quán)利要求所限定的本發(fā)明的精神和范圍內(nèi)包括的替換、修改和等效。此外,在本發(fā)明的實施例的以下詳細(xì)描述中,闡明許多特定細(xì)節(jié),以便提供本發(fā)明的透徹理解。然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,可在沒有這些特定細(xì)節(jié)的情況下實踐本發(fā)明。在其他實例中,還沒有詳細(xì)描述公知方法、過程、組件、和電路,以便不會不必要地模糊本發(fā)明的實施例的各方面。盡管為了清楚方法可被描繪為編號的步驟的序列,但是該編號并非必須規(guī)定這些步驟的順序。應(yīng)當(dāng)理解的是,一些步驟可被跳過、并行執(zhí)行、或在沒有維持序列的嚴(yán)格順序的需求的情況下執(zhí)行。示出本發(fā)明的實施例的圖是半圖解的(semi-diagrammatic)并且不按照比例繪制,并且特別是,一些維度是為了呈現(xiàn)的清楚,并在制圖的圖中被夸大示出。類似地,盡管為了易于描述圖中的視圖一般示出類似方位,但是圖中的該描繪對于絕大部分是任意的。一般,本發(fā)明能按照任何方位操作。符號和術(shù)語:然而,應(yīng)注意的是所有這些和類似術(shù)語應(yīng)與適當(dāng)物理量關(guān)聯(lián),并僅是向這些量應(yīng)用的便利標(biāo)簽。除非特別闡明,否則如同根據(jù)以下討論清楚的那樣,理解貫穿本發(fā)明,利用諸如“接收”或“選擇”或“生成”或“分組”或“監(jiān)視”等的術(shù)語的討論表示計算機系統(tǒng)或類似電子計算裝置的動作和處理,所述計算機系統(tǒng)或類似電子計算裝置操縱計算機系統(tǒng)的寄存器和存儲器以及其他計算機可讀介質(zhì)中的表示為物理(例如,電子)量的數(shù)據(jù),并變換為計算機系統(tǒng)存儲器或寄存器或其他這樣的信息儲存、傳送或顯示裝置中的類似表示為物理量的其他數(shù)據(jù)。當(dāng)組件在幾個實施例中出現(xiàn)時,相同附圖標(biāo)記的使用意味著該組件是與原始實施例中圖示的組件相同的組件。示范直列壓縮和消重系統(tǒng)配置圖1A是描繪了根據(jù)本發(fā)明實施例的為了數(shù)據(jù)縮減的目的能夠并行執(zhí)行雙壓縮和消重過程的直列壓縮和消重系統(tǒng)(例如,系統(tǒng)100)的示范硬件配置的框圖。按照該方式,系統(tǒng)100能在單遍中執(zhí)行數(shù)據(jù)縮減過程,使得將與諸如數(shù)據(jù)壓縮和數(shù)據(jù)消重的數(shù)據(jù)縮減過程相關(guān)的操作組合為單一處理、單一處理路徑或單一步驟,由此降低一般系統(tǒng)等待時間和/或帶寬懲罰。盡管圖1A中公開了特定組件,但是應(yīng)理解這樣的組件是示范性的。即,本發(fā)明的實施例將適當(dāng)適于具有各種其他硬件組件或圖1A中闡明的組件的變型。理解圖1A中的硬件組件能利用除了呈現(xiàn)的組件之外的組件操作,并且并非需要圖1A中描述的全部硬件組件來實現(xiàn)本發(fā)明的目的。根據(jù)一些實施例,能組合圖1A中描繪的組件以實現(xiàn)本發(fā)明的目的。系統(tǒng)100能被實現(xiàn)為能夠通過數(shù)據(jù)通信總線與其他電子裝置通信的電子裝置。例如,總線106描繪這樣的數(shù)據(jù)通信總線。其上可實現(xiàn)本公開的實施例的示范系統(tǒng)100包括通用目的計算系統(tǒng)環(huán)境。在其最基本配置中,系統(tǒng)100典型地包括至少一個處理單元101和存儲儲存單元。例如,計算機可讀儲存介質(zhì)104描繪這樣的存儲儲存單元。取決于裝置的精確配置和類型,計算機可讀儲存介質(zhì)104能夠是易失性(諸如RAM)、非易失性(諸如ROM、閃存)或這兩者的一些組合。計算機可讀儲存介質(zhì)104的部分,當(dāng)運行時,促進(jìn)存儲操作的有效運行或?qū)τ诙嘟M線程的請求。在一個實施例中,處理器101能夠是被配置為執(zhí)行這里描述的直列壓縮和消重操作的可編程電路。例如,處理器101能夠是FPGA控制器或閃存裝置控制器。作為選擇,在一個實施例中,處理器101能夠可操作以運行直列壓縮和消重程序,所述程序被存儲在計算機可讀儲存介質(zhì)104中并被配置為執(zhí)行這里描述的功能(見,例如下面討論的圖1B)。系統(tǒng)100還可以包括可選圖形系統(tǒng)105,用于例如通過在可選顯示裝置102上顯示信息,而向計算機用戶呈現(xiàn)信息。系統(tǒng)100還包括可選字母數(shù)字輸入/輸出裝置103。輸入/輸出裝置103能包括可選光標(biāo)控制或指引裝置、以及一個或多個信號通信接口(諸如網(wǎng)絡(luò)接口卡)。此外,接口模塊115包括允許系統(tǒng)100通過電子通信網(wǎng)絡(luò)(例如,因特網(wǎng)、有線通信網(wǎng)、無線通信網(wǎng)或類似網(wǎng)絡(luò))與其它計算機系統(tǒng)通信的功能性。另外,系統(tǒng)100還可以具有附加特征和功能性。例如,系統(tǒng)100還可以包括附加儲存介質(zhì)(可移除和/或不可移除),包括但不限于,磁或光盤或帶。計算機儲存介質(zhì)包括按照用于儲存諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì)。圖1B是描繪了根據(jù)本發(fā)明實施例的用于執(zhí)行直列壓縮和消重過程的存儲器中提供的示范組件的框圖。盡管圖1B中公開了特定組件,但是應(yīng)理解的是,這樣的計算機儲存介質(zhì)組件是示范性的。即,本發(fā)明的實施例適當(dāng)適于具有具有各種其他硬件組件或圖1B中闡明的計算機儲存介質(zhì)組件的變型。理解圖1B中的硬件組件能利用除了呈現(xiàn)的組件之外的其它組件操作,并且并非需要圖1B中描述的全部計算機儲存介質(zhì)組件來實現(xiàn)本發(fā)明的目的。根據(jù)一些實施例,能組合圖1B中描繪的組件以實現(xiàn)本發(fā)明的目的。此外,理解的是,為了實現(xiàn)本發(fā)明的目的的目標(biāo),圖1A中描述的一些硬件組件能與圖1B中描述的一些組件組合操作。如圖1B中描繪的,計算機可讀儲存介質(zhì)104包括操作系統(tǒng)107。當(dāng)系統(tǒng)100初始化時,操作系統(tǒng)107被裝載到處理器101中。而且,當(dāng)由處理器101運行時,操作系統(tǒng)107能被配置以向系統(tǒng)100供應(yīng)可編程接口。系統(tǒng)100還能包括無線通信機制。通過這些裝置,系統(tǒng)100能通過諸如互聯(lián)網(wǎng)或內(nèi)聯(lián)網(wǎng)(例如局域網(wǎng))的通信網(wǎng)絡(luò)可通信地耦接到其它計算機系統(tǒng)。此外,如圖1B中圖示的,計算機可讀儲存介質(zhì)104包括指紋計算引擎110。指紋計算引擎110包括為了執(zhí)行驗證和/或查找過程的目的、使用字節(jié)序列生成指紋的功能性。在檢測到數(shù)據(jù)流的接收時,緩沖器管理控制器112能向指紋計算引擎110傳遞信號,以在其接收時處理數(shù)據(jù)輸入緩沖器112-1中存儲的數(shù)據(jù)。能使用指紋計算引擎110所生成的指紋來表示較大文件,同時使用用于存儲這樣的較大文件按照別的方式所需要的儲存空間的一部分。例如,較大文件能包括多頁內(nèi)容或多媒體文件。指紋計算引擎110能使用傳統(tǒng)計算機實現(xiàn)的過程,諸如哈希函數(shù),以為了生成指紋的目的而將數(shù)據(jù)流縮減為數(shù)據(jù)比特,從而能由系統(tǒng)100的組件(諸如簽名計算引擎113)處理。哈希計算可按照與系統(tǒng)100的其它組件(諸如哈希表模塊111)如何計算哈希值的方式一致的方式或按照不同的方式來執(zhí)行。按照該方式,指紋計算引擎110能被配置以生成與系統(tǒng)100原樣接收的數(shù)據(jù)流關(guān)聯(lián)的進(jìn)入數(shù)據(jù)的子集的指紋。例如,數(shù)據(jù)的子集能夠是4千字節(jié)增量的形式。在一個實施例中,指紋計算引擎110能計算與系統(tǒng)100所接收的并在緩沖器管理控制器112所生成的數(shù)據(jù)輸入緩沖器112-1中存儲的數(shù)據(jù)流關(guān)聯(lián)的4千字節(jié)的進(jìn)入集合的指紋。簽名計算引擎113包括計算系統(tǒng)100所接收的數(shù)據(jù)流的簽名的功能性。簽名能由簽名計算引擎113基于各種傳統(tǒng)的基于哈希的簽名方案來計算,所述方案包括Merkle、Spooky、CRC、MD5、SHA或類似方案。簽名計算引擎113能被配置為使用子塊簽名計算、基于拉賓簽名的相似度檢測計算、和/或其它基于相似度的簽名計算,對系統(tǒng)100所接收的數(shù)據(jù)流執(zhí)行簽名計算。根據(jù)一個實施例,簽名計算引擎113能使用指紋計算引擎110所生成的指紋數(shù)據(jù)以生成簽名。在一個實施例中,在接收到數(shù)據(jù)流時,緩沖器管理控制器112能被配置為向簽名計算引擎113傳遞信號,以在其接收時處理數(shù)據(jù)緩沖器112-1中存儲的數(shù)據(jù)。簽名計算引擎113能被配置為對于輸入數(shù)據(jù)流的各個部分偶爾計算用于數(shù)據(jù)子集的多個簽名。按照該方式,簽名計算引擎113對于子集計算的簽名能被傳遞到系統(tǒng)100的其它組件用于進(jìn)一步處理,諸如參考塊標(biāo)識模塊114。例如,簽名計算引擎113所計算的簽名能包括允許它們相似或相同的數(shù)學(xué)屬性,如果對彼此相似或相同的塊計算它們的話。這樣,系統(tǒng)100的組件(諸如參考塊標(biāo)識模塊114)所選擇的參考塊能基于最好地表示系統(tǒng)100上駐留的存儲器中存儲的多個相似簽名簇的計算的簽名。由此,系統(tǒng)100的組件能使用簽名計算引擎113所計算的簽名,來執(zhí)行參考塊標(biāo)識過程。例如,參考塊標(biāo)識模塊114能使用子塊簽名來執(zhí)行參考塊標(biāo)識過程。參考塊標(biāo)識模塊114包括以下功能性,即,分析簽名計算引擎113所生成的多個不同簽名簇,并選擇系統(tǒng)100的組件(諸如哈希表模塊111)能處理的參考塊。參考塊標(biāo)識模塊114能被配置為比較計算的簽名和系統(tǒng)100當(dāng)前存儲的簽名簇,并對應(yīng)地選擇最佳表示所計算的簽名的參考塊。例如,參考塊標(biāo)識模塊114能被配置為比較計算的簽名和緩沖器管理控制器112所生成的緩沖器中當(dāng)前存儲的簽名簇,并對應(yīng)地選擇最佳表示所計算的簽名的參考塊。參考塊標(biāo)識模塊114所選擇的參考塊能被存儲在緩沖器管理控制器112所生成的緩沖器(諸如參考塊緩沖器112-3)中,用于由系統(tǒng)100的組件進(jìn)一步處理。參考塊能夠是通過各種方法已被發(fā)現(xiàn)與輸入數(shù)據(jù)相似的規(guī)則數(shù)據(jù)塊。例如,參考塊能夠是通過使用子塊簽名、相似度檢測機制、應(yīng)用暗示檢測方案或類似方案計算、已被發(fā)現(xiàn)與輸入數(shù)據(jù)相似的規(guī)則數(shù)據(jù)塊。參考塊還可以是包括被發(fā)現(xiàn)具有較大重復(fù)因子的重復(fù)數(shù)據(jù)序列的純合成塊。根據(jù)一個實施例,參考塊標(biāo)識模塊114能被配置為使用先驗知識、內(nèi)容相似度匹配、應(yīng)用暗示、數(shù)據(jù)圖案識別、或類似手段來標(biāo)識參考塊。此外,關(guān)于參考塊標(biāo)識模塊114所標(biāo)識的參考塊(諸如參考塊緩沖器112-3中存儲的參考塊)的信息能被存儲在數(shù)據(jù)流的報頭部分中。例如,參考圖1C,參考塊標(biāo)識模塊114所標(biāo)識的參考塊的參考塊標(biāo)識符能被存儲在數(shù)據(jù)流116的報頭部分116a中。如圖1C中圖示的,報頭數(shù)據(jù)116a能連同它們的相應(yīng)壓縮的有效載荷數(shù)據(jù)部分(諸如壓縮有效載荷116b)一起被包括在數(shù)據(jù)顆粒的集合中,諸如數(shù)據(jù)顆粒116-1、116-2和116-N。在一個實施例中,除了比特向量117-2、顆粒計數(shù)117-3和/或報頭CRC數(shù)據(jù)117-4之外,報頭數(shù)據(jù)116a能存儲參考標(biāo)識符117-1。參考圖1B,哈希表模塊111包括基于與系統(tǒng)100接收的數(shù)據(jù)流關(guān)聯(lián)的數(shù)據(jù)計算哈希值并動態(tài)生成哈希表的功能性。在接收到數(shù)據(jù)流時,緩沖器管理控制器112能向哈希表模塊111傳遞信號,以處理在每一緩沖器接收到數(shù)據(jù)時、在數(shù)據(jù)輸入緩沖器112-1和/或參考塊緩沖器112-3中存儲的數(shù)據(jù)。哈希表模塊111包括計算能在生成的哈希表中存儲的、與系統(tǒng)100所接收的數(shù)據(jù)流關(guān)聯(lián)的數(shù)據(jù)的子集(例如,數(shù)據(jù)的字節(jié))的哈希值的功能性。例如,哈希表模塊111能計算與系統(tǒng)100所接收的數(shù)據(jù)流關(guān)聯(lián)的數(shù)據(jù)的字節(jié)的哈希值。這樣,能按照加速重復(fù)數(shù)據(jù)序列的搜索的方式,通過流行高性能壓縮方案來利用哈希表模塊111。例如,能通過流行高性能壓縮方案來利用哈希表模塊111,所述方案包括Snappy、Lempel-Ziv(LZ)壓縮方案、Gzip或類似方案。數(shù)據(jù)的子集可以是預(yù)定的固定尺寸,并且為了執(zhí)行消重過程的目的能被使用來表示較大文件。這樣,哈希表模塊111能計算系統(tǒng)100接收的數(shù)據(jù)的每一字節(jié)的哈希值。按照該方式,哈希表模塊111能與它們的接收和在緩沖器管理控制器112所生成的緩沖器中的存儲同時地,計算數(shù)據(jù)的子集的哈希值。此外,可按照與系統(tǒng)100的其它組件(諸如指紋計算引擎110)如何計算哈希值的方式一致的方式或按照不同的方式,來執(zhí)行哈希計算。根據(jù)一個實施例,哈希表模塊111包括基于參考塊標(biāo)識模塊130所標(biāo)識的參考數(shù)據(jù)塊、動態(tài)生成參考哈希表的功能性。一旦由參考塊標(biāo)識模塊114選擇,與參考塊對應(yīng)的數(shù)據(jù)塊就能被存儲在參考塊緩沖器(諸如參考塊緩沖器112-3)中。當(dāng)正存儲參考塊時,哈希表模塊111能被配置為計算與所述參考塊對應(yīng)的疊瓦哈希值。按照該方式,哈希表模塊111能生成能加速系統(tǒng)100所執(zhí)行的壓縮和消重過程的性能的預(yù)先計算的哈希表。例如,參考圖1B,當(dāng)字節(jié)的集合由系統(tǒng)100所接收、并被存儲在系統(tǒng)100上駐留的數(shù)據(jù)輸入緩沖器112-1中時,哈希表模塊111能將參考塊標(biāo)識模塊114所確定和/或選擇的參考塊的哈希值計算為對應(yīng)于接收的字節(jié)的集合。當(dāng)參考數(shù)據(jù)塊被存儲在緩沖器管理控制器112動態(tài)生成的參考數(shù)據(jù)塊緩沖器112-3中時,哈希表模塊111計算這些哈希值。按照該方式,緩沖器管理控制器112包括創(chuàng)建參考數(shù)據(jù)塊緩沖器的功能性,所述參考數(shù)據(jù)塊緩沖器能并行系統(tǒng)100上駐留的數(shù)據(jù)輸入緩沖器(諸如數(shù)據(jù)輸入緩沖器112-1)的功能性。這樣,這些計算的參考塊哈希值然后能所以被存儲在哈希表模塊111所生成的參考哈希表111-1中。哈希表模塊111包括使用系統(tǒng)100所接收的和/或數(shù)據(jù)輸入緩沖器中存儲的數(shù)據(jù)流、來動態(tài)生成壓縮哈希表的功能性。此外,哈希表模塊111包括修改和/或生成能用來隨后解壓和/或重構(gòu)系統(tǒng)100先前處理的數(shù)據(jù)流的編碼后數(shù)據(jù)的功能性。按照該方式,哈希表模塊111能被配置來在壓縮操作期間在相似數(shù)據(jù)序列的標(biāo)識時修改和/或編碼報頭數(shù)據(jù)。這樣,哈希表模塊111能生成編碼后數(shù)據(jù),該編碼后數(shù)據(jù)包括與哈希表模塊111先前標(biāo)識的已存儲數(shù)據(jù)對應(yīng)的參考標(biāo)識符。例如,哈希表模塊111能生成和/或修改編碼后報頭數(shù)據(jù),所述編碼后報頭數(shù)據(jù)包括在哈希計算過程的完成時、由哈希表模塊111標(biāo)識的未壓縮數(shù)據(jù)字節(jié)的數(shù)目,諸如標(biāo)識的文字的數(shù)目。按照該方式,哈希表模塊111生成的編碼后數(shù)據(jù)能提供關(guān)于解壓模塊如何能解壓或解碼文字和/或副本元素的指令,所述元素對應(yīng)于與經(jīng)受解壓過程的數(shù)據(jù)流關(guān)聯(lián)的字節(jié)集合。副本元素能包括要拷貝的字節(jié)(“長度”)和/或要拷貝的數(shù)據(jù)返回多遠(yuǎn)(“偏移”)。例如,在一個實施例中,哈希表模塊111生成和/或修改的報頭數(shù)據(jù)能包括標(biāo)識的文字的表示和對應(yīng)文字?jǐn)?shù)據(jù)序列。這樣,解壓模塊108能讀取提供關(guān)于模塊如何能解壓文字序列的指令的、編碼后和/或修改后報頭信息。此外,解壓模塊108能被配置為基于例如Snappy、LZ壓縮方案、Gzip或類似方案的各種壓縮方案來執(zhí)行解壓過程。根據(jù)一個實施例,假如至少一個參考塊被選擇并指定用于存儲在參考塊緩沖器中,則哈希表模塊111能向系統(tǒng)100的組件發(fā)送信號,以使用參考哈希表和/或壓縮哈希表執(zhí)行哈希表查找和/或報頭修改過程,用于基于計算的哈希值的進(jìn)一步處理。按照該方式,哈希表模塊111能創(chuàng)建參考哈希表計算和解壓過程開始之間的互鎖。此外,哈希表模塊111對于壓縮哈希表和參考哈希表執(zhí)行的哈希計算過程能夠是相同的計算機實現(xiàn)的過程或功能或者是不同的計算機實現(xiàn)的過程或功能。表格I提供了能夠由本發(fā)明實施例修改的報頭格式或回溯引用編碼格式變型的示范集合。壓縮報頭含義00文字,最大長度60字節(jié)01本地副本、3比特長度、11比特偏移10本地副本、6比特長度、12比特偏移11參考副本、12比特長度、12比特偏移表格I掃描和匹配引擎109包括執(zhí)行哈希表查找過程和執(zhí)行哈希值比較的功能性。掃描和匹配引擎109包括以下功能性,即,發(fā)送和/或接收來自哈希表模塊111的信號,以執(zhí)行用于針對系統(tǒng)100當(dāng)前存儲的參考數(shù)據(jù)塊比較所計算的數(shù)據(jù)子集的哈希值的計算機實現(xiàn)的查找過程。掃描和匹配引擎109能使用哈希表查找引擎來定位由哈希表模塊111生成的哈希表中的計算的哈希值,并比較數(shù)據(jù)。例如,哈希表模塊111能生成參考哈希表111-1和壓縮哈希表111-2并執(zhí)行比較操作。這樣,掃描和匹配引擎109能被配置以在緩沖器管理控制器112所生成的緩沖器(諸如參考塊緩沖器112-3)中針對系統(tǒng)100當(dāng)前存儲的參考數(shù)據(jù)塊查找所計算的字節(jié)的子集的哈希值。按照該方式,掃描和匹配引擎109能在哈希表模塊111創(chuàng)建的參考哈希表和壓縮哈希表兩者中執(zhí)行并行或同時搜索。當(dāng)執(zhí)行這樣的查找過程時,掃描和匹配引擎109還能執(zhí)行用于針對存儲的參考數(shù)據(jù)塊和/或與哈希表模塊111先前標(biāo)識的數(shù)據(jù)對應(yīng)的壓縮哈希值,來比較系統(tǒng)100所接收的字節(jié)的隨后集合的過程。例如,參考圖1D,當(dāng)通過參考塊標(biāo)識模塊114標(biāo)識參考塊118時,哈希表模塊111在參考哈希表111-1中存儲與參考塊緩沖器中原樣存儲的參考塊118的一部分(例如,用于參考塊數(shù)據(jù)子集118-1、118-2、118-3、118-4等的值)對應(yīng)的所計算的哈希值條目。按照該方式,系統(tǒng)100能使用參考數(shù)據(jù)緩沖器的填充時間,以計算和存儲與參考塊118對應(yīng)的參考數(shù)據(jù)的疊瓦哈希函數(shù)值,這增強了系統(tǒng)100所執(zhí)行的壓縮和消重過程的性能。此外,如圖1D中圖示的,系統(tǒng)100還能接收與進(jìn)入數(shù)據(jù)流關(guān)聯(lián)的輸入數(shù)據(jù)塊120。這樣,掃描和匹配引擎109能使用哈希表邏輯109-3,以使用增添數(shù)據(jù)的(populated)參考哈希表111-1和壓縮哈希表111-2執(zhí)行并行查找過程,以標(biāo)識與接收的數(shù)據(jù)塊120類似的先前存儲的數(shù)據(jù)序列。按照該方式,掃描和匹配引擎109能以每一字節(jié)為基礎(chǔ)使用數(shù)據(jù)和參考塊的較小子集(例如,輸入數(shù)據(jù)塊數(shù)據(jù)子集120-1)來執(zhí)行比較。如果掃描和匹配引擎109檢測到參考哈希表111和/或壓縮哈希表111-2中的條目與所計算的數(shù)據(jù)塊120的哈希值之間的匹配,則掃描和匹配引擎109能對應(yīng)地向解壓模塊108發(fā)送信號,以使用修改的壓縮報頭格式(諸如這里描述的回溯引用編碼格式變型)來解壓參考塊緩沖器或數(shù)據(jù)輸入緩沖器中的數(shù)據(jù)的子集。因此,解壓的輸出能然后被存儲在緩沖器管理控制器112所生成的緩沖器中,諸如數(shù)據(jù)輸出緩沖器112-2。在一個實施例中,在解壓過程的執(zhí)行期間,解壓模塊108能被配置以當(dāng)掃描和匹配引擎109檢測到參考哈希表111-1和/或壓縮哈希表111-2的任一個的匹配時、選擇多個不同序列之一。例如,基于預(yù)定啟發(fā),解壓模塊108能被配置以解壓數(shù)據(jù)作為文字、本地副本、和/或參考副本。按照該方式,在解壓時,系統(tǒng)100能創(chuàng)建相似參考數(shù)據(jù)輸入緩沖器,使得能修改解壓實現(xiàn),以從輸入數(shù)據(jù)流或參考塊緩沖器解釋回溯引用。這樣,解壓模塊108能被配置以處理掃描和匹配引擎109所使用的文字掃描邏輯109-1和/或本地副本掃描邏輯109-2。能理解的是,本發(fā)明的實施例不限于使用單一參考塊。實施例能被擴展到包括多個參考塊,具有對于現(xiàn)有數(shù)據(jù)路徑和幀結(jié)構(gòu)的簡單變型。例如,實施例能被擴展為并行執(zhí)行的多個參考塊比較。此外,哈希表模塊111能被配置以生成與不同參考塊集合的相應(yīng)參考塊對應(yīng)的多個參考哈希表。此外,能在哈希表模塊111所生成的單一參考哈希表中存儲多個參考塊。此外,系統(tǒng)100能被配置以早期檢測,并在數(shù)據(jù)縮減操作(諸如這里描述的那些)的執(zhí)行之前預(yù)測塊的可壓縮性,以便使得浪費的努力最小化并避免總體系統(tǒng)性能的損耗。例如,解壓模塊108包括對系統(tǒng)100所接收的數(shù)據(jù)執(zhí)行分組過程的功能性。這樣,解壓模塊108能包括數(shù)據(jù)分組邏輯108-1,其允許解壓模塊108將經(jīng)由數(shù)據(jù)輸入緩沖器112-1接收的進(jìn)入數(shù)據(jù)分組為能在單一實例中處理或操作的數(shù)據(jù)字節(jié)或“疊瓦”的子集。按照該方式,哈希表模塊111能對于由解壓模塊108通過數(shù)據(jù)分組邏輯108-1所選擇的重疊數(shù)據(jù)疊瓦計算哈希值。此外,哈希表模塊111對于重疊疊瓦所計算的哈希值能被用作存儲地址位置,其代表疊瓦偏移值被存儲在數(shù)據(jù)結(jié)構(gòu)(諸如壓縮哈希表111-2和/或系統(tǒng)100上駐留的存儲器)中的哪里。另外,掃描和匹配引擎109能使用哈希表模塊111來定位計算的疊瓦,并且當(dāng)它們被寫入到數(shù)據(jù)輸入緩沖器112-1時,并行地對數(shù)據(jù)塊執(zhí)行比較操作。例如,使用壓縮哈希表111-2,如果確定對于與進(jìn)入數(shù)據(jù)集相關(guān)的疊瓦的計算的哈希值與壓縮哈希表111-2中存儲的哈希值共享相同簽名,則掃描和匹配引擎109能檢測“哈希命中”的發(fā)生。按照該方式,當(dāng)兩個疊瓦具有簽名計算引擎113所計算的相同或相似簽名時,掃描和匹配引擎109能檢測哈希命中的發(fā)生。此外,掃描和匹配引擎109包括向解壓模塊108發(fā)送信號以遞增可壓縮性計數(shù)器(例如哈希命中計數(shù)器111-3)的功能性。按照該方式,每當(dāng)掃描和匹配引擎109檢測到哈希命中的發(fā)生時,哈希命中計數(shù)器111-3能遞增。哈希命中計數(shù)器111-3允許系統(tǒng)100明了(keeptrackof)在系統(tǒng)100所接收的進(jìn)入數(shù)據(jù)集中頻繁出現(xiàn)的哈希值。因此,在數(shù)據(jù)傳遞到數(shù)據(jù)輸入緩沖器112-1中的結(jié)束時,系統(tǒng)100能存儲用于整個數(shù)據(jù)集的計算的哈希的集合。另外,系統(tǒng)100能被配置以存儲頻繁哈希值匹配閾值,該閾值使得能夠較好確定哪些數(shù)據(jù)塊將從具有對其執(zhí)行的數(shù)據(jù)縮減過程(例如,數(shù)據(jù)消重過程、參考塊標(biāo)識過程、數(shù)據(jù)壓縮過程等)受益最多。按照該方式,系統(tǒng)100能按照以下方式配置,即,允許其使用預(yù)定閾值和/或計算的可壓縮性計數(shù),來自動解釋可壓縮性特性。例如,在系統(tǒng)100的任何數(shù)據(jù)縮減過程的執(zhí)行之前,其能首先參考預(yù)定閾值計數(shù),并判斷是否執(zhí)行、暫停和/或停止數(shù)據(jù)縮減操作。按照該方式,當(dāng)閾值計數(shù)滿足或超出頻繁哈希值匹配閾值時,諸如解壓模塊108的系統(tǒng)100的組件能生成命令系統(tǒng)100的組件初始化數(shù)據(jù)縮減操作(例如,數(shù)據(jù)消重過程、參考塊標(biāo)識過程、數(shù)據(jù)壓縮過程等)的執(zhí)行的指令或指令集。因此,當(dāng)該閾值計數(shù)未能滿足頻繁哈希值匹配閾值時,系統(tǒng)100的組件能生成命令系統(tǒng)100的組件避免執(zhí)行數(shù)據(jù)縮減操作的指令或指令集。系統(tǒng)100的這樣的確定不僅能節(jié)約主機CPU周期,而且還能允許數(shù)據(jù)在系統(tǒng)中移動,而不中斷其它驅(qū)動器,諸如主機驅(qū)動器。例如,在一個實施例中,如果哈希命中計數(shù)器111-3的值低于預(yù)定閾值,則解壓模塊108可確定當(dāng)前分析下的數(shù)據(jù)塊呈現(xiàn)低可壓縮性特性,由此證明用于該數(shù)據(jù)流的至少一部分的高熵級別。因此,響應(yīng)于該確定,解壓模塊108能被配置以不執(zhí)行任何解壓操作。按照該方式,解壓模塊108能被配置以發(fā)送暫停和/或停止解壓操作的執(zhí)行的指令。然而,如果哈希命中計數(shù)器111-3的值等于或高于預(yù)定閾值,則解壓模塊108可確定數(shù)據(jù)塊呈現(xiàn)高可壓縮性特性,由此證明用于該數(shù)據(jù)流的至少一部分的低熵級別。因此,響應(yīng)于該確定,解壓模塊108能被配置以發(fā)送初始化解壓操作的執(zhí)行的指令。按照該方式,解壓模塊108使用可壓縮性因子來確定對于與數(shù)據(jù)輸入緩沖器112-1中存儲的進(jìn)入數(shù)據(jù)集相關(guān)的字節(jié)的給定集合、是否向系統(tǒng)100的其他組件發(fā)布“壓縮”或“繞開壓縮”信號。按照該方式,系統(tǒng)100能基于檢測的給定數(shù)據(jù)集的數(shù)據(jù)塊之間的相似度的頻率,來測量與數(shù)據(jù)輸入緩沖器112-1中存儲的數(shù)據(jù)集相關(guān)的熵。根據(jù)一個實施例,掃描和匹配引擎109能使用數(shù)據(jù)的直方圖表示,來計算哈希命中的頻率。因此,哈希命中計數(shù)器111-3能通過硬件或軟件實現(xiàn)。此外,系統(tǒng)100能被配置以基于系統(tǒng)負(fù)荷和/或用戶偏好來動態(tài)調(diào)整閾值。按照該方式,為了在損害功率和等待時間的情況下增加壓縮比率的目的,用于壓縮的閾值能夠是不嚴(yán)格的。類似地,為了實現(xiàn)較低平均等待時間,能使用較高閾值。圖2A是根據(jù)本發(fā)明實施例的用于單遍熵檢測的示范處理的第一部分的流程圖。在步驟205,輸入數(shù)據(jù)流由系統(tǒng)接收并存儲在數(shù)據(jù)輸入緩沖器中。在接收到該數(shù)據(jù)流時,解壓模塊使用數(shù)據(jù)分組邏輯,以對在數(shù)據(jù)輸入流中發(fā)現(xiàn)的多個數(shù)據(jù)子集進(jìn)行分組。這些子集的尺寸能夠是預(yù)定的和固定尺寸的。在步驟206,使用由指紋計算引擎對于該數(shù)據(jù)輸入緩沖器中存儲的數(shù)據(jù)生成的指紋數(shù)據(jù),簽名計算引擎計算在步驟205期間被原樣存儲的數(shù)據(jù)流中的的第一簽名。在步驟207,哈希表模塊計算用于第一分組的數(shù)據(jù)子集的第一哈希值,并針對哈希表中存儲的哈希值比較計算的哈希值,以檢測匹配。在步驟208,哈希表模塊計算用于第二分組的數(shù)據(jù)子集的第二哈希值,并針對哈希表中存儲的哈希值比較計算的哈希值,以檢測匹配。在步驟209,哈希表模塊計算用于第n分組的數(shù)據(jù)子集的第n哈希值,并針對哈希表中存儲的哈希值比較計算的哈希值,以檢測匹配。在步驟210,解壓模塊監(jiān)視哈希表模塊所檢測的匹配,并對于每一檢測的匹配對應(yīng)遞增計數(shù)器。圖2B是根據(jù)本發(fā)明實施例的用于單遍熵檢測的示范處理的第二部分的流程圖。圖2B中概括了操作210(見圖2A)的細(xì)節(jié)。在步驟211,解壓模塊基于相對于預(yù)先確定的頻繁哈希值匹配閾值的計數(shù)器的值,來確定對于輸入數(shù)據(jù)流的一部分的熵級別。在步驟212,解壓模塊進(jìn)行關(guān)于其是否檢測到已滿足或超出頻繁哈希值匹配閾值的判定。如果解壓模塊檢測到已滿足或超出頻繁哈希值匹配閾值,則解壓模塊確定用于該輸入數(shù)據(jù)流的至少一部分的高熵級別,并對應(yīng)地將信號傳遞到系統(tǒng)組件以初始化數(shù)據(jù)縮減操作的執(zhí)行,如步驟213中詳述的那樣。如果解壓模塊檢測到還沒有滿足頻繁哈希值匹配閾值,則解壓模塊確定用于該輸入數(shù)據(jù)流的一部分的低熵級別,并對應(yīng)地將信號傳遞到系統(tǒng)組件以暫停數(shù)據(jù)縮減操作的執(zhí)行,如步驟214中詳述的那樣。在步驟213,解壓模塊檢測到已滿足或超出頻繁哈希值匹配閾值,并所以解壓模塊確定用于輸入數(shù)據(jù)流的一部分的高熵級別,并對應(yīng)地將信號傳遞到系統(tǒng)組件,以初始化數(shù)據(jù)縮減操作的執(zhí)行。在步驟214,解壓模塊檢測到還沒有滿足頻繁哈希值匹配閾值,并所以解壓模塊確定用于輸入數(shù)據(jù)流的一部分的低熵級別,并對應(yīng)地將信號傳遞到系統(tǒng)組件,以暫停數(shù)據(jù)縮減操作的執(zhí)行。圖3A是根據(jù)本發(fā)明實施例的用于同時數(shù)據(jù)消重和壓縮的示范處理的流程圖。圖3A中概括了操作213(見圖2B)的細(xì)節(jié)。在步驟215,參考塊標(biāo)識模塊比較在步驟206期間計算的簽名與系統(tǒng)當(dāng)前存儲的簽名的簇,并對應(yīng)地選擇最佳表示所計算的簽名的參考塊。參考塊標(biāo)識模塊所選擇的參考塊被存儲在參考塊緩沖器中,用于由系統(tǒng)進(jìn)一步處理。在步驟216,因為參考塊在步驟215中被存儲,所以哈希表模塊計算與該參考塊對應(yīng)的疊瓦哈希值。在步驟217,將步驟216期間計算的哈希值存儲在哈希表模塊所生成的參考哈希表中,假設(shè)哈希值還沒有被存儲在參考哈希表中的話。在步驟218,假設(shè)將至少一個參考塊存儲在參考塊緩沖器中,哈希表模塊向掃描和匹配引擎發(fā)送信號,以使用參考哈希表和/或壓縮哈希表執(zhí)行哈希表查找和/或報頭修改過程,用于基于步驟207、208和/或209期間計算的哈希值的進(jìn)一步處理。圖3B是根據(jù)本發(fā)明實施例的用于執(zhí)行哈希表查找過程的示范處理的流程圖。圖3B中概括了操作218(見圖3A)的細(xì)節(jié)。在步驟219,掃描和匹配引擎進(jìn)行關(guān)于其是否檢測到計算的哈希值和參考哈希表中排他存儲的條目之間的匹配的確定。如果掃描和匹配引擎確定檢測到匹配,則掃描和匹配引擎以每一字節(jié)為基礎(chǔ)針對與匹配的條目關(guān)聯(lián)地在參考塊緩沖器中存儲的參考塊來比較與哈希值關(guān)聯(lián)的數(shù)據(jù)子集,如步驟220中詳述的那樣。如果掃描和匹配引擎確定沒有檢測到匹配,則掃描和匹配引擎進(jìn)行關(guān)于其是否檢測到計算的哈希值和參考哈希表中排他存儲的條目之間的匹配的確定,如步驟221中詳述的那樣。在步驟220,掃描和匹配引擎確定檢測到匹配并所以,掃描和匹配引擎以每一字節(jié)為基礎(chǔ)針對與匹配的條目關(guān)聯(lián)地在參考塊緩沖器中存儲的參考塊來比較與哈希值關(guān)聯(lián)的數(shù)據(jù)子集,并對應(yīng)地向解壓模塊發(fā)送信號,以使用用于參考副本的修改壓縮報頭格式(諸如“11”)來解壓參考塊緩沖器中的數(shù)據(jù)子集。解壓的輸出被存儲在數(shù)據(jù)輸出緩沖器中。在步驟221,掃描和匹配引擎確定沒有檢測到匹配并所以,掃描和匹配引擎進(jìn)行關(guān)于其是否檢測到計算的哈希值和壓縮哈希表中排他存儲的條目之間的匹配的確定。如果掃描和匹配引擎確定檢測到匹配,則掃描和匹配引擎以每一字節(jié)為基礎(chǔ)針對數(shù)據(jù)輸入緩沖器中當(dāng)前存儲的數(shù)據(jù)來比較與哈希值關(guān)聯(lián)的數(shù)據(jù)子集,如步驟222中詳述的那樣。如果掃描和匹配引擎確定沒有檢測到匹配,則掃描和匹配引擎進(jìn)行關(guān)于其是否檢測到計算的哈希值和參考哈希表與壓縮哈希表兩者中存儲的條目之間的匹配的確定,如步驟223中詳述的那樣。在步驟222,掃描和匹配引擎確定檢測到匹配并所以,掃描和匹配引擎以每一字節(jié)為基礎(chǔ)針對數(shù)據(jù)輸入緩沖器中當(dāng)前存儲的數(shù)據(jù)來比較與哈希值關(guān)聯(lián)的數(shù)據(jù)子集,并對應(yīng)地向解壓模塊發(fā)送信號,以基于適當(dāng)比特長度和偏移,使用用于本地副本的修改壓縮報頭格式(諸如“01”或“10”)來解壓數(shù)據(jù)輸入緩沖器中的數(shù)據(jù)子集。解壓的輸出被存儲在數(shù)據(jù)輸出緩沖器中。在步驟223,掃描和匹配引擎確定沒有檢測到匹配并所以,掃描和匹配引擎進(jìn)行關(guān)于其是否檢測到計算的哈希值和參考哈希表與壓縮哈希表兩者中存儲的條目之間的匹配的確定。如果掃描和匹配引擎確定檢測到匹配,則掃描和匹配引擎以每一字節(jié)為基礎(chǔ)針對與數(shù)據(jù)輸入緩沖器中當(dāng)前存儲的數(shù)據(jù)來比較與哈希值關(guān)聯(lián)的數(shù)據(jù)子集,并對應(yīng)地向解壓模塊發(fā)送信號,以基于預(yù)先確定的過程來解壓數(shù)據(jù)輸入緩沖器中的數(shù)據(jù)子集。在步驟224,掃描和匹配引擎確定檢測到匹配并所以,掃描和匹配引擎以每一字節(jié)為基礎(chǔ)針對數(shù)據(jù)輸入緩沖器中當(dāng)前存儲的數(shù)據(jù)來比較與哈希值關(guān)聯(lián)的數(shù)據(jù)子集,并對應(yīng)地向解壓模塊發(fā)送信號,以基于預(yù)先確定的過程來解壓數(shù)據(jù)輸入緩沖器中的數(shù)據(jù)子集。根據(jù)一個實施例,預(yù)先確定的過程能包括配置掃描和匹配引擎,以取決于副本的長度和/或與數(shù)據(jù)流關(guān)聯(lián)的數(shù)據(jù)的某些知識,使得解壓過程的其選擇朝向本地匹配或參考匹配偏向。在步驟225,掃描和匹配引擎確定沒有檢測到匹配,并所以,將計算的哈希值存儲在哈希表模塊所生成的壓縮哈希表中。在步驟226,掃描和匹配引擎將信號傳遞到解壓模塊,以使用用于文字序列的修改壓縮報頭格式(諸如“00”)來解壓數(shù)據(jù)輸入緩沖器中存儲的數(shù)據(jù)子集。將解壓的輸出存儲在數(shù)據(jù)輸出緩沖器中。盡管這里已公開了某些優(yōu)選實施例和方法,但是本領(lǐng)域技術(shù)人員根據(jù)前述公開將清楚的是,可進(jìn)行這樣的實施例和方法的變型和修改,而不脫離本發(fā)明的精神和范圍。根據(jù)實施例,這里描述的技術(shù)能通過一個或多個特定目的計算裝置實現(xiàn)。所述特定目的計算裝置可以是硬連線的以執(zhí)行所述技術(shù),或者可以包括被持久編程以執(zhí)行所述技術(shù)的諸如一個或多個特定用途集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)的數(shù)字電子裝置,或者可以包括被編程以執(zhí)行依照固件、存儲器、其它儲存器、或組合中的程序指令的技術(shù)的一個或多個通用目的硬件處理器。這樣的特定目的計算裝置還可以組合常規(guī)硬連線邏輯、ASIC或FPGA與常規(guī)編程,以實現(xiàn)這些技術(shù)。所述特定目的計算裝置可以是數(shù)據(jù)庫服務(wù)器、儲存裝置、桌面計算機系統(tǒng)、便攜式計算機系統(tǒng)、手持裝置、聯(lián)網(wǎng)裝置或合并硬連線和/或程序邏輯以實現(xiàn)這些技術(shù)的任何其它裝置。在本發(fā)明實施例的前述詳細(xì)描述中,已闡明了許多特定細(xì)節(jié)以便提供本發(fā)明的透徹理解。然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,本發(fā)明能在沒有這些特定細(xì)節(jié)的情況下實踐。在其它實例中,還沒有詳細(xì)描述公知方法、過程、組件、和電路,以便不會不必要地使得本發(fā)明實施例的各方面模糊。盡管為了清楚能夠?qū)⒎椒枥L為編號步驟的序列,但是編號并非必須規(guī)定這些步驟的順序。應(yīng)理解的是,一些步驟可被跳過、并行執(zhí)行、或在沒有維持序列的嚴(yán)格順序的需求下執(zhí)行。示出本發(fā)明實施例的圖是半圖解的并不按照比例繪制,并且特別是,一些維度是為了呈現(xiàn)的清楚,并在附圖中被夸大示出。類似地,盡管為了易于描述圖中的視圖一般示出類似方位,但是圖中的該描繪對于絕大部分是任意的。當(dāng)前第1頁1 2 3