本发明涉及一种内存测试方法。
背景技术:
在服务器使用过程中,内存报错对系统性能和稳定性有很大影响,可纠正的ecc会占用cpu纠错资源,而不可纠正的uce错误则会直接导致系统致命性的宕机,所以提前筛选出故障内存非常重要,在测试和生产时排除掉有风险的内存,仅使用品质高的内存,可以有效保证服务器的稳定运行。
内存常见的错误有两种,一种是内存最基本的存储单元电容发生物理故障,不能完成高低电平的转换,即发生了固定型错误(safs);另一种常见错误是内存行列地址不能在规定时间内完成解码,即发生了地址解码错误(afs)。
技术实现要素:
本发明要解决的技术问题是提出一种内存测试方法,能够在测试环节通过对数据类型和地址空间的组合,在测试和生产时排除掉有风险的内存,仅使用品质高的内存,可以有效保证服务器的稳定运行,快速测试出内存错误。
本发明提供了一种内存测试方法,包括以下步骤:
步骤一,写入数据到所有内存空间;
步骤二,将步骤一写入的数据取反后间隔地写入内存空间,写入的地址按照设定步长跳变;
步骤三,读取步骤二中写入取反数据的内存空间相邻地址的数据,和步骤一中写入数据比较,不一致则报错;
步骤四,写入数据到所有内存空间;
步骤五,将步骤四写入的数据取反后间隔地写入行,写入行按照设定步长跳变;
步骤六,读取步骤五中写入取反数据的内存空间相邻上下行的数据,和步骤四中写入数据比较,不一致则报错;
步骤七,写入数据到所有内存空间;
步骤八,将步骤七写入的数据取反后间隔地写入列,写入列按照设定步长跳变;
步骤九,读取步骤八中写入取反数据的内存空间相邻左右列的数据,和步骤七中写入数据比较,不一致则报错;
优选地,在步骤一写入数据到所有内存空间之前还包括:内存初始化;
优选地,在步骤一写入数据到所有内存空间之前还包括:设定刷新时间间隔;
通常主板上使用的内存条应该叫做动态dram,其中的数据是靠电容特性存储的。由于电容会放电,要维持数据,就要不断的给它充电。给动态dram定期充电的机制就叫做数据刷新时钟电路,即内存刷新电路,内存刷新电路必须在数毫秒(ms)之内对dram刷新一次,否则数据就会丢失。本发明的刷新时间间隔选取的比正常使用时行业规定的长一些,这样可以快速测试出内存错误,排除掉有风险的内存。
优选地,在步骤一写入数据到所有内存空间之前还包括:设定写入数据的组合类型。
可以采用预先设定数据组合类型,在实际测试中也可以由测试者选择输入数据组合类型。测试常用的数据组合类型有0x01010101和0x0f0f0f0f。
本发明通过对内存空间频繁进行高低电平跳转,能够快速检查因存储单元电容发生物理故障产生的内存报错,对列(column)和行(row)设定特定的算法和时序要求,能够快速检查出地址解码错误,特定的算法是指对数据取反,然后写入列、行,时序要求指刷新时间参数加严,刷新时间间隔选取的比正常使用时行业规定的长一些。本发明能够在测试环节通过对数据类型和地址空间的组合,在测试和生产时排除掉有风险的内存,仅使用品质高的内存,可以有效保证服务器的稳定运行,快速测试出内存错误。
附图说明
图1是内存测试方法的流程图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。
如图1所示,本发明一种内存测试方法,包括以下步骤:
步骤一,写入数据到所有内存空间;
步骤二,将步骤一写入的数据取反后间隔地写入内存空间,写入的地址按照设定步长跳变;
步骤三,读取步骤二中写入取反数据的内存空间相邻地址的数据,和步骤一中写入数据比较,不一致则报错;
步骤四,写入数据到所有内存空间;
步骤五,将步骤四写入的数据取反后间隔地写入行,写入行按照设定步长跳变;
步骤六,读取步骤五中写入取反数据的内存空间相邻上下行的数据,和步骤四中写入数据比较,不一致则报错;
步骤七,写入数据到所有内存空间;
步骤八,将步骤七写入的数据取反后间隔地写入列,写入列按照设定步长跳变;
步骤九,读取步骤八中写入取反数据的内存空间相邻左右列的数据,和步骤七中写入数据比较,不一致则报错;
优选地,在步骤一写入数据到所有内存空间之前还包括:内存初始化;
优选地,在步骤一写入数据到所有内存空间之前还包括:设定刷新时间间隔;
通常主板上使用的内存条应该叫做动态dram,其中的数据是靠电容特性存储的。由于电容会放电,要维持数据,就要不断的给它充电。给动态dram定期充电的机制就叫做数据刷新时钟电路,即内存刷新电路,内存刷新电路必须在数毫秒(ms)之内对dram刷新一次,否则数据就会丢失。本发明的刷新时间间隔选取的比正常使用时行业规定的长一些,这样可以快速测试出内存错误,排除掉有风险的内存。
优选地,在步骤一写入数据到所有内存空间之前还包括:设定写入数据的组合类型。
可以采用预先设定数据组合类型,在实际测试中也可以由测试者选择输入数据组合类型。测试常用的数据组合类型有0x01010101和0x0f0f0f0f,采用上述两种数据组合类型,可以快速测试出内存报错。
本发明通过对内存空间频繁进行高低电平跳转,能够快速检查因存储单元电容发生物理故障产生的内存报错,对列(column)和行(row)设定特定的算法和时序要求,能够快速检查出地址解码错误,特定的算法是指对数据取反,然后写入列、行,时序要求指刷新时间参数加严,刷新时间间隔选取的比正常使用时行业规定的长一些。