用于將邏輯地址轉(zhuǎn)換成物理地址的設(shè)備和方法
【專利摘要】在本發(fā)明中,安全執(zhí)行從邏輯地址向?qū)嶋H地址的轉(zhuǎn)換而未減少性能。在其中CPU(10)使管理程序(191)運(yùn)行并且在這樣的控制之下運(yùn)行訪客分區(qū)(192a-192c)的環(huán)境中,向CPU(10)添加可從訪客分區(qū)執(zhí)行的用于將邏輯地址轉(zhuǎn)換成實(shí)際地址的轉(zhuǎn)換命令(LTOR命令)。如果訪客分區(qū)(192a)指明邏輯地址并且執(zhí)行LTOR命令,則CPU(10)將這樣的邏輯地址轉(zhuǎn)換成實(shí)際地址;然而CPU并不向訪客分區(qū)(192a)返回實(shí)際地址而實(shí)際上返回編碼的實(shí)際地址。利用這一信息,訪客分區(qū)(192a)在不了解未知實(shí)際地址的情況下經(jīng)由總線(60)向加速器(20)傳遞編碼的實(shí)際地址,并且加速器(20)向?qū)嶋H地址轉(zhuǎn)換經(jīng)編碼的實(shí)際地址并且訪問(wèn)存儲(chǔ)器。
【專利說(shuō)明】用于將邏輯地址轉(zhuǎn)換成物理地址的設(shè)備和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于將邏輯地址轉(zhuǎn)換成物理地址的裝置和方法。具體而言,本發(fā)明涉及一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將虛擬機(jī)用來(lái)訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成存儲(chǔ)器中的物理地址的裝置和方法。
【背景技術(shù)】
[0002]近年來(lái),隨著虛擬化技術(shù)的發(fā)展,已經(jīng)變得有可能使用管理程序以邏輯上劃分單個(gè)物理機(jī)、然后將由此獲得的機(jī)器作為多個(gè)虛擬機(jī)操作。通過(guò)使用管理程序?qū)⑻摂M機(jī)相互分離,從而一個(gè)虛擬機(jī)不能訪問(wèn)另一虛擬機(jī)的存儲(chǔ)器區(qū)域。這通過(guò)如以下描述的地址轉(zhuǎn)換來(lái)實(shí)現(xiàn)。
[0003]在使用邏輯上劃分的CPU的情況下,通過(guò)使用兩個(gè)類型的地址來(lái)訪問(wèn)存儲(chǔ)器。在它們之中,物理地址僅可由管理程序使用。同時(shí),在虛擬機(jī)上的程序、比如OS (下文將程序稱為“訪客分區(qū)”)使用的地址是邏輯地址。在訪客分區(qū)訪問(wèn)存儲(chǔ)器時(shí),CPU或者管理程序根據(jù)轉(zhuǎn)換表將邏輯地址轉(zhuǎn)換成物理地址。
[0004]同時(shí),作為一種增加具體處理的速度的方法,有一種用硬件加速器(下文簡(jiǎn)稱為“加速器”)或連接到CPU的其它設(shè)備分流具體工作負(fù)載的方法。例如Power7 (商標(biāo))或者PowerEN(商標(biāo))芯片能夠通過(guò)使用ICSWX指令來(lái)調(diào)用加速器。如果虛擬機(jī)執(zhí)行ICSWX指令,則向目標(biāo)加速器發(fā)送虛擬機(jī)的ID (LPARID)和在其中布置關(guān)于存儲(chǔ)器的參數(shù)的地址。
[0005]在這一環(huán)境中,一般通過(guò)存儲(chǔ)器或者在大數(shù)據(jù)的情況下通過(guò)高速緩存在訪客分區(qū)與加速器之間交換數(shù)據(jù)。另外,如果數(shù)據(jù)變復(fù)雜,則有必要使用數(shù)據(jù)結(jié)構(gòu)、比如鏈接表、樹等并且向數(shù)據(jù)中布置指向存儲(chǔ)器上的其它區(qū)域的指針。在這一情況下,訪客分區(qū)預(yù)備數(shù)據(jù)結(jié)構(gòu),因此指針指向邏輯地址。然而加速器需要物理地址以便訪問(wèn)存儲(chǔ)器,因此有必要以一種方式或者另一方式向加速器通知在物理地址與邏輯地址之間的對(duì)應(yīng)。下文將“向加速器通知在物理地址與邏輯地址之間的對(duì)應(yīng)”的處理稱為“映射”。
[0006]一般而言,映射由管理程序執(zhí)行。
[0007]附帶提一點(diǎn),在官方公報(bào)中描述的技術(shù)之中,有一種其中在分區(qū)中的地址與分區(qū)公共的地址之間執(zhí)行地址轉(zhuǎn)換的技術(shù)(例如見專利文獻(xiàn)I)。
[0008]在專利文獻(xiàn)I中的技術(shù)中,為了通過(guò)將分級(jí)總線SMP的內(nèi)部劃分成多個(gè)分區(qū)來(lái)實(shí)現(xiàn)在分區(qū)之間的共享存儲(chǔ)器,提供一種用于在每個(gè)節(jié)點(diǎn)的入口在分區(qū)中的地址與分區(qū)公共的共享存儲(chǔ)器空間地址之間雙向轉(zhuǎn)換共享區(qū)域中的地址的手段。
[0009][現(xiàn)有技術(shù)參考文獻(xiàn)]
[0010][專利文獻(xiàn)]
[0011][專利文獻(xiàn)I]
[0012]第4123621號(hào)日本專利
【發(fā)明內(nèi)容】
[0013][本發(fā)明要解決的問(wèn)題]
[0014]如以上描述的那樣,常規(guī)地,如果需要向加速器等傳遞物理地址,則管理程序已經(jīng)執(zhí)行映射。
[0015]然而在管理程序執(zhí)行映射時(shí),每當(dāng)執(zhí)行映射時(shí),上下文切換在訪客分區(qū)與管理程序之間出現(xiàn)、由此有問(wèn)題地減少性能。
[0016]這里,只要訪客分區(qū)能夠被通知物理地址,訪客分區(qū)就也能夠執(zhí)行映射。然而如果加速器被通知映射中的錯(cuò)誤對(duì)應(yīng),則加速器訪問(wèn)向另一訪客分區(qū)指派的存儲(chǔ)器、由此引起可能違反在分區(qū)之間的分離這樣的另一問(wèn)題。
[0017]在專利文獻(xiàn)I中公開的技術(shù)并不提供任何用于這些問(wèn)題的解決手段。
[0018]因而,本發(fā)明的目的是安全執(zhí)行從邏輯地址向物理地址的轉(zhuǎn)換而未減少性能。
[0019][用于解決問(wèn)題的手段]
[0020]為了實(shí)現(xiàn)以上目的,本發(fā)明提供一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將虛擬機(jī)用來(lái)訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成在存儲(chǔ)器中的物理地址的裝置,該裝置包括:接受單元,用于在由虛擬機(jī)執(zhí)行可由虛擬機(jī)執(zhí)行并且用來(lái)將邏輯地址轉(zhuǎn)換成物理地址的指令時(shí),從虛擬機(jī)接受邏輯地址;轉(zhuǎn)換單元,用于將由接受單元接受的邏輯地址轉(zhuǎn)換成先前與邏輯地址關(guān)聯(lián)的物理地址;加密信息生成單元,用于通過(guò)加密物理地址信息來(lái)生成加密的信息,物理地址信息包括通過(guò)由轉(zhuǎn)換單元執(zhí)行的轉(zhuǎn)換而獲得的物理地址;以及輸出單元,用于向虛擬機(jī)輸出由加密信息生成單元生成的加密的信息。
[0021]這里,該裝置可以包括:哈希生成單元,用于生成用于位串的哈希,位串包括通過(guò)由轉(zhuǎn)換單元執(zhí)行的轉(zhuǎn)換而獲得的物理地址;以及級(jí)聯(lián)單元,用于級(jí)聯(lián)由哈希生成單元生成的哈希與物理地址,從而在物理地址信息中包括哈希。
[0022]在這一實(shí)例中,級(jí)聯(lián)單元還可以級(jí)聯(lián)虛擬機(jī)的標(biāo)識(shí)符與物理地址,從而在物理地址信息中包括標(biāo)識(shí)符。
[0023]另外,哈希生成單元可以生成用于還包括標(biāo)識(shí)符的位串的哈希。
[0024]此外,本發(fā)明提供一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將虛擬機(jī)用來(lái)訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成在存儲(chǔ)器中的物理地址的裝置,該裝置包括:接受單元,用于在由虛擬機(jī)執(zhí)行可由虛擬機(jī)執(zhí)行并且用來(lái)將邏輯地址轉(zhuǎn)換成物理地址的指令時(shí),從虛擬機(jī)接受邏輯地址;轉(zhuǎn)換單元,用于將由接受單元接受的邏輯地址轉(zhuǎn)換成位串,位串包括虛擬機(jī)的標(biāo)識(shí)符和先前與邏輯地址關(guān)聯(lián)的物理地址;哈希生成單元,用于生成用于通過(guò)轉(zhuǎn)換單元執(zhí)行的轉(zhuǎn)換而獲得的位串的哈希;級(jí)聯(lián)單元,用于級(jí)聯(lián)通過(guò)由轉(zhuǎn)換單元執(zhí)行的轉(zhuǎn)換而獲得的位串與由哈希生成單元生成的哈希;加密信息生成單元,用于通過(guò)加密通過(guò)由級(jí)聯(lián)單元執(zhí)行的級(jí)聯(lián)而獲得的物理地址信息來(lái)生成加密的信息;以及輸出單元,用于向虛擬機(jī)輸出由加密信息生成單元生成的加密的信息。
[0025]另外,本發(fā)明提供一種系統(tǒng),該系統(tǒng)包括:中央處理單元,用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī);以及訪問(wèn)設(shè)備,用于通過(guò)使用存儲(chǔ)器中的與虛擬機(jī)用來(lái)訪問(wèn)存儲(chǔ)器而使用的邏輯地址對(duì)應(yīng)的物理地址來(lái)訪問(wèn)存儲(chǔ)器,其中中央處理單元包括:接受單元,用于在由虛擬機(jī)執(zhí)行可由虛擬機(jī)執(zhí)行并且用來(lái)將邏輯地址轉(zhuǎn)換成物理地址的指令時(shí),從虛擬機(jī)接受邏輯地址;轉(zhuǎn)換單元,用于將由接受單元接受的邏輯地址轉(zhuǎn)換成先前與邏輯地址關(guān)聯(lián)的物理地址;加密信息生成單元,用于通過(guò)加密物理地址信息來(lái)生成加密的信息,物理地址信息包括通過(guò)轉(zhuǎn)換單元執(zhí)行的轉(zhuǎn)換而獲得的物理地址;以及輸出單元,用于向虛擬機(jī)輸出加密信息生成單元生成的加密的信息,并且其中訪問(wèn)設(shè)備包括:接收單元,用于從已經(jīng)接收到由輸出單元輸出的加密的信息的虛擬機(jī)接收加密的信息;獲取單元,用于通過(guò)解密由接收單元接收的加密的信息來(lái)獲取物理地址信息;以及訪問(wèn)單元,用于通過(guò)使用在由獲取單元獲取的物理地址信息中包括的物理地址來(lái)訪問(wèn)存儲(chǔ)器。
[0026]可以配置這一系統(tǒng)使得CPU包括:第一哈希生成單元,用于生成第一哈希,第一哈希是用于位串的哈希,位串包括通過(guò)由轉(zhuǎn)換單元執(zhí)行的轉(zhuǎn)換而獲得的物理地址;以及級(jí)聯(lián)單元,用于級(jí)聯(lián)第一哈希與物理地址,從而在物理地址信息中包括由第一哈希生成單元生成的第一哈希;并且使得接入設(shè)備包括:第二哈希生成單元,用于生成第二哈希,第二哈希是用于位串的哈希,位串包括在由獲取單元獲取的物理地址信息中包括的物理地址;比較單元,用于比較在由獲取單元獲取的物理地址信息中包括的第一哈希與由第二哈希生成單元生成的第二哈希;以及控制單元,用于在由比較單元執(zhí)行的比較的結(jié)果示出第一哈希與第二哈希重合的情況下控制在物理地址信息中包括的物理地址以由訪問(wèn)單元使用。
[0027]在該情況下,可以配置該系統(tǒng)使得級(jí)聯(lián)單元還級(jí)聯(lián)第一標(biāo)識(shí)符與物理地址,第一標(biāo)識(shí)符是虛擬機(jī)的標(biāo)識(shí)符,從而在物理地址信息中包括第一標(biāo)識(shí)符,使得接收單元還從虛擬機(jī)接收第二標(biāo)識(shí)符,第二標(biāo)識(shí)符是虛擬機(jī)的標(biāo)識(shí)符,使得比較單元還比較在物理地址信息中包括的第一標(biāo)識(shí)符與由接收單元接收的第二標(biāo)識(shí)符,并且使得控制單元在由比較單元執(zhí)行的比較的結(jié)果示出第一標(biāo)識(shí)符與第二標(biāo)識(shí)符重合的情況下控制在物理地址信息中包括的物理地址以由訪問(wèn)單元使用。
[0028]另外,可以配置該系統(tǒng)使得第一哈希生成單元生成第一哈希,第一哈希是用于還包括第一標(biāo)識(shí)符的位串的哈希,并且使得第二哈希生成單元生成第二哈希,第二哈希是用于位串的哈希,位串包括在由獲取單元獲取的物理地址信息中包括的物理地址和第一標(biāo)識(shí)符。
[0029]另外,該系統(tǒng)還可以包括不能被除了 CPU和訪問(wèn)設(shè)備之外的設(shè)備使用的存儲(chǔ)設(shè)備,并且可以配置該系統(tǒng)使得加密信息生成單元通過(guò)使用在存儲(chǔ)設(shè)備中存儲(chǔ)的加密密鑰來(lái)加密物理地址信息,并且使得獲取單元通過(guò)使用在存儲(chǔ)設(shè)備中存儲(chǔ)的加密密鑰或者與加密密鑰對(duì)應(yīng)的解密密鑰來(lái)解密加密的信息。
[0030]另外,本發(fā)明提供一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將虛擬機(jī)用來(lái)通過(guò)其訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成在存儲(chǔ)器中的物理地址的方法,該方法包括以下步驟:在由虛擬機(jī)執(zhí)行可由虛擬機(jī)執(zhí)行并且用來(lái)將邏輯地址轉(zhuǎn)換成物理地址的指令時(shí)從虛擬機(jī)接受邏輯地址;將在接受步驟中接受的邏輯地址轉(zhuǎn)換成先前與邏輯地址關(guān)聯(lián)的物理地址;通過(guò)加密物理地址信息來(lái)生成加密的信息,物理地址信息包括通過(guò)在轉(zhuǎn)換步驟中執(zhí)行的轉(zhuǎn)換而獲得的物理地址;并且向虛擬機(jī)輸出在生成加密的信息的步驟中生成的加密的信息。
[0031][本發(fā)明的優(yōu)點(diǎn)]
[0032]根據(jù)本發(fā)明,可以安全執(zhí)行從邏輯地址向物理地址的轉(zhuǎn)換而未減少性能。
【專利附圖】
【附圖說(shuō)明】
[0033]圖1是圖示本發(fā)明的實(shí)施例被應(yīng)用于的系統(tǒng)的配置示例的框圖;[0034]圖2是圖示在本發(fā)明的實(shí)施例中的在訪客分區(qū)將邏輯地址轉(zhuǎn)換成加密的實(shí)際地址并且向加速器傳遞加密的實(shí)際地址時(shí)執(zhí)行的操作的高匡的圖;
[0035]圖3是示意地圖示在本發(fā)明的實(shí)施例中的其中CPU將邏輯地址轉(zhuǎn)換成加密的實(shí)際地址信息的處理內(nèi)容的圖;
[0036]圖4是圖示在本發(fā)明的實(shí)施例中的CPU的功能配置示例的框圖;
[0037]圖5是圖示在本發(fā)明的實(shí)施例中的CPU的典型操作的流程圖;
[0038]圖6是示意地圖示在本發(fā)明的實(shí)施例中的其中加速器將加密的實(shí)際地址信息轉(zhuǎn)換成實(shí)際地址信息的處理內(nèi)容的圖;
[0039]圖7是圖示在本發(fā)明的實(shí)施例中的加速器的功能配置示例的框圖;并且
[0040]圖8是圖示在本發(fā)明的實(shí)施例中的加速器的典型操作的流程圖。
【具體實(shí)施方式】
[0041 ] 下文將通過(guò)參照附圖具體描述本發(fā)明的優(yōu)選實(shí)施例。
[0042]圖1是圖示這一實(shí)施例被應(yīng)用于的系統(tǒng)的配置示例的框圖。
[0043]如圖所示,這一系統(tǒng)包括通過(guò)總線60連接的中央處理單元(CPU)IO、加速器20a和20b、存儲(chǔ)器30、存儲(chǔ)器控制器40以及加密密鑰存儲(chǔ)區(qū)域50。雖然在圖1中圖示加速器20a和20b,但是如果無(wú)需區(qū)分它們,則它們可以在一些情況下稱為加速器20。另外,雖然在圖1中圖示兩個(gè)加速器20,但是加速器20的數(shù)目不限于兩個(gè)并且它可以是一個(gè)或者是三個(gè)或者更多。
[0044]CPUlO是用于控制整個(gè)系統(tǒng)的操作的設(shè)備。具體而言,在這一實(shí)施例中,管理程序用來(lái)在物理機(jī)上操作多個(gè)虛擬機(jī),從而操作系統(tǒng)(OS)和應(yīng)用在每個(gè)虛擬機(jī)上操作。
[0045]加速器20是通過(guò)代表CPU執(zhí)行CPU將執(zhí)行的具體處理的部分來(lái)增加系統(tǒng)的吞吐量的設(shè)備。這里作為具體處理圖示數(shù)據(jù)加密、壓縮、解壓等。另外,雖然在這一實(shí)施例中提供加速器20作為訪問(wèn)存儲(chǔ)器30的訪問(wèn)設(shè)備的示例,但是可以提供除了加速器20之外的設(shè)備。
[0046]存儲(chǔ)器30是用于存儲(chǔ)CPUlO在處理中使用的數(shù)據(jù)或者作為處理結(jié)果獲得的數(shù)據(jù)的設(shè)備。具體而言,在這一實(shí)施例中,存儲(chǔ)器30可以例如是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。
[0047]存儲(chǔ)器控制器40是控制向和從存儲(chǔ)器30寫入和讀取數(shù)據(jù)的設(shè)備。
[0048]加密密鑰存儲(chǔ)區(qū)域50用于在存儲(chǔ)在隨后將描述的CPUlO的加密處理中和在加速器20的解密處理中使用的加密密鑰時(shí)使用。假設(shè)加密密鑰存儲(chǔ)區(qū)域50僅可從CPUlO和加速器20訪問(wèn)。這一類型的區(qū)域例如可由可信平臺(tái)模塊(TPM)實(shí)現(xiàn)。在這一實(shí)施例中,提供加密密鑰存儲(chǔ)區(qū)域50作為用于不能被除了 CPU和訪問(wèn)設(shè)備之外的設(shè)備使用的存儲(chǔ)設(shè)備的示例。
[0049]假設(shè)管理程序在這一系統(tǒng)中將邏輯地址轉(zhuǎn)換成實(shí)際地址(物理地址),在訪客分區(qū)與管理程序之間出現(xiàn)上下文切換,由此降低了性能。因此,在這一實(shí)施例中,訪客分區(qū)代表管理程序?qū)⑦壿嫷刂忿D(zhuǎn)換成實(shí)際地址。更具體而言,向CPUlO添加可從訪客分區(qū)執(zhí)行的從邏輯地址向?qū)嶋H地址的轉(zhuǎn)換指令(下文稱為“LT0R指令”)。
[0050]然而如果使訪客分區(qū)能夠?qū)⑦壿嫷刂忿D(zhuǎn)換成實(shí)際地址,則訪客分區(qū)可能有意地或者錯(cuò)誤地向加速器通知無(wú)效實(shí)際地址、由此侵犯向另一訪客分區(qū)指派的存儲(chǔ)器。因此,在這一實(shí)施例中,向訪客分區(qū)傳遞加密的實(shí)際地址(下文稱為“加密的實(shí)際地址”)以保護(hù)向每個(gè)訪客分區(qū)指派的存儲(chǔ)器。
[0051]圖2是示意地圖示在訪客分區(qū)通過(guò)使用LTOR指令將邏輯地址轉(zhuǎn)換成加密的實(shí)際地址并且向加速器20傳遞加密的實(shí)際地址時(shí)出現(xiàn)的情形的圖。
[0052]如圖所示,CPUlO操作管理程序191并且在管理程序191的控制之下操作訪客分區(qū)192a、192b和192c。雖然在圖中圖示訪客分區(qū)192a、192b和192c,但是如果無(wú)需相互區(qū)分訪客分區(qū),則它們可以在一些情況下稱為訪客分區(qū)192。另外,雖然在圖中圖示三個(gè)訪客分區(qū)192,但是訪客分區(qū)192的數(shù)目不限于三個(gè),而它可以是一個(gè)或者兩個(gè)或者是四個(gè)或者更多。
[0053]這里假設(shè)例如訪客分區(qū)192a執(zhí)行LTOR指令。然后,CPUlO從訪客分區(qū)192a接收邏輯地址并且將邏輯地址轉(zhuǎn)換成實(shí)際地址。然而在這一實(shí)施例中,CPUlO未向訪客分區(qū)192a直接發(fā)送回實(shí)際地址、但是如以上描述的那樣發(fā)送回加密的實(shí)際地址。由此,訪客分區(qū)192a通過(guò)總線60向加速器20傳遞地址而未知實(shí)際地址。
[0054]同時(shí),已經(jīng)接收加密的實(shí)際地址的加速器20通過(guò)使用加密密鑰將加密的實(shí)際地址轉(zhuǎn)換成實(shí)際地址、然后通過(guò)使用實(shí)際地址來(lái)訪問(wèn)存儲(chǔ)器30 (見圖1)。
[0055]這里假設(shè)用于CPUlO的加密和用于加速器20的解密的加密密鑰如以上描述的那樣存儲(chǔ)于僅可由CPUlO和加速器20訪問(wèn)的加密密鑰存儲(chǔ)區(qū)域50 (見圖1)中。
[0056]如以上描述的那樣,這一實(shí)施例包括執(zhí)行其中CPUlO將邏輯地址轉(zhuǎn)換成加密的實(shí)際地址的處理和其中加速器20將加密的實(shí)際地址轉(zhuǎn)換成實(shí)際地址的處理。因此,將對(duì)于它們中的每個(gè)處理進(jìn)行以下描述。
[0057][其中CPUlO將邏輯地址轉(zhuǎn)換成加密的實(shí)際地址的處理]
[0058]圖3是示意地圖示在執(zhí)行這一類型的處理時(shí)出現(xiàn)的情形的圖。
[0059]首先,訪客分區(qū)192執(zhí)行LTOR指令,按照該LTOR指令從訪客分區(qū)192向CPUlO發(fā)送邏輯地址(IA)。
[0060]然后,CPUlO基于地址轉(zhuǎn)換表(IB)將邏輯地址轉(zhuǎn)換為實(shí)際地址信息。這里,實(shí)際地址信息從左側(cè)開始包括加密位、填充、LPARID、在實(shí)際地址上的有效地址(下文簡(jiǎn)稱為“有效地址”)。在它們之中,加密位指示是否加密實(shí)際地址信息:“ I”指示加密實(shí)際地址信息;并且“O”指示未加密實(shí)際地址信息。由于未加密緊接在IB中的轉(zhuǎn)換之后的實(shí)際地址信息,所以加密位是“O”。此外,LPARID是訪客分區(qū)192的標(biāo)識(shí)符(ID),該訪客分區(qū)是邏輯分區(qū)(LPAR)0 在圖 3 中,LPARID 縮寫為 “L”。
[0061]另外,CPU100通過(guò)將哈希函數(shù)、比如安全哈希算法I (SHA-1)應(yīng)用于由實(shí)際地址信息中的LPARID和有效地址組成的位串來(lái)生成哈希、然后在填充位置中嵌入哈希以生成哈希級(jí)聯(lián)的位串(1C)。
[0062]另外,CPUlO根據(jù)高級(jí)加密標(biāo)準(zhǔn)(AES)等加密由哈希級(jí)聯(lián)的位串LPARID中的哈希和有效地址組成的位串并且將加密位改變成“I”以生成加密的實(shí)際地址信息(下文稱為“加密的實(shí)際地址信息”)(ID)0
[0063]由此,CPUlO向訪客分區(qū)192發(fā)送加密的實(shí)際地址信息,并且訪客分區(qū)192接收加密的實(shí)際地址信息(IE)。
[0064]隨后對(duì)執(zhí)行如圖3中所示處理的CPUlO的功能配置進(jìn)行描述。[0065]圖4是圖示CPUlO的功能配置示例的框圖。
[0066]如圖所示,CPUlO包括指令解碼器11、授權(quán)確定電路12、操作數(shù)取回電路13、地址轉(zhuǎn)換電路14、地址轉(zhuǎn)換表141和狀態(tài)寄存器142。此外,CPUlO還包括哈希電路15、級(jí)聯(lián)電路16、加密電路17、加密密鑰接收電路171和位改變電路18。
[0067]指令解碼器11解碼管理程序191或者訪客分區(qū)192執(zhí)行的指令。
[0068]授權(quán)確定電路12確定指令解碼器11解碼的指令是否已經(jīng)由具有用于執(zhí)行指令的授權(quán)的軟件執(zhí)行。具體而言,如果指令解碼器11解碼的指令是LTOR指令,則授權(quán)確定電路12確定指令是否已經(jīng)由訪客分區(qū)192執(zhí)行。
[0069]操作數(shù)取回電路13取回指令解碼器11解碼的指令的操作數(shù)。具體而言,如果指令解碼器11解碼的指令是LTOR指令,則操作數(shù)取回電路113取回邏輯地址作為操作數(shù)。在這一實(shí)施例中,提供操作數(shù)取回電路13作為接受邏輯地址的接受單元的示例。
[0070]地址轉(zhuǎn)換電路14將操作數(shù)取回電路13取回的邏輯地址轉(zhuǎn)換成實(shí)際地址信息。實(shí)際地址信息如以上描述的那樣包括加密位、填充、LPARID和有效地址。在這一實(shí)施例中,有效地址用作物理地址的示例,并且LPARID用作虛擬機(jī)的標(biāo)識(shí)符的示例。另外,提供地址轉(zhuǎn)換電路14作為將邏輯地址轉(zhuǎn)換成物理地址的轉(zhuǎn)換單元或者將邏輯地址轉(zhuǎn)換成位串的轉(zhuǎn)換單元的示例,該位串包括虛擬機(jī)的標(biāo)識(shí)符和物理地址,還作為向物理地址級(jí)聯(lián)標(biāo)識(shí)符的級(jí)聯(lián)單元的示例。
[0071]在地址轉(zhuǎn)換電路14將邏輯地址轉(zhuǎn)換成實(shí)際地址信息時(shí)參考地址轉(zhuǎn)換表141。地址轉(zhuǎn)換表141保持在邏輯地址與在實(shí)際地址上的有效地址(在圖4中簡(jiǎn)稱為“實(shí)際地址”)之間的對(duì)應(yīng)。
[0072]在地址轉(zhuǎn)換電路14將邏輯地址轉(zhuǎn)換成實(shí)際地址信息時(shí)參考狀態(tài)寄存器142。如果CPUlO接收到指令,則狀態(tài)寄存器142保持已經(jīng)執(zhí)行指令的訪客分區(qū)192的LPARID。
[0073]哈希電路15生成哈希,該哈希是由在地址轉(zhuǎn)換電路14執(zhí)行的轉(zhuǎn)換之后的實(shí)際地址信息中的LPARID和有效地址組成的部分。在這一實(shí)施例中,在實(shí)際地址信息中的LPARID和有效地址用作包括物理地址的位串的示例。另外,提供哈希電路15作為生成位串的哈希的哈希生成單元或者第一哈希生成單元的示例。
[0074]級(jí)聯(lián)電路16通過(guò)級(jí)聯(lián)在地址轉(zhuǎn)換電路14執(zhí)行的轉(zhuǎn)換之后的實(shí)際地址信息中的加密位、LPARID和有效地址與哈希電路15生成的哈希來(lái)生成哈希級(jí)聯(lián)的位串、由此生成哈希級(jí)聯(lián)的位串。在這一實(shí)施例中,提供級(jí)聯(lián)電路16作為級(jí)聯(lián)哈希與物理地址的級(jí)聯(lián)單元或者級(jí)聯(lián)位串與哈希的級(jí)聯(lián)單元的示例。
[0075]加密電路17加密由在級(jí)聯(lián)電路16生成的哈希級(jí)聯(lián)的位串中的哈希、LPARID和有效地址組成的部分。在這一實(shí)施例中,由在哈希級(jí)聯(lián)的位串中的哈希、LPARID和有效地址組成的部分用作包括物理地址的物理地址信息的示例,并且由加密的哈希、LPARID和有效地址組成的部分用作加密的信息的示例。此外,提供加密電路17作為通過(guò)加密物理地址信息來(lái)生成加密的信息的加密信息生成單元的示例。
[0076]加密密鑰接收電路171從加密密鑰存儲(chǔ)區(qū)域50 (見圖1)接收在加密電路17執(zhí)行加密時(shí)使用的加密密鑰。
[0077]位改變電路18通過(guò)改變?cè)诩用茈娐?7加密的實(shí)際地址信息中的加密位來(lái)生成加密的實(shí)際地址信息。在這一實(shí)施例中,提供位改變電路18作為輸出加密的信息的輸出單元的示例。
[0078]隨后以下將描述執(zhí)行如圖3中所示處理的CPUlO的操作。
[0079]在CPUlO中,指令解碼器11首先解碼指令,然后授權(quán)確定電路12確定是否具有用于執(zhí)行指令的授權(quán)的軟件執(zhí)行指令。在這一實(shí)施例中,在指令解碼器11解碼的指令是LTOR指令并且訪客分區(qū)192執(zhí)行LTOR指令的情況下,換而言之,在訪客分區(qū)192中的OS或者應(yīng)用執(zhí)行以需要轉(zhuǎn)換成加密的實(shí)際地址信息的邏輯地址為變?cè)腖TOR指令的情況下,執(zhí)行以下處理。
[0080]圖5是圖示CPUlO在以上情況下的典型操作的流程圖。
[0081]如圖所示,在CPUlO中,操作數(shù)取回電路13首先接收邏輯地址(步驟101)。
[0082]然后,地址轉(zhuǎn)換電路14將在步驟101中接收的邏輯地址轉(zhuǎn)換成實(shí)際地址信息(步驟102)。更具體而言,地址轉(zhuǎn)換電路14基于地址轉(zhuǎn)換表141將邏輯地址轉(zhuǎn)換成有效地址并且向有效地址添加在狀態(tài)寄存器142中保持的加密位、填充和LPARID以獲得實(shí)際地址信肩、O
[0083]隨后,哈希電路15生成哈希(摘要),該哈希是由在步驟102中獲得的實(shí)際地址信息LPARID和有效地址組成的部分(步驟103)。
[0084]另外,級(jí)聯(lián)電路16生成哈希級(jí)聯(lián)的位串,在該哈希級(jí)聯(lián)的位串中級(jí)聯(lián)在步驟102中獲得的實(shí)際地址信息與在步驟103中生成的哈希(摘要)(步驟104)。
[0085]另外,加密電路17加密在步驟104中生成的哈希級(jí)聯(lián)的位串中的哈希、LPARID和有效地址組成的部分(步驟105)。更具體而言,加密電路17通過(guò)使用加密密鑰接收電路171從加密密鑰存儲(chǔ)區(qū)域50接收的加密密鑰根據(jù)AES或者其它標(biāo)準(zhǔn)加密該部分。
[0086]然后,位改變電路18將在步驟105中的加密之后的哈希級(jí)聯(lián)的位串的第一加密位從“O”改變成“I”以生成加密的實(shí)際地址信息(步驟106)。
[0087]向訪客分區(qū)192發(fā)送回以上處理生成的加密的實(shí)際地址信息。隨后,在訪客分區(qū)192中的OS或者應(yīng)用接收加密的實(shí)際地址信息并且通過(guò)使用ICSWX指令等向加速器20發(fā)送加密的實(shí)際地址信息。下文將在以下描述ICSWX指令作為訪客分區(qū)192用于向加速器20發(fā)送加密的實(shí)際地址信息的指令的示例。
[0088][加速器20用于將加密的實(shí)際地址轉(zhuǎn)換成實(shí)際地址的處理]
[0089]圖6是示意地圖示在執(zhí)行以上處理時(shí)出現(xiàn)的情形的圖。
[0090]首先,在訪客分區(qū)192中的OS或者應(yīng)用通過(guò)使用ICSWX指令向加速器20發(fā)出執(zhí)行處理的請(qǐng)求。這時(shí),向加速器20傳遞在訪客分區(qū)中的LPARID作為ICSWX指令的變?cè)?。另夕卜,?zhí)行ICSWX指令,按照該ICSWX指令從訪客分區(qū)192向加速器20傳遞加密的實(shí)際地址信息(2A)。更具體而言,向加速器20傳遞加密的實(shí)際地址信息作為ICSWX指令的變?cè)蛘咴贗CSWX指令的變?cè)付ǖ拇鎯?chǔ)器地址存儲(chǔ)的數(shù)據(jù)。
[0091]換而言之,加速器20在發(fā)現(xiàn)ICSWX指令的變?cè)蛘咴诖鎯?chǔ)器30中的加密的實(shí)際地址信息時(shí)執(zhí)行以下描述的解密過(guò)程。
[0092]首先,加速器20通過(guò)根據(jù)AES或者其它標(biāo)準(zhǔn)解密由在加密的實(shí)際地址信息中的哈希、LPARID和有效地址組成的加密的位串來(lái)生成解密的位串(2B)。
[0093]隨后,加速器20通過(guò)將哈希函數(shù)、比如SHA-1應(yīng)用于由在解密的位串中的LPARID和有效地址組成的位串來(lái)生成哈希(2C)。[0094]由此,加速器20比較在解密的位串中的哈希與在2C中生成的哈希(2D)。如果哈希作為結(jié)果相互重合,則處理繼續(xù)下一步驟。否則,認(rèn)為錯(cuò)誤并且不執(zhí)行后續(xù)處理。
[0095]此外,雖然未圖示,但是在2D中比較在執(zhí)行ICSWX指令的訪客分區(qū)192中的LPARID與在解密的位串中的LPARID。如果前一個(gè)LPARID與后一個(gè)LPARID作為結(jié)果重合,則處理繼續(xù)下一步驟。否則,認(rèn)為錯(cuò)誤并且不執(zhí)行后續(xù)處理。
[0096]如果哈希和LPARID在2D中相互重合,則加速器20向解密的位串中的哈希填充零(2E)。
[0097]另外,加速器20將解密的位串中的加密位改變成零以生成實(shí)際地址信息(2F)。
[0098]然后,最終加速器20通過(guò)使用在2F中生成的實(shí)際地址信息來(lái)訪問(wèn)存儲(chǔ)器30(2G)。
[0099]以下描述執(zhí)行如圖6中所示處理的加速器20的功能配置。
[0100]圖7是圖示加速器20的功能配置示例的框圖。
[0101]如圖所示,加速器20包括指令解碼器21、操作數(shù)取回電路22、解密電路23、加密密鑰接收電路231、哈希電路24和比較器電路25。另外,加速器20包括填充電路26、位改變電路27和存儲(chǔ)器訪問(wèn)電路28。
[0102]指令解碼器21接收并且通過(guò)使用ICSWX指令來(lái)解碼從CPUlO發(fā)送的指令。發(fā)送的指令除了關(guān)于處理內(nèi)容的指引之外還包括在發(fā)送器的訪客分區(qū)中的LPARID。
[0103]操作數(shù)取回電路22取回指令解碼器21和解碼的指令的操作數(shù)和LPARID。操作數(shù)在許多情況下包括加密的實(shí)際地址信息。在這一實(shí)施例中,提供操作數(shù)取回電路22作為用于接收加密的信息的接收單元或者用于接收虛擬機(jī)的標(biāo)識(shí)符的接收單元的示例。
[0104]解密電路23通過(guò)解密在操作數(shù)取回電路22取回的加密的實(shí)際地址信息中的哈希、LPARID和有效地址組成的加密的部分來(lái)生成解密的位串。在這一實(shí)施例中,由哈希、LPARID和有效地址組成的加密的部分用作加密的信息的示例,并且解密的位串用作物理地址信息的示例。此外,提供解密電路23作為用于通過(guò)解密加密的信息來(lái)獲取物理地址信息的獲取單元的示例。
[0105]加密密鑰接收電路231從加密密鑰存儲(chǔ)區(qū)域50 (見圖1)接收用于在解密電路23執(zhí)行的解密中使用的加密密鑰。
[0106]哈希電路24生成由在解密電路23生成的解密的位串中的LPARID和有效地址組成的哈希。在這一示例中,作為包括物理地址的位串的示例,使用由在解密的位串中的LPARID和有效地址組成的部分。另外,作為生成位串的哈希的第二哈希生成單元的示例,提供哈希電路24。
[0107]比較器電路25比較在解密電路23生成的解密的位串中的哈希與哈希電路24生成的哈希并且比較在解密電路23生成的解密的位串中的LPARID與操作數(shù)取回電路22取回的LPARID。如果這些比較的結(jié)果示出哈希和LPARID均相互重合,則在下文描述的電路中執(zhí)行操作。在這一實(shí)施例中,提供比較器電路25作為比較哈希的比較單元或者比較標(biāo)識(shí)符的比較單元的示例和作為控制物理地址以便由訪問(wèn)單元使用的控制單元的示例。
[0108]填充電路26向由在解密電路23生成的解密的位串中的哈希組成的部分填充零。
[0109]位改變電路27通過(guò)改變?cè)谔畛潆娐?6填充的解密的位串中的加密位來(lái)生成實(shí)際地址信息。
[0110]存儲(chǔ)器訪問(wèn)電路28通過(guò)使用位改變電路27生成的實(shí)際地址信息來(lái)訪問(wèn)存儲(chǔ)器30。在這一實(shí)施例中,提供存儲(chǔ)器訪問(wèn)電路28作為通過(guò)使用物理地址來(lái)訪問(wèn)存儲(chǔ)器的訪問(wèn)單元的示例。
[0111]隨后將描述執(zhí)行如圖6中所示處理的加速器20的操作。
[0112]在加速器20中,指令解碼器21首先解碼指令。在這一實(shí)施例中,如果指令解碼器21解碼的指令的操作數(shù)包括加密的實(shí)際地址信息,則加速器20執(zhí)行下文描述的處理。
[0113]圖8是圖示加速器20在這一實(shí)例中的典型操作的流程圖。
[0114]如圖所示,在加速器20中,操作數(shù)取回電路22首先取回LPARID和加密的實(shí)際地址信息(步驟201)。這里在加密的實(shí)際地址信息中的加密位是“0”,可以在現(xiàn)有方法中進(jìn)行對(duì)存儲(chǔ)器30的訪問(wèn),因此省略其描述。下文對(duì)于其中在加密的實(shí)際地址信息中的加密位是“I”的情況進(jìn)行描述。
[0115]在這一情況下,解密電路23首先通過(guò)解密由在加密的實(shí)際地址信息中的哈希、LPARID和有效地址組成的加密的部分來(lái)生成解密的位串(步驟202)。更具體而言,解密電路23通過(guò)使用加密密鑰接收電路231從加密密鑰存儲(chǔ)區(qū)域50接收的加密密鑰根據(jù)AES或者其它標(biāo)準(zhǔn)執(zhí)行解密。然而注意可以通過(guò)使用與用于加密電路17執(zhí)行的加密的加密密鑰不同的加密密鑰對(duì)應(yīng)的解密密鑰來(lái)進(jìn)行解密。
[0116]隨后,哈希電路24生成由在步驟202中獲得的解密的位串中的LPARID和有效地址組成的哈希(摘要)(步驟203)。
[0117]由此,比較器電路25比較在步驟202中生成的解密的位串中的哈希與在步驟203中生成的哈希以確定這些哈希相互重合(步驟204)。
[0118]如果確定哈希作為結(jié)果未相互重合,則可以在訪客分區(qū)192中更改在實(shí)際地址信息中的LAPRID或者有效地址,因此處理中止。同時(shí),如果確定哈希相互重合,則比較器電路25比較在步驟201中接收的LPARID與在步驟202中生成的解密的位串中的LPARID以確定LPARID是否相互重合(步驟205)。
[0119]如果確定LPARID作為結(jié)果未相互重合,則可以重寫LPARID,因此中止處理。同時(shí),如果確定LPARID相互重合,則處理繼續(xù)填充電路26的步驟和后續(xù)步驟。
[0120]換而言之,填充電路26向在步驟202中生成的解密的位串中的哈希填充零(步驟206)。
[0121]另外,位改變電路27將在步驟206中的填充之后的解密的位串的第一加密位從“ I ”改變成“ O ”以生成實(shí)際地址信息(步驟207 )。
[0122]另外,存儲(chǔ)器訪問(wèn)電路28通過(guò)使用在步驟207中生成的實(shí)際地址信息的有效地址來(lái)訪問(wèn)存儲(chǔ)器30 (步驟208)。
[0123]如以上描述的那樣,在這一實(shí)施例中,CPUlO加密實(shí)際地址并且向訪客分區(qū)192通知加密的實(shí)際地址而不是直接發(fā)送實(shí)際地址。這使訪客分區(qū)192能夠直接對(duì)待實(shí)際地址、由此實(shí)現(xiàn)減少映射的開銷。
[0124]另外,在這一實(shí)施例中,采取用于防止使用無(wú)效加密的實(shí)際地址的措施。更具體而言,檢查在實(shí)際地址中的LPARID是否與在發(fā)送器的訪客分區(qū)192中的LPARID重合和實(shí)際地址是否與其摘要重合。由此,即使更改實(shí)際地址,接收器仍然可以檢測(cè)更改、由此防止訪客分區(qū)192向加速器20傳遞無(wú)效實(shí)際地址。
[0125]雖然在生成哈希時(shí)的處理對(duì)象在這一實(shí)施例中是由LPARID和有效地址組成的部分,但是處理對(duì)象可以僅為有效地址。換而言之,可以生成僅包括有效地址的哈希。
[0126]另外,雖然實(shí)際地址信息在這一實(shí)施例中包括LPARID和哈希,但是有可能運(yùn)用如下示例實(shí)施例,在該實(shí)施例中,實(shí)際地址信息未包括LPARID和哈希中的至少一項(xiàng)。
[0127]盡管已經(jīng)通過(guò)使用實(shí)施例來(lái)描述本發(fā)明,但是本發(fā)明的技術(shù)范圍不限于前述實(shí)施例的描述。本領(lǐng)域技術(shù)人員清楚的是可以運(yùn)用各種改變或者備選實(shí)施例而未脫離本發(fā)明的精神實(shí)質(zhì)和范圍。
[0128][標(biāo)號(hào)說(shuō)明]
[0129]10 CPU
[0130]11,21 指令解碼器
[0131]12 授權(quán)確定電路
[0132]13,22 操作數(shù)取回電路
[0133]14 地址轉(zhuǎn)換電路
[0134]141 地址轉(zhuǎn)換表
[0135]142 狀態(tài)寄存器
[0136]15,24 哈希電路
[0137]16 級(jí)聯(lián)電路
[0138]17 加密電路
[0139]171,231 加密密鑰接收電路
[0140]18,27 位改變電路
[0141]20 加速器
[0142]23 解密電路
[0143]25 比較器電路
[0144]26 填充電路
[0145]28 存儲(chǔ)器訪問(wèn)電路
[0146]30 存儲(chǔ)器
[0147]40 存儲(chǔ)器控制器
[0148]50 加密密鑰存儲(chǔ)區(qū)域
[0149]60 總線
【權(quán)利要求】
1.一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將由所述虛擬機(jī)用來(lái)訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成在所述存儲(chǔ)器中的物理地址的裝置,所述裝置包括: 接受單元,用于在由所述虛擬機(jī)執(zhí)行可由所述虛擬機(jī)執(zhí)行、并且用來(lái)將所述邏輯地址轉(zhuǎn)換成所述物理地址的指令時(shí),從所述虛擬機(jī)接受所述邏輯地址; 轉(zhuǎn)換單元,用于將由所述接受單元接受的所述邏輯地址轉(zhuǎn)換成先前與所述邏輯地址關(guān)聯(lián)的所述物理地址; 加密信息生成單元,用于通過(guò)加密物理地址信息來(lái)生成加密的信息,所述物理地址信息包括通過(guò)由所述轉(zhuǎn)換單元執(zhí)行的所述轉(zhuǎn)換而獲得的所述物理地址;以及 輸出單元,用于向所述虛擬機(jī)輸出由所述加密信息生成單元生成的所述加密的信息。
2.根據(jù)權(quán)利要求1所述的裝置,還包括: 哈希生成單元,用于生成用于位串的哈希,所述位串包括通過(guò)由所述轉(zhuǎn)換單元執(zhí)行的所述轉(zhuǎn)換而獲得的所述物理地址;以及 級(jí)聯(lián)單元,用于級(jí)聯(lián)由所述哈希生成單元生成的所述哈希與所述物理地址,從而在所述物理地址信息中包括所述哈希。
3.根據(jù)權(quán)利要求2所述的裝置, 其中所述級(jí)聯(lián)單元還級(jí)聯(lián)所述虛擬機(jī)的標(biāo)識(shí)符與所述物理地址,從而在所述物理地址信息中包括所述標(biāo)識(shí)符。
4.根據(jù)權(quán)利要求3所述的裝置,其中所述哈希生成單元生成用于還包括所述標(biāo)識(shí)符的所述位串的哈希。
5.一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將由所述虛擬機(jī)用來(lái)訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成在所述存儲(chǔ)器中的物理地址的裝置,所述裝置包括: 接受單元,用于在由所述虛擬機(jī)執(zhí)行可由所述虛擬機(jī)執(zhí)行、并且用來(lái)將所述邏輯地址轉(zhuǎn)換成所述物理地址的指令時(shí),從所述虛擬機(jī)接受所述邏輯地址; 轉(zhuǎn)換單元,用于將由所述接受單元接受的所述邏輯地址轉(zhuǎn)換成位串,所述位串包括所述虛擬機(jī)的標(biāo)識(shí)符和先前與所述邏輯地址關(guān)聯(lián)的所述物理地址; 哈希生成單元,用于生成用于通過(guò)所述轉(zhuǎn)換單元執(zhí)行的所述轉(zhuǎn)換而獲得的所述位串的哈希; 級(jí)聯(lián)單元,用于級(jí)聯(lián)通過(guò)由所述轉(zhuǎn)換單元執(zhí)行的所述轉(zhuǎn)換而獲得的所述位串與由所述哈希生成單元生成的所述哈希; 加密信息生成單元,用于通過(guò)加密通過(guò)由所述級(jí)聯(lián)單元執(zhí)行的所述級(jí)聯(lián)而獲得的物理地址信息來(lái)生成加密的信息;以及 輸出單元,用于向所述虛擬機(jī)輸出由所述加密信息生成單元生成的所述加密的信息。
6.一種系統(tǒng),包括: 中央處理單元,用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī);以及訪問(wèn)設(shè)備,用于通過(guò)使用存儲(chǔ)器中的與所述虛擬機(jī)用來(lái)訪問(wèn)所述存儲(chǔ)器而使用的邏輯地址對(duì)應(yīng)的物理地址來(lái)訪問(wèn)所述存儲(chǔ)器,其中: 所述中央處理單元包括: 接受單元,用于在由所述虛擬機(jī)執(zhí)行可由所述虛擬機(jī)執(zhí)行、并且用來(lái)將所述邏輯地址轉(zhuǎn)換成所述物理地址的指令時(shí),從所述虛擬機(jī)接受所述邏輯地址; 轉(zhuǎn)換單元,用于將由所述接受單元接受的所述邏輯地址轉(zhuǎn)換成先前與所述邏輯地址關(guān)聯(lián)的所述物理地址; 加密信息生成單元,用于通過(guò)加密物理地址信息來(lái)生成加密的信息,所述物理地址信息包括通過(guò)所述轉(zhuǎn)換單元執(zhí)行的所述轉(zhuǎn)換而獲得的所述物理地址;以及 輸出單元,用于向所述虛擬機(jī)輸出所述加密信息生成單元生成的所述加密的信息;并且 所述訪問(wèn)設(shè)備包括: 接收單元,用于從已經(jīng)接收到由所述輸出單元輸出的所述加密的信息的所述虛擬機(jī)接收所述加密的信息; 獲取單元,用于通過(guò)解密由所述接收單元接收的所述加密的信息來(lái)獲取所述物理地址/[目息;以及 訪問(wèn)單元,用于通過(guò)使用在由所述獲取單元獲取的所述物理地址信息中包括的所述物理地址來(lái)訪問(wèn)所述存儲(chǔ)器。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中: 所述CPU包括: 第一哈希生成單元,用于生成第一哈希,所述第一哈希是用于位串的哈希,所述位串包括通過(guò)由所述轉(zhuǎn)換單 元執(zhí)行的所述轉(zhuǎn)換而獲得的所述物理地址;以及 級(jí)聯(lián)單元,用于級(jí)聯(lián)所述第一哈希與所述物理地址,從而在所述物理地址信息中包括所述由第一哈希生成單元生成的所述第一哈希;并且所述接入設(shè)備包括: 第二哈希生成單元,用于生成第二哈希,所述第二哈希是用于位串的哈希,所述位串包括在由所述獲取單元獲取的所述物理地址信息中包括的所述物理地址; 比較單元,用于比較在由所述獲取單元獲取的所述物理地址信息中包括的所述第一哈希與由所述第二哈希生成單元生成的所述第二哈希;以及 控制單元,用于在由所述比較單元執(zhí)行的所述比較的結(jié)果示出所述第一哈希與所述第二哈希重合的情況下,控制在所述物理地址信息中包括的所述物理地址以由所述訪問(wèn)單元使用。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中: 所述級(jí)聯(lián)單元還級(jí)聯(lián)第一標(biāo)識(shí)符與所述物理地址,所述第一標(biāo)識(shí)符是所述虛擬機(jī)的標(biāo)識(shí)符,從而在所述物理地址信息中包括所述第一標(biāo)識(shí)符; 所述接收單元還從所述虛擬機(jī)接收第二標(biāo)識(shí)符,所述第二標(biāo)識(shí)符是所述虛擬機(jī)的標(biāo)識(shí)符; 所述比較單元還比較在所述物理地址信息中包括的所述第一標(biāo)識(shí)符與由所述接收單元接收的所述第二標(biāo)識(shí)符;并且 所述控制單元在由所述比較單元執(zhí)行的所述比較的結(jié)果示出所述第一標(biāo)識(shí)符與所述第二標(biāo)識(shí)符重合的情況下,控制在所述物理地址信息中包括的所述物理地址以由所述訪問(wèn)單元使用。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中: 所述第一哈希生成單元生成所述第一哈希,所述第一哈希是用于還包括所述第一標(biāo)識(shí)符的所述位串的所述哈希;并且所述第二哈希生成單元生成所述第二哈希,所述第二哈希是用于位串的哈希,所述位串包括在由所述獲取單元獲取的所述物理地址信息中包括的所述物理地址和所述第一標(biāo)識(shí)符。
10.根據(jù)權(quán)利要求6至9中的任一權(quán)利要求所述的系統(tǒng),還包括不能被除了所述CPU和所述訪問(wèn)設(shè)備之外的設(shè)備使用的存儲(chǔ)設(shè)備,其中: 所述加密信息生成單元通過(guò)使用在所述存儲(chǔ)設(shè)備中存儲(chǔ)的所述加密密鑰來(lái)加密所述物理地址信息;并且 所述獲取單元通過(guò)使用在所述存儲(chǔ)設(shè)備中存儲(chǔ)的所述加密密鑰或者與所述加密密鑰對(duì)應(yīng)的解密密鑰來(lái)解密所述加密的信息。
11.一種用于操作通過(guò)邏輯上劃分物理機(jī)而實(shí)現(xiàn)的虛擬機(jī)并且將所述虛擬機(jī)用來(lái)通過(guò)其訪問(wèn)存儲(chǔ)器的邏輯地址轉(zhuǎn)換成在所述存儲(chǔ)器中的物理地址的方法,所述方法包括步驟: 在由所述虛擬機(jī)執(zhí)行可由所述虛擬機(jī)執(zhí)行、并且用來(lái)將所述邏輯地址轉(zhuǎn)換成所述物理地址的指令時(shí),從所述虛擬機(jī)接受所述邏輯地址; 將在所述接受步驟中接受的所述邏輯地址轉(zhuǎn)換成先前與所述邏輯地址關(guān)聯(lián)的所述物理地址; 通過(guò)加密物理地址信息來(lái)生成加密的信息,所述物理地址信息包括通過(guò)在所述轉(zhuǎn)換步驟中執(zhí)行的所述轉(zhuǎn)換而獲得的所述物理地址;并且 向所述虛擬機(jī)輸出在生成加密的信息的所述`步驟中生成的所述加密的信息。
【文檔編號(hào)】G06F9/46GK103765395SQ201280040865
【公開日】2014年4月30日 申請(qǐng)日期:2012年7月27日 優(yōu)先權(quán)日:2011年8月29日
【發(fā)明者】田中宏幸, 三木雅紀(jì) 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司