CN104484274A - 一种基于itp工具的内存轮巡检查功能测试方法 - Google Patents
一种基于itp工具的内存轮巡检查功能测试方法 Download PDFInfo
- Publication number
- CN104484274A CN104484274A CN201410813570.2A CN201410813570A CN104484274A CN 104484274 A CN104484274 A CN 104484274A CN 201410813570 A CN201410813570 A CN 201410813570A CN 104484274 A CN104484274 A CN 104484274A
- Authority
- CN
- China
- Prior art keywords
- internal memory
- itp
- control end
- taking turn
- platform
- 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.)
- Granted
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于ITP工具的内存轮巡检查功能测试方法,属于内存的测试方法,其方法为使用ITP工具给内存注入ECC Error注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现。本发明适用于带有XDP接口,支持Memory Patrol Scrub功能的X86服务器产品;操作简单,实用性较强,有效确保了服务器的可靠性和安全性。
Description
技术领域
本发明涉及一种内存的测试方法,具体地说是一种基于ITP工具的内存轮巡检查功能测试方法。
背景技术
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务,对服务器的安全可靠要求越来越高。一款服务器无论是在研发阶段还是生产阶段都需要对产品进行安全性测试,从而严格保证该产品的安全性,其主要体现在RAS性能上。RAS性能指的是机器的可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)。
RAS性能中重要的一点就是内存(Memory)的RAS性能。内存是一种电子器件,在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。内存错误根据其原因还可分为硬错误和软错误。硬错误是由于硬件的损害或缺陷造成的,因此数据总是不正确;软错误是随机出现的,例如在内存附近突然出现电子干扰等因素都可能造成内存软错误的发生。
服务器的系统必须尽可能的可靠,不会意外的崩溃、重启甚至导致系统物理损坏。这意味着一个具有可靠性的系统必须能够对于某些小的错误导致的硬件功能失效做出容错功能。内存RAS性能中的内存轮巡检查(Memory Patrol Scrub)功能可以对内存出现的ECC Error做到容错功能。内存轮巡检查功能:内存控制器周期性的扫描整个系统内存错误,如果遇到错误,则会纠正并且写回到DIMM中。这种功能主要用于防止单bit错误发展为不可修复的多bit错误。内存轮巡检查的巡检周期,可以设置1-24小时。每间隔一段时间,内存控制器就会扫描整个系统内存错误。
所以在对内存进行测试时,测试其具不具备内存轮巡检查功能,是非常重要的。
发明内容
本发明的技术任务是提供一种使用ITP工具给内存注错,模拟实际应用中内存出错情况,通过读取寄存器的值来考查内存轮巡检查功能是否成功实现的一种基于ITP工具的内存轮巡检查功能测试方法。
本发明的技术任务是按以下方式实现的,
ITP工具,全称为Integration Test Platform工具,翻译为集成测试平台工具。是由上海博为峰软件技术有限公司(51Testing)自主研发的面向接口的集成测试自动化工具,该工具适用于高软件可靠性、高安全性、高健壮性的系统或产品,也适用于敏捷开发过程。ITP工具用于集成测试阶段、自动化测试、接口测试,是一种测试用例辅助分析设计工具。
一种基于ITP工具的内存轮巡检查功能测试方法,使用ITP工具给内存注入ECC Error注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现;具体包括如下步骤:
(1)、准备好Windows测试平台;
(2)、准备好Windows控制端平台;
(3)、用ITP工具连接测试机和控制端平台;
(4)、测试机上电开机,进入BIOS
Setup界面;
(5)、将内存轮巡检查(Memory
Patrol Scrub)设置为Enabled,同时设置巡检周期(Patrol
Scrub Interval)为1;
(6)、保存设置后退出,重启测试机,待测试机进入Windows系统;
(7)、控制端平台连接上测试机;
(8)、控制端平台系统中打开Python控制台startivt_oem.py;
(9)、Python控制台中输入指令,给某一内存的一个Rank注入单bit
ECC Error;
(10)、待注错结束后,查看相应内存中的ECC
Error数目增加1;
(11)、静置测试机的系统,无压力运行1小时;
(12)、在控制端平台的Python控制台里输入指令,遍历内存地址;
(13)、再输入指令,查看该内存中的ECC
Error数目保持不变;
(14)、再继续反复遍历内存地址,然后查看该内存中的ECC
Error数目,发现ECC Error数目保持不变。
步骤(1)中,在测试机上安装Windows操作系统。
步骤(2)中,在控制端平台上安装Windows操作系统,并安装.Netframework3.5和.Netframework4.0;在控制端平台上,安装工具Intel® Platform Debug Toolkit (Intel® PDT),并且拷贝Cscripts中的startivt_oem.py脚本。
步骤(3)中,测试机与控制端平台断电情况下,将ITP工具的数据线XDP接口端插在测试机的主板的XDP接口,USB口插在控制端平台的USB端口上,并插上ITP电源。
步骤(7)中,在控制端平台打开工具Intel® Platform
Debug Toolkit (Intel® PDT)中的Config
Console,选择系统相应的平台后,点击Apply连接上测试机。
步骤(9)中,输入指令为:
#halt
#ei.injectMemError(socket=*,channel=[*,*],dimm=*,rank=*)
#go。
步骤(10)中,查看的输入指令为:
#halt
#ei.disp_ecc_cnt()。
步骤(12)中,输入指令为:
#halt
#mem(0x0,8)
#go。
步骤(13)中,输入指令为:
#halt
#ei.disp_ecc_cnt()。
本发明的一种基于ITP工具的内存轮巡检查功能测试方法具有以下优点:
1、适用于带有XDP接口,支持Memory
Patrol Scrub功能的X86服务器产品;
2、人为的给内存注入ECC Error,来模拟实际应用中出现的情况,再模拟实际应用中系统寄存器访问内存地址,来判断Patrol
Scrub功能是否生效;
3、操作简单,实用性较强,有效确保了服务器的可靠性和安全性。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于ITP工具的内存轮巡检查功能测试方法的流程图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于ITP工具的内存轮巡检查功能测试方法作以下详细地说明。
实施例1:
本发明的一种基于ITP工具的内存轮巡检查功能测试方法,使用ITP工具给内存注入ECC Error注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现;具体包括如下步骤:
(1)、准备好Windows测试平台;
(2)、准备好Windows控制端平台;
(3)、用ITP工具连接测试机和控制端平台;
(4)、测试机上电开机,进入BIOS
Setup界面;
(5)、将内存轮巡检查(Memory
Patrol Scrub)设置为Enabled,同时设置巡检周期(Patrol
Scrub Interval)为1;
(6)、保存设置后退出,重启测试机,待测试机进入Windows系统;
(7)、控制端平台连接上测试机;
(8)、控制端平台系统中打开Python控制台startivt_oem.py;
(9)、Python控制台中输入指令,给某一内存的一个Rank注入单bit
ECC Error;
(10)、待注错结束后,查看相应内存中的ECC
Error数目增加1;
(11)、静置测试机的系统,无压力运行1小时;
(12)、在控制端平台的Python控制台里输入指令,遍历内存地址;
(13)、再输入指令,查看该内存中的ECC
Error数目保持不变;
(14)、再继续反复遍历内存地址,然后查看该内存中的ECC
Error数目,发现ECC Error数目保持不变。
实施例2:
本发明的一种基于ITP工具的内存轮巡检查功能测试方法,使用ITP工具给内存注入ECC Error注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现;具体包括如下步骤:
(1)、准备好Windows测试平台;
(2)、准备好Windows控制端平台;
(3)、用ITP工具连接测试机和控制端平台;
(4)、测试机上电开机,进入BIOS
Setup界面;
(5)、将内存轮巡检查(Memory
Patrol Scrub)设置为Enabled,同时设置巡检周期(Patrol
Scrub Interval)为1;
(6)、保存设置后退出,重启测试机,待测试机进入Windows系统;
(7)、控制端平台连接上测试机;
(8)、控制端平台系统中打开Python控制台startivt_oem.py;
(9)、Python控制台中输入指令,给某一内存的一个Rank注入单bit
ECC Error;
(10)、待注错结束后,查看相应内存中的ECC
Error数目增加1;
(11)、静置测试机的系统,无压力运行1小时;
(12)、在控制端平台的Python控制台里输入指令,遍历内存地址;
(13)、再输入指令,查看该内存中的ECC
Error数目保持不变;
(14)、再继续反复遍历内存地址,然后查看该内存中的ECC
Error数目,发现ECC Error数目保持不变。
步骤(1)中,在测试机上安装Windows操作系统。
步骤(2)中,在控制端平台上安装Windows操作系统,并安装.Netframework3.5和.Netframework4.0;在控制端平台上,安装工具Intel® Platform Debug Toolkit (Intel® PDT),并且拷贝Cscripts中的startivt_oem.py脚本。
步骤(3)中,测试机与控制端平台断电情况下,将ITP工具的数据线XDP接口端插在测试机的主板的XDP接口,USB口插在控制端平台的USB端口上,并插上ITP电源。
步骤(7)中,在控制端平台打开工具Intel® Platform
Debug Toolkit (Intel® PDT)中的Config
Console,选择系统相应的平台后,点击Apply连接上测试机。
步骤(9)中,输入指令为:
#halt
#ei.injectMemError(socket=*,channel=[*,*],dimm=*,rank=*)
#go。
步骤(10)中,查看的输入指令为:
#halt
#ei.disp_ecc_cnt()。
步骤(12)中,输入指令为:
#halt
#mem(0x0,8)
#go。
步骤(13)中,输入指令为:
#halt
#ei.disp_ecc_cnt()。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (9)
1.一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于使用ITP工具给内存注入ECC
Error注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现;具体包括如下步骤:
(1)、准备好Windows测试平台;
(2)、准备好Windows控制端平台;
(3)、用ITP工具连接测试机和控制端平台;
(4)、测试机上电开机,进入BIOS Setup界面;
(5)、将内存轮巡检查设置为Enabled,同时设置巡检周期为1;
(6)、保存设置后退出,重启测试机,待测试机进入Windows系统;
(7)、控制端平台连接上测试机;
(8)、控制端平台系统中打开Python控制台;
(9)、Python控制台中输入指令,给某一内存的一个Rank注入单bit ECC Error;
(10)、待注错结束后,查看相应内存中的ECC Error数目增加1;
(11)、静置测试机的系统,无压力运行1小时;
(12)、在控制端平台的Python控制台里输入指令,遍历内存地址;
(13)、再输入指令,查看该内存中的ECC Error数目保持不变;
(14)、再继续反复遍历内存地址,然后查看该内存中的ECC Error数目,发现ECC Error数目保持不变。
2.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(1)中,在测试机上安装Windows操作系统。
3.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(2)中,在控制端平台上安装Windows操作系统,并安装.Netframework3.5和.Netframework4.0;在控制端平台上,安装工具Intel® Platform Debug
Toolkit,并且拷贝Cscripts中的startivt_oem.py脚本。
4.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(3)中,测试机与控制端平台断电情况下,将ITP工具的数据线XDP接口端插在测试机的主板的XDP接口,USB口插在控制端平台的USB端口上,并插上ITP电源。
5.根据权利要求3所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(7)中,在控制端平台打开工具Intel® Platform Debug
Toolkit中的Config Console,选择系统相应的平台后,点击Apply连接上测试机。
6.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(9)中,输入指令为:
#halt
#ei.injectMemError(socket=*,channel=[*,*],dimm=*,rank=*)
#go。
7.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(10)中,查看的输入指令为:
#halt
#ei.disp_ecc_cnt()。
8.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(12)中,输入指令为:
#halt
#mem(0x0,8)
#go。
9.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(13)中,输入指令为:
#halt
#ei.disp_ecc_cnt()。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410813570.2A CN104484274B (zh) | 2014-12-24 | 2014-12-24 | 一种基于itp工具的内存轮巡检查功能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410813570.2A CN104484274B (zh) | 2014-12-24 | 2014-12-24 | 一种基于itp工具的内存轮巡检查功能测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484274A true CN104484274A (zh) | 2015-04-01 |
CN104484274B CN104484274B (zh) | 2017-09-22 |
Family
ID=52758818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410813570.2A Active CN104484274B (zh) | 2014-12-24 | 2014-12-24 | 一种基于itp工具的内存轮巡检查功能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484274B (zh) |
Cited By (11)
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失效备援功能的方法 |
CN107273259A (zh) * | 2017-06-08 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种Linux系统下基于IDK内存注错的测试方法及系统 |
CN107480019A (zh) * | 2017-08-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法 |
CN107562583A (zh) * | 2017-07-21 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种在x86平台上自动测试内存ras特性的方法 |
CN107636623A (zh) * | 2015-06-30 | 2018-01-26 | 惠普发展公司,有限责任合伙企业 | 基于电力状态的巡查刷洗时段 |
CN109343988A (zh) * | 2018-09-13 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种测试不可修正错误降级成可修正错误功能的方法 |
CN112241346A (zh) * | 2020-10-23 | 2021-01-19 | 浪潮电子信息产业股份有限公司 | 对bios内存故障检测能力的测试方法、装置及系统 |
WO2023092946A1 (zh) * | 2021-11-23 | 2023-06-01 | 苏州浪潮智能科技有限公司 | 一种内存巡检的方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492326A (zh) * | 2002-10-24 | 2004-04-28 | 联想(北京)有限公司 | 一种内存错误产生器及计算机主板内存纠错功能测试方法 |
KR20080053787A (ko) * | 2006-12-11 | 2008-06-16 | 삼성전자주식회사 | 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법 |
-
2014
- 2014-12-24 CN CN201410813570.2A patent/CN104484274B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492326A (zh) * | 2002-10-24 | 2004-04-28 | 联想(北京)有限公司 | 一种内存错误产生器及计算机主板内存纠错功能测试方法 |
KR20080053787A (ko) * | 2006-12-11 | 2008-06-16 | 삼성전자주식회사 | 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법 |
Non-Patent Citations (1)
Title |
---|
刘春裕 等: "基于PolySpace的嵌入式软件内存测试", 《电脑知识与技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107636623A (zh) * | 2015-06-30 | 2018-01-26 | 惠普发展公司,有限责任合伙企业 | 基于电力状态的巡查刷洗时段 |
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失效备援功能的方法 |
CN107273259A (zh) * | 2017-06-08 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种Linux系统下基于IDK内存注错的测试方法及系统 |
CN107562583A (zh) * | 2017-07-21 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种在x86平台上自动测试内存ras特性的方法 |
CN107480019A (zh) * | 2017-08-07 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法 |
CN109343988A (zh) * | 2018-09-13 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种测试不可修正错误降级成可修正错误功能的方法 |
CN112241346A (zh) * | 2020-10-23 | 2021-01-19 | 浪潮电子信息产业股份有限公司 | 对bios内存故障检测能力的测试方法、装置及系统 |
CN112241346B (zh) * | 2020-10-23 | 2023-03-03 | 浪潮电子信息产业股份有限公司 | 对bios内存故障检测能力的测试方法、装置及系统 |
WO2023092946A1 (zh) * | 2021-11-23 | 2023-06-01 | 苏州浪潮智能科技有限公司 | 一种内存巡检的方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104484274B (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484274A (zh) | 一种基于itp工具的内存轮巡检查功能测试方法 | |
CN104317690B (zh) | 一种基于ITP工具的Memory Demand Scrub测试方法 | |
CN104268052B (zh) | 一种基于ITP工具的Memory Rank Spare测试方法 | |
CN107171833B (zh) | 一种通过bmc实现服务器bmc和bios批量升级方法 | |
CN105138438A (zh) | 一种memory patrol scrub测试方法 | |
US20160224462A1 (en) | Devices and methods for generating test cases | |
CN109508178A (zh) | 一种程序开发方法及装置 | |
CN107832179A (zh) | 一种PCIe Error Enabling测试方法 | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
US8892947B1 (en) | Method and system for automation framework for multi-node environments | |
CN104268076A (zh) | 一种适用各处理器平台的自动测试内存带宽的测试方法 | |
CN113759879B (zh) | 一种基于L3整车架构的车载以太网DoIP诊断刷写测试方法及系统 | |
CN101853203A (zh) | 一种嵌入式软件在线测试系统 | |
CN110928556A (zh) | 轨道车辆用程序自动烧录方法及装置、测试方法及系统 | |
CN103984613A (zh) | 一种自动测试cpu浮点运算性能测试方法 | |
CN102916741A (zh) | 一种光模块硬件在线测试方法 | |
CN110704315B (zh) | 一种嵌入式软件测试的故障注入装置 | |
CN107832176A (zh) | 一种Windows下硬盘压力自动测试方法及系统 | |
CN102681525A (zh) | 一种转换控制器的验证方法及系统 | |
CN107562583A (zh) | 一种在x86平台上自动测试内存ras特性的方法 | |
CN107562565A (zh) | 一种验证内存Patrol Scurb功能的方法 | |
CN107480019A (zh) | 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法 | |
CN107766193A (zh) | 一种ib卡性能自动测试方法及系统 | |
CN116662050A (zh) | 一种错误注入支持功能验证方法、装置、终端及介质 | |
CN107957954B (zh) | 一种Linux系统下提高测试数据安全性的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |