一種訪問內(nèi)存的方法及設(shè)備的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種訪問內(nèi)存的方法及設(shè)備,涉及計(jì)算機(jī)領(lǐng)域,有效提高系統(tǒng)內(nèi)存的安全性。本發(fā)明實(shí)施例提供的方法包括:獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,數(shù)據(jù)訪問請(qǐng)求包含第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;根據(jù)第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,物理內(nèi)存地址信息包含與第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;若確定第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問第一內(nèi)存區(qū)域。
【專利說明】一種訪問內(nèi)存的方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種訪問內(nèi)存的方法及設(shè)備。
【背景技術(shù)】
[0002]在計(jì)算機(jī)系統(tǒng)的物理內(nèi)存中,既有用于存放計(jì)算機(jī)操作系統(tǒng)的系統(tǒng)內(nèi)存,也有用于存放計(jì)算機(jī)實(shí)現(xiàn)特定功能時(shí)存儲(chǔ)數(shù)據(jù)的專用功能性內(nèi)存,專用功能性內(nèi)存與系統(tǒng)內(nèi)存是無隔離的分布在物理內(nèi)存中的,例如,在中央處理器(Central Processing Unit,簡稱CPU)配合現(xiàn)場可編程門陣列(Field-Programmable Gate Array,簡稱FPGA)實(shí)現(xiàn)數(shù)據(jù)包的轉(zhuǎn)發(fā)系統(tǒng)中,從物理內(nèi)存中分配出一片內(nèi)存用來作為轉(zhuǎn)發(fā)內(nèi)存(專用功能性內(nèi)存),用來存儲(chǔ)消息隊(duì)列(Queue)、數(shù)據(jù)緩存(Buffer)、消息指針,轉(zhuǎn)發(fā)內(nèi)存及系統(tǒng)內(nèi)存無隔離的分布在物理內(nèi)存中,CPU和FPGA通過消息隊(duì)列實(shí)現(xiàn)數(shù)據(jù)緩存位置的交互,然后通過獲取的消息隊(duì)列內(nèi)容獲取對(duì)應(yīng)的數(shù)據(jù)。
[0003]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺陷:由于專用功能性內(nèi)存和系統(tǒng)內(nèi)存之間沒有任何的隔離和保護(hù),一旦訪問專用功能性內(nèi)存的地址發(fā)生錯(cuò)誤,就有可能踩到系統(tǒng)內(nèi)存,容易造成系統(tǒng)復(fù)位或者掛死引起事故;隨著計(jì)算機(jī)系統(tǒng)的應(yīng)用越來越廣泛,計(jì)算機(jī)所能實(shí)現(xiàn)的功能也將越來越多,對(duì)物理內(nèi)存的訪問量也會(huì)大幅提高,這樣則增大了系統(tǒng)內(nèi)存被誤踩的可能性,降低了系統(tǒng)內(nèi)存的安全性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種訪問內(nèi)存的方法及設(shè)備,有效提高系統(tǒng)內(nèi)存的安全性。
[0005]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0006]第一方面,提供一種訪問內(nèi)存的方法,包括,
[0007]獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;
[0008]根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢輸入/輸出I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;
[0009]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
[0010]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,在所述獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,所述方法還包括,
[0011]將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/O虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息;
[0012]將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
[0013]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述I/o虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息,包括:
[0014]根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息;
[0015]根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/O虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
[0016]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述方法還包括,
[0017]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
[0018]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述方法還包括,
[0019]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,記錄異常信息。
[0020]第二方面,提供一種訪問內(nèi)存的設(shè)備,包括,
[0021]獲取單元,用于獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;
[0022]查詢單元,用于根據(jù)所述獲取單元獲取的所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;
[0023]訪問單元,用于若查詢單元確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
[0024]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括,
[0025]映射單元,用于在所述獲取單元獲取所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/o虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息;
[0026]所述映射單元還用于,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
[0027]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述I/o虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述查詢單元具體用于,
[0028]根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息;
[0029]根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/O虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
[0030]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式或第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括,
[0031]丟棄單元,用于若所述查詢單元確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
[0032]結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述設(shè)備還包括,
[0033]記錄單元,用于若所述查詢單元確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,記錄異常信息。
[0034]第三方面,提供一種訪問內(nèi)存的設(shè)備,包括,
[0035]處理器,用于獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;
[0036]I/O虛擬化控制器設(shè)備,用于根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;
[0037]第一設(shè)備,用于若I/O虛擬化控制器設(shè)備確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
[0038]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述處理器具體用于,在所述獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/O虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息;
[0039]所述處理器具體還用于,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
[0040]結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述I/o虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述I/o虛擬化控制器設(shè)備還用于,
[0041 ] 根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息;
[0042]根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/O虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
[0043]結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式或第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述I/o虛擬化控制器設(shè)備還用于,
[0044]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
[0045]結(jié)合第三方面的第三種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述I/o虛擬化控制器設(shè)備還用于,
[0046]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,記錄異常信息。
[0047]第四方面,提供一種物理機(jī),包括,訪問內(nèi)存的設(shè)備以及物理內(nèi)存,其中,所述訪問內(nèi)存的設(shè)備包含第一設(shè)備以及I/o虛擬化控制器設(shè)備;
[0048]所述訪問內(nèi)存的設(shè)備用于,
[0049]獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;
[0050]根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;
[0051]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
[0052]結(jié)合第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述訪問內(nèi)存的設(shè)備還用于,在所述獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/o虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息;
[0053]所述訪問內(nèi)存的設(shè)備還用于,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
[0054]結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述I/o虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述訪問內(nèi)存的設(shè)備具體用于,
[0055]根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域的物理內(nèi)存地址信息;
[0056]根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/O虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
[0057]結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式或第四方面的第二種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中,所述訪問內(nèi)存的設(shè)備還用于,
[0058]若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
[0059]本發(fā)明實(shí)施例提供的一種訪問內(nèi)存的方法及設(shè)備,通過獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域;有效的提高了系統(tǒng)內(nèi)存的安全性。
【專利附圖】
【附圖說明】
[0060]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0061]圖1為本發(fā)明實(shí)施例提供的一種訪問內(nèi)存的方法的流程示意圖;
[0062]圖2A為本發(fā)明實(shí)施例提供的一種物理內(nèi)存的內(nèi)部結(jié)構(gòu)示意圖;
[0063]圖2B為本發(fā)明實(shí)施例提供的一種消息指針與消息隊(duì)列的場景示意圖;
[0064]圖3為本發(fā)明實(shí)施例提供的一種CPU配合FPGA數(shù)據(jù)包轉(zhuǎn)發(fā)系統(tǒng)的場景示意圖;
[0065]圖4為本發(fā)明實(shí)施例提供的另一種訪問內(nèi)存的方法的流程示意圖;
[0066]圖5為本發(fā)明實(shí)施例提供的再一種訪問內(nèi)存的方法的流程示意圖;
[0067]圖6為本發(fā)明實(shí)施例多個(gè)設(shè)備訪問內(nèi)存時(shí)的場景示意圖;
[0068]圖7為本發(fā)明實(shí)施例提供的又一種訪問內(nèi)存的方法的流程示意圖;
[0069]圖8為本發(fā)明實(shí)施例提供的一種訪問內(nèi)存的設(shè)備的裝置結(jié)構(gòu)示意圖;
[0070]圖9為本發(fā)明實(shí)施例提供的另一種訪問內(nèi)存的設(shè)備的裝置結(jié)構(gòu)示意圖;
[0071]圖10為本發(fā)明實(shí)施例提供的再一種訪問內(nèi)存的設(shè)備的裝置結(jié)構(gòu)示意圖;
[0072]圖1lA為本發(fā)明實(shí)施例提供的一種物理機(jī)的裝置結(jié)構(gòu)示意圖;
[0073]圖1lB為本發(fā)明實(shí)施例提供的另一種物理機(jī)的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0074]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0075]實(shí)施例一
[0076]本發(fā)明實(shí)施例一提供一種訪問內(nèi)存的方法,參見圖1,該方法可以包括:
[0077]101、獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域;
[0078]其中,第一設(shè)備為通過訪問計(jì)算機(jī)的物理內(nèi)存實(shí)現(xiàn)特定功能的設(shè)備,例如,在X86系統(tǒng)的CPU配合FPGA數(shù)據(jù)包轉(zhuǎn)發(fā)系統(tǒng)中,第一設(shè)備為FPGA ;或者,第一設(shè)備可以為虛擬化平臺(tái)中虛擬機(jī)的外設(shè);本發(fā)明對(duì)第一設(shè)備的類型不進(jìn)行具體限定;
[0079]第一內(nèi)存區(qū)域是在物理內(nèi)存中分配的第一設(shè)備實(shí)現(xiàn)對(duì)應(yīng)功能的專用物理內(nèi)存區(qū)域,例如,參見圖2A,第一內(nèi)存區(qū)域包含于物理內(nèi)存中,第一內(nèi)存區(qū)域至少包含有數(shù)據(jù)緩存、消息隊(duì)列及消息指針;
[0080]其中,數(shù)據(jù)緩存用于儲(chǔ)存第一設(shè)備實(shí)現(xiàn)對(duì)應(yīng)功能過程中訪問的數(shù)據(jù),該數(shù)據(jù)可以以數(shù)據(jù)包的形式存儲(chǔ)在數(shù)據(jù)緩存中;
[0081]消息隊(duì)列可以是循環(huán)隊(duì)列,消息隊(duì)列中包含以隊(duì)列形式排列的數(shù)據(jù)信息,每個(gè)數(shù)據(jù)信息分別用于存儲(chǔ)數(shù)據(jù)緩存中對(duì)應(yīng)的數(shù)據(jù)的相關(guān)信息,例如,可以包含數(shù)據(jù)在數(shù)據(jù)緩存中存放的位置的物理內(nèi)存地址和數(shù)據(jù)特征,例如,數(shù)據(jù)特征可以包含數(shù)據(jù)的類型、大小、長度等,對(duì)于數(shù)據(jù)信息中包含的數(shù)據(jù)特征的具體內(nèi)容,可以根據(jù)需要進(jìn)行設(shè)置,本發(fā)明不進(jìn)行具體限定;
[0082]消息隊(duì)列的深度是指消息隊(duì)列可以用來存儲(chǔ)數(shù)據(jù)信息的容量,每一個(gè)消息隊(duì)列可以是一個(gè)深度確定并且有限的循環(huán)隊(duì)列,且消息隊(duì)列的深度可以小于數(shù)據(jù)緩存的容量;
[0083]需要說明的是,當(dāng)消息隊(duì)列的深度小于數(shù)據(jù)緩存的容量時(shí),數(shù)據(jù)緩存中存儲(chǔ)的每個(gè)數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)信息可能一部分?jǐn)?shù)據(jù)信息存儲(chǔ)于消息隊(duì)列中,一部分?jǐn)?shù)據(jù)信息將等待消息隊(duì)列有空閑位置時(shí)再生成并存儲(chǔ);
[0084]消息指針用于指示消息隊(duì)列中數(shù)據(jù)信息的位置,消息指針分為頭指針和尾指針,例如,可以用頭指針來指示消息隊(duì)列中最后一個(gè)非空閑位置,可以用尾指針來指示消息隊(duì)列中第一個(gè)空閑位置,這樣,通過消息指針的指示,可以明確得出消息隊(duì)列中存放數(shù)據(jù)的位置和空閑的位置;當(dāng)?shù)谝辉O(shè)備從消息隊(duì)列中讀取數(shù)據(jù)信息時(shí),可以根據(jù)消息隊(duì)列的基準(zhǔn)地址加上消息指針頭指針指示的消息隊(duì)列位置獲取到數(shù)據(jù)信息存放的實(shí)際物理內(nèi)存地址;
[0085]當(dāng)需要往消息隊(duì)列中存入數(shù)據(jù)信息時(shí),首先根據(jù)消息指針判斷消息隊(duì)列是否已滿,若已滿,則等待空位置;若未滿,則將需要存放的數(shù)據(jù)信息存入消息指針的尾指針指示的第一個(gè)空閑位置,再更新消息指針將消息指針的尾指針+1,即保持讓消息指針的尾指針指示在消息隊(duì)列中第一個(gè)空閑位置;
[0086]其中,根據(jù)消息指針判斷消息隊(duì)列是否已滿,一般令消息隊(duì)列的第(消息隊(duì)列深度-1)個(gè)位置不存放數(shù)據(jù)信息為空,可以采用判斷消息指針的尾指針位置+1是否等于頭指針位置判斷,若等于,則判斷消息隊(duì)列已滿,若不等于,則判斷消息隊(duì)列未滿;當(dāng)然,由于消息隊(duì)列為循環(huán)隊(duì)列,當(dāng)尾指針指向(消息隊(duì)列深度-1)位置時(shí),再將尾指針+1回到位置0,故本發(fā)明所有實(shí)施例中的指針位置+1 —般定義為(指針位置+1)%消息隊(duì)列深度,其中%為取余運(yùn)算符號(hào);
[0087]需要說明的是,本發(fā)明只是以上述消息指針對(duì)消息隊(duì)列的指示方法以及判斷消息隊(duì)列是否已滿的方法為例來說明消息指針與消息隊(duì)列的位置的指示關(guān)系,當(dāng)然,消息指針對(duì)消息隊(duì)列的指示方法以及判斷消息隊(duì)列是否已滿的方法還可以采用其他方法,不會(huì)影響本發(fā)明的結(jié)果,本發(fā)明對(duì)此不進(jìn)行具體限定;
[0088]例如,在圖2B所示的深度為10的消息隊(duì)列,該消息隊(duì)列中位置O存放數(shù)據(jù)信息1、位置I存放數(shù)據(jù)信息2、位置2存放數(shù)據(jù)信息3,其余消息隊(duì)列位置均為空,那么此時(shí),參見圖2B,消息指針的頭指針指示在該消息隊(duì)列的位置0,尾指針指示在該消息隊(duì)列的位置3 ;當(dāng)在該消息隊(duì)列中存入數(shù)據(jù)信息4時(shí),首先判定消息隊(duì)列未滿,故將數(shù)據(jù)信息4存入尾指針指示的消息隊(duì)列位置3,并更新消息隊(duì)列的尾指針+1指示到消息隊(duì)列位置4;當(dāng)從該隊(duì)列讀取數(shù)據(jù)信息時(shí),讀取頭指針指示的消息隊(duì)列位置O存放的數(shù)據(jù)信息1,并將消息指針的頭指針更新+1指示到消息隊(duì)列位置I ;
[0089]例如,數(shù)據(jù)緩存中存儲(chǔ)有N個(gè)數(shù)據(jù)(以數(shù)據(jù)包的形式存儲(chǔ)),分別記為數(shù)據(jù)包1,數(shù)據(jù)包2、......數(shù)據(jù)包N;
[0090]貝IJ,對(duì)應(yīng)的可以有N個(gè)數(shù)據(jù)信息,分別記為數(shù)據(jù)信息1,數(shù)據(jù)信息2、……數(shù)據(jù)信息N,每個(gè)數(shù)據(jù)信息分別對(duì)應(yīng)一個(gè)數(shù)據(jù)包,每個(gè)數(shù)據(jù)信息可以包含與該數(shù)據(jù)信息對(duì)應(yīng)的數(shù)據(jù)包在數(shù)據(jù)緩存中存放的位置的物理內(nèi)存地址和數(shù)據(jù)特征;
[0091]假設(shè),消息隊(duì)列的深度為S且該消息隊(duì)列為空,該消息隊(duì)列的位置可以記為消息隊(duì)列位置O、消息隊(duì)列位置1、……消息隊(duì)列位置S-1,其中,S遠(yuǎn)遠(yuǎn)大于N,從消息隊(duì)列位置O開始存放數(shù)據(jù)信息,消息隊(duì)列中存儲(chǔ)有數(shù)據(jù)信息1,數(shù)據(jù)信息2、……數(shù)據(jù)信息N,對(duì)應(yīng)的消息指針中的頭指針指示消息隊(duì)列位置O,而尾指針指示消息隊(duì)列位置N ;
[0092]再假設(shè),消息隊(duì)列的深度為Y且該消息隊(duì)列為空,該消息隊(duì)列的位置可以記為消息隊(duì)列位置O、消息隊(duì)列位置1、……、消息隊(duì)列位置Y-1,其中,Y小于N,從消息隊(duì)列位置O開始存放數(shù)據(jù)信息,消息隊(duì)列中存儲(chǔ)有數(shù)據(jù)信息1,數(shù)據(jù)信息2、……數(shù)據(jù)信息Y-1,那么,數(shù)據(jù)信息Y、……數(shù)據(jù)信息N將等待消息隊(duì)列有空閑位置再生成并存儲(chǔ);對(duì)應(yīng)的消息指針中的頭指針指示消息隊(duì)列位置0,而尾指針指示消息隊(duì)列位置Y-1。
[0093]其中,數(shù)據(jù)訪問請(qǐng)求可以由第一設(shè)備生成,下面分別以第一設(shè)備讀取第一內(nèi)存區(qū)域中的數(shù)據(jù)包和第一設(shè)備向第一內(nèi)存區(qū)域存儲(chǔ)數(shù)據(jù)包為例說明數(shù)據(jù)訪問請(qǐng)求的生成過程;
[0094]1、第一設(shè)備讀取第一內(nèi)存區(qū)域中的數(shù)據(jù)包;
[0095]例如,第一設(shè)備實(shí)時(shí)獲取消息指針中數(shù)據(jù)信息的物理內(nèi)存地址,假設(shè)當(dāng)前第一設(shè)備獲取到數(shù)據(jù)信息2的物理內(nèi)存地址,第一設(shè)備生成訪問消息隊(duì)列的數(shù)據(jù)訪問請(qǐng)求,該數(shù)據(jù)訪問請(qǐng)求包含數(shù)據(jù)信息2的物理內(nèi)存地址;
[0096]假設(shè)第一設(shè)備根據(jù)數(shù)據(jù)信息2的物理內(nèi)存地址從消息隊(duì)列中獲取數(shù)據(jù)信息2,根據(jù)該數(shù)據(jù)信息2獲取數(shù)據(jù)包2的物理內(nèi)存地址,第一設(shè)備生成訪問數(shù)據(jù)緩存的數(shù)據(jù)訪問請(qǐng)求,該數(shù)據(jù)訪問請(qǐng)求包含數(shù)據(jù)包2的物理內(nèi)存地址。
[0097]2、第一設(shè)備向第一內(nèi)存區(qū)域存儲(chǔ)數(shù)據(jù)包。
[0098]例如,當(dāng)?shù)谝辉O(shè)備需要向第一內(nèi)存區(qū)域保存數(shù)據(jù)X時(shí),第一設(shè)備向第一內(nèi)存區(qū)域申請(qǐng)存儲(chǔ)數(shù)據(jù)包X所需要的數(shù)據(jù)緩存,獲取內(nèi)存分配給該數(shù)據(jù)包X在數(shù)據(jù)緩存中的物理內(nèi)存地址;
[0099]第一設(shè)備根據(jù)內(nèi)存分配給該數(shù)據(jù)包X在數(shù)據(jù)緩存中的物理內(nèi)存地址生成數(shù)據(jù)訪問請(qǐng)求,該數(shù)據(jù)訪問請(qǐng)求包含內(nèi)存分配給該數(shù)據(jù)包X在數(shù)據(jù)緩存中的物理內(nèi)存地址。
[0100]102、根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址;
[0101]進(jìn)一步的,在步驟101之前,所述方法還可以包括,
[0102]將第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至I/O虛擬化控制器設(shè)備中,形成物理內(nèi)存地址信息;
[0103]其中,第一內(nèi)存區(qū)域的物理內(nèi)存地址包含數(shù)據(jù)緩存、消息隊(duì)列及消息指針的物理內(nèi)存地址。
[0104]將第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
[0105]其中,物理內(nèi)存地址信息是通過將第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至I/O虛擬化控制器設(shè)備中形成的,物理內(nèi)存地址信息在I/o虛擬化控制器設(shè)備中的可以按照表格形式存在,參見表1,也可以按照其他形式存在,物理內(nèi)存地址信息的形式不影響本發(fā)明的結(jié)果,本發(fā)明對(duì)此不進(jìn)行限制;
[0106]表1
[0107]
【權(quán)利要求】
1.一種訪問內(nèi)存的方法,其特征在于,包括, 獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域; 根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢輸入/輸出I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址; 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
2.根據(jù)權(quán)利要求1所述的訪問內(nèi)存的方法,其特征在于,在所述獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,所述方法還包括, 將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/O虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息; 將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
3.根據(jù)權(quán)利要求1或2所述的訪問內(nèi)存的方法,其特征在于,所述I/O虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息,包括, 根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域的物理內(nèi)存地址信息; 根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的訪問內(nèi)存的方法,其特征在于,所述方法還包括, 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
5.根據(jù)權(quán)利要求4所述的訪問內(nèi)存的方法,其特征在于,所述方法還包括, 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,記錄異常信息。
6.—種訪問內(nèi)存的設(shè)備,其特征在于,包括: 獲取單元,用于獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域; 查詢單元,用于根據(jù)所述獲取單元獲取的所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址; 訪問單元,用于若查詢單元確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
7.根據(jù)權(quán)利要求6所述的訪問內(nèi)存的設(shè)備,其特征在于,所述設(shè)備還包括, 映射單元,用于在所述獲取單元獲取所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/o虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息; 所述映射單元還用于,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
8.根據(jù)權(quán)利要求6或7所述的訪問內(nèi)存的設(shè)備,其特征在于,所述I/O虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述查詢單元具體用于, 根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息; 根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
9.根據(jù)權(quán)利要求6-8任一項(xiàng)所述的訪問內(nèi)存的設(shè)備,其特征在于,所述設(shè)備還包括, 丟棄單元,用于若所述查詢單元確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
10.根據(jù)權(quán)利要求9所述的訪問內(nèi)存的設(shè)備,其特征在于,所述設(shè)備還包括, 記錄單元,用于若所述查詢單元確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,記錄異常信息。
11.一種訪問內(nèi)存的設(shè)備,其特征在于,包括 處理器,用于獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域; I/o虛擬化控制器設(shè)備,用于根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址; 第一設(shè)備,用于若I/o虛擬化控制器設(shè)備確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
12.根據(jù)權(quán)利要求11所述的訪問內(nèi)存的設(shè)備,其特征在于,所述處理器具體用于,在所述獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/O虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息; 所述處理器具體還用于,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
13.根據(jù)權(quán)利要求11或12所述的訪問內(nèi)存的設(shè)備,其特征在于,所述I/O虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述I/O虛擬化控制器設(shè)備還用于, 根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息; 根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
14.根據(jù)權(quán)利要求11-13任一項(xiàng)所述的訪問內(nèi)存的設(shè)備,其特征在于,所述I/O虛擬化控制器設(shè)備還用于, 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
15.根據(jù)權(quán)利要求14所述的訪問內(nèi)存的設(shè)備,其特征在于,所述I/O虛擬化控制器設(shè)備還用于, 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/O虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,記錄異常信息。
16.一種物理機(jī),其特征在于,包括,訪問內(nèi)存的設(shè)備以及物理內(nèi)存,其中,所述訪問內(nèi)存的設(shè)備包含第一設(shè)備以及I/O虛擬化控制器設(shè)備; 所述訪問內(nèi)存的設(shè)備用于, 獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求,其中,所述數(shù)據(jù)訪問請(qǐng)求包含所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址;所述第一內(nèi)存區(qū)域?yàn)榈谝辉O(shè)備對(duì)應(yīng)的專用物理內(nèi)存區(qū)域; 根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息;其中,所述物理內(nèi)存地址信息包含與所述第一內(nèi)存區(qū)域的物理內(nèi)存地址對(duì)應(yīng)的物理內(nèi)存地址; 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,則訪問所述第一內(nèi)存區(qū)域。
17.根據(jù)權(quán)利要求16所述的物理機(jī),其特征在于,所述訪問內(nèi)存的設(shè)備還用于,在所述獲取第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求之前,將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述I/O虛擬化控制器設(shè)備中,形成所述物理內(nèi)存地址信息; 將所述第一內(nèi)存區(qū)域的物理內(nèi)存地址映射至所述第一設(shè)備中。
18.根據(jù)權(quán)利要求16或17所述的物理機(jī),其特征在于,所述I/O虛擬化控制器設(shè)備中包含由至少一個(gè)物理內(nèi)存地址信息組成的物理內(nèi)存地址信息庫,其中,每一個(gè)物理內(nèi)存地址信息分別對(duì)應(yīng)一個(gè)不同的內(nèi)存區(qū)域;相應(yīng)的,所述訪問內(nèi)存的設(shè)備具體用于, 根據(jù)所述第一設(shè)備請(qǐng)求訪問第一內(nèi)存區(qū)域的數(shù)據(jù)訪問請(qǐng)求查詢物理內(nèi)存地址信息庫,獲取所述第一設(shè)備對(duì)應(yīng)的內(nèi)存區(qū)域的物理內(nèi)存地址信息; 根據(jù)所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址查詢所述I/o虛擬化控制器設(shè)備中的所述第一內(nèi)存區(qū)域?qū)?yīng)的物理內(nèi)存地址信息。
19.根據(jù)權(quán)利要求16-18任一項(xiàng)所述的物理機(jī),其特征在于,所述訪問內(nèi)存的設(shè)備還用于, 若確定所述第一設(shè)備請(qǐng)求訪問的數(shù)據(jù)的物理內(nèi)存地址不在所述I/o虛擬化控制器設(shè)備中的物理內(nèi)存地址信息中,將所述數(shù)據(jù)訪問請(qǐng)求丟棄。
【文檔編號(hào)】G06F13/16GK104169891SQ201380004536
【公開日】2014年11月26日 申請(qǐng)日期:2013年10月29日 優(yōu)先權(quán)日:2013年10月29日
【發(fā)明者】姚傳群, 王俊杰, 彭偉林 申請(qǐng)人:華為技術(shù)有限公司