專利名稱:內(nèi)存檢測(cè)系統(tǒng)及其檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種用于檢測(cè)內(nèi)存本體的內(nèi)存檢測(cè)系統(tǒng)及其檢測(cè)方法。
背景技術(shù):
現(xiàn)有技術(shù)中,電子產(chǎn)品出廠前均需對(duì)硬件設(shè)備進(jìn)行檢測(cè),避免不良產(chǎn)品流入市場(chǎng), 影響電子產(chǎn)品質(zhì)量。對(duì)內(nèi)存進(jìn)行檢測(cè)時(shí),其通過(guò)在用戶模式下運(yùn)行內(nèi)存診斷程序?qū)?nèi)存進(jìn)行檢測(cè)。當(dāng)檢測(cè)到內(nèi)存出錯(cuò)時(shí),其可獲得內(nèi)存出錯(cuò)的位置,由于程序的運(yùn)行均采用虛擬地址,所以獲得內(nèi)存出錯(cuò)位置也為虛擬地址。由于虛擬地址為系統(tǒng)隨機(jī)分配的,研究人員不能根據(jù)虛擬地址定位出內(nèi)存出錯(cuò)的具體位置,不能針對(duì)獲得的虛擬地址對(duì)出現(xiàn)這種錯(cuò)誤的原因進(jìn)行分析。
發(fā)明內(nèi)容
有鑒于此,有必要提供一種可定位物理地址的內(nèi)存檢測(cè)系統(tǒng)。另外,必要提供一種可定位物理地址的內(nèi)存檢測(cè)方法。一種內(nèi)存檢測(cè)系統(tǒng),其包括用于執(zhí)行指令的用戶層模塊。用戶層模塊包括判斷單元和獲取單元。判斷單元用于判斷內(nèi)存是否合格,若內(nèi)存不合格,則輸出獲取信號(hào)。獲取單元用于接收獲取信號(hào)獲取內(nèi)存中不合格位置的虛擬地址。內(nèi)存檢測(cè)系統(tǒng)還包括通信模塊和內(nèi)核層模塊。內(nèi)核層模塊包括處理單元。獲取單元還用于發(fā)送獲取地虛擬地址給通信模塊。 通信模塊將虛擬地址發(fā)送給處理模塊。處理單元用于將接收到的虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。一種內(nèi)存檢測(cè)方法,該方法用于定位虛擬地址對(duì)應(yīng)的物理地址,該內(nèi)存檢測(cè)方法包括如下步驟判斷內(nèi)存是否合格,若內(nèi)存不合格,獲取內(nèi)存中不合格位置的虛擬地址;將虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。通過(guò)使用上述內(nèi)存檢測(cè)系統(tǒng)及內(nèi)存檢測(cè)方法,可根據(jù)出錯(cuò)位置的虛擬地址定位內(nèi)存出錯(cuò)的物理地址,使得研究人員可根據(jù)物理地址對(duì)內(nèi)存進(jìn)行分析。
圖1為一較佳實(shí)施方式的內(nèi)存檢測(cè)系統(tǒng)的模塊圖。
圖2為一較佳實(shí)施方式的內(nèi)存檢測(cè)方法的流程圖。
主要元件符號(hào)說(shuō)明
內(nèi)存檢測(cè)系統(tǒng)100
用戶層模塊10
通信模塊20
內(nèi)核層模塊30
判斷單元101
獲取單元103
顯示單元105
檢測(cè)單元301
處理單元302
內(nèi)存檢測(cè)方法步驟S40具體實(shí)施例方式請(qǐng)參看圖1,其為一種內(nèi)存檢測(cè)系統(tǒng)100的模塊圖。該內(nèi)存檢測(cè)系統(tǒng)100可以檢測(cè)內(nèi)存并對(duì)不良內(nèi)存的物理地址進(jìn)行定位。其中,內(nèi)存檢測(cè)系統(tǒng)100包括用戶層模塊10、通信模塊20和內(nèi)核層模塊30。用戶層模塊10不可運(yùn)行CPU特權(quán)指令,且對(duì)系統(tǒng)數(shù)據(jù)、內(nèi)存地址及硬件資源的訪問(wèn)具有一定限制。內(nèi)核層允許執(zhí)行任何CPU指令,并可無(wú)限制地訪問(wèn)系統(tǒng)數(shù)據(jù)、地址和硬件資源。內(nèi)存檢測(cè)系統(tǒng)100若需要運(yùn)行CPU特權(quán)指令或訪問(wèn)被限制的內(nèi)存地址及硬件資源時(shí),用戶層模塊10通過(guò)通信模塊20發(fā)送請(qǐng)求和數(shù)據(jù)到內(nèi)核層模塊30,內(nèi)核層模塊30接收該請(qǐng)求和數(shù)據(jù)運(yùn)行CPU特權(quán)指令或訪問(wèn)被限制的內(nèi)存地址及硬件資源。用戶層模塊10包括判斷單元101、獲取單元103及顯示單元105。判斷單元101用于判斷內(nèi)存是否合格。若內(nèi)存合格時(shí),則輸出通過(guò)信號(hào);若內(nèi)存不合格,則輸出獲取信號(hào)。顯示單元105用于接收通過(guò)信號(hào)并顯示合格信息。在本實(shí)施方式中,該合格信息可以為文字信息、圖像信息、聲音信息或者文字信息、圖像信息與聲音信息的組合。獲取單元103用于接收獲取信號(hào)獲取內(nèi)存不合格位置的虛擬地址,將該虛擬地址發(fā)送給通信模塊20。在本實(shí)施方式中,該獲取單元103通過(guò)調(diào)用程序開發(fā)接口發(fā)送I/O請(qǐng)求包(I/O Request package, IPR)給通信模塊20,該I/O請(qǐng)求包包括I/O控制碼、用戶請(qǐng)求及虛擬地址。通信模塊20用于將有效的虛擬地址發(fā)送給內(nèi)核層模塊30。在本實(shí)施方式中,該通信模塊20為應(yīng)用程序接口。內(nèi)核層模塊30包括檢測(cè)單元301和處理單元302。檢測(cè)單元301用于檢測(cè)接收到的虛擬地址是否有效,并將有效的虛擬地址發(fā)送給處理單元302。處理單元302用于將有效的虛擬地址轉(zhuǎn)換為物理地址,并將物理地址發(fā)送給通信模塊20。在本實(shí)施方式中,該處理單元302首先將虛擬地址的前十位進(jìn)行偏移得到頁(yè)目錄(PDE,Page Directory Entry),然后將中間十位進(jìn)行偏移得到頁(yè)表項(xiàng)(PTE,Page Table Entry),將頁(yè)表項(xiàng)的高二十位與虛擬地址的后十二位相加得到虛擬地址對(duì)應(yīng)的物理地址。通信模塊20還用于將接收到的物理地址發(fā)送給用戶層模塊10。顯示單元105還用于接收通信模塊20發(fā)送的物理地址并顯示。請(qǐng)參看圖2,其為內(nèi)存檢測(cè)方法的流程圖,該方法應(yīng)用于內(nèi)存診斷程序中,主要用于根據(jù)不符合要求的虛擬地址定位對(duì)應(yīng)的物理地址。該內(nèi)存檢測(cè)方法包括如下步驟步驟S401,在用戶層下的判斷內(nèi)存是否合格。若內(nèi)存不合格,則輸出獲取信號(hào)并進(jìn)入步驟S402 ;若內(nèi)存合格,則產(chǎn)生合格信息進(jìn)入步驟S407。
步驟S402,在用戶層下獲取內(nèi)存中不合格位置的虛擬地址。步驟S403,將獲取的虛擬地址通過(guò)應(yīng)用程序接口發(fā)送給內(nèi)核層。在本實(shí)施方式中, 通過(guò)調(diào)用程序開發(fā)接口發(fā)送I/O請(qǐng)求包(I/O Requestpackage, IPR)給內(nèi)核層,該I/O請(qǐng)求包包括I/O控制碼、用戶請(qǐng)求及虛擬地址。步驟S404,在內(nèi)核層下檢測(cè)虛擬地址是否有效。若該虛擬地址有效,則進(jìn)入步驟 S405 ;若該虛擬地址無(wú)效,則返回步驟S402。步驟S405,在內(nèi)核層下轉(zhuǎn)換虛擬地址為對(duì)應(yīng)的物理地址。步驟S406,內(nèi)核層通過(guò)應(yīng)用程序接口發(fā)送物理地址給用戶層并顯示。步驟S407,在用戶層下顯示合格信息。在本實(shí)施方式中,該合格信息可以為文字信息、圖像信息、聲音信息或者文字信息、圖像信息與聲音信息的組合。本技術(shù)領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,以上的實(shí)施方式僅是用來(lái)說(shuō)明本發(fā)明, 而并非用作為對(duì)本發(fā)明的限定,只要在本發(fā)明的實(shí)質(zhì)精神范圍之內(nèi),對(duì)以上實(shí)施例所作的適當(dāng)改變和變化都落在本發(fā)明要求保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種內(nèi)存檢測(cè)系統(tǒng),其包括用于執(zhí)行指令的用戶層模塊,該用戶層模塊包括判斷單元和獲取單元;該判斷單元用于判斷內(nèi)存是否合格,若內(nèi)存不合格,則輸出獲取信號(hào);該獲取單元用于接收獲取信號(hào)獲取內(nèi)存中不合格位置的虛擬地址,其特征在于該內(nèi)存檢測(cè)系統(tǒng)還包括通信模塊和內(nèi)核層模塊,該內(nèi)核層模塊包括處理單元,該獲取單元還用于發(fā)送獲取地虛擬地址給該通信模塊,該通信模塊將虛擬地址發(fā)送給該處理模塊,該處理單元用于將接收到的虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。
2.如權(quán)利要求1所述的內(nèi)存檢測(cè)系統(tǒng),其特征在于該內(nèi)核層模塊還包括檢測(cè)單元,該檢測(cè)單元用于檢測(cè)該虛擬地址是否有效,若該虛擬地址有效,則該檢測(cè)單元發(fā)送該有效虛擬地址給該處理單元。
3.如權(quán)利要求2所述的內(nèi)存檢測(cè)系統(tǒng),其特征在于該用戶層模塊還包括顯示單元,該處理單元還用于將轉(zhuǎn)換的物理地址發(fā)送該通信模塊,該通信模塊將物理地址發(fā)送給該顯示單元,該顯示單元用于接收該物理地址并顯示。
4.如權(quán)利要求1所述的內(nèi)存檢測(cè)系統(tǒng),其特征在于該通信模塊為應(yīng)用程序接口。
5.如權(quán)利要求1所述的內(nèi)存檢測(cè)系統(tǒng),其特征在于若該內(nèi)存良好,則該判斷單元輸出通過(guò)信號(hào),該顯示單元接收通過(guò)信號(hào)并顯示合格信息。
6.如權(quán)利要求5所述的內(nèi)存檢測(cè)系統(tǒng),其特征在于該合格信息可以為文字信息、圖像信息、聲音信息或者文字信息、圖像信息與聲音信息的組合。
7.一種內(nèi)存檢測(cè)方法,該方法用于定位虛擬地址對(duì)應(yīng)的物理地址,該內(nèi)存檢測(cè)方法包括如下步驟判斷內(nèi)存是否合格,若內(nèi)存不合格,獲取內(nèi)存中不合格位置的虛擬地址;將虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。
8.如權(quán)利要求7所述的內(nèi)存檢測(cè)方法,其特征在于在將虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址之前包括將虛擬地址通過(guò)應(yīng)用程序接口發(fā)送給內(nèi)核層;在內(nèi)核層判斷該虛擬地址是否有效,若虛擬地址有效,將虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。
9.如權(quán)利要求7所述的內(nèi)存檢測(cè)方法,其特征在于在將虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址之后還包括通過(guò)應(yīng)用程序接口發(fā)送物理地址給用戶層并顯示。
10.如權(quán)利要求7所述的內(nèi)存檢測(cè)方法,其特征在于若內(nèi)存良好,則顯示合格信息。
全文摘要
一種內(nèi)存檢測(cè)系統(tǒng)其包括用于執(zhí)行指令的用戶層模塊。用戶層模塊包括判斷單元和獲取單元。判斷單元用于判斷內(nèi)存是否合格,若內(nèi)存不合格,則輸出獲取信號(hào)。獲取單元用于接收獲取信號(hào)獲取內(nèi)存中不合格位置的虛擬地址。內(nèi)存檢測(cè)系統(tǒng)還包括通信模塊和內(nèi)核層模塊。內(nèi)核層模塊包括處理單元。獲取單元還用于發(fā)送獲取地虛擬地址給通信模塊。通信模塊將虛擬地址發(fā)送給處理模塊。處理單元用于將接收到的虛擬地址轉(zhuǎn)換為對(duì)應(yīng)的物理地址。本發(fā)明還提供了一種內(nèi)存檢測(cè)方法。
文檔編號(hào)G06F11/22GK102402472SQ20101028508
公開日2012年4月4日 申請(qǐng)日期2010年9月17日 優(yōu)先權(quán)日2010年9月17日
發(fā)明者郭明睿, 馬坤 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司