TWI620191B - 依記憶體模組之物理位址範圍測試記憶體之系統及方法 - Google Patents
依記憶體模組之物理位址範圍測試記憶體之系統及方法 Download PDFInfo
- Publication number
- TWI620191B TWI620191B TW105141287A TW105141287A TWI620191B TW I620191 B TWI620191 B TW I620191B TW 105141287 A TW105141287 A TW 105141287A TW 105141287 A TW105141287 A TW 105141287A TW I620191 B TWI620191 B TW I620191B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- module
- physical address
- address range
- testing
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種依記憶體模組之物理位址範圍測試記憶體之系統及方法,其透過獲取特定記憶體模組的物理位址範圍後,依據所取得的物理位址範圍配置記憶體空間,並對所配置的記憶體空間進行測試以測試特定記憶體模組之技術手段,可以有效的篩選出有問題的記憶體模組及確認有問題的記憶體範圍,並達成減少記憶體測試時間的技術功效。
Description
一種記憶體測試系統及方法,特別係指一種依記憶體模組之物理位址範圍測試記憶體之系統及其方法。
不論是簡單的可擕式電腦或是複雜的多處理器伺服器,就目前的記憶體測試技術而言,關鍵點在兩個方面,第一個方面是測試演算法,第二個方面是對待測記憶體的精確篩選以及對問題區段的精確定位。
其中,目前對記憶體檢測的演算法目前已經完全標準化、公開化、透明化,所以任何廠商都可以實現所有的測試內容;因此,如何精確篩選出有問題的待測記憶體以及如何精確定位出問題區段的技術才是目前記憶體檢測的核心,不同的廠商之間差別較大。
然而,目前所有廠商對記憶體的檢測僅僅是依靠作業系統隨機分配記憶體的機制來進行測試,因此,可能發生待測記憶體有錯誤,但在測試時沒有分配到會發生錯誤的記憶體範圍而沒有檢測出記憶體有問題,又或是即使檢測出記憶體有問題也無法給出明確的錯誤位置。這樣的測試方式導致無法確認記憶體的測試覆蓋率與測試效率,進而導致測試過程沒有參考意義且測試結果充滿不可靠性。
綜上所述,可知先前技術中長期以來一直存在沒有待測記憶體之有效錯誤篩選機制及錯誤區段定位機制的問題,因此有必要提出改進的技術手段,來解決此一問題。
有鑒於先前技術存在沒有待測記憶體之有效錯誤篩選機制及錯誤區段定位機制的問題,本發明遂揭露一種依記憶體模組之物理位址範圍測試記憶體之系統及方法,其中:
本發明所揭露之依記憶體模組之物理位址範圍測試記憶體之系統,應用於電腦,電腦中安裝記憶體模組,該系統至少包含:位址獲取模組,用以獲取記憶體模組之物理位址範圍;空間配置模組,用以依據物理位址範圍於記憶體模組所提供的儲存空間中配置記憶體空間;測試模組,用以測試記憶體空間。
本發明所揭露之依記憶體模組之物理位址範圍測試記憶體之方法,應用於電腦,電腦中安裝記憶體模組,其步驟至少包括:獲取記憶體模組之物理位址範圍;依據物理位址範圍於記憶體模組所提供的儲存空間中配置記憶體空間;測試記憶體空間。
本發明所揭露之系統與方法如上,與先前技術之間的差異在於本發明透過獲取特定記憶體模組的物理位址範圍後,依據所取得的物理位址範圍配置記憶體空間,並對所配置的記憶體空間進行測試以測試特定記憶體模組,藉以解決先前技術所存在的問題,並可以達成減少記憶體測試時間的技術功效。
以下將配合圖式及實施例來詳細說明本發明之特徵與實施方式,內容足以使任何熟習相關技藝者能夠輕易地充分理解本發明解決技術問題所應用的技術手段並據以實施,藉此實現本發明可達成的功效。
本發明可以獲取特定記憶體模組(Dual In-line Memory Module, DIMM)之物理位址(physical address)範圍,並依據所取得的物理位址範圍配置記憶體空間,使得被配置的記憶體空間與特定記憶體模組的物理位址範圍完全相符,藉以由測試所配置的記憶體空間來完成特定記憶體模組的測試。
以下先以「第1圖」本發明所提之依記憶體模組之物理位址範圍測試記憶體之系統架構圖來說明本發明的系統運作。如「第1圖」所示,本發明之系統含有位址獲取模組110、空間配置模組120、測試模組130、以及可附加的互動模組140。
位址獲取模組110負責獲取與安裝於電腦100內之主機板(圖中未示)上的插槽(slot)連接之各個記憶體模組101的物理位址範圍。一般而言,位址獲取模組110可以根據插槽識別碼(Socket ID)、記憶體控制器識別碼(MC ID)、記憶體通道識別碼(Channel ID)、記憶體模組識別碼(DIMM ID)、記憶晶片區塊識別碼(Rank ID)判斷出安裝於電腦100內之各個記憶體模組101的物理位址範圍,也就是各個記憶體模組101的起始物理位址與結束物理位址。在部分的實施例中,位址獲取模組110可以先由插槽識別碼、記憶體控制器識別碼、記憶體通道識別碼、記憶體模組識別碼、以及記憶晶片區塊識別碼判斷記憶晶片區塊位址(Rank Address),並由記憶晶片區塊位址、記憶體通道識別碼、記憶體模組識別碼、以及記憶晶片區塊識別碼判斷記憶體通道位址(Channel Address),再由記憶體通道位址、插槽識別碼、記憶體控制器識別碼、以及記憶體通道識別碼判斷物理位址。但位址獲取模組110獲取記憶體模組101之物理位址範圍的方式並不以上述為限。
空間配置模組120負責依據位址獲取模組110所獲取的物理位址範圍於安裝於電腦100內之記憶體模組101所產生的記憶體中配置記憶體空間。如此,空間配置模組120所配置的記憶體空間便會符合位址獲取模組110所獲取的物理位址範圍,也就是空間配置模組120所配置的記憶體空間會對應到擁有位址獲取模組110所獲取之物理位址範圍的記憶體模組101。
一般而言,空間配置模組120包含於核心程式(kernel)中,可以走訪(traversal)電腦100之記憶體管理系統103所使用的記憶體管理結構,藉以搜尋符合位址獲取模組110所獲取之物理位址範圍的一個或多個分頁(page), 並將所搜尋到之分頁的識別資料由電腦100之記憶體管理系統103所管理的可用記憶體(available memory)連結串列中移除。如此,符合位址獲取模組110所獲取之物理位址範圍將不再是可被配置與寫入的記憶體空間,而是僅有記錄位址獲取模組110所獲取之物理位址範圍的本發明之系統可以存取。
測試模組130負責測試空間配置模組120所配置的記憶體空間,通常也就是對位址獲取模組110所獲取之物理位址範圍進行讀取與寫入的操作,如此即可以對擁有位址獲取模組110所獲取之物理位址範圍的記憶體模組101進行讀寫的測試。
測試模組130可以將對位址獲取模組110所獲取之物理位址範圍(也就是空間配置模組120所配置的記憶體空間)分割為數個記憶體區段,測試模組130所分割出之記憶體區段的數量小於或等於電腦100內之所有中央處理器的處理核心(core)總數(例如,電腦100內有兩個中央處理器,且每一個中央處理器分別有八個處理核心,則測試模組130可以分割出十六個記憶體區段或少於十六個記憶體區段),且各個被分割出之記憶體區段的大小通常相同或相近。測試模組130也可以分別為多個處理核心配置測試執行序(thread),每一個測試執行序對應一個測試模組130所分割出的記憶體區段,且每一個測試執行序所對應的記憶體區段不同,所有的測試執行序可以對應到全部的記憶體區段。其中,配置有測試執行序之處理核心的數量通常與測試模組130所分割出之記憶體區段的數量相同,在配置有測試執行序的處理核心執行測試執行序時,測試執行序所對應之記憶體區段代表的物理位置範圍(記憶體空間)將會被測試。由於電腦100內之所有的處理核心可以同時運作,因此,當所有配置有測試執行序的處理核心同時執行測試執行序時,位址獲取模組110所獲取之物理位址範圍(也就是空間配置模組120所配置的所有記憶體空間)便可以在一個處理核心執行一次測試執行序的時間上完成,也就是說,本發明測試特定記憶體所需的時間可以只是一個測試執行緒測試特定記憶體之部分記憶體區段的時間,數倍快於傳統對一整個記憶體測試所需的時間。
在部分的實施例中,測試模組130也可以在完成測試後產生相對應的測試報告,藉以明確的指出特定插槽上的特定記憶體模組的狀況,例如某個插槽上的某個記憶體模組有錯誤等。
互動模組140可以提供選擇進行測試之記憶體模組101。一般而言,互動模組140包含顯示單元(圖中未示)與輸入單元(圖中未示),其中,顯示單元可以顯示文字描述或圖形使得使用者了解電腦100上有多少插槽與多少記憶體模組、以及插槽與記憶體模組的連接關係等,方便使用者使用輸入單元選擇預測式的記憶體模組101,但本發明並不以此為限。
接著以一個實施例來解說本發明的運作系統與方法,並請參照「第2圖」本發明所提之依記憶體模組之物理位址範圍測試記憶體之方法流程圖。
首先,在電腦100啟動後,核心程式可以載入記憶體模組的驅動程式。
之後,位址獲取模組110可以獲取特定記憶體模組的物理位址範圍(步驟220)。在本實施例中,若電腦100上安裝有兩條記憶體模組,每條記憶體模組可提供2GB的儲存空間,假設位址獲取模組110獲取第二條記憶體模組的物理位址範圍。
在位址獲取模組110獲取記憶體模組的物理位址範圍(步驟220)後,空間配置模組120可以依據位址獲取模組110所獲取的物理位址範圍在所有記憶體模組所提供的儲存空間中配置記憶體空間(步驟230)。在本實施例中,假設電腦100的作業系統為Linux, Linux的記憶體管理系統使用五個階層的記憶體管理結構,由最上層至最底層分別為node、zone、migrationType、order、page,其中,所有記憶體模組所提供的儲存空間被格式化成多個進行管理,每一個分頁根據相對應的真實記憶體的物理位置以及相鄰分頁的邏輯連結狀況被歸入相對應之zone中的migrationType的order連結串列中,而每一個zone又被劃歸入更高層次的node進行管理。因此,空間配置模組120首先可以走訪node層,並在走訪的過程中判斷位址獲取模組110獲取記憶體模組的物理位址範圍與當前走訪到之node所轄的記憶體範圍之匹配程度。如果沒有交集,繼續走訪下一個node;如果存在交集,則走訪存在交集之node下一層的各個zone。如果位址獲取模組110獲取記憶體模組的物理位址範圍和當前走訪到之zone所轄記憶體範圍不存在交集則繼續走訪下一個zone,否則走訪該zone下一層的所有migrationType。如果位址獲取模組110獲取記憶體模組的物理位址範圍和當前走訪到之migrationType所轄記憶體範圍不存在交集則繼續走訪下一個migrationType,否則走訪該migrationType下一層的所有order。如果位址獲取模組110獲取記憶體模組的物理位址範圍和當前走訪到的order所轄記憶體範圍不存在交集則繼續走訪下一個order,否則將當前走訪到之order中所轄記憶體範圍與位址獲取模組110獲取記憶體模組的物理位址範圍相符的page從可用記憶體鏈結串列中刪除並接回刪除page後的記憶體鏈結串列即完成記憶體空間的配置。
在空間配置模組120在所有記憶體模組所提供的儲存空間中配置記憶體空間(步驟230)後,測試模組130可以對空間配置模組120所配置的記憶體空間進行測試(步驟240),也就是對位址獲取模組110獲取記憶體模組的物理位址範圍進行測試,並可以在完成測試後產生相對應的測試報告(步驟250)。在本實施例中,假設電腦100配置有一個中央處理器,且該中央處理器有四個處理核心,則測試模組130可以將位址獲取模組110獲取的物理位址範圍分割為大小相同的四個記憶體區段,並為四個處理核心分別配置一個對應至不同記憶體區段的測試執行序,使得各個處理核心在執行測試執行序後便可以完成對空間配置模組120所配置之記憶體空間的測試。如此,在本實施例中,本發明測試記憶體的速度將比傳統測試記憶體的速度快上四倍。
上述的實施例中,若電腦100包含互動模組140,則在位址獲取模組110獲取特定記憶體模組的物理位址範圍(步驟220)前,互動模組140可以提供使用者選擇欲進行測試的記憶體模組(步驟210)。
綜上所述,可知本發明與先前技術之間的差異在於具有獲取特定記憶體模組的物理位址範圍後,依據所取得的物理位址範圍配置記憶體空間,並對所配置的記憶體空間進行測試以測試特定記憶體模組之技術手段,藉由此一技術手段可以解決先前技術所存在沒有待測記憶體之有效錯誤篩選機制及錯誤區段定位機制的問題,進而達成減少記憶體測試時間的技術功效。
再者,本發明之依記憶體模組之物理位址範圍測試記憶體之方法,可實現於硬體、軟體或硬體與軟體之組合中,亦可在電腦系統中以集中方式實現或以不同元件散佈於若干互連之電腦系統的分散方式實現。
雖然本發明所揭露之實施方式如上,惟所述之內容並非用以直接限定本發明之專利保護範圍。任何本發明所屬技術領域中具有通常知識者,在不脫離本發明所揭露之精神和範圍的前提下,對本發明之實施的形式上及細節上作些許之更動潤飾,均屬於本發明之專利保護範圍。本發明之專利保護範圍,仍須以所附之申請專利範圍所界定者為準。
100‧‧‧電腦
101‧‧‧記憶體模組
103‧‧‧記憶體管理系統
110‧‧‧位址獲取模組
120‧‧‧空間配置模組
130‧‧‧測試模組
140‧‧‧互動模組
步驟210‧‧‧選擇進行測試之記憶體模組
步驟220‧‧‧獲取記憶體模組之物理位址範圍
步驟230‧‧‧依據物理位址範圍於記憶體模組所提供的儲存空間中配置記憶體空間
步驟240‧‧‧測試記憶體空間
步驟250‧‧‧產生相對應之測試報告
101‧‧‧記憶體模組
103‧‧‧記憶體管理系統
110‧‧‧位址獲取模組
120‧‧‧空間配置模組
130‧‧‧測試模組
140‧‧‧互動模組
步驟210‧‧‧選擇進行測試之記憶體模組
步驟220‧‧‧獲取記憶體模組之物理位址範圍
步驟230‧‧‧依據物理位址範圍於記憶體模組所提供的儲存空間中配置記憶體空間
步驟240‧‧‧測試記憶體空間
步驟250‧‧‧產生相對應之測試報告
第1圖為本發明所提之依記憶體模組之物理位址範圍測試記憶體之系統架構圖。 第2圖為本發明所提之依記憶體模組之物理位址範圍測試記憶體之方法流程圖。
Claims (8)
- 一種依記憶體模組之物理位址範圍測試記憶體之方法,係應用於一電腦,該電腦中安裝至少一記憶體模組,該方法至少包含下列步驟:獲取該記憶體模組之一物理位址範圍;走訪(traversal)該電腦之記憶體管理結構以搜尋符合該物理位址範圍之至少一分頁(page),並將各該分頁之識別資料由該電腦之可用記憶體連結串列中移除,藉以於該些記憶體模組所提供的儲存空間中配置一記憶體空間;及測試該記憶體空間。
- 如申請專利範圍第1項所述之依記憶體模組之物理位址範圍測試記憶體之方法,其中獲取該記憶體模組之該物理位址範圍之步驟為根據插槽識別碼(Socket ID)、記憶體控制器識別碼(MC ID)、記憶體通道識別碼(Channel ID)、記憶體模組識別碼(DIMM ID)、記憶晶片區塊識別碼(Rank ID)判斷出該物理位址範圍。
- 如申請專利範圍第1項所述之依記憶體模組之物理位址範圍測試記憶體之方法,其中測試該記憶體空間之步驟,更包含分割該記憶體空間為多個記憶體區段並為該電腦之多個處理核心配置與各該記憶體區段對應之各測試執行序(thread),使各該處理核心執行該測試執行序以測試各該記憶體區段之步驟。
- 如申請專利範圍第1項所述之依記憶體模組之物理位址範圍測試記憶體之方法,其中該方法於獲取該記憶體模組之該物理位址範圍之步驟前,更包含選擇進行測試之該記憶體模組之步驟。
- 一種依記憶體模組之物理位址範圍測試記憶體之系統,係應用於一電腦,該電腦中安裝至少一記憶體模組,該系統至少包含:一位址獲取模組,用以獲取該記憶體模組之一物理位址範圍;一空間配置模組,用以走訪該電腦之記憶體管理結構以搜尋符合該物理位址範圍之至少一分頁,並將各該分頁之識別資料由該電腦之可用記憶體連結串列中移除,藉以於該些記憶體模組所提供的儲存空間中配置一記憶體空間;及一測試模組,用以測試該記憶體空間。
- 如申請專利範圍第5項所述之依記憶體模組之物理位址範圍測試記憶體之系統,其中該位址獲取模組是根據插槽識別碼(Socket ID)、記憶體控制器識別碼(MC ID)、記憶體通道識別碼(Channel ID)、記憶體模組識別碼(DIMM ID)、記憶晶片區塊識別碼(Rank ID)判斷出該物理位址範圍。
- 如申請專利範圍第5項所述之依記憶體模組之物理位址範圍測試記憶體之系統,其中該測試模組是分割該記憶體空間為多個記憶體區段並為該電腦之多個處理核心配置與各該記憶體區段對應之各測試執行序(thread),使各該處理核心執行該測試執行序以測試各該記憶體區段。
- 如申請專利範圍第5項所述之依記憶體模組之物理位址範圍測試記憶體之系統,其中該系統更包含一互動模組,用以提供選擇進行測試之該記憶體模組。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105141287A TWI620191B (zh) | 2016-12-13 | 2016-12-13 | 依記憶體模組之物理位址範圍測試記憶體之系統及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105141287A TWI620191B (zh) | 2016-12-13 | 2016-12-13 | 依記憶體模組之物理位址範圍測試記憶體之系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI620191B true TWI620191B (zh) | 2018-04-01 |
TW201822219A TW201822219A (zh) | 2018-06-16 |
Family
ID=62639794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105141287A TWI620191B (zh) | 2016-12-13 | 2016-12-13 | 依記憶體模組之物理位址範圍測試記憶體之系統及方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI620191B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309529A (zh) * | 2018-12-11 | 2020-06-19 | 英业达科技有限公司 | 依处理器信息完整测试处理器内通信链路的系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200709214A (en) * | 2005-08-17 | 2007-03-01 | Inventec Corp | Memory testing method |
TW200825722A (en) * | 2006-12-07 | 2008-06-16 | Inventec Corp | Memory distribution and testing method |
US8046644B2 (en) * | 2009-10-08 | 2011-10-25 | Hon Hai Precision Industry Co., Ltd. | DRAM testing method |
US8060706B2 (en) * | 2008-03-28 | 2011-11-15 | Inventec Corporation | Method of allocating physical memory in specified address range under Linux system platform |
CN104809039A (zh) * | 2015-04-24 | 2015-07-29 | 英业达科技有限公司 | 基于物理内存分配映射的内存检测方法 |
-
2016
- 2016-12-13 TW TW105141287A patent/TWI620191B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200709214A (en) * | 2005-08-17 | 2007-03-01 | Inventec Corp | Memory testing method |
TW200825722A (en) * | 2006-12-07 | 2008-06-16 | Inventec Corp | Memory distribution and testing method |
US8060706B2 (en) * | 2008-03-28 | 2011-11-15 | Inventec Corporation | Method of allocating physical memory in specified address range under Linux system platform |
US8046644B2 (en) * | 2009-10-08 | 2011-10-25 | Hon Hai Precision Industry Co., Ltd. | DRAM testing method |
CN104809039A (zh) * | 2015-04-24 | 2015-07-29 | 英业达科技有限公司 | 基于物理内存分配映射的内存检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309529A (zh) * | 2018-12-11 | 2020-06-19 | 英业达科技有限公司 | 依处理器信息完整测试处理器内通信链路的系统及方法 |
CN111309529B (zh) * | 2018-12-11 | 2022-04-19 | 英业达科技有限公司 | 依处理器信息完整测试处理器内通信链路的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201822219A (zh) | 2018-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540093B2 (en) | Multidimensional contiguous memory allocation | |
US20060212677A1 (en) | Multicore processor having active and inactive execution cores | |
US9146846B2 (en) | Programmable physical address mapping for memory | |
JPH1139105A (ja) | 記憶サブシステム内でのドライブ移動及び記憶サブシステムへのボリューム追加のための装置及び方法 | |
CN104809039B (zh) | 基于物理内存分配映射的内存检测方法 | |
US8996700B2 (en) | Automated workload performance and availability optimization based on hardware affinity | |
CN108959526B (zh) | 日志管理方法以及日志管理装置 | |
US9437327B2 (en) | Combined rank and linear address incrementing utility for computer memory test operations | |
CN107368426B (zh) | 一种测试方法及测试装置 | |
JP2007220284A (ja) | 改善された冗長性分析のためのメモリデバイスの欠陥サマリデータの削減 | |
US9854037B2 (en) | Identifying workload and sizing of buffers for the purpose of volume replication | |
US11257565B2 (en) | Management of test resources to perform testing of memory components under different temperature conditions | |
CN109901957B (zh) | 以可扩展固件接口进行内存测试的计算装置及其方法 | |
US11734430B2 (en) | Configuration of a memory controller for copy-on-write with a resource controller | |
US9009548B2 (en) | Memory testing of three dimensional (3D) stacked memory | |
US20200194092A1 (en) | Multi-dimensional usage space testing of memory components | |
CN115482876A (zh) | 一种存储设备测试方法、装置及电子设备和存储介质 | |
US20180157605A1 (en) | Configuration of a memory controller for copy-on-write | |
US20150082014A1 (en) | Virtual Storage Devices Formed by Selected Partitions of a Physical Storage Device | |
US20210373072A1 (en) | Allocation of test resources to perform a test of memory components | |
TWI620191B (zh) | 依記憶體模組之物理位址範圍測試記憶體之系統及方法 | |
US20170242743A1 (en) | Generating diagnostic data | |
US7694175B2 (en) | Methods and systems for conducting processor health-checks | |
US7607040B2 (en) | Methods and systems for conducting processor health-checks | |
CN114327769B (zh) | 一种操作系统事件记录方法、装置及计算机系统 |