一种无效数据回收方法及系统技术方案

技术编号:8655892 阅读:185 留言:0更新日期:2013-05-01 23:33
本发明专利技术公开了一种无效数据回收方法及系统,所述方法包括:接收写操作指令,在空白区块中写入数据;当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量;若是,进入回收状态,回收数据区块的无效数据页后,继续写操作;否则,继续写操作。所述系统包括检测模块、判断模块、处理模块。本发明专利技术所述技术方案,以页为单位进行对闪存进行管理,实现数据的写入,同时统一进行回收无效数据页的操作,从而达到无效数据的高效回收,提高了回收效率,同时提高了闪存写入速度及使用寿命。

【技术实现步骤摘要】

本专利技术涉及数据回收领域,尤其涉及一种无效数据回收方法及系统
技术介绍
闪存(flash memory)是由多个数据页(page)组成,每64页或是128页定义为一个区块(block),以作为闪存的储存单位。然而闪存的特性是当一页被写入数据之后,形成无法立即对所述数据页重新写入新的数据,必须将所述页所在的数据区块执行抹除(erase)步骤,变成空白区块之后,才能继续对所述页写入新资料。然而上述抹除区块再重新写入数据的方式相当耗时,故通常是将欲写入至所述页的更新数据先写入至相对应于相同逻辑地址的另一实体地址。图1是现有技术中闪存写入数据时的示意图,如图1所示,当闪存的数据区块2中被更新写入“逻辑数据0011”、“逻辑数据0013”、“逻辑数据0015”时,数据区块2中对应的三个数据页均成为有效数据页,相应的,由于同一个逻辑地址被写入多次,此时数据区块I中,原本被写入“逻辑数据0011”、“逻辑数据0013”、“逻辑数据0015”的对应的三个有效数据页变为无效数据页。由于闪存的这种物理特性,会出现很多无效数据页,这时需要对产生的无效数据页进行处理,需要采用一定的方法对闪存的区块进行管理,目前现有技术的处理方式一般是将一个块上的有效数据和新写入的数据一起写入一个新的空块上,然后将旧块回收,这样处理需要搬移数据量大,低效、耗时,从而影响闪存的速度及使用寿命。
技术实现思路
本专利技术的主要目的是提供一种无效数据回收方法及系统,旨在提高无效数据的回收效率,且提高闪存写入速度及使用寿命。本专利技术提供了一种无效数据回收方法,包括接收写操作指令,在空白区块中写入数据;当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量;若是,进入回收状态,回收数据区块的无效数据页后,继续写操作;否则,继续写操作。优选地,所述回收数据区块的无效数据页包括检测所述数据区块的有效数据页数量,选定具有最少的有效数据页数量的数据区块,并回收其无效数据页。优选地,所述回收其无效数据页具体为对选定的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。优选地,所述写操作过程包括写入数据的同时,将数据页标记为有效数据页或无效数据页。优选地,将所述有效数据页标记为1,将所述无效数据页标记为O。优选地,所述进行写操作过程还包括将所述数据页的标记状态更新并存储。本专利技术还提供一种无效数据回收系统,包括检测模块,用于检测闪存区域的空白区块或数据模块的数量;判断模块,用于判断其空白区块是否少于预先设定的数量;处理模块,用于进行写操作或进行回收操作。优选地,所述检测模块还用于检测所述数据区块的有效数据页数量;所述处理模块还用于对所述检测模块检测到的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。优选地,所述处理模块还用于在写入数据时,将数据页标记为有效数据页或无效数据页。优选地,还包括存储模块,用于对写入的数据及数据页的标记状态进行存储。本专利技术无效数据回收方法包括接收写操作指令,在空白区块中写入数据;当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量;若是,进入回收状态,回收数据区块的无效数据页后,继续写操作;否则,继续写操作。本专利技术以页为单位进行对闪存进行管理,实现数据的写入,并统一进行回收无效数据页的操作,提高了无效数据的回收效率,同时提高了闪存写入速度及使用寿命。附图说明图1是现有技术中闪存写入数据时的示意图;图2是本专利技术无效数据回收方法一实施例的流程图;图3是本专利技术数据页有效或无效状态记录的示意图;图4是本专利技术搬迁及回收数据区块的示意图;图5是本专利技术无效数据回收系统一实施例的结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施例方式以下结合说明书附图及具体实施例进一步说明本专利技术的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图2,图2为本专利技术无效数据回收方法一实施例的流程图;本专利技术提供了一种无效数据回收方法,包括接收写操作指令,在空白区块中写入数据;当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量;若是,进入回收状态,回收数据区块的无效数据页后,继续写操作;否则,继续写操作。在闪存写操作过程中,取出一个空白区块并写入数据,当所述区块并未使用完毕时,不需要对原有的数据区块中的无效数据页进行回收操作;当一个空白区块使用完毕后,检测闪存区域内的空白区块数量,当所述空白区块的数量并未少于系统预先设定的值时,持续进行写操作,直至检测到该闪存区域内的空白区块数量低于所述系统预先设定值时,执行回收数据区块的无效数据页的动作。本专利技术以页为单位进行对闪存进行管理,统一进行回收无效数据页的操作,提高了无效数据的回收效率,同时提高了闪存写入速度及使用寿命。参照图3,图3为本专利技术有效或无效状态记录的示意图;所述回收数据区块的无效数据页包括检测所述数据区块的有效数据页数量,选定具有最少的有效数据页数量的数据区块,并回收其无效数据页。如图3中所示,数据区块I至N中,分别具有多个有效数据页及多个无效数据页,可以检测到所述有效数据页数量最多的数据区块,并回收其无效数据页。参照图4,图4为本专利技术搬迁及回收数据区块的示意图;上述回收所述数据区块的无效数据页具体为对选定的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。如图3中所示,检测到所述数据区块2仅具有三个有效数据区块,为具有最少的有效数据页数量的数据区块,此时需要回收所述数据区块2的无效数据页,即如图4中所示,将所述数据区块2的三个有效数据页搬迁至空白区块,同时将已不再具有有效数据页的有效数据区块2回收为空白区块,完成回收所述数据区块的无效数据页的过程。进一步的,所述进行写操作包括写入数据的同时,将数据页标记为有效数据页或无效数据页。具体的,本实施例如图3中所示,将所述有效数据页标记为1,将所述无效数据页标记为O。所述进行写操作还包括将所述数据页的标记状态更新并存储。本实施例设有数据页状态统计表,用于统计所述数据页的状态为无效或有效,并将其状态标记过后,记录至所述数据页状态统计表,以便于随时检测其数据页的状态,从而在条件满足时进行回收无效数据页的操作。参照图5,图5为本专利技术无效数据回收系统一实施例的结构示意图;本专利技术还提供一种无效数据回收系统,包括检测模块10,用于检测闪存区域的空白区块或数据模块的数量;判断模块20,用于判断其空白区块是否少于预先设定的数量;处理模块30,用于进行写操作或进行回收操作。进一步的,所述检测模块10还用于检测所述数据区块的有效数据页数量;所述处理模块30还用于对所述检测模块10检测到的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。所述处理模块还用于在写入数据时,将数据页标记为有效数据页或无效数据页。进一步的,所述无效数据回收系统还包括存储模块,用于对写入的数据及数据页的标记状态进行存储。本专利技术实施例以页为单位本文档来自技高网...

【技术保护点】
一种无效数据回收方法,其特征在于,包括:接收写操作指令,在空白区块中写入数据;当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量;若是,进入回收状态,回收数据区块的无效数据页后,继续写操作;否则,继续写操作。

【技术特征摘要】
1.一种无效数据回收方法,其特征在于,包括: 接收写操作指令,在空白区块中写入数据; 当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量; 若是,进入回收状态,回收数据区块的无效数据页后,继续写操作; 否则,继续写操作。2.根据权利要求1所述的无效数据回收方法,其特征在于,所述回收数据区块的无效数据页包括:检测所述数据区块的有效数据页数量,选定具有最少的有效数据页数量的数据区块,并回收其无效数据页。3.根据权利要求2所述的无效数据回收方法,其特征在于,所述回收其无效数据页具体为:对选定的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。4.根据权利要求1所述的无效数据回收方法,其特征在于,所述写操作gc包括:写入数据的同时,将数据页标记为有效数据页或无效数据页。5.根据权利要求4所述的无效数据回收方法,其特征在于,将所述有效数据页标记为I,...

【专利技术属性】
技术研发人员:张彦伟
申请(专利权)人:深圳市硅格半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1