数据处理方法和固态硬盘与流程

文档序号:16246059发布日期:2018-12-11 23:35阅读:253来源:国知局
数据处理方法和固态硬盘与流程

本发明涉及数据存储领域,尤其涉及一种数据处理方法和固态硬盘。

背景技术

当用户通过主机的操作系统删除一个文件时,操作系统并没有真正删掉这个文件的数据。操作系统只是把这个文件的数据占用的地址标记为‘空’,即这个文件的数据占用的地址可以覆盖使用。不过,前述操作只是在文件系统层面的操作。固态硬盘本身并不知道哪些地址的数据已经‘无效’,除非操作系统通知固态硬盘要在这些地址写入新的数据。

对于固态硬盘(solidstatedrives,ssd)来说,闪存不允许覆盖,只能先擦除再写入,要得到‘空闲’的闪存空间来进行写入,ssd就必须进行垃圾回收(garbagecollection,gc)操作。在没有删除命令(trim命令)的情况下,ssd无法事先知道哪些被‘删除’的数据已经是‘无效’的,必须到操作系统要求ssd在相同的地址写入数据时,ssd才知道哪些数据可以被擦除。这样ssd就无法在最适当的时机做出最好的优化,既影响gc的效率(间接影响性能),又影响ssd的寿命。

为此,可通过trim命令,操作系统可通知ssd删除数据。删除数据的目的是为了释放那些对操作系统来说无效的nand闪存(nandflash)空间,从而避免了新的数据写入时,ssd才开始进行nandflash的擦除工作。

由于在现有的相关协议中,没有规定trim命令的实现方法,只是指出trim命令是主机向存储设备发送的数据失效指令。因此目前通常的做法如图1所示,ssd获取到trim命令后,ssd将无效数据直接删除。但这样处理有如下问题:

1)若用户的删除操作为误删操作,则会引起数据丢失,导致ssd上的数据无法恢复;

2)当有用户恶意破坏ssd上的数据时,数据无法恢复。



技术实现要素:

针对上述技术问题,本发明实施例提供了一种数据处理方法和固态硬盘,用于提高数据安全性。

本发明实施例的第一方面提供一种数据处理方法,包括:

固态硬盘获取主机发送的删除命令,所述删除命令包括目标地址,所述删除命令用于指示对所述目标地址所指的目标数据进行删除,所述目标数据为存储在所述固态硬盘上的数据;

所述固态硬盘根据预设规则对所述目标数据进行非删除处理,得到处理结果。

可选地,所述固态硬盘包括隐藏分区,所述隐藏分区为允许验证通过的主机访问的分区;

所述固态硬盘根据预设规则对所述目标数据进行非删除处理,得到处理结果,包括:

所述固态硬盘对所述目标数据的文件类型和文件体进行识别,识别出所述目标数据为能恢复的文件或者所述目标数据为目标类型的文件;

所述固态硬盘将所述目标数据保存在所述隐藏分区。

可选地,所述固态硬盘根据预设规则对所述目标数据进行非删除处理,得到处理结果,包括:

所述固态硬盘识别出所述目标数据的文件类型;

所述固态硬盘将所述目标数据的文件类型记录到日志中。

可选地,所述固态硬盘根据预设规则对所述目标数据进行非删除处理,得到处理结果,包括:

所述固态硬盘识别出所述目标数据的文件类型;

当检测到预设报警条件时,所述固态硬盘执行预设警报操作,其中,所述预设报警条件为所述目标数据的文件类型为预设类型和/或所述删除命令符合预设判断条件。

可选地,所述固态硬盘将所述目标数据保存在所述隐藏分区之后,所述方法还包括:

所述固态硬盘获取加密主机发送的加密操作命令,所述加密操作命令为由所述加密主机使用私钥对操作命令进行签名得到的命令;

当使用预存的公钥对所述加密操作命令验证通过时,所述固态硬盘根据所述操作命令操作保存在所述隐藏分区上的目标数据。

可选地,所述固态硬盘获取主机发送的删除命令之前,所述方法还包括:

所述固态硬盘获取加密主机发送的加密选择命令,所述加密选择命令为由加密主机使用私钥对选择命令进行签名得到的命令;

当使用预存的公钥对所述加密选择命令验证通过时,所述固态硬盘根据所述选择命令从多个预设规则中确定出目标预设规则;

所述固态硬盘根据预设规则对所述目标数据进行非删除处理,得到处理结果,包括:

所述固态硬盘根据所述目标预设规则对所述目标数据进行非删除处理,得到处理结果。

本发明实施例第二方面提供了一种固态硬盘,包括:

获取单元,用于获取主机发送的删除命令,所述删除命令包括目标地址,所述删除命令用于指示对所述目标地址所指的目标数据进行删除,所述目标数据为存储在所述固态硬盘上的数据;

处理单元,用于根据预设规则对所述目标数据进行非删除处理,得到处理结果。

可选地,所述固态硬盘包括隐藏分区,所述隐藏分区为允许验证通过的主机访问的分区;

所述处理单元包括识别模块和保存模块;

所述识别模块,用于对所述目标数据的文件类型和文件体进行识别,识别出所述目标数据为能恢复的文件或者所述目标数据为目标类型的文件;

所述保存模块,用于将所述目标数据保存在所述隐藏分区。

可选地,所述处理单元包括识别模块和记录模块;

所述识别模块,用于识别出所述目标数据的文件类型;

所述记录模块,用于将所述目标数据的文件类型记录到日志中。

可选地,所述处理单元包括识别模块和执行模块;

所述识别模块,用于识别出所述目标数据的文件类型;

所述执行模块,用于当检测到预设报警条件时,执行预设警报操作,其中,所述预设报警条件为所述目标数据的文件类型为预设类型和/或所述删除命令符合预设判断条件。

可选地,所述固态硬盘还包括操作单元;

所述获取单元,还用于获取加密主机发送的加密操作命令,所述加密操作命令为由所述加密主机使用私钥对操作命令进行签名得到的命令;

所述操作单元,用于当使用预存的公钥对所述加密操作命令验证通过时,根据所述操作命令操作保存在所述隐藏分区上的目标数据。

可选地,所述固态硬盘还包括确定单元;

所述获取单元,还用于获取加密主机发送的加密选择命令,所述加密选择命令为由加密主机使用私钥对选择命令进行签名得到的命令;

所述确定单元,用于当使用预存的公钥对所述加密选择命令验证通过时,根据所述选择命令从多个预设规则中确定出目标预设规则;

所述处理单元,还用于根据所述目标预设规则对所述目标数据进行非删除处理,得到处理结果。

本发明实施例提供的技术方案中,固态硬盘获取主机发送的删除命令,其中,删除命令包括目标地址,删除命令用于指示对目标地址所指的目标数据进行删除,目标数据为存储在固态硬盘上的数据。然后,固态硬盘根据预设规则对目标数据进行非删除处理,得到处理结果。因此相对于现有技术,本发明实施例的固态硬盘在获取到删除命令后,对删除命令要删除的目标数据进行非删除处理,以减少数据误删或遭破坏的可能,从而提高数据安全性。

附图说明

图1为现有的一种删除命令实现方法流程图;

图2为本发明一实施例提供的数字签名过程示意图;

图3为本发明另一实施例提供的密钥对的产生过程示意图;

图4为本发明另一实施例提供的单向密码散列函数生成私钥的过程示意图;

图5为本发明另一实施例提供的数据处理方法涉及到的一种使用场景图;

图6为本发明另一实施例提供的一种数据处理方法的流程图;

图7为图6所示实施例的数据处理方法的使用示意图;

图8为本发明另一实施例提供的一种固态硬盘的结构示意图。

具体实施方式

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

本发明实施例提供了一种数据处理方法和固态硬盘,用于提高数据安全性。在一些实施例中,本发明实施例提出了在标准协议的范围外的一系列对固态硬盘接收到删除命令的处理策略,保护被删除数据的完整性及可用性的同时,保证被删除数据的安全性。

本发明实施例的数据处理方法的应用领域包括但不限于刑侦取证、文件误删、和财政商务数据保护等。

为了对本发明实施例的数据处理方法和固态硬盘描述得更清楚,下面对本发明实施例涉及到的一些术语进行介绍。

1、固态硬盘

固态硬盘(solidstatedrive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(例如闪存(flash)芯片、动态随机存取存储器(dynamicrandomaccessmemory,dram)芯片)组成。

2、删除命令

删除命令也称为trim命令。目前串行高级技术附件(serialadvancedtechnologyattachment,sata)、非易失性内存主机控制器接口规范(non-volatilememoryexpress,nvme)等协议均支持trim命令,其目的是为了优化固态硬盘读写的效率及稳定性。trim命令用于通知固态存储设备要擦除哪些数据。具体为,当相关的数据可以被覆盖时,主机的操作系统会发给ssd一个trim指令,以使ssd控制器在主机开始删除和再次写入操作之间的时间窗,执行安全擦除操作。因为在写入操作过程中不用花时间去擦除原本的数据,ssd的写入速度得到提高。

3、数字签名

数字签名指只有信息发送者的私钥才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。

数字签名是非对称密钥加密技术与数字摘要技术的应用。其主要作用是保证信息传输的完整性、发送者的身份认证、以及防止交易中的抵赖发生。

如图2所示,数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用哈希(hash)函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

数字签名是个加密的过程,数字签名验证是个解密的过程。

数字签名算法至少应该满足下述三个条件:

1)接收者能够核实发送者对报文的签名;

2)发送者事后不能抵赖对其报文的签名;

3)接收者无法伪造对报文的签名。

4、非对称加密技术

非对称加密技术需要两个密钥:公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以非对称加密技术的算法叫作非对称加密算法。

其中,密钥对的产生过程,可参阅图3。私钥的生成可通过单向密码散列函数(cryptographichash)实现,其中,单向密码散列函数生成私钥的过程如图4所示。

图5为本发明实施例的数据处理方法涉及到的一种使用场景图。在该使用场景中,涉及到主机501和固态硬盘502。主机501和固态硬盘502可以进行通信,以进行数据交互。

主机501可以为手机、平板电脑、个人计算机等设备,用户可以对主机501进行操作,例如控制主机发送指令。

固态硬盘502可用于进行数据的存储,固态硬盘502和主机501可以将各自的数据进行交互传送。

固态硬盘502可以设置在主机501上,也可以和主机501分离设置,例如固态硬盘502为安装在笔记本电脑上的硬盘,或者固态硬盘502为移动固态硬盘。

图6为本发明实施例提供的一种数据处理方法的流程图,图7为图6所示实施例的数据处理方法的使用示意图。图6所示的方法可应用于图5所示实施例的固态硬盘上。参考上述各实施例的具体描述,以及图6和图7,本发明实施例的数据处理方法包括:

步骤601:固态硬盘获取主机发送的删除命令。

其中,删除命令包括目标地址,删除命令用于指示对目标地址所指的目标数据进行删除,目标数据为存储在固态硬盘上的数据。

如上述术语部分的介绍,删除命令简称是trim命令,是主机的操作系统通知固态硬盘删除数据的命令。

主机向固态硬盘发送删除命令,该删除命令包括地址包,该地址包包括目标地址。

具体来说,固态硬盘获取到删除命令后,将地址包内的地址逐一解析出来,得到目标地址,该目标地址为固态硬盘上的逻辑地址,该目标地址指向目标数据,该目标数据为存储在固态硬盘上的数据。该删除命令指示固态硬盘将目标地址所指的目标数据进行删除。

步骤602:固态硬盘根据预设规则对目标数据进行非删除处理,得到处理结果。

固态硬盘获取到删除命令后,固态硬盘可根据预设规则对目标数据进行非删除处理,从而得到处理结果。

在本发明实施例中,预设规则和非删除处理对应,换言之,不同的预设规则对应不同的非删除处理。非删除处理为不包括删除目标数据的处理。

可以理解,得到的处理结果可以是一些数据信息,或者是一些操作过程。

关于预设规则、以及和预设规则对应的非删除处理有多种具体的实现方式,下面对此举出几个示例:

示例一:固态硬盘包括隐藏分区,该隐藏分区为允许验证通过的主机访问的分区。本示例中,步骤602具体包括:固态硬盘对目标数据的文件类型和文件体进行识别,识别出目标数据为能恢复的文件。然后,固态硬盘将目标数据保存在隐藏分区。

具体来说,固态硬盘在处理删除命令时,在盘内进行对被删除的目标数据的文件类型及文件体的识别,根据文件类型及文件体识别出有效文件后,将有效文件保存到隐藏分区中。

其中,文件通常包括文件头及文件体。文件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。文件头用于描述一个文件的一些重要的属性,文件头提供了打开并处理该文件的程序的属性。文件体则是文件实际的数据部分。有效文件为能被识别并能成功恢复的文件,通过对文件体及文件头的特征数据结构的识别能识别出能恢复的文件。

示例二:固态硬盘包括隐藏分区,该隐藏分区为允许验证通过的主机访问的分区。本示例中,步骤602具体包括:固态硬盘对目标数据的文件类型和文件体进行识别,识别出目标数据为目标类型的文件。然后,固态硬盘将目标数据保存在隐藏分区。

具体来说,固态硬盘在处理删除命令时,在盘内进行对被删除的目标数据的文件类型及文件体的识别,按照用户预设的目标类型,将目标类型的有效文件保存到隐藏分区中。其中,该目标类型为目标数据的类型,例如为视频文件、文档文件等。将目标类型的有效文件保存到隐藏分区中例如为大视频文件不保存,但固态硬盘将.xml/.xls文件保存到隐藏分区中。

在上述的示例一和二中,存储设备中设置有隐藏分区,该隐藏分区为普通用户不能访问的存储空间,是对上层操作系统不可见的数据区域。在固态硬盘初始化时,专门将隐藏分区划分出来。

隐藏分区需要验证通过的主机才能访问的存储空间,可选地,固态硬盘将目标数据保存在隐藏分区之后,本发明实施例的方法还包括:固态硬盘获取加密主机发送的加密操作命令,其中,加密操作命令为由加密主机使用私钥对操作命令进行签名得到的命令。操作命令为访问隐藏分区的命令。然后,当固态硬盘使用预存的公钥对加密操作命令验证通过时,固态硬盘根据操作命令操作保存在隐藏分区上的目标数据。其中,加密主机为主机,加密主机可以和步骤601的主机相同,也可以不同。

例如,主机使用私钥对显示隐藏分区的命令进行签名,并下发到固态硬盘。然后,固态硬盘使用对应的公钥进行验证,若验证通过,则显示隐藏分区,供主机应用读取被恢复的目标数据;若不通过,固态硬盘可以上报告警。

示例三:步骤602具体包括:固态硬盘识别出目标数据的文件类型,然后,固态硬盘将目标数据的文件类型记录到日志中。

具体来说,固态硬盘在处理删除命令时,在盘内进行对被删除的目标数据的文件类型的识别,识别出目标数据的文件类型后,将该文件类型记录到日志中。其中,该日志为用于记录删除令事件的日志,该日志保存在固态硬盘内。

示例四:步骤602具体包括:固态硬盘识别出目标数据的文件类型。当检测到预设报警条件时,固态硬盘执行预设警报操作,其中,预设报警条件为目标数据的文件类型为预设类型和/或删除命令符合预设判断条件。

具体来说,固态硬盘在处理删除命令时,在盘内进行对被删除的目标数据的文件类型的识别,按照配置的规则(例如文件类型、删除密度)采取预设警报操作。其中,预设警报操作例如为上报告警(用于危险行为识别),或不再处理主机下发的命令,并等待管理员处理等。

例如,固态硬盘检测到目标数据的文件类型为.c/.h文件时,表示删除命令为破坏性的操作,或者固态硬盘检测到目标地址所指的目标数据有3个或以上的.doc文件;或者固态硬盘检测到连续多个删除命令都为删除预设文件类型的文件,则固态硬盘上报告警。

在本发明的一些实施例中,固态硬盘根据预设规则对目标数据进行非删除处理,该预设规则可由用户进行预先选择,从而当固态硬盘接收到删除命令后,则按照预设的规则进行处理,以达到用户的预设目的。此时,特权用户在确定预设规则时,需首先通过数字签名验证,以确认身份。为此,在步骤601之前,本发明实施例的方法还包括:固态硬盘获取加密主机发送的加密选择命令,其中,加密选择命令为由加密主机使用私钥对选择命令进行签名得到的命令。当使用预存的公钥对加密选择命令验证通过时,固态硬盘根据选择命令从多个预设规则中确定出目标预设规则。从而固态硬盘确定出要使用的目标预设规则,该目标预设规则可以为上述示例一至四中的任一示例所示的预设规则。例如,在固态硬盘中,预设规则会归纳成若干条,并配以编号。特权用户只需通过主机在选择命令中将预设规则的编号下发到固态硬盘即可。

从而,对应地,步骤602具体包括:固态硬盘根据目标预设规则对目标数据进行非删除处理,得到处理结果。例如固态硬盘使用上述示例一至四中的任一示例所示的方法。

在本发明实施例中,基于数字签名算法可生成加密主机与固态硬盘间唯一对应的密钥对,在加密主机上持有私钥,在固态硬盘上持有公钥。授权用户通过加密主机下发的命令均需以其持有的私钥进行签名,固态硬盘会以对应的公钥验证该命令,以确认该主机的权限。

这样,本发明实施例针对固态硬盘的删除命令处理过程,通过提供多种可选的预设规则,由特权用户在数字签名的保护下,根据其目的进行选择,以使固态硬盘使用特权用户选定的预设规则。换言之,特权用户在数字签名的保护下,预设固态硬盘对删除命令的处理策略。其中,该预设规则为删除命令的处理策略。然后,当删除命令下发时,固态硬盘按照确定的预存规则处理删除命令,以达到特权用户的目标。

从而,本发明实施例的数据处理方法具有如下有益效果:

1.防止目标数据的误删操作,从而有效提高数据的安全性;

2.识别恶意破坏数据的行为,在保护数据的同时上报告警;保证维护人员及时采取相关的措施;

3.合理利用固态硬盘内的有效空间,在优化读写效率及稳定性的同时,提高数据的安全性;

4.通过数字签名的身份验证,提高产品整体的安全性。

综上所述,固态硬盘获取主机发送的删除命令,其中,删除命令包括目标地址,删除命令用于指示对目标地址所指的目标数据进行删除,目标数据为存储在固态硬盘上的数据。然后,固态硬盘根据预设规则对目标数据进行非删除处理,得到处理结果。因此相对于现有技术,本发明实施例的固态硬盘在获取到删除命令后,对删除命令要删除的目标数据进行非删除处理,以减少数据误删或遭破坏的可能,从而提高数据安全性。

图8为本发明实施例提供的一种固态硬盘的结构示意图。图8所示实施例的固态硬盘可集成在图5所示实施例的固态硬盘上。图8所示实施例的固态硬盘可用于执行上述图6所示实施例的数据处理方法。

参阅图8,本发明实施例的固态硬盘包括:

获取单元801,用于获取主机发送的删除命令,删除命令包括目标地址,删除命令用于指示对目标地址所指的目标数据进行删除,目标数据为存储在固态硬盘上的数据;

处理单元802,用于根据预设规则对目标数据进行非删除处理,得到处理结果。

可选地,固态硬盘包括隐藏分区,隐藏分区为允许验证通过的主机访问的分区;

处理单元802包括识别模块803和保存模块804;

识别模块803,用于对目标数据的文件类型和文件体进行识别,识别出目标数据为能恢复的文件或者目标数据为目标类型的文件;

保存模块804,用于将目标数据保存在隐藏分区。

可选地,处理单元802包括识别模块803和记录模块805;

识别模块803,用于识别出目标数据的文件类型;

记录模块805,用于将目标数据的文件类型记录到日志中。

可选地,处理单元802包括识别模块803和执行模块806;

识别模块803,用于识别出目标数据的文件类型;

执行模块806,用于当检测到预设报警条件时,执行预设警报操作,其中,预设报警条件为目标数据的文件类型为预设类型和/或删除命令符合预设判断条件。

可选地,固态硬盘还包括操作单元807;

获取单元801,还用于获取加密主机发送的加密操作命令,加密操作命令为由加密主机使用私钥对操作命令进行签名得到的命令;

操作单元807,用于当使用预存的公钥对加密操作命令验证通过时,根据操作命令操作保存在隐藏分区上的目标数据。

可选地,固态硬盘还包括确定单元808;

获取单元801,还用于获取加密主机发送的加密选择命令,加密选择命令为由加密主机使用私钥对选择命令进行签名得到的命令;

确定单元808,用于当使用预存的公钥对加密选择命令验证通过时,根据选择命令从多个预设规则中确定出目标预设规则;

处理单元802,还用于根据目标预设规则对目标数据进行非删除处理,得到处理结果。

综上所述,固态硬盘包括获取单元801和处理单元802。获取单元801获取主机发送的删除命令,删除命令包括目标地址,删除命令用于指示对目标地址所指的目标数据进行删除,目标数据为存储在固态硬盘上的数据。跟着,处理单元802根据预设规则对目标数据进行非删除处理,得到处理结果。因此相对于现有技术,本发明实施例的固态硬盘在获取到删除命令后,对删除命令要删除的目标数据进行非删除处理,以减少数据误删或遭破坏的可能,从而提高数据安全性。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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