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