固态硬盘的低功耗模式唤醒恢复方法、装置和计算机设备与流程

文档序号:22123808发布日期:2020-09-04 16:56阅读:453来源:国知局
固态硬盘的低功耗模式唤醒恢复方法、装置和计算机设备与流程

本发明涉及固态硬盘技术领域,特别是涉及一种固态硬盘的低功耗模式唤醒恢复方法、装置、计算机设备和存储介质。



背景技术:

随着ssd(solidstatedrive,固态硬盘)的飞速发展,性能和功耗已经成为衡量ssd重要标准,高性能势必会导致功耗值升高;因此,ssd的低功耗模式显得尤为重要。但是,低功耗模式涉及硬件模块的掉电,在接收命令后退出低功耗模式涉及重新上电、数据恢复等动作,会导致命令处理速度变慢、增加存储颗粒的磨损和硬件模块的频繁上下电而不稳定。

目前,传统的固态硬盘低功耗模式唤醒恢复机制并没有考虑到频繁进入低功耗模式带来的不稳定因素,同时也没有解析主机端下发命令,来动态配置cpu、硬件外设的工作模式,很大程度上做了许多无用功或者多余动作,影响固态硬盘性能和功耗,增加了低功耗模式唤醒恢复的时间。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种固态硬盘的低功耗模式唤醒恢复方法、装置、计算机设备和存储介质。

一种固态硬盘的低功耗模式唤醒恢复方法,所述方法包括:

当获取到主机下发的命令时,固态硬盘退出低功耗模式;

判断所述主机下发的命令是否需要进行数据传输,若不需要则直接执行所述主机下发的命令并向主机回复完成状态;

若需要则唤醒其他核以使其进入正常工作状态,并同时恢复进入低功耗模式之前的状态和工作参数;

检测所述命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成所述命令的硬件模块并配置硬件工作信息;

传输主机下发的数据,待所述主机下发的数据传输完成后向所述主机回复命令完成状态;

所述固态硬盘重新进入低功耗模式。

在其中一个实施例中,在所述若需要则唤醒其他核以使其进入正常工作状态的步骤之后还包括:

检测被唤醒的核是否正常工作;

若所述被唤醒的核正常工作,则恢复进入低功耗模式之前的状态和工作参数;

若所述被唤醒的核未正常工作,则重新执行唤醒其他核的步骤。

在其中一个实施例中,在所述检测所述命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成所述命令的硬件模块的步骤之后还包括:

检测所述硬件模块是否正常工作;

若所述硬件模块正常工作,则配置对应的硬件工作信息;

若所述硬件模块未正常工作,则重新执行唤醒硬件模块的步骤。

在其中一个实施例中,在所述当获取到主机下发的命令时,固态硬盘退出低功耗模式的步骤之后还包括:

加载bootloader,核0重新加载固态硬盘固件。

一种固态硬盘的低功耗模式唤醒恢复装置,所述装置包括:

退出模块,所述退出模块用于当获取到主机下发的命令时,固态硬盘退出低功耗模式;

判断模块,所述判断模块用于判断所述主机下发的命令是否需要进行数据传输,若不需要则直接执行所述主机下发的命令并向主机回复完成状态;

第一唤醒模块,所述第一唤醒模块用于若需要则唤醒其他核以使其进入正常工作状态,并同时恢复进入低功耗模式之前的状态和工作参数;

第二唤醒模块,所述第二唤醒模块用于检测所述命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成所述命令的硬件模块并配置硬件工作信息;

数据传输模块,所述数据传输模块用于传输主机下发的数据,待所述主机下发的数据传输完成后向所述主机回复命令完成状态;

恢复模块,所述恢复模块用于所述固态硬盘重新进入低功耗模式。

在其中一个实施例中,所述装置还包括第一检测模块,所述第一检测模块用于:

检测被唤醒的核是否正常工作;

若所述被唤醒的核正常工作,则恢复进入低功耗模式之前的状态和工作参数;

若所述被唤醒的核未正常工作,则重新执行唤醒其他核的步骤。

在其中一个实施例中,所述装置还包括第二检测模块,所述第二检测模块用于:

检测所述硬件模块是否正常工作;

若所述硬件模块正常工作,则配置对应的硬件工作信息;

若所述硬件模块未正常工作,则重新执行唤醒硬件模块的步骤。

在其中一个实施例中,所述装置还包括重新加载模块,所述重新加载模块用于:

加载bootloader,核0重新加载固态硬盘固件。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述固态硬盘的低功耗模式唤醒恢复方法、装置、计算机设备和存储介质当获取到主机下发的命令时,固态硬盘退出低功耗模式;判断所述主机下发的命令是否需要进行数据传输,若不需要则直接执行所述主机下发的命令并向主机回复完成状态;若需要则唤醒其他核以使其进入正常工作状态,并同时恢复进入低功耗模式之前的状态和工作参数;检测所述命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成所述命令的硬件模块并配置硬件工作信息;传输主机下发的数据,待所述主机下发的数据传输完成后向所述主机回复命令完成状态;所述固态硬盘重新进入低功耗模式。本发明在低功耗模式基础上,根据低功耗功能存在的缺陷,结合主机命令,设计动态cpu唤醒机制、动态调整硬件模块工作以及非数据传输的命令加速处理和数据的恢复机制,有效的减少cpu和硬件的功耗开销,加速命令的处理,减少对存储颗粒的读写等,实现了提高固态硬盘的性能和减少功耗,达到了提升固态硬盘稳定性的效果。

附图说明

图1为传统技术中固态硬盘低功耗模式唤醒恢复的工作流程框图;

图2为一个实施例中固态硬盘的低功耗模式唤醒恢复方法的流程示意图;

图3为一个实施例中固态硬盘低功耗模式唤醒恢复的工作流程框图;

图4为另一个实施例中固态硬盘的低功耗模式唤醒恢复方法的流程示意图;

图5为再一个实施例中固态硬盘的低功耗模式唤醒恢复方法的流程示意图;

图6为一个实施例中固态硬盘的低功耗模式唤醒恢复装置的结构框图;

图7为另一个实施例中固态硬盘的低功耗模式唤醒恢复装置的结构框图;

图8为再一个实施例中固态硬盘的低功耗模式唤醒恢复装置的结构框图;

图9为又一个实施例中固态硬盘的低功耗模式唤醒恢复装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,为传统技术中固态硬盘低功耗模式唤醒恢复的工作流程框图。目前的唤醒恢复机制并没有考虑到频繁进入低功耗模式带来的不稳定因素,同时也没有解析主机端下发命令,来动态配置cpu、硬件外设的工作模式,很大程度上做了许多无用功或者多余动作,影响固态硬盘性能和功耗,增加了低功耗模式唤醒恢复的时间。

基于此,本发明对传统的固态硬盘低功耗模式唤醒恢复过程进行优化,根据主机下发命令的性质,动态的调整cpu和硬件模块的工作模式,达到减少对存储颗粒的读写操作,减少固态硬盘的整体功耗,同时针对非数据传输命令进行加速处理,以提高命令处理效率。

在一个实施例中,如图2所示,提供了一种固态硬盘的低功耗模式唤醒恢复方法,该方法包括:

步骤202,当获取到主机下发的命令时,固态硬盘退出低功耗模式;

步骤204,判断主机下发的命令是否需要进行数据传输,若不需要则直接执行主机下发的命令并向主机回复完成状态;

步骤206,若需要则唤醒其他核以使其进入正常工作状态,并同时恢复进入低功耗模式之前的状态和工作参数;

步骤208,检测命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成命令的硬件模块并配置硬件工作信息;

步骤210,传输主机下发的数据,待主机下发的数据传输完成后向主机回复命令完成状态;

步骤212,固态硬盘重新进入低功耗模式。

在本实施例中提供了一种固态硬盘的低功耗模式唤醒恢复方法,该方法可以应用于固态硬盘的主控中用于执行该低功耗模式唤醒恢复机制。该机制可以根据命令性质动态调整cpu和硬件外设工作模式,有效的减少硬件开销,节省固态硬盘工作功耗。此外,还可以针对非数据传输命令进行加速处理,有效的增加了非数据传输命令的完成速度,实现了提高固态硬盘性能。具体的实现过程可参考图3所示,包括如下步骤:

首先,主机下发命令,当固态硬盘获取到主机下发的命令时,退出低功耗模式。在一个实施例中,在当获取到主机下发的命令时,固态硬盘退出低功耗模式的步骤之后还包括:加载bootloader,核0重新加载固态硬盘固件。

接着,判断电脑端下发的命令是否需要获取或者保存数据,即判断该命令是否为非传输命令。若该命令为非传输命令,则可以对该非传输命令进行加速处理,直接执行完成命令的步骤并向主机回复完成状态,这样可以有效提高非传输命令的完成速度。

若该命令需要获取或者保存数据,则执行唤醒其他核,使其进入工作状态的步骤。可以理解的是,此时还可以对被唤醒的核进行工作状态检测,判断其是否已经正常工作,以保证固态硬盘运行的稳定性。当检测该被唤醒的核已正常工作时,则恢复进入低功耗之前的状态和工作参数。

接着,检测电脑端下发命令的命令类型以及需要配合其正常完成的硬件模块。然后,唤醒该需要配合的硬件模块,并配置硬件工作信息。保存或者传输主机下发或者获取的数据,检测主机下发或者获取的数据是否传输完成,待完成命令后向主机回复完成状态。最后,固态硬盘重新进入低功耗模式。

在上述实施例中,当获取到主机下发的命令时,固态硬盘退出低功耗模式;判断所述主机下发的命令是否需要进行数据传输,若不需要则直接执行所述主机下发的命令并向主机回复完成状态;若需要则唤醒其他核以使其进入正常工作状态,并同时恢复进入低功耗模式之前的状态和工作参数;检测所述命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成所述命令的硬件模块并配置硬件工作信息;传输主机下发的数据,待所述主机下发的数据传输完成后向所述主机回复命令完成状态;所述固态硬盘重新进入低功耗模式。本方案在低功耗模式基础上,根据低功耗功能存在的缺陷,结合主机命令,设计动态cpu唤醒机制、动态调整硬件模块工作以及非数据传输的命令加速处理和数据的恢复机制,有效的减少cpu和硬件的功耗开销,加速命令的处理,减少对存储颗粒的读写等,实现了提高固态硬盘的性能和减少功耗,达到了提升固态硬盘稳定性的效果。

在一个实施例中,如图4所示,提供了一种固态硬盘的低功耗模式唤醒恢复方法,该方法在若需要则唤醒其他核以使其进入正常工作状态的步骤之后还包括:

步骤402,检测被唤醒的核是否正常工作;

步骤404,若被唤醒的核正常工作,则恢复进入低功耗模式之前的状态和工作参数;

步骤406,若被唤醒的核未正常工作,则重新执行唤醒其他核的步骤。

在一个实施例中,如图5所示,提供了一种固态硬盘的低功耗模式唤醒恢复方法,该方法在检测命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成命令的硬件模块的步骤之后还包括:

步骤502,检测硬件模块是否正常工作;

步骤504,若硬件模块正常工作,则配置对应的硬件工作信息;

步骤506,若硬件模块未正常工作,则重新执行唤醒硬件模块的步骤。

在本实施例中,提供了一种固态硬盘的低功耗模式唤醒恢复方法,该方法中包括了对核以及硬件模块工作状态的检测,以提高固态硬盘运行的稳定性,如图3所示,具体包括如下实现流程:

1、主机向固态硬盘下发命令,下一步执行流程2。

2、当固态硬盘获取到主机下发的命令时,退出低功耗模式,下一步执行流程3。

3、加载bootloader,下一步执行流程4.。

4、核0重新加载固态硬盘固件,下一步执行流程5。

5、判断主机端下发的命令是否需要获取或者保存数据,如果需要则执行流程6,否则执行流程15。

6、唤醒其他核,使其进入正常工作状态,下一步执行流程7。

7、检测被唤醒的核是否正常工作,如果工作正常则执行流程8,否则执行流程6。

8、恢复进入低功耗之前的状态和工作参数,下一步执行流程9。

9、检测之前的工作状态和参数是否成功恢复,如果成功则执行流程10,否则执行流程8。

10、检测命令的类型和需要配合其正常完成的硬件模块,下一步执行流程11。

11、唤醒需要配合的硬件模块,并配置硬件工作信息,下一步执行流程12。

12、检测硬件模块是否正常工作,如果正常工作则执行流程13,否则执行流程12。

13、保存或者传输主机下发或者获取的数据,下一步执行流程14。

14、检测主机下发或者获取的数据是否传输完成,如果完成则执行流程15,否则执行流程13。

15、完成命令并向主机回复完成状态,下一步执行流程16。

16、固态硬盘重新进入低功耗模式。

在上述实施例中,针对非数据传输命令进行加速处理,有效的提高了非数据传输命令的完成速度,以提高固态硬盘的性能。此外,还可以根据主机下发命令的性质,动态的调整cpu和硬件模块的工作模式,减少对存储颗粒的读写操作,减少了固态硬盘的整体功耗,达到了提高固态硬盘的稳定性和可靠性的技术效果。

应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图6所示,提供了一种固态硬盘的低功耗模式唤醒恢复装置600,该装置包括:

退出模块601,用于当获取到主机下发的命令时,固态硬盘退出低功耗模式;

判断模块602,用于判断所述主机下发的命令是否需要进行数据传输,若不需要则直接执行所述主机下发的命令并向主机回复完成状态;

第一唤醒模块603,用于若需要则唤醒其他核以使其进入正常工作状态,并同时恢复进入低功耗模式之前的状态和工作参数;

第二唤醒模块604,用于检测所述命令的类型以及需要配合完成的硬件模块,唤醒需要配合完成所述命令的硬件模块并配置硬件工作信息;

数据传输模块605,用于传输主机下发的数据,待所述主机下发的数据传输完成后向所述主机回复命令完成状态;

恢复模块606,用于所述固态硬盘重新进入低功耗模式。

在一个实施例中,如图7所示,提供了一种固态硬盘的低功耗模式唤醒恢复装置600,该装置还包括第一检测模块607,用于:

检测被唤醒的核是否正常工作;

若所述被唤醒的核正常工作,则恢复进入低功耗模式之前的状态和工作参数;

若所述被唤醒的核未正常工作,则重新执行唤醒其他核的步骤。

在一个实施例中,如图8所示,提供了一种固态硬盘的低功耗模式唤醒恢复装置600,该装置还包括第二检测模块608,用于:

检测所述硬件模块是否正常工作;

若所述硬件模块正常工作,则配置对应的硬件工作信息;

若所述硬件模块未正常工作,则重新执行唤醒硬件模块的步骤。

在一个实施例中,如图9所示,提供了一种固态硬盘的低功耗模式唤醒恢复装置600,该装置还包括重新加载模块609,用于:

加载bootloader,核0重新加载固态硬盘固件。

关于固态硬盘的低功耗模式唤醒恢复装置的具体限定可以参见上文中对于固态硬盘的低功耗模式唤醒恢复方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机设备,其内部结构图可以如图10所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘的低功耗模式唤醒恢复方法。

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

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1