一种优化安全擦除的方法以及系统的制作方法

文档序号:10470875阅读:148来源:国知局
一种优化安全擦除的方法以及系统的制作方法
【专利摘要】本发明提供一种优化安全擦除的方法,当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址;将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统;启动守护进程查询系统的IO状态;若系统的IO状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除;本发明还提供一种优化安全擦除的系统,提高系统在安全擦除过程中的运行流畅性,取得良好的产品体验。
【专利说明】
一种优化安全擦除的方法以及系统
技术领域
[0001]本发明涉及一种优化安全擦除的方法以及系统。
【背景技术】
[0002]目前的嵌入式系统大量需求针对emmc颗粒执行安全擦除操作,以保证磁盘数据不可恢复性的删除。安全擦除不同于常规的擦除操作,它的执行时独占式的,其他读写操作都必须等待它完成。如果有大量的区域需要执行安全擦除操作,那么系统正常的磁盘访问都会被阻塞,带来用户体验上的卡顿,甚至会导致系统异常。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种优化安全擦除的方法以及系统,提高系统在安全擦除过程中的运行流畅性,取得良好的产品体验。
[0004]本发明之一是这样实现的:一种优化安全擦除的方法,包括如下步骤:
[0005]步骤1、当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址;
[0006]步骤2、将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统;
[0007]步骤3、启动守护进程查询系统的1状态;
[0008]步骤4、若系统的1状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除;
[0009]步骤5、若安全擦除过程中;
[0010]用户空间执行写操作,则暂停安全擦除;内核空间检测用户控件传递下来的写请求的地址参数,若该地址参数落在区间标记单元中的地址,则将数据写入内存;否,则将数据写入对应的磁盘位置,之后再继续执行安全擦除;
[0011]用户空间执行读操作,则暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,则直接返回空数据;否,执行此次读取,读取完成后,之后再继续执行安全擦除。
[0012]进一步地,所述步骤5中所述将数据写入内存进一步具体为:当内存不足时,将内存中的数据回写磁盘,之后将数据写入内存;否则直接将数据写入内存。
[0013]进一步地,所述步骤5还包括:用户空间执行读操作时,暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,且在读操作之前有写操作的地址恰好包括所述读请求的地址,则从内存中读取相应的数据,之后再继续执行安全擦除。
[0014]进一步地,所述区间标记单元为内存中开辟空间,用于存储所需安全擦除的数据地址。
[0015]本发明之一是这样实现的:一种优化安全擦除的系统,包括如下模块:
[0016]地址获取模块,当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址;
[0017]地址存储模块,将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统;
[0018]检测模块,启动守护进程查询系统的1状态;
[0019]擦除启动模块,若系统的1状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除;
[0020]擦除处理模块,若安全擦除过程中;
[0021]用户空间执行写操作,则暂停安全擦除;内核空间检测用户控件传递下来的写请求的地址参数,若该地址参数落在区间标记单元中的地址,则将数据写入内存;否,则将数据写入对应的磁盘位置,之后再继续执行安全擦除;
[0022]用户空间执行读操作,则暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,则直接返回空数据;否,执行此次读取,读取完成后,之后再继续执行安全擦除。
[0023]进一步地,所述擦除处理模块中所述将数据写入内存进一步具体为:当内存不足时,将内存中的数据回写磁盘,之后将数据写入内存;否则直接将数据写入内存。
[0024]进一步地,所述擦除处理模块还包括:用户空间执行读操作时,暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,且在读操作之前有写操作的地址恰好包括所述读请求的地址,则从内存中读取相应的数据,之后再继续执行安全擦除。
[0025]进一步地,所述区间标记单元为内存中开辟空间,用于存储所需安全擦除的数据地址。
[0026]本发明具有如下优点:本发明一种优化安全擦除的方法以及系统,提高系统在安全擦除过程中的运行流畅性,取得良好的产品体验。
【附图说明】
[0027]下面参照附图结合实施例对本发明作进一步的说明。
[0028]图1为本发明方法执行流程图。
[0029]图2为本发明系统模块原理图。
【具体实施方式】
[0030]如图1所示,本发明优化安全擦除的方法,包括如下步骤:
[0031]步骤1、当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址;
[0032]步骤2、将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统,所述区间标记单元为内存中开辟空间,用于存储所需安全擦除的数据地址;
[0033]步骤3、启动守护进程查询系统的1状态;
[0034]步骤4、若系统的1状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除;
[0035]步骤5、若安全擦除过程中;
[0036]用户空间执行写操作,则暂停安全擦除;内核空间检测用户控件传递下来的写请求的地址参数,若该地址参数落在区间标记单元中的地址,则将数据写入内存,当内存不足时,将内存中的数据回写磁盘,之后将数据写入内存;否则直接将数据写入内存;否,则将数据写入对应的磁盘位置,之后再继续执行安全擦除;
[0037]用户空间执行读操作,则暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,则直接返回空数据;否,执行此次读取,读取完成后,之后再继续执行安全擦除。
[0038]用户空间执行读操作时,暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,且在读操作之前有写操作的地址恰好包括所述读请求的地址,则从内存中读取相应的数据,之后再继续执行安全擦除。
[0039]如图2所示,本发明优化安全擦除的系统,包括如下模块:
[0040]地址获取模块,当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址;
[0041]地址存储模块,将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统,所述区间标记单元为内存中开辟空间,用于存储所需安全擦除的数据地址;
[0042]检测模块,启动守护进程查询系统的1状态;
[0043]擦除启动模块,若系统的1状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除;
[0044]擦除处理模块,若安全擦除过程中;
[0045]用户空间执行写操作,则暂停安全擦除;内核空间检测用户控件传递下来的写请求的地址参数,若该地址参数落在区间标记单元中的地址,则将数据写入内存,当内存不足时,将内存中的数据回写磁盘,之后将数据写入内存;否则直接将数据写入内存;否,则将数据写入对应的磁盘位置,之后再继续执行安全擦除;
[0046]用户空间执行读操作,则暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,则直接返回空数据;否,执行此次读取,读取完成后,之后再继续执行安全擦除。
[0047]用户空间执行读操作时,暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,且在读操作之前有写操作的地址恰好包括所述读请求的地址,则从内存中读取相应的数据,之后再继续执行安全擦除。
[0048]本发明一种【具体实施方式】:
[0049]本发明的思路:
[0050](I)当用户空间执行安全擦除之后,内核空间生成一张记录表,记录需要安全擦除的区间。
[0051](2)内核空间设置1空闲调度进程,当1空闲时,执行记录表中的安全擦除。
[0052](3)当执行安全擦除时,用户空间发起读请求。如果读请求的区域落在记录表中,则表明该区域需要被安全擦除,则返回全I数据。如果没有落在记录表中,则打断正在执行的安全擦除,执行读请求,将数据返回给用户空间。接着再继续执行安全擦除
[0053](4)当执行安全擦除时,用户空间发起写请求。如果写请求的区域落在记录表中,则表明该区域需要被安全擦除,则数据写入到一段内存中。等安全擦除结束再回写磁盘。如果内存不足时,也打断安全擦除,先回写这部分的数据,再从回写后的地址开始擦除。
[0054](5)如果是不断读写交织,那么有可能读的地址和写的地址都在被安全擦除的区域内,此时,如果读在写之后,读的数据直接从内存中返回,否则返回全I。
[0055]如附图1所示,
[0056](I)当用户空间执行安全擦除时,内核空间获取了所需执行的安全擦除的地址,记录在区间标记单元内。并立即返回擦除成功,让系统能够正常的完成此次擦除。同时启动一个守护进程来查询系统的1空闲程度。如果1处于空闲状态,则在后台启动安全擦除,安全擦除的地址从区间标记单元内获取。
[0057](2)如果此时用户空间执行写操作,则不执行安全擦除。内核空间检测用户空间传递下来的写请求的地址参数。如果是落在区间标记单元内记录的,被执行安全擦除的区域内,则写入内存。如果不是,则直接写入磁盘。当内存不足时,内存阈值管理单元执行非安全擦除,并将原先内存的数据回写磁盘。
[0058](3)如果此时用户空间执行读操作,则不执行安全擦除。内核空间检查用户空间传递下来的读请求的地址参数。如果是落在区间标记单元内记录的,被执行安全擦除的区域内,则直接返回全I (被安全擦除后的地址内的数据会被emmc颗粒即emmc设备标记为I).如果不是,则取消安全擦除,执行此次读取。一旦读取完成后,再开始继续执行安全擦除。区域标记单元还要区分落在区间内的读操作所指向的地址,是否在之前已经被执行过写入操作,如果是,则直接从之前的内存中读取。
[0059]虽然以上描述了本发明的【具体实施方式】,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【主权项】
1.一种优化安全擦除的方法,其特征在于:包括如下步骤: 步骤1、当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址; 步骤2、将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统; 步骤3、启动守护进程查询系统的1状态; 步骤4、若系统的1状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除; 步骤5、若安全擦除过程中; 用户空间执行写操作,则暂停安全擦除;内核空间检测用户控件传递下来的写请求的地址参数,若该地址参数落在区间标记单元中的地址,则将数据写入内存;否,则将数据写入对应的磁盘位置,之后再继续执行安全擦除; 用户空间执行读操作,则暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,则直接返回空数据;否,执行此次读取,读取完成后,之后再继续执行安全擦除。2.根据权利要求1所述的一种优化安全擦除的方法,其特征在于:所述步骤5中所述将数据写入内存进一步具体为:当内存不足时,将内存中的数据回写磁盘,之后将数据写入内存;否则直接将数据写入内存。3.根据权利要求1所述的一种优化安全擦除的方法,其特征在于:所述步骤5还包括:用户空间执行读操作时,暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,且在读操作之前有写操作的地址恰好包括所述读请求的地址,则从内存中读取相应的数据,之后再继续执行安全擦除。4.根据权利要求1所述的一种优化安全擦除的方法,其特征在于:所述区间标记单元为内存中开辟空间,用于存储所需安全擦除的数据地址。5.一种优化安全擦除的系统,其特征在于:包括如下模块: 地址获取模块,当开始执行安全擦除时,内核空间获取所需安全擦除的数据地址; 地址存储模块,将所述数据地址记录于区间标记单元,并立即返回擦除成功信号至系统; 检测模块,启动守护进程查询系统的1状态; 擦除启动模块,若系统的1状态处于空闲状态,则开始安全擦除;否,则不开始安全擦除; 擦除处理模块,若安全擦除过程中; 用户空间执行写操作,则暂停安全擦除;内核空间检测用户控件传递下来的写请求的地址参数,若该地址参数落在区间标记单元中的地址,则将数据写入内存;否,则将数据写入对应的磁盘位置,之后再继续执行安全擦除; 用户空间执行读操作,则暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,则直接返回空数据;否,执行此次读取,读取完成后,之后再继续执行安全擦除。6.根据权利要求5所述的一种优化安全擦除的系统,其特征在于:所述擦除处理模块中所述将数据写入内存进一步具体为:当内存不足时,将内存中的数据回写磁盘,之后将数据写入内存;否则直接将数据写入内存。7.根据权利要求5所述的一种优化安全擦除的系统,其特征在于:所述擦除处理模块还包括:用户空间执行读操作时,暂停安全擦除;内核空间检查用户空间传递下来的读请求的地址参数;若该地址参数落在区间标记单元中的地址,且在读操作之前有写操作的地址恰好包括所述读请求的地址,则从内存中读取相应的数据,之后再继续执行安全擦除。8.根据权利要求5所述的一种优化安全擦除的系统,其特征在于:所述区间标记单元为内存中开辟空间,用于存储所需安全擦除的数据地址。
【文档编号】G06F3/06GK105824577SQ201610134501
【公开日】2016年8月3日
【申请日】2016年3月10日
【发明人】林涛
【申请人】福州瑞芯微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1