一种无效数据回收方法及系统的制作方法

文档序号:6386010阅读:180来源:国知局
专利名称:一种无效数据回收方法及系统的制作方法
技术领域
本发明涉及数据回收领域,尤其涉及一种无效数据回收方法及系统。
背景技术
闪存(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检测到的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。所述处理模块还用于在写入数据时,将数据页标记为有效数据页或无效数据页。进一步的,所述无效数据回收系统还包括存储模块,用于对写入的数据及数据页的标记状态进行存储。本发明实施例以页为单位进行对闪存进行管理,实现数据的写入,用I个BIT大小的数据,即O或I来标记数据页是否有效,同时对数据页的有效或无效状态进行统计并存储,统一进行回收无效数据页的操作,从而达到无效数据的高效回收,提高了回收效率,同时提高了闪存写入速度及使用寿命。以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种无效数据回收方法,其特征在于,包括: 接收写操作指令,在空白区块中写入数据; 当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量; 若是,进入回收状态,回收数据区块的无效数据页后,继续写操作; 否则,继续写操作。
2.根据权利要求1所述的无效数据回收方法,其特征在于,所述回收数据区块的无效数据页包括:检测所述数据区块的有效数据页数量,选定具有最少的有效数据页数量的数据区块,并回收其无效数据页。
3.根据权利要求2所述的无效数据回收方法,其特征在于,所述回收其无效数据页具体为:对选定的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。
4.根据权利要求1所述的无效数据回收方法,其特征在于,所述写操作gc包括:写入数据的同时,将数据页标记为有效数据页或无效数据页。
5.根据权利要求4所述的无效数据回收方法,其特征在于,将所述有效数据页标记为I,将所述无效数据页标记为O。
6.根据权利要求4或5所述的无效数据回收方法,其特征在于,所述写操作过程还包括:将所述数据页的标记状态更新并存储。
7.一种无效数据回收系统,其特征在于,包括: 检测模块,用于检测闪存区域的空白区块或数据模块的数量; 判断模块,用于判断其空白区块是否少于预先设定的数量; 处理模块,用于进行写操作或进行回收操作。
8.根据权利要求7所述的无效数据回收系统,其特征在于, 所述检测模块还用于检测所述数据区块的有效数据页数量; 所述处理模块还用于对所述检测模块检测到的具有最少的有效数据页数量的数据区块进行搬迁操作,将其有效数据页搬迁至空白区块,并将所述数据区块回收为空白区块。
9.根据权利要求7所述的无效数据回收系统,其特征在于,所述处理模块还用于在写入数据时,将数据页标记为有效数据页或无效数据页。
10.根据权利要求7所述的无效数据回收系统,其特征在于,还包括存储模块,用于对写入的数据及数据页的标记状态进行存储。
全文摘要
本发明公开了一种无效数据回收方法及系统,所述方法包括接收写操作指令,在空白区块中写入数据;当一个空白区块使用完毕后,检测闪存区域,判断其空白区块是否少于预先设定的数量;若是,进入回收状态,回收数据区块的无效数据页后,继续写操作;否则,继续写操作。所述系统包括检测模块、判断模块、处理模块。本发明所述技术方案,以页为单位进行对闪存进行管理,实现数据的写入,同时统一进行回收无效数据页的操作,从而达到无效数据的高效回收,提高了回收效率,同时提高了闪存写入速度及使用寿命。
文档编号G06F12/02GK103077118SQ20121058731
公开日2013年5月1日 申请日期2012年12月28日 优先权日2012年12月28日
发明者张彦伟 申请人:深圳市硅格半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1