一种NandFlash坏块的使用方法与流程

文档序号:14838070发布日期:2018-06-30 13:15阅读:277来源:国知局
一种Nand Flash坏块的使用方法与流程

本发明涉及固态硬盘控制技术,特别涉及一种Nand Flash坏块的使用方法。



背景技术:

Nand Flash由于其实现原理的限制,在生产过程和使用过程中都可能产生坏块。在现有的存贮设备中,一般的用法都是把坏块直接丢弃,而随着NAND FLASH工艺的日益发展,NAND FLASH中的坏块率也在升高。但是一个坏块并非意味着整个块的page都是不可用的,因此存在极大的浪费。



技术实现要素:

针对以上缺陷,本发明目的是如何有效的利用坏块,整体上提高NandFlash的利用率。

为了解决以上问题本发明提出了一种Nand Flash坏块的使用方法,其特征在于增加一个坏块表,所有新产生的坏块的块信息都增加到坏块表中,同时增加对坏块表的测试操作,测试每个坏块表,查找出可正常工作的好页,并建立一个坏块的好页信息表,将从坏块中查找出的可正常工作的好页用于存储只读数据。

所述的Nand Flash坏块的使用方法,其特征在于通过创建动态坏块链表存储坏块表,当系统检测到坏块时,对该坏块的每个页都进行测试,当该坏块中可正常工作的好页数据小于2时,直接丢弃该坏块,否则将该坏块的信息加入到坏块链表中。

所述的Nand Flash坏块的使用方法,其特征在于坏块表采用链表结构,链表的根节点存储系统检测出的第一个满足条件的坏块的第一好页的地址信息;当系统检测出新的坏块时,将前一个坏块的好页表、新坏块的好页表和新坏块的第一好页的地址信息写入前一个坏块的好页表的第一个好块。

所述的Nand Flash坏块的使用方法,其特征在于当系统检测到坏块时,对该坏块的每个页都进行测试,当该坏块中可正常工作的好页数据小于2时,直接丢弃该坏块;否则认定为满足条件。

本发明的有益效果是:通过建立一种链式的坏块Page管理信息,把系统中的只读数据放在坏块中,既充分利用了坏块内的有用空间又可以节约Flash好块的空间来来提供给用户数据使用。

附图说明

图1是坏块的好块链式结构示意图;

图2是坏块中的好页信息表的创建流程图;

图3是坏块中的好页链式管理信息表的创建过程。

具体实施方式

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

图1是坏块的好块链式结构示意图;系统通过链表的结构管理坏块的好块信息,系统发现的第一个坏块的好页信息存储在链表的根节点上,每个坏块的好块信息数据包括下一个坏块地址、下一个坏块好页信息表和当前坏块好页信息表,每个坏块的好块信息存储在坏块的第一个好页上,也正因为需要拿出一个好页用于存储好块信息,因此坏块中至少要求存在两个好页才有利用的价值,因此对于好页数小于2的坏块直接丢弃。

图2是坏块中的好页信息表的创建流程图;通过如下方式获取坏块的好页表,当检测到一个坏块时,把当前块的所有页都初始化为好页,判断是否存在擦除错误,如果为否则把当前出错页从好页表中移除,如果是,则擦除当前k块,读取每一个当前块好页表中每一个好页,如果其中非全1的数据超过一定限度,把该页从好页表中移出,对每一个当前块好页表中每一个好页进行写操作,如果出错则把该页从好页表中移除。接着读取每一个当前块好页表中每一个好页,如果其中非全1的数据超过一定限度,把该页从好页表中移除。在对好页判断结束之后,还需可以增加一个擦除的操作,后面的操作就可以直接往好页里写数据。

图3是坏块中的好页链式管理信息表的创建过程,系统检测到一个坏块时为该坏块创建好页信息表,同时判断是否为第一个坏块,如果是创建系统第一个好页信息表,并保存在系统中;如果否把刚创建的好页信息表连同指向本块的指针以及上一个好页信息表写入上一个坏块的第一个好页中。

通过以上操作可以建立了一个关于坏块中好页的信息表,以后只要找到根节点就可以依次把所有的坏块中的Good Page找到。如果需要存贮系统的只读数据时,就从这个表中找到没有写的Page,往里面写创建出来的可使用的坏块页表。

以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

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