一种NandFlash坏块管理方法技术

技术编号:8323358 阅读:170 留言:0更新日期:2013-02-14 00:35
本发明专利技术公开一种NandFlash坏块管理方法,属于存储器领域,具体包括:进行初始坏块扫描,为扫描得到的坏块寻找替换块,并生成相应记录写入坏块替换区,待初始坏块扫描完成后创建位图表,根据所述坏块替换区中的记录进行位图标记,在操作过程中,当接收到块操作请求时根据位图中的标记判断块操作请求涉及的块是否为坏块,是则寻找其替换块并对其替换块进行操作,否则对当前块进行操作,若操作过程中出现坏块,则添加或修改坏块记录中的记录,并在位图表中增加对新出现的坏块进行的标记。其有益效果在于在占用内存不大的情况下支持大容量NandFlash芯片并且提高NandFlash芯片的访问速度。

【技术实现步骤摘要】

本专利技术属于存储器领域,特别涉及。
技术介绍
NandFlash是Flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NandFlash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。NandFlash存在在初次使用时就存在坏块的可能性,并且在使用过程中也会产生坏块,目前采用建立映射表的方法管理NandFlash的坏块。专利技术人在实现本专利技术的过程中发现,现有技术中至少存在以下缺陷直接建立映 射表的方法占用内存较大,且随着NandFlash容量的增加占用的内存容量也会成倍的增加。
技术实现思路
本专利技术的目的是为了克服现有技术的缺陷,提出。本专利技术方法是通过下述技术方案实现的,其基本实施过程如下步骤A、检查初始坏块扫描标志是否置位,是则执行步骤B,否则进行初始坏块扫描,为扫描得到的坏块寻找替换块,并生成相应记录写入坏块替换区,待初始坏块扫描完成后将所述初始坏块扫描标志置位,执行步骤B ;步骤B :创建位图表,将所述位图表中的全部数据位的值置为第一预设值,读取所述坏块替换区中的记录,根据所述记录将所述位图表中与各坏块对应的数据位的值置为第二预设值进行位图标记,待位图标记完成后等待接收块操作请求,当接收到块操作请求时执行步骤C;步骤C :通过检查所述位图表中与所述块操作请求涉及的块号相对应的标记判断所述块操作请求涉及的块是否为坏块,是则查找所述坏块替换区中与所述块操作请求涉及的块号相对应的记录,得到当前块的替换块,对所述替换块进行操作,执行步骤D,否则对当前块进行操作,执行步骤D ;步骤D :判断操作过程中是否出现新坏块,是则执行步骤E,否则提示操作成功,进程结束;步骤E :为所述新坏块寻找替换块,并生成相应记录写入坏块替换区,将所述位图表中与所述新坏块对应的数据位的值置为第二预设值,对所述新坏块的替换块进行操作,返回执行步骤D。其中,所述创建位图表具体为根据NandFlash中块的数量创建位图表,所述位图表中的bit数为NandFlash中块的数量的一倍或多倍。所述检查所述位图表中与所述块操作请求涉及的块号相对应的数据位的值是否为第一预设值之前包括判断所述块操作请求涉及的块号是否合法;相应地,若合法则检查所述位图表中与所述块操作请求涉及的块号相对应的数据位的值是否为第一预设值,若不合法则提示块号不合法,操作失败;其中,若所述NandFlash中包含所述操作请求涉及的块号则所述块号合法,若所述NandFlash中不包含所述操作请求涉及的块号则所述块号不合法。所述进行初始坏块扫描,为扫描得到的坏块寻找替换块,并生成相应记录写入坏块替换区,待扫描完成后将所述初始坏块扫描标志置位具体包括①定位到NandFlash的第一个块; ②判断当前块的OOB (Out of Band)区中是否有坏块标志,是则执行③,否则执行步骤⑥;③检查所述坏块替换区是否已满,是则提示坏块替换区已满,将NandFlash不可用标志置位,等待接收块操作请求,当接收到块操作请求时执行步骤C,否则执行④;④判断是否还有可用替换块,是则寻找当前可用替换块,执行,否则提示无可用替换块,将NandFlash不可用标志置位,等待接收块操作请求,当接收到块操作请求时执行步骤C ;⑤判断当前可用替换块的OOB区中是否有坏块标志,是则返回执行④,否则将当前块号和当前可用替换块块号作为一条记录写入所述坏块替换区,执行⑥;⑥判断是否还有未扫描的块,是则定位到下一个块,返回执行②,否则扫描完成,将所述初始坏块扫描标志置位;相应地,步骤C替换为检查所述NandFlash不可用标志是否置位,是则提示NandFlash不可用,操作失败,进程结束,否则通过检查所述位图表中与所述块操作请求涉及的块号相对应的标记判断所述块操作请求涉及的块是否为坏块,若是坏块则查找所述坏块替换区中与所述块操作请求涉及的块号相对应的记录,得到当前块的替换块,对所述替换块进行操作,执行步骤D,若不是坏块则对当前块进行操作,执行步骤D。所述通过检查所述位图表中与所述块操作请求涉及的块号相对应的标记判断所述块操作请求涉及的块是否为坏块具体为检查所述位图表中与所述块操作请求涉及的块号相对应的数据位的值是否为第一预设值,若是则所述块操作请求涉及的块不为坏块,若不是则所述块操作请求涉及的块为坏块。所述读取所述坏块替换区中的记录,根据所述记录将所述位图表中与坏块对应的数据位的值置为第二预设值进行位图标记具体包括①判断所述坏块替换区是否有未扫描的记录,是则执行②,否则位图标记完成;③读取当前记录中的坏块块号,将所述位图表中与所述坏块块号对应的数据位的值置为第二预设值,执行③;③判断所述坏块替换区中是否还有未扫描的记录,是则将当前记录的下一记录作为当前记录,返回执行②,否则位图标记完成。所述为所述新坏块寻找替换块,并生成相应记录写入坏块替换区具体包括①检查所述坏块替换区是否已满,是则提示坏块替换区已满,操作失败,否则执行②;③判断是否还有可用替换块,是则寻找当前可用替换块,执行③,否则提示无可用替换块,操作失败;③判断当前可用替换块的OOB区中是否有坏块标志,是则返回执行②,否则将新坏块块号和当前可用替换块块号作为一条记录写入所述坏块替换区。所述为所述新坏块寻找替换块,并生成相应记录写入坏块替换区之前包括判断所述新坏块是否为某坏块的替换块;相应地,若是则为所述新坏块寻找替换块,并修改所述坏块替换区中的相应记录,若不是则为所述新坏块寻找替换块,并生成相应记录写入坏块替换区。·所述为所述新坏块寻找替换块,并修改所述坏块替换区中的相应记录具体包括①判断是否还有可用替换块,是则寻找当前可用替换块,执行②,否则提示无可用替换块,操作失败;②判断当前可用替换块的OOB区中是否有坏块标志,是则返回执行①,否则将所述坏块替换区中与所述某坏块对应的记录中的替换块块号更新为当前可用替换块块号。本专利技术方法的有益效果在于智能化定位刻字区域,生产效率高,通用性较强,对光环境也有较强的适应性。附图说明为了更清楚的说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本法明实施例一提供的一种NandFlash坏块管理的方法流程图;图2为本专利技术实施例二提供的一种NandFlash坏块管理的方法中初始坏块扫描和位图创建及标记的方法流程图;图3为本专利技术实施例二提供的一种NandFlash坏块管理的方法中块操作以及位图更新的方法流程图;图4为本专利技术实施例三提供的一种NandFlash坏块管理的方法中块操作以及位图更新的方法流程图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实本文档来自技高网...

【技术保护点】
一种NandFlash坏块管理方法,其特征在于包括:步骤A、检查初始坏块扫描标志是否置位,是则执行步骤B,否则进行初始坏块扫描,为扫描得到的坏块寻找替换块,并生成相应记录写入坏块替换区,待初始坏块扫描完成后将所述初始坏块扫描标志置位,执行步骤B;步骤B:创建位图表,将所述位图表中的全部数据位的值置为第一预设值,读取所述坏块替换区中的记录,根据所述记录将所述位图表中与各坏块对应的数据位的值置为第二预设值进行位图标记,待位图标记完成后等待接收块操作请求,当接收到块操作请求时执行步骤C;步骤C:通过检查所述位图表中与所述块操作请求涉及的块号相对应的标记判断所述块操作请求涉及的块是否为坏块,是则查找所述坏块替换区中与所述块操作请求涉及的块号相对应的记录,得到当前块的替换块,对所述替换块进行操作,执行步骤D,否则对当前块进行操作,执行步骤D;步骤D:判断操作过程中是否出现新坏块,是则执行步骤E,否则提示操作成功,进程结束;步骤E:为所述新坏块寻找替换块,并生成相应记录写入坏块替换区,将所述位图表中与所述新坏块对应的数据位的值置为第二预设值,对所述新坏块的替换块进行操作,返回执行步骤D。

【技术特征摘要】
1.一种NandFlash坏块管理方法,其特征在于包括 步骤A、检查初始坏块扫描标志是否置位,是则执行步骤B,否则进行初始坏块扫描,为扫描得到的坏块寻找替换块,并生成相应记录写入坏块替换区,待初始坏块扫描完成后将所述初始坏块扫描标志置位,执行步骤B ; 步骤B :创建位图表,将所述位图表中的全部数据位的值置为第一预设值,读取所述坏块替换区中的记录,根据所述记录将所述位图表中与各坏块对应的数据位的值置为第二预设值进行位图标记,待位图标记完成后等待接收块操作请求,当接收到块操作请求时执行步骤C ; 步骤C :通过检查所述位图表中与所述块操作请求涉及的块号相对应的标记判断所述块操作请求涉及的块是否为坏块,是则查找所述坏块替换区中与所述块操作请求涉及的块号相对应的记录,得到当前块的替换块,对所述替换块进行操作,执行步骤D,否则对当前块进行操作,执行步骤D ; 步骤D :判断操作过程中是否出现新坏块,是则执行步骤E,否则提示操作成功,进程结束; 步骤E :为所述新坏块寻找替换块,并生成相应记录写入坏块替换区,将所述位图表中与所述新坏块对应的数据位的值置为第二预设值,对所述新坏块的替换块进行操作,返回执行步骤D。2.根据权利要求I所述的方法,其特征在于,所述创建位图表具体为 根据NandFlash中块的数量创建位图表,所述位图表中的bit数为NandFlash中块的数量的一倍或多倍。3.根据权利要求I所述的方法,其特征在于,所述检查所述位图表中与所述块操作请求涉及的块号相对应的数据位的值是否为第一预设值之前包括判断所述块操作请求涉及的块号是否合法; 相应地,若合法则检查所述位图表中与所述块操作请求涉及的块号相对应的数据位的值是否为第一预设值,若不合法则提示块号不合法,操作失败;其中,若所述NandFlash中包含所述操作请求涉及的块号则所述块号合法,若所述NandFlash中不包含所述操作请求涉及的块号则所述块号不合法。4.根据权利要求I所述的方法,其特征在于,所述进行初始坏块扫描,为扫描得到的坏块寻找替换块,并生成相应记录写入坏块替换区,待扫描完成后将所述初始坏块扫描标志置位具体包括 ①定位到NandFlash的第一个块; ②判断当前块的OOB(Out of Band)区中是否有坏块标志,是则执行③,否则执行步骤⑥; ③检查所述坏块替换区是否已满,是则提示坏块替换区已满,将NandFlash不可用标志置位,等待接收块操作请求,当接收到块操作请求时执行步骤C,否则执行④; ④判断是否还有可用替换块,是则寻找当前可用替换块,执行⑤,否则提示无可用替换块,将NandFlash不可用标志置位,等待接收块操作请求,当接收到块操作请求时执行步骤C ; ⑤判断当前可用替换块的OOB区中是否有坏块标志,是则返回执行④,否则将当...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

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

1