一种基于uefi的服务器nvme硬盘背板功能测试方法

文档序号:9750674阅读:822来源:国知局
一种基于uefi的服务器nvme硬盘背板功能测试方法
【技术领域】
[0001]本发明涉及服务器NVME硬盘背板工厂大规模测试领域,具体地说是一种基于UEFI的服务器NVME硬盘背板功能测试方法。
【背景技术】
[0002]在当前服务器NVME硬盘背板制造过程中,大都要进行功能测试,检测功能是否正常。
[0003]在当前服务器NVME硬盘背板工厂大规模功能测试中,大都在D0S、Windows和Linux等操作系统下进行测试。如在DOS下测试,DOS环境需要做DOS启动盘,驱动少,且UEFI B1S逐渐不支持DOS。如在Window或Linux操作系统下测试,需要启动操作系统,耗时长,对系统有依赖,如安装驱动、相应工具等,且操作系统盘需要日常维护,不利于工厂大规模测试。在NVME硬盘背板测试较多的情况下,机器频繁的启动操作系统,导致测试时间和人力的极大浪费,增加测试成本。

【发明内容】

[0004]本发明的技术任务是提供一种基于UEFI的服务器NVME硬盘背板功能测试方法。
[0005]本发明的技术任务是按以下方式实现的,该测试方法的步骤如下:
1)机器从uefishell启动;
2)uefi启动脚本引导进入测试U盘;
3)程序根据参数“NVME硬盘数量、待测扇区数量、偏移量”对背板上NVME硬盘进行数量检查、读写功能测试;
4)NVME硬盘数量相符、读写功能正常即判定NVME硬盘背板功能正常,为良品,否则为不良品O
[0006]该测试方法的具体步骤如下:
1)检查B1SSetup中的启动顺序,将boot from build-1n efi shell作为第一启动项,机器开机启动后自动进入build-1n efi shell ;
2)将NVME转接卡插入主板相应PCIe插槽中,将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑uefishell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;
4)通过参数传递给主测试程序背板实际硬盘数量、进行读写操作的扇区数量和偏移量;程序首先列出所有的硬盘数量,并和背板实际硬盘数量对比,相同则硬盘数量测试通过,否则为不通过;
5)根据参数传递来的扇区数量,通过ProtocolBlock1的成员函数ReadBlocks对硬盘扇区进行读操作,通过返回值判断读操作成功或失败。读操作成功则硬盘读测试通过,否则为不通过;
6)根据参数传递来的扇区数量,首先设置缓冲区;再通过ProtocolDisk1的成员函数ffriteDisk,对硬盘选中扇区进行置O操作,通过返回值判断置O操作成功或失败,成功则硬盘扇区写全O测试通过,否则为不通过;
7)根据参数传递来的扇区数量和偏移量,首先设置缓冲区;再通过ProtocolDisk1的成员函数ffriteDisk,对硬盘选中扇区进行置I操作,通过返回值判断置I操作成功或失败;成功则硬盘扇区写全I测试通过,否则为不通过。
[0007]所述的步骤2)用NVME线缆将NVME转接卡和NVME硬盘背板相连接。
[0008]本发明的一种基于UEFI的服务器NVME硬盘背板功能测试方法和现有技术相比,解决了现有测试方法耗时长,对系统有依赖,且操作系统盘需要日常维护,不利于工厂大规模测试的问题,实现NVME硬盘背板大规模测试时操作简单、速度快、节省测试时间和测试治具、可扩展性强、灵活度高,使NVME硬盘背板测试简单化、快捷化。
【附图说明】
[0009]附图1为一种基于UEFI的服务器NVME硬盘背板功能测试方法的流程框图。
【具体实施方式】
[0010]实施例1:
该基于UEFI的服务器NVME硬盘背板功能测试方法的具体步骤如下:
1)检查B1SSetup中的启动顺序,将boot from build-1n efi shell作为第一启动项,机器开机启动后自动进入build-1n efi shell ;
2)将NVME转接卡插入主板相应PCIe插槽中,用NVME线缆将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑uefishell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;
4)通过参数传递给主测试程序背板实际硬盘数量、进行读写操作的扇区数量和偏移量;程序首先列出所有的硬盘数量,并和背板实际硬盘数量对比,相同则硬盘数量测试通过,否则为不通过;
5)根据参数传递来的扇区数量,通过ProtocolBlock1的成员函数ReadBlocks对硬盘扇区进行读操作,通过返回值判断读操作成功或失败。读操作成功则硬盘读测试通过,否则为不通过;
6)根据参数传递来的扇区数量,首先设置缓冲区;再通过ProtocolDisk1的成员函数ffriteDisk,对硬盘选中扇区进行置O操作,通过返回值判断置O操作成功或失败,成功则硬盘扇区写全O测试通过,否则为不通过;
7)根据参数传递来的扇区数量和偏移量,首先设置缓冲区;再通过ProtocolDisk1的成员函数ffriteDisk,对硬盘选中扇区进行置I操作,通过返回值判断置I操作成功或失败;成功则硬盘扇区写全I测试通过,否则为不通过。
[0011]实施例2: 该基于UEFI的服务器NVME硬盘背板功能测试方法的具体步骤如下:
1)检查B1SSetup中的启动顺序,将boot from build-1n efi shell作为第一启动项,机器开机启动后自动进入build-1n efi shell;
2)将NVME转接卡插入主板相应PCIe插槽中,用NVME线缆将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑uefishell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;startup.nsh示例如下:
?echo -offcls O
echo ,,Searching for Diagnostic Drive,,for %d in fsO fsl fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fslOset diagdrive %dif exist %diagdrive%:\flag then
echo Located Diagnostic Drive on %diagdrive%:goto SET—DIA⑶RIVEendifendfor
if not exist flag then
echo ,,Missing flag file, unable to determine test drive,,goto ENDendif:SET—DIA⑶RIVE%diagdrive%:del tmp\* > 0goto
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1