CN105511993B - 一种基于uefi的服务器nvme硬盘背板功能测试方法 - Google Patents
一种基于uefi的服务器nvme硬盘背板功能测试方法 Download PDFInfo
- Publication number
- CN105511993B CN105511993B CN201510902242.4A CN201510902242A CN105511993B CN 105511993 B CN105511993 B CN 105511993B CN 201510902242 A CN201510902242 A CN 201510902242A CN 105511993 B CN105511993 B CN 105511993B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- test
- nvme
- backboard
- uefi
- 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
Links
- 238000010998 test method Methods 0.000 title claims abstract description 17
- 238000012360 testing method Methods 0.000 claims abstract description 36
- 230000002950 deficient Effects 0.000 claims abstract description 4
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- OEXWWDYOBBQCKD-UHFFFAOYSA-N SSSSSS Chemical compound SSSSSS OEXWWDYOBBQCKD-UHFFFAOYSA-N 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- UTOGVBKEQYRZJE-UHFFFAOYSA-N PPPPPPPP Chemical compound PPPPPPPP UTOGVBKEQYRZJE-UHFFFAOYSA-N 0.000 description 1
- LKJCZXIGFPOQPC-UHFFFAOYSA-N SSSSSSSSSSSSSSSS Chemical compound SSSSSSSSSSSSSSSS LKJCZXIGFPOQPC-UHFFFAOYSA-N 0.000 description 1
- WDZRUXKVLXELHY-UHFFFAOYSA-N SSSSSSSSSSSSSSSSSS Chemical compound SSSSSSSSSSSSSSSSSS WDZRUXKVLXELHY-UHFFFAOYSA-N 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于UEFI的服务器NVME硬盘背板功能测试方法,该测试方法的步骤如下:1)机器从uefi shell启动;2)uefi启动脚本引导进入测试U盘;3)程序根据参数“NVME硬盘数量、待测扇区数量、偏移量”对背板上NVME硬盘进行数量检查、读写功能测试;4)NVME硬盘数量相符、读写功能正常即判定NVME硬盘背板功能正常,为良品,否则为不良品。本发明解决了现有测试方法耗时长,对系统有依赖,且操作系统盘需要日常维护,不利于工厂大规模测试的问题,实现NVME硬盘背板大规模测试时操作简单、速度快、节省测试时间和测试治具、可扩展性强、灵活度高,使NVME硬盘背板测试简单化、快捷化。
Description
技术领域
本发明涉及服务器NVME硬盘背板工厂大规模测试领域,具体地说是一种基于UEFI的服务器NVME硬盘背板功能测试方法。
背景技术
在当前服务器NVME硬盘背板制造过程中,大都要进行功能测试,检测功能是否正常。
在当前服务器NVME硬盘背板工厂大规模功能测试中,大都在DOS、Windows和Linux等操作系统下进行测试。如在DOS下测试,DOS环境需要做DOS启动盘,驱动少,且UEFI BIOS逐渐不支持DOS。如在Window或Linux操作系统下测试,需要启动操作系统,耗时长,对系统有依赖,如安装驱动、相应工具等,且操作系统盘需要日常维护,不利于工厂大规模测试。在NVME硬盘背板测试较多的情况下,机器频繁的启动操作系统,导致测试时间和人力的极大浪费,增加测试成本。
发明内容
本发明的技术任务是提供一种基于UEFI的服务器NVME硬盘背板功能测试方法。
本发明的技术任务是按以下方式实现的,该测试方法的步骤如下:
a)机器从 UEFI shell启动;
b)UEFI启动脚本引导进入测试U盘;
c)程序根据参数“NVME硬盘数量、待测扇区数量、偏移量”对背板上NVME硬盘进行数量检查、读写功能测试;
d)NVME硬盘数量相符、读写功能正常即判定NVME硬盘背板功能正常,为良品,否则为不良品。
该测试方法的具体步骤如下:
1)检查BIOS Setup中的启动顺序,将boot from build-in efi shell作为第一启动项,机器开机启动后自动进入build-in efi shell;
2)将NVME转接卡插入主板相应PCIe插槽中,将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑UEFI shell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;
4)通过参数传递给主测试程序背板实际硬盘数量、进行读写操作的扇区数量和偏移量;程序首先列出所有的硬盘数量,并和背板实际硬盘数量对比,相同则硬盘数量测试通过,否则为不通过;
5)根据参数传递来的扇区数量,通过Protocol BlockIo的成员函数ReadBlocks对硬盘扇区进行读操作,通过返回值判断读操作成功或失败。读操作成功则硬盘读测试通过,否则为不通过;
6)根据参数传递来的扇区数量,首先设置缓冲区;再通过Protocol DiskIo的成员函数WriteDisk,对硬盘选中扇区进行置0操作,通过返回值判断置0操作成功或失败,成功则硬盘扇区写全0测试通过,否则为不通过;
7)根据参数传递来的扇区数量和偏移量,首先设置缓冲区;再通过ProtocolDiskIo的成员函数WriteDisk,对硬盘选中扇区进行置1操作,通过返回值判断置1操作成功或失败;成功则硬盘扇区写全1测试通过,否则为不通过。
所述的步骤2)用NVME线缆将NVME转接卡和NVME硬盘背板相连接。
本发明的一种基于UEFI的服务器NVME硬盘背板功能测试方法和现有技术相比,解决了现有测试方法耗时长,对系统有依赖,且操作系统盘需要日常维护,不利于工厂大规模测试的问题,实现NVME硬盘背板大规模测试时操作简单、速度快、节省测试时间和测试治具、可扩展性强、灵活度高,使NVME硬盘背板测试简单化、快捷化。
附图说明
附图1为一种基于UEFI的服务器NVME硬盘背板功能测试方法的流程框图。
具体实施方式
实施例1:
该基于UEFI的服务器NVME硬盘背板功能测试方法的具体步骤如下:
1)检查BIOS Setup中的启动顺序,将boot from build-in efi shell作为第一启动项,机器开机启动后自动进入build-in efi shell;
2)将NVME转接卡插入主板相应PCIe插槽中,用NVME线缆将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑UEFI shell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;
4)通过参数传递给主测试程序背板实际硬盘数量、进行读写操作的扇区数量和偏移量;程序首先列出所有的硬盘数量,并和背板实际硬盘数量对比,相同则硬盘数量测试通过,否则为不通过;
5)根据参数传递来的扇区数量,通过Protocol BlockIo的成员函数ReadBlocks对硬盘扇区进行读操作,通过返回值判断读操作成功或失败。读操作成功则硬盘读测试通过,否则为不通过;
6)根据参数传递来的扇区数量,首先设置缓冲区;再通过Protocol DiskIo的成员函数WriteDisk,对硬盘选中扇区进行置0操作,通过返回值判断置0操作成功或失败,成功则硬盘扇区写全0测试通过,否则为不通过;
7)根据参数传递来的扇区数量和偏移量,首先设置缓冲区;再通过ProtocolDiskIo的成员函数WriteDisk,对硬盘选中扇区进行置1操作,通过返回值判断置1操作成功或失败;成功则硬盘扇区写全1测试通过,否则为不通过。
实施例2:
该基于UEFI的服务器NVME硬盘背板功能测试方法的具体步骤如下:
1)检查BIOS Setup中的启动顺序,将boot from build-in efi shell作为第一启动项,机器开机启动后自动进入build-in efi shell;
2)将NVME转接卡插入主板相应PCIe插槽中,用NVME线缆将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑UEFI shell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;startup.nsh示例如下:
@echo -off
cls 0
echo "Searching for Diagnostic Drive"
for %d in fs0 fs1 fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fs10
set diagdrive %d
if exist %diagdrive%:\flag then
echo Located Diagnostic Drive on %diagdrive%:
goto SET_DIAGDRIVE
endif
endfor
if not exist flag then
echo "Missing flag file, unable to determine test drive"
goto END
endif
:SET_DIAGDRIVE
%diagdrive%:
del tmp\* > 0
goto START_DIAG
:START_DIAG
disk.efi x x x
if not exist tmp\pass.flag then
goto Failed
endif
del tmp\* > 0
echo "*******************************************************"
echo "* *"
echo "* PPPPPPPP A SSSSSSSSS SSSSSSSSS *"
echo "* PP PP A A SS SS *"
echo "* PP PP AA AA SS SS *"
echo "* PPPPPP AA AA SSSSSS SSSSSS *"
echo "* PP AAAAAAAAA SS SS *"
echo "* PP AA AA SS SS *"
echo "* PP AA AA SS SS *"
echo "* PP AA AA SSSSSSSS SSSSSSSS *"
echo "* *"
echo "*******************************************************"
goto END
:Failed
echo "******************************************************"
echo "* *"
echo "* FFFFFFFFF A IIIIIIII LL *"
echo "* FF A A II LL *"
echo "* FF AA AA II LL *"
echo "* FFFFFFFF AA AA II LL *"
echo "* FF AAAAAAAAA II LL *"
echo "* FF AA AA II LL *"
echo "* FF AA AA II LL *"
echo "* FF AA AA IIIIIIIIIIII LLLLLLL *"
echo "* * "
echo "******************************************************"
goto END
:END
4)通过参数传递给主测试程序背板实际硬盘数量、进行读写操作的扇区数量和偏移量;程序首先列出所有的硬盘数量,并和背板实际硬盘数量对比,相同则硬盘数量测试通过,否则为不通过;
5)根据参数传递来的扇区数量,通过Protocol BlockIo的成员函数ReadBlocks对硬盘扇区进行读操作,通过返回值判断读操作成功或失败。读操作成功则硬盘读测试通过,否则为不通过;
6)根据参数传递来的扇区数量,首先设置缓冲区;
UINT8 * buf = new UINT8[mDiskDevices[DeviceID].BlockSize *SectorNum];
for(UINTN i=0;i<mDiskDevices[DeviceID].BlockSize * SectorNum ;i++)buf[i] = 0;
再通过Protocol DiskIo的成员函数WriteDisk,对硬盘选中扇区进行置0操作,通过返回值判断置0操作成功或失败,成功则硬盘扇区写全0测试通过,否则为不通过;
EFI_STATUS status = mDiskDevices[DeviceID].WriteDisk(Offset,SectorNum, buf);
7)根据参数传递来的扇区数量和偏移量,首先设置缓冲区;
UINT8 * buf = new UINT8[mDiskDevices[DeviceID].BlockSize *SectorNum];
for(UINTN i=0;i<mDiskDevices[DeviceID].BlockSize * SectorNum ;i++)buf[i] = 255;
再通过Protocol DiskIo的成员函数WriteDisk,对硬盘选中扇区进行置1操作,通过返回值判断置1操作成功或失败;成功则硬盘扇区写全1测试通过,否则为不通过。
EFI_STATUS status = mDiskDevices[DeviceID].WriteDisk(Offset,SectorNum, buf);
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (2)
1.一种基于UEFI的服务器NVME硬盘背板功能测试方法,其特征在于,该测试方法的步骤如下:
a)机器从 UEFI shell启动;
b)UEFI启动脚本引导进入测试U盘;
c)程序根据参数“NVME硬盘数量、待测扇区数量、偏移量”对背板上NVME硬盘进行数量检查、读写功能测试;
d)NVME硬盘数量相符、读写功能正常即判定NVME硬盘背板功能正常,为良品,否则为不良品;
该测试方法的具体步骤如下:
1)检查BIOS Setup中的启动顺序,将boot from build-in uefi shell作为第一启动项,机器开机启动后自动进入build-in uefi shell;
2)将NVME转接卡插入主板相应PCIe插槽中,将NVME转接卡和NVME硬盘背板相连接,背板硬盘接口满插NVME硬盘;
3)编辑UEFI shell自启动脚本startup.nsh,扫描可用的文件系统,通过一个标记文件引导进入存放测试程序的文件系统,运行测试程序;将startup.nsh、测试程序和标记文件拷贝到U盘上,插入机器USB接口,机器上电开机启动;
4)通过参数传递给主测试程序背板实际硬盘数量、进行读写操作的扇区数量和偏移量;程序首先列出所有的硬盘数量,并和背板实际硬盘数量对比,相同则硬盘数量测试通过,否则为不通过;
5)根据参数传递来的扇区数量,通过Protocol BlockIo的成员函数ReadBlocks对硬盘扇区进行读操作,通过返回值判断读操作成功或失败;读操作成功则硬盘读测试通过,否则为不通过;
6)根据参数传递来的扇区数量,首先设置缓冲区;再通过Protocol DiskIo的成员函数WriteDisk,对硬盘选中扇区进行置0操作,通过返回值判断置0操作成功或失败,成功则硬盘扇区写全0测试通过,否则为不通过;
7)根据参数传递来的扇区数量和偏移量,首先设置缓冲区;再通过Protocol DiskIo的成员函数WriteDisk,对硬盘选中扇区进行置1操作,通过返回值判断置1操作成功或失败;成功则硬盘扇区写全1测试通过,否则为不通过。
2.根据权利要求1所述的一种基于UEFI的服务器NVME硬盘背板功能测试方法,其特征在于,所述的步骤2)用NVME线缆将NVME转接卡和NVME硬盘背板相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510902242.4A CN105511993B (zh) | 2015-12-09 | 2015-12-09 | 一种基于uefi的服务器nvme硬盘背板功能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510902242.4A CN105511993B (zh) | 2015-12-09 | 2015-12-09 | 一种基于uefi的服务器nvme硬盘背板功能测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105511993A CN105511993A (zh) | 2016-04-20 |
CN105511993B true CN105511993B (zh) | 2019-03-12 |
Family
ID=55719995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510902242.4A Active CN105511993B (zh) | 2015-12-09 | 2015-12-09 | 一种基于uefi的服务器nvme硬盘背板功能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105511993B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126379B (zh) * | 2016-06-22 | 2019-09-06 | 浪潮电子信息产业股份有限公司 | 一种在linux下检测存储器中硬盘背板的自动化方法 |
CN106789409A (zh) * | 2016-12-06 | 2017-05-31 | 曙光信息产业(北京)有限公司 | 一种服务器插槽的检测方法和装置 |
CN106683706A (zh) * | 2017-01-05 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种nvdimm_adr功能的测试方法 |
CN106951268A (zh) * | 2017-03-31 | 2017-07-14 | 山东超越数控电子有限公司 | 一种申威平台支持NVMe硬盘启动的实现方法 |
CN107122273A (zh) * | 2017-04-28 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种shell下进行NVDIMM功能测试的方法 |
CN107220153A (zh) * | 2017-06-28 | 2017-09-29 | 济南浪潮高新科技投资发展有限公司 | 一种基于uefi的计算机内存转接卡测试方法和装置 |
CN107957936A (zh) * | 2017-12-14 | 2018-04-24 | 郑州云海信息技术有限公司 | 基于EFI Shell的设备稳定性测试方法及装置 |
CN108628709A (zh) * | 2017-12-29 | 2018-10-09 | 研祥智能科技股份有限公司 | 设备的硬盘检测方法及装置 |
CN108760120A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种测试硬盘背板应变力的方法及装置 |
CN108733524A (zh) * | 2018-05-29 | 2018-11-02 | 郑州云海信息技术有限公司 | 一种服务器硬盘背板信息自动化测试方法及装置 |
CN108763006A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种背板压力测试的诊断方法及系统 |
CN109508268B (zh) * | 2018-11-13 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ise硬盘测试装置及ise硬盘扇区快速擦除功能测试方法 |
CN113886304B (zh) * | 2021-09-06 | 2024-06-18 | 山东浪潮科学研究院有限公司 | 一种PXIe的测控背板 |
CN115686969A (zh) * | 2022-11-10 | 2023-02-03 | 宁畅信息产业(北京)有限公司 | 一种硬盘背板测试方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555613B2 (en) * | 2004-05-11 | 2009-06-30 | Broadcom Corporation | Storage access prioritization using a data storage device |
CN201302715Y (zh) * | 2008-11-11 | 2009-09-02 | 英业达科技有限公司 | 电脑装置 |
CN101937381A (zh) * | 2010-09-02 | 2011-01-05 | 浪潮电子信息产业股份有限公司 | 一种sas背板上sgpio信号的测试方法 |
CN102236594A (zh) * | 2010-04-28 | 2011-11-09 | 鸿富锦精密工业(深圳)有限公司 | Sas接口测试装置及测试方法 |
CN102708909A (zh) * | 2011-03-28 | 2012-10-03 | 鸿富锦精密工业(深圳)有限公司 | 硬盘背板 |
-
2015
- 2015-12-09 CN CN201510902242.4A patent/CN105511993B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555613B2 (en) * | 2004-05-11 | 2009-06-30 | Broadcom Corporation | Storage access prioritization using a data storage device |
CN201302715Y (zh) * | 2008-11-11 | 2009-09-02 | 英业达科技有限公司 | 电脑装置 |
CN102236594A (zh) * | 2010-04-28 | 2011-11-09 | 鸿富锦精密工业(深圳)有限公司 | Sas接口测试装置及测试方法 |
CN101937381A (zh) * | 2010-09-02 | 2011-01-05 | 浪潮电子信息产业股份有限公司 | 一种sas背板上sgpio信号的测试方法 |
CN102708909A (zh) * | 2011-03-28 | 2012-10-03 | 鸿富锦精密工业(深圳)有限公司 | 硬盘背板 |
Also Published As
Publication number | Publication date |
---|---|
CN105511993A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511993B (zh) | 一种基于uefi的服务器nvme硬盘背板功能测试方法 | |
CN105354122B (zh) | 一种服务器双用途硬盘背板的功能测试优化方法 | |
CN102244591B (zh) | 客户端服务器及对其功能测试全程监测的方法 | |
CN101436154B (zh) | 计算机主板开关机测试系统及方法 | |
KR100950814B1 (ko) | 하드웨어 플랫폼 클래스들의 식별을 가속하기 위한 시스템 및 방법 | |
CN105302687A (zh) | 一种基于linux下的硬盘盘序检测方法 | |
CN105718346A (zh) | 一种基于UEFI的计算机主板PCIe插槽功能测试方法 | |
CN105335264A (zh) | 一种基于uefi的计算机pcie转接卡功能测试方法 | |
WO2020134340A1 (zh) | 一种硬盘扩展系统与电子设备 | |
CN109062623A (zh) | 硬盘点灯模式的设置方法及装置 | |
CN109147861B (zh) | 一种硬盘在位检测装置和方法 | |
CN102996482A (zh) | 一种多风扇状态检测方法及装置 | |
CN112579366B (zh) | 硬盘在位检测系统 | |
CN113742182A (zh) | 硬盘点灯方法、装置、存储介质及计算机程序产品 | |
CN100449472C (zh) | 一种处理磁盘热插拔的方法及装置 | |
CN111190779A (zh) | 硬盘检盘结构、硬盘检盘方法及硬盘 | |
CN116539992A (zh) | 存储设备在位稳定状态检测装置、方法、逻辑模块及介质 | |
CN115756981A (zh) | 硬盘背板线缆装配自动化检查方法、装置、设备、介质 | |
CN101751318A (zh) | 硬盘系统状态监控方法 | |
CN115794468A (zh) | 一种软件测试过程中服务器故障分析诊断方法 | |
CN113125938B (zh) | 老化测试监控方法和系统 | |
CN114780317A (zh) | 一种硬盘拔插测试方法、系统及相关组件 | |
CN105242880A (zh) | 一种自动化创建Raid并执行压力测试的方法 | |
CN107977330B (zh) | 服务器系统及检测服务器系统的传输模式的方法 | |
CN109460332A (zh) | 一种基于AEP内存技术的SWRaid检测方法及检测系统 |
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 |