CN116189754A - 固态硬盘测试验证方法、装置、计算机设备及存储介质 - Google Patents

固态硬盘测试验证方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116189754A
CN116189754A CN202310307160.XA CN202310307160A CN116189754A CN 116189754 A CN116189754 A CN 116189754A CN 202310307160 A CN202310307160 A CN 202310307160A CN 116189754 A CN116189754 A CN 116189754A
Authority
CN
China
Prior art keywords
solid state
read
smbus
state disk
write
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
Application number
CN202310307160.XA
Other languages
English (en)
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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System 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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202310307160.XA priority Critical patent/CN116189754A/zh
Publication of CN116189754A publication Critical patent/CN116189754A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例公开了一种固态硬盘测试验证方法、装置、计算机设备及存储介质,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接,方法包括:固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS;若支持SMBUS,则开启SMBUS功能;对固态硬盘进行读写验证;对固态硬盘进行读写长度越界验证;对固态硬盘进行读写偏移量验证;对固态硬盘最大支持的SMBUS工作频率进行验证。本发明实现了主机快速高效地可以通过NVMe‑MIVPD读写命令对带有SMBUS的固态硬盘进行VPD的读写操作、读写长度越界、读写偏移量越界,以及最大SMBUS工作频率最大支持情况的测试验证,避免了SMBUS的工作频率需要通过示波器进行测量验证的问题,进而降低了测试成本。

Description

固态硬盘测试验证方法、装置、计算机设备及存储介质
技术领域
本发明涉及固态硬盘技术领域,更具体地说是固态硬盘测试验证方法、装置、计算机设备及存储介质。
背景技术
VPD(VitalProductData,重要的产品数据,以下简称VPD)属于FRU(FieldReplaceableUnit,现场可替换单元,以下简称FRU)信息,其可描述固态硬盘的制造商,产品型号,产品序列号,产品规格如Link速度,Lane数,SMBUS地址和最大支持的工作频率等重要信息,这些信息存储在固态硬盘控制器内部或独立的EEPROM芯片中(256~4096字节)。通过读取VPD或写入新的数据到VPD可以方便快捷的对固态硬盘进行信息查询和维护。其VPD读取和写入操作可以通过3种方式实现,第一种是通过带内信号PCIe通道下发NVMe-MI发送或NVMe-MI接收其VPD读、VPD写命令;第二种是通过带外信号SMBUS(systemmanagementbus,系统管理总线,以下简称SMUBS)通道下发NVMe-MIVPD读、VPD写命令;第三种是通过VDM(vendordefinemessage,供应商定义消息,以下简称VDM)message的方式通过PCIe通道下发NVMe-MIVPD读、VPD写命令。所以对VPD的读写验证是非常重要的。若固态硬盘上的VPD不能被正确的读取和更新或信息不符预期,将对产品的维护或日常信息查看带来不利影响。尤其是在系统不开机,主板已上电的情况下想远程获取上述产品的信息时,通过带外管理方式读取VPD尤为重要。若读取VPD失败,其大大影响用户对固态硬盘产品的体验和信任度。
目前在市场上还没有支持通过SMBUS直接读取VPD的M.2固态硬盘接口的主机。ULINK公司的DriverMaster软件及配套的PSPA(PCIe固态硬盘PowerAdaptor,PCIe固态硬盘电源适配器,以下简称PSPA)硬件无SMBUS物理走线且基于SMBUS的NVMe-MI测试相关命令尚未开发,且SMBUS的工作频率通常需要通过示波器进行测量验证。
因此,有必要设计一种主机在不支持通过SMBUS直接读取VPD的固态硬盘的情况下,能够对带有SMBUS的固态硬盘进行VPD的读写等验证,以及最大SMBUS工作频率最大支持情况的测试验证的方法。
发明内容
本发明的目的在于克服现有技术的不足,提供固态硬盘测试验证方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:
第一方面,固态硬盘测试验证方法,包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接;方法包括:
固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS;
若支持SMBUS,则开启SMBUS功能;
对固态硬盘进行读写验证;
对固态硬盘进行读写长度越界验证;
对固态硬盘进行读写偏移量验证;
对固态硬盘最大支持的SMBUS工作频率进行验证。
其进一步技术方案为:所述对固态硬盘进行读写验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据;
若旧数据读取成功,则将旧数据暂时保存;
通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置;
通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据;
若新数据读取成功,则判定读写验证成功。
其进一步技术方案为:所述若新数据读取成功,则判定读写验证成功之后,包括:
将暂时保持的旧数据通过VPD写命令写回至原存储位置。
其进一步技术方案为:所述对固态硬盘进行读写长度越界验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取长度越界内容;
若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入长度越界内容;
若写入失败,则判定读写长度越界验证成功。
其进一步技术方案为:所述对固态硬盘进行读写偏移量验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取偏移量内容;
若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入偏移量内容;
若写入失败,则判定读写偏移量验证成功。
其进一步技术方案为:所述对固态硬盘最大支持的SMBUS工作频率进行验证,包括:
通过NVME-MIgetconfiguration命令读取当前的SMBUS工作频率;
通过NVME-MIsetconfiguration命令设定SMBUS工作频率的值为当前的SMBUS工作频率的值;
读取VPD中最大支持的SMBUS工作频率;
设定主机的当前工作频率为读取的VPD中最大支持的SMBUS工作频率;
读取固态硬盘选定的数据存储位置的当前值;
若读取到的固态硬盘选定的数据存储位置的当前值与固态硬盘选定的数据存储位置的原有值一致,则判定固态硬盘最大支持的SMBUS工作频率验证成功。
第二方面,固态硬盘测试验证装置,包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接;装置包括:检测单元、开启单元、读写验证单元、长度越界验证单元、读写偏移量验证单元以及工作频率验证单元;
所述检测单元,用于固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS;
所述开启单元,用于若支持SMBUS,则开启SMBUS功能;
所述读写验证单元,用于对固态硬盘进行读写验证;
所述长度越界验证单元,用于对固态硬盘进行读写长度越界验证;
所述读写偏移量验证单元,用于对固态硬盘进行读写偏移量验证;
所述工作频率验证单元,用于对固态硬盘最大支持的SMBUS工作频率进行验证。
其进一步技术方案为:所述读写验证单元包括:新数据读取模块、暂存模块、保存模块以及旧数据读取模块;
所述新数据读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据;
所述暂存模块,用于若旧数据读取成功,则将旧数据暂时保存;
所述保存模块,用于通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置;
所述旧数据读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据;
若新数据读取成功,则判定读写验证成功。
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的固态硬盘测试验证方法。
第四方面,一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的固态硬盘测试验证方法。
本发明与现有技术相比的有益效果是:主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接,实现了主机快速高效地可以通过NVMe-MIVPD读写命令对带有SMBUS的固态硬盘进行VPD的读写操作、读写长度越界、读写偏移量越界,以及最大SMBUS工作频率最大支持情况的测试验证,避免了SMBUS的工作频率需要通过示波器进行测量验证的问题,进而降低了测试成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例提供的固态硬盘测试验证方法的应用场景示意图;
图2为本发明具体实施例提供的固态硬盘测试验证方法的流程图;
图3为本发明具体实施例提供的固态硬盘测试验证装置的示意性框图;
图4为本发明具体实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明具体实施例提供的固态硬盘测试验证方法的应用场景示意图;本发明的方法适用于支持SMBUS且带有NVMe接口的服务器。应用场景中包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接。主机通过下发指令,服务器用于通过SMBUS与待测的固态硬盘连接,并将主机下发的指令传递至固态硬盘。
请参阅图2,图2为本发明具体实施例提供的固态硬盘测试验证方法的流程图。固态硬盘测试验证方法,包括以下方法步骤:S10-S60。
S10、固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS。
在本实施例中,开机上电后,通过检查固态硬盘控制器数据结构中的SMBUS位,可以确定控制器是否支持SMBus协议,以便在系统中使用SMBus协议的设备时,确保设备和控制器的兼容性和稳定性。
S20、若支持SMBUS,则开启SMBUS功能。
在本实施例中,如果支持SMBUS,通过NVMEset-feature命令开启SMBUS功能(featured5h)。
S30、对固态硬盘进行读写验证。
在一实施例中,步骤S30具体包括以下步骤:S301-S305。
S301、通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据。
在本实施例中,通过SMBUS通道下发NVMe-MI的VPD读命令(操作码05)去读取VPDbyte8中的内容。
S302、若旧数据读取成功,则将旧数据暂时保存。
在本实施例中,如果成功读取到VPDbyte8中的内容,则说明读功能验证成功,并将该内容暂时保存,若读取失败,则结束测试。
S303、通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置。
在本实施例中,通过SMBUS通道下发NVMe-MI的VPD写命令(操作码05),写数据“A5”到VPD的byte8。
S304、通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据。
在本实施例中,通过带外SMBUS通道下发NVMe-MI的VPD读命令(操作码05)去读取VPDbyte8中的内容。
S305、若新数据读取成功,则判定读写验证成功。
在本实施例中,若读取的byte8中内容为“A5”,则说明写功能验证成功,由于上述过程对读功能验证成功,进而说明,读写均验证成功。
在一实施例中,步骤S305之后包括以下步骤:S306。
S306、将暂时保持的旧数据通过VPD写命令写回至原存储位置。
在本实施例中,将步骤S302暂时保存的数据通过VPD写命令写回Byte8中。
S40、对固态硬盘进行读写长度越界验证。
在一实施例中,步骤S40具体包括以下步骤:S401-S403。
S401、通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取长度越界内容。
S402、若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入长度越界内容。
S403、若写入失败,则判定读写长度越界验证成功。
在本实施例中,对于步骤S401-S403,分为读长度越界验证和写长度越界验证。
读长度越界验证:通过SMBUS通道下发NVMe-MI的VPD读命令(操作码05)去读取VPDbyte510且读取长度为10的内容,判断是否返回错误代码04(InvalidParameter),如是,则成功处理读长度越界问题,读长度越界验证成功;如否,则固件内部处理逻辑NG。
写长度越界验证:通过带外SMBUS通道下发NVMe-MI的VPD写命令(操作码06)去写VPDbyte510且读取长度为10的内容,判断是否返回错误代码04(InvalidParameter),如是,则成功处理写长度越界问题,写长度越界验证成功,如否,则固件内部处理逻辑NG。
S50、对固态硬盘进行读写偏移量验证。
在一实施例中,步骤S50具体包括以下步骤:S501-S503。
S501、通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取偏移量内容。
S502、若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入偏移量内容。
S503、若写入失败,则判定读写偏移量验证成功。
在本实施例中,对于步骤S501-S503,分为读偏移量越界验证和写偏移量越界验证。
读偏移量越界验证:通过带外SMBUS通道下发NVMe-MI的VPD读命令(操作码05)去读取VPDbyte520的内容。判断是否返回错误代码04(Invalid Parameter),如是,则成功处理读偏移量越界问题,读偏移量越界验证成功;如否,则固件内部处理逻辑NG。
写偏移量越界验证:通过带外SMBUS通道下发NVMe-MI的VPD写命令(操作码06)去写VPDbyte520的内容。判断是否返回错误代码04(Invalid Parameter),如是,则成功处理写偏移量越界问题,写偏移量越界验证成功;如否,则固件内部处理逻辑NG。
S60、对固态硬盘最大支持的SMBUS工作频率进行验证。
在一实施例中,步骤S60具体包括以下步骤:S601-S606。
S601、通过NVME-MIgetconfiguration命令读取当前的SMBUS工作频率。
S602、通过NVME-MIsetconfiguration命令设定SMBUS工作频率的值为当前的SMBUS工作频率的值。
S603、读取VPD中最大支持的SMBUS工作频率。
S604、设定主机的当前工作频率为读取的VPD中最大支持的SMBUS工作频率。
S605、读取固态硬盘选定的数据存储位置的当前值。
S606、若读取到的固态硬盘选定的数据存储位置的当前值与固态硬盘选定的数据存储位置的原有值一致,则判定固态硬盘最大支持的SMBUS工作频率验证成功。
在本实施例中,对于步骤S601-S606,通过NVME-MIgetconfiguration命令读取当前的SMBUS工作频率,通过NVME-MIsetconfiguration命令设定SMBUS工作频率为步骤S601中的值,以此确保NVME-MIsetconfiguration命令工作正常。读取VPD中最大支持的SMBUS工作频率,如读取值为400KHZ。通过NVME-MIsetconfiguration命令400KHZ设为当前的SMBUS工作频率。修改主机SMBUS设备的工作频率到400KHZ。读取固态硬盘VPDbyte8中的值,如数值和取VPDbyte8中的值一致,则最大支持的SMBUS工作频率验证OK,否则判断最大支持的SMBUS工作频率验证NG。
本发明实现了主机快速高效地可以通过NVMe-MIVPD读写命令对带有SMBUS的固态硬盘进行VPD的读写操作、读写长度越界、读写偏移量越界,以及最大SMBUS工作频率最大支持情况的测试验证,避免了SMBUS的工作频率需要通过示波器进行测量验证的问题,进而降低了测试成本。
图3为本发明实施例提供的固态硬盘测试验证装置的示意性框图;对应于上述的固态硬盘测试验证方法,本发明实施例还提供了固态硬盘测试验证装置100。
如图3所示,固态硬盘测试验证装置100,包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接。
该装置包括:检测单元110、开启单元120、读写验证单元130、长度越界验证单元140、读写偏移量验证单元150以及工作频率验证单元160。检测单元110,用于固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS。开启单元120,用于若支持SMBUS,则开启SMBUS功能。读写验证单元130,用于对固态硬盘进行读写验证。长度越界验证单元140,用于对固态硬盘进行读写长度越界验证。读写偏移量验证单元150,用于对固态硬盘进行读写偏移量验证。工作频率验证单元160,用于对固态硬盘最大支持的SMBUS工作频率进行验证。
在一实施例中,读写验证单元130包括:新数据读取模块、暂存模块、保存模块以及旧数据读取模块。新数据读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据。暂存模块,用于若旧数据读取成功,则将旧数据暂时保存。保存模块,用于通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置。旧数据读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据。若新数据读取成功,则判定读写验证成功。
在一实施例中,读写验证单元130还包括还原模块。还原模块,用于将暂时保持的旧数据通过VPD写命令写回至原存储位置。
在一实施例中,长度越界验证单元140包括第一读取模块、第一写入模块以及第一判定模块。第一读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取长度越界内容。第一写入模块,用于若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入长度越界内容。第一判定模块,用于若写入失败,则判定读写长度越界验证成功。
在一实施例中,读写偏移量验证单元150包括第二读取模块、第二写入模块以及第二判定模块。第二读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取偏移量内容。第二写入模块,用于若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入偏移量内容。第二判定模块,用于若写入失败,则判定读写偏移量验证成功。
在一实施例中,工作频率验证单元160包括第三读取模块、第一设定模块、第四读取模块、第二设定模块、第五读取模块以及第三判定模块。第三读取模块,用于通过NVME-MIgetconfiguration命令读取当前的SMBUS工作频率。第一设定模块,用于通过NVME-MIsetconfiguration命令设定SMBUS工作频率的值为当前的SMBUS工作频率的值。第四读取模块,用于读取VPD中最大支持的SMBUS工作频率。第二设定模块,用于设定主机的当前工作频率为读取的VPD中最大支持的SMBUS工作频率。第五读取模块,用于读取固态硬盘选定的数据存储位置的当前值。第三判定模块,用于若读取到的固态硬盘选定的数据存储位置的当前值与固态硬盘选定的数据存储位置的原有值一致,则判定固态硬盘最大支持的SMBUS工作频率验证成功。
上述固态硬盘测试验证方法可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
如图4所示,该计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的固态硬盘测试验证方法步骤。
该计算机设备700可以是终端或服务器。该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种固态硬盘测试验证方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种固态硬盘测试验证方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
第一方面,固态硬盘测试验证方法,包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接;方法包括:
固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS;
若支持SMBUS,则开启SMBUS功能;
对固态硬盘进行读写验证;
对固态硬盘进行读写长度越界验证;
对固态硬盘进行读写偏移量验证;
对固态硬盘最大支持的SMBUS工作频率进行验证。
在一实施例中:所述对固态硬盘进行读写验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据;
若旧数据读取成功,则将旧数据暂时保存;
通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置;
通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据;
若新数据读取成功,则判定读写验证成功。
在一实施例中:所述若新数据读取成功,则判定读写验证成功之后,包括:
将暂时保持的旧数据通过VPD写命令写回至原存储位置。
在一实施例中:所述对固态硬盘进行读写长度越界验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取长度越界内容;
若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入长度越界内容;
若写入失败,则判定读写长度越界验证成功。
在一实施例中:所述对固态硬盘进行读写偏移量验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取偏移量内容;
若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入偏移量内容;
若写入失败,则判定读写偏移量验证成功。
在一实施例中:所述对固态硬盘最大支持的SMBUS工作频率进行验证,包括:
通过NVME-MIgetconfiguration命令读取当前的SMBUS工作频率;
通过NVME-MIsetconfiguration命令设定SMBUS工作频率的值为当前的SMBUS工作频率的值;
读取VPD中最大支持的SMBUS工作频率;
设定主机的当前工作频率为读取的VPD中最大支持的SMBUS工作频率;
读取固态硬盘选定的数据存储位置的当前值;
若读取到的固态硬盘选定的数据存储位置的当前值与固态硬盘选定的数据存储位置的原有值一致,则判定固态硬盘最大支持的SMBUS工作频率验证成功。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessingUnit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图4中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在本发明的另一实施例中提供了一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的固态硬盘测试验证方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.固态硬盘测试验证方法,其特征在于,包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接;方法包括:
固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS;
若支持SMBUS,则开启SMBUS功能;
对固态硬盘进行读写验证;
对固态硬盘进行读写长度越界验证;
对固态硬盘进行读写偏移量验证;
对固态硬盘最大支持的SMBUS工作频率进行验证。
2.根据权利要求1所述的固态硬盘测试验证方法,其特征在于,所述对固态硬盘进行读写验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据;
若旧数据读取成功,则将旧数据暂时保存;
通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置;
通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据;
若新数据读取成功,则判定读写验证成功。
3.根据权利要求2所述的固态硬盘测试验证方法,其特征在于,所述若新数据读取成功,则判定读写验证成功之后,包括:
将暂时保持的旧数据通过VPD写命令写回至原存储位置。
4.根据权利要求1所述的固态硬盘测试验证方法,其特征在于,所述对固态硬盘进行读写长度越界验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取长度越界内容;
若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入长度越界内容;
若写入失败,则判定读写长度越界验证成功。
5.根据权利要求1所述的固态硬盘测试验证方法,其特征在于,所述对固态硬盘进行读写偏移量验证,包括:
通过SMBUS通道下发NVMe-MI的VPD读命令,以从选定的数据存储位置中读取偏移量内容;
若读取失败,则通过SMBUS通道下发NVMe-MI的VPD写命令,以在选定的数据存储位置写入偏移量内容;
若写入失败,则判定读写偏移量验证成功。
6.根据权利要求1所述的固态硬盘测试验证方法,其特征在于,所述对固态硬盘最大支持的SMBUS工作频率进行验证,包括:
通过NVME-MIgetconfiguration命令读取当前的SMBUS工作频率;
通过NVME-MIsetconfiguration命令设定SMBUS工作频率的值为当前的SMBUS工作频率的值;
读取VPD中最大支持的SMBUS工作频率;
设定主机的当前工作频率为读取的VPD中最大支持的SMBUS工作频率;
读取固态硬盘选定的数据存储位置的当前值;
若读取到的固态硬盘选定的数据存储位置的当前值与固态硬盘选定的数据存储位置的原有值一致,则判定固态硬盘最大支持的SMBUS工作频率验证成功。
7.固态硬盘测试验证装置,其特征在于,包括主机、服务器和固态硬盘,服务器包括NVMe接口和SMBUS通道,主机通过NVMe接口与服务器通讯连接,固态硬盘通过SMBUS通道与服务器通讯连接;装置包括:检测单元、开启单元、读写验证单元、长度越界验证单元、读写偏移量验证单元以及工作频率验证单元;
所述检测单元,用于固态硬盘上电,并检测固态硬盘控制器数据结构是否支持SMBUS;
所述开启单元,用于若支持SMBUS,则开启SMBUS功能;
所述读写验证单元,用于对固态硬盘进行读写验证;
所述长度越界验证单元,用于对固态硬盘进行读写长度越界验证;
所述读写偏移量验证单元,用于对固态硬盘进行读写偏移量验证;
所述工作频率验证单元,用于对固态硬盘最大支持的SMBUS工作频率进行验证。
8.根据权利要求7所述的固态硬盘测试验证装置,其特征在于,所述读写验证单元包括:新数据读取模块、暂存模块、保存模块以及旧数据读取模块;
所述新数据读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以读取固态硬盘存储位置的旧数据;
所述暂存模块,用于若旧数据读取成功,则将旧数据暂时保存;
所述保存模块,用于通过SMBUS通道下发NVMe-MI的VPD写命令,以将新数据存储到保存旧数据的位置;
所述旧数据读取模块,用于通过SMBUS通道下发NVMe-MI的VPD读命令,以读取新数据;
若新数据读取成功,则判定读写验证成功。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~6中任意一项所述的固态硬盘测试验证方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的固态硬盘测试验证方法。
CN202310307160.XA 2023-03-27 2023-03-27 固态硬盘测试验证方法、装置、计算机设备及存储介质 Pending CN116189754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310307160.XA CN116189754A (zh) 2023-03-27 2023-03-27 固态硬盘测试验证方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310307160.XA CN116189754A (zh) 2023-03-27 2023-03-27 固态硬盘测试验证方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116189754A true CN116189754A (zh) 2023-05-30

Family

ID=86432921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310307160.XA Pending CN116189754A (zh) 2023-03-27 2023-03-27 固态硬盘测试验证方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116189754A (zh)

Similar Documents

Publication Publication Date Title
US20070005828A1 (en) Interrupts support for the KCS manageability interface
US8578065B2 (en) Communication speed control apparatus and communication speed control method
JP2009530728A (ja) Raidアダプタからのディスク関連タスクのオフロードのための方法、システム、プログラム(raidアダプタからのディスク関連タスクのオフロード)
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
US7643958B2 (en) Method and system for validating PCI/PCI-X adapters
EP2798428B1 (en) Apparatus and method for managing operation of a mobile device
TWI759719B (zh) 快閃記憶體控制器及用於快閃記憶體控制器的方法
CN114995860A (zh) 图形处理器固件升级的方法和图形处理器
CN110825547B (zh) 一种基于smbus的pcie卡异常恢复装置及方法
CN210721440U (zh) 一种pcie卡异常恢复装置及pcie卡、pcie扩展系统
CN116189754A (zh) 固态硬盘测试验证方法、装置、计算机设备及存储介质
CN115437668A (zh) 一种批量生产ssd的工具的开发设计方法及系统
CN112394967B (zh) 批量生产软件工具的电子装置、方法与计算机可读取媒体
CN116048561A (zh) 存储卡的固件升级方法、计算机设备及可读存储介质
CN113138951A (zh) 一种通过sgpio共接多种设备的方法、系统及介质
US9128873B2 (en) Memory bus attached input/output (‘I/O’) subsystem management in a computing system
CN112596983A (zh) 一种服务器内连接器的监测方法
CN114613418B (zh) 对固态硬盘的NVMe-MI功能测试的系统及方法
US11113227B2 (en) Erasing device for long-term memory devices
CN113869108B (zh) 一种识别硬盘背板连接的设备的方法及相关装置
JP2008204005A (ja) 周辺装置の通信方法、コンピュータプログラム、及び周辺装置
JP2022041324A (ja) 情報処理装置
JP3491369B2 (ja) データ処理装置
CN111857784A (zh) 固件升级方法和固件升级系统
CN115495129A (zh) 一种固件升级方法、装置、设备、介质和产品

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