一種memory patrol scrub測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體地說是一種MEMORY PATROL SCRUB測試方法。
【背景技術(shù)】
[0002]隨著IT領(lǐng)域技術(shù)的不斷發(fā)展,傳統(tǒng)信息化服務(wù)以及日趨強大的云計算服務(wù),對服務(wù)器的安全可靠要求越來越高。作為服務(wù)器產(chǎn)品提供商,一款服務(wù)器無論是在研發(fā)階段還是生產(chǎn)階段都需要對產(chǎn)品進行安全性測試,從而嚴格保證該產(chǎn)品的安全性,其主要體現(xiàn)在RAS性能上。
[0003]RAS特性中重要的一點就是內(nèi)存的RAS特性。內(nèi)存是一種電子器件,在其工作過程中難免會出現(xiàn)錯誤,而對于穩(wěn)定性要求高的用戶來說,內(nèi)存錯誤可能會引起致命性的問題。內(nèi)存錯誤根據(jù)其原因還可分為硬錯誤和軟錯誤。硬件錯誤是由于硬件的損害或缺陷造成的,因此數(shù)據(jù)總是不正確;軟錯誤是隨機出現(xiàn)的,例如在內(nèi)存附近突然出現(xiàn)電子干擾等因素都可能造成內(nèi)存軟錯誤的發(fā)生。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種MEMORY PATROL SCRUB測試方法。
[0005]本發(fā)明的技術(shù)方案是按以下方式實現(xiàn)的,其測試方法如下:
準備好Windows測試平臺;
準備好Windows控制端平臺,需要安裝.Netframework3.5和.Netframework4.0,安裝工具 Intel? Platform Debug Toolkit,并且拷貝 Cscripts 中的 startivt_oem.py 腳本;測試平臺斷電情況下,將ITP工具的數(shù)據(jù)線XDP接口端插在主板的XDP接口,USB 口插在控制端的USB端口上,并插上ITP電源;
測試機上電開機,進入B1S Setup界面;
將 Patrol Scrub 設(shè)置為[Enabled],同時設(shè)置巡檢周期“Patrol Scrub Interval” 為
[I];
保存設(shè)置后退出,重啟測試機臺,待測試機進入Windows系統(tǒng);
在控制端打開工具Intel? Platform Debug Toolkit中的Config Console,選擇系統(tǒng)相應(yīng)的平臺后,點擊Apply連接上測試機;
控制端系統(tǒng)中打開Python控制臺“startivt_oem.py” ;
Python控制臺中輸入指令,給某一內(nèi)存的一個Rank注入單bit ECC Error輸入; #halt
#e1.1njectMemError socket=氺,channel=[*,氺],dimm=氺,rank=*
#go
待注錯結(jié)束后,查看相應(yīng)內(nèi)存中的ECC Error數(shù)目增加I輸入 Shalt#e1.disp_ecc_cnt
靜置測試機的系統(tǒng),無壓力運行I小時;
在控制端的Python控制臺里輸入指令,遍歷內(nèi)存地址:
Shalt
#mem 0x0,8
#go
再輸入指令,查看該內(nèi)存中的ECC Error數(shù)目保持不變:
Shalt
#e1.disp_ecc_cnt
再繼續(xù)反復(fù)遍歷內(nèi)存地址,然后查看該內(nèi)存中的ECC Error數(shù)目,發(fā)現(xiàn)ECC Error數(shù)目保持不變。
[0006]RAS性能指的是機器的可靠性(Reliability)、可用性(Availability)和可服務(wù)性(Serviceability),系統(tǒng)必須盡可能的可靠,不會意外的崩潰,重啟甚至導(dǎo)致系統(tǒng)物理損壞,這意味著一個具有可靠性的系統(tǒng)必須能夠?qū)τ谀承┬〉腻e誤導(dǎo)致的硬件功能失效做出容錯功能。Memory RAS中的Patrol Scrub功能可以對內(nèi)存出現(xiàn)的ECC Error做到容錯功能,它的測試方法也是多種多樣,本文說明的是使用ITP工具給內(nèi)存注錯,模擬實際應(yīng)用中內(nèi)存出錯情況,通過讀取寄存器的值來考查Memory Patrol Scrub功能是否成功實現(xiàn)。
[0007]本發(fā)明的優(yōu)點是:
本發(fā)明的一種MEMORY PATROL SCRUB測試方法和現(xiàn)有技術(shù)相比,本測試方法操作簡單,實用性較強,有效確保了服務(wù)器的可靠性和安全性,因而,具有很好的使用價值。
【附圖說明】
[0008]圖1為一種MEMORY PATROL SCRUB測試方法的結(jié)構(gòu)示意圖。
[0009]實施方式
下面結(jié)合附圖對本發(fā)明的一種MEMORY PATROL SCRUB測試方法作以下詳細說明。
[0010]如圖1所示,本發(fā)明的一種MEMORY PATROL SCRUB測試方法,方法如下:
1)準備好Windows測試平臺(測試機安裝Windows操作系統(tǒng));
2)準備好Windows 控制端平臺(需要安裝.Netframework3.5 和.Netframework4.0),安裝工具 Intel? Platform Debug Toolkit (Intel? PDT),并且拷貝 Cscripts 中的startivt_oem.py 腳本;
3)測試平臺斷電情況下,將ITP工具的數(shù)據(jù)線XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP電源;
4)測試機上電開機,進入B1SSetup界面;
5)將Patrol Scrub 設(shè)置為[Enabled],同時設(shè)置巡檢周期 “Patrol Scrub Interval”為[I];
6)保存設(shè)置后退出,重啟測試機臺,待測試機進入Windows系統(tǒng);
7)在控制端打開工具Intel? Platform Debug Toolkit (Intel? PDT)中的 ConfigConsole,選擇系統(tǒng)相應(yīng)的平臺后,點擊Apply連接上測試機;
8)控制端系統(tǒng)中打開Python控制臺“startivt_oem.py” ; 9)Python控制臺中輸入指令,給某一內(nèi)存的一個Rank注入單bitECC Error。輸入 #halt
#e1.1njectMemError(socket=*, channel=[*,氺],dimm=氺,rank=*)
#go
10)待注錯結(jié)束后,查看相應(yīng)內(nèi)存中的ECCError數(shù)目增加I。輸入 Shalt
#e1.disp_ecc_cntO
11)靜置測試機的系統(tǒng),無壓力運行I小時;
12)在控制端的Python控制臺里輸入指令,遍歷內(nèi)存地址:
Shalt
#mem(0x0, 8)
#go
13)再輸入指令,查看該內(nèi)存中的ECCError數(shù)目保持不變:
Shalt
#e1.disp_ecc_cntO
14)再繼續(xù)反復(fù)遍歷內(nèi)存地址,然后查看該內(nèi)存中的ECCError數(shù)目,發(fā)現(xiàn)ECC Error數(shù)目保持不變;
Memory RAS功能中一個重要的特點就是Patrol Scrub功能。內(nèi)存控制器周期性的掃描整個系統(tǒng)內(nèi)存錯誤,如果遇到錯誤,則會糾正并且寫回到DIMM中。這種特性主要用于防止單bit錯誤發(fā)展為不可修復(fù)的多bit錯誤。
[0011]內(nèi)存RAS Patrol Scrub的巡檢周期,可以設(shè)置1_24小時。每間隔一段時間,內(nèi)存控制器就會掃描整個系統(tǒng)內(nèi)存錯誤。
[0012]本發(fā)明的一種MEMORY PATROL SCRUB測試方法其加工制作非常簡單方便,按照說明書附圖所示即可加工。
[0013]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【主權(quán)項】
1.一種MEMORY PATROL SCRUB測試方法,其特征在于測試方法如下: 準備好Windows測試平臺; 準備好Windows控制端平臺,需要安裝.Netframework3.5和.Netframework4.0,安裝工具 Intel? Platform Debug Toolkit,并且拷貝 Cscripts 中的 startivt_oem.py 腳本;測試平臺斷電情況下,將ITP工具的數(shù)據(jù)線XDP接口端插在主板的XDP接口,USB 口插在控制端的USB端口上,并插上ITP電源; 測試機上電開機,進入B1S Setup界面; 將 Patrol Scrub 設(shè)置為[Enabled],同時設(shè)置巡檢周期“Patrol Scrub Interval” 為[I]; 保存設(shè)置后退出,重啟測試機臺,待測試機進入Windows系統(tǒng); 在控制端打開工具Intel? Platform Debug Toolkit中的Config Console,選擇系統(tǒng)相應(yīng)的平臺后,點擊Apply連接上測試機; 控制端系統(tǒng)中打開Python控制臺“startivt_oem.py” ; Python控制臺中輸入指令,給某一內(nèi)存的一個Rank注入單bit ECC Error輸入; #halt#e1.1njectMemError socket=氺,channel=[*,氺],dimm=氺,rank=*#go 待注錯結(jié)束后,查看相應(yīng)內(nèi)存中的ECC Error數(shù)目增加I輸入 Shalt#e1.disp_ecc_cnt 靜置測試機的系統(tǒng),無壓力運行I小時; 在控制端的Python控制臺里輸入指令,遍歷內(nèi)存地址:Shalt#mem 0x0, 8#go 再輸入指令,查看該內(nèi)存中的ECC Error數(shù)目保持不變:Shalt#e1.disp_ecc_cnt 再繼續(xù)反復(fù)遍歷內(nèi)存地址,然后查看該內(nèi)存中的ECC Error數(shù)目,發(fā)現(xiàn)ECC Error數(shù)目保持不變。
【專利摘要】本發(fā)明提供一種MEMORY?PATROL?SCRUB測試方法,準備好Windows測試平臺;準備好Windows控制端平臺,需要安裝.Netframework3.5和.Netframework4.0,安裝工具Intel??Platform?Debug?Toolkit,并且拷貝Cscripts中的startivt_oem.py腳本;測試平臺斷電情況下,將ITP工具的數(shù)據(jù)線XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP電源。本發(fā)明的一種MEMORY?PATROL?SCRUB測試方法和現(xiàn)有技術(shù)相比,本測試方法操作簡單,實用性較強,有效確保了服務(wù)器的可靠性和安全性,因而,具有很好的使用價值。
【IPC分類】G06F11/22
【公開號】CN105138438
【申請?zhí)枴緾N201510529991
【發(fā)明人】齊煜
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2015年12月9日
【申請日】2015年8月26日