CN117743063B - 一种固态硬盘虚拟化功能的验证方法和验证装置 - Google Patents
一种固态硬盘虚拟化功能的验证方法和验证装置 Download PDFInfo
- Publication number
- CN117743063B CN117743063B CN202410190231.7A CN202410190231A CN117743063B CN 117743063 B CN117743063 B CN 117743063B CN 202410190231 A CN202410190231 A CN 202410190231A CN 117743063 B CN117743063 B CN 117743063B
- Authority
- CN
- China
- Prior art keywords
- verification
- test script
- vfs
- solid state
- executing
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 53
- 239000007787 solid Substances 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012360 testing method Methods 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 46
- 230000007488 abnormal function Effects 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 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
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种固态硬盘虚拟化功能的验证方法和验证装置,采用测试脚本获取固态硬盘设备寄存器值,确认功能并自动配置VF后将VF和PF FLR复位,分步进行确认状态,实现了验证固态硬盘虚拟化功能的存在性、VF功能局部性和PF功能的全局性的技术效果,有效避免了现有技术中利用虚拟机简单绑定VF或者按队列中断资源创建VF等流于表面,却对SR‑IOV功能关键特性FLR复位的有效性无从识别的缺陷。
Description
技术领域
本发明涉及固态硬盘测试相关技术领域,具体涉及一种固态硬盘虚拟化功能的验证方法和验证装置。
背景技术
固态硬盘虚拟化(SR-IOV)功能可以支持单个物理PCIe设备虚拟出多个PCIe设备,这样可以减少PCIe设备的硬件成本,节省PCIe插槽,使得硬件资源可以更加充分使用。随着云计算的广泛应用,支持SR-IOV功能的固态硬盘显得越来越有必要。
本领域中通常选择在服务器上配置VF(Virtual Function,虚拟功能设备)并与虚拟机绑定去验证固态硬盘SR-IOV功能能否正常工作,但是这种方式测试效率不高,且对于SR-IOV功能必须具备的关键特性:PF(Physical Function,物理功能设备)/VF FLR(function level reset,功能级复位)复位差异不能明确识别。基于此,本发明提出了一种有效确认PF/VF差异化复位特性的固态硬盘虚拟化功能验证方法。
有鉴于上述的缺陷,当前亟需设计一种能够有效确认PF/VF差异化复位特性的固态硬盘虚拟化功能的验证方法和验证装置。
发明内容
为了解决上述内容中提到的问题,本发明提供了一种固态硬盘虚拟化功能的验证方法和验证装置,其通过测试脚本验证了固态硬盘虚拟化功能的存在性,VF功能局部性和PF功能的全局性。
其技术方案是这样的:
一种固态硬盘虚拟化功能的验证方法,其特征在于:所述方法包括以下步骤:
步骤1、服务器系统启动,执行测试脚本来确认被测固态硬盘具备SR-IOV功能;本步骤执行成功,则进入下一步,否则退出验证;
步骤2、执行测试脚本启用被测固态硬盘的SR-IOV功能;本步骤执行成功,则进入下一步,否则退出验证;
步骤3、执行测试脚本启用ARI(Alternative Routing-ID)可变路由功能;本步骤执行成功,则进入下一步,否则退出验证;
步骤4、执行测试脚本创建最大数量的VF;本步骤执行成功,则进入下一步,否则退出验证;
步骤5、执行测试脚本对所有的VF进行FIO读写操作;本步骤执行成功,则进入下一步,否则退出验证;
步骤6、执行测试脚本对任意一个选定的VF停止读写操作,对选定的VF进行FLR复位;本步骤执行成功,则进入下一步,否则退出验证;
步骤7、执行测试脚本判断选定的VF的状态,验证选定的VF是否单独有效复位和其他VF读写操作有无受到影响以及自动记录其他VF的IOPS的数据波动;本步骤执行成功,则进入下一步,否则退出验证;
步骤8、执行测试脚本先终止所有VF正在执行的读写操作, 在确认所有VF已经停下工作后对PF进行全局复位;本步骤执行成功,则进入下一步,否则退出验证;
步骤9、执行测试脚本验证所有VF是否全部归零;如果全部归零,则验证成功,完成测试,否则退出验证。
进一步的,所述步骤1中,执行测试脚本通过获取被测固态硬盘的SR-IOV功能ID,如果获取到ID则确认被测固态硬盘具备SR-IOV功能。
进一步的,所述步骤4中,执行测试脚本获取PF的最大支持VF数量(total VFs)与当前可用VF数量(Initial VFs)以及vf_offset(第一个VF与PF之间的偏移量)和vf_stride(两个VF之间的距离),再执行测试脚本根据total VFs、vf_offset、vf_stride和InitialVFs创建最大数量的VF。
进一步的,所述步骤7中,验证选定的VF是否单独有效复位和其他VF读写操作有无受到影响的具体方法为:判断PF的SR-IOV寄存器的VF的BAR、VF memory space enable值或者VF Resizable BAR capability值是否受影响,测试脚本将会逐个比对上述寄存器值并打印结果,如果VF的BAR、VF memory space enable值或VF Resizable BAR capability值改变,测试脚本记录会显示复位失败,功能异常。
进一步的,本发明还提供了一种验证装置,其特征在于:所述验证装置包括:服务器平台和测试脚本;所述服务器平台包括:处理器、内存和Linux操作系统。
进一步的,所述测试脚本用于查询虚拟化功能的寄存器值、调用FIO读写操作、创建VF、执行FLR复位和确认设备配置空间值。
本发明的有益效果为:
本发明采用测试脚本获取固态硬盘设备寄存器值,确认功能并自动配置VF后将VF和PF FLR复位,分步进行确认状态,实现了验证固态硬盘虚拟化功能的存在性、VF功能局部性和PF功能的全局性的技术效果,有效避免了现有技术中利用虚拟机简单绑定VF或者按队列中断资源创建VF等流于表面,却对SR-IOV功能关键特性FLR复位的有效性无从识别的缺陷;因为虚拟机在探测VF时会调用FLR,一旦FLR失效,将不能保证物理机是否曾经使用过VF,从而状态不可控,而且在控制器想要单独解除个别VF所分配的资源时,若FLR不能有效将设备上的VF置于静止状态,并清除VF的任何挂起中断事件,控制器无法释放回收资源,势必造成资源冲突,导致后续功能失效;因此本发明提供了一种能够有效确认PF和VF差异化复位特性的固态硬盘虚拟化功能的验证方法和验证装置,弥补了现有验证方法的缺陷。
附图说明
图1为本验证方法的流程示意图。
图2为本验证装置的结构示意图。
具体实施方式
下面结合实施例对本发明做进一步的描述。
以下实施例用于说明本发明,但不能用来限制本发明的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本发明的构思前提下对本发明的方法简单改进都属于本发明要求保护的范围。
实施例1:
如图1所示,本发明提供的一种固态硬盘虚拟化功能的验证方法,所述方法包括以下步骤:
步骤1、服务器系统启动,执行测试脚本通过脚本扫描PCI Express扩展寄存器中SRIOV extend capability是否有SRIOV CAP ID来确认固态硬盘是否提供SRIOV功能;本步骤执行成功,则进入下一步,否则退出验证。
步骤2、执行测试脚本启用被测固态硬盘的SR-IOV功能;本步骤执行成功,则进入下一步,否则退出验证。
步骤3、执行测试脚本启用ARI(Alternative Routing-ID)可变路由功能,令PF设备以及其所在的root port或者pcie switch均启用ARI功能;本步骤执行成功,则进入下一步,否则退出验证。
步骤4、执行测试脚本创建最大数量的VF,具体为:执行测试脚本获取PF的最大支持VF数量(total VFs)与当前可用VF数量(Initial VFs)以及vf_offset(第一个VF与PF之间的偏移量)和vf_stride(两个VF之间的距离),再执行测试脚本根据total VFs、vf_offset、vf_stride和Initial VFs创建最大数量的VF;本步骤执行成功,则进入下一步,否则退出验证。
步骤5、执行测试脚本对所有的VF进行FIO读写操作;本步骤执行成功,则进入下一步,否则退出验证。
步骤6、执行测试脚本对任意一个选定的VF停止读写,对选定的VF进行FLR复位,本实施例中选定VF0(这里任意VF都可以,脚本会随机选择,此处为了说明方便,以VF0为例)停止读写并进行FLR复位操作,即写入PCIe的Device control register(设备控制寄存器)的bit15 (init FLR);本步骤执行成功,则进入下一步,否则退出验证。
步骤7、执行测试脚本判断选定的VF的状态,验证是否单独有效复位和其他VF读写操作有无受到影响以及自动记录其他VF的IOPS的数据波动,具体为:判断PF的SR-IOV寄存器的VF的BAR和VF memory space enable值是否受影响,VF Resizable BAR capability值是否受影响,脚本将会逐个比对这些寄存器值并打印结果,如果寄存器中VF的BAR、VFmemory space enable值或VF Resizable BAR capability值改变,脚本记录会显示复位失败,功能异常;本步骤执行成功,则进入下一步,否则退出验证。步骤6和步骤7既确认FLR针对特定VF的有效性,还确认了各个VF间是否具备独立性。
步骤8、执行测试脚本先终止所有VF正在执行的读写操作, 在确认所有VF已经停下工作后对PF进行全局复位;本步骤执行成功,则进入下一步,否则退出验证。
步骤9、执行测试脚本验证所有VF是否全部归零;本步骤执行成功,则验证成功,完成测试,否则退出验证。因为PF的全局复位会影响PF的状态,并且SR-IOV寄存器的VFenable值从1变成0,即PF发生全局复位,对应的VF enable比特位值将为0。步骤8和步骤9既确认PF全局复位具备全局性,PF FLR会触发所有VF消失;还会检查PF进行全局复位时候,需要按拟定的通知机制通知VF, VF收到通知后把它自己的工作停下,确保PF全局复位成功。
实施例2:
如图2所示,本发明还提供了一种验证装置,所述验证装置包括:服务器平台(S11)和测试脚本(S14)。
所述服务器平台(S11)包括:处理器(S12)、内存(S15)和Linux操作系统(S13)。服务器平台(S11),用于提供固态硬盘(S16)虚拟化功能的验证环境;处理器(S12),用于执行计算机程序;内存(S15),为操作系统和测试脚本的运行提供环境;Linux操作系统(S13),对服务器软硬件及数据资源进行管理调度。所述测试脚本(S14)用于查询虚拟化功能的寄存器值、调用FIO读写操作、创建VF、执行FLR复位和确认设备配置空间值。
尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种固态硬盘虚拟化功能的验证方法,其特征在于:所述方法包括以下步骤:
步骤1、服务器系统启动,执行测试脚本来确认被测固态硬盘具备SR-IOV功能;本步骤执行成功,则进入下一步,否则退出验证;
步骤2、执行测试脚本启用被测固态硬盘的SR-IOV功能;本步骤执行成功,则进入下一步,否则退出验证;
步骤3、执行测试脚本启用可变路由功能;本步骤执行成功,则进入下一步,否则退出验证;
步骤4、执行测试脚本创建最大数量的VF;本步骤执行成功,则进入下一步,否则退出验证;
步骤5、执行测试脚本对所有的VF进行FIO读写操作;本步骤执行成功,则进入下一步,否则退出验证;
步骤6、执行测试脚本对任意一个选定的VF停止读写操作,然后对选定的VF进行FLR复位;本步骤执行成功,则进入下一步,否则退出验证;
步骤7、执行测试脚本判断选定的VF的状态,验证选定的VF是否单独有效复位和其他VF读写操作有无受到影响以及自动记录其他VF的IOPS的数据波动;本步骤执行成功,则进入下一步,否则退出验证;
步骤8、执行测试脚本先终止所有VF正在执行的读写操作, 在确认所有VF已经停下工作后对PF进行全局复位;本步骤执行成功,则进入下一步,否则退出验证;
步骤9、执行测试脚本验证所有VF是否全部归零;如果全部归零,则验证成功,完成测试,否则退出验证。
2.根据权利要求1所述的一种固态硬盘虚拟化功能的验证方法,其特征在于:所述步骤1中,执行测试脚本通过获取被测固态硬盘的SR-IOV功能ID,如果获取到ID则确认被测固态硬盘具备SR-IOV功能。
3.根据权利要求1所述的一种固态硬盘虚拟化功能的验证方法,其特征在于:所述步骤4中,执行测试脚本获取PF的最大支持VF数量total VFs与当前可用VF数量Initial VFs以及第一个VF与PF之间的偏移量vf_offset和两个VF之间的距离vf_stride,再执行测试脚本根据total VFs、vf_offset、vf_stride和Initial VFs创建最大数量的VF。
4.根据权利要求1所述的一种固态硬盘虚拟化功能的验证方法,其特征在于:所述步骤7中,验证选定的VF是否单独有效复位和其他VF读写操作有无受到影响的具体方法为:判断PF的SR-IOV寄存器的VF的BAR、VF memory space enable值或者VF Resizable BARcapability值是否受影响,测试脚本将会逐个比对VF的BAR、VF memory space enable值或者VF Resizable BAR capability值并打印结果,如果VF的BAR、VF memory space enable值或VF Resizable BAR capability值改变,测试脚本记录会显示复位失败,功能异常。
5.基于权利要求1-4任意一项所述验证方法的一种固态硬盘虚拟化功能的验证装置,其特征在于:所述验证装置包括:服务器平台和测试脚本;所述服务器平台包括:处理器、内存和Linux操作系统。
6.根据权利要求5所述的一种固态硬盘虚拟化功能的验证装置,其特征在于:所述测试脚本用于查询虚拟化功能的寄存器值、调用FIO读写操作、创建VF、执行FLR复位和确认设备配置空间值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190231.7A CN117743063B (zh) | 2024-02-21 | 2024-02-21 | 一种固态硬盘虚拟化功能的验证方法和验证装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190231.7A CN117743063B (zh) | 2024-02-21 | 2024-02-21 | 一种固态硬盘虚拟化功能的验证方法和验证装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117743063A CN117743063A (zh) | 2024-03-22 |
CN117743063B true CN117743063B (zh) | 2024-04-23 |
Family
ID=90251239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410190231.7A Active CN117743063B (zh) | 2024-02-21 | 2024-02-21 | 一种固态硬盘虚拟化功能的验证方法和验证装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743063B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086178A (zh) * | 2018-08-10 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种Linux系统下SR-IOV功能的测试方法及系统 |
CN114625584A (zh) * | 2021-12-29 | 2022-06-14 | 深圳忆联信息系统有限公司 | 固态硬盘数据传输速率动态转换的测试验证方法和装置 |
CN115437948A (zh) * | 2022-09-22 | 2022-12-06 | 山东华芯半导体有限公司 | 一种ssd硬盘的sr-iov虚拟化测试方法及系统 |
CN116028290A (zh) * | 2023-02-24 | 2023-04-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘测试方法、装置、设备及介质 |
CN116112412A (zh) * | 2023-02-28 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种虚拟网卡绑定冗余功能测试方法、系统、装置及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201682B2 (en) * | 2013-06-21 | 2015-12-01 | Ati Technologies Ulc | Virtualized device reset |
US9858102B2 (en) * | 2015-05-21 | 2018-01-02 | Dell Products, L.P. | Data path failover method for SR-IOV capable ethernet controller |
-
2024
- 2024-02-21 CN CN202410190231.7A patent/CN117743063B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086178A (zh) * | 2018-08-10 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种Linux系统下SR-IOV功能的测试方法及系统 |
CN114625584A (zh) * | 2021-12-29 | 2022-06-14 | 深圳忆联信息系统有限公司 | 固态硬盘数据传输速率动态转换的测试验证方法和装置 |
CN115437948A (zh) * | 2022-09-22 | 2022-12-06 | 山东华芯半导体有限公司 | 一种ssd硬盘的sr-iov虚拟化测试方法及系统 |
CN116028290A (zh) * | 2023-02-24 | 2023-04-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固态硬盘测试方法、装置、设备及介质 |
CN116112412A (zh) * | 2023-02-28 | 2023-05-12 | 苏州浪潮智能科技有限公司 | 一种虚拟网卡绑定冗余功能测试方法、系统、装置及介质 |
Non-Patent Citations (1)
Title |
---|
基于SR-IOV的IO虚拟化技术;李超;董青;戴华东;;电脑与信息技术;20101015(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117743063A (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9218893B2 (en) | Memory testing in a data processing system | |
US20130227356A1 (en) | Apparatus and method for handling rebooting of mobile terminal | |
CN109104337B (zh) | 一种测试网络访问控制工具的方法、装置及设备 | |
CN107832179A (zh) | 一种PCIe Error Enabling测试方法 | |
CN115762625A (zh) | 验证eMMC功能的方法、系统、电子设备及存储介质 | |
WO2021057795A1 (zh) | 系统启动方法、装置、节点设备及计算机可读存储介质 | |
CN110865944A (zh) | 测试用例的数据分析方法、装置、存储介质和测试设备 | |
CN110989926A (zh) | 故障磁盘槽位定位方法、装置及电子设备 | |
US9699093B2 (en) | Migration of virtual machine based on proximity to peripheral device in NUMA environment | |
CN113110960A (zh) | 一种基于硬盘性能的自动调优测试方法及系统 | |
WO2021055129A1 (en) | Protocol for improving rebuild times of redundant array of independent disks | |
EP2990956B1 (en) | Usb device and method thereof for automatically recognizing microsoft windowing operating system version | |
CN117743063B (zh) | 一种固态硬盘虚拟化功能的验证方法和验证装置 | |
CN105138293A (zh) | 一种基于数据库的磁盘性能评估方法 | |
CN111625407B (zh) | Ssd性能测试方法及相关组件 | |
CN115422091B (zh) | 一种固件调试方法及装置、电子设备、存储介质 | |
US10936328B2 (en) | Tracking a boot disk of a computing device through one or more reboots of the computing device | |
US11068371B2 (en) | Method and apparatus for simulating slow storage disk | |
CN115454856A (zh) | 多应用的安全检测方法、装置、介质及电子设备 | |
CN115168119A (zh) | 一种服务器pcie链路检测方法、装置以及介质 | |
JP2005149503A (ja) | Dmaを使用してメモリをテストするためのシステムおよび方法 | |
US20070028218A1 (en) | Apparatus, system, and method for a software test coverage analyzer using embedded hardware | |
EP3912040A1 (en) | Input/output control code filter | |
US7487399B2 (en) | System and method for testing a component in a computer system using frequency margining | |
US11947420B2 (en) | Hardware memory error tolerant software system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |