储存对应于数据的错误更正码的存储器装置及其操作方法

文档序号:8320350阅读:325来源:国知局
储存对应于数据的错误更正码的存储器装置及其操作方法
【技术领域】
[0001]本发明是关于包括错误更正码(Error Correcting Code,ECC)逻辑的存储器装置与系统,尤其是一种储存对应于数据的错误更正码的存储器装置及其操作方法。
【背景技术】
[0002]用于集成电路的存储器技术正在往越来越小的技术环节发展,并且被使用在单一集成电路上使用越来越大的存储器矩阵。随着针对存储器单位的技术进步,感测数据的容许范围也更严格。另外,存储器单元与相邻存储器单元因高速且大量的存取而存在的存储器单元状态干扰,存储器单元保存数据的能力会受到更严苛的容许范围所限制。
[0003]由于这些技术着重于大小与密度,为了解决像是那些更严格的容许范围与存储器单元干扰所导致的问题,相嵌于集成电路存储器的错误更正码已更为广泛使用。
[0004]通常会将闪存设定成可以进行一次擦除一个区块的区块擦除。
[0005]当擦除区块时,会将区块中的多个存储器单元设为一逻辑值,像是O。在擦除一个区块后,可将区块中的存储器单元设为一不同值,像是I。一旦将存储器单元设为1,可通过区块擦除将包括该已被编程的存储器单元改回O。一旦在第一编程操作期间,将区块中的一些存储器单元,像是该区块中被选择的8字节(byte)或16字节(word)中的多个存储器单元编程为1,则可以在第二编程操作期间,在不要求对区块进行预先擦除的情况下,就将已知在擦除状态内的相同区块中位于不同的8字节(byte)或16字节(word)的其它存储器单元编程为I。为描述的目的,可将对相同区块中不同位置的第一编程操作与第二编程操作所伴随的区块擦除称作二次组态(double patterning)。当然,当个别编程操作被导向区块的不同部分时,会有多个(多于两个)编程操作伴随多个区块擦除操作,以达成「多次组态操作」。
[0006]在二次或多次组态操作中,可以在第一编程操作期间,在区块中的特定位置上计算并设定错误更正码。然而,对于使用区块擦除的存储器中的第二编程操作,错误更正码无法安全地被改变。因为重新计算的错误更正码会要求将错误更正码中的至少一位从I改为0,而该改变会要求擦除整个区块中的数据的区块擦除,所以无法安全地改变第二编程操作中的错误更正码。
[0007]为了可靠地控制针对错误侦测的错误更正码逻辑的使用,以及针对二次组态与多次组态操作的更正,需要提出一解决方法。

【发明内容】

[0008]本发明提出一种操作具有储存对应于数据的错误更正码的存储器装置的方法。针对编程操作,该方法包括在第一编程操作期间写入延伸错误更正码(Extended ECC),该延伸错误更正码包括错误更正码以及从该错误更正码所导出的延伸位(Extended bit)。该方法包括在第一编程操作之后的第二编程操作期间,使用一预定状态来覆写包括延伸位与错误更正码的延伸错误更正码,以指示第二编程操作。举例来说,可使用汉明码(Hammingcode)来计算错误句柄。通过在错误更正码上执行逻辑的同或(XNOR)功能,来导出延伸位。在一实施例中,针对延伸错误更正码的预定状态中的每一位具有一高逻辑值。该方法包括将错误更正码设为在第一编程操作前的初始错误更正码状态。该方法包括,在第一编程操作期间,计算错误更正码,以及假如所计算的错误更正码等于该预定状态,则将错误更正码改成在该第一编程操作前的初始错误更正码状态。在一实施例中,初始错误更正码状态中的每一位具有低逻辑值。该方法包括,在第一编程操作期间,假如错误更正码等于初始错误更正码状态,则将延伸位改变成在第一编程操作之前的初始值。初始值会包括逻辑低值。
[0009]针对读取操作,该方法包括读取一含有一延伸位以及对应于由存储器装置中读取数据的一错误更正码的延伸错误更正码,其中,该延伸位是从该错误更正码导出。该方法包括,决定是否要将使用该延伸错误更正码于该对应数据上的用以侦测与更正错误的错误更正码逻辑致能。该方法包括在含有该延伸位与该错误更正码的该延伸错误更正码上执行一位奇偶校验以侦测位奇偶错误。可通过在延伸错误更正码上执行逻辑异或(XOR)功能来执行位奇偶校验。该方法包括假如侦测到位奇偶错误,并且错误更正码等于在第一编程操作之前的初始错误更正码状态,则致能用以侦测与更正错误的错误更正码逻辑。该方法包括假如侦测到位奇偶错误,并且错误更正码等于与初始错误更正码状态不同的值,则失能该用以侦测与更正错误的错误更正码逻辑。该方法包括假如没侦测到位奇偶错误,并且错误更正码等于初始错误更正码状态,则将错误更正码改成指示在第一编程操作之后的第二编程操作的一预定状态,并接着致能该用以侦测与更正错误的错误更正码逻辑。该方法包括,假如没侦测到位奇偶错误,并且错误更正码等于该预定状态,则失能该用以侦测与更正错误的错误更正码逻辑。该方法包括,假如没有侦测到位奇偶错误,并且错误更正码等于一与该预定状态以及该初始错误更正码状态皆不同的值,则致能该用以侦测与更正错误的错误更正码逻辑。
[0010]伴随着附图简要说明与和如下公开实施例的详细描述,易于理解本发明的优点,范围和技术细节。
【附图说明】
[0011]图1是针对第二编程操作将错误更正码功能失能的编程与读取操作的示意图。
[0012]图2针对第二编程操作将错误更正码功能失能的改良的编程与读取操作的示意图。
[0013]图3是相关于图2的改良的编程操作流程图。
[0014]图4是相关于图2的改良的读取操作流程图。
[0015]图5是改良的编程与读取操作如何响应数据与延伸错误更正码的错误的表格。
[0016]图6是一实施例中的改良的读取操作的简化实施方式的示意图。
[0017]图7是依据一实施例的集成电路存储器装置的简化芯片方块图。
[0018]【符号说明】
[0019]640 64输入端的异或门
[0020]645错误更正码路径
[0021]650 2输入端的异或门
[0022]660错误更正码译码器
[0023]670多功复用器
[0024]685奇偶路径
【具体实施方式】
[0025]本发明的详细说明于随后描述,这里所描述的较佳实施例是作为说明和描述的用途,并非用来限定本发明的范围。
[0026]图1是针对第二编程操作将错误更正码功能失能的编程与读取操作的示意图。指示位(先前技术)会被用来指示是否要在读取操作期间,在数据上执行错误更正码逻辑来侦测以及更正错误。
[0027]在图1所示的例子中,栏110中所显示的是页面数据中的128位数据。栏120中所显示的是针对对应的128位数据的错误更正码。栏130中所显示的是指示位。针对第一编程操作会将逻辑值「O」指定给指示位,以致能错误更正码。致能错误更正码代表,侦测并更正在读取期间的页面的所计算以及所储存的错误更正码的对应数据上的错误。在第一编程操作之后的第二编程操作期间,有时候不需要要求页面的擦除操作,就能将不同数据写入数据的相同页面。举例来说,当将第二程序导向停留于第一程序之后的擦除状态中的页面的一部分时,会发生上述情况。在该图中,会针对第二编程操作将指示位指定为「I」,以失能错误更正码。失能错误更正码代表不会对在读取操作期间使用错误更正码的对应数据执行错误侦测与更正。假如执行第二编程操作而没有进行会同时擦除错误更正码位的预先擦除,则接下来在像是闪存中的存储器内,用来自于第二编程操作的错误更正码来覆写来自第一编程操作的错误更正码会是不可靠的。所以,在这样的情况中,对于第二编程操作之后的数据读取,将错误更正码操作失能是重要的。
[0028]数据页面的区块擦除可以造成初始错误更正码状态,以使初始错误更正码状态全部是「O」。举例来说,假如错误更正码包括8位,接下来在区块擦除之后,初始错误更正码状态会等于「00000000」或是擦除状态值。如列140所示,在区块擦除后,页面中的数据以及针对页面的指示位也是全部是「O」。在此例子中,虽然错误更正码会针对不同长度的对应数据具有不同的位数量,ECC[7:0]代表对应于128位的数据的8位的错误更正码。
[0029]针对第一编程操作,如列150所示,数据「0000...0001」系设定于数据页面中,ECC[7:0]具有对应于数据的计算值「00000011」,而指示位会被指定为「O」来致能错误更正码。
[0030]针对第二编程操作,如列160所示,如同第一编程操作所设定,设定第二位的数据会造成相同数据页面中的「0000...0011」,ECC[7:0]会保留来自第一编程操作的所计算值「00000011」,并且指示位会被设为值「I」以失能错误更正码。指示位的值不是从ECC[7:0]所导出,并且是被设定来指示第二编程操作的发生。第二编程操作所造成的数据「0000...0011」是不同于第一编程操作所造成的数据「0000...0001」。在接续着第二编程操作的读取操作中,由于指示位具有值「I」以失能错误更正码,所以不会在第二编程操作所设定的数据上执行错误更正码逻辑。
[0031]列170是
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1