一种基于文件级粒度的闪存安全删除方法及系统与流程

文档序号:11582086阅读:276来源:国知局
一种基于文件级粒度的闪存安全删除方法及系统与流程

本发明属于计算机存储领域,更具体地,涉及一种基于文件级粒度的闪存安全删除方法及系统。



背景技术:

随着数据恢复技术的发展,当前计算机系统已经很难彻底删除文件,通过恢复处理存储介质上残留的数据,攻击者可以窃取已删除的机密信息,这已经成为威胁存储系统信息安全的重要隐患。2016年的一次调查报告中发现,从200多块二手硬盘中(93%是机械硬盘,剩余是ssd),发现超过78%的二手硬盘里存在剩余数据,其中67%的硬盘能恢复出个人机密信息,11%的硬盘包含公司敏感数据。另外调查显示,36%的硬盘包含残留数据,即用户进行了删除操作后仍有数据残留;40%的硬盘进行过格式化,但仍然有数据残留在硬盘中;仅仅只有10%的硬盘采取过安全擦除手段来清除数据。这充分说明普通的删除和格式化操作并不能真正的删除数据,用户需要采取安全删除手段来防止数据泄露。

安全删除是指通过各种技术手段,使存储载体中的数据被删除后不可恢复,且设备可二次利用。目前已经针对磁介质提出多种基于覆写的安全删除方法,其主要思想是,删除文件时,重写该文件对应的lba(逻辑区块地址)空间,覆盖写存有文件原始数据的物理介质,以此来安全删除文件。但由于闪存异地更新的特点,当重写该文件对应的lba空间时,存有文件原始数据的物理页将变为无效,覆盖写的数据被写入到新的物理页,无法达到覆盖写文件原始数据的效果。同时,在经过大量读写后,文件的每个数据页都有可能存在若干个副本,这些数据页副本在存储介质里保存的时间是不可预测的,只能在垃圾回收时回收一部分,占用了固态盘空间的同时,泄露了已删除文件中的信息。因此,针对基于闪存的固态盘,需要引进一种新的安全删除技术以改变这种困境。

现有安全删除方法的粒度大致包括四类:页级安全删除、块级安全删除、文件级安全删除以及全盘安全删除。页级的安全删除方法以单个物理页为单位,实时地安全删除因写更新产生的无效页,在文件的编辑和修改过程中,写更新操作非常频繁,页级的安全删除方法会严重影响固态盘对正常的读写请求的响应;块级安全删除方法以物理块为单位,采用块擦除手段来安全删除物理块,当块中存在有效页时,需要迁移有效页会带来开销,且块粒度实用性差;而文件级的安全删除以文件为单位,通常文件的删除操作不频繁,只有在用户删除某个文件时,才会触发安全删除操作,对固态盘的读写性能影响小;全盘安全删除适用范围窄,对于多用户共享存储资源的常见应用场景,对整个物理盘进行安全删除是无法实现的,即使是对整个虚拟盘进行安全删除也意味着某个文件的安全删除。

对于基于闪存的固态盘,尽管不能采用覆写文件的lba空间的方式来安全删除文件,但可以直接对物理介质进行覆写。对于slc闪存,有人通过实验证实对slc闪存的物理页进行二次写入是可行的,即可以通过普通的物理页写入命令,对存储敏感数据的物理页进行覆盖写入,从而实现对slc闪存的安全删除。但额外的物理页覆写操作会影响闪存对正常读写请求的响应,实时地安全删除无效页将严重影响固态盘的性能;且它提出的文件粒度的安全删除方法需要遍历整个固态盘的所有物理页来确定文件对应的无效页副本,延时非常大。

如图1所示:对于mlc闪存,支持4种电压级别,每个单元可存储2bits,状态变化严格遵循阈值电压升高的规则,在擦除之前不能反向改变状态,即mlc闪存内部的写入操作必须按照一定的顺序进行;

当对基于mlc闪存的固态盘进行安全删除时,有两个限制:

(1)受编程串扰影响,当mlc闪存的低页和高页都有效时,不能单独覆写低页或者高页,否则会破坏高页或者低页中的数据;

(2)mlc闪存的每个物理块的错误率随被覆写的物理页数量增加而上升,即每个物理块只能承受部分物理页被覆写。

由于这些限制,传统的解决方法有两种:一种是将mlc闪存当做slc闪存使用,先只使用成对页(pairedpage)中的低页,只有当低页无效并进行了覆写后,才能使用该低页对应的高页,严重的浪费了mlc闪存的容量;另一种是,当需要覆写mlc闪存成对页中的某个页时,要先将成对页中的另一个页中的数据进行迁移,再覆写此成对页,浪费了mlc闪存容量的同时,安全删除效率低下;因此,简单的物理页覆写方法并不适合mlc闪存。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于文件级粒度的闪存安全删除方法及系统,其目的在于通过在文件系统层为每个文件分配一个guid号码,向底层传递文件信息,使设备可以掌握文件数据块的存储位置、实时记录每个文件产生的无效物理页;当用户删除某个文件时,设备可以通过删除命令找到文件对应的所有无效物理页和所有有效物理页,然后使用物理页覆写方法对文件所有的物理页进行覆写来达到安全删除文件的目的,由此解决现有闪存安全删除技术效率低、延时大的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于文件级粒度的闪存安全删除方法,该方法包括:

(1)guid分配和封装:为每个文件分配一个全局唯一标识符guid,并将文件的guid封装到文件的写和删除请求中;若是写请求,则进入步骤(2);若是删除请求则进入步骤(5);

(2)写入介质判断:若存储介质为mlc闪存,则进入步骤(3);否则进入步骤(4);

(3)分配mlc闪存成对页:根据写请求的guid号找到该文件上一次写入的物理页位置,若是低页,则分配该低页对应的高页给写请求,使文件的数据块分布在mlc成对的物理页中;若是高页,则分配空闲低页给写请求;若没有空闲低页,则启动垃圾回收后分配空闲低页给写请求;

(4)记录文件的无效页:使用guid-page表实时地记录每个文件产生的无效物理页;

(5)删除介质判断:若存储介质为mlc闪存,则进入步骤(6);若存储介质为slc闪存,则进入步骤(7);

(6)基于mlc闪存的安全删除:根据guid-page表和删除请求找到要删除文件对应的所有物理页,物理页所在物理块的覆写次数没超上限的采用覆写技术进行安全删除,覆写次数超上限的迁移物理块中的有效页后将物理块擦除来达到安全删除;

(7)基于slc闪存的安全删除:根据guid-page表和删除请求找到要删除的文件对应的所有物理页,再使用物理页覆写技术对这些物理页中数据进行安全删除;

(8)元数据的安全删除:根据文件删除操作产生的元数据修改请求和映射关系的修改,找到元数据所在的物理页,对元数据所在物理页进行安全删除。

进一步地,所述步骤(3)具体包括:

(31)物理页查询:根据写请求的guid查找guid-page表,找到对应guid-page表中头结点指针指向的页结点的物理页号;

(32)对页判断:判断所述物理页号是低页、高页还是物理页号初始值,若是低页,分配所述低页对应的高页给写请求,进入步骤(35);若是高页或者物理页号初始值,则判断固态盘中是否有空闲低页,若有,则分配空闲低页给写请求,进入步骤(34);否则进入步骤(33);

(33)垃圾回收:先迁移要回收的目标块中的有效页,同时根据有效页对应的guid查找对应guid-page表中头结点指针指向的页结点的物理页号,若页结点的物理页号和有效页的物理页号相同,则将页结点的物理页号改为有效页迁移后的物理页号;否则不做处理;之后根据目标块中无效页对应的guid查找对应guid-page表,删除guid-page表中页结点的物理页号等于无效页物理页号的页结点;擦除目标块,之后分配空闲低页给写请求;

(34)更新物理页号:将写请求的guid-page表中头结点指针指向的页结点的物理页号更新为新分配物理页的物理页号。

进一步地,所述步骤(4)具体包括:

(41)写命中判断:根据写请求的逻辑地址查找地址映射表,若命中,则进入步骤(42);否则进入步骤(43);

(42)记录无效物理页:将旧物理页的状态置为无效,分配新的guid-page表的页结点,页结点的物理页号为该旧物理页号,新的页结点链接在写请求的guid对应的guid-page表尾部;

(43)更新地址映射表:更新地址映射表。

进一步地,所述步骤(6)具体包括:

(61)查找无效物理页:根据删除请求的guid,查找对应guid-page表中的头结点指针指向的页结点,该页结点后链接的所有页结点均为无效物理页结点;

(62)重置guid-page表:根据删除请求的guid,删除对应guid-page表中所有页结点,并将头结点重新初始化;

(63)查找有效物理页:将删除请求的逻辑地址和大小解析为多个逻辑页号,根据逻辑页号查找地址映射表,找到对应的有效物理页号,将找到的有效物理页的状态置为无效;

(64)覆写次数判断:对于所有找到的物理页,判断物理页所在物理块的覆写计数是否超过该物理块的覆写次数上限;若没有超过,则进入步骤(65);否则进入步骤(66);

(65)覆写删除:采用物理页覆写技术安全删除物理页中数据;该物理页所在物理块的覆写计数加1;

(66)物理块擦除:迁移该物理页所在的物理块中的所有有效物理页,同时更新相应地址映射表和guid-page表,之后擦除该物理块实现安全删除。

进一步地,所述步骤(7)具体包括:

(71)安全删除无效物理页:根据删除请求的guid,查找对应guid-page表中的头结点指针指向的页结点,该页结点后链接的所有页结点均为无效物理页结点,采用物理页覆写技术安全删除无效物理页中数据;

(72)删除页结点:根据删除请求的guid,删除对应guid-page表中所有页结点,并将头结点重新初始化;

(73)安全删除有效物理页:将删除请求的逻辑地址和大小解析为多个逻辑页号,根据逻辑页号查找地址映射表,找到对应的有效的物理页号,采用物理页覆写技术安全删除有效物理页中数据;

(74)更新地址映射表:将找到的有效的物理页置为无效物理页,更新地址映射表。

按照本发明的另一方面,提供了一种基于文件级粒度的闪存安全删除系统,该系统包括:

guid分配和封装模块,用于为每个文件分配一个全局唯一标识符guid,并将文件的guid封装到文件的写和删除请求中;若是写请求,则进入写入介质判断模块;若是删除请求则进入删除介质判断模块;

写入介质判断模块,用于判断若存储介质为mlc闪存,则进入mlc闪存成对页分配模块;否则进入文件无效页记录模块;

mlc闪存成对页分配模块,用于根据写请求的guid号找到该文件上一次写入的物理页位置,若是低页,则分配该低页对应的高页给写请求,使文件的数据块分布在mlc成对的物理页中;若是高页,则分配空闲低页给写请求;若没有空闲空间,则启动垃圾回收后分配空闲低页给写请求;

文件无效页记录模块,用于使用guid-page表实时地记录每个文件产生的无效物理页;

删除介质判断模块,用于判断若存储介质为mlc闪存,则进入基于mlc闪存的安全删除模块;若存储介质为slc闪存,则进入基于slc闪存的安全删除模块;

基于mlc闪存的安全删除模块,用于根据guid-page表和删除请求找到要删除文件对应的所有物理页,物理页所在物理块的覆写次数没超上限的采用覆写技术进行安全删除,覆写次数超上限的迁移物理块中的有效页后将物理块擦除来达到安全删除;

基于slc闪存的安全删除模块,用于根据guid-page表和删除请求找到要删除的文件对应的所有物理页,再使用物理页覆写技术对这些物理页中数据进行安全删除;

元数据的安全删除模块,用于根据文件删除操作产生的元数据修改请求和映射关系的修改,找到元数据所在的物理页,对元数据所在物理页进行安全删除。

进一步地,所述mlc闪存成对页分配模块具体包括:

物理页查询单元,用于根据写请求的guid查找guid-page表,找到对应guid-page表中头结点指针指向的页结点的物理页号;

对页判断单元,用于判断所述物理页号是低页、高页还是物理页号初始值,若是低页,分配所述低页对应的高页给写请求,进入更新物理页号单元;若是高页或者物理页号初始值,则判断固态盘中是否有空闲低页,若有,则分配空闲低页给写请求,进入更新物理页号单元;否则进入垃圾回收单元;

垃圾回收单元:用于先迁移要回收的目标块中的有效页,同时根据中有效页对应的guid查找对应guid-page表中头结点指针指向的页结点的物理页号,若页结点的物理页号和有效页的物理页号相同,则将页结点的物理页号改为有效页迁移后的物理页号;否则不做处理;之后根据目标块中无效页对应的guid查找对应guid-page表,删除guid-page表中页结点的物理页号等于无效页物理页号的页结点;擦除目标块,之后分配空闲低页给写请求;

更新物理页号单元,用于将写请求的guid-page表中头结点指针指向的页结点的物理页号更新为新分配物理页的物理页号。

进一步地,所述文件无效页记录模块具体包括:

写命中判断单元,用于根据写请求的逻辑地址查找地址映射表,若命中,则进入记录无效物理页单元;否则进入更新地址映射表单元;

记录无效物理页单元,用于将旧物理页的状态置为无效,分配新的guid-page表的页结点,页结点的物理页号为该旧物理页号,新的页结点链接在写请求的guid对应的guid-page表尾部;

更新地址映射表单元,用于更新地址映射表。

进一步地,所述基于mlc闪存的安全删除模块具体包括:

查找无效物理页单元,用于根据删除请求的guid,查找对应guid-page表中的头结点指针指向的页结点,该页结点后链接的所有页结点均为无效物理页结点;

重置guid-page表单元,用于根据删除请求的guid,删除对应guid-page表中所有页结点,并将头结点重新初始化;

查找有效物理页单元,用于将删除请求的逻辑地址和大小解析为多个逻辑页号,根据逻辑页号查找地址映射表,找到对应的有效物理页号,将找到的有效物理页的状态置为无效;

覆写次数判断单元,用于对于所有找到的物理页,判断物理页所在物理块的覆写计数是否超过该物理块的覆写次数上限;若没有超过,则进入覆写删除单元;否则进入物理块擦除单元;

覆写删除单元,用于采用物理页覆写技术安全删除物理页中数据;该物理页所在物理块的覆写计数加1;

物理块擦除单元,用于迁移该物理页所在的物理块中的所有有效物理页,同时更新相应地址映射表和guid-page表,之后擦除该物理块实现安全删除。

进一步地,所述基于slc闪存的安全删除模块具体包括:

安全删除无效物理页单元,用于根据删除请求的guid,查找对应guid-page表中的头结点指针指向的页结点,该页结点后链接的所有页结点均为无效物理页结点,采用物理页覆写技术安全删除无效物理页中数据;

删除页结点单元,用于根据删除请求的guid,删除对应guid-page表中所有页结点,并将头结点重新初始化;

安全删除有效物理页单元,用于将删除请求的逻辑地址和大小解析为多个逻辑页号,根据逻辑页号查找地址映射表,找到对应的有效的物理页号,采用物理页覆写技术安全删除有效物理页中数据;

更新地址映射表单元,用于将找到的有效的物理页置为无效物理页,更新地址映射表。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:

(1)相比较块级粒度的安全删除,本发明能减少安全删除对固态盘读写性能的影响,不需要实时安全删除每个文件因修改产生的无效页,只有在用户删除文件时才需要执行安全删除;

(2)相比较现有基于mlc的安全删除方法,本发明对mlc闪存的安全删除更高效,解决了安全删除mlc时编程串扰的问题,在安全删除mlc的基础上,减少了对mlc物理容量的浪费;

附图说明

图1是mlc闪存单元写入顺序示意图;

图2是本发明方法的实施流程图;

图3是guid_page表的结构示意图;

图4是guid分配与封装的流程图;

图5是分配mlc闪存成对页的流程图;

图6是记录文件的无效页的流程图;

图7是slc闪存的安全删除的流程图;

图8是mlc闪存的安全删除的流程图;

图9是元数据安全删除的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图2所示,本发明方法包括以下步骤:

(1)guid分配和封装:为每个文件分配一个全局唯一标识符guid,并将文件的guid封装到文件的写和删除请求中;若是写请求,则进入步骤(2);若是删除请求则进入步骤(5);

(2)写入介质判断:若存储介质为mlc闪存,则进入步骤(3);否则进入步骤(4);

(3)分配mlc闪存成对页:根据写请求的guid号找到该文件上一次写入的物理页位置,若是低页,则分配该低页对应的高页给写请求,使文件的数据块分布在mlc成对的物理页中;若是高页,则分配空闲低页给写请求;若没有空闲空间,则启动垃圾回收后分配空闲低页给写请求;

(4)记录文件的无效页:使用guid-page表实时地记录每个文件产生的无效物理页;

(5)删除介质判断:若存储介质为mlc闪存,则进入步骤(6);若存储介质为slc闪存,则进入步骤(7);

(6)基于mlc闪存的安全删除:根据guid-page表和删除请求找到要删除文件对应的所有物理页,物理页所在物理块的覆写次数没超上限的采用覆写技术进行安全删除,覆写次数超上限的迁移物理块中的有效页后将物理块擦除来达到安全删除;

(7)基于slc闪存的安全删除:根据guid-page表和删除请求找到要删除的文件对应的所有物理页,再使用物理页覆写技术对这些物理页中数据进行安全删除;

(8)元数据的安全删除:根据文件删除操作产生的元数据修改请求和映射关系的修改,找到元数据所在的物理页,对元数据所在物理页进行安全删除。

如图3所示,本技术方案所述guid-page表结构为:

每个guid-page表的头结点包括guid号和一个指向页结点的指针,每个页结点包括物理页号和指向下一个页结点的指针;mlc闪存的guid-page表除了头结点指向的第一个页结点为有效页结点,除此之外其他页结点均为无效页结点;slc闪存的guid-page表中的页结点均为无效页结点。

如图4所示为guid的分配和封装流程,由于固态盘的异地更新特性,每个文件的数据块可能在固态盘里存在很多无效页副本,现有的文件系统不知道文件的无效页副本在硬件中的存储位置,因此本技术方案在文件系统层增添guid的分配与封装过程,给每个文件分配一个guid来唯一标识每个文件,并将该文件的guid封装到该文件的写请求或删除请求中,将包含guid的写请求或删除请求传递给通用块层,再传递到驱动层,再传递到设备层,使设备可以通过guid掌握文件数据块的存储位置。

在现有的系统中,文件系统在删除文件的时候,只删除了文件的元数据,并没有删除文件的数据块。为实现单个文件的安全删除,需要开启trim功能。即所述删除请求为trim命令,当用户删除文件时,操作系统将发送trim指令,文件系统接收到trim指令后,将要删除的文件的guid包装入trim请求中,传送到通用块层,再传送到驱动层,再传送到设备层,通知控制器哪些物理页可以置为无效了。

本技术方案实施例中操作系统、文件系统、驱动层均支持trim指令的发送和传输,设备层也支持trim命令的处理。

当删除某文件时,可以通过删除请求的guid查找该文件对应的无效页副本,并通过删除请求的数据段查找该文件对应的有效页;具体实施例流程如下:

(11)将要执行写或者删除的文件的索引节点inode号记录为文件的guid;

(12)将文件的guid封装到文件的写和删除请求中。

如图5所示为分配mlc闪存成对页流程,由于mlc闪存芯片对写入顺序有严格要求,必须先写成对页中的低页,再写成对页中的高页,否则会造成数据错误;且成对页之间存在编程串扰,覆写成对页中的某个页时,将导致成对页中的另一个页的数据发生错误,因此基于mlc闪存的安全删除很难实现,本技术方案采用一种全新的物理页分配方式即成对分配方式,具体流程如下:

(31)物理页查询:根据写请求的guid查找guid-page表,找到对应guid-page表中头结点指针指向的页结点的物理页号;

(32)对页判断:判断所述物理页号是低页、高页还是物理页号初始值,若是低页,分配所述低页对应的高页给写请求,进入步骤(35);若是高页或者物理页号初始值,则判断固态盘中是否有空闲低页,若有,则分配空闲低页给写请求,进入步骤(34);否则进入步骤(33);

(33)垃圾回收:先迁移要回收的目标块中的有效页,同时根据有效页对应的guid查找对应guid-page表中头结点指针指向的页结点的物理页号,若页结点的物理页号和有效页的物理页号相同,则将页结点的物理页号改为有效页迁移后的物理页号;否则不做处理;之后根据目标块中无效页对应的guid查找对应guid-page表,删除guid-page表中页结点的物理页号等于无效页物理页号的页结点;擦除目标块,之后分配空闲低页给写请求;

(34)更新物理页号:将写请求的guid-page表中头结点指针指向的页结点的物理页号更新为新分配物理页的物理页号。

这样做的好处是,对文件进行安全删除时,可以将文件对应的高、低页一起覆写,避免了覆写mlc时成对页之间的编程串扰带来的数据错误问题。

如图6所示为记录文件的无效页流程,为了实现闪存文件级的安全删除,不仅需要安全删除文件在固态盘中的对应的有效页,还需要安全删除文件因修改产生的无效页副本;因此,需要实时地记录每个文件产生的无效物理页和有效物理页;其中文件对应的有效物理页可以通过删除命令找到,即在用户删除文件时,设备层将接收到的删除命令的数据段解析成多个逻辑页号,通过查找地址映射表得到文件对应的有效物理页号;但由于映射表的一一对应关系,不能通过逻辑页号找到文件对应的无效物理页;因此需要一种方案来记录文件对应的无效物理页;具体流程如下:

(41)写命中判断:根据写请求的逻辑地址查找地址映射表,若命中,则进入步骤(42);否则进入步骤(43);

(42)记录无效物理页:将旧物理页的状态置为无效,分配新的guid-page表的页结点,页结点的物理页号为该旧物理页号,新的页结点链接在写请求的guid对应的guid-page表尾部;

(43)更新地址映射表:更新地址映射表。

如图7所示为slc闪存的安全删除的流程,目前市面上的slc闪存都基本支持覆盖写入(只能将“1”改为“0”),即可在擦除前对物理页进行覆写(即第二次写操作),而对闪存的错误率并不产生明显的影响;因此,对于slc闪存,本技术方案实时记录每个文件在编辑和修改过程中产生的无效物理页,删除文件时,通过删除命令的guid和数据段找到该文件对应的所有有效物理页和无效物理页,再使用物理页覆写方法对这些物理页进行覆写,从而实现slc闪存的文件级安全删除;具体流程如下:

(71)安全删除无效物理页:根据删除请求的guid,查找对应guid-page表中的头结点指针指向的页结点,该页结点后链接的所有页结点均为无效物理页结点,采用物理页覆写技术安全删除无效物理页中数据;

(72)删除页结点:根据删除请求的guid,删除对应guid-page表中所有页结点,并将头结点重新初始化;

(73)安全删除有效物理页:将删除请求的逻辑地址和大小解析为多个逻辑页号,根据逻辑页号查找地址映射表,找到对应的有效的物理页号,采用物理页覆写技术安全删除有效物理页中数据;

(74)更新地址映射表:将找到的有效的物理页置为无效物理页,更新地址映射表。

如图8是mlc闪存的安全删除的流程,本技术方案进行基于mlc删除的安全删除时,通过、删除命令的guid和数据段找到该文件对应的所有有效物理页和无效物理页,同时安全删除文件在mlc闪存中对应的高页和低页,避免编程串扰的影响;通过测试mlc闪存的每个块能承受的覆写页数,设置覆写阈值,当mlc闪存中某个块被覆写的页数超过了覆写阈值时,不再使用物理页覆写方法进行安全删除,而是迁移该块中的有效页,将该块擦除来达到安全删除的目的;具体流程如下:

(61)查找无效物理页:根据删除请求的guid,查找对应guid-page表中的头结点指针指向的页结点,该页结点后链接的所有页结点均为无效物理页结点;

(62)重置guid-page表:根据删除请求的guid,删除对应guid-page表中所有页结点,并将头结点重新初始化;

(63)查找有效物理页:将删除请求的逻辑地址和大小解析为多个逻辑页号,根据逻辑页号查找地址映射表,找到对应的有效物理页号,将找到的有效物理页的状态置为无效;

(64)覆写次数判断:对于所有找到的物理页,判断物理页所在物理块的覆写计数是否超过该物理块的覆写次数上限;若没有超过,则进入步骤(65);否则进入步骤(66);

(65)覆写删除:采用物理页覆写技术安全删除物理页中数据;该物理页所在物理块的覆写计数加1;

(66)物理块擦除:迁移该物理页所在的物理块中的所有有效物理页,同时更新相应地址映射表和guid-page表,之后擦除该物理块实现安全删除。

如图9是元数据安全删除的流程,当文件的数据块安全删除后,文件的元数据信息如文件的名称、inode结点、映射信息等元数据仍该残留在闪存中,会泄露文件信息。因此,需要进一步对该文件相关的元数据进行安全删除,来彻底消除痕迹;具体流程如下:

(81)根据文件删除操作产生的元数据修改请求和映射关系的修改,找到元数据所在的物理页;

(82)判断该物理页是否已经被安全删除过,若是,则结束删除;否则对元数据所在物理页进行安全删除,即采用物理页覆写技术覆写这些物理页中的数据,并标志该页已经被安全删除。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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