用于ssd的控制方法、控制装置、存储介质及电子设备
技术领域:
:1.本发明属于计算机
技术领域:
:,尤其涉及用于ssd的控制方法、控制装置、存储介质及电子设备。
背景技术:
::2.ssd数据存储已经逐渐成为消费设备数据存储主要存储介质。目前,ssd(固态硬盘)已经被广泛应用于各种场合,目前在pc市场,已经逐步替代传统的hdd,从可靠性和性能方面为用户提供较好的体验。3.开发ssd项目中,在测试用例中发现:系统安装完成后进行以下操作,开始菜单中点睡眠,任意键唤醒,执行格式化命令,格式化成功执行,存在全盘数据被清除的情况。全盘数据被清除的情况下系统及数据都会被清除,导致系统瘫痪和数据丢失。技术实现要素:4.鉴于现有技术存在的上述问题,本发明实施例的目的在于提供一种用于ssd的控制方法。5.本发明实施例采用的技术方案是一种用于ssd的控制方法,应用于电子设备;所述方法包括:6.响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;7.基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。8.进一步的,所述电子设备操作系统的工作状态包括睡眠状态和非睡眠状态,所述工作状态的切换包括由睡眠状态切换为非睡眠状态;9.所述基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应,包括:10.基于第一控制指令将ssd的工作参数中的安全特性调整为冻结,以禁止ssd对格式化指令的响应。11.进一步的,所述ssd工作参数中安全特性为冻结对应到ata协议中ata安全特性集定义的ssd的安全状态为冻结状态;12.所述冻结状态为上电初始化后状态的ssd经第一控制指令调整后的状态,所述上电初始化后状态为ssd上电初始化后状态,所述ssd断电情况下安全状态为掉电后状态。13.进一步的,所述调整ssd的工作参数的步骤如下:14.所述电子设备操作系统的工作状态由非睡眠状态切换到睡眠状态,所述电子设备操作系统的工作状态为睡眠状态的过程中断开ssd的供电,ssd的安全状态为掉电后状态;15.所述电子设备操作系统的工作状态的由睡眠状态切换到非睡眠状态,恢复ssd的供电,ssd的安全状态由掉电后状态改变为上电初始化后状态;16.生成并执行第一控制指令,将ssd的安全状态由上电初始化后状态调整为冻结状态。17.进一步的,所述调整ssd的工作参数的步骤如下:18.在所述电子设备操作系统的工作状态由非睡眠状态切换到睡眠状态前生成并执行第一控制指令,将ssd的安全状态调整为冻结状态;19.在所述电子设备操作系统的工作状态为睡眠状态的过程中保持ssd的供电,ssd的安全状态保持为冻结状态;20.在所述电子设备操作系统的工作状态由睡眠状态切换到非睡眠状态后,保持ssd的供电,ssd的安全状态保持为冻结状态。21.进一步的,所述掉电后状态下ssd的工作参数中安全特性为未冻结,且ssd未被供电,ssd不能够被格式化;22.所述上电初始化后状态下ssd的工作参数中安全特性为未冻结,且ssd被供电,ssd能够对格式化指令响应;23.所述冻结状态下ssd的工作参数中安全特性为冻结,且ssd被供电,ssd不能对格式化指令响应。24.进一步的,所述第一控制指令为冻结安全锁命令,所述第一控制指令执行后将ssd的工作参数中的安全特性调整为冻结,以禁止ssd对格式化指令的响应。25.一种用于ssd的控制装置,应用于电子设备;包括:26.指令生成模块,其配置为响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;27.参数调整模块,其配置为基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。28.一种存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如下步骤:29.响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;30.基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。31.一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如下步骤:32.响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;33.基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。34.与现有技术相比,本技术方案通过调整ssd的工作参数,在电子设备操作系统休眠后禁止ssd对格式化指令的响应,使得ssd不能够被格式化,保证了ssd内数据安全,也比避免了系统因ssd被格式而瘫痪。35.应当理解,前面的一般描述和以下详细描述都仅是示例性和说明性的,而不是用于限制本发明。36.本发明中描述的技术的各种实现或示例的概述,并不是所公开技术的全部范围或所有特征的全面公开。附图说明37.在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所发明的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。38.图1为本发明实施例的用于ssd的控制方法的流程示意图。39.图2为本发明实施例1的ssd状态变化过程示意图。40.图3为本发明实施例2的ssd状态变化过程示意图。41.图4为常规的的ssd状态变化过程示意图。具体实施方式42.为了使得本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。43.除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。44.为了保持本发明实施例的以下说明清楚且简明,本发明省略了已知功能和已知部件的详细说明。45.参阅图1,一种用于ssd的控制方法,应用于电子设备;所述方法包括:46.响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;47.基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。48.具体的,电子设备操作系统的工作状态包括睡眠状态和非睡眠状态;在电子设备操作系统的工作状态由睡眠状态切换为非睡眠状态后,基于第一控制指令将ssd的工作参数中的安全特性调整为冻结,以禁止ssd对格式化指令的响应。49.所述ssd工作参数中安全特性为冻结对应到ata协议中ata安全特性集定义的ssd的安全状态为冻结状态;50.所述冻结状态为上电初始化后状态的ssd经第一控制指令调整后的状态,所述上电初始化后状态为ssd上电初始化后状态,所述ssd断电情况下安全状态为掉电后状态。51.结合ata协议中ata安全特性集定义的ssd的工作状态,具体实施表现为ssd的安全状态的变更。52.实施例153.参阅图2,本发明实施例提供了一种用于ssd的控制方法,所述调整ssd的工作参数的步骤如下:54.所述电子设备操作系统的工作状态由非睡眠状态切换到睡眠状态,所述电子设备操作系统的工作状态为睡眠状态的过程中断开ssd的供电,ssd的安全状态为掉电后状态;掉电后状态下ssd的工作参数中安全特性为未冻结,但由于ssd未被供电,ssd不能够被格式化。55.所述电子设备操作系统的工作状态的由睡眠状态切换到非睡眠状态,恢复ssd的供电,ssd的安全状态由掉电后状态改变为上电初始化后状态,掉电后状态下ssd的工作参数中安全特性为未冻结,且ssd未被供电,ssd不能够被格式化。56.生成并执行第一控制指令,将ssd的安全状态由上电初始化后状态调整为冻结状态,冻结状态下ssd的工作参数中安全特性为冻结,且ssd被供电,ssd不能对格式化指令响应。57.实施例258.参阅图3,本发明实施例提供了一种用于ssd的控制方法,所述调整ssd的工作参数的步骤如下:59.在所述电子设备操作系统的工作状态由非睡眠状态切换到睡眠状态前生成并执行第一控制指令,将ssd的安全状态调整为冻结状态,冻结状态下ssd的工作参数中安全特性为冻结,且ssd被供电,ssd不能对格式化指令响应;60.在所述电子设备操作系统的工作状态为睡眠状态的过程中保持ssd的供电,因而ssd不会因断电而改变安全状态,使得ssd的工作状态保持为冻结状态;61.在所述电子设备操作系统的工作状态由睡眠状态切换到非睡眠状态后,保持ssd的供电,ssd的安全状态保持为冻结状态。通过不断开ssd供电的方式,使ssd在电子设备操作系统的工作状态为睡眠状态和非睡眠状态的情况下一直保持冻结状态,从而ssd不能对格式化指令响应。62.第一控制指令为冻结安全锁命令,具体为“securityfreezelockcommand”,所述第一控制指令执行后将ssd的工作参数中的安全特性调整为冻结,以禁止ssd对格式化指令的响应。63.结合前述各实施例,本技术还提供了一种用于ssd的控制装置,应用于电子设备;包括:64.指令生成模块,其配置为响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;65.参数调整模块,其配置为基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。66.结合前述各实施例,本技术还提供了一种存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如下步骤:67.响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;68.基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。69.结合前述各实施例,本技术还提供了一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如下步骤:70.响应于电子设备操作系统的工作状态以及工作状态的切换,生成第一控制指令;71.基于第一控制指令,调整ssd的工作参数,以禁能所述ssd对格式化指令的响应。72.一般的,电子设备操作系统开机后ssd上电后ssd进入上电初始化后状态(sec1),随后通过bios发送冻结ssd的命令,使ssd进入到冻结状态(sec2),所述系统休眠时,保持ssd供电以使ssd维持在冻结状态(sec2),在所述系统休眠唤醒时则保持处于冻结状态(sec2)。73.协议情况说明:74.ata协议中,关于atasecurity特性集,定义了多个安全状态,如下表所示75.table10-summaryofsecuritystatesandsecuritycharacteristics[0076][0077]表中,sec0、sec1及sec2三个状态含义解释如下:[0078]sec0:掉电后状态,powereddown/disbaled/notlocked/notfrozen,即掉电后状态,其中notfrozen为ssd未冻结,表示ssd可以被格式化;[0079]sec1:上电初始化后状态,disbaled/notlocked/notfrozen,为上电初始化后状态,其中为ssd未冻结,表示ssd可以被格式化;[0080]sec2:冻结状态,disbaled/notlocked/frozen,ssd由sec1经过冻结安全锁命令“securityfreezelockcommand”后跳转到此状态,其中frozen为ssd冻结,表示ssd不可以被格式化;[0081]总结来说:[0082]sec0:掉电后状态,ssd未冻结,但因为ssd为掉电状态,ssd不可以被格式化;[0083]sec1:上电初始化后状态,ssd未冻结,ssd为上电状态,ssd可以被格式化;[0084]sec2:冻结状态,ssd冻结,ssd为上电状态,ssd不可以被格式化。[0085]系统中ssd状态变化一般过程:[0086]系统开机流程[0087]bios启动,ssd上电,ssd进入到上电初始化后状态(sec1),随后bios发送冻结安全锁命令“securityfreezelockcommand”,ssd进入到冻结状态(sec2)。[0088]系统关机流程[0089]ssd断电,ssd进入掉电后状态(sec0)。[0090]系统重启流程[0091]bios启动,bios决定ssd不掉电或重新上电;随后bios发送冻结安全锁命令“securityfreezelockcommand”,ssd进入到冻结状态(sec2)。[0092]系统休眠唤醒流程[0093]休眠时,ssd断开供电,ssd进入掉电后状态(sec0);[0094]唤醒时,bios启动,ssd上电,ssd进入到上电初始化后状态(sec1)。[0095]参阅图2,采用实施例1方式的系统休眠唤醒流程ssd状态变化过程[0096]系统休眠时,ssd断开供电,ssd进入掉电后状态(sec0);[0097]唤醒时,bios启动,ssd上电,ssd进入到上电初始化后状态(sec1),随后bios发送冻结安全锁命令“securityfreezelockcommand”,ssd进入到冻结状态(sec2),ssd冻结,ssd为上电状态,ssd不可以被格式化。[0098]参阅图3,采用实施例2方式的系统休眠唤醒流程ssd状态变化过程[0099]系统开机后ssd上电后ssd进入上电初始化后状态(sec1),随后通过bios发送冻结安全锁命令“securityfreezelockcommand”,使ssd进入到冻结状态(sec2)。[0100]系统休眠时,保持ssd供电以使ssd维持在冻结状态(sec2)。[0101]唤醒时,由于系统休眠时保持ssd供电,从而唤醒后ssd保持处于冻结状态(sec2),ssd不可以被格式化。[0102]参阅图4,未采用本技术方案的系统休眠唤醒流程ssd状态变化过程[0103]休眠时,ssd断开供电,ssd进入掉电后状态(sec0);[0104]唤醒时,bios启动,ssd上电,ssd进入到上电初始化后状态(sec1)。唤醒后ssd维持在电初始化后状态(sec1),ssd未冻结,ssd为上电状态,ssd可以被格式化。[0105]综上[0106]实施例1方式为在ssd进入到上电初始化后状态(sec1)后,通过冻结安全锁命令“securityfreezelockcommand”,使ssd进入到冻结状态(sec2),使得ssd不可以被格式化。[0107]实施例2方式为通过在系统休眠时维持ssd供电,使ssd状态保持在系统开机后的ssd状态,即冻结状态(sec2),使得ssd状态在系统休眠唤醒后保持为冻结状态(sec2),从而ssd不可以被格式化。[0108]以上描述旨在是说明性的而不是限制性的,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。而且上述示例(或其一个或更多方案)可以彼此组合使用,并且考虑这些实施例可以以各种组合或排列彼此组合。当前第1页12当前第1页12