一种nand闪存缺陷的修复方法

文档序号:1393474 发布日期:2020-02-28 浏览:22次 >En<

阅读说明:本技术 一种nand闪存缺陷的修复方法 (Repair method for NAND flash memory defects ) 是由 张朝锋 宋炜哲 何少婷 席隆宇 于 2019-10-31 设计创作,主要内容包括:本发明公开了一种NAND闪存缺陷的修复方法,包括:测试NAND闪存器件找到包含缺陷的存储单元格的所有块和列,统计缺陷所在位置的数据行和数据列上的缺陷数目,按照缺陷数目对缺陷块以及缺陷列进行顺序排序;根据顺序排序的列表使用冗余来替换缺陷所在位置的数据行和数据列:使用冗余列将缺陷列进行修复,作为修复数据写入闪存使得替换生效;对缺陷块先使用虚拟冗余行将其替换,然后需要将该缺陷块对应的块的地址写入闪存,并将缺陷块标记为坏块。该方法使得NAND闪存的修复算法更加简洁,从而使得整个流程更加高效,提高了测试设备的产出。(The invention discloses a method for repairing NAND flash memory defects, which comprises the following steps: testing the NAND flash memory device to find all blocks and columns of the memory cells containing the defects, counting the number of the defects on the data rows and the data columns at the positions of the defects, and sequencing the defective blocks and the defective columns in sequence according to the number of the defects; the data rows and columns where the defects are located are replaced with redundancy according to the sequentially ordered list: repairing the defective column by using the redundant column, and writing the defective column into the flash memory as repair data so that the replacement is effective; the defective block is replaced by using the virtual redundant row, and then the address of the block corresponding to the defective block needs to be written into the flash memory, and the defective block is marked as a bad block. The method enables the repair algorithm of the NAND flash memory to be simpler, so that the whole process is more efficient, and the output of the test equipment is improved.)

一种NAND闪存缺陷的修复方法

技术领域

本发明涉及NAND闪存器件领域,特别涉及本发明涉及一种NAND闪存缺陷的修复方法。

背景技术

NAND闪存的缺陷主要有三种类型:行缺陷,列缺陷和散点缺陷。

对于行缺陷通常将行所对应的块标记为坏块;

对于列缺陷使用冗余列对其进行替换;

对于散点缺陷是本发明解决的主要问题,因为仅仅使用冗余列替换散点所在的列往往不能达到较好的测试结果,导致芯片过筛(即由于修复算法或测试条件不合理导致芯片测试失效),从而影响良率。

现有技术中,一种用于NAND闪存器件中的缺陷修复的方法和装置,公开号:CN105097045A,公开日:2015-11-25,能够较好的解决这个问题。如图1所示,首先根据缺陷所在的行统计每一行上的有缺陷的数目,计算当前块的块覆盖(块覆盖为要修复当前块同时被完全修复的块的个数),然后计算块权重(块权重=块覆盖/有缺陷的列的数目),如表1所示。然后按照冗余列的总数对块权重大的进行修复,块权重最大的会先修复,再次统计剩余的冗余列的数目,再次计算权重,最终在冗余用完的情况下其他的缺陷行标记为不可修,这些行对应的块标记为坏块。

表1权重法数据统计表

Figure BDA0002255568130000011

Figure BDA0002255568130000021

通常,NAND闪存只存在冗余列,冗余列作为缺陷修复的列,使用冗余列替换有缺陷的数据列,从而提高芯片的良率以及可靠性。但是,冗余列的数目不能太多,太多将浪费数据存储区域的面积。因此在设计过程中会根据NAND闪存的容量设计合理的冗余列。芯片容量随着摩尔定律的增加,NAND闪存在生产过程中的缺陷也随之增多,需要的冗余列的数目也随之增加。

上述提出的NAND闪存修复方法能够解决缺陷数较多、仅仅使用冗余列修复带来的低良率问题。但在缺陷数较多或一些极端的情况下,使用该方法修复时间较长,而且这种方法并不能保证使用的资源最少。

发明内容

为解决现有技术存在的问题,本发明提出一种NAND闪存缺陷的修复方法,该方法使得NAND闪存的修复算法更加简洁,从而使得整个流程更加高效,提高了测试设备的产出。

为实现上述目的,本发明采用以下技术手段:

一种NAND闪存缺陷的修复方法,所述方法为:

首先,所述方法包括虚拟冗余行,虚拟冗余行为可在行方向上替换行方向的缺陷;

其次,统计缺陷所在位置的数据行和数据列上的缺陷数目;

然后,将缺陷数目进行排序,得到排序列表,列表中包含缺陷块或者缺陷列的代号以及缺陷的个数;

最后,通过所述列表使用冗余来替换缺陷块和缺陷列。

可选的,所述方法包括以下步骤:

步骤S100:开始;

步骤S110:缺陷数判断;

所述步骤S110为判断总的缺陷数是否大于虚拟冗余行和冗余列能够修复的范围;

如果缺陷数大于能够修复的范围,则进行步骤S180;

如果缺陷数小于能够修复的范围,则进行步骤S120;

步骤S120缺陷统计;

步骤S130缺陷排序;

步骤S140列冗余判断;

步骤S150超过冗余列数目缺陷的处理;

步骤S160虚拟冗余行判断;

步骤S170可修;

步骤S180不可修;

判断总的缺陷数是否大于虚拟冗余行和冗余列能够修复的范围:

如是,则不可修复;如否,则判断为可修复,再进行修复。

可选的,所述步骤S110缺陷数判断中所述能修复的范围为:虚拟冗余行和冗余列的乘积。

可选的,所述步骤S110缺陷数判断中如果NAND闪存不存在缺陷,无需下述任何步骤,将芯片标记为修复完成芯片。

可选的,步骤S120缺陷统计为:按块和按列分别统计的缺陷数;所述块可理解为行。

可选的,所述统计的缺陷数为:在缺陷数相等的情况下,如果某个缺陷单元格既可以统计为行上的缺陷也可以统计为列上的缺陷,优先考虑统计为列上的缺陷。

可选的,被统计过的所述缺陷单元格在下次统计时不再计数。

可选的,所述被统计过的缺陷单元格在下次统计时不再计数为:

某个缺陷单元格被统计为某列上的缺陷,下次在统计该缺陷对应的行缺陷时,仅统计该行去掉该缺陷后其他的缺陷数;

某个缺陷被先统计为行上的缺陷,下次在统计该缺陷所在的列上的缺陷数时,仅统计去掉该缺陷后的该列其他的缺陷数。

可选的,所述步骤S120缺陷统计还包括:分别按块和按列得到的缺陷数再次进行统计:首先统计缺陷数最大的块或者列;然后去掉该块或者列上的缺陷;再次统计下次最大的块或者列;直到所有的缺陷数被统计完。

可选的,所述步骤S130缺陷排序为:仅按照缺陷数目的大小,对S120步骤统计后的块和列综合排序。

可选的,所述综合排序为不分块和列的优先级,缺陷数目最大的块或者列排在最前面,最先分配冗余,次最大的依次排列。

可选的,所述步骤S140列冗余判断为:判断有缺陷的列的数目是否超过总的冗余列。

可选的,所述步骤S150超过冗余列数目缺陷的处理为:将超过冗余列数目的缺陷的列统计为块缺陷。

可选的,所述步骤S160虚拟冗余行判断为:判断缺陷块的数目是否超过设定的虚拟冗余行;

如果缺陷块的数目超出设定的虚拟冗余行数目,进入步骤S180;

如果缺陷块的数目未超出设定的虚拟冗余行数目,进入步骤S170。

可选的,所述步骤S170可修为:标示芯片能够被所有的冗余修复,所有的冗余包括真实存在的列冗余和虚拟冗余行。

可选的,所述步骤S180不可修为:将芯片标示为不可修,并结束修复方法。

可选的,所述方法在步骤S170后还包括以下步骤:

步骤S200判断冗余列;

步骤S210块缺陷统计;

步骤S220块缺陷排序;

步骤S230冗余列修复行缺陷;

步骤S240行缺陷修复判断。

可选的,所述步骤S200判断冗余列为:

判断冗余列是否用完;

如果冗余列已经被用完,进行步骤S250;

如果还有剩余的冗余列,得到剩余的冗余列的数目。

可选的,所述剩余冗余列的数目=总冗余数目-已经使用的冗余列的数目。

可选的,所述步骤S210块缺陷统计为:

对已经得出的修复方案中被冗余行修复的那些块的缺陷数再次进行统计。

可选的,所述统计的过程中不包括已经被冗余列修复的缺陷。

可选的,所述步骤S220块缺陷排序为:

对能够使用剩余冗余列进行修复的那些块按照从小到大的排序进行排序;

对于缺陷数多于剩余冗余列的块保留,不对其进行排序以及后续步骤。

可选的,所述步骤S230冗余列修复行缺陷为:

使用剩余的冗余列修复缺陷数最少的行缺陷,如果能够被剩余的冗余列完全修复,该行缺陷将不再使用虚拟冗余行修复,释放该虚拟冗余行。

可选的,所述步骤S240行缺陷修复判断为:

从缺陷数最少的块开始,判断本块是否可以被剩余的冗余列进行完全替换;

如果本块中缺陷数多于剩余的冗余列的数目,进行到步骤S250。

与现有技术相比,本发明具有以下优点:

本发明提出的NAND闪存缺陷的修复方法通过提出虚拟冗余行的概念,统计缺陷所在位置的数据行和数据列上的缺陷数目,按照顺序排序,通过这个列表就可以使用冗余来替换这些缺陷块和缺陷列,NAND闪存阵列就可以根据缺陷的位置考虑使用合理的算法来分配冗余。该方法可以明显减少修复算法的次数,减少由于计算带来的测试时间,从而提高测试效率。现有技术(例如权重法)在以及比较极端的情况下需要

Figure BDA0002255568130000061

(n为有缺陷的块数)次才能够得到最终的修复结果,随着有缺陷的块数据递增。本发明的方法需要m+n(m为有缺陷的块数,n为有缺陷的列数)次能够得到合理的修复结果。如果m=n,在有缺陷的块数大于2时,本发明能够减少修复算法的次数,从而提出修复的效率。

本发明还提出优化的二次修复步骤,在修复结果的基础上,判断是否还有剩余的冗余列,最终使用虚拟冗余行替换的那些块最终需要将对应的块标记为坏块,这样对于部分芯片存在稍多的坏块,减少了数据存储区的容量,因此减少虚拟冗余行的使用可以进一步减少坏块的数目,从而增加有效的数据存储空间,能够减少坏块数目。

附图说明

图1为使用权重法修复的结果;

图2为NAND闪存阵列的示意图;

图3为虚拟冗余行的NAND闪存阵列示意图;

图4为NAND闪存修复流程图;

图5为NAND闪存缺陷二维图;

图6(a)-图6(f)为使用第一种方法修复NAND闪存中缺陷的结果状态图;

图7为NAND闪存二次优化修复流程图;

图8为使用第二种方法修复NAND闪存中缺陷的结果。

具体实施方式

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

本发明第一个目的提供一种NAND闪存缺陷的修复方法,该方法包括以下步骤:

首先,提出虚拟冗余行的概念,虚拟冗余行即假设在行方向上也有一些多余的行可以用来替换行方向的缺陷,这样NAND闪存阵列就可以根据缺陷的位置考虑使用合理的算法来分配冗余。

其次,统计缺陷所在位置的数据行和数据列上的缺陷数目,按照从高到低的顺序排序,如果缺陷数目相同,优先使用冗余列修复,这样能够保证最大化使用冗余列,当确定使用一条冗余行替换有缺陷的块后,应当去掉这些缺陷再对其他的缺陷进行统计,从而保证同一个缺陷不被重复修复的同时保证了修复的准确性。

然后,经过排序,会得到一组列表,列表中的每一项包含两个数据:缺陷块或者缺陷列的代号以及缺陷的个数。

最后,通过这个列表就可以使用冗余来替换这些缺陷块和缺陷列。最终使用冗余列对缺陷列进行修复,这种替换关系可以作为修复数据写入闪存使得替换生效;对于缺陷块,这里为了方便做修复分析,先使用虚拟冗余行将其替换,然后需要将该缺陷块对应的块的地址写入闪存,将这些缺陷块标记为坏块。

以下结合具体实施例和附图对本发明的方法内容进行详细说明。

实施例1

图2出示了本发明实施例的NAND闪存器件的概念布局。如图2所示,包含2048个块(block)以及2240个列(column),其中包含2112个数据列和128个冗余列。

NAND闪存器件中包括编号为0、1、2、3、…、2047的2048个数据块,每块包括64页。每页包括2240列,其中包括记录数据的2112个数据列和128个冗余列。每个数据列使用存储单元格是以字节为单位来存储数据的。本实施例公开的所有这些数据都是示例性的,不限于这些特定的值。

图3出示了增加虚拟冗余行的NAND闪存阵列示意图,包含2176个块(block,其中2048个数据块和128个冗余行),以及2240个列(column,包含2112个数据列和128个冗余列)。

参考图4,描述了用于根据本公开的实施例修复NAND闪存器件中的缺陷的方法。该方法具体包括以下步骤:

在步骤S110至S180中,为本公开的第一种方法,具体方法如下:

步骤S100开始:

S100中,测试NAND闪存器件找到包含缺陷的存储单元格的所有块和列,并且将有缺陷的存储单元格被标示为“X”,如图5所示形成缺陷二维图,单元格标示为“X”意味着该单元格对应的块和对应的数据列确定的位置存在有缺陷的存储单元格,有缺陷的单元格数目应当确定为至少有一个比特位。应当注意,为了简化描述,图5实例中出示了NAND闪存的简化器件,其中每个块(即图5中的行0-7)中只包括由从0到F的十六进制的编号的16个数据列和0到4编号的5个冗余列。

此外,测试应当包含冗余列,一旦冗余列中发现有缺陷的单元格,应当综合考虑后续排序的情况,如果后续当前的列排序分配为列修复,那么应当将此冗余列标记为不可用冗余列且在后续的过程中不被统计,即列修复时,有缺陷的冗余列不能被用来做列修复。

如果此冗余列中的缺陷被统计为块的缺陷,那么此冗余列仍可用于修复其他缺陷的列。

步骤S110缺陷数判断:

具体为:步骤S110中会判断总的缺陷数是否大于虚拟冗余行和冗余列能够修复的范围,如果缺陷数的总和大于两者(虚拟冗余行和冗余列)的乘积,则改方法将直接跳到步骤S180,此芯片被表示为不可修芯片。

除此之外,如果NAND闪存不存在缺陷,无需任何步骤,直接将芯片标记为修复完成芯片,并结束。

步骤S120缺陷统计:

具体为:在步骤S120中统计缺陷二维图得到按块(这里的块也可理解为行)和按列分别统计的缺陷数。应当注意,在缺陷数相等的情况下,如果某个缺陷单元格既可以统计为行上的缺陷也可以统计为列上的缺陷,应优先考虑统计为列上的缺陷。

被统计过的缺陷单元格在下次统计时不再计数,即一旦某个缺陷单元格被统计为某列上的缺陷,下次在统计该缺陷对应的行缺陷时,应仅统计该行去掉该缺陷后其他的缺陷数。

如果某个缺陷被先统计为行上的缺陷,在后面统计该缺陷所在的列上的缺陷数时,同样仅统计去掉该缺陷后的该列其他的缺陷数。

如图5所示,闪存器件中按块统计有7个块中有缺陷的单元格(如图中行0-行6),按列统计有9个列中有缺陷的单元格(如图中列0-列7、列9)。

按照块统计,

对于块0,其数据列0、1包含有缺陷的单元格;

对于块1,其数据列2、3和9包含有缺陷的单元格…。

按照列统计,

对于列0,其块0、3和5有缺陷的单元格,

对于列1,块0有缺陷的单元格…。

每个块中有缺陷的单元格的数目被出示在图5针对该块的右侧,每列中有缺陷的单元格的数目被出示在该列的下面。

按照步骤S120,将按照图5所得出的分别按块和按列得到的缺陷数再次进行统计:

首先统计缺陷数最大的块或者列;

然后去掉该块或者列上的缺陷;

再次统计下次最大的块或者列;

直到所有的缺陷数被统计完。

步骤S130缺陷排序:

具体为:在完成S120步骤的缺陷数统计后进行S130步骤的排序,仅按照缺陷数目的大小,对S120步骤统计后的块和列综合排序。

应当提出,综合排序即不分块和列的优先级,缺陷数目最大的块或者列排在最前面,最先分配冗余,次最大的依次排列。

表2为图5所示的NAND闪存缺陷按照综合排序后的统计表,表中的第一列标示出缺陷所在的位置属于块缺陷还是列缺陷,第二列为综合排序的缺陷数,第三列为应该使用那个冗余对其进行替换。

表2综合排序后修复统计表

缺陷所在位置 缺陷数 冗余位置
行3 4 冗余行0
列2 3 冗余列0
列0 2 冗余列1
行1 2 冗余行1
行4 2 冗余行2
列1 1 冗余列2

步骤S140列冗余判断:

返回图4,在步骤130完成后会进行到步骤S140,该步骤中会判断有缺陷的列的数目是否超过总的冗余列。

因此在之前的统计中按照列优先的方式进行,对于缺陷数为1会优先统计为列缺陷,因此如果缺陷数为1的列大于列冗余的数目,应将超出部分统计为块缺陷,并考虑使用虚拟冗余行替换这些缺陷。

步骤S150超过冗余列数目缺陷的处理:

具体为:超过冗余列数目的缺陷的列统计为块缺陷。

所以一旦统计中有缺陷的列的数目超过冗余列,该方法进行到S150,将超过冗余列的列缺陷统计为块缺陷。

应当注意,虚拟冗余行的数目也是有限制的,理论上为NAND闪存允许的最大的坏块数,因此将超出冗余列数目的列缺陷统计为块缺陷后需要判断缺陷块的数目是否超过设定的虚拟冗余行。

步骤S160虚拟冗余行判断:

即该方法进行到步骤S160,如果缺陷块的数目超出设定的虚拟冗余行数目,将直接进入步骤S180。

步骤S180不可修

将该芯片标示为不可修,并结束修复方法。如果步骤S160判断缺陷块的数目在虚拟冗余行的范围内,那么该方法将进行到步骤S170。

步骤S170可修

具体为:步骤S170会标示为该芯片能够被所有的冗余修复,所有的冗余包括真实存在的列冗余和虚拟冗余行。

使用冗余列按照从高到低的顺序替换缺陷列并使用虚拟冗余行按照从高到低的顺序替换缺陷块。

根据表2的统计以及排序结果,第一列标示出该缺陷为块缺陷还是列缺陷,块缺陷只能用虚拟冗余行进行替换,列缺陷只能使用冗余列进行替换,如果某缺陷列为冗余列,那么应当确定不能使用该冗余列替换数据列。

块缺陷不会为虚拟冗余行,因为这些块在实际测试过程中是是不会存在的,因此不会存在该类型的缺陷。

该步骤从冗余行0开始对缺陷块进行替换,同时从冗余列0开始对缺陷列进行替换,然后使用冗余行1替换下一个缺陷块,使用冗余列1替换下一个缺陷列…。

表2的第三列出示了该步骤的替换过程,并标出使用具体的冗余的位置。应当注意,在此情形中,缺陷列使用冗余列替换的对应关系作为最终的修复方案写入NAND闪存中,并在闪存再次重启后使这种替换真实生效。

除此之外使用冗余行替换的那些缺陷块最终标记成坏块,将坏块的地址写入NAND闪存中,并保证用户不会使用这些坏块。

为了能够更好地理解整个方法,下面将参考图6简要地描述以上实例的修复过程,“X”表示缺陷的单元格。

从以上步骤得出的表中,即对照表2以及表2第三列出示的该步骤的替换过程;行3、1、4分别有4、2、2个缺陷,最终使用虚拟冗余行0、1、2分别替换这三个块;列2、0、1分别有3、2、1个缺陷,最终使用冗余列0、1、2分别替换这三列。缺陷列使用冗余列替换的对应关系作为最终的修复方案写入NAND闪存中,并在闪存再次重启后使这种替换真实生效。使用冗余行替换的那些缺陷块最终标记成坏块,将坏块的地址写入NAND闪存中,并保证用户不会使用这些坏块。

按照第一种解决办法,能够保证总的修复资源最少。增加了虚拟冗余行,综合排序然后得到整体修复方案实际上是使用两个方向上的冗余资源每次修复尽可能多的缺陷。但是最终使用虚拟冗余行替换的那些块需要将对应的块标记为坏块,这样对于部分芯片存在稍多的坏块,减少了数据存储区的容量,因此减少虚拟冗余行的使用可以进一步减少坏块的数目,从而增加有效的数据存储空间。

为此,本申请第二个目的在第一个方法的基础上还提出第二种解决办法,能够减少坏块数目。该方法包括以下步骤:

首先,该方法在第一种解决办法得到的修复结果的基础上,判断是否还有剩余的冗余列,然后按照之前使用虚拟冗余行替换的块缺陷的数目进行统计,统计时应去掉使用冗余列替换的缺陷,避免重复计数。

然后,对于缺陷数不大于剩余冗余列的缺陷块按照缺陷数从小到大(使用虚拟冗余行替换的块缺陷数越少,将其标记为坏块就越浪费)的顺序进行排序。并从缺陷数目最少的块开始使用剩余的冗余列进行替换,替换后重新计算剩余的冗余列,如果剩余冗余列不为0,统计剩下的缺陷数不大于剩余冗余列的缺陷块并排序。

再次,使用剩余的冗余列修复缺陷数最小的块,如果该块不能被完全修复,结束;如果能够完全被剩余的冗余列修复,继续替换下一个缺陷数不大于剩余冗余列的缺陷块,直到剩余的冗余列为0、最少缺陷数的块不能被修复或是缺陷数不大于剩余冗余列的缺陷块被替换完毕。

最终使用冗余列将缺陷列进行修复,这种替换关系可以作为修复数据写入闪存使得替换生效;对于缺陷块,这里为了方便做修复分析,先使用虚拟冗余行将其替换,然后需要将该缺陷块对应的块的地址写入闪存,将这些缺陷块标记为坏块。

以下结合具体实施例和附图对本发明的方法内容进行详细说明。

实施例2

在步骤S110至S250中,为本公开的第二种方法。在经由以上介绍的方法得到了修复方案后,通过该方法减少块缺陷的数目,即尽量使用列冗余去替换块缺陷。

步骤S170开始

返回图7,在进行到步骤S170,已经得到了可用的修复方案,但是缺陷块的数目不是最少的,这样就会造成一些块被标记成坏块从而被浪费,该方法需要对第一种方法得到的结果进行优化。

步骤S200判断冗余列

首先,从步骤S170进行到S200,该步骤会判断冗余列是否用完,即判断剩余的冗余列的数目是否为0。

在此步骤中,如果冗余列已经被用完,那么说明第一种方法得到的修复结果无法继续优化,该流程直接进行到步骤S250,结束该流程;

如果还有剩余的冗余列,得到剩余的冗余列的数目,剩余冗余列的数目=总冗余数目-已经使用的冗余列的数目。

如表3第三列所示,应当确定,计算剩余冗余列的数目,是为了判断哪些冗余块能够被修复(缺陷块中缺陷数少于剩余冗余列的块可以被修复,多于剩余冗余列的缺陷块不可修复),从而减少优化次数。

表3优化修复缺陷统计表

缺陷所在的位置 缺陷数 剩余列冗余 是否可修
行1 2 2 可修
行4 2 2 可修
行3 3 2 不可修

表4优化修复冗余替换表

缺陷所在的位置 缺陷数 冗余位置
列3’ 1 冗余列3
列9’ 1 冗余列4
行4’ 2 冗余行1
行3’ 3 冗余行0

步骤S210块缺陷统计

然后该方法进行到步骤S210,该步骤对已经得出的修复方案中那些被冗余行修复的那些块的缺陷数再次进行统计。应当注意,因为已经得到的修复方案中被统计为块缺陷的块中在每次优化后缺陷数会有可能变化,会直接影响排序的结果。同时在统计的过程中去掉那些已经被冗余列修复的那些缺陷。

步骤S220块缺陷排序

该方法进行到步骤S220,对那些能够使用剩余冗余列进行修复的那些块按照从小到大的排序进行排序,对于那些缺陷数多于剩余冗余列的块应当首先保留,不对其进行排序以及后续的优化步骤。这里的排序应当注意,仅按照块缺陷中的缺陷数进行排序,如表4第二列所示,第一列出示了排序后的块的编号,通过这个编号可以知道那些块被剩余的冗余列完全替换,那些块没有被完全修复。

步骤S230冗余列修复行缺陷

该方法进行到步骤S230,该方法使用剩余的冗余列修复缺陷数最少的行缺陷,一旦能够被剩余的冗余列完全修复,该行缺陷将不再使用虚拟冗余行修复,应当释放该虚拟冗余行。

步骤S240行缺陷修复判断

最后进行步骤S240,从缺陷数最少的块开始,判断本块是否可以被剩余的冗余列进行完全替换,如果本块中缺陷数多于剩余的冗余列的数目,那么说明本缺陷块不能被剩余的冗余列完全修复,当结束该方法,进行到步骤S250。

如果该缺陷块中的缺陷数少于剩余的冗余列的数目,应当使用剩余冗余列首先替换该缺陷块中的所有缺陷,然后重新计算剩余的冗余列的数目,这里剩余冗余列的数目‘=剩余冗余列的数目-替换使用的剩余列的数目。计算剩余冗余列的数目’后,重复步骤S200到步骤S240,直到缺陷块不能被剩余冗余列完全替换或者剩余冗余列的数目为0为止。

为了能够理解本方法的详细步骤,图8简要地描述第二种方法的修复过程,“X”表示缺陷的单元格。

从以上步骤得出的表中,列2、0、1分别有3、3、1个缺陷,最终使用冗余列0、1、2分别替换这三列。

行3、1、4分别有4、2、2个缺陷,最终使用虚拟冗余行0、1、2分别替换这三个块;

剩余2个冗余列,将使用冗余行替换的缺陷再次统计,

行1、4、3分别有2、2、3个缺陷,将行3标为不可修,使用剩余的两个冗余列替换行1上的两个缺陷,即使用冗余列3替换列3上的缺陷,冗余列4替换列9上的缺陷。替换后剩余的冗余列为0,结束第二种方法的替换。

因此最终的修复结果为,列2、0、1、3、9分别使用冗余列0、1、2、3、4分别替换这五列,行4、3分别有2、3个缺陷,最终使用虚拟冗余行0、1分别替换这两个块。

相比第一种方法,第二种方法减少了1个坏块。有效增加了数据存储的面积。然后将缺陷列使用冗余列替换的对应关系作为最终的修复方案写入NAND闪存中,并在闪存再次重启后使这种替换真实生效。使用冗余行替换的那些缺陷块最终标记成坏块,将坏块的地址写入NAND闪存中,并保证用户不会使用这些坏块。

尽管以上结合附图对本发明的具体实施方案进行了描述,但本发明并不局限于上述的具体实施方案,上述的具体实施方案仅仅是示意性的、指导性的、而不是限制性的。本领域的普通技术人员在本说明书的启示下,在不脱离本发明的权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种测试NVRAM存储性能的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!