首页> 中国专利> 验证D3cold对使能SSD HMB的影响方法及装置

验证D3cold对使能SSD HMB的影响方法及装置

摘要

本发明涉及验证D3cold对使能SSDHMB的影响方法及装置,该方法,包括:获取使能HMB命令,并设定第一内存返还字段值;设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;对SSD断电,以使SSD进入D3cold;对SSD重新上电并初始化;获取使能HMB命令,并设定第二内存返还字段值;对SSD进行读写操作;判断读写操作是否成功;若读写操作成功,则验证通过。本发明可验证进入和退出D3cold对使能SSDHMB功能的影响,测试不需要挑选笔记本电脑,提高了测试效率。

著录项

  • 公开/公告号CN114780310A

    专利类型发明专利

  • 公开/公告日2022-07-22

    原文格式PDF

  • 申请/专利权人 深圳忆联信息系统有限公司;

    申请/专利号CN202210363300.0

  • 发明设计人 谢文明;罗发治;范云松;

    申请日2022-04-07

  • 分类号G06F11/22;

  • 代理机构深圳市精英专利事务所;

  • 代理人曹祥波

  • 地址 518067 广东省深圳市南山区蛇口街道蛇口后海大道东角头厂房D24/F-02

  • 入库时间 2023-06-19 16:04:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-22

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及验证D3cold对使能SSD HMB的影响技术领域,尤其是指验证D3cold对使能SSD HMB的影响方法及装置。

背景技术

HMB全称是:Host Memory Buffer,主机内存缓冲区。在NVMe1.4协议,系统软件需要预留一部分内存空间,并且可以通过使能HMB功能的命令将这部分内存空间的信息告诉SSD,之后SSD就可以使用这部分系统内存区域,但是前提是SSD需要支持HMB功能和主机软件支持SSD使能HMB。大多数SSD都有板载的DRAM,DRAM主要是用来存放逻辑地址与物理地址之间的映射关系的映射表。随着SSD的容量的增加,设计需要使用的DRAM也增大。HMB功能让SSD可以把主机分配的内存区域作为它的DRAM,从而可以减少成本。

使能HMB之前主机先读取SSD与HMB有关的信息(如:推荐的缓存区大小HostMemory Buffer Preferred Size、最小可以支持的缓存区大小Host Memory BufferMinimum Size、最小支持的缓存区描述条目Host Memory Buffer Minimum DescriptorEntry Size、最大支持的缓存区描述条目数Host Memory Maximum DescriptorsEntries),然后主机结合这些信息根据自身的条件分配一部分内存空间并把这部分的内存空间的信息通过发送使能HMB功能的命令告诉SSD。由于有的主机会有节能的模式,如非常注重续航能力的消费级的笔记本电脑,注重续航能力的笔记本电脑一般都会通过系统软件来控制,如在开机状态下但是用户已经有一段时间未使用电脑,可以通过操作系统设置让笔记本电脑进入睡眠模式,这样可以节省电量。笔记本电脑进入睡眠模式节省电量的主要途径是尽可能的降低器件各自的功耗,作为三大件之一的SSD,降低SSD的功耗对提高续航能力至关重要。

“D3”是PCIe协议定义的设备电源状态,D3有D3hot和D3cold两种状态,主要是PCIe设备为了节能所使用的电源状态,而D3cold是SSD断电的状态比D3hot更加节能。系统软件可以通过对PCle NVMe SSD设置对应的配置空间里的功耗状态寄存器的值,让SSD先进入D3hot的状态,然后主机对SSD断电,此时SSD就进入D3cold。笔记本电脑进入睡眠模式后让SSD降低功耗的方法有多种,有的会让SSD进入D3cold的模式来降低功耗,而当笔记本电脑从睡眠模式唤醒后,意味着SSD也从D3cold退出,回到正常工作的状态。如果笔记本电脑在睡眠模式之前已使能SSD的HMB功能给SSD分配缓存区域,由于进入睡眠模式后SSD也进入D3cold的状态,当从睡眠模式唤醒时主机需要重新发送使能HMB功能的命令给SSD,考虑到因为每次唤醒都需要重新使能SSD的HMB功能,而每次使能都要重新加载HMB的数据的话,会降低系统的性能,因此使能SSD HMB功能的命令还提供了一个MR(Memory Return内存返还)字段,在命令里设置MR字段值为“1”,即告诉SSD继续使用进入睡眠模式之前分配的缓存区域的数据。因此主机从睡眠模式唤醒时可以向SSD发送带MR字段值为“1”的使能HMB命令,这样主机就不需要再重新分配缓存区域,SSD也不需要重复加载HMB数据,避免因为重新分配和重新加载HMB数据影响到性能。

目前验证进入和退出D3cold对使能SSD HMB的影响的方法是:挑选一台可以通过进入睡眠模式后让SSD进入D3cold模式的笔记本电脑,安装支持HMB的操作系统,然后设置系统进入睡眠模式,最后从睡眠模式唤醒,观察操作系统是否出现异常,如蓝屏、程序卡住、系统报错等现象。但是,上述方法存在以下不足:挑选符合条件的笔记本电脑困难,由于所测试用的笔记本电脑进入睡眠模式后SSD是否会进入D3cold和操作系统是否支持使能SSDHMB功能等这些信息一般是不会提供给用户,所以通常是需要借助PCIe协议分析仪器抓取进入睡眠模式时主机发送给SSD的数据包才能确认,不利于提高测试效率。

发明内容

本发明的目的在于克服现有技术的不足,提供验证D3cold对使能SSD HMB的影响方法及装置。

为了解决上述技术问题,本发明采用如下技术方案:

第一方面,本实施例提供了一种验证D3cold对使能SSD HMB的影响方法,包括以下步骤:

获取使能HMB命令,并设定第一内存返还字段值;

设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;

对SSD断电,以使SSD进入D3cold;

对SSD重新上电并初始化;

获取使能HMB命令,并设定第二内存返还字段值;

对SSD进行读写操作;

判断读写操作是否成功;

若读写操作成功,则验证通过。

其进一步技术方案为:所述第一内存返还字段值为0;所述第二内存返还字段值为1。

其进一步技术方案为:所述获取使能HMB命令,并设定内存返还为0步骤之后,还包括:获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot。

其进一步技术方案为:所述获取使能HMB命令,并设定内存返还为1步骤之后,还包括:获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述对SSD进行读写操作。

第二方面,本实施例提供了一种验证D3cold对使能SSDHMB的影响装置,包括:第一获取设定单元,设置单元,断电单元,上电初始化单元,第二获取设定单元,读写单元,判断单元及通过单元;

所述第一获取设定单元,用于获取使能HMB命令,并设定第一内存返还字段值;

所述设置单元,用于设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;

所述断电单元,用于对SSD断电,以使SSD进入D3cold;

所述上电初始化单元,用于对SSD重新上电并初始化;

所述第二获取设定单元,用于获取使能HMB命令,并设定第二内存返还字段值;

所述读写单元,用于对SSD进行读写操作;

所述判断单元,用于判断读写操作是否成功;

所述通过单元,用于若读写操作成功,则验证通过。

其进一步技术方案为:所述第一内存返还字段值为0;所述第二内存返还字段值为1。

其进一步技术方案为:还包括:第一获取确认单元,用于获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot。

其进一步技术方案为:还包括:第二获取确认单元,用于获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述对SSD进行读写操作。

第三方面,本实施例提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的验证D3cold对使能SSD HMB的影响方法。

第四方面,本实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的验证D3cold对使能SSD HMB的影响方法。

本发明与现有技术相比的有益效果是:可验证进入和退出D3cold对使能SSD HMB功能的影响,测试不需要挑选笔记本电脑,提高了测试效率,能够更好地满足需求。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的验证D3cold对使能SSD HMB的影响方法的流程示意图;

图2为本发明实施例提供的验证D3cold对使能SSD HMB的影响装置的示意性框图;

图3为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1所示的具体实施例,本发明公开了一种验证D3cold对使能SSD HMB的影响方法,包括以下步骤:

其中,该测试方法的测试环境如下:

硬件需求:待测计算机:华硕Z590主板的台式计算机;备注:对于待测计算机,本方法需要使用台式计算机,而具体型号并不做强制要求;优选华硕Z590主板的台式计算机作为待测计算机;待测SSD:支持PCle和NVMe协议的SSD。

软件需求:操作系统:Windows10操作系统;测试软件:Ulink DriveMaster 9NVMe;测试脚本:自编写的DriveMaster测试脚本。

S1,获取使能HMB命令,并设定第一内存返还字段值;

其中,第一内存返还字段值为0,模拟开机后操作系统下发的HMB命令,因为操作系统是第一次使能SSD HMB给SSD分配缓存空间,所以此时第一内存返还字段值为0(MR=0)。

其中,在S1步骤之后,还包括:获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;若确认HMB未使能成功,则验证失败。

具体地,确认指的是根据NVMe协议,使用Ulink DriveMaster 9 NVMe软件编辑获取HMB状态的命令,下发命令到SSD。

其中,验证失败的结果是:SSD不能正常响应主机发送的读写命令。

S2,设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;

其中,设置指的是根据NVMe协议定义的功耗状态寄存器的位置,使用UlinkDriveMaster 9 NVMe软件编辑设置寄存器命令下发设置功耗状态寄存器位置的值。

S3,对SSD断电,以使SSD进入D3cold;

其中,对SSD断电,以使SSD进入D3cold是模拟操作系统进入睡眠模式,因为此时在睡眠模式下的SSD是处于D3cold。

S4,对SSD重新上电并初始化;

S5,获取使能HMB命令,并设定第二内存返还字段值;

其中,在S5步骤之后,还包括:获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述对SSD进行读写操作;若确认HMB未使能成功,则验证失败。

S6,对SSD进行读写操作;

S7,判断读写操作是否成功;若读写操作未成功,则验证失败。

S8,若读写操作成功,则验证通过。

其中,验证通过的结果是:SSD可以正常响应主机发送的读写命令。

本发明利用Ulink公司的DriveMaster软件,DriverMaster软件提供了非常灵活的接口,测试人员可以利用这些接口构造NVMe命令下发到SSD,所以可以编写测试脚本来验证进入和退出D3cold对使能SSD HMB功能的影响,测试不需要挑选笔记本电脑,提高了测试效率;适用于验证支持HMB和D3cold的SSD。

请参阅图2所示,本发明还公开了一种验证D3cold对使能SSD HMB的影响装置,包括:第一获取设定单元10,设置单元20,断电单元30,上电初始化单元40,第二获取设定单元50,读写单元60,判断单元70及通过单元80;

所述第一获取设定单元10,用于获取使能HMB命令,并设定第一内存返还字段值;

所述设置单元20,用于设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;

所述断电单元30,用于对SSD断电,以使SSD进入D3cold;

所述上电初始化单元40,用于对SSD重新上电并初始化;

所述第二获取设定单元50,用于获取使能HMB命令,并设定第二内存返还字段值;

所述读写单元60,用于对SSD进行读写操作;

所述判断单元70,用于判断读写操作是否成功;

所述通过单元80,用于若读写操作成功,则验证通过。

其中,所述第一内存返还字段值为0;所述第二内存返还字段值为1。

其中,该装置还包括:第一获取确认单元,用于获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot。

其中,该装置还包括:第二获取确认单元,用于获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述对SSD进行读写操作。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述验证D3cold对使能SSD HMB的影响装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述验证D3cold对使能SSD HMB的影响装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。

请参阅图3,图3是本申请实施例提供的一种计算机设备的示意性框图;该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。

参阅图3,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种验证D3cold对使能SSD HMB的影响方法。

该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种验证D3cold对使能SSDHMB的影响方法。

该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:

步骤S1,获取使能HMB命令,并设定第一内存返还字段值;

步骤S2,设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;

步骤S3,对SSD断电,以使SSD进入D3cold;

步骤S4,对SSD重新上电并初始化;

步骤S5,获取使能HMB命令,并设定第二内存返还字段值;

步骤S6,对SSD进行读写操作;

步骤S7,判断读写操作是否成功;若读写操作未成功,则验证失败。

步骤S8,若读写操作成功,则验证通过。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的验证D3cold对使能SSDHMB的影响方法。该存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的方法。该程序指令包括以下步骤:

步骤S1,获取使能HMB命令,并设定第一内存返还字段值;

步骤S2,设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot;

步骤S3,对SSD断电,以使SSD进入D3cold;

步骤S4,对SSD重新上电并初始化;

步骤S5,获取使能HMB命令,并设定第二内存返还字段值;

步骤S6,对SSD进行读写操作;

步骤S7,判断读写操作是否成功;若读写操作未成功,则验证失败。

步骤S8,若读写操作成功,则验证通过。

在一实施例中,所述第一内存返还字段值为0;所述第二内存返还字段值为1。

在一实施例中,所述获取使能HMB命令,并设定内存返还为0步骤之后,还包括:获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述设置SSD配置空间内功耗状态寄存器,以使SSD进入D3hot。

在一实施例中,所述获取使能HMB命令,并设定内存返还为1步骤之后,还包括:获取查询HMB功能状态的命令,并确认HMB使能是否成功;若确认HMB使能成功,则执行所述对SSD进行读写操作。

所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号