CN112068998A - 一种基于u盘pe系统的固态硬盘自动测试方法 - Google Patents
一种基于u盘pe系统的固态硬盘自动测试方法 Download PDFInfo
- Publication number
- CN112068998A CN112068998A CN201910496240.8A CN201910496240A CN112068998A CN 112068998 A CN112068998 A CN 112068998A CN 201910496240 A CN201910496240 A CN 201910496240A CN 112068998 A CN112068998 A CN 112068998A
- Authority
- CN
- China
- Prior art keywords
- test
- disk
- solid state
- state disk
- equipment
- 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.)
- Pending
Links
Images
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
-
- 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/2247—Verification or detection of system hardware configuration
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种基于U盘PE系统的固态硬盘自动测试方法,本方法分为PE系统制作及测试环境配置、开始自动测试过程两个步骤,PE系统制作及测试环境配置通过虚拟光驱加载PE的ISO镜像,然后将整个ISO文件内容拷贝到进行固态硬盘测试的电脑主机形成PE系统,然后再通过Python安装环境解压至PE系统从而建立测试环境,自动测试过程自动执行测试项、比对测试结果、生产测试日志,本发明减少人员参与及手动测试造成的差错,大大提高测试效率,经过统计测试单盘仅需5‑10秒。
Description
技术领域
本发明涉及一种固态硬盘测试方法,具体是一种基于U盘PE系统的固态硬盘自动测试方法。
背景技术
随着SATA接口的固态硬盘的大规模普及使用,市场对SATA接口的消费级固态硬盘的出货量需求也在不断提升,供货交期和产品的质量保证,是一个日益凸显的问题。作为生产厂商,出厂测试是一个保证质量的必要过程,所有的盘都经过一个厂家自定义的测试流程,即称为出厂测试,一般测试的内容包括固件版本号识别、SATA接口速度识别、序列号长度识别、设备初始化、设备格式化和设备清除等测试项。整个过程的多数环节需要人员参与控制,而且如果在测试过程中,不小心操作了系统盘,将会对测试机系统和数据造成破坏。
发明内容
针对现有技术的缺陷,本发明提供一种基于U盘PE系统的固态硬盘自动测试方法,提高出厂检测效率,消除对系统盘的影响。
为了解决所述技术问题,本发明采用的技术方案是:一种基于U盘PE系统的固态硬盘自动测试方法,包括以下步骤:S01)、PE系统制作及测试环境配置,首先通过虚拟光驱加载PE的ISO镜像,然后将整个ISO文件内容拷贝到进行固态硬盘测试的电脑主机,通过Windows系统自带的dism.exe提取wim文件,再将电脑主机安装好的Python文件添加到解压的镜像文件夹下,然后提交修改打包成wim文件,将Python工具和环境添加到PE系统中,这样测试系统所需的环境制作完成,然后使用虚拟光驱将文件制作成ISO镜像,安装到U盘中,制作成PE启动U盘;S02)、开始自动测试过程,测试使用的工具包括Windows可执行程序、系统自带工具、第三方坏块扫描工具和测试脚本,前端界面由基于MFC库的windows可执行程序完成,自动检测插入SATA固态硬盘,显示测试结果和故障信息,测试脚本用于调用SATA硬盘检测程序检测设备信息,调用系统自带的Diskpart工具执行设备识别、初始化、格式化、清空操作,并将结果反馈给前端界面;并且测试脚本检测一个配置文件,当检测开始时,调用setup更新读取当前盘的信息写入配置文件中,更新测试脚本的检测信息,拔掉测试固态硬盘,测试脚本记录测试盘序列号、测试结果,并编号记录以备产生质量问题后进行追溯。
通过Windows上位机程序检测SATA热插拔事件,判断SATA固态硬盘的插入、拔出事件,当上位机程序获取到热插拔事件后,读取插入设备的序列号,判断该插入的设备是否为测试的SSD硬盘,如果是,则执行自动测试脚本。
使用DeviceIoControl 函数来获取设备信息和设备接口速度,使用#Ntddscsi.h头文件定义的结构体SENDCMDINPARAMS来发送控制指令,获取硬盘数据信息,相应结果中20~99字节表示序列号,46~53字节表示固件版本编号,54~93字节表示产品型号;通过发送identify device的ATA指令码0xEC来获取设备信息,wReserved69字段包含SATA设备的主机接口速度和设备识别接口速度,其中0x0008 表示SATA3.0,0x0004表示 SATA2.0,0x0002表示SATA1.0,拆解出设备的接口识别情况,将结果保存为文本文件,供测试过程中比较,整个程序生成一个可以执行文件,通过测试脚本调用执行。
本发明的有益效果:本发明所述方法自动执行测试项、比对测试结果、生产测试日志,减少人员参与及手动测试造成的差错,大大提高测试效率,经过统计测试单盘仅需5-10秒。并且通过配置文件可以支持各厂商的标准SATA固态硬盘设备,该测试方法采用U盘中的PE系统,不依赖于本地硬盘及系统环境,具有较高的灵活性和推广价值。
附图说明
图1为PE系统的示意图;
图2为解压PE系统的示意图;
图3为打包PE系统的示意图;
图4为制作PE系统过程的示意图;
图5为固态硬盘自动测试流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种基于U盘PE系统的固态硬盘自动测试方法,包括以下步骤:
S01)、PE系统制作及测试环境配置,首先通过虚拟光驱加载PE的ISO镜像,然后将整个ISO文件内容拷贝到进行固态硬盘测试的电脑主机,如图2所示,为将ISO文件内容拷贝到电脑主机后形成的PE系统的示意图。测试脚本采用Python语言,测试系统需要Python工具支持,一般常见的PE系统不包含Python安装环境,因此需要通过Windows系统自带的dism.exe提取wim文件将PE系统解压,解压PE系统如图2所示,再将电脑主机安装好的Python文件添加到解压的镜像文件夹下,然后提交修改打包成wim文件,如图4所示,这样,Python工具和环境添加到PE系统中,这样测试系统所需的环境制作完成,然后使用虚拟光驱将文件制作成ISO镜像,安装到U盘中,制作成PE启动U盘,如图4所示;
S02)、开始自动测试过程,测试使用的工具包括Windows可执行程序、系统自带工具、第三方坏块扫描工具和测试脚本,前端界面由基于MFC库的windows可执行程序完成,自动检测插入SATA固态硬盘,显示测试结果和故障信息,测试脚本用于调用SATA硬盘检测程序检测设备信息,调用系统自带的Diskpart工具执行设备识别、初始化、格式化、清空操作,并将结果反馈给前端界面;鉴于固态硬盘号和序列号批次会有变动,测试脚本检测一个配置文件,当检测开始时,调用setup更新读取当前盘的信息写入配置文件中,更新测试脚本的检测信息,拔掉测试固态硬盘,测试脚本记录测试盘序列号、测试结果,并编号记录以备产生质量问题后进行追溯。
本实施例中,通过Windows上位机程序检测SATA热插拔事件,判断SATA固态硬盘的插入、拔出事件,当上位机程序获取到热插拔事件后,读取插入设备的序列号,判断该插入的设备是否为测试的SSD硬盘,如果是,则执行自动测试脚本。
本实施例中,使用DeviceIoControl 函数来获取设备信息和设备接口速度,使用#Ntddscsi.h头文件定义的结构体SENDCMDINPARAMS来发送控制指令,获取硬盘数据信息,相应结果中20~99字节表示序列号,46~53字节表示固件版本编号,54~93字节表示产品型号;通过发送identify device的ATA指令码0xEC来获取设备信息,wReserved69字段包含SATA设备的主机接口速度和设备识别接口速度,其中0x0008 表示SATA3.0,0x0004表示SATA2.0,0x0002 表示SATA1.0,拆解出设备的接口识别情况,将结果保存为文本文件,供测试过程中比较,整个程序生成一个可以执行文件,通过测试脚本调用执行。
本实施例中采用正常和异常SATA硬盘对所述测试方法进行验证,具体为:
A、手动插入SATA硬盘,点击setup更新目标硬盘的设备信息,并且移除硬盘,将待测批次的硬盘信息更新到测试工具中;
B、插入正常的SATA硬盘,前端程序调用后台脚本,自动进行硬盘测试,测试通过,并将序列号和测试结果记录到日志中。
C、插入异常的SATA硬盘,如固件号不一致、序列号长度错误、坏块过多无法格式化的硬盘,测试工具提示错误,并在前端程序显示出引起测试中断的故障信息。
D、插入正常的SATA硬盘,本级电脑设置为SATA2接口速度,测试工具提示错误,并在前端程序显示SATA接口速度异常。
本发明所述固态硬盘自动测试方法,自动执行测试项、比对测试结果、生产测试日志,减少人员参与及手动测试造成的差错,大大提高测试效率,经过统计测试单盘仅需5-10秒。并且通过配置文件可以支持各厂商的标准SATA固态硬盘设备,该测试方法采用U盘中的PE系统,不依赖于本地硬盘及系统环境,具有较高的灵活性和推广价值。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (3)
1.一种基于U盘PE系统的固态硬盘自动测试方法,其特征在于:包括以下步骤:S01)、PE系统制作及测试环境配置,首先通过虚拟光驱加载PE的ISO镜像,然后将整个ISO文件内容拷贝到进行固态硬盘测试的电脑主机,通过Windows系统自带的dism.exe提取wim文件,再将电脑主机安装好的Python文件添加到解压的镜像文件夹下,然后提交修改打包成wim文件,将Python工具和环境添加到PE系统中,这样测试系统所需的环境制作完成,然后使用虚拟光驱将文件制作成ISO镜像,安装到U盘中,制作成PE启动U盘;S02)、开始自动测试过程,测试使用的工具包括Windows可执行程序、系统自带工具、第三方坏块扫描工具和测试脚本,前端界面由基于MFC库的windows可执行程序完成,自动检测插入SATA固态硬盘,显示测试结果和故障信息,测试脚本用于调用SATA硬盘检测程序检测设备信息,调用系统自带的Diskpart工具执行设备识别、初始化、格式化、清空操作,并将结果反馈给前端界面;测试脚本检测一个配置文件,当检测开始时,调用setup更新读取当前盘的信息写入配置文件中,更新测试脚本的检测信息,拔掉测试固态硬盘,测试脚本记录测试盘序列号、测试结果,并编号记录以备产生质量问题后进行追溯。
2.根据权利要求1所述的基于U盘PE系统的固态硬盘自动测试方法,其特征在于:通过Windows上位机程序检测SATA热插拔事件,判断SATA固态硬盘的插入、拔出事件,当上位机程序获取到热插拔事件后,读取插入设备的序列号,判断该插入的设备是否为测试的SSD硬盘,如果是,则执行自动测试脚本。
3.根据权利要求1所述的基于U盘PE系统的固态硬盘自动测试方法,其特征在于:使用DeviceIoControl 函数来获取设备信息和设备接口速度,使用#Ntddscsi.h头文件定义的结构体SENDCMDINPARAMS来发送控制指令,获取硬盘数据信息,相应结果中20~99字节表示序列号,46~53字节表示固件版本编号,54~93字节表示产品型号;通过发送identifydevice的ATA指令码0xEC来获取设备信息,wReserved69字段包含SATA设备的主机接口速度和设备识别接口速度,其中0x0008 表示SATA3.0,0x0004表示 SATA2.0,0x0002 表示SATA1.0,拆解出设备的接口识别情况,将结果保存为文本文件,供测试过程中比较,整个程序生成一个可以执行文件,通过测试脚本调用执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910496240.8A CN112068998A (zh) | 2019-06-10 | 2019-06-10 | 一种基于u盘pe系统的固态硬盘自动测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910496240.8A CN112068998A (zh) | 2019-06-10 | 2019-06-10 | 一种基于u盘pe系统的固态硬盘自动测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112068998A true CN112068998A (zh) | 2020-12-11 |
Family
ID=73658201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910496240.8A Pending CN112068998A (zh) | 2019-06-10 | 2019-06-10 | 一种基于u盘pe系统的固态硬盘自动测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068998A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819547A (zh) * | 2010-03-25 | 2010-09-01 | 浪潮电子信息产业股份有限公司 | 一种针对存储子系统稳定性和可靠性的测试方法 |
CN103218280A (zh) * | 2013-04-15 | 2013-07-24 | 飞天诚信科技股份有限公司 | 一种usb设备的硬件通用测试方法 |
CN104899119A (zh) * | 2015-05-21 | 2015-09-09 | 浪潮电子信息产业股份有限公司 | 一种自动检测硬盘异常的方法 |
CN105068902A (zh) * | 2015-07-31 | 2015-11-18 | 国家电网公司 | 一种类Unix操作系统计算机便硬件检测方法 |
CN105354069A (zh) * | 2015-12-09 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种U盘引导Windows PE系统的方法 |
CN105843720A (zh) * | 2016-05-12 | 2016-08-10 | 浪潮电子信息产业股份有限公司 | 一种测试硬盘热插拔稳定性的方法及装置 |
-
2019
- 2019-06-10 CN CN201910496240.8A patent/CN112068998A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819547A (zh) * | 2010-03-25 | 2010-09-01 | 浪潮电子信息产业股份有限公司 | 一种针对存储子系统稳定性和可靠性的测试方法 |
CN103218280A (zh) * | 2013-04-15 | 2013-07-24 | 飞天诚信科技股份有限公司 | 一种usb设备的硬件通用测试方法 |
CN104899119A (zh) * | 2015-05-21 | 2015-09-09 | 浪潮电子信息产业股份有限公司 | 一种自动检测硬盘异常的方法 |
CN105068902A (zh) * | 2015-07-31 | 2015-11-18 | 国家电网公司 | 一种类Unix操作系统计算机便硬件检测方法 |
CN105354069A (zh) * | 2015-12-09 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种U盘引导Windows PE系统的方法 |
CN105843720A (zh) * | 2016-05-12 | 2016-08-10 | 浪潮电子信息产业股份有限公司 | 一种测试硬盘热插拔稳定性的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8458526B2 (en) | Data storage device tester | |
US8332695B2 (en) | Data storage device tester | |
CN102117660B (zh) | 用于测试数据存储装置的测试仪 | |
US8793532B1 (en) | Hard-disk drive work load profiling and capturing systems and methods | |
CN104881314A (zh) | 一种安装驱动程序的方法及驱动程序安装装置 | |
CN102568522A (zh) | 硬盘性能的测试方法和装置 | |
US20120260130A1 (en) | Non-volatile random access memory test system and method | |
CN105468482B (zh) | 一种硬盘盘位识别和故障诊断方法及其服务器设备 | |
US8055843B2 (en) | Method for configuring RAID | |
CN110764960B (zh) | 一种固态硬盘固件测试方法 | |
US20070294332A1 (en) | Processing device for end customer operation | |
CN102968089B (zh) | 可编程逻辑控制器及实现方法 | |
CN112068998A (zh) | 一种基于u盘pe系统的固态硬盘自动测试方法 | |
CN111897685A (zh) | 掉电时校验数据的方法、装置、存储介质及电子设备 | |
CN101714113A (zh) | 一种虚拟设备的测试方法 | |
CN113961257B (zh) | 一种服务器操作系统激活自动检测方法、系统及存储介质 | |
US6229743B1 (en) | Method of a reassign block processing time determination test for storage device | |
CN113190179B (zh) | 提升机械硬盘使用寿命的方法、存储设备及系统 | |
JPH1083258A (ja) | Cd−romドライブのテスト方法 | |
US20160085649A1 (en) | Disk drive repair | |
CN111209146A (zh) | 一种raid卡老化测试方法及系统 | |
CN102955755A (zh) | 数据卡与主机间通信异常的修复方法及数据卡 | |
CN105242880A (zh) | 一种自动化创建Raid并执行压力测试的方法 | |
CN101620540A (zh) | 安装电脑系统的方法 | |
CN110737483A (zh) | 一种基于Windows USB MassStorage类的信令、数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |