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

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

Info

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
Application number
CN201510902242.4A
Other languages
English (en)
Other versions
CN105511993A (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 CN201510902242.4A priority Critical patent/CN105511993B/zh
Publication of CN105511993A publication Critical patent/CN105511993A/zh
Application granted granted Critical
Publication of CN105511993B publication Critical patent/CN105511993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2221Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test 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

一种基于UEFI的服务器NVME硬盘背板功能测试方法
技术领域
本发明涉及服务器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硬盘背板相连接。
CN201510902242.4A 2015-12-09 2015-12-09 一种基于uefi的服务器nvme硬盘背板功能测试方法 Active CN105511993B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 鸿富锦精密工业(深圳)有限公司 硬盘背板

Patent Citations (5)

* Cited by examiner, † Cited by third party
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