存儲器件存取系統(tǒng)的制作方法
【專利摘要】本發(fā)明目的在于獲得一種不僅能夠有效利用存儲器件的存儲容量而且能夠增加寫入/讀取速度的存儲器件存取系統(tǒng)。該存儲器件存取系統(tǒng)(100)包括:地址搜索單元(10),其為多個頻繁出現(xiàn)的數(shù)據(jù)單元保持地址和已經(jīng)被賦予每個地址的數(shù)據(jù)索引,并且其獲取寫入或讀取數(shù)據(jù)單元的地址以便使用所獲得的地址搜索所保持的地址;頻繁出現(xiàn)數(shù)據(jù)保持單元(20),其保持已經(jīng)與所述多個頻繁出現(xiàn)數(shù)據(jù)單元的每一個相關(guān)聯(lián)的標(biāo)簽和數(shù)據(jù)索引值,在來自地址搜索單元(10)的所獲得地址獲取匹配是噢保持地址是獲取數(shù)據(jù)索引值以便識別與已經(jīng)與所獲得的數(shù)據(jù)索引值相關(guān)聯(lián)的標(biāo)簽對應(yīng)的頻繁出現(xiàn)數(shù)據(jù)單元;數(shù)據(jù)比較單元(30),其從頻繁出現(xiàn)數(shù)據(jù)保持單元(20)獲取頻繁出現(xiàn)數(shù)據(jù)單元以便將其與寫入數(shù)據(jù)單元進(jìn)行比較以便識別已經(jīng)與寫入數(shù)據(jù)單元匹配的頻繁出現(xiàn)數(shù)據(jù)單元;以及壓縮-解壓縮單元(40),其獲取并壓縮寫入數(shù)據(jù)單元以及來自數(shù)據(jù)比較單元(30)的頻繁出現(xiàn)數(shù)據(jù)單元并獲取和解壓縮來自存儲器件的讀取數(shù)據(jù)單元。
【專利說明】存儲器件存取系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種存儲器件存取系統(tǒng),用于將數(shù)據(jù)寫入存儲器件或從其中讀取數(shù)據(jù),并且其尤其涉及一種提供數(shù)據(jù)壓縮-擴展功能的存儲器件存取系統(tǒng)。
【背景技術(shù)】
[0002]以前,為了在存儲器件中有效存儲數(shù)據(jù),系統(tǒng)在寫入數(shù)據(jù)時壓縮(編碼)數(shù)據(jù)以及在讀取數(shù)據(jù)時擴展(解碼)數(shù)據(jù)。
[0003]例如,在專利文獻(xiàn)I和2中,披露了一種半導(dǎo)體存儲器件,其通過建立數(shù)據(jù)壓縮-擴張功能被配置為壓縮寫入數(shù)據(jù)以及擴展讀取數(shù)據(jù)。
[0004]在專利文獻(xiàn)3中,披露了一種文件壓縮處理設(shè)備,其能夠進(jìn)行文件的高速回放而不執(zhí)行文件壓縮以及能夠通過基于文件按的類型和存取的頻率選擇適當(dāng)壓縮方法來而有效利用文件。
[0005]在專利文獻(xiàn)4中,披露了一種文件壓縮處理設(shè)備,其能夠通過不壓縮具有高存取頻率的文件,通過降低打開文件所需的操作時間來防止處理新能的下降,以及能夠通過壓縮具有低存取頻率的文件來以高于實際容量的存儲容量來管理文件。
[0006]從存儲容量的角度看,比較好的是將所有數(shù)據(jù)壓縮寫入所述存儲器件意見將所有數(shù)據(jù)擴展從所述存儲器件中讀出,但是,通常,考慮到處理性能,基于有非常多的開放容量和高使用率,數(shù)據(jù)是在沒有壓縮的情況下被存儲(寫入)存儲器中的。因此,在壓縮寫入數(shù)據(jù)以及擴展讀取數(shù)據(jù)方面,只在為了有利于存儲容量的使用時進(jìn)行而在為了提升寫入和讀取數(shù)據(jù)方面不執(zhí)行。
[0007]引用文獻(xiàn)列表:
[0008]專利文獻(xiàn):
[0009]專利文獻(xiàn)1:日本待審專利公開文本號H05-204747
[0010]專利文獻(xiàn)2:本待審專利公開文本號2007-94639
[0011]專利文獻(xiàn)3:本待審專利公開文本號2002-49512
[0012]專利文獻(xiàn)4:本待審專利公開文本號2000-29756
【發(fā)明內(nèi)容】
[0013]技術(shù)問題
[0014]本發(fā)明的目的是為了實現(xiàn)一種存儲器件存取系統(tǒng),其不僅能夠有效利用所述存儲器件的存儲容量,而且能夠提升寫入和讀取速度。在本發(fā)明的目的內(nèi),包括提供一種存儲器存取系統(tǒng)。
[0015]問題解決方案
[0016]本發(fā)明提供的第一實施例的所述存儲器件存取系統(tǒng)構(gòu)造為包括如下內(nèi)容。具體而言,其包括:地址搜索部件,用于存儲多個頻繁使用數(shù)據(jù)的地址以及賦予該地址的數(shù)據(jù)索弓丨,用于獲取寫入或讀取數(shù)據(jù)的地址,以及用于采用所獲取的地址搜索所存儲的地址;頻繁使用數(shù)據(jù)存儲部件,用于存儲與所述多個頻繁使用數(shù)據(jù)和所述數(shù)據(jù)索引相關(guān)的標(biāo)簽,用于在由所述地址搜索部件所獲取的地址已經(jīng)命中被存儲地址時獲取所述數(shù)據(jù)索引,以及用于識別對應(yīng)于與所獲取數(shù)據(jù)索引相關(guān)的標(biāo)簽的頻繁使用數(shù)據(jù);數(shù)據(jù)比較器,用于從所述頻繁使用數(shù)據(jù)存儲部件獲取所述頻繁使用數(shù)據(jù),用于比較該數(shù)據(jù)與所述寫入數(shù)據(jù),以及用于識別已經(jīng)命中所述寫入數(shù)據(jù)的頻繁使用數(shù)據(jù);壓縮-擴展部件,用于從所述數(shù)據(jù)比較器獲取和壓縮所述寫入數(shù)據(jù)和所述頻繁使用數(shù)據(jù)以及用于從所述存儲器件獲取和擴展所述讀取數(shù)據(jù);寫入數(shù)據(jù)選擇器,用于獲取由所述壓縮-擴展部件所壓縮的寫入數(shù)據(jù)和頻繁使用數(shù)據(jù),用于從所述數(shù)據(jù)比較器接收指令,以及用于選擇所壓縮的寫入數(shù)據(jù)或所述頻繁使用數(shù)據(jù);以及讀取數(shù)據(jù)選擇器,用于當(dāng)所述讀取數(shù)據(jù)的地址已經(jīng)命中所述地址搜索部件的存儲地址時,從所述頻繁使用數(shù)據(jù)存儲部件獲取在所述頻繁使用數(shù)據(jù)內(nèi)的所識別的讀取數(shù)據(jù),用于當(dāng)所述數(shù)據(jù)沒有命中時,獲取從所述存儲器件讀取的并被所述壓縮-擴展部件擴展的讀取數(shù)據(jù),以及用于在來自所述地址搜索部件的指令下選擇所識別的讀取數(shù)據(jù)或所擴展的讀取數(shù)據(jù)。
[0017]優(yōu)選地,當(dāng)所述頻繁使用數(shù)據(jù)存儲部件已經(jīng)被所述數(shù)據(jù)比較器指令所述寫入數(shù)據(jù)已經(jīng)命中所述頻繁使用數(shù)據(jù)時,所述頻繁使用數(shù)據(jù)存儲部件告知所述地址搜索部件用于所命中的頻繁使用數(shù)據(jù)的標(biāo)簽,并且指令將具有所述地址搜索部件中的最老標(biāo)簽的所存儲地址覆寫到所獲取地址;以及當(dāng)所述頻繁使用數(shù)據(jù)存儲部件已經(jīng)被所述數(shù)據(jù)比較器指令所獲取地址已經(jīng)命中了所述地址搜索部件中的所存儲地址但是所述寫入數(shù)據(jù)還沒有命中由所述對應(yīng)標(biāo)簽所識別的所述頻繁使用數(shù)據(jù)時,所述頻繁使用數(shù)據(jù)存儲部件指令所述地址搜索部件執(zhí)行無效所命中的所存儲地址。
[0018]優(yōu)選地,所述地址搜索部件包括表,該表對于每個輸入項具有:地址字段,用于存儲地址;標(biāo)志字段,用于存儲表示針對地址已經(jīng)執(zhí)行的寫入或讀取的次數(shù)的標(biāo)志、以及數(shù)據(jù)索引字段,用于存儲用于所述地址字段的地址的數(shù)據(jù)索引,并且所述表由多個輸入項構(gòu)成。
[0019]優(yōu)選地,當(dāng)所述頻繁使用數(shù)據(jù)存儲部件已經(jīng)指令所述地址搜索部件執(zhí)行無效所命中的所存儲地址時,用于所述命中的所存儲地址的所述輸入項的所述標(biāo)志字段中的標(biāo)志被設(shè)置為表達(dá)無效的規(guī)定值。
[0020]優(yōu)選地,所述頻繁使用數(shù)據(jù)存儲部件包括表,該表對于每個輸入項具有:標(biāo)志字段,用于存儲標(biāo)志;以及頻繁使用數(shù)據(jù)字段,用于存儲與所述標(biāo)志字段的標(biāo)志對應(yīng)的頻繁使用數(shù)據(jù),并且所述表由多個輸入項構(gòu)成。
[0021]優(yōu)選地,所述頻繁使用數(shù)據(jù)字段存儲用于記錄在所述存儲器件中的、具有高頻繁使用的基本數(shù)據(jù)長度的數(shù)據(jù)。
[0022]優(yōu)選地,所述數(shù)據(jù)比較器包括多個比較器,用于比較每個對應(yīng)的頻繁使用數(shù)據(jù)與所述寫入數(shù)據(jù).[0023]優(yōu)選地,所述壓縮-擴展部件包括:壓縮引擎,提供用于壓縮所述寫入數(shù)據(jù)和所述讀取數(shù)據(jù)的至少一個壓縮電路;擴展引擎,提供用于擴展來自所述存儲器件的所述讀取數(shù)據(jù)的至少一個擴展電路;以及壓縮-擴展詞典部件,提供至少一個數(shù)據(jù)編碼支持表,用于支持編碼以便采用擴展電路擴展所述壓縮電路所壓縮的數(shù)據(jù)。
[0024]優(yōu)選地,所述數(shù)據(jù)編碼支持表被提供用于支持所述擴展電路和所述壓縮電路之間的對應(yīng)關(guān)系,并且所述數(shù)據(jù)編碼支持表的數(shù)據(jù)為存儲在所述頻繁使用數(shù)據(jù)存儲部件中的頻繁使用數(shù)據(jù)。
[0025]優(yōu)選地,所述寫入數(shù)據(jù)選擇器包括用于響應(yīng)于來自所述數(shù)據(jù)比較器的指令選擇所壓縮的寫入數(shù)據(jù)或所述頻繁使用數(shù)據(jù)的選擇器。
[0026]優(yōu)選地,所述讀取數(shù)據(jù)選擇器包括用于響應(yīng)于來自所述數(shù)據(jù)比較器的指令選擇所識別的讀取數(shù)據(jù)或所擴展的讀取數(shù)據(jù)的選擇器。
[0027]本發(fā)明有益效果
[0028]通過使用本發(fā)明,實現(xiàn)了一種存儲器件存取系統(tǒng),其不僅能夠有效利用所述存儲器件的存儲容量,而且能夠提升寫入和讀取速度。尤其是,即使在數(shù)據(jù)壓縮寫入以及數(shù)據(jù)在擴展讀出時,也能夠提升對所述存儲器件頻繁使用數(shù)據(jù)的寫入和讀取速度。
【專利附圖】
【附圖說明】
[0029]圖1是顯示根據(jù)本發(fā)明第一實施例的所述存儲器件存取系統(tǒng)的結(jié)構(gòu)性實例的視圖。
[0030]圖2是顯示在所述存儲器件存取系統(tǒng)中的所述地址搜索部件的結(jié)構(gòu)性實例的視圖。
[0031]圖3是顯示在所述存儲器件存取系統(tǒng)中的所述頻繁使用數(shù)據(jù)存儲部件的結(jié)構(gòu)性實例的視圖。
[0032]圖4是顯示在所述存儲器件存取系統(tǒng)中的所述數(shù)據(jù)比較器的結(jié)構(gòu)性實例的視圖。
[0033]圖5是顯示在所述存儲器件存取系統(tǒng)中的所述壓縮-擴展部件的結(jié)構(gòu)性實例的視圖。
[0034]圖6是顯示在所述存儲器件存取系統(tǒng)中的所述寫入數(shù)據(jù)選擇器的結(jié)構(gòu)性實例的視圖。
[0035]圖7是顯示在所述存儲器件存取系統(tǒng)中的所述讀取數(shù)據(jù)選擇器的結(jié)構(gòu)性實例的視圖。
[0036]圖8是顯示在所述存儲器件存取系統(tǒng)中的寫入處理的流程的視圖。
[0037]圖9是顯示在所述存儲器件存取系統(tǒng)中的讀取處理的流程的視圖。
【具體實施方式】
[0038]以下部分基于附圖詳細(xì)描述了用于實現(xiàn)本發(fā)明的優(yōu)選實施例,但是以下實施模式并不限制根據(jù)權(quán)利要求范圍的本發(fā)明,也在要求該實施例內(nèi)描述的特征的整個組合呈現(xiàn)在本發(fā)明解決方案部分內(nèi)的形式方面沒有限制。本發(fā)明可以以多種不同模式實現(xiàn),病情其不應(yīng)被解釋為限制于在所記錄的實施例中的內(nèi)容。而且,在實施例的整個描述中,相同標(biāo)記被用于相同結(jié)構(gòu)部分和結(jié)構(gòu)元件。
[0039]圖1是顯示根據(jù)本發(fā)明第一實施例的所述存儲器件存取系統(tǒng)的結(jié)構(gòu)性實例的視圖。存取系統(tǒng)100布置在諸如PLB(處理器局部總線)的片上(on-chip)總線110和用于所述存儲器件的寫入-讀取控制器件120之間。所述存儲器件可以是任何類型。例如,其可以是諸如布置在芯片內(nèi)的超高速緩存或存儲器的存儲器件、或者其可以是諸如布置在芯片之外的HDD(硬盤驅(qū)動器)或SSD(固態(tài)驅(qū)動器)的存儲器件。在圖1中,顯示了例如存儲器件130和HDD/SSD140。每個地址和寫入數(shù)據(jù)從片上總線110通過地址線和數(shù)據(jù)線被提供給存取系統(tǒng)100,并且讀取數(shù)據(jù)通過數(shù)據(jù)線從提供給片上總線110。
[0040]在存取系統(tǒng)100內(nèi),包括:地址搜索部件10、頻繁使用數(shù)據(jù)存儲部件20、數(shù)據(jù)比較器30、縮-擴展部件40、寫入數(shù)據(jù)選擇器80以及讀取數(shù)據(jù)選擇器90,壓縮-擴展部件40提供壓縮引擎50、壓縮-擴展詞典60以及擴展引擎70。
[0041]地址被輸入地址搜索部件10。地址搜索部件10保持用于存儲器件130或HDD/SSD140內(nèi)的多個頻繁使用數(shù)據(jù)的每一個的地址以及賦予每個地址的數(shù)據(jù)索引??梢员活A(yù)先指定的所述多個頻繁使用數(shù)據(jù)為例如作為32-比特的連續(xù)的O或I的AllO或A111,或者為通過在編輯程序時分析執(zhí)行代碼獲得的數(shù)據(jù)模式(pattern);并且用于頻繁使用數(shù)據(jù)的地址被準(zhǔn)備和存儲在地址搜索部件10中。
[0042]圖2顯示了地址搜索部件10的結(jié)構(gòu)實例。地址搜索部件10包括由多個輸入項(entry)構(gòu)成的表11。所述輸入項數(shù)量可以為任意設(shè)置,但優(yōu)選的是將其設(shè)置為對應(yīng)于用于存儲在地址搜索部件10中的頻繁使用數(shù)據(jù)的地址數(shù)量。在表11中的每個輸入項中,建立有:地址字段12用于存儲地址;數(shù)據(jù)索引字段14,用于存儲用于地址字段12的地址的數(shù)據(jù)索引;以及標(biāo)志字段13,用于存儲表示針對地址字段12的地址已經(jīng)被執(zhí)行寫入或讀取的次數(shù)的標(biāo)志。表11可以采用CAM(內(nèi)容可尋址存儲器)或RAM(隨機存取存儲器)構(gòu)造。地址字段12由CAM構(gòu)造以便加速地址搜索,而與地址字段12對應(yīng)的標(biāo)志字段13和數(shù)據(jù)索引字段14可以由RAM構(gòu)造。
[0043]對于每個輸入項,在地址字段12內(nèi),以與例如由地址線從片上總線110提供的全比特地址相同的格式準(zhǔn)備和存儲有用于頻繁使用數(shù)據(jù)的地址。標(biāo)志字段13為計數(shù)器比特,用于存儲針對地址字段12的地址已經(jīng)被執(zhí)行寫入或讀取的次數(shù)。標(biāo)志字段13的標(biāo)志能夠存儲用于地址字段12的地址的歷史,并且其在所述存儲器件的實際使用時自動捕獲該地址所指定的頻繁使用數(shù)據(jù)的存取頻率。
[0044]當(dāng)?shù)刂匪阉鞑考?0獲取地址時,其使用所獲取的地址來搜索表11中的地址字段12的地址。當(dāng)所獲取地址命中地址字段12中的地址(地址命中)時,地址搜索部件10向頻繁使用數(shù)據(jù)存儲部件20輸出與存儲在數(shù)據(jù)索引字段14的用于所命中地址的數(shù)據(jù)索引相關(guān)的標(biāo)簽。用于寫入數(shù)據(jù)的所獲取地址被輸出到寫入-讀取控制器件120,無論其是否命中地址字段12中的地址。當(dāng)用于讀取數(shù)據(jù)的所獲取地址沒有命中地址字段12中的地址(讀取失敗),其被輸出到寫入-讀取控制器件120,但是當(dāng)其命中(讀取命中),其不被輸出到寫入-讀取控制器件120。這是因為,當(dāng)用于讀取數(shù)據(jù)的所獲取地址命中地址字段12中的地址時(讀取命中),其不是用于從所述存儲器件中獲取讀取數(shù)據(jù)的地址,并因此存儲在頻繁使用數(shù)據(jù)存儲部件20中的所述頻繁使用數(shù)據(jù)被提供作為所述讀取數(shù)據(jù)。此時,地址搜索部件10指令選擇在讀取數(shù)據(jù)選擇器90中的讀取數(shù)據(jù),以便選擇存儲在頻繁使用數(shù)據(jù)存儲部件20中的所述頻繁使用數(shù)據(jù)作為所述讀取數(shù)據(jù)。
[0045]當(dāng)由數(shù)據(jù)比較器30所輸入的所述寫入數(shù)據(jù)命中存儲在頻繁使用數(shù)據(jù)存儲部件20中的頻繁使用數(shù)據(jù)(數(shù)據(jù)命中)時,地址搜索部件10被通知用于來自頻繁使用數(shù)據(jù)存儲部件20的頻繁使用數(shù)據(jù)的標(biāo)簽,其接收指令以便采用用于該寫入數(shù)據(jù)的所獲得地址覆寫在地址字段12內(nèi)的最老標(biāo)簽的存儲地址,并且其執(zhí)行該覆寫。用于地址字段12內(nèi)的最老標(biāo)簽的存儲地址通過核實標(biāo)志字段13內(nèi)的標(biāo)志來確定。通過該覆寫,擁有用于最老標(biāo)簽的存儲地址的輸入項將所獲得地址存儲在地址字段12中,將新標(biāo)志存儲在標(biāo)志字段13中,以及將所通知的標(biāo)志存儲在數(shù)據(jù)索引字段14中。此外,當(dāng)用于所輸入的寫入數(shù)據(jù)的所獲得地址命中在地址搜索部件10中的存儲地址并且所述寫入數(shù)據(jù)沒有命中由頻繁使用數(shù)據(jù)存儲部件20所指定的所述頻繁使用數(shù)據(jù)時,地址搜索部件10被頻繁使用數(shù)據(jù)存儲部件20指令來執(zhí)行無效所命中存儲地址(無效),并且所命中存儲地址被無效。通過對于標(biāo)志字段13的標(biāo)志將規(guī)定值設(shè)置為例如O來執(zhí)行所述無效。
[0046]頻繁使用數(shù)據(jù)存儲部件20存儲創(chuàng)建將被存取的所述存儲器件內(nèi)的多個數(shù)據(jù)和在地址搜索部件10內(nèi)的數(shù)據(jù)索引之間關(guān)系的標(biāo)簽。此外,頻繁使用數(shù)據(jù)存儲部件20將每個所存儲的頻繁使用數(shù)據(jù)提供給數(shù)據(jù)比較器30以便使得數(shù)據(jù)比較器30能夠比較該數(shù)據(jù)與來自片上總線110的所述寫入數(shù)據(jù)。
[0047]圖3顯示了頻繁使用數(shù)據(jù)存儲部件20的結(jié)構(gòu)實例。頻繁使用數(shù)據(jù)存儲部件20包括由多個輸入項構(gòu)成的表21。輸入項數(shù)量可以為任意設(shè)置,但優(yōu)選的是將其設(shè)置為對應(yīng)于用于存儲在頻繁使用數(shù)據(jù)存儲部件20中的所述頻繁使用數(shù)據(jù)。每個頻繁使用數(shù)據(jù)可以通過多個不同地址來指定,并且因此表21包含與表11中的輸入項數(shù)量一樣多的輸入項數(shù)量。在表21中的每個輸入項中,建立有用于存儲標(biāo)簽的標(biāo)簽字段22和預(yù)先準(zhǔn)備并與每個標(biāo)簽對應(yīng)的頻繁使用數(shù)據(jù)字段23。在頻繁使用數(shù)據(jù)字段23中存儲所述頻繁使用數(shù)據(jù)的方法并不被具體限定,但是,例如,可以配置為基于根據(jù)地址搜索部件10的標(biāo)志可獲得的存取頻率,對應(yīng)于存取頻率順序,將頻繁使用數(shù)據(jù)存儲在頻繁使用數(shù)據(jù)字段23。
[0048]對于每個輸入項,在標(biāo)簽字段22,存儲有標(biāo)簽,其對應(yīng)于存儲在地址搜索部件10的數(shù)據(jù)索引字段14中的數(shù)據(jù)索引。因此,在標(biāo)簽字段22中,存儲有按照從例如O開始的順序賦予的與用于數(shù)據(jù)索引字段14的數(shù)字值一致的數(shù)字值。在頻繁使用數(shù)據(jù)字段23中,存儲有頻繁使用數(shù)據(jù),其擁有執(zhí)行寫入和讀取所采用的數(shù)據(jù)長度,該數(shù)據(jù)長度為適當(dāng)單位,諸如從片上總線110被寫入和從片上總線110上被讀取的基本數(shù)據(jù)長度、用于圖像的像素長度或用于超高速緩存的行長度。所述頻繁使用數(shù)據(jù)例如為作為32-比特的連續(xù)O或I的AllO或Al 11,或者為通過在編譯程序時分析執(zhí)行代碼獲得的數(shù)據(jù)模式。
[0049]當(dāng)所獲取地址命中地址搜索部件10處的所存儲地址時(地址命中),頻繁使用數(shù)據(jù)存儲部件20從地址搜索部件10獲取標(biāo)簽,該標(biāo)簽對應(yīng)于用于已經(jīng)被命中的所存儲地址的數(shù)據(jù)索引。頻繁使用數(shù)據(jù)存儲部件20檢測到該標(biāo)簽與來自表21的標(biāo)簽字段22的與所獲得數(shù)據(jù)索引對應(yīng)的標(biāo)簽匹配,并且其識別與所匹配的標(biāo)簽對應(yīng)的所述頻繁使用數(shù)據(jù)。
[0050]在寫入時,所識別的頻繁使用數(shù)據(jù)與來自片上總線110的所述寫入數(shù)據(jù)由數(shù)據(jù)比較器30進(jìn)行比較,與和頻繁使用數(shù)據(jù)字段23中的其他頻繁使用數(shù)據(jù)進(jìn)行比較一樣。在數(shù)據(jù)比較器30處,當(dāng)所識別的頻繁使用數(shù)據(jù)為寫入數(shù)據(jù)并且其已經(jīng)命中其他頻繁使用數(shù)據(jù)時,頻繁使用數(shù)據(jù)存儲部件20接收來自數(shù)據(jù)比較器30的所述頻繁使用數(shù)據(jù)已經(jīng)命中的指令(數(shù)據(jù)命中指令),其告知具有存儲在標(biāo)簽字段22中的標(biāo)簽的地址搜索部件10用于所命中的頻繁使用數(shù)據(jù)的輸入項(數(shù)據(jù)命中),并且其指令采用所獲取的地址覆寫地址搜索部件10中的最老標(biāo)簽的存儲地址。當(dāng)所述寫入數(shù)據(jù)還沒有命中數(shù)據(jù)比較器30中的所識別的頻繁使用數(shù)據(jù)時,頻繁使用數(shù)據(jù)存儲部件20指令地址搜索部件10無效在地址搜索部件10處已經(jīng)被命中的存儲地址(命中地址無效)。當(dāng)讀取時,所識別的頻繁使用數(shù)據(jù)(讀取命中)被提供給讀取數(shù)據(jù)選擇器90作為讀取數(shù)據(jù)。
[0051]數(shù)據(jù)比較器30從頻繁使用數(shù)據(jù)存儲部件20獲取所存儲的頻繁使用數(shù)據(jù)并將其與從片上總線110輸入的所述寫入數(shù)據(jù)進(jìn)行比較。圖4顯示了數(shù)據(jù)比較器30的結(jié)構(gòu)實例。數(shù)據(jù)比較器30包括多個比較器31a、31b...31η,其比較每個對應(yīng)頻繁使用數(shù)據(jù)與所述寫入數(shù)據(jù)。當(dāng)寫入數(shù)據(jù)命中所述頻繁使用數(shù)據(jù)時,所述多個比較器31a、31b...31η創(chuàng)建用于該命中的指令(數(shù)據(jù)命中),并輸出該指令到頻繁使用數(shù)據(jù)存儲部件20以及寫入數(shù)據(jù)選擇器80。在每個所輸入的頻繁使用數(shù)據(jù)已經(jīng)被比較之后,所述多個比較器31a、31b...31η將該數(shù)據(jù)提供到壓縮-擴展部件40的壓縮引擎50。所述寫入數(shù)據(jù)還從數(shù)據(jù)比較器30提供到壓縮引擎50。
[0052]壓縮-擴展部件40獲取并比較來自數(shù)據(jù)比較器30的寫入數(shù)據(jù)和頻繁使用數(shù)據(jù),并且其獲取和擴展(expand)相對于所述存儲器件來自寫入-讀取控制器件120的讀取數(shù)據(jù)。圖5顯示了壓縮-擴展部件40的結(jié)構(gòu)實例。壓縮-擴展部件40包括壓縮引擎50、壓縮-擴展詞典60以及擴展引擎70。壓縮引擎50包括采用不同壓縮方法的多個壓縮電路51a、51b...51m并且壓縮從數(shù)據(jù)比較器30獲取的所述寫入數(shù)據(jù)和頻繁使用數(shù)據(jù)。壓縮電路51a、51b...51m為例如使用硬件來產(chǎn)生無損耗壓縮方法(LHA等)的算法的電路。壓縮引擎50使用該壓縮電路壓縮所述寫入數(shù)據(jù)和頻繁使用數(shù)據(jù),并且其提供該數(shù)據(jù)到寫入數(shù)據(jù)選擇器80。擴展引擎70與壓縮引擎50對應(yīng),并且其包括采用不同擴展方法的多個擴展電路71a、71b...71m并且擴展從寫入-讀取控制器件120獲取的所述讀取數(shù)據(jù)。擴展引擎70使用該擴展電路來擴展所述讀取數(shù)據(jù),并且其將該數(shù)據(jù)提供到讀取數(shù)據(jù)選擇器90。當(dāng)在頻繁使用數(shù)據(jù)存儲部件20中沒有頻繁使用數(shù)據(jù)變成所述讀取數(shù)據(jù)時(讀取失敗)進(jìn)行從寫入-讀取控制器件120中獲取讀取數(shù)據(jù)。壓縮-擴展詞典60包括數(shù)據(jù)編碼支持表61a、61b...61m,其執(zhí)行將由壓縮電路5la、5lb...51m采用在擴展電路7la、7lb...71m處擴展該數(shù)據(jù)的編碼來壓縮的數(shù)據(jù)的對應(yīng)關(guān)系。構(gòu)造使得在頻繁使用數(shù)據(jù)存儲部件20中存儲的數(shù)據(jù)為通過數(shù)據(jù)編碼支持表61a、61b...61m壓縮的數(shù)據(jù)也是可以接受的,由此使得壓縮電路51a,51b...51m 和擴展電路 71a、71b...71m 對應(yīng)。
[0053]寫入數(shù)據(jù)選擇器80獲取通過壓縮-擴展部件40壓縮的所述寫入數(shù)據(jù)和頻繁使用數(shù)據(jù),并且,按照來自數(shù)據(jù)比較器30的指令,其選擇在壓縮-擴展詞典60中注冊的所壓縮的寫數(shù)據(jù)或所壓縮的頻繁使用數(shù)據(jù)。圖6顯示了寫入數(shù)據(jù)選擇器80的結(jié)構(gòu)實例。寫入數(shù)據(jù)選擇器80包括選擇器81,其用于對來自數(shù)據(jù)比較器30的指令作出相應(yīng),用于選擇所壓縮的寫數(shù)據(jù)或所壓縮的頻繁使用數(shù)據(jù),以及用于提供數(shù)據(jù)到寫入-讀取控制器件120。
[0054]當(dāng)從片上總線110獲取的所述讀取數(shù)據(jù)的地址已經(jīng)命中地址搜索部件10中的存儲地址時(讀取命中),讀取數(shù)據(jù)選擇器90從頻繁使用數(shù)據(jù)存儲部件20獲取所述頻繁使用數(shù)據(jù)中的所識別的頻繁使用數(shù)據(jù);以及當(dāng)數(shù)據(jù)已經(jīng)命中時(讀取命中),其相對于所述存儲器件獲取從寫入-讀取控制器件120讀取的并且由壓縮-擴展部件40擴展的所述讀取數(shù)據(jù)。依照來自數(shù)據(jù)比較器30的指令,讀取數(shù)據(jù)選擇器90選擇所識別的頻繁使用數(shù)據(jù)或所擴展的數(shù)據(jù)。圖7讀取數(shù)據(jù)選擇器90結(jié)構(gòu)實例。讀取數(shù)據(jù)選擇器90包括選擇器91,用于響應(yīng)來自地址搜索部件10的指令,用于選擇所識別的頻繁使用數(shù)據(jù)或所擴展的讀取數(shù)據(jù),以及用于提供數(shù)據(jù)到片上總線110。
[0055]圖8顯示了存儲器件存取系統(tǒng)100中的寫入處理的流程。存取系統(tǒng)100開始于步驟801,其時有從片上總線110輸入的地址或?qū)懭霐?shù)據(jù)。在步驟802處輸入的該地址或?qū)懭霐?shù)據(jù)通過存取系統(tǒng)100獲取,并且在步驟803處,由搜索所存儲地址的地址搜索部件10對所獲取的地址執(zhí)行地址搜索。在步驟803處,當(dāng)所執(zhí)行的地址搜索產(chǎn)生未被命中時(否),則處理前進(jìn)到步驟804,而當(dāng)命中時(是),其前進(jìn)到步驟805,在步驟804和步驟805處,數(shù)據(jù)比較器30比較所述寫入數(shù)據(jù)與來自頻繁使用數(shù)據(jù)存儲部件20的頻繁使用數(shù)據(jù)。當(dāng)在步驟804或步驟805處的數(shù)據(jù)比較產(chǎn)生數(shù)據(jù)命中時(匹配)(是),處理前進(jìn)到步驟806,并且由頻繁使用數(shù)據(jù)存儲部件20采用用于所命中的頻繁使用數(shù)據(jù)的標(biāo)簽通知的地址搜索部件10接收指令來將地址字段12內(nèi)具有最老標(biāo)簽的存儲地址覆寫到所獲取地址。當(dāng)在步驟805處的數(shù)據(jù)比較導(dǎo)致沒有數(shù)據(jù)命中時(否),處理前進(jìn)到步驟807,并且由頻繁使用數(shù)據(jù)存儲部件20指令來執(zhí)行的命中存儲地址無效(無效)的地址搜索部件10無效所命中的存儲地址。當(dāng)在步驟804步驟處的數(shù)據(jù)比較導(dǎo)致無數(shù)據(jù)命中(否)并且在步驟807處所命中存儲地址已經(jīng)被無效時,處理前進(jìn)到步驟808并且所述寫入數(shù)據(jù)被壓縮-擴展部件40壓縮。當(dāng)在步驟806處具有最老標(biāo)簽的存儲地址被覆寫到所獲取地址時,所述寫入數(shù)據(jù)和所命中的頻繁使用數(shù)據(jù)被壓縮-擴展部件40壓縮。在步驟809處,在所述數(shù)據(jù)已經(jīng)被壓縮后,在除了讀取命中之外時,所獲取的地址被地址搜索部件10輸出,并且按照數(shù)據(jù)比較器30的指令,寫入數(shù)據(jù)選擇器80選擇和輸出在壓縮-擴展詞典60中注冊的所壓縮的寫入數(shù)據(jù)或所壓縮的頻繁使用數(shù)據(jù)。當(dāng)所獲取的地址和所壓縮的數(shù)據(jù)已經(jīng)在步驟809處被輸出時,處理前進(jìn)到步驟810,并且地址搜索部件10終止數(shù)據(jù)寫入處理。
[0056]圖9顯示了存儲器件存取系統(tǒng)100的讀取去處理的流程。存取系統(tǒng)100開始于步驟901,其時從片上總線110輸入地址。在步驟902處輸入的地址被存取系統(tǒng)100獲取,并且在步驟903處,由搜索所存儲地址的地址搜索部件10對所獲取的地址執(zhí)行地址搜索。在步驟903處,當(dāng)所執(zhí)行的地址搜索產(chǎn)生命中時(是),具體而言,讀取命中時,則處理前進(jìn)到步驟904,而當(dāng)未命中時(否),具體而言,當(dāng)讀取失敗時,其前進(jìn)到步驟906。當(dāng)讀取命中是,在步驟904處,從頻繁使用數(shù)據(jù)存儲部件20獲取命中所獲取地址的所述頻繁使用數(shù)據(jù),以及在步驟905處,選擇并輸出所述頻繁使用數(shù)據(jù)作為讀取數(shù)據(jù)。另一方面,當(dāng)讀取失敗時,在步驟906處,所獲取地址從地址搜索部件10被輸出到寫入-讀取控制器件120,并且用于該地址的所壓縮數(shù)據(jù)從所述存儲器件中獲取。在步驟907處,所獲取壓縮數(shù)據(jù)被壓縮-擴展部件40擴展。在步驟908處,由讀取數(shù)據(jù)選擇器90從壓縮-擴展部件40獲取所擴展的數(shù)據(jù),該讀取數(shù)據(jù)選擇器90選擇和輸出該數(shù)據(jù)作為讀取數(shù)據(jù)。當(dāng)在步驟905處輸出頻繁使用數(shù)據(jù)作為讀取數(shù)據(jù)或者在步驟908處輸出所擴展數(shù)據(jù)作為讀取數(shù)據(jù)時,該處理前進(jìn)到步驟909并且地址搜索部件10終止所述讀取處理。
[0057]上面使用實施例描述了本發(fā)明,但是本發(fā)明的技術(shù)范圍并不限于實施例中記載的范圍。采用該實施例可以實現(xiàn)各種修改和改進(jìn),并且這種修改或改進(jìn)方式當(dāng)然也將包含在本發(fā)明的技術(shù)范圍內(nèi)。
[0058]參考標(biāo)記列表:
[0059]10地址搜索部件
[0060]20頻繁使用數(shù)據(jù)存儲部件
[0061]30數(shù)據(jù)比較器
[0062]40壓縮-擴展部件
[0063]80寫入數(shù)據(jù)選擇器
[0064]90讀取數(shù)據(jù)選擇器 [0065] 100存儲期間按存取系統(tǒng)
【權(quán)利要求】
1.一種存儲器件存取系統(tǒng),用于相對于存儲器件寫入和讀取數(shù)據(jù),該系統(tǒng)包括: 地址搜索部件,用于存儲多個頻繁使用數(shù)據(jù)的地址以及賦予該地址的數(shù)據(jù)索引,用于獲取寫入或讀取數(shù)據(jù)的地址,以及用于采用所獲取的地址搜索所存儲的地址; 頻繁使用數(shù)據(jù)存儲部件,用于存儲與所述多個頻繁使用數(shù)據(jù)和所述數(shù)據(jù)索引相關(guān)的標(biāo)簽,用于在由所述地址搜索部件所獲取的地址已經(jīng)命中被存儲地址時獲取所述數(shù)據(jù)索引,以及用于識別對應(yīng)于與所獲取數(shù)據(jù)索引相關(guān)的標(biāo)簽的頻繁使用數(shù)據(jù); 數(shù)據(jù)比較器,用于從所述頻繁使用數(shù)據(jù)存儲部件獲取所述頻繁使用數(shù)據(jù),用于將該數(shù)據(jù)與所述寫入數(shù)據(jù)進(jìn)行比較,以及用于識別已經(jīng)命中所述寫入數(shù)據(jù)的頻繁使用數(shù)據(jù); 壓縮-擴展部件,用于從所述數(shù)據(jù)比較器獲取和壓縮所述寫入數(shù)據(jù)和所述頻繁使用數(shù)據(jù)以及用于從所述存儲器件獲取和擴展所述讀取數(shù)據(jù); 寫入數(shù)據(jù)選擇器,用于獲取由所述壓縮-擴展部件所壓縮的寫入數(shù)據(jù)和頻繁使用數(shù)據(jù),用于從所述數(shù)據(jù)比較器接收指令,以及用于選擇所述被壓縮寫入數(shù)據(jù)或所述頻繁使用數(shù)據(jù);以及 讀取數(shù)據(jù)選擇器,用于當(dāng)所述讀取數(shù)據(jù)的地址已經(jīng)命中所述地址搜索部件的存儲地址時,從所述頻繁使 用數(shù)據(jù)存儲部件獲取在所述頻繁使用數(shù)據(jù)內(nèi)的所識別的讀取數(shù)據(jù),用于當(dāng)所述數(shù)據(jù)沒有命中時,獲取從所述存儲器件讀取的并被所述壓縮-擴展部件擴展的讀取數(shù)據(jù),以及用于在來自所述地址搜索部件的指令下選擇所識別的讀取數(shù)據(jù)或所擴展的讀取數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的存儲器件存取系統(tǒng),其中,當(dāng)所述頻繁使用數(shù)據(jù)存儲部件已經(jīng)被所述數(shù)據(jù)比較器指令所述寫入數(shù)據(jù)已經(jīng)命中所述頻繁使用數(shù)據(jù)時,所述頻繁使用數(shù)據(jù)存儲部件告知所述地址搜索部件用于所命中頻繁使用數(shù)據(jù)的標(biāo)簽,并且指令將具有所述地址搜索部件中的最老標(biāo)簽的所存儲地址覆寫到所獲取地址;以及當(dāng)所述頻繁使用數(shù)據(jù)存儲部件已經(jīng)被所述數(shù)據(jù)比較器指令所獲取地址已經(jīng)命中了所述地址搜索部件中的所存儲地址但是所述寫入數(shù)據(jù)還沒有命中由所述對應(yīng)標(biāo)簽所識別的所述頻繁使用數(shù)據(jù)時,所述頻繁使用數(shù)據(jù)存儲部件指令所述地址搜索部件執(zhí)行無效所命中的所存儲地址。
3.根據(jù)權(quán)利要求1或2所述的存儲器件存取系統(tǒng),其中,所述地址搜索部件包括表,該表對于每個輸入項具有:地址字段,用于存儲地址;標(biāo)志字段,用于存儲表示針對地址已經(jīng)執(zhí)行的寫入或讀取的次數(shù)的標(biāo)志、以及數(shù)據(jù)索引字段,用于存儲用于所述地址字段的地址的數(shù)據(jù)索引,并且所述表由多個輸入項構(gòu)成。
4.根據(jù)權(quán)利要求2或3所述的存儲器件存取系統(tǒng),其中,當(dāng)所述頻繁使用數(shù)據(jù)存儲部件已經(jīng)指令所述地址搜索部件執(zhí)行無效所命中的所存儲地址時,用于所述命中的所存儲地址的所述輸入項的所述標(biāo)志字段中的標(biāo)志被設(shè)置為表達(dá)無效的規(guī)定值。
5.根據(jù)權(quán)利要求1-4任意一個所述的存儲器件存取系統(tǒng),其中,所述頻繁使用數(shù)據(jù)存儲部件包括表,該表對于每個輸入項具有:標(biāo)志字段,用于存儲標(biāo)志;以及頻繁使用數(shù)據(jù)字段,用于存儲與所述標(biāo)志字段的標(biāo)志對應(yīng)的頻繁使用數(shù)據(jù),并且所述表由多個輸入項構(gòu)成。
6.根據(jù)權(quán)利要求5所述的存儲器件存取系統(tǒng),其中,所述頻繁使用數(shù)據(jù)字段存儲用于記錄在所述存儲器件中的、具有高頻繁使用的基本數(shù)據(jù)長度的數(shù)據(jù)。
7.根據(jù)權(quán)利要求1-6任意一個所述的存儲器件存取系統(tǒng),其中,所述數(shù)據(jù)比較器包括多個比較器,用于比較每個對應(yīng)的頻繁使用數(shù)據(jù)與所述寫入數(shù)據(jù).
8.根據(jù)權(quán)利要求1-7任意一個所述的存儲器件存取系統(tǒng),其中,所述壓縮-擴展部件包括:壓縮引擎,提供用于壓縮所述寫入數(shù)據(jù)和所述讀取數(shù)據(jù)的至少一個壓縮電路;擴展引擎,提供用于擴展來自所述存儲器件的所述讀取數(shù)據(jù)的至少一個擴展電路;以及壓縮-擴展詞典部件,提供至少一個數(shù)據(jù)編碼支持表,用于支持編碼以便采用擴展電路擴展所述壓縮電路所壓縮的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8的存儲器件存取系統(tǒng),其中,所述數(shù)據(jù)編碼支持表被提供用于支持所述擴展電路和所述壓縮電路之間的對應(yīng)關(guān)系,并且所述數(shù)據(jù)編碼支持表的數(shù)據(jù)為存儲在所述頻繁使用數(shù)據(jù)存儲部件中的頻繁使用數(shù)據(jù)。
10.根據(jù)權(quán)利要求1-9任意一個所述的存儲器件存取系統(tǒng),其中,所述寫入數(shù)據(jù)選擇器包括用于響應(yīng)于來自所述數(shù)據(jù)比較器的指令選擇所壓縮的寫入數(shù)據(jù)或所述頻繁使用數(shù)據(jù)的選擇器。
11.根據(jù)權(quán)利要求1-10任意一個所述的存儲器件存取系統(tǒng),其中,所述讀取數(shù)據(jù)選擇器包括用于響應(yīng)于來自所述數(shù)據(jù)比較器的指令選擇所識別的讀取數(shù)據(jù)或所擴展的讀取數(shù)據(jù)的選擇器 。
【文檔編號】G06F13/10GK103999061SQ201280061338
【公開日】2014年8月20日 申請日期:2012年10月3日 優(yōu)先權(quán)日:2011年12月22日
【發(fā)明者】松瀬秀作 申請人:國際商業(yè)機器公司