发明内容
有鉴于此,本发明提供一种数据存储方法及存储设备,用于依据电子设备的工作状态来存储第一数据。技术方案如下:
本发明提供一种数据存储方法,所述方法包括:
获取电子设备的状态信息,所述状态信息用于指示所述电子设备当前所处工作状态;
基于所述电子设备的状态信息,判断所述电子设备的工作状态是否发生变化,得到判断结果;
当所述判断结果表明所述电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在第一存储介质和第二存储介质的特定区域间的存储,使得所述第一数据存储在所述第一存储介质和所述第二存储介质的特定区域的一个存储对象中,且所述第二存储介质的特定区域的存储特性和所述第二存储介质的其他存储区域的存储特性不同,所述第一状态下所述电子设备的功耗小于所述第二状态下所述电子设备的功耗。
优选地,当所述判断结果表明所述电子设备的工作状态从第二状态变更为第一状态时,将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域中。
优选地,在将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域后,所述方法还包括:控制所述第一存储介质断电。
优选地,当所述判断结果表明所述电子设备的工作状态从第一状态变更为第二状态时,将存储于所述第二存储介质的特定区域中的第一数据转移到所述第一存储介质中。
优选地,所述特定区域的数据读取速度大于所述其他存储区域的数据读取速度,且所述特定区域的使用寿命高于所述其他存储区域的使用寿命。
优选地,所述特定区域为闪存中的缓存。
优选地,所述获取电子设备的状态信息,包括:获取电子设备的电源参数,所述电源参数用于指示所述电子设备处于第一状态或第二状态。
本发明还提供一种存储设备,所述存储设备与一电子设备连接,所述存储设备包括:控制器、第一存储介质和第二存储介质,其中所述第二存储介质包括特定区域和其他存储区域,且所述特定区域的存储特性和所述其他存储区域的存储特性不同;
所述控制器,用于获取所述电子设备的状态信息,基于所述电子设备的状态信息,判断所述电子设备的工作状态是否发生变化,得到判断结果,当所述判断结果表明所述电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在所述第一存储介质和第二存储介质的特定区域间的存储,使得所述第一数据存储在所述第一存储介质和所述第二存储介质的特定区域的一个存储对象中,所述第一状态下所述电子设备的功耗小于所述第二状态下所述电子设备的功耗,所述状态信息用于指示所述电子设备当前所处工作状态。
优选地,所述控制器用于,当所述判断结果表明所述电子设备的工作状态从第二状态变更为第一状态时,将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域中。
优选地,所述控制器用于,在将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域后,控制所述第一存储介质断电。
优选地,所述控制器用于,当所述判断结果表明所述电子设备的工作状态从第一状态变更为第二状态时,将存储于所述第二存储介质的特定区域中的第一数据转移到所述第一存储介质中。
优选地,所述特定区域的数据读取速度大于所述其他存储区域的数据读取速度,且所述特定区域的使用寿命高于所述其他存储区域的使用寿命。
优选地,所述特定区域为闪存中的缓存。
优选地,所述控制器用于,获取电子设备的电源参数,所述电源参数用于指示所述电子设备处于第一状态或第二状态。
与现有技术相比,本发明提供的上述技术方案具有如下优点:
本发明提供的上述技术方案中,可以基于电子设备的状态信息来判断电子设备的工作状态是否发生变化,当得到的判断结果表明电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在第一存储介质和第二存储介质的特定区域间的存储,使得第一数据存储在第一存储介质和第二存储介质的特定区域的一个存储对象中,从而实现依据电子设备的工作状态选取一个存储对象来存储第一数据。
并且第二存储介质的特定区域的存储特性和第二存储介质的其他存储区域的存储特性不同,例如特定区域的使用寿命高于其他存储区域的使用寿命,这样第一数据存储在特定区域时,特定区域受读写操作的影响小于其他存储区域受读写操作的影响,使得第二存储介质的使用寿命相对于第一数据存储在其他存储区域的使用寿命得到提高。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的数据存储方法的一种流程图,可以包括以下步骤:
101:获取电子设备的状态信息,其中状态信息用于指示电子设备当前所处工作状态。在本发明实施例中指示电子设备当前所处工作状态的状态信息包括但不限于:电子设备的电源参数,其中电源参数用于指示电子设备当前的剩余电量,当电子设备当前的剩余电量小于预设电量时,表明电子设备可提供给部件的电量较小,此时电子设备处于一种低功耗工作状态下;当电子设备当前的剩余电量大于等于预设电量时,表明电子设备可提供给部件的电量较多,此时电子设备处于正常工作状态下。
在本发明实施例中,电子设备的电源参数可以从电子设备的电源管理系统中获得,其中电源管理系统记录电子设备中电源的使用情况,因此通过电源管理系统可以得到电源参数。并且上述预设电量是区分电子设备处于低功耗工作状态下和正常工作状态下的一个衡量标准,比如预设电量可以是总电量的20%,这个预设电量的具体取值可以根据实际应用进行设置,对此本发明实施例不加以限制。
此外上述状态信息还可以包括电子设备的资源消耗情况,如CPU利用率,依据CPU利用率将电子设备的工作状态进行划分,如CPU利用率在第一利用率范围内时,电子设备处于低功耗工作状态下,当CPU利用率在第二利用率范围内时,电子设备处于正常工作状态下。其中第一利用率范围的最大值小于第二利用率范围的最小值,这样可以基于第一利用率范围和第二利用率范围来确定电子设备的工作状态,在本发明实施例中第一利用率范围和第二利用率范围可以根据实际应用进行设置,对此本发明实施例不加以限制。
102:基于电子设备的状态信息,判断电子设备的工作状态是否发生变化,得到判断结果。因为电子设备的状态信息可以指示电子设备当前所处工作状态,所以基于电子设备的状态信息可以判断电子设备的工作状态是否发生变化,得到判断结果。例如基于电子设备的状态信息可以判断电子设备的工作状态是否在低功耗工作状态和正常工作状态下发生变化。
103:当判断结果表明电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在第一存储介质和第二存储介质的特定区域间的存储,使得第一数据存储在第一存储介质和第二存储介质的特定区域的一个存储对象中。
其中,第一状态下电子设备的功耗小于第二状态下电子设备的功耗,比如第一状态为上述低功耗工作状态,第二状态为上述正常工作状态,在这两个工作状态下电子设备的功耗不同,在低功耗工作状态下电子设备的功耗小于正常工作状态下电子设备的功耗。也就是说当判断结果表明电子设备的工作状态从第一状态变更为第二状态或者当判断结果表明电子设备的工作状态从第二状态变更为第二状态时,需要在第一存储介质和第二存储介质的特定区域中选取一个存储对象来存储第一数据,以实现依据电子设备的工作状态来存储第一数据,第一数据可以是电子设备运行过程中常用的热数据,如操作系统的启动数据和映射表等。
在本发明实施例中,第二存储介质的特定区域的存储特性和第二存储介质的其他存储区域的存储特性不同,即在本发明实施例中第二存储介质包括:特定区域和其他存储区域,且特定区域的存储特定和其他存储区域的存储特性不同。例如特定区域的使用寿命高于其他存储区域的使用寿命,这样第一数据存储在特定区域时,特定区域受读写操作的影响小于其他存储区域受读写操作的影响,使得第二存储介质的使用寿命相对于第一数据存储在其他存储区域的使用寿命得到提高。又例如特定区域的数据读取速度大于其他存储区域的数据读取速度,这样第一数据存储在特定区域时,可以更快的从特定区域中读取第一数据,从而加快第一数据读取速度。
当然特定区域的存储性能与其他存储区域的存储性能不同可以包括:特定区域的数据读取速度大于其他存储区域的数据读取速度,且特定区域的使用寿命高于其他存储其与的使用寿命,这样既可以提高第一数据读取速度,还可以提高第二存储介质的使用寿命,因此本发明实施例可以依据实际应用中对第一数据的要求来选用相对应的第二存储介质的特定区域来存储第一数据。
从上述技术方案可知,本发明实施例提供的数据存储方法可以基于电子设备的状态信息来判断电子设备的工作状态是否发生变化,当得到的判断结果表明电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在第一存储介质和第二存储介质的特定区域间的存储,使得第一数据存储在第一存储介质和第二存储介质的特定区域的一个存储对象中,从而实现依据电子设备的工作状态选取一个存储对象来存储第一数据。
并且第二存储介质的特定区域的存储特性和第二存储介质的其他存储区域的存储特性不同,例如特定区域的使用寿命高于其他存储区域的使用寿命,这样第一数据存储在特定区域时,特定区域受读写操作的影响小于其他存储区域受读写操作的影响,使得第二存储介质的使用寿命相对于第一数据存储在其他存储区域的使用寿命得到提高。
请参阅图2,其示出了本发明实施例提供的数据存储方法的另一种流程图,详细阐述如何基于电子设备的工作状态来存储第一数据,可以包括以下步骤:
201:获取电子设备的状态信息,其中状态信息用于指示电子设备当前所处工作状态。
202:基于电子设备的状态信息,判断电子设备的工作状态是否发生变化,得到判断结果。在本发明实施例中,步骤201至步骤202的执行过程与上述步骤101至步骤102的执行过程相同,在此本发明实施例不再详述步骤201和步骤202的执行过程。
203:当判断结果表明电子设备的工作状态从第二状态变更为第一状态时,将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域中。
204:在将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域后,控制第一存储介质断电。
在本发明实施例中,第一状态下电子设备的功耗小于第二状态下电子设备的功耗,当判断结果表明电子设备的工作状态从第二状态变更为第一状态时,表明电子设备的功耗可能从一个正常功耗降低为较低功耗,因此在第一状态下,控制第一存储介质断电可以减少第一存储介质的耗电,从而降低电子设备的整体功耗。尤其在第一存储介质的功耗大于第二存储介质的功耗的情况下,在第一状态下控制第一存储介质断电减少的功耗大于在第一状态下控制第二存储介质断电减少的功耗。
以第一存储介质为SSD模组中的内存,第二存储介质为SSD模组中的闪存为例,在内存和闪存均带电的情况下,内存的功耗大于闪存的功耗,因此当电子设备从第二状态变更为第一状态时,控制内存断电可以降低电子设备的整体功耗。
并且现有部分存储介质在断电后,其内存储的数据丢失,因此当电子设备从第二状态变更为第一状态时,需要将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域中,以在第一存储介质断电后,降低存储于第一存储介质中的第一数据丢失的概率。
仍以第一存储介质为内存为例,内存具有易失性,这就意味着在内存断电后存储于内存中的第一数据丢失,因此当电子设备从第二状态变更为第一状态时,首先将存储于内存中的第一数据转移到第二存储介质的特定区域中,然后控制内存断电。
205:当判断结果表明电子设备的工作状态从第一状态变更为第二状态时,将存储于第二存储介质的特定区域中的第一数据转移到第一存储介质中。
在本发明实施例中,当判断结果表明电子设备的工作状态从第二状态变更为第一状态时,表明电子设备的功耗可能从一个较低功耗变更为正常功耗,在此种情况下可以将存储于第二存储介质的特定区域中的第一数据转移到第一存储介质中。
下面以第一存储介质为内存,第二存储介质为闪存为例,对本发明实施例提供的数据存储方法进行说明。在本发明实施例中,闪存的结构示意图如图3所示,闪存中包括有多个闪存单元,且每个闪存单元中包括一个缓存。
在数据读写过程中闪存单元会执行擦除操作,这样会导致闪存单元的使用寿命降低,而缓存的使用寿命不会受到擦除操作的影响,因此缓存的使用寿命高于闪存单元的使用寿命。
并且通内存过总线向闪存写入数据时,数据首先写入到缓存中,然后再由闪存内部电路将数据写入到闪存单元中;相应的对于读取数据操作来说,首先从闪存单元中读取数据到缓存,再由缓存中读出到总线中,之后由总线发送给内存。也就是说对于内存、缓存和闪存单元这三者来说,数据从内存到闪存的数据传输顺序是:内存到缓存,再由缓存到闪存单元;数据从闪存到内存的数据传输顺序是:闪存单元到缓存,再由缓存到内存,由此可知缓存的数据读取速度大于闪存单元的数据读取速度,因此在本发明实施例中,缓存可以作为特定区域,闪存单元可以作为其他存储区域。
当电子设备的工作状态从第二状态变更为第一状态时,存储于内存中的第一数据转移到闪存的缓存中,这是因为在电子设备的工作状态变更为第一状态后,需要降低电子设备的功耗,而闪存在不工作情况下其静态功耗远小于内存的静态功耗,所以在电子设备的工作状态变更为第一状态后,需要控制内存断电来降低电子设备的功耗。但是内存具有易失性,其断电后存储于内存中的第一数据丢失,因此在电子设备的工作状态变更为第一状态后,首先将存储于内存中的第一数据转移到闪存的缓存中,以防止内存断电后内存中存储的数据丢失。
当电子设备的工作状态从第一状态变更为第二状态时,将存储于闪存的缓存中的第一数据转移到内存中,这是因为内存是直接与CPU沟通的存储器,在电子设备的工作状态变更为第二状态后将第一数据转移到内存中可以提高数据读取速度。
从上述实例可以看出,在电子设备的工作状态发生变化的情况下,第一数据直接在内存和闪存的缓存中交互,使得数据读取速度加快,从而减少状态切换时间,并且第一数据并未存储到闪存单元中,这样闪存单元的使用寿命不会受到第一数据的读写操作的影响,而且缓存的使用寿命高于闪存单元的使用寿命,从而可以延长闪存的使用寿命。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
与上述方法实施例相对应,本发明还提供一种存储设备,存储设备与一电子设备连接,其中存储设备的结构示意图如图4所示,可以包括:控制器11、第一存储介质12和第二存储介质13,其中第二存储介质13包括特定区域和其他存储区域,且特定区域的存储特性和其他存储区域的存储特性不同。
在本发明实施例中,控制器11,用于获取电子设备的状态信息,基于电子设备的状态信息,判断电子设备的工作状态是否发生变化,得到判断结果,当判断结果表明电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在第一存储介质12和第二存储介质13的特定区域间的存储,使得第一数据存储在第一存储介质12和第二存储介质13的特定区域的一个存储对象中,第一状态下电子设备的功耗小于第二状态下电子设备的功耗。
其中,状态信息用于指示电子设备当前所处工作状态,所述状态信息至少包括:电子设备的电源参数,其中电源参数用于指示电子设备当前的剩余电量,当电子设备当前的剩余电量小于预设电量时,表明电子设备可提供给部件的电量较小,此时电子设备处于一种低功耗工作状态下,即电子设备的工作状态处于第一状态下;当电子设备当前的剩余电量大于等于预设电量时,表明电子设备可提供给部件的电量较多,此时电子设备处于正常工作状态下,即电子设备的工作状态处于第二状态下。
在本发明实施例中,电子设备的电源参数可以从电子设备的电源管理系统中获得,其中电源管理系统记录电子设备中电源的使用情况,因此通过电源管理系统可以得到电源参数。并且上述预设电量是区分电子设备处于低功耗工作状态下和正常工作状态下的一个衡量标准,比如预设电量可以是总电量的20%,这个预设电量的具体取值可以根据实际应用进行设置,对此本发明实施例不加以限制。
此外上述状态信息还可以包括电子设备的资源消耗情况,如CPU利用率,依据当前得到的CPU利用率来确定电子设备的工作状态,具体请参阅方法实施例部分的相关说明。
在本发明实施例中,第二存储介质13的特定区域的存储特性和第二存储介质13的其他存储区域的存储特性不同,例如特定区域的使用寿命高于其他存储区域的使用寿命,这样第一数据存储在特定区域时,特定区域受读写操作的影响小于其他存储区域受读写操作的影响,使得第二存储介质13的使用寿命相对于第一数据存储在其他存储区域的使用寿命得到提高。又例如特定区域的数据读取速度大于其他存储区域的数据读取速度,这样第一数据存储在特定区域时,可以更快的从特定区域中读取第一数据,从而加快第一数据读取速度。
当然特定区域的存储性能与其他存储区域的存储性能不同可以包括:特定区域的数据读取速度大于其他存储区域的数据读取速度,且特定区域的使用寿命高于其他存储其与的使用寿命,这样既可以提高第一数据读取速度,还可以提高第二存储介质13的使用寿命,因此本发明实施例可以依据实际应用中对第一数据的要求来选用相对应的第二存储介质13的特定区域来存储第一数据。
从上述技术方案可知,本发明实施例提供的存储设备可以基于电子设备的状态信息来判断电子设备的工作状态是否发生变化,当得到的判断结果表明电子设备的工作状态在第一状态和第二状态间发生变化时,变更第一数据在第一存储介质12和第二存储介质13的特定区域间的存储,使得第一数据存储在第一存储介质12和第二存储介质13的特定区域的一个存储对象中,从而实现依据电子设备的工作状态选取一个存储对象来存储第一数据。
并且第二存储介质13的特定区域的存储特性和第二存储介质13的其他存储区域的存储特性不同,例如特定区域的使用寿命高于其他存储区域的使用寿命,这样第一数据存储在特定区域时,特定区域受读写操作的影响小于其他存储区域受读写操作的影响,使得第二存储介质13的使用寿命相对于第一数据存储在其他存储区域的使用寿命得到提高。
在本发明实施例中,依据电子设备的工作状态选取存储对象来存储第一数据的可行方式是:当判断结果表明电子设备的工作状态从第二状态变更为第一状态时,控制器11将存储于第一存储介质12中的第一数据转移到第二存储介质13的特定区域中;当判断结果表明电子设备的工作状态从第一状态变更为第二状态时,控制器11将存储于第二存储介质13的特定区域中的第一数据转移到第一存储介质12中。并且在将存储于第一存储介质12中的第一数据转移到第二存储介质13的特定区域后,控制器11控制第一存储介质12断电。
之所以在第一状态和第二状态下按照上述方式来存储第一数据是因为:当判断结果表明电子设备的工作状态从第二状态变更为第一状态时,表明电子设备的功耗可能从一个正常功耗降低为较低功耗,因此在第一状态下,控制第一存储介质断电可以减少第一存储介质的耗电,从而降低电子设备的整体功耗。尤其在第一存储介质的功耗大于第二存储介质的功耗的情况下,在第一状态下控制第一存储介质断电减少的功耗大于在第一状态下控制第二存储介质断电减少的功耗。并且现有部分存储介质在断电后,其内存储的数据丢失,因此当电子设备从第二状态变更为第一状态时,需要将存储于第一存储介质中的第一数据转移到第二存储介质的特定区域中,以在第一存储介质断电后,降低存储于第一存储介质中的第一数据丢失的概率。
以存储设备为SSD模组,控制器为SSD控制器,第一存储介质为SSD模组中的内存,第二存储介质为SSD模组中的闪存为例,在内存和闪存均带电的情况下,内存的功耗大于闪存的功耗,因此当电子设备从第二状态变更为第一状态时,控制内存断电可以降低电子设备的整体功耗。并且内存具有易失性,这就意味着在内存断电后存储于内存中的第一数据丢失,因此当电子设备从第二状态变更为第一状态时,首先将存储于内存中的第一数据转移到第二存储介质的特定区域中,然后控制内存断电。
相应的,当电子设备的工作状态从第一状态变更为第二状态时,可以将存储于闪存的特定区域的第一数据转移到内存中,这是因为内存是直接与CPU沟通的存储器,在电子设备的工作状态变更为第二状态后将第一数据转移到内存中可以提高数据读取速度。
此外,在第二存储介质为闪存时,闪存中包括有多个闪存单元,每个闪存单元中包括一个缓存,并且缓存到内存的数据读取速度大于闪存单元到内存的数据读取速度,缓存的使用寿命高于闪存单元的使用寿命,因此闪存中的缓存可以作为特定区域,闪存中的闪存单元可以作为其他存储区域,其相对应的电子设备的结构示意图如图5所示,其中电子设备可以通过电源参数来确定电子设备的工作状态是否发生变化,然后基于得到的判断结果从内存和闪存的缓存中选取一个存储对象来存储第一数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据存储方法及存储设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。