CN104268052A - 一种基于ITP工具的Memory Rank Spare测试方法 - Google Patents

一种基于ITP工具的Memory Rank Spare测试方法 Download PDF

Info

Publication number
CN104268052A
CN104268052A CN201410561679.1A CN201410561679A CN104268052A CN 104268052 A CN104268052 A CN 104268052A CN 201410561679 A CN201410561679 A CN 201410561679A CN 104268052 A CN104268052 A CN 104268052A
Authority
CN
China
Prior art keywords
rank
spare
ecc error
memory
control end
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
Application number
CN201410561679.1A
Other languages
English (en)
Other versions
CN104268052B (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 CN201410561679.1A priority Critical patent/CN104268052B/zh
Publication of CN104268052A publication Critical patent/CN104268052A/zh
Application granted granted Critical
Publication of CN104268052B publication Critical patent/CN104268052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种基于ITP工具的MemoryRankSpare测试方法,其具体实现过程为:安装使用ITP工具,在python平台上通过Cscripts脚本,反复给内存spare的rank和非spare的rank入单BitECCError,根据查看内存rank中的ECCError数目来检测rankspare功能是否生效。该一种基于ITP工具的MemoryRankSpare测试方法与现有技术相比,全方位的检测出spare的rank和非spare的rank是否正常工作,也验证了MemoryRAS中RankSpare的功能是否生效;模拟用户在实际应用中内存出现的ECCError,确保RankSpare的功能实现,也有效确保服务器的可靠性和安全性。

Description

一种基于ITP工具的Memory Rank Spare测试方法
技术领域
本发明涉及计算机技术领域,具体地说是一种实用性强、基于ITP工具的Memory Rank Spare测试方法。
背景技术
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务,对服务器的安全可靠要求越来越高。作为服务器产品提供商,一款服务器无论是在研发阶段还是生产阶段都需要对产品进行安全性测试,从而严格保证该产品的安全性,其主要体现在RAS性能上。
RAS特性中重要的一点就是内存的RAS特性。内存是一种电子器件,在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。内存错误根据其原因还可分为硬错误和软错误。硬件错误是由于硬件的损害或缺陷造成的,因此数据总是不正确;软错误是随机出现的,例如在内存附近突然出现电子干扰等因素都可能造成内存软错误的发生。
RAS性能指的是机器的可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability),系统必须尽可能的可靠,不会意外的崩溃,重启甚至导致系统物理损坏,这意味着一个具有可靠性的系统必须能够对于某些小的错误导致的硬件功能失效做出热备。Memory RAS中的Rank Spare功能可以对内存出现达到阈值的ECC Error做到容错热备功能,它的测试方法也是多种多样,基于此,现提供一种基于ITP工具的Memory Rank Spare测试方法,该方法使用ITP工具给内存注错,模拟实际应用中内存出错情况,通过读取寄存器的值来考量Memory RAS功能是否成功实现。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于ITP工具的Memory Rank Spare测试方法。
一种基于ITP工具的Memory Rank Spare测试方法,其具体实现过程为:
一、准备Windows测试机和Windows控制端;
二、用ITP工具连接测试机和控制端;
三、测试机上电开机,进入BIOS Setup界面;
四、将所要设为spare的内存rank设置为[Enabled],同时设置阈值Spare Error Threshold;
五、保存设置后退出,重启测试机,待测试机进入Windows系统;
六、在控制端输入指令,给测试机内存上设置了spare的rank注入单bit ECC Error;
七、待注错结束后,输入指令查看该Rank上ECC Error数目,由于此rank目前作为热备且没有工作,Error数目为0,即保持不变;
八、再给该内存中没有设置为Spare的其它Rank注入单bit ECC Error;
九、待注错结束后,查看相应内存中的rank上ECC Error数目增加1;
十、继续给该内存中没有设置为Spare的Rank注入单Bit ECC Error,直至error数目达到BIOS中设定的阈值;
十一、输入指令查看该相应内存中的Rank上ECC Error数目变为0;
十二、继续给该Rank注错,查看该Rank上的ECC Error数目为0保持不变;
十三、再重新给设置为Spare的Rank注入单bit ECC Error;
十四、输入指令查看相应内存中的ECC Error数目增加1。
所述Windows测试机是指安装Windows操作系统的测试平台;Windows控制端是指安装 .Netframework3.5和.Netframework4.0、安装工具Intel® Platform Debug Toolkit,并且拷贝Cscripts脚本的Windows控制端平台。
所述步骤二的详细过程为:将测试平台断电,然后将ITP工具的数据线XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP电源。
所述步骤六及步骤十三中给内存的Rank注入单bit ECC Error过程均为:
在控制端打开工具Intel® Platform Debug Toolkit中的Config Console,选择系统相应的平台后,点击Apply连接上测试机;
控制端系统中打开Cscripts脚本文件中的Python控制台startivt_oem.py;
Python控制台中输入指令,给设置为Spare的Rank注入单bit ECC Error。
本发明的一种基于ITP工具的Memory Rank Spare测试方法,具有以下优点:
该发明的一种基于ITP工具的Memory Rank Spare测试方法适用于带有XDP接口,支持在SMI2 Channel上选择备用Rank的X86服务器产品,适用范围广泛;人为的给内存注入ECC Error来模拟实际应用中出现的情况,来触发Memory RAS Rank Spare功能,能够精准的判断Rank Spare功能是否生效,确保Rank Spare的功能实现,该测试方法操作简单,实用性较强,有效确保了服务器的可靠性和安全性。
附图说明
附图1为本发明实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
在现有技术中,IVB-EX的处理器支持在一个SMI2 Channel上选择一个备用的Rank,即Spare Rank,当这个SMI2 Channel内的某个Rank上错误数目达到一定阈值后,Spare Engine就会将这个Fail的Rank内容拷贝到Spare的Rank。以后任何对Fail Rank的访问都会直接访问到Spare的Rank。从IVB-EX 的C0 Stepping开始支持Multi-Rank的Sparing,一个SMI Channel下最多可以有4个Rank处于Sparing的状态,其中一个SMI Channel下最多有8个Rank。
基于此,现提供一种基于ITP工具的Memory Rank Spare测试方法,如附图1所示,其具体实现过程为:
一、准备好Windows测试平台,即安装Windows操作系统的测试机。
二、准备好Windows控制端平台,需要在控制机上安装 .Netframework3.5和.Netframework4.0),安装工具Intel® Platform Debug Toolkit (Intel® PDT),并且拷贝Cscripts脚本。
三、在测试平台断电情况下,将ITP工具的数据线XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP电源。
四、测试机上电开机,进入BIOS Setup界面。
五、将所要设为spare的内存rank设置为[Enabled],同时设置阈值“Spare Error Threshold”(此处注意,其他能够修正ECC Error的选项均要设置为Disabled)。
六、保存设置后退出,重启测试机台,待测试机进入Windows系统。
七、在控制端打开工具Intel® Platform Debug Toolkit (Intel® PDT)中的Config Console,选择系统相应的平台后,点击Apply连接上测试机。
八、控制端系统中打开Cscripts脚本文件中的Python控制台“startivt_oem.py”。
九、Python控制台中输入指令,给设置为Spare的Rank注入单bit ECC Error。输入:
#halt
#ei.injectMemError(socket=*,channel=[*,*],dimm=*,rank=*)
#go 。
在上述脚本中,“*”代表需要注错的内存所在的socket,channel,dimm。
十、待注错结束后,查看相应内存中的ECC Error数目,由于此rank目前作为热备,所以并没有工作,Error数为0(即保持不变)。输入:
#halt
#ei.disp_ecc_cnt()。
十一、再给该内存中没有设置为Spare的Rank注入单bit ECC Error。
十二、待注错结束后,查看相应内存中的ECC Error数目增加1。
十三、继续给该内存中没有设置为Spare的Rank注入单Bit ECC Error,直至error数目达到BIOS中设定的阈值。
十四、输入指令查看相应内存中的ECC Error数目变为0。
十五、继续注错,输入指令查看内存中的ECC Error。由于此Rank的ECC Error数目超过了阈值,被放弃使用,系统改用设置为spare的rank工作。此时查看ECC Error数目不变,依旧为0。
十六、此时,再重新给设置为Spare的Rank注入单bit ECC Error。
十七、输入指令查看相应内存中的ECC Error数目增加1,此时,测试过程结束。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于ITP工具的Memory Rank Spare测试方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (4)

1.一种基于ITP工具的Memory Rank Spare测试方法,其特征在于,其具体实现过程为:
一、准备Windows测试机和Windows控制端;
二、用ITP工具连接测试机和控制端;
三、测试机上电开机,进入BIOS Setup界面;
四、将所要设为spare的内存rank设置为[Enabled],同时设置阈值Spare Error Threshold;
五、保存设置后退出,重启测试机,待测试机进入Windows系统;
六、在控制端输入指令,给测试机内存上设置了spare的rank注入单bit ECC Error;
七、待注错结束后,输入指令查看该Rank上ECC Error数目,由于此rank目前作为热备且没有工作,Error数目为0,即保持不变;
八、再给该内存中没有设置为Spare的其它Rank注入单bit ECC Error;
九、待注错结束后,查看相应内存中的rank上ECC Error数目增加1;
十、继续给该内存中没有设置为Spare的Rank注入单Bit ECC Error,直至error数目达到BIOS中设定的阈值;
十一、输入指令查看该相应内存中的Rank上ECC Error数目变为0;
十二、继续给该Rank注错,查看该Rank上的ECC Error数目为0保持不变;
十三、再重新给设置为Spare的Rank注入单bit ECC Error;
十四、输入指令查看相应内存中的ECC Error数目增加1。
2.根据权利要求1所述的一种基于ITP工具的Memory Rank Spare测试方法,其特征在于,所述Windows测试机是指安装Windows操作系统的测试平台;Windows控制端是指安装 .Netframework3.5和.Netframework4.0、安装工具Intel® Platform Debug Toolkit,并且拷贝Cscripts脚本的Windows控制端平台。
3.根据权利要求2所述的一种基于ITP工具的Memory Rank Spare测试方法,其特征在于,所述步骤二的详细过程为:将测试平台断电,然后将ITP工具的数据线XDP接口端插在主板的XDP接口,USB口插在控制端的USB端口上,并插上ITP电源。
4.根据权利要求2所述的一种基于ITP工具的Memory Rank Spare测试方法,其特征在于,所述步骤六及步骤十三中给内存的Rank注入单bit ECC Error过程均为:
在控制端打开工具Intel® Platform Debug Toolkit中的Config Console,选择系统相应的平台后,点击Apply连接上测试机;
控制端系统中打开Cscripts脚本文件中的Python控制台startivt_oem.py;
Python控制台中输入指令,给设置为Spare的Rank注入单bit ECC Error。
CN201410561679.1A 2014-10-21 2014-10-21 一种基于ITP工具的Memory Rank Spare测试方法 Active CN104268052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410561679.1A CN104268052B (zh) 2014-10-21 2014-10-21 一种基于ITP工具的Memory Rank Spare测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410561679.1A CN104268052B (zh) 2014-10-21 2014-10-21 一种基于ITP工具的Memory Rank Spare测试方法

Publications (2)

Publication Number Publication Date
CN104268052A true CN104268052A (zh) 2015-01-07
CN104268052B CN104268052B (zh) 2016-02-03

Family

ID=52159575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410561679.1A Active CN104268052B (zh) 2014-10-21 2014-10-21 一种基于ITP工具的Memory Rank Spare测试方法

Country Status (1)

Country Link
CN (1) CN104268052B (zh)

Cited By (10)

* 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 浪潮电子信息产业股份有限公司 一种存储器目标测试方法
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特性的方法
CN109101383A (zh) * 2018-08-09 2018-12-28 郑州云海信息技术有限公司 一种内存检测的测试方法及系统
CN109101353A (zh) * 2018-08-24 2018-12-28 联想(北京)有限公司 一种电子设备部件的特性检测方法和电子设备
CN109656768A (zh) * 2018-12-27 2019-04-19 郑州云海信息技术有限公司 一种查看cpu ieer的测试方法
CN111767241A (zh) * 2019-04-02 2020-10-13 鸿富锦精密电子(天津)有限公司 一种PCIe注错测试方法、装置以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872790A (en) * 1997-02-28 1999-02-16 International Business Machines Corporation ECC memory multi-bit error generator
CN102214125A (zh) * 2011-06-13 2011-10-12 浪潮电子信息产业股份有限公司 一种内存ecc功能的测试方法
CN102930903A (zh) * 2012-10-26 2013-02-13 华为技术有限公司 一种内存测试方法及设备
CN103092739A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种内存ecc报错报警机制
CN103984650A (zh) * 2014-05-15 2014-08-13 浪潮电子信息产业股份有限公司 一种模拟内存ecc error发生装置的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872790A (en) * 1997-02-28 1999-02-16 International Business Machines Corporation ECC memory multi-bit error generator
CN102214125A (zh) * 2011-06-13 2011-10-12 浪潮电子信息产业股份有限公司 一种内存ecc功能的测试方法
CN102930903A (zh) * 2012-10-26 2013-02-13 华为技术有限公司 一种内存测试方法及设备
CN103092739A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种内存ecc报错报警机制
CN103984650A (zh) * 2014-05-15 2014-08-13 浪潮电子信息产业股份有限公司 一种模拟内存ecc error发生装置的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ELI等: "Improving Scratch-Pad Memory Reliability Through Compiler-Guided Data Block Duplication", 《IEEE/ACM INTERNATION CONFERENCE ON COMPUTER-AIDED DESIGN》, 10 November 2005 (2005-11-10), pages 999 - 1002 *
刘春裕等: "基于PolySpace的嵌入式软件内存测试", 《电脑知识与技术》, vol. 6, no. 1, 31 January 2010 (2010-01-31), pages 84 - 87 *
范新民: "高并发环境下MySQL软硬件配置优化", 《福建师范大学学报(自然科学版)》, vol. 29, no. 6, 13 November 2013 (2013-11-13), pages 49 - 54 *

Cited By (12)

* 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 浪潮电子信息产业股份有限公司 一种存储器目标测试方法
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测试方法
CN109101383A (zh) * 2018-08-09 2018-12-28 郑州云海信息技术有限公司 一种内存检测的测试方法及系统
CN109101353A (zh) * 2018-08-24 2018-12-28 联想(北京)有限公司 一种电子设备部件的特性检测方法和电子设备
CN109101353B (zh) * 2018-08-24 2021-04-13 联想(北京)有限公司 一种电子设备部件的特性检测方法和电子设备
CN109656768A (zh) * 2018-12-27 2019-04-19 郑州云海信息技术有限公司 一种查看cpu ieer的测试方法
CN111767241A (zh) * 2019-04-02 2020-10-13 鸿富锦精密电子(天津)有限公司 一种PCIe注错测试方法、装置以及存储介质
CN111767241B (zh) * 2019-04-02 2022-04-29 富联精密电子(天津)有限公司 一种PCIe注错测试方法、装置以及存储介质

Also Published As

Publication number Publication date
CN104268052B (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
CN104268052B (zh) 一种基于ITP工具的Memory Rank Spare测试方法
CN104317690B (zh) 一种基于ITP工具的Memory Demand Scrub测试方法
CN104484274A (zh) 一种基于itp工具的内存轮巡检查功能测试方法
US7020803B2 (en) System and methods for fault path testing through automated error injection
US7555676B2 (en) Systems and methods for providing remotely accessible in-system emulation and/or debugging
US8156317B2 (en) Integrated circuit with secure boot from a debug access port and method therefor
Hanawa et al. Large-scale software testing environment using cloud computing technology for dependable parallel and distributed systems
CN100476837C (zh) 一种支持随机指令测试的微处理器fpga验证装置
KR20090118863A (ko) 오퍼레이팅 시스템 메모리 핫 애드를 시뮬레이션하여 파워온 시간을 감소시키는 방법
CN105138438A (zh) 一种memory patrol scrub测试方法
Potyra et al. Evaluating fault-tolerant system designs using FAUmachine
CN107832179A (zh) 一种PCIe Error Enabling测试方法
CN103973515A (zh) 一种网卡稳定性测试方法
CN105185413A (zh) 用于片上存储管理单元容错结构的自动验证平台与方法
CN102831058B (zh) 一种测试方法和装置
CN102147831A (zh) 逻辑验证方法和装置
CN102916741A (zh) 一种光模块硬件在线测试方法
WO2016155289A1 (zh) 一种加速芯片中断控制器验证的系统及方法
Floridia et al. Hybrid on-line self-test strategy for dual-core lockstep processors
Hanawa et al. Customizing virtual machine with fault injector by integrating with SpecC device model for a software testing environment D-cloud
KR102131230B1 (ko) 파워트레인 제어기의 램 에러 감지 로직의 자가진단 방법 및 장치
CN107766247B (zh) Bootloader的测试方法、装置及可读存储介质
CN107562565A (zh) 一种验证内存Patrol Scurb功能的方法
CN107480019A (zh) 一种基于Intel Skylake处理器的服务器内存Rank Spare测试方法
CN107562583A (zh) 一种在x86平台上自动测试内存ras特性的方法

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