一种坏块表存放方法、装置以及与非门型非易失存储器的制造方法

文档序号:6517014阅读:303来源:国知局
一种坏块表存放方法、装置以及与非门型非易失存储器的制造方法
【专利摘要】本发明提供一种坏块表存放方法,包括主坏块表生成步骤:首次使用与非门型非易失存储器时,与非门型非易失存储器的驱动扫描与非门型非易失存储器上的坏块,并生成主坏块表;主坏块表写入步骤:将所述主坏块表写入与非门型非易失存储器的任意非坏块。本发明还提供一种坏块表存放装置,包括:主坏块表生成模块和主坏块表写入模块。本发明还提供一种与非门型非易失存储器,其将本发明所提出的坏块表存放装置运用其中。本发明通过将主坏块表保存在非坏块上,大大降低了因坏块表无法读取导致与非门型非易失存储器无法使用的概率,同时又保存一份从坏块表,主坏块表无法读取,可通过从坏块表恢复一份新的主坏块表,保证与非门型非易失存储器的正常使用。
【专利说明】一种坏块表存放方法、装置以及与非门型非易失存储器
【【技术领域】】
[0001]本发明涉及半导体【技术领域】,特别涉及一种坏块表存放方法、装置以及与非门型非易失存储器。
【【背景技术】】
[0002]与非门型非易失存储器(亦称:NAND闪存或NAND芯片,以下简称NAND芯片)是一种比硬盘驱动器更好的存储器件,其阵列分为一系列128kB的块,这些块是NAND芯片中最小的可擦除实体。
[0003]现有的多层单元与非门型非易失存储器(亦称:MLC NAND闪存,以下简称MLCNAND闪存;MLC英文全称Mult1-Level Cell,中文名称为:多层单元)在出厂和使用过程中,坏块(由于使用过程中不断的写操作或工艺缺陷导致)是MLC NAND闪存无法从生产和硬件上解决的一道难题,而且随着容量的增加,问题越来越严重。一方面要求提高NAND芯片控制接口端的硬件校验能力,另一方面对软件的设计也提出更大的挑战。这些坏块在使用中不应该影响到其他好块的使用,所以在MLC NAND闪存的驱动上,会设计一个机制用来标识、隔离这些坏块。这种机制靠的是MLC NAND闪存在初次使用时扫描出厂坏块并建立坏块表(英文全称:Bad Blocks Table,以下简称BBT,所述坏块表内记录有坏块的位置信息)存储回NAND芯片中,以后每次使用该NAND芯片时驱动都会根据BBT所标明的信息来避开这些坏块。使用过程中若有出现新的坏块,也会更新该BBT并写回NAND芯片。因此,BBT的存放方法是否安全可靠是NAND芯片能否正常使用的关键所在。

【发明内容】

[0004]本发明要解决的技术问题之一,在于提供一种坏块表存放方法,其使得NAND芯片不会因为无法读取坏块表而无法正常使用。
[0005]本发明的问题之一,是这样实现的:
[0006]一种坏块表存放方法,包括如下步骤:
[0007]主BBT生成步骤:首次使用NAND芯片时,NAND芯片的驱动扫描NAND芯片上的坏块,并生成主BBT ;
[0008]主BBT写入步骤:将所述主BBT写入NAND芯片的任意非坏块,所述非坏块由NAND芯片厂家在出厂NAND芯片时提供。
[0009]进一步地,所述BBT存放方法还包括如下步骤:
[0010]从BBT生成步骤:记录所述主BBT写入的非坏块所在的位置,并生成一从BBT,所述从BBT由主BBT复制而成并标记为从BBT ;
[0011]从BBT写入步骤:将所述从BBT写入NAND芯片上的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若NAND芯片上除所述非坏块外的各个块均无法写入,则判定该NAND芯片不可用。[0012]进一步地,所述主BBT写入步骤中,非坏块的位置通过查询NAND芯片的数据手册获得。
[0013]进一步地,在所述主BBT生成步骤之前,在所述NAND芯片上划分出用于存放BBT的存储区域,所述存储区域包括复数个NAND芯片上的块;然后执行所述主BBT生成步骤、主BBT写入步骤、从BBT生成步骤以及从BBT写入步骤。
[0014]进一步地,在执行所述从BBT写入步骤时,将所述从BBT写入所述存储区域内的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取所述存储区域内的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若所述存储区域内的各个块均无法写入,则判定该NAND芯片不可用。
[0015]进一步地,后续读取主BBT,若无法读取,则使用从BBT恢复主BBT,生成新的主BBT,并将新主BBT写入所述NAND芯片上的任意一个块上,若无法写入,选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放新主BBT的块的位置;若读取主BBT成功,则将BBT内坏块信息保存至内存中。
[0016]进一步地,在使用NAND芯片过程中,若发现新的坏块,则将新的坏块信息保存至内存中,待更新内存时,将内存中所有的坏块信息回写到主BBT和从BBT中,若主BBT已无法读取,则将内存中所有的坏块信息回写到新主BBT和从BBT中。
[0017]本发明要解决的技术问题之二,在于提供一种坏块表存放装置,其使得NAND芯片不会因为无法读取坏块表而无法正常使用。
[0018]本发明的问题之二,是这样实现的:
[0019]一种坏块表存放装置,包括:
[0020]主BBT生成模块:用于首次使用NAND芯片时,NAND芯片的驱动扫描NAND芯片上的坏块,并生成主BBT ;
[0021]主BBT写入模块:用于将所述主BBT写入NAND芯片的任意非坏块,所述非坏块由NAND芯片厂家在出厂NAND芯片时提供。
[0022]进一步地,所述BBT存放装置还包括如下模块:
[0023]从BBT生成模块:用于记录所述主BBT写入的非坏块所在的位置,并生成一从BBT,所述从BBT由主BBT复制而成并标记为从BBT ;
[0024]从BBT写入模块:用于将所述从BBT写入NAND芯片上的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若NAND芯片上除所述非坏块外的各个块均无法写入,则判定该NAND芯片不可用。
[0025]进一步地,所述主BBT写入模块将所述主BBT写入NAND芯片的任意非坏块时,所述非坏块的位置通过查询NAND芯片的数据手册获得。
[0026]进一步地,还包括BBT存储区域划分模块:用于在所述NAND芯片上划分出存放BBT的存储区域,所述存储区域包括复数个NAND芯片上的块。
[0027]进一步地,所述从BBT写入模块,用于将所述从BBT写入所述存储区域内的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取所述存储区域内的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若所述存储区域内的各个块均无法写入,则判定该NAND芯片不可用。[0028]进一步地,还包括BBT读取模块:用于后续读取主BBT,若无法读取,则使用从BBT恢复主BBT,生成新的主BBT,并将新主BBT写入所述NAND芯片上的任意一个块上,若无法写入,选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放新主BBT的块的位置;若系统读取主BBT成功,则将BBT内坏块信息保存至内存中,
[0029]进一步地,还包括BBT更新写入模块:用于在使用NAND芯片过程中,若发现新的坏块,则将新的坏块的信息保存至内存中,待更新内存时,将内存中所有的坏块信息回写到主BBT和从BBT中,若主BBT已无法读取,则将内存中所有的坏块信息回写到新主BBT和从BBT 中。
[0030]本发明还提供了一种非门型非易失存储器,该NAND芯片包含了坏块表存放装置。
[0031]本发明具有如下优点:通过将主BBT保存在非坏块上,大大降低了因BBT无法读取导致NAND芯片无法使用的概率,提高NAND芯片的使用率,同时又在NAND芯片上保存一份从BBT,即使主BBT无法读取,亦可通过从BBT恢复一份新的主BBT,当需要更新坏块信息时,主BBT或新主BBT和从BBT同时更新,更进一步提高BBT文件的可靠性,从而保证NAND芯片的正常使用。
【【专利附图】

【附图说明】】
[0032]下面参照附图结合实施例对本发明作进一步的说明。
[0033]图1为本发明一种坏块表存放方法的流程图。
[0034]图2为本发明一种坏块表存放装置的结构示意图。
【【具体实施方式】】
[0035]请参阅图1,一种坏块表(英文全称:Bad Blocks Table,以下简称BBT)存放方法,包括如下步骤:
[0036]主BBT生成步骤:首次使用与非门型非易失存储器(以下简称NAND芯片)时,NAND芯片的驱动扫描NAND芯片上的坏块,并生成主BBT ;
[0037]主BBT写入步骤:将所述主BBT写入NAND芯片的任意非坏块,所述非坏块由NAND芯片厂家在出厂NAND芯片时提供。非坏块的位置通过查询NAND芯片的数据手册获得。有的NAND芯片厂家保证第一块是非坏块,有的NAND芯片厂家保证最后一块是非坏块,位置不确定,由于芯片厂家保证的非坏块仅能保证在出厂时100%是非坏块,并不能保证在以后的使用中一直都是非坏块,因此,本实施例中采用主BBT和从BBT相互配合使用,进一步降低NAND芯片的驱动无法读取BBT的概率,具体如下:
[0038]所述BBT存放方法还包括如下步骤:
[0039]从BBT生成步骤:记录所述主BBT写入的非坏块所在的位置,并生成一从BBT,所述从BBT由主BBT复制而成并标记为从BBT ;
[0040]从BBT写入步骤:将所述从BBT写入NAND芯片上的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若NAND芯片上除所述非坏块外的各个块均无法写入,则判定该NAND芯片不可用。
[0041 ] 后续读取主BBT,若无法读取,则使用从BBT恢复主BBT,生成新的主BBT,并将新主BBT写入所述NAND芯片上的任意一个块上,若无法写入,选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放新主BBT的块的位置;若读取主BBT成功,则将BBT内坏块信息保存至内存中。
[0042]在使用NAND芯片过程中,若发现新的坏块,则将新的坏块信息保存至内存中,待更新内存时,将内存中所有的坏块信息回写到主BBT和从BBT中,若主BBT已无法读取,则将内存中所有的坏块信息回写到新主BBT和从BBT中。
[0043]以三星的,型号为K9GAG08U0F的一款NAND芯片为例,根据芯片数据手册上描述的,其出厂非坏块是第O块,于是在首次启动使用这个NAND芯片的时候,扫描NAND芯片并生成主BBT,将其写入第O块,此次写入必然成功。同时生成从BBT,尝试将其写入其他块,这里使用第I块,写入成功的话则结束,不成功则选下一个块(这里选择第2块)并尝试写入,成功则结束,不成功则继续前面“选择其他块并尝试写入的流程”,直至写入成功或所有预先定义的区域(即第二实施例中划分的存储区域)都无法写入,若写入成功而结束,则可以继续使用这个NAND芯片,否则判定NAND芯片不可用。
[0044]本发明坏块表存放方法的第二实施例是:
[0045]在所述主BBT生成步骤之前,在所述NAND芯片上划分出用于存放BBT的存储区域,所述存储区域包括复数个NAND芯片上的块,所述BBT包含主BBT和从BBT,然后执行所述主BBT生成步骤、从BBT生成步骤、从BBT生成步骤以及从BBT写入步骤,具体如下:
[0046]所述主BBT生成步骤:首次使用NAND芯片时,NAND芯片的驱动扫描NAND芯片上的坏块,并生成主BBT ;
[0047]所述主BBT写入步骤:将所述主BBT写入NAND芯片的任意非坏块,所述非坏块由NAND芯片厂家在出厂NAND芯片时提供;
[0048]从BBT生成步骤:记录所述主BBT写入的非坏块所在的位置,并生成一从BBT,所述从BBT由主BBT复制而成并标记为从BBT ;
[0049]从BBT写入步骤:将所述从BBT写入所述存储区域内的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取所述存储区域内的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若所述存储区域内的各个块均无法写入,则判定该NAND芯片不可用。
[0050]在NAND芯片上划分用于存放BBT的存储区域,目的是提高存放效率,降低系统开销。
[0051]下面以在NAND芯片上划分八个块作为BBT的存储区域为例:
[0052]先将从BBT存放在存储区域中的一个块,如果该块是坏的,则从存储区域内选取另外一个块进行存放,若还是坏的,则继续选取存储区域内的其他块进行存放,若八个块都是坏的的,则放弃使用该芯片,必须做芯片更换操作,这样相当于存放BBT的存储区域实际占用了 8个块,但相对于NAND芯片上千各块来说,这还是可以忽略的,使用此方法可以将NAND芯片无法使用的概率降到极低。以单个块成为坏块的概率为0.1为例,出现故障的概率可以降低到0.00000001,对NAND芯片来说完全是可以接受的。
[0053]需要说明的是,在本实施例中,使用NAND芯片的系统,该系统仅将NAND芯片用于数据存储,并不作为系统启动代码的存放器件。
[0054]本发明大大降低了因BBT无法读取导致NAND芯片无法使用的概率,提高NAND芯片的使用率。
[0055]请参阅图2,本发明的一种坏块表(英文全称:Bad Blocks Table,以下简称BBT)存放装置,该装置包括:
[0056]主BBT生成模块:用于首次使用与非门型非易失存储器(以下简称NAND芯片)时,NAND芯片的驱动扫描NAND芯片上的坏块,并生成主BBT ;
[0057]主BBT写入模块:用于将所述主BBT写入NAND芯片的任意非坏块,所述非坏块由NAND芯片厂家在出厂NAND芯片时提供。所述非坏块的位置一般通过查询NAND芯片的数据手册获得。
[0058]更优地,所述BBT存放装置还包括如下模块:
[0059]从BBT生成模块:用于记录所述主BBT写入的非坏块所在的位置,并生成一从BBT,所述从BBT由主BBT复制而成并标记为从BBT ;
[0060]从BBT写入模块:用于将所述从BBT写入NAND芯片上的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若NAND芯片上除所述非坏块外的各个块均无法写入,则判定该NAND芯片不可用;
[0061]BBT读取模块:用于后续读取主BBT,若无法读取,则使用从BBT恢复主BBT,生成新的主BBT,并将新主BBT写入所述NAND芯片上的任意一个块上,若无法写入,选取NAND芯片上的另一个块进行写入,直至写入成功,记录存放新主BBT的块的位置;若系统读取主BBT成功,则将BBT内坏块信息保存至内存中;BBT读取模块一般是在启动(除首次启动)时,通过BBT读取模块读取主BBTJfS BBT的内容读至内存中;
[0062]BBT更新写入模块:用于在使用NAND芯片过程中,若发现新的坏块,则将新的坏块的信息保存至内存中,待更新内存时,将内存中所有的坏块信息回写到主BBT和从BBT中,若主BBT已无法读取,则将内存中所有的坏块信息回写到新主BBT和从BBT中。
[0063]本发明坏块表存放装置的另一实施例是:
[0064]所述坏块表存放装置包括所述主BBT生成模块、主BBT写入模块、从BBT生成模块、从BBT写入模块,还包括BBT存储区域划分模块:用于在所述NAND芯片上划分出存放BBT的存储区域,所述存储区域包括复数个NAND芯片上的块;
[0065]所述从BBT写入模块具体为:用于将所述从BBT写入所述存储区域内的任意一个块,若写入成功,则记录存放从BBT的块的位置,若写入失败,则选取所述存储区域内的另一个块进行写入,直至写入成功,记录存放从BBT的块的位置,若所述存储区域内的各个块均无法写入,则判定该NAND芯片不可用。
[0066]—种与非门型非易失存储器,该与非门型非易失存储器是将本发明实施方式所提出的坏块表存放装置运用于所述的与非门型非易失存储器中。
[0067]本发明坏块表存放方法、装置以及与非门型非易失存储器能够大大降低了因坏块表无法读取导致与非门型非易失存储器无法使用的概率,提高与非门型非易失存储器的使用率。
[0068]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种坏块表存放方法,其特征在于,包括如下步骤: 主坏块表生成步骤:首次使用与非门型非易失存储器时,与非门型非易失存储器的驱动扫描与非门型非易失存储器上的坏块,并生成主坏块表; 主坏块表写入步骤:将所述主坏块表写入与非门型非易失存储器的任意非坏块,所述非坏块由与非门型非易失存储器厂家在出厂与非门型非易失存储器时提供。
2.根据权利要求1所述的一种坏块表存放方法,其特征在于:还包括如下步骤: 从坏块表生成步骤:记录所述主坏块表写入的非坏块所在的位置,并生成一从坏块表,所述从坏块表由主坏块表复制而成并标记为从坏块表; 从坏块表写入步骤:将所述从坏块表写入与非门型非易失存储器上的任意一个块,若写入成功,则记录存放从坏块表的块的位置,若写入失败,则选取与非门型非易失存储器上的另一个块进行写入,直至写入成功,记录存放从坏块表的块的位置,若与非门型非易失存储器上除所述非坏块外的各个块均无法写入,则判定该与非门型非易失存储器不可用。
3.根据权利要求1所述的一种坏块表存放方法,其特征在于:所述主坏块表写入步骤中,非坏块的位置通过查询与非门型非易失存储器的数据手册获得。
4.根据权利要求2所述的一种坏块表存放方法,其特征在于:在所述主坏块表生成步骤之前,在所述与非门型非易失存储器上划分出用于存放坏块表的存储区域,所述存储区域包括复数个与非门型非易失存储器上的块;然后执行所述主坏块表生成步骤、主坏块表写入步骤、从坏块表生成步骤以及从坏块表写入步骤。
5.根据权利要求4所述的一种坏块表存放方法,其特征在于:在执行所述从坏块表写入步骤时,将所述从坏块表写入所述存储区域内的任意一个块,若写入成功,则记录存放从坏块表的块的位置,若写入失败,则选取所述存储区域内的另一个块进行写入,直至写入成功,记录存放从坏块表的块的位置,若所述存储区域内的各个块均无法写入,则判定该与非门型非易失存储器不可用。
6.根据权利要求2所述一种坏块表存放方法,其特征在于:后续读取主坏块表,若无法读取,则使用从坏块表恢复主坏块表,生成新的主坏块表,并将新主坏块表写入所述与非门型非易失存储器上的任意一个块上,若无法写入,选取与非门型非易失存储器上的另一个块进行写入,直至写入成功,记录存放新主坏块表的块的位置;若读取主坏块表成功,则将坏块表内坏块信息保存至内存中。
7.根据权利要求2所述一种坏块表存放方法,其特征在于:在使用与非门型非易失存储器过程中,若发现新的坏块,则将新的坏块信息保存至内存中,待更新内存时,将内存中所有的坏块信息回写到主坏块表和从坏块表中,若主坏块表已无法读取,则将内存中所有的坏块信息回写到新主坏块表和从坏块表中。
8.—种坏块表存放装置,其特征在于:包括: 主坏块表生成模块:用于首次使用与非门型非易失存储器时,与非门型非易失存储器的驱动扫描与非门型非易失存储器上的坏块,并生成主坏块表; 主坏块表写入模块:用于将所述主坏块表写入与非门型非易失存储器的任意非坏块,所述非坏块由与非门型非易失存储器厂家在出厂与非门型非易失存储器时提供。
9.根据权利要求8所述的一种坏块表存放装置,其特征在于:还包括如下模块: 从坏块表生成模块:用于记录所述主坏块表写入的非坏块所在的位置,并生成一从坏块表,所述从坏块表由主坏块表复制而成并标记为从坏块表; 从坏块表写入模块:用于将所述从坏块表写入与非门型非易失存储器上的任意一个块,若写入成功,则记录存放从坏块表的块的位置,若写入失败,则选取与非门型非易失存储器上的另一个块进行写入,直至写入成功,记录存放从坏块表的块的位置,若与非门型非易失存储器上除所述非坏块外的各个块均无法写入,则判定该与非门型非易失存储器不可用。
10.根据权利要求8所述的一种坏块表存放装置,其特征在于:所述主坏块表写入模块将所述主坏块表写入与非门型非易失存储器的任意非坏块时,所述非坏块的位置通过查询与非门型非易失存储器的数据手册获得。
11.根据权利要求9所述的一种坏块表存放装置,其特征在于:还包括坏块表存储区域划分模块:用于在所述与非门型非易失存储器上划分出存放坏块表的存储区域,所述存储区域包括复数个与非门型非易失存储器上的块。
12.根据权利要求11所述的一种坏块表存放装置,其特征在于:所述从坏块表写入模块,用于将所述从坏块表写入所述存储区域内的任意一个块,若写入成功,则记录存放从坏块表的块的位置,若写入失败,则选取所述存储区域内的另一个块进行写入,直至写入成功,记录存放从坏块表的块的位置,若所述存储区域内的各个块均无法写入,则判定该与非门型非易失存储器不可用。
13.根据权利要求8所述一种坏块表存放装置,其特征在于:还包括坏块表读取模块:用于后续读取主坏块表,若无法读取,则使用从坏块表恢复主坏块表,生成新的主坏块表,并将新主坏块表写入所述与非门型非易失存储器上的任意一个块上,若无法写入,选取与非门型非易失 存储器上的另一个块进行写入,直至写入成功,记录存放新主坏块表的块的位置;若系统读取主坏块表成功,则将坏块表内坏块信息保存至内存中。
14.根据权利要求8所述一种坏块表存放装置,其特征在于:还包括坏块表更新写入模块:用于在使用与非门型非易失存储器过程中,若发现新的坏块,则将新的坏块的信息保存至内存中,待更新内存时,将内存中所有的坏块信息回写到主坏块表和从坏块表中,若主坏块表已无法读取,则将内存中所有的坏块信息回写到新主坏块表和从坏块表中。
15.—种与非门型非易失存储器,其特征在于:包括,如权利要求8至14任一权利要求所述的存放装置。
【文档编号】G06F12/06GK103593303SQ201310522841
【公开日】2014年2月19日 申请日期:2013年10月29日 优先权日:2013年10月29日
【发明者】郑远, 喻呈东 申请人:福建星网视易信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1