提高存储器可靠性的方法以及闪存操作方法

文档序号:6739203阅读:206来源:国知局
专利名称:提高存储器可靠性的方法以及闪存操作方法
技术领域
本发明涉及半导体制造领域,更具体地说,本发明涉及一种提高存储器可靠性的方法以及采用了该提高存储器可靠性的方法的闪存操作方法。
背景技术
半导体存储器件(例如闪存)不断地朝着高集成度和高容量存储单元的方向发展。在闪存设计中,通常采用各种错误检查及纠正修复方法来提高闪存芯片的成品率。在现有的闪存错误检查及纠正修复方法中,有时候仅仅能够进行错误检查,而不 能及时地进行错误纠正修复;或者,虽然有些方法能够进行错误纠正修复,但是其错误检查能力有限,而错误纠正修复只能纠正那些有限的能够检查出来的错误,从而也造成了闪存的成品率的下降。从而,现有的闪存错误检查及纠正修复方法很难使得嵌入式闪存满足PPM (BP,一百万个元器件里的失效率)的规范要求。因此,希望能够提供一种系统性的提高存储器可靠性的方法。

发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种提高存储器可靠性的方法以及采用了该提高存储器可靠性的方法的闪存操作方法。根据本发明的第一方面,提供了一种提高存储器可靠性的方法,其包括记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区;利用校验和纠错码对存储器的扇区进行读取或编程;判断当前打算读取或编程的扇区的扇区地址是否是被记录的坏扇区地址;如果当前打算读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对用于替换与被记录的坏扇区地址所对应的坏扇区的冗余扇区进行读取或编程。优选地,所述提高存储器可靠性的方法还包括如果当前打算读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对当前读取或编程的扇区进行读取或编程。根据本发明的第一方面,提供了一种提高存储器可靠性的方法,其包括记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区;对存储器的扇区进行擦除;判断当前打算擦除的扇区的扇区地址是否是被记录的坏扇区地址;如果当前打算擦除的扇区的扇区地址是被记录的坏扇区地址,则对用于替换所述坏扇区的冗余扇区进行擦除。优选地,所述提高存储器可靠性的方法还包括在对用于替换所述坏扇区的冗余扇区进行擦除之后,利用校验和纠错码对所述冗余扇区进行读取检测,并且在所述读取检测没有通过的情况下判断存储器功能失效。优选地,所述提高存储器可靠性的方法还包括如果当前打算擦除的扇区的扇区地址不是被记录的坏扇区地址,则对当前打算擦除的扇区进行擦除,并且利用校验和纠错码对当前打算擦除的扇区进行读取检测。优选地,所述提高存储器可靠性的方法还包括在所述取检测未通过的情况下判断当前打算擦除的扇区的扇区地址是否是已经记录的坏扇区地址。优选地,所述提高存储器可靠性的方法还包括如果判断当前打算擦除的扇区的扇区地址是已经记录的坏扇区地址,则判断存储器功能失效。优选地,所述提高存储器可靠性的方法还包括如果判断当前打算擦除的扇区的扇区地址不是已经记录的坏扇区地址,则将当前打算擦除的扇区的扇区地址记录为坏扇区地址。优选地,所述存储器是嵌入式闪存。根据本发明的第三方面,提供了一种采用了根据本发明的第一方面的提高存储器可靠性的方法的闪存操作方法。


结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中图I示意性地示出了根据本发明实施例的提高存储器可靠性的方法。图2示意性地示出了根据本发明另一实施例的提高存储器可靠性的方法。需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施例方式为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。<第一实施例>根据本发明第一实施例的提高存储器可靠性的方法包括记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区;利用校验和纠错码对存储器的扇区进行读取或编程;判断当前读取或编程的扇区的扇区地址是否是被记录的坏扇区地址;如果当前打算读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对用于替换与被记录的坏扇区地址所对应的坏扇区的冗余扇区进行读取或编程;另一方面,如果当前打算读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对当前读取或编程的扇区进行读取或编程。具体地说,图I示意性地示出了根据本发明第一实施例的提高存储器可靠性的方法。其中,图I所示的提高存储器可靠性的方法主要针对存储器的读取操作或编程操作。如图I所示,在根据本发明实施例的提高存储器可靠性的方法中首先,在步骤SSl中开始操作;此后,在步骤SS2中,将坏扇区地址AddN (N=l, 2. . . m)从非易失性存储器中载入寄存器。具体地说,对于已知的坏扇区,将这些坏扇区的具体地址记录在寄存器中,以便后续步骤使用。进一步地,在步骤SS2中,还可以将坏扇区的具体地址与替换该坏扇区的冗余扇区的冗余扇区地址对应存储在寄存器中,以便后续使用。此后,在步骤SS3中,利用校验和纠错码(ECC,Error Correcting Code)对扇区地址Al进行读取或编程。
此后,在步骤SS4中,判断Al=AddN是否成立。即,判断当前读取或编程的扇区地址Al是否存在于存储了坏扇区地址AddN (N=l, 2. ..m)的寄存器中。如果步骤SS4的判定结果为否定的(即扇区地址Al不存在于存储了坏扇区地址AddN (N=l,2. ..m)的寄存器中),则在步骤SS5中,对扇区地址Al进行读取或编程。实际上,如果步骤SS4的判定结果为否定的,则判断扇区地址Al所对应的扇区是好的扇区,则可以对扇区地址Al进行读取或编程。在步骤SS5之后,程序回到步骤SS3,此时可以进一步利用校验和纠错码对另一个扇区地址进行读取或编程。另一方面,如果步骤SS4的判定结果为肯定的(即扇区地址Al存在于存 储了坏扇区地址AddN(N=l,2. . . m)的寄存器中),则在步骤SS6中,对与扇区地址Al对应的冗余扇区地址Adl进行读取或编程。也就是说,如果步骤SS4的判定结果为否定的,则判断扇区地址Al所对应的扇区是坏的扇区,则可以在寄存器中查找替换该坏扇区的冗余扇区的冗余扇区地址,由此利用该冗余扇区来替换该坏扇区。在步骤SS6之后,程序回到步骤SS3,此时可以进一步利用校验和纠错码对另一个扇区地址进行读取或编程。优选地,图I的上述提高存储器可靠性的方法适用于闪存的操作,尤其是嵌入式闪存的操作,并且特别有利于非易失性闪存的操作控制。<第二实施例>根据本发明第二实施例的提高存储器可靠性的方法包括记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区;对存储器的扇区进行擦除;判断当前打算擦除的扇区的扇区地址是否是被记录的坏扇区地址;如果当前打算擦除的扇区的扇区地址是被记录的坏扇区地址,则对用于替换所述坏扇区的冗余扇区进行擦除;在对用于替换所述坏扇区的冗余扇区进行擦除之后,利用校验和纠错码对所述冗余扇区进行读取检测,并且在所述读取检测没有通过的情况下判断存储器功能失效。如果当前打算擦除的扇区的扇区地址不是被记录的坏扇区地址,则对当前打算擦除的扇区进行擦除,并且利用校验和纠错码对当前打算擦除的扇区进行读取检测。在所述取检测未通过的情况下判断当前打算擦除的扇区的扇区地址是否是已经记录的坏扇区地址。如果判断当前打算擦除的扇区的扇区地址是已经记录的坏扇区地址,则判断存储器功能失效。如果判断当前打算擦除的扇区的扇区地址不是已经记录的坏扇区地址,则将当前打算擦除的扇区的扇区地址记录为坏扇区地址。图2示意性地示出了根据本发明第二实施例的提高存储器可靠性的方法。其中,图2所示的提高存储器可靠性的方法主要针对存储器的擦除操作。如图2所示,在根据本发明实施例的提高存储器可靠性的方法中首先,在步骤SI中开始操作;此后,在步骤S2中,将坏扇区地址AddN (N=l,2. ..m)从非易失性存储器中载入寄存器。具体地说,对于已经检测出来的已知坏扇区,将这些坏扇区的具体地址记录在寄存器中,以便后续步骤使用。进一步地,在步骤S2中,还可以将坏扇区的具体地址与替换该坏扇区的冗余扇区的冗余扇区地址对应存储在寄存器中,以便后续使用。此后,在步骤S3中,对扇区地址Al进行擦除。具体地说,对扇区地址Al所对应的扇区进行擦除。此后,在步骤S4中,判断Al=AddN是否成立。即,判断当前读取或编程的扇区地址Al是否存在于存储了坏扇区地址AddN (N=l, 2. ..m)的寄存器中。如果步骤S4的判定结果为肯定的(即扇区地址Al存在于存储了坏扇区地址AddN(N=l,2... m)的寄存器中,也就是说,判断扇区地址Al所对应的扇区是坏的扇区),则在步骤S5中,对与扇区地址Al对应的冗余扇区地址Adl进行擦除。在步骤S5之后执行步骤S7,其中利用利用校验和纠错码ECC对该冗余扇区进行读取检测。此后,在步骤S12中,判断步骤S7的检测是否通过。 如果步骤S12中判断检测通过,则程序回到步骤S3,此时可以进一步对另一个扇区地址进行擦除。如果步骤S12中判断检测没有通过,则程序进入步骤S8以判断存储器功能失效。另一方面,如果步骤S4的判定结果为否定的(即扇区地址Al不存在于存储了坏扇区地址AddN (N=l, 2. . .m)的寄存器中,也就是说,判断扇区地址Al所对应的扇区是好的扇区),则在步骤S6中,对扇区地址Al的扇区进行擦除。 在步骤S6之后执行步骤S9,其中利用校验和纠错码ECC对该冗余扇区进行读取检测。在步骤S9之后执行步骤S10,其中判断检测是否通过。如果在步骤SlO中判断检测通过,则程序回到步骤S3,此时可以进一步对另一个扇区地址进行擦除。如果在步骤SlO中判断检测没有通过,则执行步骤S11,其中判断是否已经定义了AddN。即,判断当前的扇区地址是否已经记录在用于记录坏扇区地址的寄存器中。如果在步骤Sll中判断已经定义了 AddN,则程序进入步骤S8以判断存储器功能失效。如果在步骤Sll中判断还没有定义AddN,则程序进入步骤S2,其中将当前的坏扇区地址记录在寄存器中;并且,进一步可为该坏扇区地址分配一个用于替换的容易扇区。优选地,图2的上述提高存储器可靠性的方法适用于闪存的操作,尤其是嵌入式闪存的操作,并且特别有利于非易失性闪存的操作控制。对于任何熟悉本领域的技术人员而言,可以理解的是,可以将图I所示的提高存储器可靠性的方法的闪存操作方法与图2所示的提高存储器可靠性的方法的闪存操作方法结合起来,这种结合所组成的提高存储器可靠性的方法也落入本发明的保护范围。并且,通过测试可知,上述方法对于非易失性存储器的100000周期,其失效率小于10PPM (即,一百万个元器件里的失效个数为10)。根据本发明的另一实施例,本发明还提供了一种采用了根据图I所示的提高存储器可靠性的方法的闪存操作方法。此外,根据本发明的另一实施例,本发明还提供了一种采用了根据图2所示的提高存储器可靠性的方法的闪存操作方法。可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰 ,均仍属于本发明技术方案保护的范围内。
权利要求
1.一种提高存储器可靠性的方法,其特征在于包括 记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区; 利用校验和纠错码对存储器的扇区进行读取或编程; 判断当前打算读取或编程的扇区的扇区地址是否是被记录的坏扇区地址; 如果当前打算读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对用于替换与被记录的坏扇区地址所对应的坏扇区的冗余扇区进行读取或编程。
2.根据权利要求I所述的提高存储器可靠性的方法,其特征在于还包括如果当前打算读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对当前读取或编程的扇区进行读取或编程。
3.一种提高存储器可靠性的方法,其特征在于包括 记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区; 对存储器的扇区进行擦除; 判断当前打算擦除的扇区的扇区地址是否是被记录的坏扇区地址; 如果当前打算擦除的扇区的扇区地址是被记录的坏扇区地址,则对用于替换所述坏扇区的冗余扇区进行擦除。
4.根据权利要求3所述的提高存储器可靠性的方法,其特征在于还包括在对用于替换所述坏扇区的冗余扇区进行擦除之后,利用校验和纠错码对所述冗余扇区进行读取检测,并且在所述读取检测没有通过的情况下判断存储器功能失效。
5.根据权利要求3或4所述的提高存储器可靠性的方法,其特征在于还包括如果当前打算擦除的扇区的扇区地址不是被记录的坏扇区地址,则对当前打算擦除的扇区进行擦除,并且利用校验和纠错码对当前打算擦除的扇区进行读取检测。
6.根据权利要求5所述的提高存储器可靠性的方法,其特征在于还包括在所述取检测未通过的情况下判断当前打算擦除的扇区的扇区地址是否是已经记录的坏扇区地址。
7.根据权利要求6所述的提高存储器可靠性的方法,其特征在于还包括如果判断当前打算擦除的扇区的扇区地址是已经记录的坏扇区地址,则判断存储器功能失效。
8.根据权利要求6所述的提高存储器可靠性的方法,其特征在于还包括如果判断当前打算擦除的扇区的扇区地址不是已经记录的坏扇区地址,则将当前打算擦除的扇区的扇区地址记录为坏扇区地址。
9.根据权利要求I或3所述的提高存储器可靠性的方法,其特征在于,所述存储器是非易失性闪存。
10.一种采用了根据权利要求I至9之一所述的提高存储器可靠性的方法的方法的闪存操作方法。
全文摘要
本发明提供了一种提高存储器可靠性的方法以及闪存操作方法。根据本发明的提高存储器可靠性的方法包括记录坏扇区地址,并且为坏扇区分配用于替换的冗余扇区;利用校验和纠错码对存储器的扇区进行读取或编程;判断当前打算读取或编程的扇区的扇区地址是否是被记录的坏扇区地址;如果打算当前读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对用于替换与被记录的坏扇区地址所对应的坏扇区的冗余扇区进行读取或编程。如果打算当前读取或编程的扇区的扇区地址是被记录的坏扇区地址,则对当前读取或编程的扇区进行读取或编程。
文档编号G11C29/42GK102708927SQ20121014345
公开日2012年10月3日 申请日期2012年5月9日 优先权日2012年5月9日
发明者孔蔚然, 肖军, 黄碧 申请人:上海宏力半导体制造有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1