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

提高耐久性和抗攻擊性的用于pcm緩存的有效動(dòng)態(tài)隨機(jī)化地址重映射的制作方法

文檔序號(hào):6485437閱讀:203來(lái)源:國(guó)知局
提高耐久性和抗攻擊性的用于pcm緩存的有效動(dòng)態(tài)隨機(jī)化地址重映射的制作方法
【專利摘要】一種方法,包括:由重映射管理器針對(duì)預(yù)定義事件的發(fā)生來(lái)監(jiān)測(cè)計(jì)算設(shè)備的系統(tǒng)狀態(tài);由重映射管理器檢測(cè)預(yù)定義事件的發(fā)生;以及在檢測(cè)到預(yù)定義事件時(shí),由重映射管理器發(fā)起存儲(chǔ)在標(biāo)簽中的第一編碼地址的重映射,所述第一編碼地址與被緩存在存儲(chǔ)器高速緩存中的主存儲(chǔ)器中的位置相關(guān)聯(lián)。
【專利說(shuō)明】提高耐久性和抗攻擊性的用于PCM緩存的有效動(dòng)態(tài)隨機(jī)化地址重映射

【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施例涉及多級(jí)非易失性存儲(chǔ)器(NVM)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)系統(tǒng)中存儲(chǔ)器地址重映射的領(lǐng)域。更具體地說(shuō),本發(fā)明的實(shí)施例涉及處理器和存儲(chǔ)器高速緩存之間存儲(chǔ)器地址的動(dòng)態(tài)隨機(jī)化。

【背景技術(shù)】
[0002]非易失性存儲(chǔ)器(NVM),諸如相變存儲(chǔ)器(PCM)或相變存儲(chǔ)器與開關(guān)(PCMS),與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)相比提供了更高的密度和降低的功耗。這些優(yōu)勢(shì)已促使有人建議使用NVM作為DRAM的替代品用于個(gè)人計(jì)算設(shè)備中的主存儲(chǔ)器。雖然NVM提供了若干優(yōu)于傳統(tǒng)DRAM的優(yōu)點(diǎn),但是許多NVM技術(shù)遭受差的寫耐久性問題,這些問題可導(dǎo)致NVM具有大大地減少的使用壽命。在利用各存儲(chǔ)器技術(shù)的優(yōu)點(diǎn)的嘗試中,已經(jīng)提出了二級(jí)存儲(chǔ)器分層結(jié)構(gòu),其中NVM被用作主存儲(chǔ)器,而DRAM被用作NVM的高速緩存,以減少寫到NVM的頻率,從而提高NVM的耐久性。此外,地址間接性可用在DRAM和NVM之間以提供耗損均衡和改善NVM的使用壽命。這種混合的NVM和DRAM架構(gòu)提供了高存儲(chǔ)密度,同時(shí)減輕了 NVM中固有的差的寫耐久性問題。
[0003]雖然當(dāng)重復(fù)寫入選定NVM地址的惡意軟件攻擊發(fā)生時(shí)DRAM和NVM之間的地址間接性提供了耗損均衡,改善了 PCM的寫耐久性,但是迫使DRAM刷新NVM的惡意軟件攻擊能夠耗盡NVM單元的耐久性并造成NVM衰退。因此,改善NVM對(duì)惡意軟件攻擊的易損性對(duì)于NVM作為用于包括臺(tái)式計(jì)算機(jī)、服務(wù)器、膝上型電腦、無(wú)線手持設(shè)備、蜂窩電話、平板電腦、個(gè)人數(shù)字助理等等的計(jì)算設(shè)備的可行主存儲(chǔ)器備選者的快速增長(zhǎng)是一個(gè)重要問題。

【專利附圖】

【附圖說(shuō)明】
[0004]在附圖的各圖中,通過(guò)示例而不是通過(guò)限制來(lái)示出本發(fā)明,附圖中類似的參考標(biāo)記表示類似的元件。應(yīng)當(dāng)注意,在本公開中對(duì)“一”或“一個(gè)”實(shí)施例的不同引用不一定是相同的實(shí)施例,并且這樣的引用意味著至少一個(gè)。此外,當(dāng)結(jié)合某個(gè)實(shí)施例描述某個(gè)特定特征、結(jié)構(gòu)或特性時(shí),應(yīng)當(dāng)認(rèn)為結(jié)合其它實(shí)施例實(shí)現(xiàn)這種特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識(shí)范圍以內(nèi),無(wú)論是否明確描述。
[0005]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的包括地址重映射單元的計(jì)算設(shè)備的示意圖。
[0006]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址重映射單元的組件圖。
[0007]圖3A是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、地址編碼器能夠用來(lái)基于物理地址生成編碼地址的編碼算法的流程圖。
[0008]圖3B是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、地址解碼器能夠用來(lái)基于編碼地址生成物理地址的解碼算法的流程圖。
[0009]圖4示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于重映射存儲(chǔ)器高速緩存的標(biāo)簽中存儲(chǔ)的地址的方法。

【具體實(shí)施方式】
[0010]在下面的描述中,對(duì)本發(fā)明的各種實(shí)施例進(jìn)行詳細(xì)描述。然而,這些細(xì)節(jié)被包括進(jìn)來(lái)以幫助理解本發(fā)明的實(shí)施例和描述示例性實(shí)施例以用于應(yīng)用本發(fā)明的實(shí)施例。這類細(xì)節(jié)不應(yīng)該被用來(lái)將本發(fā)明的實(shí)施例限制于所描述的具體實(shí)施例,因?yàn)樵诒景l(fā)明的實(shí)施例的范圍以內(nèi)的其它變化和實(shí)施例是可能的。此外,雖然闡述了許多細(xì)節(jié)以便提供對(duì)本發(fā)明的實(shí)施例的徹底理解,但是本領(lǐng)域技術(shù)人員清楚,為了實(shí)踐本發(fā)明的實(shí)施例,這些特定的細(xì)節(jié)不是必需的。
[0011]在下面的描述中,為了舉例說(shuō)明的目的描述具體組件、電路、狀態(tài)圖、軟件模塊、系統(tǒng)、時(shí)序等。然而,應(yīng)當(dāng)理解,其它實(shí)施例也適用于例如其它類型的組件、電路、狀態(tài)圖、軟件模塊、系統(tǒng)、和/或時(shí)序。
[0012]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的包括地址重映射單元104的計(jì)算設(shè)備102的示意圖。計(jì)算設(shè)備102包括處理器106、高速緩存控制器108、主存儲(chǔ)器控制器110、重映射管理器112和地址重映射單元104。地址重映射單元104能通過(guò)任何類型的總線或?qū)S猛ㄐ琶浇轳詈系教幚砥?06。在一個(gè)實(shí)施例中,地址重映射單元104和處理器106是共用集成電路或芯片上的系統(tǒng)(SoC)的部分,并且彼此直接通信。在另一些實(shí)施例中,地址重映射單元104能通過(guò)任何數(shù)量的中間組件、總線或通信媒介與處理器106分離。在又一些實(shí)施例中,處理器106能與其它類型的處理單元通信。本領(lǐng)域技術(shù)人員會(huì)理解,示出的系統(tǒng)是作為舉例而不是限制提供的,本文所描述的結(jié)構(gòu)、技術(shù)和特征適用于其它架構(gòu)或組件。
[0013]處理器106是執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序的指令以完成計(jì)算設(shè)備102的基本算術(shù)、邏輯和輸入/輸出操作的集成電路。處理器106可具有能夠使用本文所述的多級(jí)存儲(chǔ)器系統(tǒng)同時(shí)處理多個(gè)程序的一個(gè)或多個(gè)核。在一些實(shí)施例中,處理器106能夠由通過(guò)多個(gè)插接口耦合到計(jì)算設(shè)備102的多個(gè)處理單元或處理器管芯組成。
[0014]在一個(gè)實(shí)施例中,計(jì)算設(shè)備102可包括集成I/O集線器126。集成I/O集線器126能夠?yàn)槟承╊愋偷耐鈬O(shè)備(比如SATA設(shè)備128)以及通用串行總線(USB)端口和設(shè)備130提供接口。在其它實(shí)施例中,集成I/O集線器126能夠通過(guò)PCI express總線或類似的配置與外圍設(shè)備進(jìn)行通信。SATA設(shè)備128能夠包括諸如固態(tài)存儲(chǔ)設(shè)備、閃存驅(qū)動(dòng)器、磁存儲(chǔ)設(shè)備(例如硬盤和類似的存儲(chǔ)設(shè)備)之類的設(shè)備。USB端口和設(shè)備130能夠包括供基本計(jì)算機(jī)系統(tǒng)附連到諸如鼠標(biāo)、鍵盤、照相機(jī)和類似設(shè)備之類的外部設(shè)備的端口。
[0015]在一些實(shí)施例中,計(jì)算設(shè)備102可包括耦合到處理器106的天線132。天線132能夠從一個(gè)或多個(gè)無(wú)線提供者或源接收無(wú)線信號(hào)。無(wú)線信號(hào)包括遠(yuǎn)距離通信信號(hào),諸如蜂窩網(wǎng)絡(luò)(例如碼分多址(CDMA)、全球移動(dòng)通信系統(tǒng)(GSM)、3GPP長(zhǎng)期演進(jìn)(LTE)等)提供的那些信號(hào)以及較小的數(shù)據(jù)網(wǎng)絡(luò)(例如 IEEE 802.11 (W1-Fi)、IEEE 802.16 (WiMAX), HiperLan等)提供的那些信號(hào)。在一個(gè)實(shí)施例中,天線132可由多個(gè)天線組成。
[0016]地址重映射單元104從處理器106接收要發(fā)往高速緩存控制器108的數(shù)據(jù)讀寫請(qǐng)求。所述請(qǐng)求包括與主存儲(chǔ)器114中所請(qǐng)求的數(shù)據(jù)所處的位置相關(guān)聯(lián)的物理地址。物理地址能夠是數(shù)據(jù)所在的主存儲(chǔ)器114中的實(shí)際地址,或者它能夠是由主存儲(chǔ)器控制器110翻譯成主存儲(chǔ)器114中的實(shí)際地址的地址。在一些實(shí)施例中,物理地址能夠包括對(duì)應(yīng)于存儲(chǔ)器高速緩存116中的一組位置(對(duì)應(yīng)于所述物理地址的數(shù)據(jù)被緩存于這里)的組地址。在其它實(shí)施例中,組地址與物理地址是分開的。
[0017]地址重映射單元104在來(lái)自處理器106的數(shù)據(jù)讀寫請(qǐng)求與高速緩存控制器108之間提供地址加密和映射服務(wù)。地址重映射單元104的地址加密和映射服務(wù)提供地址隨機(jī)化,從而使主存儲(chǔ)器114和/或主存儲(chǔ)器控制器110中的物理地址讓處理器106或PCIexpress設(shè)備124上運(yùn)行的軟件困惑。在一個(gè)實(shí)施例中,地址重映射單元104和重映射管理器112能夠位于存儲(chǔ)器控制器集線器122內(nèi)。存儲(chǔ)器控制器集線器122在高速緩存控制器108和PCI express設(shè)備124與處理器106之間提供接口。存儲(chǔ)器控制器集線器122能夠通過(guò)存儲(chǔ)器總線與高速緩存控制器116和處理器106進(jìn)行通信,并且通過(guò)如PCI express總線之類的總線或類似的通信機(jī)制與PCI express設(shè)備124進(jìn)行通信。在一些實(shí)施例中,計(jì)算設(shè)備102能夠包括多個(gè)存儲(chǔ)器控制器集線器122,例如每個(gè)插接口有一個(gè)或多個(gè)存儲(chǔ)器控制器集線器122。
[0018]高速緩存控制器108借助于與存儲(chǔ)器高速緩存116中的每行存儲(chǔ)器(即高速緩存存儲(chǔ)器行)相關(guān)聯(lián)的標(biāo)簽118來(lái)管理存儲(chǔ)器高速緩存116。標(biāo)簽118指示在每個(gè)高速緩存行中存儲(chǔ)了來(lái)自主存儲(chǔ)器114的哪些條數(shù)據(jù)。標(biāo)簽118能夠包括附加的“Young”位,該“Young”位指示與存儲(chǔ)器高速緩存116中的高速緩存行相關(guān)聯(lián)并且存儲(chǔ)在標(biāo)簽118中的地址的年齡。例如,Young位能夠指示是否使用了舊密鑰集對(duì)地址進(jìn)行編碼。
[0019]在一個(gè)實(shí)施例中,標(biāo)簽118存儲(chǔ)與在存儲(chǔ)器高速緩存116中緩存的主存儲(chǔ)器114中的物理地址對(duì)應(yīng)的地址。在一些實(shí)施例中,標(biāo)簽112也能夠存儲(chǔ)對(duì)應(yīng)于存儲(chǔ)器高速緩存116中的一組位置(對(duì)應(yīng)于所述物理地址的數(shù)據(jù)被緩存在這里)的組地址。存儲(chǔ)在標(biāo)簽118中的地址能夠與主存儲(chǔ)器中的地址相同,或者它們可以被編碼和被映射到主存儲(chǔ)器114中的位置。在一個(gè)實(shí)施例中,存儲(chǔ)在標(biāo)簽118中的地址是主存儲(chǔ)器114中的物理地址的編碼/加密版本。惡意程序可能嘗試通過(guò)反復(fù)引起對(duì)主存儲(chǔ)器中這些位置的寫入來(lái)破壞主存儲(chǔ)器114的段。在重復(fù)寫入后,具有差的寫耐久性的主存儲(chǔ)器介質(zhì)的段將衰退。通過(guò)遮蔽緩存在存儲(chǔ)器高速緩存116中的主存儲(chǔ)器114中的數(shù)據(jù)的實(shí)際物理地址,對(duì)惡意程序來(lái)說(shuō),變得更難以反復(fù)寫入主存儲(chǔ)器114中的選定位置并由此破壞具有差的寫耐久性的主存儲(chǔ)器介質(zhì)的段。
[0020]存儲(chǔ)器高速緩存116和主存儲(chǔ)器114是存儲(chǔ)供處理器106訪問的數(shù)據(jù)和指今的數(shù)字存儲(chǔ)器介質(zhì)。存儲(chǔ)器高速緩存116能夠是直接映射高速緩存、全關(guān)聯(lián)高速緩存、η路組關(guān)聯(lián)高速緩存、η路偏斜關(guān)聯(lián)高速緩存或者任何其它類似類型的高速緩存。存儲(chǔ)器高速緩存116中的地址到位置的映射可以是實(shí)現(xiàn)特定的,使得對(duì)于給定地址,函數(shù)F(地址)返回與能夠存儲(chǔ)與該地址相關(guān)聯(lián)的數(shù)據(jù)的存儲(chǔ)器高速緩存116中的可能位置對(duì)應(yīng)的組地址。
[0021]存儲(chǔ)器高速緩存116能夠是具有比主存儲(chǔ)器114低的存儲(chǔ)密度、但是具有更好的寫耐久性和/或性能的存儲(chǔ)器介質(zhì)。例如,存儲(chǔ)器高速緩存116能夠是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)或嵌入式DRAM (eDRAM),而主存儲(chǔ)器114能夠是相變存儲(chǔ)器(PCM)、閃存或者任何非易失性存儲(chǔ)器(NVM)。在一個(gè)實(shí)施例中,主存儲(chǔ)器114是相變存儲(chǔ)器與開關(guān)(PCMS)。PCMS包含在交叉點(diǎn)陣列中用雙向閾值開關(guān)(OTS)分層的一個(gè)PCM元件。一旦集成在一起并嵌入交叉點(diǎn)陣列中,分層陣列與用于解碼、傳感和邏輯功能的CMOS電路相結(jié)合。PCMS的分層或堆疊陣列的能力提供了向更高存儲(chǔ)密度的可擴(kuò)展性,同時(shí)保持了 PCM的性能特性。
[0022]在其它實(shí)施例中,其它非易失性存儲(chǔ)器能夠用于主存儲(chǔ)器114。在一個(gè)實(shí)施例中,主存儲(chǔ)器114由鐵電晶體管隨機(jī)存取存儲(chǔ)器(FeTRAMS)構(gòu)成。FeTRAMS通過(guò)將硅納米線與鐵電聚合物結(jié)合而形成。FeTRAMS通過(guò)讀取鐵電晶體管的變化的極性作為二進(jìn)制值來(lái)存儲(chǔ)信息。這種二進(jìn)制讀取技術(shù)允許非破壞性讀出。在另一個(gè)實(shí)施例中,主存儲(chǔ)器114由基于納米線的存儲(chǔ)器模塊組成。納米線存儲(chǔ)器由成形為直徑約20納米的細(xì)線的硅形成。這些硅納米線均被一疊存儲(chǔ)電荷的稱為電介質(zhì)的材料的薄層包圍。當(dāng)不再施加電荷時(shí),每疊保持其狀態(tài)。
[0023]高速緩存控制器108能夠從重映射單元104接收源自處理器106或PCI express設(shè)備124的數(shù)據(jù)請(qǐng)求,并處理這些請(qǐng)求。請(qǐng)求包括與保存數(shù)據(jù)的主存儲(chǔ)器114中的位置相關(guān)聯(lián)的地址。高速緩存控制器108輪詢標(biāo)簽118,以確定所請(qǐng)求的數(shù)據(jù)是否先前已緩存在存儲(chǔ)器高速緩存116中(“命中”),或者是否需要從主存儲(chǔ)器114檢索數(shù)據(jù)(“未命中”)。命中或未命中的確定能夠通過(guò)將包含在數(shù)據(jù)請(qǐng)求中的存儲(chǔ)器地址與存儲(chǔ)于每個(gè)標(biāo)簽118中的地址相比較來(lái)執(zhí)行。在涉及η路組關(guān)聯(lián)存儲(chǔ)器高速緩存116的其它實(shí)施例中,命中或未命中的確定能夠通過(guò)比較數(shù)據(jù)請(qǐng)求中包含的存儲(chǔ)器地址與僅在地址的組關(guān)聯(lián)組中的標(biāo)簽118中存儲(chǔ)的地址來(lái)執(zhí)行。在一個(gè)實(shí)施例中,這種比較包括比較數(shù)據(jù)請(qǐng)求中包含的存儲(chǔ)器地址的組地址和與存儲(chǔ)在標(biāo)簽118中的每個(gè)地址相關(guān)聯(lián)的組地址。揭示與存儲(chǔ)在標(biāo)簽118中的地址之一匹配的比較指示命中,而與標(biāo)簽118匹配失敗指示未命中。
[0024]主存儲(chǔ)器控制器110通過(guò)控制讀和寫操作來(lái)管理主存儲(chǔ)器114。在一個(gè)實(shí)施例中,主存儲(chǔ)器控制器110響應(yīng)于來(lái)自高速緩存控制器108的對(duì)數(shù)據(jù)的請(qǐng)求,返回在主存儲(chǔ)器114中的某個(gè)位置存儲(chǔ)的數(shù)據(jù)值。主存儲(chǔ)器控制器110也能夠響應(yīng)于存儲(chǔ)器高速緩存116中的某個(gè)位置刷新主存儲(chǔ)器114,向主存儲(chǔ)器114中的某個(gè)位置寫入數(shù)據(jù)值。
[0025]在一個(gè)實(shí)施例中,主存儲(chǔ)器控制器110包括地址間接單元120,用于控制主存儲(chǔ)器114中的存儲(chǔ)單元/位置的耗損水平。在一個(gè)實(shí)施例中,地址間接單元120能夠?qū)崿F(xiàn)啟動(dòng)間隙耗損均衡系統(tǒng)。
[0026]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址重映射單元104的組件圖。地址重映射單元104能夠包括地址編碼器202和地址解碼器204。地址編碼器202接收來(lái)自或者處理器106、PCI express設(shè)備124或者地址解碼器204的物理地址,并且對(duì)物理地址進(jìn)行編碼以生成編碼地址。相反地,地址解碼器204接收來(lái)自高速緩存控制器108的編碼地址,并且對(duì)編碼地址進(jìn)行解碼以生成物理地址。
[0027]地址編碼器202執(zhí)行的編碼能夠使用分組密碼或類似密碼算法來(lái)實(shí)現(xiàn)。例如,地址編碼器202能夠采用Feistel網(wǎng)絡(luò)密碼、數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)密碼、多級(jí)DES密碼或者高級(jí)加密標(biāo)準(zhǔn)(AES)類密碼來(lái)對(duì)物理地址進(jìn)行編碼。能夠采用與地址編碼器202執(zhí)行編碼所用的算法相逆或相反的算法來(lái)執(zhí)行地址解碼器204執(zhí)行的解碼。在一個(gè)實(shí)施例中,重映射管理器112向地址編碼器202提供第一密鑰集和向地址解碼器204提供第二密鑰集,分別供編碼算法和解碼算法使用。在一個(gè)實(shí)施例中,提供給地址解碼器204的密鑰集與提供給地址編碼器202的密鑰集順序相反。密鑰集的這種關(guān)系是基于對(duì)應(yīng)的編碼和解碼算法之間的互逆/相反關(guān)系。在另一個(gè)實(shí)施例中,密鑰集是完全不同的,不共享互逆關(guān)系。例如,提供給地址編碼器202和地址解碼器204的密鑰集在重映射操作期間能夠是不同的,這將在下面更詳細(xì)地描述。來(lái)自地址編碼器202的編碼地址能夠被用來(lái)定位高速緩存行的地址以重新定位存儲(chǔ)器高速緩存116中的高速緩存行的位置。
[0028]在一個(gè)實(shí)施例中,高速緩存行的標(biāo)簽118可包括來(lái)自處理器106和/或PCIexpress設(shè)備124的全部或部分原始物理地址。原始地址和編碼地址都可被用于執(zhí)行高速緩存查找。在本實(shí)施例中,存儲(chǔ)器控制器108可從組地址和標(biāo)簽118檢索原始物理地址以訪問主存儲(chǔ)器114。
[0029]在其它實(shí)施例中,高速緩存行的標(biāo)簽118可包括全部或部分編碼地址,并且使用存儲(chǔ)在標(biāo)簽118中的數(shù)據(jù),包括其位置地址(即組地址),來(lái)執(zhí)行高速緩存查找。存儲(chǔ)器控制器108能夠使用附加的地址解碼器206對(duì)地址進(jìn)行解碼,從編碼地址到原始物理地址或任何中間地址。這個(gè)過(guò)程繞過(guò)地址編碼器202和地址解碼器204,并且使用所解碼的地址直接訪問主存儲(chǔ)器110。在一個(gè)實(shí)施例中,解碼器206采用與地址解碼器204 —樣的解碼算法和密鑰集來(lái)用原始物理地址訪問主存儲(chǔ)器110。在一個(gè)實(shí)施例中,地址解碼器206能夠是分開的組件,而在另一實(shí)施例中,地址解碼器206能夠是與地址解碼器204相同的組件。
[0030]如圖2所示,地址編碼器202使用編碼算法和重映射管理器112提供的密鑰集,對(duì)從處理器106或地址解碼器204接收的物理地址進(jìn)行編碼以生成編碼地址。圖3A是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、地址編碼器202能夠用來(lái)基于物理地址生成編碼地址的編碼算法的流程圖。在本實(shí)施例中,編碼算法是η級(jí)Feistel網(wǎng)絡(luò)密碼。η級(jí)Feistel網(wǎng)絡(luò)密碼開始于將物理地址分裂成兩個(gè)相等部分=Ltl和%。如上面所指出的,地址編碼器202接收來(lái)自重映射管理器112的密鑰集。該密鑰集能夠被定義為(K1, K2,...Ki)。對(duì)于每一輪i = 1,2,...,n,其中η是正整數(shù),
[0031]Li+1 = Ri
[0032]Rj+i = Li ? F(Ri, K,)
[0033]F(Ri, Ki) = (Ri 十 Ki)2
[0034]在完成Feistel網(wǎng)絡(luò)的第η級(jí)之后,密文(例如,編碼地址)為Rn和Ln的級(jí)聯(lián)。
[0035]如圖2所示,地址解碼器204能夠使用重映射管理器112提供的密鑰集,對(duì)從高速緩存控制器108從標(biāo)簽118之一接收的編碼地址進(jìn)行解碼以生成物理地址。圖3Β是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、地址解碼器204能夠用來(lái)基于編碼地址生成物理地址的解碼算法的流程圖。在本實(shí)施例中,解碼算法是η級(jí)Feistel網(wǎng)絡(luò)密碼。在本實(shí)施例中,解碼算法類似于地址編碼器202使用的編碼算法,不同之處在于,解碼算法所用的密鑰集與編碼算法所用的密鑰集相反。即,如果編碼算法所用的密鑰集是(K1, K2,...Ki),那么解碼算法所用的密鑰集是(H1,...K1)。在完成Feistel網(wǎng)絡(luò)的第η級(jí)之后,Rn和Ln的級(jí)聯(lián)是物理地址。
[0036]如上所述,重映射管理器112提供密鑰集以供地址編碼器202和地址解碼器204使用。重映射管理器112能夠使用諸如Intel810/815/840/845G芯片組提供的發(fā)生器或者Intel的RdRand指令之類的隨機(jī)數(shù)發(fā)生器,或者通過(guò)使用諸如Lagged Fibonacci發(fā)生器或Linear Congruential發(fā)生器之類的偽隨機(jī)數(shù)發(fā)生器,來(lái)生成密鑰集。
[0037]在一個(gè)實(shí)施例中,重映射管理器112能夠基于新密鑰集發(fā)起存儲(chǔ)在標(biāo)簽118中的所有地址的重新編碼/重映射。在本實(shí)施例中,重映射管理器112針對(duì)預(yù)定義事件的發(fā)生監(jiān)測(cè)一個(gè)或多個(gè)系統(tǒng)狀態(tài)。預(yù)定義事件的監(jiān)測(cè)能夠按靜態(tài)間隔(例如每5秒)執(zhí)行,或者能夠由重映射管理器112或操作系統(tǒng)來(lái)改變。預(yù)定義事件能夠是例如:自上次重映射之后的一個(gè)時(shí)間段的消逝,存儲(chǔ)器高速緩存116中的數(shù)據(jù)的平均年齡超過(guò)某個(gè)限度,來(lái)自應(yīng)用的執(zhí)行重映射的請(qǐng)求。
[0038]在一個(gè)實(shí)施例中,重映射管理器112通過(guò)發(fā)送消息到地址編碼器202和地址解碼器204來(lái)發(fā)起存儲(chǔ)在標(biāo)簽118中的所有地址的重新編碼/重映射。在一個(gè)實(shí)施例中,發(fā)送到地址解碼器204以發(fā)起重新編碼/重映射的信息包括用于對(duì)標(biāo)簽118中的所有物理地址進(jìn)行編碼的舊密鑰集。在這個(gè)實(shí)施例中,發(fā)送到地址編碼器202以發(fā)起重新編碼/重映射的信息包含將用于對(duì)物理地址進(jìn)行編碼的新密鑰集。
[0039]圖4示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于重映射標(biāo)簽118中存儲(chǔ)的地址的方法。該方法的操作能夠通過(guò)上面所描述的并在圖1-3中示出的一個(gè)或多個(gè)元件來(lái)執(zhí)行。在圖4所示的實(shí)施例中,使用舊密鑰集對(duì)當(dāng)前存儲(chǔ)在標(biāo)簽118中的地址進(jìn)行加密/編碼。本實(shí)施例中的存儲(chǔ)器高速緩存116是直接映射高速緩存、全關(guān)聯(lián)高速緩存、η路組關(guān)聯(lián)高速緩存、η路偏斜關(guān)聯(lián)高速緩存或者任何其它類似類型的高速緩存。114。
[0040]在操作402,該方法開始,其中,重映射管理器112針對(duì)預(yù)定義事件的發(fā)生監(jiān)測(cè)一組系統(tǒng)和存儲(chǔ)器狀態(tài)、條件或變量。如上所述,預(yù)定義事件能夠是例如:自上次重映射之后的一個(gè)時(shí)間段的消逝,存儲(chǔ)器高速緩存116中的數(shù)據(jù)的平均年齡超過(guò)某個(gè)限度,來(lái)自應(yīng)用的執(zhí)行重映射的請(qǐng)求。
[0041]一旦檢測(cè)到預(yù)定義事件,在操作404,重映射管理器112生成新密鑰集。如上所述,能夠使用真隨機(jī)數(shù)發(fā)生器或偽隨機(jī)數(shù)發(fā)生器來(lái)生成新密鑰集。在一個(gè)實(shí)施例中,新密鑰集是一組隨機(jī)整數(shù)值,這些值與舊密鑰集不同并且不相關(guān)。在其它實(shí)施例中,新密鑰集部分地從舊密鑰集導(dǎo)出。
[0042]在操作406,重映射管理器112發(fā)送新密鑰集到地址編碼器202并且發(fā)送舊密鑰集到地址解碼器204。通過(guò)將重映射管理器112耦合到地址編碼器202和地址解碼器204的一般數(shù)據(jù)總線來(lái)執(zhí)行這個(gè)傳輸。在另一個(gè)實(shí)施例中,重映射管理器112、地址編碼器202和地址解碼器204是共用集成電路或芯片上的系統(tǒng)(SoC)的部分,并且彼此直接通信。
[0043]在操作408,地址解碼器204從高速緩存控制器108檢索一個(gè)高速緩存行和對(duì)應(yīng)的標(biāo)記118。在一個(gè)實(shí)施例中,高速緩存行和標(biāo)簽118可在重映射管理器112內(nèi)經(jīng)過(guò)緩沖,并且原始高速緩存行可通過(guò)設(shè)置無(wú)效(INVALID)位被標(biāo)記為未使用。標(biāo)簽118包括已使用舊密鑰集編碼的編碼地址。該編碼地址與η路組關(guān)聯(lián)存儲(chǔ)器高速緩存116中的第一組位置/路徑相關(guān)聯(lián)。該組位置(即組地址)是存儲(chǔ)器高速緩存116中的能夠存儲(chǔ)對(duì)應(yīng)高速緩存行的位置。如先前所說(shuō)明的,通過(guò)實(shí)現(xiàn)特定的函數(shù)能夠?qū)τ跇?biāo)簽118中的每個(gè)編碼地址確定這個(gè)關(guān)聯(lián)性。
[0044]在操作409,地址解碼器204使用舊密鑰集和解碼算法對(duì)來(lái)自標(biāo)簽118和它的組地址的編碼地址進(jìn)行解碼以生成物理地址。物理地址被關(guān)聯(lián)到通過(guò)存儲(chǔ)器高速緩存116緩存的主存儲(chǔ)器114中的數(shù)據(jù)的位置。在一個(gè)實(shí)施例中,所檢索的高速緩存行可被存儲(chǔ)在重映射管理器112的緩沖器中,而編碼地址/物理地址由地址重映射單元104來(lái)處理。
[0045]在操作410,地址解碼器204發(fā)送物理地址到地址編碼器202。能夠通過(guò)將地址編碼器202耦合到地址解碼器204的一般數(shù)據(jù)總線來(lái)執(zhí)行這個(gè)傳輸。在另一個(gè)實(shí)施例中,地址編碼器202和地址解碼器204是共用集成電路或芯片上的系統(tǒng)(SoC)的部分,并且彼此直接通信。
[0046]在操作412,地址編碼器202使用編碼算法和新密鑰集對(duì)所接收物理地址進(jìn)行編碼以產(chǎn)生新編碼地址。這個(gè)新編碼地址與在η路組關(guān)聯(lián)存儲(chǔ)器高速緩存116中的第二組位置/路徑(即組地址)相關(guān)聯(lián),第二組位置/路徑可不同于與舊編碼地址相關(guān)聯(lián)的第一組位置/路徑。
[0047]在操作414,地址編碼器202發(fā)送高速緩存行和新編碼地址到高速緩存控制器108。這個(gè)傳輸能夠通過(guò)將地址編碼器202和高速緩存控制器108耦合的一般數(shù)據(jù)總線或者通過(guò)直接通信信道來(lái)執(zhí)行。
[0048]在操作416,高速緩存控制器108將新高速緩存行存儲(chǔ)在對(duì)應(yīng)于新編碼地址的第二組位置/路徑中的位置/路徑之一中,并且把新編碼地址存儲(chǔ)在對(duì)應(yīng)的標(biāo)簽118中。在一個(gè)實(shí)施例中,所存儲(chǔ)的新高速緩存行和/或標(biāo)簽118的Young位能夠被調(diào)成指示更新的年齡。在一個(gè)實(shí)施例中,新高速緩存行可被放置在未使用的高速緩存行中。在另一個(gè)實(shí)施例中,新高速緩存行的存儲(chǔ)需要將另一個(gè)高速緩存行刷新到主存儲(chǔ)器114中,并且新釋放的空間用于存儲(chǔ)新高速緩存行。在另一個(gè)實(shí)施例中,如果在第二組位置/路徑中沒有空間,則把當(dāng)前高速緩存行刷新到主存儲(chǔ)器114。在又一實(shí)施例中,新高速緩存行的存儲(chǔ)需要重映射管理器112將用舊密鑰集解碼的舊高速緩存行裝載到內(nèi)部緩沖器中。在本實(shí)施例中,該方法返回到操作408以處理所緩沖的高速緩存行。
[0049]在操作418,如果有另外的高速緩存行和標(biāo)簽118,則作出使用新密鑰集重新編碼的決定。該決定能夠使用與每個(gè)高速緩存行和標(biāo)簽118相關(guān)聯(lián)的Young位來(lái)作出,Young位指示高速緩存行的年齡和/或與該高速緩存行和標(biāo)簽118相關(guān)聯(lián)的編碼地址是否用新的或舊的密鑰集進(jìn)行了編碼。一旦確定存在另外的高速緩存行以使用新密鑰集重新編碼,則控制返回到操作408以處理下一個(gè)高速緩存行。
[0050]一旦確定已經(jīng)使用新密鑰集對(duì)所有高速緩存行和標(biāo)簽118進(jìn)行了重新編碼,該方法返回控制到操作402以監(jiān)測(cè)另一個(gè)預(yù)定義事件的發(fā)生。在一個(gè)實(shí)施例中,地址解碼器206的密鑰集可被更新為新密鑰集。在另一個(gè)實(shí)施例中,在控制返回到操作402之后,重映射管理器112能夠丟棄舊密鑰集,因?yàn)椴辉偈褂么嗣荑€集對(duì)標(biāo)簽118進(jìn)行編碼。在這兩個(gè)實(shí)施例中,新密鑰集變成舊密鑰集。
[0051]通過(guò)對(duì)存儲(chǔ)器高速緩存116的標(biāo)簽118中的地址進(jìn)行重映射/重新編碼,每個(gè)對(duì)應(yīng)的高速緩存行可被重新關(guān)聯(lián)和存儲(chǔ)在存儲(chǔ)器高速緩存116中的新的一組位置。每組能夠具有多個(gè)路徑/位置,以保留高速緩存行而不需要刷新到主存儲(chǔ)器114。因此,大大地降低了存儲(chǔ)器高速緩存刷新頻率和主存儲(chǔ)器寫入頻率。在主存儲(chǔ)器具有差的寫耐受性的實(shí)施例中,主存儲(chǔ)器的使用壽命甚至當(dāng)被惡意軟件攻擊時(shí)也能夠被延長(zhǎng)。
[0052]應(yīng)當(dāng)理解,以上描述旨在說(shuō)明而不是限制。在閱讀并理解以上描述后,許多其它實(shí)施例對(duì)本領(lǐng)域技術(shù)人員而言將是顯而易見的。因此,本發(fā)明的范圍應(yīng)該參照所附權(quán)利要求連同這些權(quán)利要求所賦予的等同物的全部范圍來(lái)確定。
【權(quán)利要求】
1.一種方法,包括: 由重映射管理器針對(duì)預(yù)定義事件的發(fā)生來(lái)監(jiān)測(cè)計(jì)算設(shè)備的系統(tǒng)狀態(tài); 由所述重映射管理器檢測(cè)所述預(yù)定義事件的發(fā)生;以及 在檢測(cè)到所述預(yù)定義事件時(shí),由所述重映射管理器發(fā)起存儲(chǔ)在標(biāo)簽中的第一編碼地址的重映射,所述第一編碼地址與被緩存在存儲(chǔ)器高速緩存中的主存儲(chǔ)器中的位置相關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述的方法,其中,發(fā)起重映射包括: 生成新密鑰集以供地址編碼器的編碼算法使用;以及 將所述新密鑰集發(fā)送到所述地址編碼器。
3.根據(jù)權(quán)利要求2所述的方法,其中,發(fā)起重映射還包括: 由地址解碼器使用舊密鑰集和解碼算法對(duì)存儲(chǔ)在所述標(biāo)簽中的每個(gè)第一編碼地址解碼,從而為每個(gè)第一編碼地址生成物理地址;以及 由所述地址編碼器使用所述新密鑰集和所述編碼算法對(duì)所述物理地址編碼,從而為每個(gè)物理地址生成第二編碼地址。
4.根據(jù)權(quán)利要求3所述的方法,還包括: 由所述地址編碼器將所述第二編碼地址發(fā)送到高速緩存控制器;以及 由所述高速緩存控制器將所述第二編碼地址存儲(chǔ)到所述標(biāo)簽中。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述預(yù)定義事件是以下項(xiàng)其中之一:自上次重映射被發(fā)起后的一個(gè)時(shí)間段的消逝,存儲(chǔ)器高速緩存中的數(shù)據(jù)的平均年齡超過(guò)一個(gè)時(shí)間段,來(lái)自應(yīng)用的執(zhí)行重映射的請(qǐng)求。
6.根據(jù)權(quán)利要求3所述的方法,其中,發(fā)起重映射還包括: 對(duì)于所述第一編碼地址中的每一個(gè)檢索第一組地址,其中,所述第一組地址指示所述存儲(chǔ)器高速緩存中用于關(guān)聯(lián)高速緩存行的一個(gè)或多個(gè)路徑;以及 對(duì)于所述第二編碼地址中的每一個(gè)確定第二組地址,其中,對(duì)于第一和第二編碼地址的每個(gè)關(guān)聯(lián)組,所述第二組地址不同于所述第一組地址。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述第一組地址被用來(lái)生成所述物理地址。
8.一種系統(tǒng),包括: 處理器; 為所述處理器存儲(chǔ)數(shù)據(jù)的主存儲(chǔ)器單元; 緩存所述主存儲(chǔ)器單元中存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)器高速緩存,其中,所述存儲(chǔ)器高速緩存包括存儲(chǔ)與所述主存儲(chǔ)器單元中的位置對(duì)應(yīng)的編碼地址的標(biāo)簽; 將所述主存儲(chǔ)器單元中的位置映射到編碼物理地址的地址重映射單元;以及 發(fā)起所述主存儲(chǔ)器單元中的位置到新編碼地址的重映射的重映射管理器。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述重映射管理器響應(yīng)于預(yù)定義事件的發(fā)生而發(fā)起重映射。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述預(yù)定義事件是以下項(xiàng)其中之一:自上次重映射被發(fā)起后的一個(gè)時(shí)間段的消逝,存儲(chǔ)器高速緩存中的數(shù)據(jù)的平均年齡超過(guò)一個(gè)時(shí)間段,來(lái)自應(yīng)用的執(zhí)行重映射的請(qǐng)求。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),還包括: 高速緩存控制器,用于接收所述新編碼地址并且將所述新編碼地址存儲(chǔ)到所述標(biāo)簽中,其中,所述新編碼地址替代存儲(chǔ)在所述標(biāo)簽中的舊編碼地址。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述地址重映射單元使用分組密碼和第一密鑰集將所述主存儲(chǔ)器單元中的位置映射到所述新編碼地址,以及所述地址重映射單元使用所述分組密碼和第二密鑰集將所述主存儲(chǔ)器單元中的位置映射到所述舊編碼地址。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述地址重映射單元: 對(duì)于所述舊編碼地址中的每一個(gè)檢索第一組地址,其中,所述第一組地址指示所述存儲(chǔ)器高速緩存中用于關(guān)聯(lián)高速緩存行的一個(gè)或多個(gè)路徑;以及 對(duì)于所述新編碼地址中的每一個(gè)確定第二組地址,其中,對(duì)于舊和新編碼地址的每個(gè)關(guān)聯(lián)組,所述第二組地址不同于所述第一組地址。
14.一種裝置,包括: 地址解碼器,所述地址解碼器對(duì)采用第一密鑰集編碼并且存儲(chǔ)在存儲(chǔ)器高速緩存的標(biāo)簽中的編碼地址進(jìn)行解碼,其中,所述解碼為所述編碼地址中的每一個(gè)生成物理地址;以及 地址編碼器,所述地址編碼器使用第二密鑰集對(duì)所述物理地址進(jìn)行編碼。
15.根據(jù)權(quán)利要求14所述的裝置,其中,所述地址編碼器使用第一分組密碼執(zhí)行編碼,并且所述地址解碼器使用第二分組密碼執(zhí)行解碼,其中,所述第二分組密碼與所述第一分組密碼相反。
16.根據(jù)權(quán)利要求14所述的裝置,其中,重映射管理器響應(yīng)于所述重映射管理器所檢測(cè)的預(yù)定義事件,發(fā)送所述第二密鑰集到所述地址編碼器,以及發(fā)送所述第一密鑰集到所述地址解碼器。
17.根據(jù)權(quán)利要求16所述的裝置,其中,所述預(yù)定義事件是以下項(xiàng)其中之一:自上次發(fā)送新密鑰集到所述地址編碼器后的一個(gè)時(shí)間段的消逝,存儲(chǔ)器高速緩存中的數(shù)據(jù)的平均年齡超過(guò)一個(gè)時(shí)間段,來(lái)自應(yīng)用的執(zhí)行重映射的請(qǐng)求。
18.根據(jù)權(quán)利要求14所述的裝置,其中,所述裝置被耦合到處理器,并且攔截對(duì)于來(lái)自主存儲(chǔ)器的數(shù)據(jù)的所有請(qǐng)求。
19.根據(jù)權(quán)利要求14所述的裝置,其中,編碼算法和解碼算法是以下項(xiàng)其中之一:Feistel網(wǎng)絡(luò)密碼、數(shù)據(jù)加密標(biāo)準(zhǔn)密碼、多級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)密碼、高級(jí)加密標(biāo)準(zhǔn)密碼。
【文檔編號(hào)】G06F12/10GK104137084SQ201180076127
【公開日】2014年11月5日 申請(qǐng)日期:2011年12月28日 優(yōu)先權(quán)日:2011年12月28日
【發(fā)明者】Y·董 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
巴青县| 温泉县| 南雄市| 闽侯县| 辰溪县| 黎城县| 平昌县| 德令哈市| 泗洪县| 布尔津县| 尉犁县| 女性| 北海市| 衢州市| 邢台市| 湟源县| 外汇| 黄石市| 教育| 大兴区| 黄大仙区| 大港区| 岐山县| 苏州市| 崇仁县| 犍为县| 济源市| 荃湾区| 辽阳市| 富蕴县| 双流县| 墨竹工卡县| 鹤山市| 四川省| 西昌市| 锡林浩特市| 沭阳县| 东乌| 府谷县| 织金县| 闽侯县|