CN104317690B - 一种基于ITP工具的Memory Demand Scrub测试方法 - Google Patents

一种基于ITP工具的Memory Demand Scrub测试方法 Download PDF

Info

Publication number
CN104317690B
CN104317690B CN201410561599.6A CN201410561599A CN104317690B CN 104317690 B CN104317690 B CN 104317690B CN 201410561599 A CN201410561599 A CN 201410561599A CN 104317690 B CN104317690 B CN 104317690B
Authority
CN
China
Prior art keywords
windows
control terminal
itp
eccerrors
test machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410561599.6A
Other languages
English (en)
Other versions
CN104317690A (zh
Inventor
齐煜
王守昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IEIT Systems Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410561599.6A priority Critical patent/CN104317690B/zh
Publication of CN104317690A publication Critical patent/CN104317690A/zh
Application granted granted Critical
Publication of CN104317690B publication Critical patent/CN104317690B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种基于ITP工具的MemoryDemandScrub测试方法,其具体实现过程为:安装使用ITP工具,在python平台上通过Cscripts脚本,在开启和关闭DemandScrub的两种情况下,给内存注入单BitECCError,再遍历内存地址,通过读取内存中ECCError的数目来判断DemandScrub的功能是否生效。该一种基于ITP工具的MemoryDemandScrub测试方法与现有技术相比,可应用于所有支持MemoryRAS功能的X86服务器产品,模拟用户的实际应用中内存出现的ECCError,确保DemandScrub的功能实现,也有效确保服务器的可靠性和安全性。

Description

一种基于ITP工具的Memory Demand Scrub测试方法
技术领域
本发明涉及计算机技术领域,具体地说是一种实用性强、基于ITP工具的MemoryDemandScrub测试方法。
背景技术
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务,对服务器的安全可靠要求越来越高。作为服务器产品提供商,一款服务器无论是在研发阶段还是生产阶段都需要对产品进行安全性测试,从而严格保证该产品的安全性,其主要体现在RAS性能上。
RAS特性中重要的一点就是内存的RAS特性。内存是一种电子器件,在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。内存错误根据其原因还可分为硬错误和软错误。硬件错误是由于硬件的损害或缺陷造成的,因此数据总是不正确;软错误是随机出现的,例如在内存附近突然出现电子干扰等因素都可能造成内存软错误的发生。
RAS性能指的是机器的可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability),系统必须尽可能的可靠,不会意外的崩溃,重启甚至导致系统物理损坏,这意味着一个具有可靠性的系统必须能够对于某些小的错误导致的硬件功能失效做出热备。MemoryRAS中的DemandScrub功能可以对内存出现的ECCError纠错,并且防止反复读取该地址时产生不可修复的error。基于此,现提供一种MemoryDemandScrub测试方法,该方法使用ITP工具给内存注入单BitECCError,模拟实际应用中内存出错情况,通过读取寄存器的值来考量MemoryDemandScrub功能是否成功实现。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于ITP工具的MemoryDemandScrub测试方法。
一种基于ITP工具的MemoryDemandScrub测试方法,其具体实现过程为:
一、准备Windows测试机和Windows控制端;
二、用ITP工具连接测试机和控制端;
三、测试机上电开机,进入BIOSSetup界面;
四、设置DemandScrub为[Disabled],即关闭MemoryRASDemandScrub功能;
五、保存设置后退出,重启测试机,待测试机进入Windows系统;
六、在控制端输入指令,给测试机的一个rank注入单bitECCError;
七、待注错结束后,输入指令查看该Rank上ECCError数目增加1;
八、反复输入指令,遍历内存地址;
九、再查看该Rank上ECCError数目,即每遍历一次内存地址,Error数目增加1;
十、重启测试机,设置DemandScrub为[Enabled],即打开MemoryRASDemandScrub功能;
十一、控制端输入指令,给测试机的一个内存rank注入单bitECCError;
十二、输入指令查看该Rank上ECCError数目增加1;
十三、反复输入指令遍历内存地址;
十四、查看该Rank上ECCError数目,当数目保持不变时,即DemandScrub功能生效。
所述Windows测试机是指安装Windows操作系统的测试平台;Windows控制端是指安装.Netframework3.5和.Netframework4.0、安装工具Intel?PlatformDebugToolkit,并且拷贝Cscripts脚本的Windows控制端平台。
所述步骤二的详细过程为:将测试平台断电,然后将ITP工具的数据线XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP电源。
所述步骤六及步骤十一中给内存的一个Rank注入单bitECCError过程均为:
在控制端打开工具Intel?PlatformDebugToolkit中的ConfigConsole,选择系统相应的平台后,点击Apply连接上测试机;
控制端系统中打开Cscripts脚本文件中的Python控制台“startivt_oem.py”;
Python控制台中输入指令,给内存的一个Rank注入单bitECCError。
本发明的一种基于ITP工具的MemoryDemandScrub测试方法,具有以下优点:
该发明的一种基于ITP工具的MemoryDemandScrub测试方法适用于带有XDP接口,支持DemandScrub功能的X86服务器产品,适用范围广泛;开启和关闭DemandScrub的两种情况下,给内存注入单BitECCError来模拟实际应用中出现的情况,再遍历内存地址,通过读取内存中ECCError的数目来判断DemandScrub的功能是否生效,该测试方法操作简单,却能够多角度、全方位的检测MemoryRASDemandScrub功能,实用性较强,有效确保了服务器的可靠性和安全性,易于推广。
附图说明
附图1为本发明实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
IMC读取内存如果遇到ECC错误,那么纠正这个错误,并且把错误的数据写入出问题的DIMM里。这种RAS特性主要防止反复需要访问的内存地址如果出错,则每次需要ECC纠错,造成带宽的浪费,而且有可能导致最终变成uncorrectableerror。基于该思路,现提供一种基于ITP工具的MemoryDemandScrub测试方法,如附图1所示,其具体实现过程为:
一、准备好Windows测试平台,该Windows测试平台即为安装Windows操作系统的测试机。
二、准备好Windows控制端平台,该控制端平台需要安装.Netframework3.5和.Netframework4.0,安装工具Intel?PlatformDebugToolkit,即Intel?PDT,并且拷贝Cscripts脚本。
三、测试平台断电情况下,将ITP工具的数据线XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP电源。
四、测试机上电开机,进入BIOSSetup界面。
五、设置DemandScrub为[Disabled],即关闭MemoryRASDemandScrub功能。
六、保存设置后退出,重启测试机台,待测试机进入Windows系统。
七、在控制端打开工具Intel?PlatformDebugToolkit(Intel?PDT)中的ConfigConsole,选择系统相应的平台后,点击Apply连接上测试机。
八、控制端系统中打开Cscripts脚本文件中的Python控制台“startivt_oem.py”。
九、Python控制台中输入指令,给内存的一个Rank注入单bitECCError。输入:
#halt
#ei.injectMemError(socket=*,channel=[*,*],dimm=*,rank=*)
#go。
在上述脚本中,“*”代表需要注错的内存所在的socket,channel,dimm。
十、待注错结束后,查看相应内存中的ECCError数目增加1。输入:
#halt
#ei.disp_ecc_cnt()。
十一、输入指令,遍历内存地址:
#halt
#mem(0x0,8)
#go。
十二、再查看该内存中的ECCError数目,发现Error又增加1。
十三、反复遍历内存地址,再读取该内存中的ECCError数目,会发现每遍历一次内存地址,ECCError数目就会增加1。
十四、重启测试机台,进入BIOSSetup界面。
十五、设置DemandScrub为[Enabled],即打开MemoryRASDemandScrub功能。
十六、保存设置后退出,重启测试机台,待测试机进入Windows系统。
十七、在控制端打开工具Intel?PlatformDebugToolkit(Intel?PDT)中的ConfigConsole,选择系统相应的平台后,点击Apply连接上测试机。
十八、控制端系统中打开Cscripts脚本文件中的Python控制台“startivt_oem.py”。
十九、Python控制台中输入指令,给内存的一个Rank注入单bitECCError。输入:
#halt
#ei.injectMemError(socket=*,channel=[*,*],dimm=*,rank=*)
#go。
上述脚本中,“*”代表需要注错的内存所在的socket,channel,dimm。
二十、待注错结束后,查看相应内存中的ECCError数目增加1。输入:
#halt
#ei.disp_ecc_cnt()。
二十一、输入指令,遍历内存地址:
#halt
#mem(0x0,8)
#go。
二十二、再输入指令,查看相应内存中的ECCError数目,此时发现其保持不变,证明DemandScrub功能生效,它在第一次发现ECCError后将数据其写入了该DIMM中,防止以后再访问该内存地址时,每次需要ECC纠错,造成带宽的浪费,而且有可能导致最终变成uncorrectableerror。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于ITP工具的MemoryDemandScrub测试方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (2)

1.一种基于ITP工具的MemoryDemandScrub测试方法,其特征在于,其具体实现过程为:
一、准备Windows测试机和Windows控制端;
二、用ITP工具连接Windows测试机和Windows控制端;
三、Windows测试机上电开机,进入BIOSSetup界面;
四、设置DemandScrub为Disabled,即关闭MemoryDemandScrub功能;
五、保存设置后退出,重启Windows测试机,待Windows测试机进入Windows系统;
六、在Windows控制端输入指令,给Windows测试机的一个Rank注入单bitECCError;
七、待注错结束后,在Windows控制端输入指令,查看该Rank上ECCError数目,该ECCError数目增加1;
八、在Windows控制端反复输入指令,遍历内存地址;
九、在Windows控制端输入指令,再查看该Rank上ECCError数目,即每遍历一次内存地址,ECCError数目增加1;
十、重启Windows测试机,设置DemandScrub为Enabled,即打开MemoryDemandScrub功能;
十一、在Windows控制端输入指令,给Windows测试机的一个Rank注入单bitECCError;
十二、待注错结束后,在Windows控制端输入指令,查看该Rank上ECCError数目,ECCError数目增加1;
十三、在Windows控制端反复输入指令,遍历内存地址;
十四、在Windows控制端输入指令,再查看该Rank上ECCError数目,当ECCError数目保持不变时,即MemoryDemandScrub功能生效。
2.根据权利要求1所述的一种基于ITP工具的MemoryDemandScrub测试方法,其特征在于,所述步骤二的详细过程为:将测试平台断电,然后将ITP工具的XDP接口端插在Windows测试机主板的XDP接口,ITP工具的USB口插在Windows控制端的USB端口上,并将ITP工具插上ITP电源。
CN201410561599.6A 2014-10-21 2014-10-21 一种基于ITP工具的Memory Demand Scrub测试方法 Active CN104317690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410561599.6A CN104317690B (zh) 2014-10-21 2014-10-21 一种基于ITP工具的Memory Demand Scrub测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410561599.6A CN104317690B (zh) 2014-10-21 2014-10-21 一种基于ITP工具的Memory Demand Scrub测试方法

Publications (2)

Publication Number Publication Date
CN104317690A CN104317690A (zh) 2015-01-28
CN104317690B true CN104317690B (zh) 2016-01-27

Family

ID=52372925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410561599.6A Active CN104317690B (zh) 2014-10-21 2014-10-21 一种基于ITP工具的Memory Demand Scrub测试方法

Country Status (1)

Country Link
CN (1) CN104317690B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138438A (zh) * 2015-08-26 2015-12-09 浪潮电子信息产业股份有限公司 一种memory patrol scrub测试方法
CN105302658A (zh) * 2015-12-09 2016-02-03 浪潮电子信息产业股份有限公司 一种存储器数据校正测试方法
CN105302686A (zh) * 2015-12-09 2016-02-03 浪潮电子信息产业股份有限公司 一种存储器目标测试方法
CN105718343A (zh) * 2016-01-19 2016-06-29 浪潮电子信息产业股份有限公司 基于Intel平台使用ITP工具测试QPI失效备援功能的方法
CN106055436A (zh) * 2016-05-19 2016-10-26 浪潮电子信息产业股份有限公司 一种测试QPI data lane Degrade功能的方法
CN106844086A (zh) * 2017-01-20 2017-06-13 郑州云海信息技术有限公司 一种基于x86_64架构的服务器内存测试装置及方法
CN107273259A (zh) * 2017-06-08 2017-10-20 郑州云海信息技术有限公司 一种Linux系统下基于IDK内存注错的测试方法及系统
CN107562583A (zh) * 2017-07-21 2018-01-09 郑州云海信息技术有限公司 一种在x86平台上自动测试内存ras特性的方法
CN107562565A (zh) * 2017-08-03 2018-01-09 郑州云海信息技术有限公司 一种验证内存Patrol Scurb功能的方法
CN107480019A (zh) * 2017-08-07 2017-12-15 郑州云海信息技术有限公司 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法
CN107632912A (zh) * 2017-09-27 2018-01-26 郑州云海信息技术有限公司 一种windows系统下的内存诊断测试方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211292A (zh) * 2006-12-29 2008-07-02 佛山市顺德区顺达电脑厂有限公司 系统内存间错误检测及修正功能验证之系统及其方法
CN103092739A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种内存ecc报错报警机制

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001351398A (ja) * 2000-06-12 2001-12-21 Nec Corp 記憶装置
US8122320B2 (en) * 2008-01-22 2012-02-21 Qimonda Ag Integrated circuit including an ECC error counter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211292A (zh) * 2006-12-29 2008-07-02 佛山市顺德区顺达电脑厂有限公司 系统内存间错误检测及修正功能验证之系统及其方法
CN103092739A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种内存ecc报错报警机制

Also Published As

Publication number Publication date
CN104317690A (zh) 2015-01-28

Similar Documents

Publication Publication Date Title
CN104317690B (zh) 一种基于ITP工具的Memory Demand Scrub测试方法
CN104484274B (zh) 一种基于itp工具的内存轮巡检查功能测试方法
CN104268052B (zh) 一种基于ITP工具的Memory Rank Spare测试方法
CN102760090B (zh) 除错方法及计算机系统
US20090287900A1 (en) Reducing Power-On Time by Simulating Operating System Memory Hot Add
CN105138438A (zh) 一种memory patrol scrub测试方法
US20150143172A1 (en) Computing device and method for automatically recovering bios of computing device
US9535820B2 (en) Technologies for application validation in persistent memory systems
CN107832179A (zh) 一种PCIe Error Enabling测试方法
CN103984627A (zh) 一种Linux服务器的内存压力测试方法
CN102929755B (zh) 一种cpu模块地址和数据总线的故障检测方法
CN104391780A (zh) 一种自动检验服务器电源冗余功能稳定性的方法
CN103729221A (zh) 一种将bios调试信息放入到硬盘中的方法及装置
CN108446196A (zh) 验证服务器系统ras性能的方法及装置
CN102916741A (zh) 一种光模块硬件在线测试方法
CN104391753B (zh) 一种服务器主板内存系统无故障运行方法
CN108923997A (zh) 一种基于python的云服务节点自动测试方法及装置
CN105354122A (zh) 一种服务器双用途硬盘背板的功能测试优化方法
CN114420194A (zh) 固态硬盘掉电保护功能的测试方法、装置及计算机设备
CN102662808A (zh) 一种pcie硬件故障检测的实现方法与装置
CN117093427A (zh) 一种pcie设备状态检测方法、系统、电子设备及介质
CN106935272B (zh) 开启eMMC后门调试的方法和装置
CN107908490A (zh) 一种服务器dc测试中gpu寄存器可靠性验证方法与系统
CN107480019A (zh) 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法
CN107562565A (zh) 一种验证内存Patrol Scurb功能的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant