CN104317690B - 一种基于ITP工具的Memory Demand Scrub测试方法 - Google Patents
一种基于ITP工具的Memory Demand Scrub测试方法 Download PDFInfo
- 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 end
- eccerror
- test machine
- itp
- 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
Links
- 238000012360 testing method Methods 0.000 title claims description 30
- 230000006870 function Effects 0.000 claims abstract description 16
- 238000010998 test method Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 8
- 238000004321 preservation Methods 0.000 claims description 4
- 239000002699 waste material Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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工具的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电源。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138438A (zh) * | 2015-08-26 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种memory patrol scrub测试方法 |
CN105302686A (zh) * | 2015-12-09 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种存储器目标测试方法 |
CN105302658A (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)
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)
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 |
-
2014
- 2014-10-21 CN CN201410561599.6A patent/CN104317690B/zh active Active
Patent Citations (2)
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测试方法 | |
CN104268052B (zh) | 一种基于ITP工具的Memory Rank Spare测试方法 | |
CN104484274A (zh) | 一种基于itp工具的内存轮巡检查功能测试方法 | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
CN105138438A (zh) | 一种memory patrol scrub测试方法 | |
BR102016026988A2 (pt) | Method for generating test cases based on automated requirements | |
US9990458B2 (en) | Generic design rule checking (DRC) test case extraction | |
CN104461799B (zh) | 板卡配置正确性检测系统 | |
US20150339214A1 (en) | Non-intrusive software verification | |
CN104572465A (zh) | 一种新型BIOS Debug的方法 | |
CN107832179A (zh) | 一种PCIe Error Enabling测试方法 | |
US9189578B1 (en) | System, method, and computer program product for power supply network visualization | |
CN102147831A (zh) | 逻辑验证方法和装置 | |
CN102916741A (zh) | 一种光模块硬件在线测试方法 | |
CN102681525A (zh) | 一种转换控制器的验证方法及系统 | |
CN107807870B (zh) | 一种存储服务器主板掉电保护功能的测试方法和系统 | |
CN101582294B (zh) | 一种解决sram模块闩锁问题与增强sram模块可靠性的方法 | |
CN107766193A (zh) | 一种ib卡性能自动测试方法及系统 | |
CN107562565A (zh) | 一种验证内存Patrol Scurb功能的方法 | |
CN107480019A (zh) | 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法 | |
CN107273259A (zh) | 一种Linux系统下基于IDK内存注错的测试方法及系统 | |
CN101793934B (zh) | 通用防拔测试设备及其测试方法 | |
CN105302686A (zh) | 一种存储器目标测试方法 | |
CN105354158A (zh) | 一种基于存储卡的数据烧录方法和装置 | |
CN102385547A (zh) | 一种dram控制器时序校验功能的验证方法及系统 |
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 |