專利名稱:提高計(jì)算機(jī)末級高速緩存可靠性的數(shù)據(jù)壓縮裝置及其方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)系統(tǒng)中末級高速緩存數(shù)據(jù)壓縮和差錯(cuò)檢查與糾正技術(shù)領(lǐng)域,具 體涉及一種提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置及其方法。
背景技術(shù):
在SRAM器件工藝不斷提升的同時(shí),緩存系統(tǒng)的可靠性受到越來越嚴(yán)重的威脅。其 中軟錯(cuò)誤是威脅計(jì)算機(jī)緩存系統(tǒng)可靠性的最主要因素之一。軟錯(cuò)誤是指由Alpha粒子或 者宇宙射線誘發(fā)的不可預(yù)測的隨機(jī)存儲錯(cuò)誤,容易引起計(jì)算機(jī)系統(tǒng)的崩潰和數(shù)據(jù)丟失。特 別是對于應(yīng)用于惡劣環(huán)境的計(jì)算機(jī)對容忍軟錯(cuò)誤的能力要求更高。對于計(jì)算機(jī)緩存,傳統(tǒng) 避免軟錯(cuò)誤發(fā)生的保護(hù)策略主要采用冗余或者錯(cuò)誤校驗(yàn)碼技術(shù)。其中,錯(cuò)誤校驗(yàn)碼技術(shù)是 保護(hù)計(jì)算機(jī)緩存最有效的技術(shù),被工業(yè)界所廣泛采用。但是,由于錯(cuò)誤校驗(yàn)碼需要存儲冗余 位,這使得在緩存芯片上必須增加額外的存儲資源,其硬件耗費(fèi)很高,從而成為提高可靠性 預(yù)防軟錯(cuò)誤的瓶頸。數(shù)據(jù)壓縮技術(shù)是一種被廣泛應(yīng)用于數(shù)據(jù)通信與數(shù)據(jù)保存的技術(shù),它通過減少數(shù)據(jù) 中的冗余信息來減少數(shù)據(jù)通信和保存的開銷,增加緩存有效存儲空間。數(shù)據(jù)壓縮與解壓帶 來的附加延時(shí)影響計(jì)算機(jī)運(yùn)行性能,好的數(shù)據(jù)壓縮方法成為數(shù)據(jù)壓縮的關(guān)鍵。常見的方法 有基于文本串字典匹配的壓縮方法、基于值局部性字典的壓縮方法、基于符號位冗余消除 的壓縮方法。本發(fā)明采用的數(shù)據(jù)壓縮算法,是基于符號位冗余消除的壓縮算法開發(fā)出的頻 用模板壓縮算法。該算法將所有的存儲數(shù)據(jù)字分成8種模式,當(dāng)壓縮時(shí),如果訪問的字匹配 某種模式,則為該字生成模式前綴編碼,然后串接去掉冗余位后該字的值,形成該字的壓縮 編碼。每個(gè)字根據(jù)模式不同可分別占用更少的空間,因此該算法可以實(shí)現(xiàn)較高的壓縮率,而 且壓縮延時(shí)也較短,更適合作為本發(fā)明中的緩存壓縮算法。但是,傳統(tǒng)的數(shù)據(jù)壓縮方法僅用于提高緩存容量,壓縮后大小不一的數(shù)據(jù)塊給緩 存管理帶來較大的困難,容易產(chǎn)生碎片,增加管理調(diào)度的延遲和耗費(fèi)。而本發(fā)明利用末級高 速緩存數(shù)據(jù)壓縮的空間增加錯(cuò)誤校驗(yàn)碼的冗余位存儲,提高錯(cuò)誤校驗(yàn)碼的糾錯(cuò)能力,從而 提高整個(gè)緩存系統(tǒng)的可靠性。
發(fā)明內(nèi)容
為了克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種提高計(jì)算機(jī)末級 高速緩存可靠性的壓縮數(shù)據(jù)裝置及其方法,通過數(shù)據(jù)壓縮裝置、壓縮仲裁器、擴(kuò)展標(biāo)記、生 成可變ECC碼裝置、緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置以及解壓仲裁器相互連接,且其解壓縮方法運(yùn) 用數(shù)據(jù)壓縮裝置和數(shù)據(jù)解壓縮裝置對一級緩存與末級高速緩存存儲的數(shù)據(jù)進(jìn)行解壓縮,將 獲得的空間用于存儲錯(cuò)誤校驗(yàn)碼,從而降低糾錯(cuò)校驗(yàn)技術(shù)的硬件耗費(fèi)。增加末級高速緩存 的存儲空間可支持糾錯(cuò)能力更強(qiáng)的錯(cuò)誤校驗(yàn)碼,并可根據(jù)該存儲空間的大小調(diào)整數(shù)據(jù)保護(hù) 單元的粒度以存儲更多的錯(cuò)誤校驗(yàn)碼,另外通過數(shù)據(jù)壓縮提高錯(cuò)誤校驗(yàn)?zāi)芰Γ娠@著提高 計(jì)算機(jī)末級高速緩存的可靠性。
為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是—種提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置,包括數(shù)據(jù)壓縮裝置和數(shù)據(jù) 解壓縮裝置,該數(shù)據(jù)壓縮裝置的數(shù)據(jù)輸入口 1同對應(yīng)的一級緩存相通信連接,數(shù)據(jù)壓縮裝 置的預(yù)壓縮信號輸出口 2和壓縮數(shù)據(jù)輸出口 4分別同該提高計(jì)算機(jī)末級高速緩存可靠性的 壓縮數(shù)據(jù)裝置的壓縮仲裁器的預(yù)壓縮信號輸入口 3和生成可變ECC碼裝置的壓縮數(shù)據(jù)輸入 口 5相通信連接,該壓縮仲裁器的數(shù)據(jù)輸出口 6、狀態(tài)信息輸出口 7、未壓縮數(shù)據(jù)輸入口 8以 及壓縮數(shù)據(jù)輸入口 9分別和對應(yīng)的末級高速緩存、設(shè)置在末級高速緩存內(nèi)的屬于該提高計(jì) 算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的擴(kuò)展標(biāo)記、一級緩存以及生成可變ECC碼裝置 的壓縮數(shù)據(jù)輸出口 10相通信連接。而所述的數(shù)據(jù)解壓縮裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸入 口 11和解壓數(shù)據(jù)輸出口 12分別同該提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的緩 存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸出口 13和解壓仲裁器的解壓數(shù)據(jù)輸入口 14 相通信連接,緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的讀取壓縮數(shù)據(jù)輸入口 15和解壓仲裁器的讀取未壓 縮數(shù)據(jù)輸入口 16同末級高速緩存相通信連接,解壓仲裁器的讀取數(shù)據(jù)輸出口 17和狀態(tài)信 息輸入口 18分別同一級緩存和末級緩存的擴(kuò)展標(biāo)記相通信連接。所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的方法,當(dāng)控制器需要將 一級緩存的數(shù)據(jù)寫入末級高速緩存時(shí),控制器將該一級緩存的512位緩存數(shù)據(jù)塊先傳送到 數(shù)據(jù)壓縮裝置進(jìn)行預(yù)壓縮。預(yù)壓縮的過程為將該數(shù)據(jù)塊的數(shù)據(jù)先編碼為48位前綴和壓縮 數(shù)據(jù),并根據(jù)該48位前綴獲取壓縮數(shù)據(jù)的大小,隨即數(shù)據(jù)壓縮裝置對48位前綴、壓縮數(shù)據(jù) 的大小以及預(yù)設(shè)的11位ECC冗余位進(jìn)行累加,得到的累加和同每個(gè)數(shù)據(jù)塊的數(shù)據(jù)大小位 數(shù)即512位進(jìn)行比較。如果累加和大于512,得到未壓縮的狀態(tài)信息,并通過預(yù)壓縮信號輸 出口 2經(jīng)由預(yù)壓縮信號輸入口 3發(fā)送到壓縮仲裁器,壓縮仲裁器通過狀態(tài)信息輸出口 7將 該未壓縮的狀態(tài)信息發(fā)送到擴(kuò)展標(biāo)記中,這時(shí)控制器將該數(shù)據(jù)塊的數(shù)據(jù)通過一級緩存直接 發(fā)送到壓縮仲裁器中,然后由壓縮仲裁器的數(shù)據(jù)輸出口 6發(fā)送到末級高速緩存。如果累加 和小于512,得到壓縮的狀態(tài)信息,并通過預(yù)壓縮信號輸出口 2經(jīng)由預(yù)壓縮信號輸入口 3發(fā) 送到壓縮仲裁器,壓縮仲裁器通過狀態(tài)信息輸出口 7將該壓縮的狀態(tài)信息發(fā)送到擴(kuò)展標(biāo)記 中,這時(shí)將48位前綴和壓縮數(shù)據(jù)合并為帶有48位前綴的壓縮數(shù)據(jù)并將其存放在數(shù)據(jù)壓縮 裝置中,隨后通過壓縮數(shù)據(jù)輸出口 4將帶有48位前綴的壓縮數(shù)據(jù)傳送到生成可變ECC碼裝 置的壓縮數(shù)據(jù)輸入口 5。根據(jù)壓縮數(shù)據(jù)的大小,利用擴(kuò)展HAMMING碼的方法生成數(shù)據(jù)保護(hù) 單元的粒度并根據(jù)生成數(shù)據(jù)保護(hù)單元的粒度從而生成相應(yīng)的ECC碼,將該ECC碼作為帶有 48位前綴的壓縮數(shù)據(jù)的后綴,最后將帶有48位前綴和后綴的壓縮數(shù)據(jù)通過壓縮數(shù)據(jù)輸出 口 10傳送到壓縮仲裁器的壓縮數(shù)據(jù)輸入口 9,并通過壓縮仲裁器的數(shù)據(jù)輸出口 6存入末級 高速緩存。當(dāng)所述的控制器需要從末級高速緩存讀取數(shù)據(jù)時(shí),先通過控制器獲取擴(kuò)展標(biāo)記 中對應(yīng)的狀態(tài)信息位,將該壓縮的狀態(tài)信息位的狀態(tài)信息發(fā)送到解壓仲裁器進(jìn)行仲裁。如 果該狀態(tài)信息為壓縮,控制器驅(qū)動(dòng)末級高速緩存通過末級高速緩存尋址方式將對應(yīng)末級高 速緩存地址的帶有48位前綴和后綴的壓縮數(shù)據(jù)發(fā)送到緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的讀取壓縮 數(shù)據(jù)輸入口 15,隨后經(jīng)過緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置來對該帶有48位前綴和后綴的壓縮數(shù)據(jù) 實(shí)施校驗(yàn)。如果校驗(yàn)結(jié)果無錯(cuò)誤位,則將該帶有48位前綴和后綴的壓縮數(shù)據(jù)通過校驗(yàn)后讀 取壓縮數(shù)據(jù)輸出口 13發(fā)送到數(shù)據(jù)解壓縮裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸入口 11,數(shù)據(jù)解壓 縮裝置對校驗(yàn)后的壓縮數(shù)據(jù)進(jìn)行解壓縮,進(jìn)行解壓縮后的數(shù)據(jù)經(jīng)由解壓數(shù)據(jù)輸出口 12發(fā)送到解壓仲裁器的解壓數(shù)據(jù)輸入口 14,解壓仲裁器將解壓縮后的數(shù)據(jù)通過讀取數(shù)據(jù)輸出口 17發(fā)送到一級緩存。如果校驗(yàn)結(jié)果有錯(cuò)誤位,則放棄該帶有48位前綴和后綴的壓縮數(shù)據(jù), 另外如果所述的狀態(tài)信息為未壓縮,控制器驅(qū)動(dòng)末級高速緩存通過末級高速緩存尋址方式 將對應(yīng)末級高速緩存地址的未壓縮數(shù)據(jù)直接發(fā)送至解壓仲裁器的解壓仲裁器的讀取未壓 縮數(shù)據(jù)輸入口 16,解壓仲裁器將解壓縮后的數(shù)據(jù)通過讀取數(shù)據(jù)輸出口 17發(fā)送到一級緩存。所述的根據(jù)生成數(shù)據(jù)保護(hù)單元的粒度從而生成相應(yīng)的ECC碼的規(guī)則為64位的生 成數(shù)據(jù)保護(hù)單元粒度生成8個(gè)8位的冗余位,128位的生成數(shù)據(jù)保護(hù)單元粒度生成4個(gè)9位 的冗余位,256位的生成數(shù)據(jù)保護(hù)單元粒度生成2個(gè)10位的冗余位,512位的生成數(shù)據(jù)保護(hù) 單元粒度生成一個(gè)11位的冗余位。所述的數(shù)據(jù)壓縮裝置內(nèi)部包括并行模式編碼器、壓縮數(shù)據(jù)累加器、并行前綴移位 寄存器、8X64寄存器、壓縮字偏移計(jì)算加法器陣列以及并行移位寄存器。所述的并行模式編碼器執(zhí)行將所述的緩存塊數(shù)據(jù)編碼為48位前綴和壓縮數(shù)據(jù)的 操作并根據(jù)該48位前綴獲取壓縮數(shù)據(jù)的大小的操作;而壓縮數(shù)據(jù)累加器執(zhí)行所述的將48 位前綴、壓縮數(shù)據(jù)的大小以及預(yù)設(shè)的11位ECC冗余位進(jìn)行累加的操作;將所述的48位前綴 送入并行前綴移位寄存器和壓縮字偏移計(jì)算加法器陣列,將壓縮數(shù)據(jù)送入并行移位寄存器 并執(zhí)行將48位前綴和壓縮數(shù)據(jù)合并為帶有48位前綴的壓縮數(shù)據(jù)的操作力X64寄存器執(zhí)行 將帶有48位前綴的壓縮數(shù)據(jù)存放在壓縮數(shù)據(jù)裝置中的操作。所述的生成可變ECC碼裝置包括數(shù)據(jù)保護(hù)單元粒度劃分模塊以及可變ECC生成模 塊。所述的數(shù)據(jù)保護(hù)單元粒度劃分模塊執(zhí)行生成數(shù)據(jù)保護(hù)單元的粒度,可變ECC生成 模塊執(zhí)行生成相應(yīng)的ECC碼并將該ECC碼作為帶有48位前綴的壓縮數(shù)據(jù)的后綴的操作。所述的緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置包括并行前綴譯碼模塊、帶有比較器的可變ECC粒 度譯碼模塊以及ECC檢測校驗(yàn)?zāi)K。所述的并行前綴譯碼模塊執(zhí)行導(dǎo)出壓縮數(shù)據(jù)的大小并將該壓縮數(shù)據(jù)的大小送入 帶有比較器的可變ECC粒度譯碼模塊的操作;可變ECC粒度譯碼模塊通過其比較器比較壓 縮數(shù)據(jù)的大小和預(yù)先設(shè)置的數(shù)據(jù)值組即可導(dǎo)出對應(yīng)的保護(hù)單元粒度并送入ECC檢測校驗(yàn) 模塊;ECC檢測校驗(yàn)?zāi)K根據(jù)該保護(hù)單元粒度從壓縮數(shù)據(jù)中取出ECC校驗(yàn)碼,同時(shí)根據(jù)數(shù)據(jù) 保護(hù)單元粒度劃分ECC校驗(yàn)碼和壓縮數(shù)據(jù),將壓縮數(shù)據(jù)劃分為兩個(gè)以上的數(shù)據(jù)保護(hù)單元, 相應(yīng)的ECC校驗(yàn)碼也劃分為相同數(shù)量的單元,之后相應(yīng)的ECC校驗(yàn)碼對相對應(yīng)的數(shù)據(jù)保護(hù) 單元做錯(cuò)誤檢測與糾錯(cuò),得到校驗(yàn)結(jié)果。所述的數(shù)據(jù)解壓縮裝置包括帶有查找表的并行前綴譯碼器,并行移位寄存器,壓 縮字偏移計(jì)算加法器陣列,16X32位寄存器以及并行模式譯碼器。所述的并行前綴譯碼器將帶有48位前綴和后綴的壓縮數(shù)據(jù)的前綴經(jīng)過其查找表 得到每個(gè)壓縮數(shù)據(jù)的偏移量,并將該偏移量輸出到壓縮字偏移計(jì)算加法器陣列,壓縮字偏 移計(jì)算加法器陣列依次對每個(gè)壓縮數(shù)據(jù)的偏移量進(jìn)行累加而得到累加和,并將對應(yīng)的累加 和輸入并行移位寄存器中,從而對壓縮數(shù)據(jù)進(jìn)行移位,結(jié)果放在16X32位寄存器中,最后通 過并行模式譯碼器和相應(yīng)的前綴共同對壓縮數(shù)據(jù)進(jìn)行譯碼得到解壓縮后的數(shù)據(jù)。所述的擴(kuò)展標(biāo)記為在其頁表的每一個(gè)表項(xiàng)中加入64位壓縮狀態(tài)信息位,該64位 壓縮狀態(tài)信息位是指在4KB大小的一頁中共包含64個(gè)緩存塊,每個(gè)緩存塊的大小為64B,其中每一位壓縮狀態(tài)信息位依次對應(yīng)一個(gè)緩存塊。通過數(shù)據(jù)壓縮裝置、壓縮仲裁器、擴(kuò)展標(biāo)記、生成可變ECC碼裝置、緩存數(shù)據(jù)錯(cuò)誤 校驗(yàn)裝置以及解壓仲裁器相互連接,且其解壓縮方法運(yùn)用數(shù)據(jù)壓縮裝置和數(shù)據(jù)解壓縮裝置 對計(jì)算機(jī)一級緩存系統(tǒng)數(shù)據(jù)進(jìn)行解壓縮,將獲得的空間用于存儲錯(cuò)誤校驗(yàn)碼,從而降低糾 錯(cuò)校驗(yàn)技術(shù)的硬件耗費(fèi)。增加的存儲空間可支持糾錯(cuò)能力更強(qiáng)的錯(cuò)誤校驗(yàn)碼,并可根據(jù)存 儲空間的大小調(diào)整數(shù)據(jù)保護(hù)單元的粒度以存儲更多的錯(cuò)誤校驗(yàn)碼,另外通過數(shù)據(jù)壓縮提高 錯(cuò)誤校驗(yàn)?zāi)芰?,可顯著提高計(jì)算機(jī)末級高速緩存系統(tǒng)的可靠性。實(shí)現(xiàn)起來簡單易用,加上不 需用增加傳統(tǒng)的查詢壓縮翻譯表,僅通過在擴(kuò)展標(biāo)記中增加1位壓縮狀態(tài)信息位即可實(shí)現(xiàn) 虛擬地址到物理地址的轉(zhuǎn)換,并且外存不用增加額外的ECC冗余位,這使得在普通的末級 高速緩存芯片中就可實(shí)現(xiàn)ECC緩存的效果,由于本發(fā)明的可變ECC技術(shù)可使末級高速緩存 的可靠性更高。
圖1是本發(fā)明的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的結(jié)構(gòu)示意圖。圖2是本發(fā)明的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的方法的工作 原理結(jié)構(gòu)示意圖。圖3是本發(fā)明的數(shù)據(jù)壓縮裝置的內(nèi)部結(jié)構(gòu)示意圖。圖4是本發(fā)明的生成可變ECC碼裝置的內(nèi)部結(jié)構(gòu)示意圖。圖5是本發(fā)明的緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的內(nèi)部結(jié)構(gòu)示意圖。圖6是本發(fā)明的數(shù)據(jù)解壓縮裝置的內(nèi)部結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明作更詳細(xì)的說明。如圖1所示,提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置,包括數(shù)據(jù)壓縮裝 置和數(shù)據(jù)解壓縮裝置,該數(shù)據(jù)壓縮裝置的數(shù)據(jù)輸入口 1同對應(yīng)的一級緩存相通信連接,數(shù) 據(jù)壓縮裝置的預(yù)壓縮信號輸出口 2和壓縮數(shù)據(jù)輸出口 4分別同該提高計(jì)算機(jī)末級高速緩存 可靠性的壓縮數(shù)據(jù)裝置的壓縮仲裁器的預(yù)壓縮信號輸入口 3和生成可變ECC碼裝置的壓縮 數(shù)據(jù)輸入口 5相通信連接,該壓縮仲裁器的數(shù)據(jù)輸出口 6、狀態(tài)信息輸出口 7、未壓縮數(shù)據(jù) 輸入口 8以及壓縮數(shù)據(jù)輸入口 9分別和對應(yīng)的末級高速緩存、設(shè)置在末級高速緩存內(nèi)的屬 于該提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的擴(kuò)展標(biāo)記、一級緩存以及生成可變 ECC碼裝置的壓縮數(shù)據(jù)輸出口 10相通信連接。而所述的數(shù)據(jù)解壓縮裝置的校驗(yàn)后讀取壓縮 數(shù)據(jù)輸入口 U和解壓數(shù)據(jù)輸出口 12分別同該提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù) 裝置的緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸出口 13和解壓仲裁器的解壓數(shù)據(jù) 輸入口 14相通信連接,緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的讀取壓縮數(shù)據(jù)輸入口 15和解壓仲裁器的 讀取未壓縮數(shù)據(jù)輸入口 16同末級高速緩存相通信連接,解壓仲裁器的讀取數(shù)據(jù)輸出口 17 和狀態(tài)信息輸入口 18分別同一級緩存和末級緩存的擴(kuò)展標(biāo)記相通信連接。如圖2所示,所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的方法,當(dāng) 控制器需要將一級緩存的數(shù)據(jù)寫入末級高速緩存時(shí),控制器將該一級緩存的512位緩存數(shù) 據(jù)塊先傳送到數(shù)據(jù)壓縮裝置進(jìn)行預(yù)壓縮。預(yù)壓縮的過程為將該數(shù)據(jù)塊的數(shù)據(jù)先編碼為48位前綴和壓縮數(shù)據(jù),并根據(jù)該48位前綴獲取壓縮數(shù)據(jù)的大小,隨即數(shù)據(jù)壓縮裝置對48位 前綴、壓縮數(shù)據(jù)的大小以及預(yù)設(shè)的11位ECC冗余位進(jìn)行累加,得到的累加和同每個(gè)數(shù)據(jù)塊 的數(shù)據(jù)大小位數(shù)即512位進(jìn)行比較。如果累加和大于512,得到未壓縮的狀態(tài)信息,并通過 預(yù)壓縮信號輸出口 2經(jīng)由預(yù)壓縮信號輸入口 3發(fā)送到壓縮仲裁器,壓縮仲裁器通過狀態(tài)信 息輸出口 7將該未壓縮的狀態(tài)信息發(fā)送到擴(kuò)展標(biāo)記中,這時(shí)控制器將該數(shù)據(jù)塊的數(shù)據(jù)通過 一級緩存直接發(fā)送到壓縮仲裁器中,然后由壓縮仲裁器的數(shù)據(jù)輸出口 6發(fā)送到末級高速緩 存。如果累加和小于512,得到壓縮的狀態(tài)信息,并通過預(yù)壓縮信號輸出口 2經(jīng)由預(yù)壓縮信 號輸入口 3發(fā)送到壓縮仲裁器,壓縮仲裁器通過狀態(tài)信息輸出口 7將該壓縮的狀態(tài)信息發(fā) 送到擴(kuò)展標(biāo)記中,這時(shí)將48位前綴和壓縮數(shù)據(jù)合并為帶有48位前綴的壓縮數(shù)據(jù)并將其存 放在數(shù)據(jù)壓縮裝置中,隨后通過壓縮數(shù)據(jù)輸出口 4將帶有48位前綴的壓縮數(shù)據(jù)傳送到生成 可變ECC碼裝置的壓縮數(shù)據(jù)輸入口 5。根據(jù)壓縮數(shù)據(jù)的大小,利用擴(kuò)展HAMMING碼的方法生 成數(shù)據(jù)保護(hù)單元的粒度并根據(jù)生成數(shù)據(jù)保護(hù)單元的粒度從而生成相應(yīng)的ECC碼,將該ECC 碼作為帶有48位前綴的壓縮數(shù)據(jù)的后綴,最后將帶有48位前綴和后綴的壓縮數(shù)據(jù)通過壓 縮數(shù)據(jù)輸出口 10傳送到壓縮仲裁器的壓縮數(shù)據(jù)輸入口 9,并通過壓縮仲裁器的數(shù)據(jù)輸出口 6存入末級高速緩存。當(dāng)所述的控制器需要從末級高速緩存讀取數(shù)據(jù)時(shí),先通過控制器獲取 擴(kuò)展標(biāo)記中對應(yīng)的狀態(tài)信息位,將該壓縮的狀態(tài)信息位的狀態(tài)信息發(fā)送到解壓仲裁器進(jìn)行 仲裁。如果該狀態(tài)信息為壓縮,控制器驅(qū)動(dòng)末級高速緩存通過末級高速緩存尋址方式將對 應(yīng)末級高速緩存地址的帶有48位前綴和后綴的壓縮數(shù)據(jù)發(fā)送到緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的 讀取壓縮數(shù)據(jù)輸入口 15,隨后經(jīng)過緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置來對該帶有48位前綴和后綴的 壓縮數(shù)據(jù)實(shí)施校驗(yàn)。如果校驗(yàn)結(jié)果無錯(cuò)誤位,則將該帶有48位前綴和后綴的壓縮數(shù)據(jù)通過 校驗(yàn)后讀取壓縮數(shù)據(jù)輸出口 13發(fā)送到數(shù)據(jù)解壓縮裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸入口 11, 數(shù)據(jù)解壓縮裝置對校驗(yàn)后的壓縮數(shù)據(jù)進(jìn)行解壓縮,進(jìn)行解壓縮后的數(shù)據(jù)經(jīng)由解壓數(shù)據(jù)輸出 口 12發(fā)送到解壓仲裁器的解壓數(shù)據(jù)輸入口 14,解壓仲裁器將解壓縮后的數(shù)據(jù)通過讀取數(shù) 據(jù)輸出口 17發(fā)送到一級緩存。如果校驗(yàn)結(jié)果有錯(cuò)誤位,則放棄該帶有48位前綴和后綴的 壓縮數(shù)據(jù),另外如果所述的狀態(tài)信息為未壓縮,控制器驅(qū)動(dòng)末級高速緩存通過末級高速緩 存尋址方式將對應(yīng)末級高速緩存地址的未壓縮數(shù)據(jù)直接發(fā)送至解壓仲裁器的解壓仲裁器 的讀取未壓縮數(shù)據(jù)輸入口 16,解壓仲裁器將解壓縮后的數(shù)據(jù)通過讀取數(shù)據(jù)輸出口 17發(fā)送 到一級緩存。所述的根據(jù)生成數(shù)據(jù)保護(hù)單元的粒度從而生成相應(yīng)的ECC碼的規(guī)則為64位的生 成數(shù)據(jù)保護(hù)單元粒度生成8個(gè)8位的冗余位,128位的生成數(shù)據(jù)保護(hù)單元粒度生成4個(gè)9位 的冗余位,256位的生成數(shù)據(jù)保護(hù)單元粒度生成2個(gè)10位的冗余位,512位的生成數(shù)據(jù)保護(hù) 單元粒度生成一個(gè)11位的冗余位。如圖3所示,所述的數(shù)據(jù)壓縮裝置內(nèi)部包括并行模式編碼器、壓縮數(shù)據(jù)累加器、并 行前綴移位寄存器、8)(64寄存器、壓縮字偏移計(jì)算加法器陣列以及并行移位寄存器。所述的并行模式編碼器執(zhí)行將所述的緩存塊數(shù)據(jù)編碼為48位前綴和壓縮數(shù)據(jù)的 操作并根據(jù)該48位前綴獲取壓縮數(shù)據(jù)的大小的操作;而壓縮數(shù)據(jù)累加器執(zhí)行所述的將48 位前綴、壓縮數(shù)據(jù)的大小以及預(yù)設(shè)的11位ECC冗余位進(jìn)行累加的操作;將所述的48位前綴 送入并行前綴移位寄存器和壓縮字偏移計(jì)算加法器陣列,將壓縮數(shù)據(jù)送入并行移位寄存器 并執(zhí)行將48位前綴和壓縮數(shù)據(jù)合并為帶有48位前綴的壓縮數(shù)據(jù)的操作力X64寄存器執(zhí)行將帶有48位前綴的壓縮數(shù)據(jù)存放在壓縮數(shù)據(jù)裝置中的操作。如圖4所示,所述的生成可變ECC碼裝置包括數(shù)據(jù)保護(hù)單元粒度劃分模塊以及可 變ECC生成模塊。所述的數(shù)據(jù)保護(hù)單元粒度劃分模塊執(zhí)行生成數(shù)據(jù)保護(hù)單元的粒度,可變ECC生成 模塊執(zhí)行生成相應(yīng)的ECC碼并將該ECC碼作為帶有48位前綴的壓縮數(shù)據(jù)的后綴的操作。如圖5所示,所述的緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置包括并行前綴譯碼模塊、帶有比較器 的可變ECC粒度譯碼模塊以及ECC檢測校驗(yàn)?zāi)K。所述的并行前綴譯碼模塊執(zhí)行導(dǎo)出壓縮數(shù)據(jù)的大小并將該壓縮數(shù)據(jù)的大小送入 帶有比較器的可變ECC粒度譯碼模塊的操作;可變ECC粒度譯碼模塊通過其比較器比較壓 縮數(shù)據(jù)的大小和預(yù)先設(shè)置的數(shù)據(jù)值組即可導(dǎo)出對應(yīng)的保護(hù)單元粒度并送入ECC檢測校驗(yàn) 模塊;ECC檢測校驗(yàn)?zāi)K根據(jù)該保護(hù)單元粒度從壓縮數(shù)據(jù)中取出ECC校驗(yàn)碼,同時(shí)根據(jù)數(shù)據(jù) 保護(hù)單元粒度劃分ECC校驗(yàn)碼和壓縮數(shù)據(jù),將壓縮數(shù)據(jù)劃分為兩個(gè)以上的數(shù)據(jù)保護(hù)單元, 相應(yīng)的ECC校驗(yàn)碼也劃分為相同數(shù)量的單元,之后相應(yīng)的ECC校驗(yàn)碼對相對應(yīng)的數(shù)據(jù)保護(hù) 單元做錯(cuò)誤檢測與糾錯(cuò),得到校驗(yàn)結(jié)果。如圖6所示,所述的數(shù)據(jù)解壓縮裝置包括帶有查找表的并行前綴譯碼器,并行移 位寄存器,壓縮字偏移計(jì)算加法器陣列,16X32位寄存器以及并行模式譯碼器。所述的并行前綴譯碼器將帶有48位前綴和后綴的壓縮數(shù)據(jù)的前綴經(jīng)過其查找表 得到每個(gè)壓縮數(shù)據(jù)的偏移量,并將該偏移量輸出到壓縮字偏移計(jì)算加法器陣列,壓縮字偏 移計(jì)算加法器陣列依次對每個(gè)壓縮數(shù)據(jù)的偏移量進(jìn)行累加而得到累加和,并將對應(yīng)的累加 和輸入并行移位寄存器中,從而對壓縮數(shù)據(jù)進(jìn)行移位,結(jié)果放在16X32位寄存器中,最后通 過并行模式譯碼器和相應(yīng)的前綴共同對壓縮數(shù)據(jù)進(jìn)行譯碼得到解壓縮后的數(shù)據(jù)。所述的擴(kuò)展標(biāo)記為在緩存的tag中增加一位壓縮狀態(tài)信息位,用來標(biāo)識緩存塊的 壓縮狀態(tài)信息。通過數(shù)據(jù)壓縮裝置、壓縮仲裁器、擴(kuò)展標(biāo)記、生成可變ECC碼裝置、緩存數(shù)據(jù)錯(cuò)誤 校驗(yàn)裝置以及解壓仲裁器相互連接,且其解壓縮方法運(yùn)用數(shù)據(jù)壓縮裝置和數(shù)據(jù)解壓縮裝置 對計(jì)算機(jī)一級緩存系統(tǒng)數(shù)據(jù)進(jìn)行解壓縮,將獲得的空間用于存儲錯(cuò)誤校驗(yàn)碼,從而降低糾 錯(cuò)校驗(yàn)技術(shù)的硬件耗費(fèi)。增加的存儲空間可支持糾錯(cuò)能力更強(qiáng)的錯(cuò)誤校驗(yàn)碼,并可根據(jù)存 儲空間的大小調(diào)整數(shù)據(jù)保護(hù)單元的粒度以存儲更多的錯(cuò)誤校驗(yàn)碼,另外通過數(shù)據(jù)壓縮提高 錯(cuò)誤校驗(yàn)?zāi)芰?,可顯著提高計(jì)算機(jī)末級高速緩存系統(tǒng)的可靠性。實(shí)現(xiàn)起來簡單易用,加上不 需用增加傳統(tǒng)的查詢壓縮翻譯表,僅通過在擴(kuò)展標(biāo)記中增加1位壓縮狀態(tài)信息位即可實(shí)現(xiàn) 虛擬地址到物理地址的轉(zhuǎn)換,并且外存不用增加額外的ECC冗余位,這使得在普通的末級 高速緩存芯片中就可實(shí)現(xiàn)ECC緩存的效果,由于本發(fā)明的可變ECC技術(shù)可使末級高速緩存 的可靠性更高。
權(quán)利要求
1.一種提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置,包括數(shù)據(jù)壓縮裝置和數(shù)據(jù)解 壓縮裝置,其特征在于該數(shù)據(jù)壓縮裝置的數(shù)據(jù)輸入口(1)同對應(yīng)的一級緩存相通信連接, 數(shù)據(jù)壓縮裝置的預(yù)壓縮信號輸出口( 和壓縮數(shù)據(jù)輸出口(4)分別同該提高計(jì)算機(jī)末級 高速緩存可靠性的壓縮數(shù)據(jù)裝置的壓縮仲裁器的預(yù)壓縮信號輸入口( 和生成可變ECC碼 裝置的壓縮數(shù)據(jù)輸入口( 相通信連接,該壓縮仲裁器的數(shù)據(jù)輸出口(6)、狀態(tài)信息輸出口 (7)、未壓縮數(shù)據(jù)輸入口(8)以及壓縮數(shù)據(jù)輸入口(9)分別和對應(yīng)的末級高速緩存、設(shè)置在 末級高速緩存內(nèi)的屬于該提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的擴(kuò)展標(biāo)記、一 級緩存以及生成可變ECC碼裝置的壓縮數(shù)據(jù)輸出口(10)相通信連接。所述的數(shù)據(jù)解壓縮 裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸入口(11)和解壓數(shù)據(jù)輸出口(1 分別同該提高計(jì)算機(jī)末級 高速緩存可靠性的壓縮數(shù)據(jù)裝置的緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸出口 (13)和解壓仲裁器的解壓數(shù)據(jù)輸入口(14)相通信連接,緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的讀取壓 縮數(shù)據(jù)輸入口(1 和解壓仲裁器的讀取未壓縮數(shù)據(jù)輸入口(16)同末級高速緩存相通信連 接,解壓仲裁器的讀取數(shù)據(jù)輸出口(17)和狀態(tài)信息輸入口(18)分別同一級緩存和末級緩 存的擴(kuò)展標(biāo)記相通信連接。
2.根據(jù)權(quán)利要求1所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的方法,其 特征在于當(dāng)控制器需要將一級緩存的數(shù)據(jù)寫入末級高速緩存時(shí),控制器將該一級緩存的 512位緩存數(shù)據(jù)塊先傳送到數(shù)據(jù)壓縮裝置進(jìn)行預(yù)壓縮。預(yù)壓縮的過程為將該數(shù)據(jù)塊的數(shù)據(jù) 先編碼為48位前綴和壓縮數(shù)據(jù),并根據(jù)該48位前綴獲取壓縮數(shù)據(jù)的大小,隨即數(shù)據(jù)壓縮裝 置對48位前綴、壓縮數(shù)據(jù)的大小以及預(yù)設(shè)的11位ECC冗余位進(jìn)行累加,得到的累加和同每 個(gè)數(shù)據(jù)塊的數(shù)據(jù)大小位數(shù)即512位進(jìn)行比較。如果累加和大于512,得到未壓縮的狀態(tài)信 息,并通過預(yù)壓縮信號輸出口( 經(jīng)由預(yù)壓縮信號輸入口( 發(fā)送到壓縮仲裁器,壓縮仲裁 器通過狀態(tài)信息輸出口(7)將該未壓縮的狀態(tài)信息發(fā)送到擴(kuò)展標(biāo)記中,這時(shí)控制器將該數(shù) 據(jù)塊的數(shù)據(jù)通過一級緩存直接發(fā)送到壓縮仲裁器中,然后由壓縮仲裁器的數(shù)據(jù)輸出口(6) 發(fā)送到末級高速緩存。如果累加和小于512,得到壓縮的狀態(tài)信息,并通過預(yù)壓縮信號輸出 口(2)經(jīng)由預(yù)壓縮信號輸入口 C3)發(fā)送到壓縮仲裁器,壓縮仲裁器通過狀態(tài)信息輸出口(7) 將該壓縮的狀態(tài)信息發(fā)送到擴(kuò)展標(biāo)記中,這時(shí)將48位前綴和壓縮數(shù)據(jù)合并為帶有48位前 綴的壓縮數(shù)據(jù)并將其存放在數(shù)據(jù)壓縮裝置中,隨后通過壓縮數(shù)據(jù)輸出口(4)將帶有48位前 綴的壓縮數(shù)據(jù)傳送到生成可變ECC碼裝置的壓縮數(shù)據(jù)輸入口( 。根據(jù)壓縮數(shù)據(jù)的大小,利 用擴(kuò)展HAMMING碼的方法生成數(shù)據(jù)保護(hù)單元的粒度并根據(jù)生成數(shù)據(jù)保護(hù)單元的粒度從而 生成相應(yīng)的ECC碼,將該ECC碼作為帶有48位前綴的壓縮數(shù)據(jù)的后綴,最后將帶有48位前 綴和后綴的壓縮數(shù)據(jù)通過壓縮數(shù)據(jù)輸出口 10傳送到壓縮仲裁器的壓縮數(shù)據(jù)輸入口(9),并 通過壓縮仲裁器的數(shù)據(jù)輸出口(6)存入末級高速緩存。當(dāng)所述的控制器需要向末級高速緩 存讀取數(shù)據(jù)時(shí),先通過控制器獲取擴(kuò)展標(biāo)記中對應(yīng)需要讀取的數(shù)據(jù)的狀態(tài)信息組,將該壓 縮的狀態(tài)信息組的狀態(tài)信息逐一按順序發(fā)送到解壓仲裁器進(jìn)行仲裁。如果該狀態(tài)信息為壓 縮,控制器驅(qū)動(dòng)末級高速緩存通過末級高速緩存尋址方式將對應(yīng)末級高速緩存地址的帶有 48位前綴和后綴的壓縮數(shù)據(jù)發(fā)送到緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置的讀取壓縮數(shù)據(jù)輸入口 15,隨 后經(jīng)過緩存數(shù)據(jù)校驗(yàn)裝置來對該帶有48位前綴和后綴的壓縮數(shù)據(jù)實(shí)施校驗(yàn)。如果校驗(yàn)結(jié) 果無錯(cuò)誤位,則將該帶有48位前綴和后綴的壓縮數(shù)據(jù)通過校驗(yàn)后讀取壓縮數(shù)據(jù)輸出口 13 發(fā)送到數(shù)據(jù)解壓縮裝置的校驗(yàn)后讀取壓縮數(shù)據(jù)輸入口 11,數(shù)據(jù)解壓縮裝置對校驗(yàn)后的壓縮數(shù)據(jù)進(jìn)行解壓縮,進(jìn)行解壓縮后的數(shù)據(jù)經(jīng)由解壓數(shù)據(jù)輸出口 12發(fā)送到解壓仲裁器的解壓 數(shù)據(jù)輸入口 14,解壓仲裁器將解壓縮后的數(shù)據(jù)通過讀取數(shù)據(jù)輸出口 17發(fā)送到一級緩存;如 果校驗(yàn)結(jié)果有錯(cuò)誤位,則放棄該帶有48位前綴和后綴的壓縮數(shù)據(jù)。另外如果所述的狀態(tài)信 息為未壓縮,控制器驅(qū)動(dòng)末級高速緩存通過末級高速緩存尋址方式將對應(yīng)末級高速緩存地 址的未壓縮數(shù)據(jù)直接發(fā)送至解壓仲裁器的解壓仲裁器的讀取未壓縮數(shù)據(jù)輸入口 16,解壓仲 裁器將解壓縮后的數(shù)據(jù)通過讀取數(shù)據(jù)輸出口 17發(fā)送到一級緩存。
3.根據(jù)權(quán)利要求2所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置的方法,其 特征在于所述的根據(jù)生成數(shù)據(jù)保護(hù)單元的粒度從而生成相應(yīng)的ECC碼的規(guī)則為64位的生 成數(shù)據(jù)保護(hù)單元粒度生成8個(gè)8位的冗余位,128位的生成數(shù)據(jù)保護(hù)單元粒度生成4個(gè)9位 的冗余位,256位的生成數(shù)據(jù)保護(hù)單元粒度生成2個(gè)10位的冗余位,512位的生成數(shù)據(jù)保護(hù) 單元粒度生成一個(gè)11位的冗余位。
4.根據(jù)權(quán)利要求2或權(quán)利要求3所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝 置的方法,其特征在于所述的數(shù)據(jù)壓縮裝置內(nèi)部包括并行模式編碼器、壓縮數(shù)據(jù)累加器、 并行前綴移位寄存器、8X64寄存器、壓縮字偏移計(jì)算加法器陣列以及并行移位寄存器。所 述的并行模式編碼器執(zhí)行將所述的緩存塊數(shù)據(jù)編碼為48位前綴和壓縮數(shù)據(jù)的操作并根據(jù) 該48位前綴獲取壓縮數(shù)據(jù)的大小的操作;而壓縮數(shù)據(jù)累加器執(zhí)行所述的將48位前綴、壓縮 數(shù)據(jù)的大小以及預(yù)設(shè)的11位ECC冗余位進(jìn)行累加的操作;將所述的48位前綴送入并行前 綴移位寄存器和壓縮字偏移計(jì)算加法器陣列,將壓縮數(shù)據(jù)送入并行移位寄存器并執(zhí)行將48 位前綴和壓縮數(shù)據(jù)合并為帶有48位前綴的壓縮數(shù)據(jù)的操作力X64寄存器執(zhí)行將帶有48位 前綴的壓縮數(shù)據(jù)存放在數(shù)據(jù)壓縮裝置中的操作。
5.根據(jù)權(quán)利要求2或權(quán)利要求3所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝 置的方法,其特征在于所述的生成可變ECC碼裝置包括數(shù)據(jù)保護(hù)單元粒度劃分模塊以及 可變ECC生成模塊,所述的數(shù)據(jù)保護(hù)單元粒度劃分模塊執(zhí)行生成數(shù)據(jù)保護(hù)單元的粒度,可 變ECC生成模塊執(zhí)行生成相應(yīng)的ECC碼并將該ECC碼作為帶有48位前綴的壓縮數(shù)據(jù)的后 綴的操作。
6.根據(jù)權(quán)利要求2或權(quán)利要求3所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝 置的方法,其特征在于所述的緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置包括并行前綴譯碼模塊、帶有比較器 的可變ECC粒度譯碼模塊以及ECC檢測校驗(yàn)?zāi)K,所述的并行前綴譯碼模塊執(zhí)行導(dǎo)出壓縮 數(shù)據(jù)的大小并將該壓縮數(shù)據(jù)的大小送入帶有比較器的可變ECC粒度譯碼模塊的操作;可變 ECC粒度譯碼模塊通過其比較器比較壓縮數(shù)據(jù)的大小和預(yù)先設(shè)置的數(shù)據(jù)值組即可導(dǎo)出對應(yīng) 的保護(hù)單元粒度并送入ECC檢測校驗(yàn)?zāi)K;ECC檢測校驗(yàn)?zāi)K根據(jù)該保護(hù)單元粒度從壓縮 數(shù)據(jù)中取出ECC校驗(yàn)碼,同時(shí)根據(jù)數(shù)據(jù)保護(hù)單元粒度劃分ECC校驗(yàn)碼和壓縮數(shù)據(jù),將壓縮數(shù) 據(jù)劃分為兩個(gè)以上的數(shù)據(jù)保護(hù)單元,相應(yīng)的ECC校驗(yàn)碼也劃分為相同數(shù)量的單元,之后相 應(yīng)的ECC校驗(yàn)碼對相對應(yīng)的數(shù)據(jù)保護(hù)單元做錯(cuò)誤檢測與糾錯(cuò),得到校驗(yàn)結(jié)果。
7.根據(jù)權(quán)利要求2或權(quán)利要求3所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝 置的方法,其特征在于所述的數(shù)據(jù)解壓縮裝置包括帶有查找表的并行前綴譯碼器,并行移 位寄存器,壓縮字偏移計(jì)算加法器陣列,16X32位寄存器以及并行模式譯碼器。所述的并行 前綴譯碼器將帶有48位前綴和后綴的壓縮數(shù)據(jù)的前綴經(jīng)過其查找表得到每個(gè)壓縮數(shù)據(jù)的 偏移量,并將該偏移量輸出到壓縮字偏移計(jì)算加法器陣列,壓縮字偏移計(jì)算加法器陣列依次對每個(gè)壓縮數(shù)據(jù)的偏移量進(jìn)行累加而得到累加和,并將對應(yīng)的累加和輸入并行移位寄存 器中,從而對壓縮數(shù)據(jù)進(jìn)行移位,結(jié)果放在16X32位寄存器中,最后通過并行模式譯碼器和 相應(yīng)的前綴共同對壓縮數(shù)據(jù)進(jìn)行譯碼得到解壓縮后的數(shù)據(jù)。
8.根據(jù)權(quán)利要求2或權(quán)利要求3所述的提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝 置的方法,其特征在于所述的擴(kuò)展標(biāo)記為在緩存的tag中增加一位壓縮狀態(tài)信息位,用來 標(biāo)識緩存塊的壓縮狀態(tài)信息。
全文摘要
一種提高計(jì)算機(jī)末級高速緩存可靠性的壓縮數(shù)據(jù)裝置及其方法,通過數(shù)據(jù)壓縮裝置、壓縮仲裁器、擴(kuò)展標(biāo)記、生成可變ECC碼裝置、緩存數(shù)據(jù)錯(cuò)誤校驗(yàn)裝置以及解壓仲裁器相互連接,且其解壓縮方法運(yùn)用數(shù)據(jù)壓縮裝置和數(shù)據(jù)解壓縮裝置對一級緩存與末級高速緩存存儲的數(shù)據(jù)進(jìn)行解壓縮,將獲得的空間用于存儲錯(cuò)誤校驗(yàn)碼,從而降低糾錯(cuò)校驗(yàn)技術(shù)的硬件耗費(fèi)。增加末級高速緩存的存儲空間可支持糾錯(cuò)能力更強(qiáng)的錯(cuò)誤校驗(yàn)碼,并可根據(jù)該存儲空間的大小調(diào)整數(shù)據(jù)保護(hù)單元的粒度以存儲更多的錯(cuò)誤校驗(yàn)碼,另外通過數(shù)據(jù)壓縮提高錯(cuò)誤校驗(yàn)?zāi)芰?,可顯著提高計(jì)算機(jī)末級高速緩存的可靠性。
文檔編號G11C29/42GK102129873SQ201110077210
公開日2011年7月20日 申請日期2011年3月29日 優(yōu)先權(quán)日2011年3月29日
發(fā)明者劉傳銀, 孫宏濱, 徐敏超, 鄭南寧 申請人:西安交通大學(xué)