CN118152300A - 一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法 - Google Patents
一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法 Download PDFInfo
- Publication number
- CN118152300A CN118152300A CN202410564569.4A CN202410564569A CN118152300A CN 118152300 A CN118152300 A CN 118152300A CN 202410564569 A CN202410564569 A CN 202410564569A CN 118152300 A CN118152300 A CN 118152300A
- Authority
- CN
- China
- Prior art keywords
- test
- read
- write
- nvme ssd
- pcie
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 125
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013403 standard screening design Methods 0.000 claims abstract description 115
- 238000010998 test method Methods 0.000 claims abstract description 24
- 238000005192 partition Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 12
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- 238000013524 data verification Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011016 integrity testing Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提出了一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法,实现了在测试过程中可以同时控制多个NVMe SSD的断电和上电,并且多个NVMe SSD间可以相互独立的进行测试,进而实现了批量测试,提高了测试效率,适应了大规模存储设备的测试需求,并且在Linux PC上实现了SSD热插拔,进而利用现有的Linux PC就可以进行断电数据读写测试,摆脱了对高成本的专用硬件平台或服务器的依赖,进一步降低了测试成本。
Description
技术领域
本发明涉及NVMe SSD测试相关技术领域,具体涉及一种在Linux PC上进行NVMeSSD异常断电读写的批量测试系统及方法。
背景技术
在现代数据存储领域,NVMe SSD固态硬盘的稳定性和数据完整性测试是确保其可靠性的重要环节。特别是在异常断电情况下,对NVMe SSD的读写操作进行有效的测试变得尤为关键。然而,现有技术在这方面存在一定的局限性。
现有发明CN111209151A公开了一种基于Linux的NVMe SSD热插拔测试方法和系统。该技术能够在不重启系统的情况下,不影响服务器业务地完成热插拔测试。然而,该方法的不足在于它仅关注于热插拔过程本身且必须在服务器系统下进行,而未涉及异常断电情况下实时数据读写的校验。
现有发明CN117476091A公开了一种基于固态硬盘的Write Zeroes性能测试方法。尽管该方法能够高效地测试SSD在特定性能参数下的表现,但它不适用于模拟和验证实际的断电场景,且无法校验断电过程中的数据一致性。
现有发明CN117079702A公开了一种结合温度循环和掉电测试的NVMe固态硬盘测试方法及装置,但其侧重点在于模拟环境因素对设备性能的影响,并未针对基于Linux PC的批量测试场景进行优化。
由于普通Linux PC上直接进行热插拔会导致内核异常,现有的NVMe SSD断电测试通常在特定的硬件测试平台或服务器上进行,这不仅成本高昂,而且在测试过程中,现有技术往往只判断断电后系统和盘的连接状态,而忽略了对实时读写数据的校验。这一局限性导致在实际断电场景下,数据的完整性和一致性无法得到充分验证。
此外,目前普遍使用的SSD读写测试工具如FIO,虽然功能强大,但它并未针对断电场景进行优化。FIO在常规测试中表现出色,但在模拟断电后的数据校验方面则力不从心,这表明需要一种新的测试方法来填补这一空白。
综上所述,现有技术在NVMe SSD异常断电读写测试方面存在以下主要问题:1. 现有的测试方法不具有低成本批量测试的能力;2. 断电测试在Linux PC上无法实现热插拔,通常依赖于高成本的专用硬件平台或服务器,缺乏经济高效的解决方案;3.现有的热插拔测试方法未能涵盖异常断电时的数据读写校验,现有读写测试工具无法有效验证断电场景下的数据完整性和一致性。
有鉴于上述的缺陷,当前亟需设计一种基于Linux PC的NVMe SSD异常断电读写的批量测试系统及方法,实现低成本批量测试以及通过在Linux PC上实现SSD热插拔,摆脱对高成本的专用硬件平台或服务器的依赖,完成断电场景下的数据校验。
发明内容
为了解决上述内容中提到的问题,本发明提出了一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法,完成数据校验,降低测试成本,提高测试效率。
一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统,其特征在于:所述系统包括:Linux PC主机、若干个PCIe Power Control装置、测试软件、数据库和被测NVMe SSD;
所述Linux PC主机上安装测试软件和数据库;
所述Linux PC主机通过PCIe接口分别连接每个PCIe Power Control装置,并通过串口分别控制每个PCIe Power Control装置的下游PCIe引脚进行断电和上电;
每个所述PCIe Power Control装置通过其下游PCIe引脚连接被测NVMe SSD。
基于上述测试系统,本发明还提供了一种批量测试方法,其特征在于:所述方法包括以下步骤:
步骤1、判断是否为第一次测试;如果是,则进行步骤2,否则进行步骤3;
步骤2、将所有被测NVMe SSD与其连接的PCIe Power Control装置进行绑定;
步骤3、选定被测NVMe SSD并配置测试参数;
步骤4、进行断电读写测试。
进一步的,每个被测NVMe SSD的测试过程都是相互独立的。
进一步的,所述步骤2具体为:
步骤2-1、将N个PCIe Power Control装置的上游PCIe接口和串口与Linux PC进行连接,N为大于等于1的正整数;
步骤2-2、启动Linux PC主机并启动测试软件;
步骤2-3、通过测试软件控制所有PCIe Power Control装置下电;
步骤2-4、将一个被测NVMe SSD与任意一个PCIe Power Control装置的下游PCIe接口相连接;
步骤2-5、在测试软件上将步骤2-4中的PCIe Power Control装置上电并通过sysfs接口扫描NVMe SSD设备,获取其PCI地址;
步骤2-6、在测试软件中将步骤2-5中获取的PCI地址与步骤2-4中PCIe PowerControl装置的串口序列号SN绑定,绑定结果保存到数据库中;
步骤2-7、重复步骤2-4至步骤2-6完成所有被测NVMe SSD与PCIe Power Control装置的绑定。
进一步的,所述步骤3中所述测试参数包括:测试轮数、读写规则、断上电时长、随机数种子、元数据;
所述读写规则包括顺序读写和随机读写,若为顺序读写则读写的地址依次递增,若为随机读写则会使用随机数种子和伪随机算法生成读写地址序列。
进一步的,所述步骤4具体为:
步骤4-1、测试软件记录被测NVMe SSD的状态信息,所述状态信息包括: PCIe连接速率、带宽、容量、PowerCycle计数、NS数量、分区、文件系统格式;
步骤4-2、测试软件根据测试参数配置启动读写线程进行读写,同时启动测试软件的断电定时器,并根据测试参数配置设置断电定时器时长;
步骤4-3、断电定时器达到设定的时长后,测试软件控制PCIe Power Control装置下电,并触发软件热拔功能;
步骤4-4、读写线程检测到读写异常而终止,同时测试软件记录读写线程已经完成写入的元数据计数,记为COUNT;
步骤4-5、测试软件根据测试参数配置控制PCIe Power Control装置延时上电,上电后立即触发软件热插功能;
步骤4-6、测试软件检查NVMe SSD基本信息,若基本信息异常则结束测试,若基本信息正常则挂载测试分区;
步骤4-7、测试软件根据COUNT与读写规则,校验已经写入的数据,若校验失败则记录详细的失败信息并结束测试,若校验成功则继续;
步骤4-8、测试软件检查已经完成的测试轮数是否达到测试参数配置的测试轮数,若已达到则结束测试,若未达到则重复步骤4-2至步骤4-7;
步骤4-9、测试结束后所有的测试参数和对应的测试报告会保存到数据库。
进一步的,所述步骤4-3中,软件热拔功能具体为:使用umount命令卸载NVMe SSD上所有的已挂载的分区,再向虚拟文件“/sys/bus/pci/devices/{ADDRESS}/remove”中写入字符“1”通知内核移除NVMe SSD设备,其中{ADDRESS}表示NVMe SSD设备的PCI地址;
所述步骤4-5中,软件热插功能具体为:向虚拟文件“/sys/bus/pci/rescan”中写入字符“1”,触发系统扫描PCIe设备,并尝试挂载测试分区。
进一步的,所述步骤4-6中,NVMe SSD基本信息包括:PCIe连接速率、带宽、容量、PowerCycle计数、NS数量、分区、文件系统;
NVMe SSD基本信息与步骤4-1中NVMe SSD的状态信息做对比,若不同则表示信息异常,若相同则表示信息正常。
进一步的,所述步骤4-7中,校验已经写入的数据具体为:根据读写规则分为顺序校验和随机校验两种情况;顺序校验则直接按递增地址序列从NVMe SSD读出数据与元数据做对比,校验COUNT次;随机校验则需要先使用随机数种子和伪随机算法生成地址序列,然后按生成的地址序列从NVMe SSD读出数据与元数据做对比,需要校验序列中前COUNT个地址。
进一步的,步骤4-7中,需要记录的失败信息包括:对比失败的文件和偏移地址、预期写入的字节序列和实际写入的字节序列。
本发明的有益效果为:
1、本发明通过PCIe Power Control装置与被测NVMe SSD一一进行绑定,实现了在测试过程中,可以同时控制多个NVMe SSD的断电和上电,并且多个NVMe SSD间可以相互独立的进行测试,进而实现了批量测试,提高了测试效率,适应了大规模存储设备的测试需求。
2、本发明在控制PCIe Power Control装置断电前,先卸载NVMe SSD的所有分区并通过sysfs接口移除设备,上电后通过PCIe扫描接口和挂载测试分区实现自动识别和挂载,确保了在模拟异常断电的同时,不会因为系统的异常引用而导致系统崩溃,在Linux PC上实现了SSD热插拔,进而利用现有的Linux PC就可以进行断电数据读写测试,摆脱了对高成本的专用硬件平台或服务器的依赖,进一步降低了测试成本。
3、本发明通过精确控制NVMe SSD的断电和上电,以及实现数据的随机读写和精确校验,确保测试结果的准确性和可靠性;同时通过在文件系统层面进行随机读写操作,更接近真实应用中NVMe SSD可能遭遇的异常断电情况,使测试结果更具参考价值。
附图说明
图1为本发明测试系统的整体构架示意图。
图2为NVMe SSD与PCIe Power Control装置绑定流程图。
图3为本发明测试准备流程图。
图4为本发明测试执行流程图。
图5为本发明数据校验流程图。
具体实施方式
下面结合实施例对本发明做进一步的描述。
以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。
实施例1
如图1所示,一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统,所述系统包括:Linux PC主机、若干个PCIe Power Control装置、测试软件、数据库和被测NVMeSSD。
所述Linux PC主机上安装测试软件和数据库;测试软件为使用Qt C++开发的带界面的NVMe SSD测试软件,使用常规技术手段可以实现所需软件功能,在此不做赘述,测试软件用于自动化执行测试与数据校验;数据库用于数据管理。
所述PCIe Power Control装置是一种pcie桥接设备,可以通过串口控制其下游PCIe引脚的断电和上电。该装置使得在不同NVMe SSD之间进行批量测试成为可能,避免了人工热插拔,降低了测试成本并提高了测试效率。具体的,所述Linux PC主机通过PCIe接口分别连接每个PCIe Power Control装置,并通过串口分别控制每个PCIe Power Control装置的下游PCIe引脚进行断电和上电;每个所述PCIe Power Control装置通过其下游PCIe引脚连接被测NVMe SSD。
实施例2
如图2至图5所示,基于上述测试系统,本发明还提供了一种批量测试方法,所述方法包括以下步骤:
步骤1、判断是否为第一次测试;如果是,则进行步骤2,否则进行步骤3。
步骤2、将所有被测NVMe SSD与其连接的PCIe Power Control装置进行绑定。
所述步骤2具体为:
步骤2-1、将N个PCIe Power Control装置的上游PCIe接口和串口与Linux PC进行连接,N为大于等于1的正整数。
步骤2-2、启动Linux PC主机并启动测试软件。
步骤2-3、通过测试软件控制所有PCIe Power Control装置下电。测试软件通过批量向PCIe Power Control装置的串口发送下电命令控制所有PCIe Power Control装置下电。
步骤2-4、将一个被测NVMe SSD与任意一个PCIe Power Control装置的下游PCIe接口相连接。
步骤2-5、在测试软件上将步骤2-4中的PCIe Power Control装置上电并通过sysfs接口扫描NVMe SSD设备,获取其PCI地址。通过sysfs接口扫描NVMe SSD设备具体操作为:测试软件向虚拟文件“/sys/bus/pci/rescan”中写入字符“1”,触发系统扫描PCIe设备。测试软件还通过QSerialPortInfo库的serialNumber成员变量自动获取PCIe PowerControl装置的串口序列号(SN)。
步骤2-6、在测试软件中将步骤2-5中获取的PCI地址与步骤2-4中PCIe PowerControl装置的串口序列号SN绑定,绑定结果保存到数据库中。
步骤2-7、重复步骤2-4至步骤2-6完成所有被测NVMe SSD与PCIe Power Control装置的绑定。
综上所述,本发明通过将PCIe Power Control装置的串口序列号(SN)与NVMe SSD的PCI地址绑定,建立唯一的对应关系,实现了对多个NVMe SSD的批量管理。确认绑定关系的具体方法为:依次将PCIe Power Control装置上电并逐次扫描新增的被测NVMe SSD方式来确认测试NVMe SSD与PCIe Power Control装置的对应关系,绑定后的关系会存储到数据库中,重启测试软件时不需要重新绑定。有了明确的绑定关系后,在测试过程中,可以同时控制多个NVMe SSD的断电和上电,实现批量测试。
步骤3、选定被测NVMe SSD并配置测试参数。
所述测试参数包括:测试轮数、读写规则、断上电时长、随机数种子、元数据。
所述读写规则包括顺序读写和随机读写,若为顺序读写则读写的地址依次递增,若为随机读写则会使用随机数种子和伪随机算法生成读写地址序列。
步骤4、进行断电读写测试。
所述步骤4具体为:
步骤4-1、测试软件记录被测NVMe SSD的状态信息,所述状态信息包括: PCIe连接速率、带宽、容量、PowerCycle计数、NS数量、分区、文件系统格式。
步骤4-2、测试软件根据测试参数配置启动读写线程进行读写,同时启动测试软件的断电定时器,并根据测试参数配置设置断电定时器时长。
步骤4-3、断电定时器达到设定的时长后,测试软件控制PCIe Power Control装置下电,并触发软件热拔功能。
软件热拔功能具体为:使用umount命令卸载NVMe SSD上所有的已挂载的分区,再向虚拟文件“/sys/bus/pci/devices/{ADDRESS}/remove”中写入字符“1”通知内核移除NVMe SSD设备,其中{ADDRESS}表示NVMe SSD设备的PCI地址。
步骤4-4、读写线程检测到读写异常而终止,同时测试软件记录读写线程已经完成写入的元数据计数,记为COUNT。读写线程通过判断write和read系统调用的返回值来检测读写异常。
步骤4-5、测试软件根据测试参数配置控制PCIe Power Control装置延时上电,上电后立即触发软件热插功能。
软件热插功能具体为:向虚拟文件“/sys/bus/pci/rescan”中写入字符“1”,触发系统扫描PCIe设备,并尝试挂载测试分区。因此,为了解决Linux PC无法自动处理热拔插事件的问题,本发明提出了一种方法:在控制PCIe Power Control装置断电前,先卸载NVMeSSD的所有分区并通过sysfs接口移除设备,上电后通过PCI扫描接口和挂载测试分区实现自动识别和挂载。这一过程确保了在模拟异常断电的同时,不会因为系统的异常引用而导致系统崩溃。
步骤4-6、测试软件检查NVMe SSD基本信息,若基本信息异常则结束测试,若基本信息正常则挂载测试分区。
NVMe SSD基本信息包括:PCIe连接速率、带宽、容量、PowerCycle计数、NS数量、分区、文件系统;NVMe SSD基本信息与步骤4-1中NVMe SSD的状态信息做对比,若不同则表示信息异常,若相同则表示信息正常。
步骤4-7、测试软件根据COUNT与读写规则,校验已经写入的数据,若校验失败则记录详细的失败信息并结束测试,若校验成功则继续。
校验已经写入的数据具体为:根据读写规则分为顺序校验和随机校验两种情况;顺序校验则直接按递增地址序列从NVMe SSD读出数据与元数据做对比,校验COUNT次;随机校验则需要先使用随机数种子和伪随机算法生成地址序列,然后按生成的地址序列从NVMeSSD读出数据与元数据做对比,需要校验序列中前COUNT个地址。
需要记录的失败信息包括:对比失败的文件和偏移地址、预期写入的字节序列和实际写入的字节序列。
步骤4-8、测试软件检查已经完成的测试轮数是否达到测试参数配置的测试轮数,若已达到则结束测试,若未达到则重复步骤4-2至步骤4-7。
步骤4-9、测试结束后所有的测试参数和对应的测试报告会保存到数据库。
优选的,每个被测NVMe SSD的测试过程都是相互独立的。本发明采用多线程在文件系统层面进行读写操作,以模拟异常断电时应用程序的行为。由于每个线程独立运行,确保了在批量测试过程中,各个NVMe SSD可以独立地进行读写操作。同时通过PCIe PowerControl装置与被测NVMe SSD一一进行绑定,每个NVMe SSD分别占用一个PCIe PowerControl装置,相互独立,实现了在测试过程中,可以独立控制每个NVMe SSD的断电和上电,进一步保证了各个NVMe SSD可以独立地进行断电测试。
尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统,其特征在于:所述系统包括:Linux PC主机、若干个PCIe Power Control装置、测试软件、数据库和被测NVMeSSD;
所述Linux PC主机上安装测试软件和数据库;
所述Linux PC主机通过PCIe接口分别连接每个PCIe Power Control装置,并通过串口分别控制每个PCIe Power Control装置的下游PCIe引脚进行断电和上电;
每个所述PCIe Power Control装置通过其下游PCIe引脚连接被测NVMe SSD。
2.基于权利要求1所述系统的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述方法包括以下步骤:
步骤1、判断是否为第一次测试;如果是,则进行步骤2,否则进行步骤3;
步骤2、将所有被测NVMe SSD与其连接的PCIe Power Control装置进行绑定;
步骤3、选定被测NVMe SSD并配置测试参数;
步骤4、进行断电读写测试。
3.根据权利要求2所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:每个被测NVMe SSD的测试过程都是相互独立的。
4.根据权利要求2所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述步骤2具体为:
步骤2-1、将N个PCIe Power Control装置的上游PCIe接口和串口与Linux PC进行连接,N为大于等于1的正整数;
步骤2-2、启动Linux PC主机并启动测试软件;
步骤2-3、通过测试软件控制所有PCIe Power Control装置下电;
步骤2-4、将一个被测NVMe SSD与任意一个PCIe Power Control装置的下游PCIe接口相连接;
步骤2-5、在测试软件上将步骤2-4中的PCIe Power Control装置上电并通过sysfs接口扫描NVMe SSD设备,获取其PCI地址;
步骤2-6、在测试软件中将步骤2-5中获取的PCI地址与步骤2-4中PCIe Power Control装置的串口序列号SN绑定,绑定结果保存到数据库中;
步骤2-7、重复步骤2-4至步骤2-6完成所有被测NVMe SSD与PCIe Power Control装置的绑定。
5.根据权利要求2所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述步骤3中所述测试参数包括:测试轮数、读写规则、断上电时长、随机数种子、元数据;
所述读写规则包括顺序读写和随机读写,若为顺序读写则读写的地址依次递增,若为随机读写则会使用随机数种子和伪随机算法生成读写地址序列。
6.根据权利要求2所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述步骤4具体为:
步骤4-1、测试软件记录被测NVMe SSD的状态信息,所述状态信息包括: PCIe连接速率、带宽、容量、PowerCycle计数、NS数量、分区、文件系统格式;
步骤4-2、测试软件根据测试参数配置启动读写线程进行读写,同时启动测试软件的断电定时器,并根据测试参数配置设置断电定时器时长;
步骤4-3、断电定时器达到设定的时长后,测试软件控制PCIe Power Control装置下电,并触发软件热拔功能;
步骤4-4、读写线程检测到读写异常而终止,同时测试软件记录读写线程已经完成写入的元数据计数,记为COUNT;
步骤4-5、测试软件根据测试参数配置控制PCIe Power Control装置延时上电,上电后立即触发软件热插功能;
步骤4-6、测试软件检查NVMe SSD基本信息,若基本信息异常则结束测试,若基本信息正常则挂载测试分区;
步骤4-7、测试软件根据COUNT与读写规则,校验已经写入的数据,若校验失败则记录详细的失败信息并结束测试,若校验成功则继续;
步骤4-8、测试软件检查已经完成的测试轮数是否达到测试参数配置的测试轮数,若已达到则结束测试,若未达到则重复步骤4-2至步骤4-7;
步骤4-9、测试结束后所有的测试参数和对应的测试报告会保存到数据库。
7.根据权利要求6所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述步骤4-3中,软件热拔功能具体为:使用umount命令卸载NVMe SSD上所有的已挂载的分区,再向虚拟文件“/sys/bus/pci/devices/{ADDRESS}/remove”中写入字符“1”通知内核移除NVMe SSD设备,其中{ADDRESS}表示NVMe SSD设备的PCI地址;
所述步骤4-5中,软件热插功能具体为:向虚拟文件“/sys/bus/pci/rescan”中写入字符“1”,触发系统扫描PCIe设备,并尝试挂载测试分区。
8.根据权利要求6所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述步骤4-6中,NVMe SSD基本信息包括:PCIe连接速率、带宽、容量、PowerCycle计数、NS数量、分区、文件系统;
NVMe SSD基本信息与步骤4-1中NVMe SSD的状态信息做对比,若不同则表示信息异常,若相同则表示信息正常。
9.根据权利要求6所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:所述步骤4-7中,校验已经写入的数据具体为:根据读写规则分为顺序校验和随机校验两种情况;顺序校验则直接按递增地址序列从NVMe SSD读出数据与元数据做对比,校验COUNT次;随机校验则需要先使用随机数种子和伪随机算法生成地址序列,然后按生成的地址序列从NVMe SSD读出数据与元数据做对比,需要校验序列中前COUNT个地址。
10.根据权利要求6所述的一种在Linux PC上进行NVMe SSD异常断电读写的批量测试方法,其特征在于:步骤4-7中,需要记录的失败信息包括:对比失败的文件和偏移地址、预期写入的字节序列和实际写入的字节序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410564569.4A CN118152300A (zh) | 2024-05-09 | 2024-05-09 | 一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410564569.4A CN118152300A (zh) | 2024-05-09 | 2024-05-09 | 一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118152300A true CN118152300A (zh) | 2024-06-07 |
Family
ID=91294992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410564569.4A Pending CN118152300A (zh) | 2024-05-09 | 2024-05-09 | 一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118152300A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220043605A1 (en) * | 2019-09-26 | 2022-02-10 | Kioxia Corporation | Memory system, memory system control method, and information processing system |
CN114356677A (zh) * | 2022-03-16 | 2022-04-15 | 北京得瑞领新科技有限公司 | NVMe SSD热插拔测试方法、装置、设备及存储介质 |
CN115035946A (zh) * | 2022-08-12 | 2022-09-09 | 武汉麓谷科技有限公司 | 一种可扩展的NVMe固态硬盘测试系统 |
-
2024
- 2024-05-09 CN CN202410564569.4A patent/CN118152300A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220043605A1 (en) * | 2019-09-26 | 2022-02-10 | Kioxia Corporation | Memory system, memory system control method, and information processing system |
CN114356677A (zh) * | 2022-03-16 | 2022-04-15 | 北京得瑞领新科技有限公司 | NVMe SSD热插拔测试方法、装置、设备及存储介质 |
CN115035946A (zh) * | 2022-08-12 | 2022-09-09 | 武汉麓谷科技有限公司 | 一种可扩展的NVMe固态硬盘测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684150B (zh) | 存储颗粒控制器的性能测试系统、测试方法及仿真平台 | |
CN104660471A (zh) | 一种Linux下自动测试PCIE-SSD传输速率和带宽的方法 | |
CN115083510B (zh) | 固态硬盘测试方法、装置、存储介质、电源及电子设备 | |
CN114530188A (zh) | 一种半导体测试方法、系统及存储介质 | |
CN116719668A (zh) | 一种NVMe固态硬盘组RAID的自动化测试方法及测试系统 | |
CN116382991A (zh) | 一种存储设备测试方法、装置、计算机设备及存储介质 | |
CN114880177A (zh) | 固态硬盘的整机异常掉电测试方法、装置和计算机设备 | |
CN114116355A (zh) | 内存测试方法、装置及电子设备 | |
CN111897685B (zh) | 掉电时校验数据的方法、装置、存储介质及电子设备 | |
CN112802530A (zh) | Nand测试方法、装置、可读存储介质及电子设备 | |
CN110990207B (zh) | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 | |
CN116401086A (zh) | 内存漏斗错误上报机制的测试方法、装置、设备及介质 | |
CN118152300A (zh) | 一种在Linux PC上进行NVMe SSD异常断电读写的批量测试系统及方法 | |
CN114694742A (zh) | 存储设备的格式化测试方法、装置、终端设备和存储介质 | |
CN111966545A (zh) | PCIe分线器热插拔测试方法、装置、设备及存储介质 | |
CN112486717A (zh) | 一种磁盘数据一致性校验方法、系统、终端及存储介质 | |
CN117316252A (zh) | 一种分布式zns ssd异常断电校验数据一致性的快速测试方法 | |
CN221079631U (zh) | 一种固态硬盘的老化测试系统 | |
CN112486849B (zh) | 闪存开卡程序的方法、闪存装置的闪存控制器及电子装置 | |
CN116758973B (zh) | 一种企业级固态硬盘意外掉电数据校验的测试方法 | |
CN113835631B (zh) | 残留平台配置数据删除方法、系统、终端及存储介质 | |
CN112463608B (zh) | 基于分布式存储的测试方法及系统 | |
CN101697285B (zh) | 存储设备硬件调试的方法及系统 | |
CN117194198A (zh) | Io性能测试方法、系统、终端及存储介质 | |
CN118193305A (zh) | 硬盘的测试方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |