一种实现存储子系统数据完整性测试的方法及系统与流程

文档序号:11585729阅读:320来源:国知局

本发明涉及服务器测试技术领域,具体提供一种实现存储子系统数据完整性测试的方法及系统。



背景技术:

计算机具有存储信息量大,使用者获取信息方便快捷等优点,受到广泛的应用。相较于普通的计算机,服务器具有更加优良的稳定性、扩展性、性能等,受到各大型企业的青睐。特别是随着经济及社会的进一步发展,各大型企业对服务器的各项性能要求越来越高。硬盘是服务器中重要的存储媒介之一,在服务器的存储系统中起着重要作用。服务器存储存在多种架构,如使用pch直连硬盘;部分cpu支持直连硬盘;使用sas卡或者raid卡直连硬盘,将pcie信号转换为sata或者sas信号;使用sas卡或者raid卡直连expander,将pcie信号转换为sata或者sas信号。一般来讲,硬盘厂商和控制器厂商在出厂时进行数据校验检测,该种检测一般基于ate测试方法,将存在故障的部件筛选出来,但是仍然有故障芯片或者部件检测不出来的风险。因此,在服务器生产过程中,需要进行一种功能测试,对硬盘数据完整性进行校验,保证整个系统的数据完整性。



技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种可以保证客户数据完整性,降低客户存储数据出错的风险,并提高服务器产品的可靠性的实现存储子系统数据完整性测试的方法。

本发明进一步的技术任务是提供一种实现存储子系统数据完整性测试的系统。

为实现上述目的,本发明提供了如下技术方案:

一种实现存储子系统数据完整性测试的方法,所述数据完整性测试的方法基于os下对硬盘数据进行读写校验,直接对存储子系统中的cpu、pch、raid卡、sas卡、expander卡、硬盘进行功能测试,完成对存储子系统数据完整性测试。

所述测试的方法可以在服务器产品产线老化测试过程中导入,在os下使用软件进行测试。

作为优选,所述数据完整性测试的方法具体包括以下步骤:

s1:根据测试要求确认每个硬盘的最大测试地址,设为0-m;

s2:将每个硬盘的0-m范围内使用pattern=0x00000000,进行写入,将该部分地址全部写为0;

s3:将每个硬盘的0-m范围内从地址0开始读出数据,如果为0,则写入pattern=0xffffffff;

s4:将每个硬盘的0-m范围内从地址0开始读出数据,如果为f,则写入pattern=0x55555555;

s5:将每个硬盘的0-m范围内从地址0开始读出数据,如果为5,则写入pattern=0xaaaaaaaa;

s6:将每个硬盘的0-m范围内从地址0开始读出数据,如果为a,则测试通过。

作为优选,所述数据完整性测试的方法中,校验失败时,将校验失败的步骤和地址写入log,测试过程中,自动检查log,从而确认故障位置及原因。

一种实现存储子系统数据完整性测试的系统,所述数据完整性测试的系统包括:

写入模块:用于写入根据测试要求确认的每个硬盘的测试地址范围;

读取模块:用于根据每个硬盘的测试地址范围依次读取地址数据;

判定模块:用于根据读取的硬盘的测试地址数据判定存储子系统的数据完整性。

本发明中根据测试要求确认每个硬盘的最大测试地址设为0-m,写入模块将每个硬盘的0-m范围内使用pattern=0x00000000进行写入,将这部分地址全部写为0。读取模块将每个硬盘的0-m范围内从地址0开始读出数据,如果为0,则写入pattern=0xffffffff,读取模块继续将每个硬盘的0-m范围内从地址0开始读出数据,如果为f,则写入pattern=0x55555555,读取模块继续将每个硬盘的0-m范围内从地址0开始读出数据,如果为5,则写入pattern=0xaaaaaaaa,读取模块继续将每个硬盘的0-m范围内从地址0开始读出数据,如果为a,则测试通过。

作为优选,所述数据完整性测试的系统还包括故障确认模块,用于在自动化测试过程中确认硬盘故障位置和原因。

在测试过程中,如果出现校验失败的情况,则将失败步骤和地址写入log,在自动化测试过程中,可以自动检查log,确认故障位置和原因。

作为优选,所述数据完整性测试的系统用于对存储子系统中的cpu、pch、raid卡、sas卡、expander卡、硬盘进行功能测试。

与现有技术相比,本发明的实现存储子系统数据完整性测试的方法具有以下突出的有益效果:本发明所述的存储子系统数据完整性测试的方法,可以对不同的服务器存储架构进行硬盘数据完整性测试,测试后的服务器产品,可以保证客户的数据完整性,降低客户存储数据出错的风险,提高服务器产品的可靠性。

具体实施方式

下面将结合实施例,对本发明的实现存储子系统数据完整性测试的方法及系统作进一步详细说明。

实施例1

本发明的实现存储子系统数据完整性测试的方法,基于os下对硬盘数据进行读写校验,直接对存储子系统中的cpu、pch、raid卡、sas卡、expander卡、硬盘进行功能测试,完成对存储子系统数据完整性测试。

该实现存储子系统数据完整性测试的方法具体包括以下步骤:

s1:根据测试要求确认每个硬盘的最大测试地址,设为0-m;

s2:将每个硬盘的0-m范围内使用pattern=0x00000000,进行写入,将该部分地址全部写为0;

s3:将每个硬盘的0-m范围内从地址0开始读出数据,如果为0,则写入pattern=0xffffffff;

s4:将每个硬盘的0-m范围内从地址0开始读出数据,如果为f,则写入pattern=0x55555555;

s5:将每个硬盘的0-m范围内从地址0开始读出数据,如果为5,则写入pattern=0xaaaaaaaa;

s6:将每个硬盘的0-m范围内从地址0开始读出数据,如果为a,则测试通过,若测试不通过,即校验失败时,将校验失败的步骤和地址写入log,测试过程中,自动检查log,从而确认故障位置及原因。

实施例2

一种实现存储子系统数据完整性测试的系统,包括写入模块、读取模块、判定模块和故障确认模块。

写入模块用于写入根据测试要求确认的每个硬盘的测试地址范围,确认每个硬盘的最大测试地址设为0-m,写入模块将每个硬盘的0-m范围内使用pattern=0x00000000进行写入,将这部分地址全部写为0。

读取模块将每个硬盘的0-m范围内从地址0开始读出数据,如果为0,则写入pattern=0xffffffff,读取模块继续将每个硬盘的0-m范围内从地址0开始读出数据,如果为f,则写入pattern=0x55555555,读取模块继续将每个硬盘的0-m范围内从地址0开始读出数据,如果为5,则写入pattern=0xaaaaaaaa,读取模块继续将每个硬盘的0-m范围内从地址0开始读出数据,如果为a,则判定模块判定测试通过。

在测试过程中,如果出现校验失败的情况,则故障确认模块将失败步骤和地址写入log,在自动化测试过程中,自动检查log,确认故障位置和原因。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1