CN104484274B - 一种基于itp工具的内存轮巡检查功能测试方法 - Google Patents

一种基于itp工具的内存轮巡检查功能测试方法 Download PDF

Info

Publication number
CN104484274B
CN104484274B CN201410813570.2A CN201410813570A CN104484274B CN 104484274 B CN104484274 B CN 104484274B CN 201410813570 A CN201410813570 A CN 201410813570A CN 104484274 B CN104484274 B CN 104484274B
Authority
CN
China
Prior art keywords
internal memory
itp
taking turn
control end
audit function
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
CN201410813570.2A
Other languages
English (en)
Other versions
CN104484274A (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.)
Inspur Electronic Information Industry 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 CN201410813570.2A priority Critical patent/CN104484274B/zh
Publication of CN104484274A publication Critical patent/CN104484274A/zh
Application granted granted Critical
Publication of CN104484274B publication Critical patent/CN104484274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于ITP工具的内存轮巡检查功能测试方法,属于内存的测试方法,其方法为使用ITP工具给内存注入ECC Error注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现。本发明适用于带有XDP接口,支持Memory Patrol Scrub功能的X86服务器产品;操作简单,实用性较强,有效确保了服务器的可靠性和安全性。

Description

一种基于ITP工具的内存轮巡检查功能测试方法
技术领域
本发明涉及一种内存的测试方法,具体地说是一种基于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工具给内存注入ECCError注错,模拟实际应用中内存出错情况,通过读取寄存器的值模拟实际应用中系统寄存器访问内存地址,来判断内存轮巡检查功能是否成功实现;具体包括如下步骤:
(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数目,发现ECCError数目保持不变。
步骤(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数目,发现ECCError数目保持不变。
实施例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数目,发现ECCError数目保持不变。
步骤(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 ECCError;
(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;在控制端平台上,安装工具Platform Debug Toolkit,并且拷贝Cscripts中的startivt_oem.py脚本。
4.根据权利要求1所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(3)中,测试机与控制端平台断电情况下,将ITP工具的数据线XDP接口端插在测试机的主板的XDP接口,USB口插在控制端平台的USB端口上,并插上ITP电源。
5.根据权利要求3所述的一种基于ITP工具的内存轮巡检查功能测试方法,其特征在于步骤(7)中,在控制端平台打开工具Platform DebugToolkit中的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()。
CN201410813570.2A 2014-12-24 2014-12-24 一种基于itp工具的内存轮巡检查功能测试方法 Active CN104484274B (zh)

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 CN104484274A (zh) 2015-04-01
CN104484274B true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017003440A1 (en) * 2015-06-30 2017-01-05 Hewlett-Packard Development Company, L.P. Patrol scrub periods based on power status
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 郑州云海信息技术有限公司 一种测试不可修正错误降级成可修正错误功能的方法
CN112241346B (zh) * 2020-10-23 2023-03-03 浪潮电子信息产业股份有限公司 对bios内存故障检测能力的测试方法、装置及系统
CN113821369A (zh) * 2021-11-23 2021-12-21 苏州浪潮智能科技有限公司 一种内存巡检的方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492326A (zh) * 2002-10-24 2004-04-28 联想(北京)有限公司 一种内存错误产生器及计算机主板内存纠错功能测试方法
KR20080053787A (ko) * 2006-12-11 2008-06-16 삼성전자주식회사 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
基于PolySpace的嵌入式软件内存测试;刘春裕 等;《电脑知识与技术》;20100131;第6卷(第1期);第85-87页 *

Also Published As

Publication number Publication date
CN104484274A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104484274B (zh) 一种基于itp工具的内存轮巡检查功能测试方法
CN104317690B (zh) 一种基于ITP工具的Memory Demand Scrub测试方法
CN104268052B (zh) 一种基于ITP工具的Memory Rank Spare测试方法
US8549522B1 (en) Automated testing environment framework for testing data storage systems
CN107832179A (zh) 一种PCIe Error Enabling测试方法
CN103973515A (zh) 一种网卡稳定性测试方法
CN102968377A (zh) 一种基于虚拟机技术的机载软件系统测试通用平台
US20100005455A1 (en) Managing software dependencies during software testing and debugging
CN104268076A (zh) 一种适用各处理器平台的自动测试内存带宽的测试方法
CN108923997B (zh) 一种基于python的云服务节点自动测试方法及装置
US9183122B2 (en) Automated program testing to facilitate recreation of test failure
CN105138438A (zh) 一种memory patrol scrub测试方法
CN100412811C (zh) 测试程序除错装置与方法、半导体测试装置及测试方法
US8560991B1 (en) Automatic debugging using automatic input data mutation
CN107832176A (zh) 一种Windows下硬盘压力自动测试方法及系统
CN112905403B (zh) 一种用于多台计算机的批量同步测试方法及系统
CN103713977B (zh) 一种微处理器ip核比较验证的实现方法
CN107562565A (zh) 一种验证内存Patrol Scurb功能的方法
CN107480019A (zh) 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法
CN107562583A (zh) 一种在x86平台上自动测试内存ras特性的方法
US8639978B2 (en) Topology independent network-based automation infrastructure
Muli et al. Virtual validation-a new paradigm in controls engineering
Svenningsson et al. Formal methods based acceptance testing for AUTOSAR exchangeability
CN112765021A (zh) 一种引导程序的调试检验方法、装置、设备及存储介质
CN101533367B (zh) 分析程序错误的方法及其判读数据的制作方法

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