操作非易失性存储装置的方法和集成电路存储系统的制作方法

文档序号:6764847研发日期:2013年阅读:287来源:国知局
操作非易失性存储装置的方法和集成电路存储系统的制作方法
【专利摘要】提供了一种操作非易失性存储装置的方法和集成电路存储系统。操作非易失性存储装置的方法可包括:识别在非易失性存储装置中的已进行从擦除的状态到至少部分编程的状态的无意的编程的一个或多个多位非易失性存储单元。可通过执行多个读取操作以产生差错检测数据并且随后对差错检测数据进行解码以识别具有差错的特定单元,来检测对第一多个非易失性存储单元中进行编程的操作期间产生的差错。编程的第一多个多位非易失性存储单元和在编程操作期间更改的强迫位数据矢量可被读取以支持差错检测。该数据以及从与第一多个多位非易失性存储单元相关联的页缓冲器读取的数据随后可被解码,以识别第一多个多位非易失性存储单元中的哪个是无意地编程的单元。
【专利说明】操作非易失性存储装置的方法和集成电路存储系统
[0001]本申请要求于2012年5月29日提交到韩国知识产权局的第10-2012-0056641号韩国专利申请和于2013年2月26日提交的第13/777,512号美国专利申请的优先权,该申请的全部内容通过引用包含于此。
【技术领域】
[0002]本发明涉及存储装置以及操作该存储装置的方法,更具体地讲,涉及非易失性存储装置以及操作该非易失性存储装置的方法。
【背景技术】
[0003]半导体存储装置可以是易失性的或非易失性的。非易失性半导体存储装置即使在断电时也可保持在其中存储的数据。根据使用的制造技术,非易失性存储装置可以是永久的或可重新编程的。非易失性存储装置可被用于计算机、航空电子、电信和消费电子产业中的多种应用中的用户数据、程序和微码存储。

【发明内容】

[0004]操作非易失性存储装置的方法利用编程操作的多个方面以帮助在多位非易失性存储单元中的后编程差错检测。这些差错检测操作可包括识别在存储装置中的已进行从擦除的状态到至少部分编程的状态的无意的编程的一个或多个多位非易失性存储单元。
[0005]根据本发明的一些实施例,可通过执行多个读取操作以产生差错检测数据并且随后对差错检测数据进行解码以识别在其中具有差错的特定单元,来检测在对非易失性存储装置中的第一多个多位非易失性存储单元进行编程的操作期间产生的差错。例如,在编程操作期间更改的强迫位数据矢量和编程的第一多个多位非易失性存储单元可被读取以支持差错检测。该读取的信息以及从与第一多个多位非易失性存储单元相关联的页缓冲器读取的数据随后可被解码以识别第一多个多位非易失性存储单元中的哪个是具有不可接受地高的阈值电压的擦除的单元。
[0006]为了进一步支持差错检测,编程操作可包括:将具有相等的第一数据值(例如,所有“Is”)的初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量,其中,所述多个第二数据值识别已在编程操作期间进行至少部分编程的第一多个多位非易失性存储单元中的各个。操作还可被执行为响应于在编程操作期间第一多个多位非易失性存储单元中的一个或多个的成功编程,来更新页缓冲器中的数据。
[0007]根据本发明的另外的实施例,一种操作非易失性存储装置的方法可包括:通过计算(例如,解码)以下数据来检测在用于对非易失性存储装置中的多位非易失性存储单元的页进行编程的操作期间产生的差错:(i)从多位非易失性存储单元的编程的页读取的数据,(ii)在编程操作期间修改的强迫位数据矢量,(iii)在与多位非易失性存储单元的页相关联的页缓冲器中的数据。执行该计算以识别在页中的任何的多位非易失性存储单元是否是具有不可接受地高的阈值电压的擦除的单元(即,无意地“编程的”单元)。为了支持这些检测操作,编程操作可包括:将在其中具有相等的第一数据值的初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量。这些第二数据值将在页中的各个多个多位非易失性存储单元识别为已在编程操作期间进行至少部分编程。所述编程操作还可包括:响应于在编程操作期间在页中的多位非易失性存储单元中的一个或多个的成功编程,将页缓冲器中的数据中的至少一些重置为默认值。
[0008]根据本发明的另外的实施例,一种操作非易失性存储装置的方法包括:将与在非易失性存储装置中的第一多位非易失性存储单元的第一编程状态相关联的第一多位数据值改变为与第一多位非易失性存储单元的擦除状态相关联的第二多位数据值。响应于验证在编程操作期间第一多位非易失性存储单元已被正确编程到第一编程状态来执行该数据值改变操作。随后读取在编程操作期间更改的强迫位数据,以确认与第一多位非易失性存储单元相关联的第二多位数据值反映被准确地编程的单元。所述编程操作还可包括:在页缓冲器中,将第一多位数据值重置为第二多位数据值。此外,读取更改的强迫位数据的步骤可包括:读取页缓冲器、在编程操作期间更改的强迫位数据和非易失性存储装置中的多个多位非易失性存储单元,并且随后使用该读取的信息来识别在多个多位非易失性存储单元中的具有不可接受地高的阈值电压的擦除的单元。将相等的逻辑值的多位强迫位矢量载入强迫位寄存器中的操作先于所述读取更改的强迫位数据的步骤。此外,可执行在编程操作期间更改在强迫位寄存器中的多位强迫位矢量的至少一部分,以识别非易失性存储装置中的已使用ISSP编程技术进行期望的编程的多个多位非易失性存储单元。
[0009]根据本发明的另外的实施例,一种操作非易失性存储装置的方法可包括:通过读取一行的多位非易失性存储单元以及从页缓冲器读取后编程数据和在对一行多位非易失性存储单元进行编程期间使用的强迫位数据,来对在非易失性存储装置中的一行的多位非易失性存储单元执行差错检测操作。执行这些操作以识别在一行中的多位非易失性存储单元中的任何一个是否是具有不可接受地高的阈值电压的擦除的单元。将数据的多个页载入页缓冲器并且随后将一行的多位非易失性存储单元以来自页缓冲器的数据的多个页进行编程可先于该执行。该将一行的多位非易失性存储单元进行编程的步骤可包括:当在一行中的多位非一些性存储单元的相应的编程状态被验证为准确时,重置在页缓冲器中的数据中的至少一些。对一行的多位非易失性存储单元进行编程的步骤还可包括:更改预载入的强迫位矢量的位(bit),从而指示关于一行内的相应多位非易失性存储单元的ISSP编程操作的性能。
[0010]根据本发明的另外的实施例,一种操作非易失性存储装置的方法可以包括:通过读取在编程操作期间验证的非易失性存储装置中的第一多个多位非易失性存储单元和强迫位数据矢量,来检测在用于对第一多个多位非易失性存储单元的部分进行编程的编程操作期间产生的差错,以识别第一多个多位非易失性存储单元中的任意的多位非易失性存储单元是否包含错误的数据。
[0011]根据本发明的另外的实施例,一种集成电路存储系统可以包括:至少一个非易失性存储装置;存储器控制器,电结合到所述至少一个非易失性存储装置,所述存储器控制器在其中包括中央处理电路和ECC电路,所述ECC电路被构造为通过读取在所述至少一个非易失性装置中的第一多个多位非易失性存储单元和在编程操作期间更改的强迫位数据矢量来对在编程操作期间编程到所述至少一个非易失性存储装置中的数据执行数据恢复操作,以识别第一多个多位非易失性存储单元中的任意的多位非易失性存储单元是否包含错误的数据。
【专利附图】

【附图说明】
[0012]从参照以下附图的以下描述中,上述和其它目的和特征将变得清楚,其中,除非另外指明,否则贯穿各种附图,相同的标号表示相同的部件,在附图中:
[0013]图1是示意性示出根据本发明构思的实施例的非易失性存储装置的框图。
[0014]图2是示意性示出根据本发明构思的实施例的图1中的页缓冲器的框图。
[0015]图3是示出当单元编程操作失败时低尾数据恢复方法的示图。
[0016]图4是示出在图3的低尾数据恢复操作的页缓冲器的锁存器的数据状态的示图。
[0017]图5是示出当单元编程操作通过时高尾数据恢复方法的示图。
[0018]图6是示出在图5中的高尾数据恢复操作的页缓冲器的锁存器的数据状态的示图。
[0019]图7是示出根据本发明构思的实施例的数据恢复方法的示图。
[0020]图8是示出在图7中的数据恢复操作的页缓冲器的锁存器的数据状态的示图。
[0021]图9是示意性示出根据本发明构思的实施例的非易失性存储装置的编程方法的流程图。
[0022]图10是示意性示出图9中描述的数据恢复操作的流程图。
[0023]图11是示意性示出根据本发明构思的实施例的非易失性存储装置的编程方法的流程图。
[0024]图12是示意性示出根据本发明构思的另一实施例的非易失性存储装置的编程方法的流程图。
[0025]图13是示意性示出根据本发明构思的另一实施例的页缓冲器的框图。
[0026]图14是用于描述根据本发明构思的实施例的位线强迫的示图。
[0027]图15是示意性示出图13中的页缓冲器的两步验证方法的示图。
[0028]图16是示出在编程操作的图13中的页缓冲器的锁存器的数据的变化的示图。
[0029]图17是示出根据本发明构思的实施例的在编程操作的与目标状态相应的页缓冲器的锁存器的数据的变化的示图。
[0030]图18是示意性示出在擦除状态与第一编程状态之间恢复数据的方法的示图。
[0031]图19是示意性示出在擦除状态与第二编程状态之间恢复数据的方法的示图。
[0032]图20是示意性示出在擦除状态与第三编程状态之间恢复数据的方法的示图。
[0033]图21是示意性示出根据本发明构思的实施例的在编程操作的高位(bit)恢复方法的示图。
[0034]图22A和图22B是示出根据本发明构思的实施例的非易失性存储装置的多位编程方法的流程图。
[0035]图23是示出根据本发明构思的另一实施例的非易失性存储装置的多位编程方法的流程图。
[0036]图24是示出根据本发明构思的另一实施例的非易失性存储装置的多位编程方法的流程图。[0037]图25是示出根据本发明构思的实施例的存储系统的数据恢复操作的流程图。
[0038]图26示出根据本发明构思的另一实施例的存储系统的数据恢复操作的流程图。
[0039]图27是示出根据本发明构思的另一实施例的存储系统的数据恢复操作的流程图。
[0040]图28是示出根据本发明构思的另一实施例的存储系统的数据恢复操作的流程图。
[0041]图29是根据本发明构思的存储器块的透视图。
[0042]图30是示意性示出根据本发明构思的实施例的存储系统的框图。
[0043]图31是示意性示出根据本发明构思的实施例的存储卡的框图。
[0044]图32是示意性示出根据本发明构思的实施例的moviNAND的框图。
[0045]图33是示意性示出根据本发明构思的实施例的固态驱动器的框图。
[0046]图34是示意性示出根据本发明构思的实施例的通信装置的框图。
[0047]图35是示意性示出根据本发明构思的智能TV系统的框图。
【具体实施方式】
[0048]将参照附图详细描述实施例。然而,本发明构思可以以各种不同的形式来实现,而不应被解释为仅限于示出的实施例。相反,提供这些实施例作为示例以使得本公开将是全面的和完整的,并将向本领域技术人员充分传达本发明构思的范围。因此,针对发明构思的实施例中的一些,不对已知处理、元件和技术进行描述。除非另外指出,否则贯穿附图和书面描述,相同的标号表示相同的元件,因此将不重复进行描述。在附图中,为了清晰,可能夸大层和区域的大小和相对大小。
[0049]应理解,虽然术语“第一”、“第二”、“第三”等在这里可被用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该被这些术语限制。这些术语仅用于将一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分进行区分。因此,在不脱离本发明构思的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可被称为第二元件、组件、区域、层或部分。
[0050]为了方便用于描述如附图中所示出的一个元件或特征与另一元件或特征的关系的叙述,在这里可使用空间相关术语(诸如“在……以下”、“在……下方”、“下”、“在……之下”、“在……之上”、“上”等)。应理解,空间相关术语除了意图包含附图中描绘的方位之外,还意图包含装置在使用或操作中的不同的方位。例如,如果附图中的装置被翻转,则被描述为在其它元件或特征“下方”或“以下”或“之下”的元件将随后被定位于在所述其它元件或特征“之上”。因此,示例性术语“下方”和“在…之下”可包含上和下的方位两者。装置可以被另外定位(旋转90度或在其它方位上),并且这里使用的空间相关描述符相应进行解释。另外,还将理解,当层被称为在两层“之间”时,可以是在两层之间仅有所述层,或者也可存在一个或多个中间层。
[0051]这里使用的术语仅是为了描述特定实施例的目的,而不意图限制本发明构思。如这里所使用的,除非上下文明确指出,否则单数形式也意图包括复数形式。还应理解,当在说明书中被使用时,术语“包括”和/或“包含”指明存在所陈述的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组合。如这里所使用的,术语“和/或”包括相关列出的项中的一个或多个项的任何组合或所有组合。此外,术语“示例性”意图表示示例或说明。
[0052]应理解,当元件或层被称为“在”另一元件或层“上”、“连接到”另一元件或层、“耦合到”另一元件或层或“与”另一元件或层“相邻”时,所述元件或层可直接“在”所述另一元件或层“上”、“连接到”所述另一元件或层、“耦合到”所述另一元件或层或“与”所述另一元件或层“相邻”,或者可存在中间元件或层。相反,当元件被称为“直接在”另一元件或层“上”、“直接连接到”另一元件或层、“直接耦合到”另一元件或层或与另一元件或层“紧邻”时,不存在中间元件或层。
[0053]除非另外定义,否则这里使用的所有术语(包括技术术语和科学术语)具有与本发明构思所属的【技术领域】的普通技术人员通常理解的相同的意思。还将理解,除非这里明确地定义,否则术语(诸如在普通使用的字典中定义的那些术语)应该被解释为具有与在现有技术和/或本说明书的上下文中的意思一致的意思,并且将不被解释为理想化或过于正式的意义。
[0054]图1是示意性示出根据本发明构思的实施例的非易失性存储装置的框图。参照图1,非易失性存储装置100可包括存储单元阵列110、地址解码器120、输入/输出电路130和控制逻辑140。例如,非易失性存储装置100可以是NAND闪速存储装置。然而,已知的是非易失性存储装置100不限于NAND闪速存储装置。例如,本发明构思可被应用于NOR闪速存储装置、电阻式随机存取存储(RRAM)装置、相变随机存取存储(PRAM)装置、磁电阻式随机存取存储(MRAM)装置、铁电随机存取存储(FRAM)装置和自旋转移扭矩随机存取存储器(STT-RAM)等。此外,非易失性存储装置可被实现为具有三维阵列结构。具有三维阵列结构的非易失性存储装置可被称为垂直NAND闪速存储装置。本发明构思可被应用于包括由绝缘膜形成的电荷存储层的电荷捕获闪速(CTF)存储装置以及包括由导电浮置栅极形成的电荷存储层的闪速存储装置。以下,将在非易失性存储装置100是NAND闪速存储装置的情况下描述本发明构思。
[0055]存储单元阵列110可包括多个存储器块。为了便于描述,可在图1中示出一个存储器块。存储器块可包括分别与位线BLl至BLn (η为自然数)连接的串。这里,每个串可包括串选择晶体管SST、存储单元MCl至MCm Cm为自然数)和地选择晶体管GST。在每个串中,可由经由串选择线SSL传送的电压来驱动串选择晶体管SSL,可由经由地选择线GSL传送的电压来驱动地选择晶体管GST。存储单元MCl至MCm中的每一个可存储数据的至少一个位(bit)并且可由经由字线WLl至WLm中的相应的一条传送的电压进行驱动。地址解码器120可响应于地址来选择多个存储器块中的一个,并可向字线WLl至WLm传送用于驱动的字线电压(例如,编程电压、通过电压、擦除电压、验证电压、读取电压、读取通过电压等)。
[0056]在编程操作期间,输入/输出电路130可暂时地存储从外部装置输入的数据,以将其载入将被写入的页上。在读取操作期间,输入/输出电路130可从将被读取的页读取数据,以将其输出到外部装置。输入/输出电路130可包括分别与位线BLl至BLn相应的页缓冲器PBl至PBn。页缓冲器PBl至PBn中的每一个可包括用于编程操作和读取操作的多个锁存器。在每个页缓冲器中,多个锁存器中的至少一个可存储用于编程操作的目标数据TD,且当相应的存储单元的编程操作(在下文中,被称为单元编程操作)通过时,目标数据TD可被改变为通过模式(pass pattern)的数据。多个锁存器中的一个锁存器可存储/建立恢复参考位(recovery reference bit) RRB。这里,恢复参考位RRB可以是用于支持数据恢复操作的位(bit),并可包括指示将被恢复的特定状态(例如,擦除状态)的信息。
[0057]控制逻辑140可控制非易失性存储装置100的整体操作。控制逻辑140可解码从外部存储器控制器提供的控制信号和命令,并可根据解码的结果来控制地址解码器120和输入/输出电路130。控制逻辑140可控制电压产生电路产生驱动(例如,编程、读取、擦除等)地址解码器120以将所述电压传送到字线WLl至WLm所需的电压以及产生驱动(例如,编程、读取、擦除等)输入/输出电路130输入/输出将被编程的页数据和读取的页数据所需的电压。在数据恢复操作期间,控制逻辑140可响应于数据恢复命令对编程的存储单元执行至少一次读取操作。控制逻辑140可使用根据读取操作读取的数据和恢复参考位RRB来恢复在编程操作期间输入的目标数据TD。这里,可从外部存储器控制器提供数据恢复命令。在编程操作期间,传统的非易失性存储装置可将目标数据存储在用于数据恢复操作的单独的存储空间处。例如,在编程操作期间,目标数据可被存储在非易失性存储装置的页缓冲器中或被存储在外部存储器控制器的缓冲器处。在传统的数据恢复操作期间,可使用这样存储的目标数据在另一物理页处执行编程操作。上述编程操作可需要为了数据恢复操作而存储目标数据的单独的存储空间。
[0058]另一方面,本发明构思的非易失性存储装置100可在数据恢复操作期间使用读取操作和恢复参考位RRB来恢复目标数据。即,本发明构思的非易失性存储装置100可不需要为了数据恢复操作的目标数据TD的单独的存储空间。因此,可使用本发明构思的非易失性存储装置100来减小芯片尺寸。
[0059]图2是示意性示出根据本发明构思的实施例的图1中的页缓冲器的框图。参照图2,页缓冲器PBl可包括感测锁存器SL、数据锁存器DLl至DLk (k为整数)(在下文中,被称为至少一个第一锁存器)和另外的锁存器AL (在下文中,被称为第二锁存器)。感测锁存器SL可存储指示在编程/编程验证/读取操作期间存储单元是导通单元(on-cell)还是截止单元(off-cell)的数据。例如,在编程验证/读取操作期间,感测锁存器SL可存储在存储单元的阈值电压低于参考电平时的指示导通单元的数据以及在存储单元的阈值电压高于参考电平时的指示截止单元的数据。在数据恢复操作期间,感测锁存器SL可存储用于恢复目标数据TD的读取操作的结果,S卩,读取的数据。处于编程操作(PGM),数据锁存器DLl至DLk可存储指示编程状态的目标数据TD。当单元编程操作通过时,数据锁存器DLl至DLk的数据可被改变为通过模式数据。这里,通过模式数据可以是与存储单元的擦除状态相应的数据。
[0060]处于编程操作,另外的锁存器AL可存储恢复参考位RRB。这里,恢复参考位RRB可以是与用于恢复失败位(fail bit)的特定状态相关联的信息。特定状态可以是用户预先确定的状态。例如,在用户知道在擦除状态的失败位有许多的情况下,另外的锁存器AL可存储用于恢复擦除状态的失败位的恢复参考位RRB。即,如果在数据恢复操作期间需要恢复擦除状态的失败位,则恢复参考位RRB可以是指示输入到页缓冲器PBl的目标数据TD是否与擦除状态相应的位(bit)。然而,用户不是必须确定特定状态。非易失性存储装置100可确定频繁产生失败位的编程状态,并可将判断的编程状态确定为特定状态。可在图2中示出一个页缓冲器PB1。然而,其余的页缓冲器PB2至PBn可被构造为与图2中示出的基本相同。[0061]根据本发明构思的在页缓冲器PBl处执行的数据恢复操作可被划分为第一数据恢复操作和第二数据恢复操作。使用第一数据恢复操作,当单元编程操作失败时,存储在锁存器DLl至DLk处的数据可被输出作为原始目标数据。使用第二数据恢复操作,当单元编程操作通过时,可使用用于恢复数据的读取操作和恢复参考位RRB来恢复目标数据TD。本发明构思的页缓冲器PBl可被构造为使用存储在数据锁存器DLl至DLk处的数据、用于数据恢复的读取操作的结果、以及恢复参考位RRB来恢复目标数据TD。之后将更充分描述恢复目标数据TD的操作。
[0062]图3是示出当单元编程操作失败时低尾(lower tail)数据恢复方法的示图。这里,低尾可能没有达到的目标状态(例如,S2),如位于图3中的A和B处的存储单元那样。例如,在存储单元是“慢”单元的情况下,尽管当前编程循环达到最大编程循环,但是存储单元可能没有达到第二状态S2。位于A处的存储单元可具有高于读取电平RD的阈值电压,位于B处的存储单元可具有低于读取电平RD的阈值电压。这里,读取电平RD可以是用于数据恢复操作的电平。位于A或B处的存储单元不需要用于数据恢复的读取操作。原因可以是与位于A或B处的存储单元相应的数据锁存器DLl至DLk (参照图2)存储指示单元编程操作的失败状态的数据。即,与位于A或B处的存储单元相应的数据锁存器DLl至DLk(参照图2)可保持先前载入的与第二状态S2相应的目标数据TD。因此,位于A或B处的存储单元可被判断为低尾失败位,并且存储在数据锁存器DLl至DLk处的数据可在数据恢复操作期间被恢复为原始目标数据。
[0063]图4是示出在图3的低尾数据恢复操作期间的页缓冲器的锁存器的数据状态的示图。以下,将参照图2、图3和图4来描述在低尾数据恢复操作的锁存器的数据状态。为了便于描述,假设目标状态是第二状态S2。当目标状态是第二状态S2时,在编程操作,数据锁存器DLl至DLk可接收与第二状态S2相应的数据,并且另外的锁存器AL可存储值O。与第二状态S2相应的数据锁存器DLl至DLk可分别根据单元编程操作通过还是失败来存储数据。如果数据锁存器DLl至DLk的数据具有指示单元编程操作通过的通过模式,则可不需要低尾数据恢复操作。另一方面,当数据锁存器DLl至DLk的数据不具有指示单元编程操作通过的通过模式时,即,当数据锁存器DLl至DLk的数据保持与第二状态S2相应的数据时,位于A或B处的存储单元可被判断为低尾失败位。因此,保持在数据锁存器DLl至DLk处的数据S2可被恢复为原始目标数据。使用上述低尾数据恢复操作,当数据锁存器DLl至DLk的数据不是指示通过的单元编程操作的通过模式时,数据锁存器DLl至DLk的数据可被恢复为原始目标数据。
[0064]图5是示出当单元编程操作通过时高尾(upper tail)数据恢复方法的示图。这里,高尾可指示由于编程干扰(例如,稱合)或读取干扰而被过编程(over programmed)的通过的存储单元。根据高尾失败位的判断结果,高尾数据恢复操作可被划分为在用于数据恢复的读取操作期间执行的第一高尾数据恢复操作(①)和使用读取操作和恢复参考位RRB执行的第二高尾数据恢复操作(②)。这里,可根据对已通过单元编程操作的存储单元执行读取操作来进行高尾失败位的判断。例如,位于C处的存储单元(根据读取操作的结果被判断为导通单元)可不被判断为高尾失败位。位于D处的存储单元(被判断为截止单元)可被判断为高尾失败位。恢复参考位RRB可以是与第一状态SI的高尾数据恢复相关联的值。“I”可与第一状态SI相应,“O”可与第二状态S2相应。使用第一高尾数据恢复操作,在用于数据恢复的读取操作的结果指示导通单元(例如,位于C处的存储单元)的情况下,与第一状态SI相应的数据可被恢复为目标数据TD。使用第二高尾数据恢复操作,在用于数据恢复的读取操作的结果指示截止单元(例如,位于D处的存储单元)的情况下,可基于恢复参考位RRB的值(例如,“1”),将与第一状态相应的数据恢复为目标数据TD。
[0065]图6是示出在图5中的高尾数据恢复操作的页缓冲器的锁存器的数据状态的示图。以下,将参照图2、图5和图6描述在高尾数据恢复操作期间的锁存器的数据状态。为了便于描述,假设目标状态是第一状态SI。当目标状态是第一状态SI时,在编程操作,数据锁存器DLl至DLk可接收与第一状态SI相应的数据,并且另外的锁存器AL可存储值I。为了便于描述,假设与第一状态SI相应的存储单元的单元编程操作通过。在这种情况下,与第一状态SI相应的数据锁存器DLl至DLk的数据可被改变为指示单元编程操作通过的通过模式。如果感测锁存器SL存储与作为在第一状态SI的高尾恢复操作的用于数据恢复的读取操作的结果的导通单元相应的数据,则与第一状态SI相应的数据可基于读取的数据而被恢复为目标数据TD。然而,位于C处的存储单元可不被判断为高尾失败位。如果感测锁存器SL存储与作为在第一状态SI的高尾恢复操作的用于数据恢复的读取操作的结果的截止单元相应的数据,则位于D处的存储单元可使用读取的数据和存储在另外的锁存器AL处的恢复参考位RRB “I”而被判断为第一状态SI的高尾失败位,并且与第一状态SI相应的数据SI可被恢复为目标数据TD。简要地说,使用上述高尾数据恢复操作,当数据锁存器DLl至DLk的数据是指示通过的单元编程操作的通过模式时,可使用用于数据恢复的读取操作和恢复参考位RRB来恢复目标数据TD。可参照图3和图4描述低尾数据恢复方法,可参照图5和图6描述高尾数据恢复方法。同时,不管单元编程操作通过还是失败,均可以够恢复目标数据TD。
[0066]图7是示出根据本发明构思的实施例的数据恢复方法的示图。参照图7,数据恢复方法可以是图3中的第二状态S2的低尾数据恢复方法与图5中的第一状态SI的高尾数据恢复方法的组合。因为被判断为第二状态S2的低尾失败位的存储单元A/B处于单元编程操作未通过的状态,所以存储在数据锁存器DLl至DLk处的原始目标数据可被恢复为目标数据TD。因为作为第一状态SI的高尾并且不被判断为高尾失败位的存储单元C是作为用于数据恢复的读取操作的结果的导通单元,所以与第一状态SI相应的数据可被恢复为目标数据TD。因为作为第一状态SI的高尾并且被判断为高尾失败位的存储单元D是作为用于数据恢复的读取操作的结果的截止单元并且恢复参考位RRB具有指示第一状态SI的高尾失败位的恢复的值1,所以与第一状态SI相应的数据可被恢复为目标数据TD。
[0067]图8是示出在图7中的数据恢复操作的页缓冲器的锁存器的数据状态的示图。参照图2、图7和图8,在数据恢复操作的锁存器的数据状态可由图4中的第二状态S2的锁存器的数据状态和图6中第一状态SI的锁存器的数据状态的组合形成。如图8所示,当第二状态S2的数据锁存器DLl至DLk的数据不是指示通过的单元编程操作的通过模式时,位于A或B处的存储单元可被判断为第二状态S2的低尾失败位,存储在数据锁存器DLl至DLk处的数据可被直接恢复成为目标数据TD。但是,当第一状态SI的数据锁存器DLl至DLk的数据是指示通过的单元编程操作的通过模式并且与导通单元相应的数据被存储在感测锁存器SL处作为用于数据恢复的读取操作的结果时,与第一状态相应的数据SI可基于读取的数据被恢复成为目标数据TD。这里,位于C处的存储单元可不被判断为高尾失败位。当第一状态SI的数据锁存器DLl至DLk的数据是指示通过的单元编程操作的通过模式并且与截止单元相应的数据被存储在感测锁存器SL处作为用于数据恢复的读取操作的结果时,位于D处的存储单元可基于读取的数据和恢复参考位RRB而被判断为第一状态SI的高尾失败位,与第一状态SI相应的数据SI可被恢复成为目标数据TD。简要地说,使用上述数据恢复操作,当单元编程操作失败时,存储在数据锁存器DLl至DLk的原始目标数据可被恢复为目标数据TD。当单元编程操作通过时,目标数据TD可使用用于数据恢复的读取操作和恢复参考位RRB来恢复。
[0068]图9是示意性示出根据本发明构思的实施例的非易失性存储装置的编程方法的流程图。参照图9,可使用目标数据TD来执行编程操作。在操作S110,可通过恢复参考位RRB分别设置与存储单元相应的页缓冲器PBl至PBn。在操作S120,可判断是否需要数据恢复操作。这里,数据恢复操作可在总体编程操作失败时或在从外部装置接收到数据恢复命令时开始。当不需要数据恢复操作时,编程操作可结束。当需要数据恢复操作时,在操作S130,可使用数据锁存器DLl至DLk的数据、对存储单元的读取操作和恢复参考位RRB来恢复目标数据TD。
[0069]图10是示意性示出图9中描述的数据恢复操作的流程图。参照图10,在操作S131,可判断数据锁存器DLl至DLk的数据是否具有指示通过的单元编程操作的通过模式。如果数据锁存器DLl至DLk的数据中不具有通过模式,则数据锁存器DLl至DLk可保持原始目标数据。原因可以是单元编程操作失败。在操作S132,可直接从数据锁存器DLl至DLk恢复原始目标数据。另一方面,如果数据锁存器DLl至DLk的数据具有通过模式,即,当单元编程操作通过时,在操作S133,可执行用于数据恢复的读取操作。在操作S134,可判断读取的数据是否是截止单元数据。
[0070]如果读取的数据不是截止单元数据而是导通单元数据,则在操作S135,可基于数据锁存器DLl至DLk的通过模式和读取的数据,将与第一状态SI相应的数据恢复为目标数据TD。如果读取的数据是截止单元数据,则在操作S136,可根据数据锁存器DLl至DLk的数据、读取的数据和恢复参考位RRB来判断第一状态SI的高尾失败位(例如,在图7中的D),可将与第一状态SI相应的数据SI恢复为目标数据TD。使用数据恢复操作,可使用数据锁存器DLl至DLk的数据、读取的数据和恢复参考位RRB来恢复目标数据TD。
[0071]图11是示意性示出根据本发明构思的实施例的非易失性存储装置的编程方法的流程图。以下,将参照附图描述非易失性存储装置的编程方法。在操作S210,可将目标数据TD载入至少一个第一锁存器(例如,数据锁存器DLl至DLk)中,并且可将恢复参考位RRB存储在第二锁存器(例如,另外的锁存器AL)处。在操作S220,控制逻辑140可控制地址解码器120和输入/输出电路130从而将载入的目标数据TD编程到选择的存储单元。例如,可将编程电压施加到与存储单元相连接的字线,从而存储单元的阈值电压达到与目标数据TD相应的编程状态。在操作S230,可执行编程验证操作,以判断存储单元是否被正常编程。这里,编程验证操作可以是使用每个存储单元的验证电平执行的读取操作。当每个存储单元的验证操作通过时,与存储单元相应的页缓冲器的数据锁存器DLl至DLk可写入通过模式数据(例如,指示擦除状态的数据)。因此,可根据存储在每个页缓冲器的数据锁存器DLl至DLk处的数据来判断总体编程验证操作的通过/失败结果。
[0072]当编程验证操作通过时,在操作S240,可以确定编程操作通过。然后,方法进行到操作S250。当编程验证操作失败时,在操作S245,可以确定编程操作失败。然后,方法进行到操作S260。在操作S250,可判断是否需要恢复目标数据TD。可响应于从外部装置提供到非易失性存储装置100的数据恢复命令来执行恢复目标数据TD的操作。
[0073]如上所述,尽管确定编程操作通过,但是第二状态S2的低尾失败位(例如,图3和图7中的A和B)也必须存在。原因可以是第一状态SI的高尾失败位(例如,图5和图7中的D)存在并且编程操作通过。因此,为了提高数据可靠性,必需恢复高尾失败位或低尾失败位。
[0074]在示例实施例中,需要高数据可靠性的存储系统可被构造为为了数据可靠性而在编程操作期间的任何时候将数据恢复命令提供给非易失性存储装置100。在其它示例实施例中,可根据与程序失败相关联的信息,从外部装置将数据恢复命令立即提供给非易失性存储装置100。[0075]当需要恢复目标数据TD时,可使用至少一个读取操作和存储在第二锁存器处的恢复参考位RRB来恢复目标数据TD。这里,可与参照图1至图10而描述的相同地执行与操作S260相应的目标数据恢复操作,因此可省略对其的描述。在操作S280,可以执行回写编程操作(copyback program operation),以在新的物理页处编程恢复的目标数据TD。然后,该方法可结束。当需要数据恢复操作时,可使用数据锁存器DLl至DLk的数据、至少一个读取操作和恢复参考位RRB来恢复特定状态的失败位(例如,高尾失败位/低尾失败位)。通过数据恢复操作恢复的目标数据TD可被直接用于新的编程操作。然而,本发明构思不限于此。例如,恢复的目标数据TD的差错可被纠正,差错纠正了的目标数据TD可被用于新的编程操作。
[0076]图12是示意性示出根据本发明构思的另一实施例的非易失性存储装置的编程方法的流程图。除增加了操作S265和S270之外,图12的编程方法可与图11的编程方法相同。在操作S265,可将恢复的目标数据输出到外部存储器控制器。在操作S270,存储器控制器可纠正恢复的目标数据中的差错。例如,存储器控制器可使用纠错码(ECC)来纠正恢复的目标数据中的差错。然而,本发明构思不限于此。可由在非易失性存储装置100内提供的ECC电路来执行差错纠正操作。使用本发明构思的编程方法,能够通过纠正恢复的目标数据的差错来提高数据可靠性。图2中的页缓冲器PBl可具有用于存储恢复参考位RRB的另外的锁存器AL。另外的锁存器AL可被用作提供另一功能的锁存器。例如,另外的锁存器AL可被用作用于位线强迫的强迫位(forcing bit)锁存器。
[0077]如这里以下现在将描述的那样,位线强迫操作可被执行以在编程操作使用两步验证方法将高于位线编程电压(例如,地电压)并低于位线禁止电压(例如,电源电压)的电压施加到位线。两步验证方法可被执行以验证编程状态,并可包括使用第一电压电平执行的预先验证操作和使用第二电压电平执行的主要验证操作。两步验证方法在7692970号和8068361号美国专利以及2011-0515520号和2011-0110154号美国专利出版物中公开,其全部通过引用包含于此。
[0078]图13是示意性示出根据本发明构思的另一实施例的页缓冲器的框图。参照图13,页缓冲器ΡΒ1‘可包括感测锁存器SL、高位(upper bit)锁存器ML、低位(lower bit)锁存器LL和强迫位锁存器FL。目标数据TD可包括高位(或,最高有效位:MSB)和低位(或,最低有效位:LSB)。在编程操作期间,高位MSB可被存储在高位锁存器ML中,低位LSB可被存储在低位锁存器LL中。位线强迫位BFB可被存储在强迫位锁存器FL处。强迫位锁存器FL还可被用作存储恢复参考位RRB的另外的锁存器。在数据恢复操作期间,位线强迫位BFB可被用作恢复参考位RRB。原因可以是位线强迫位BFB与恢复参考位RRB之间存在特定关系O
[0079]因为擦除状态不需要编程操作,所以位线强迫可以是不必要的。此外,由于编程干扰/读取干扰,所以产生高尾失败位的可能性可能很高。因此,存储在强迫位锁存器FL处的数据可被用作指示是否执行位线强迫的位线强迫位BFB或可以被用作用于恢复擦除状态的高尾失败位的恢复参考位RRB。另一方面,因为编程状态需要编程操作,所以可能会需要位线强迫。此外,与擦除状态相比,产生高尾失败位的可能性可变得较低。如果编程操作通过,则通过模式数据可分别被存储在高位锁存器ML和低位锁存器LL处。这里,通过模式数据可以是与擦除状态相应的数据(例如,“11”)。当单元编程操作通过时,可使用用于数据恢复的读取操作、高位锁存器ML和低位锁存器LL的数据、以及强迫位锁存器FL的数据来恢复目标数据TD。当单元编程操作失败时,存储在高位锁存器ML和低位锁存器LL处的数据可被直接恢复为原始目标数据。本发明构思的页缓冲器ΡΒ1‘可被构造为使用用于数据恢复的读取操作、高位锁存器ML和低位锁存器LL的数据、以及强迫位锁存器FL的数据来恢复目标数据TD。
[0080]图14是用于描述根据本发明构思的实施例的位线强迫的示图。参照图14,当在具有第一区域RA中的阈值电压的存储单元①的编程操作期间将编程电压VWL施加到字线时,位线编程电压BLPV (例如,0V)可被施加到位线。当在具有第二区域RB中的阈值电压的存储单元②的编程操作期间将编程电压VWL施加到字线时,稍微提高的位线强迫电压BLFV可被施加到位线。
[0081]当编程循环被重复时,远离目标状态P的区域RA的存储单元可被编程到邻近区域RB,并且邻近区域RB的存储单元可被编程为目标状态P。这里,假设位线编程电压BLPV可以是OV并且位线编程禁止电压BLIV可以是电源电压VDD。可通过字线电压VWL与位线电压VBL之间的差(VWL-O)对区域RA中的存储单元①进行编程。可通过字线电压VWL与位线电压VBL之间的差(VWL-BLFV)对区域RB中的存储单元②进行编程。进入目标状态P的存储单元③可以是编程禁止的单元,但是字线电压VWL与位线电压BLIV之间的差(VWL-VDD)可被施加到存储单元③。与在区域RA中的存储单元①相比,可更精细地对区域RB中的存储单元进行编程。[0082]位线强迫时段可以是在与目标状态P邻近的区域RB中的存储单元的编程操作时段施加位线强迫电压BLFV的时段。位线强迫可在阈值电压超过预定值而低于目标状态的下限值时开始。位线强迫位BFB可指示是否将执行位线强迫。例如,当位线强迫位BFB“0”被存储在强迫位锁存器FL处时,可在下一编程循环期间执行位线强迫。然而,当位线强迫位BFB “I”被存储在强迫位锁存器FL处时,在下一编程循环期间可不执行位线强迫。如图14 所示,Δ ISPP> (BLFV-BLPV)并且 Λ ISPP> (BLIV-BLFV)。
[0083]图15是示意性示出图13中的页缓冲器的两步验证方法的示图。在图15中,可示出擦除状态E以及第一编程状态至第三编程状态P1、P2和P3。在目标数据TD指示擦除状态E并且存储单元具有与擦除状态E相应的阈值电压的情况下,在编程操作,可将位线禁止电压BLIV (例如,电源电压)施加到与存储单元相应的位线。这里,目标数据TD可以是将被编程的数据。
[0084]在目标数据TD指示第一编程状态Pl并且存储单元具有高于擦除状态E且低于第一预先验证电平PVRl的阈值电压的情况下,在编程操作,可将位线编程电压BLPV(例如,地电压)施加到与存储单元相应的位线。此外,在目标数据TD指示第一编程状态Pl并且存储单元具有高于第一预先验证电平PVRl且低于第一验证电平VRl的阈值电压的情况下,在编程操作,可将位线强迫电压BLFV (例如,IV)施加到与存储单元相应的位线。
[0085]EA区域中的存储单元可通过EB区域到达第一编程状态Pl,或可直接到达第一编程状态P1。直到存储单元到达第一编程状态P1,根据编程循环的增加,位线电压可从较低的位线编程电压BLPV改变为较高的位线强迫电压BLFV或位线电压可以从位线强迫电压BLFV改变为位线编程禁止电压BLIV。或者,根据编程循环的增加,位线电压可从位线编程电压BLPV改变为位线编程禁止电压BLIV。
[0086]在目标数据TD指示第二编程状态P2并且存储单元具有高于第一编程状态Pl且低于第二预先验证电平PVR2的阈值电压的情况下,在编程操作,可将位线编程电压BLPV施加到与存储单元相应的位线。此外,在目标数据TD指示第二编程状态P2并且存储单元具有高于第二预先验证电平PVR2且低于第二验证电平VR2的阈值电压的情况下,在编程操作,可将位线强迫电压BLFV施加到与存储单元相应的位线。
[0087]在目标数据TD指示第三编程状态P3并且存储单元具有高于第二编程状态P2且低于第三预先验证电平PVR3的阈值电压的情况下,在编程操作,位线编程电压BLPV可被施加到与存储单元相应的位线。此外,在目标数据TD指示第三编程状态P3并且存储单元具有高于第三预先验证电平PVR3且低于第三验证电平VR3的阈值电压的情况下,在编程操作,可将位线强迫电压BLFV施加到与存储单元相应的位线。
[0088]总之,在每个编程状态的编程操作,可将位线编程电压BLPV施加到位线直到预先验证操作通过为止。在预先验证操作通过之后,可将位线强迫电压BLFV施加到位线直到整个验证操作通过为止。一旦整个验证操作通过,可将位线编程禁止电压BLIV施加到位线。
[0089]如图15所示,将用与擦除状态E相应的目标数据TD进行编程的存储单元可能不需要位线强迫,将用与第一至第三状态Pl至P3之一相应的目标数据TD进行编程的存储单元可能需要位线强迫。如虚线所示,擦除状态E可能由于编程干扰或读取干扰而被过编程。如参照图5和图6所示,指示是否执行位线强迫的值可被用作用于恢复擦除状态E的高尾数据的恢复参考位RRB。
[0090]本发明构思的非易失性存储装置100可通过使用位线强迫位BFB作为恢复参考位RRB而无需用于存储恢复参考位RRB的另外的锁存器来执行数据恢复操作。
[0091]图16是示出在编程操作的图13中的页缓冲器的锁存器的数据的变化的示图。以下,将参照图13至图16描述在编程操作的图13中的页缓冲器的锁存器的数据的变化。这里,编程操作可以是第二页编程操作(或,高位页编程操作)。当第二页编程操作开始时,锁存器ML、LL和FL可如下。在页缓冲器与目标状态是擦除状态E的存储单元相应的情况下,高位锁存器ML可存储值“ I ”,低位锁存器LL可存储值“ I ”,并且强迫位锁存器FL可存储值“I”。在页缓冲器与目标状态是第一编程状态Pl的存储单元相应的情况下,高位锁存器ML可存储值“O”,低位锁存器LL可存储值“ I ”,并且强迫位锁存器FL可存储值“ I ”。在页缓冲器与目标状态是第二编程状态P2的存储单元相应的情况下,高位锁存器ML可存储值“0”,低位锁存器LL可存储值“O”,并且强迫位锁存器FL可存储值“I”。在页缓冲器与目标状态是第三编程状态P3的存储单元相应的情况下,高位锁存器ML可存储值“ I ”,低位锁存器LL可存储值“O”,并且强迫位锁存器FL可存储值“ I”。
[0092]在结束了第二页编程操作之后,锁存器ML、LL和FL的状态可如下。在页缓冲器与目标状态是擦除状态E或编程禁止状态的存储单元相应的情况下,高位锁存器ML可保持值“ I ”,低位锁存器LL可保持值“ I ”,并且强迫位锁存器FL可保持值“ I ”。在页缓冲器与目标状态是第一编程状态Pl的存储单元相应的情况下,高位锁存器ML的数据可从“O”被改变为“ I”,低位锁存器LL可保持值“ I”,并且强迫位锁存器FL的数据可从“ I”被改变为“O”。因为用于将存储单元编程为第一编程状态Pl的编程操作通过,所以高位锁存器ML和低位锁存器LL可存储与擦除状态E相应的数据模式“11”。此外,因为执行位线强迫,所以强迫位锁存器FL可存储值“O”。
[0093]在页缓冲器与目标状态是第二编程状态P2的存储单元相应的情况下,高位锁存器ML的数据可从值“O”被改变为“1”,低位锁存器LL的数据可从“O”改变为“1”,并且强迫位锁存器FL的数据可从“I”被改变为“O”。因为用于将存储单元编程为第二编程状态P2的编程操作通过,所以高位锁存器ML和低位锁存器LL可存储与擦除状态E相应的数据模式“ 11 ”。此外,因为执行位线强迫,所以强迫位锁存器FL可存储值“O”。
[0094]在页缓冲器与目标状态是第三编程状态P3的存储单元相应的情况下,高位锁存器ML可保持值“1”,低位锁存器LL的数据可从“O”改变为“1”,并且强迫位锁存器FL的数据可从“I”被改变为“O”。因为用于将存储单元编程为第三编程状态P3的编程操作通过,所以高位锁存器ML和低位锁存器LL可存储与擦除状态E相应的数据模式“11”。此外,因为执行位线强迫,所以强迫位锁存器FL可存储值“O”。
[0095]图17是示出根据本发明构思的实施例的在编程操作的与目标状态相应的页缓冲器的锁存器的数据的变化的示图。参照图17,擦除状态E可与数据“11”相应,第一编程状态Pl可与数据“01”相应,第二编程状态P2可与数据“00”相应,并且第三编程状态P3可与数据“10”相应。然而,本发明构思不限于此。当目标状态是擦除状态E时,存储在与存储单元相应的页缓冲器的锁存器ML、LL和FL的数据的变化将如下。高位锁存器ML和低位锁存器LL可存储“I”而不管存储单元的阈值电压如何。因为不需要位线强迫,所以强迫位锁存器FL可存储“I”。
[0096]当目标状态是第一编程状态Pl时,存储在与将被编程的存储单元相应的页缓冲器的锁存器ML、LL和FL处的数据的变化将如下。直到存储单元的阈值电压超过第一验证电平VRl (即,在第一验证操作通过之前),高位锁存器ML可存储“O”并且低位锁存器LL可存储“ I ”。在存储单元的阈值电压超过第一验证电平VRl之后(B卩,在第一验证操作通过之后),高位锁存器ML和低位锁存器LL可存储“ I ”。即,在第一验证操作通过之后,高位锁存器ML可存储“I”并且低位锁存器LL可存储与对应于擦除状态E的数据相同的通过模式数据。
[0097]直到存储单元的阈值电压超过第一预先验证电平PVRl (即,在第一预先验证操作通过之前),强迫位锁存器FL可存储“I”。在存储单元的阈值电压超过第一预先验证电平PVRl之后(B卩,在第一预先验证操作通过之后),强迫位锁存器FL可存储“O”。这里,如果“O”被存储在强迫位锁存器FL,则可在下一编程循环期间执行位线强迫。即,可在下一编程循环期间将位线强迫电压BLFV施加到位线。
[0098]当目标状态是第二编程状态P2时,存储在与将被编程的存储单元相应的页缓冲器的锁存器ML、LL和FL处的数据的变化将如下。直到存储单元的阈值电压超过第二验证电平VR2 (即,在第二验证操作通过之前),高位锁存器ML和低位锁存器LL可存储“O”。在存储单元的阈值电压超过第二验证电平VR2之后(即,在第二验证操作通过之后),高位锁存器ML和低位锁存器LL均可存储“ I ”。直到存储单元的阈值电压超过第二预先验证电平PVR2 (即,在第二预先验证操作通过之前),强迫位锁存器FL可存储“I”。在存储单元的阈值电压超过第二预先验证电平PVR2之后(即,在第二预先验证操作通过之后),强迫位锁存器FL可存储“O”。这里,如果“O”被存储在强迫位锁存器FL,则可在下一编程循环(即,下一 ISPP脉冲)期间执行位线强迫。
[0099]当目标状态是第三编程状态P3时,存储在与将被编程的存储单元相应的页缓冲器的锁存器ML、LL和FL处的数据的变化将如下。直到存储单元的阈值电压超过第三验证电平VR3 (即,在第三验证操作通过之前),高位锁存器ML可存储“ I ”并且低位锁存器LL可存储“O”。在存储单元的阈值电压超过第三验证电平VR3之后(即,在第三验证操作通过之后),高位锁存器ML和低位锁存器LL均可存储“ I ”。直到存储单元的阈值电压超过第三预先验证电平PVR3 (即,在第三预先验证操作通过之前),强迫位锁存器FL可存储“I”。在存储单元的阈值电压超过第三预先验证电平PVR3之后(即,在第三预先验证操作通过之后),强迫位锁存器FL可存储“O”。这里,如果“O”被存储在强迫位锁存器FL,则可在下一编程循环期间(即,下一 ISPP脉冲期间)执行位线强迫。如上所述,如果目标状态的验证操作通过,则高位锁存器ML和低位锁存器LL的数据可被改变为通过模式数据(例如,“11”)。如果目标状态的预先验证操作通过,则强迫位锁存器FL的数据可被改变为指示在下一编程循环期间执行位线强迫的数据(例如,“O ”)。
[0100]图18是示意性示出在擦除状态与第一编程状态之间恢复数据的方法的示图。参照图18,当目标状态是擦除状态E时,存储单元Ea可具有低于第一预先验证电压PVl的阈值电压,存储单兀Eb可具有高于第一预先验证电压PVl并低于第一验证电压Vl的阈值电压,并且存储单元Ec可具有高于第一验证电压Vl的阈值电压。
[0101]当目标状态是第一编程状态Pl时,存储单元Pla可具有低于第一预先验证电压PVl的阈值电压,存储单元Plb可具有高于第一预先验证电压PVl并低于第一验证电压Vl的阈值电压,并且存储单元PlC可具有高于第一验证电压Vl的阈值电压。
[0102]存储在与每个存储单元相关联的锁存器ML、LL、SL和FL处的值可如图18的表格所示。高位锁存器ML可存储目标状态的高位MSB,低位锁存器LL可存储目标状态的低位LSB,感测锁存器SL可存储通过使用用于数据恢复操作的第一读取电平RDl执行读取操作而获得的值,并且强迫位锁存器FL可存储位线强迫位BFB。当单元编程操作通过时,可用逻辑“ I ”值来写入高位锁存器ML和低位锁存器LL。如果读取操作的结果指示导通单元,则感测锁存器SL可存储“I”。如果读取操作的结果指示截止单元,则感测锁存器SL可存储“O”。位线强迫位BFB在不执行位线强迫时可以是“I”而在执行位线强迫时可以是“O”。
[0103]当目标状态是擦除状态E时,与存储单元Ea、Eb和Ec中的每一个相关联的高位锁存器ML和低位锁存器LL可存储“ I ”,与存储单元Ea相关联的感测锁存器SL可存储“ I ”,与其余的存储单元Eb和Ec相关联的感测锁存器SL可存储“0”,并且与存储单元Ea、Eb和Ec相关联的强迫位锁存器FL可存储“ I ”。
[0104]当目标状态是第一编程状态Pl时,与存储单元Pla和Plb中每一个相关联的高位锁存器ML可存储“0”,与存储单元Plc相关联的高位锁存器ML可存储“ I ”,与存储单元Pla, Plb和Plc中的每一个相关联的低位锁存器LL可存储“ 1”,与存储单元Pla相关联的感测锁存器SL可存储“I”(S卩,导通单元),与其余的存储单元Plb和Plc相关联的感测锁存器SL可存储“0”,与存储单元Pla相关联的强迫位锁存器FL可存储“ I ”,并且与存储单元Plb和Plc相关联的强迫位锁存器FL可存储“O”。
[0105]如图18中的虚线框所示,与存储单元Eb、Ec和Plc相关联的锁存器ML、LL和SL可存储相同的数据。因此,难以通过使用第一读取电平RDl进行数据恢复的读取操作来发现目标状态。在这种情况下,可根据存储在强迫位线FL处的值来判断目标状态是擦除状态E还是第一编程状态Pl。例如,存储在存储单元Eb和Ec的每个的强迫位锁存器FL的值可以是“1”,存储在存储单元Plc的强迫位锁存器FL的值可以是“O”。尽管与存储单元Eb、Ec和Plc相关联的锁存器ML、LL和SL存储相同的数据,但是可根据存储在强迫位锁存器FL处的值来准确恢复目标状态是擦除状态E还是第一编程状态Pl。在图18中,这里可示出第一读取电平RDl低于第一预先验证电平PVl的情况。然而,本发明构思不限于此。例如,第一读取电平RDl可被设置为高于第一预先验证电平PVl并且低于第一验证电平VI。
[0106]图19是示意性示出在擦除状态与第二编程状态之间恢复数据的方法的示图。参照图19,当目标状态是擦除状态E时,存储单元Ed可具有低于第二预先验证电压PV2的阈值电压,存储单元Ee可具有高于第二预先验证电压PV2并低于第二验证电压V2的阈值电压。当目标状态是第二编程状态P2时,存储单元P2a可具有低于第二读取电平RD2的阈值电压,存储单元P2b可具有高于第二读取电平RD2并低于第二预先验证电压PV2的阈值电压,存储单元P2c可具有高于第二预先验证电压PV2并低于第二验证电压V2的阈值电压,并且存储单元P2d可具有高于第二验证电压V2的阈值电压。
[0107]存储在与每个存储单元相关联的锁存器ML、LL、SL和FL中的值可如图19所示。如图19中的虚线框所示,与存储单元Ee和P2d相关联的锁存器ML、LL和SL可存储相同的数据。因此,难以通过使用第二读取电平RD2进行数据恢复的读取操作来发现目标状态。如果存储在强迫位锁存器FL的值是“1”,则目标状态可变为擦除状态E。如果存储在强迫位锁存器FL的值是“0”,则目标状态可变为第二编程状态P2。
[0108]图20是示意性示出在擦除状态与第三编程状态之间恢复数据的方法的示图。参照图20,当目标状态是擦除状态E时,存储单元Ef可具有低于第三预先验证电压PV3的阈值电压,存储单元Eg可具有高于第三预先验证电压PV3并低于第三验证电压V3的阈值电压。当目标状态是第三编程状态P3时,存储单元P3a可具有低于第三预先验证电压PV3的电压,存储单元P3b可具有高于第三预先验证电压PV3并低于第三验证电压V3的阈值电压,并且存储单元P3c可具有高于第三验证电压V3的阈值电压。
[0109]存储在与每个存储单元相关联的锁存器ML、LL、SL和FL中的值可如图20所示。如图20中的虚线框所示,与存储单元Eg和P3c相关联的锁存器ML、LL和SL可存储相同的数据。因此,难以通过使用第三读取电平RD3进行数据恢复的读取操作来发现目标状态。如果存储在强迫位锁存器FL的值是“1”,则目标状态可变为擦除状态E。如果存储在强迫位锁存器FL的值是“0”,则目标状态可变为第三编程状态P3。[0110]在图18至图20中,可示出数据恢复操作需要三个读取操作的情况。然而,本发明构思不限于此。可通过以各种方式将数据锁存器ML和LL的数据、根据读取操作的感测锁存器SL的数据以及强迫位锁存器FL的数据进行组合来恢复目标数据。例如,能够通过用于数据恢复的一个读取操作来恢复高位。
[0111]图21是示意性示出根据本发明构思的实施例的在编程操作的高位恢复方法的示图。参照图21,在数据恢复操作的状态E、PU P2和P3中的每一个状态的高位恢复方法将如下。首先,将描述在目标状态是擦除状态E时的高位恢复方法。当“I”被存储在高位锁存器ML、低位锁存器LL和强迫位锁存器FL时,目标状态可被判断为擦除状态E。如图18所示,“ I ”被存储在高位锁存器ML、低位锁存器LL和强迫位锁存器FL的状态可仅指定擦除状态E。在这种情况下,在编程操作期间,可从锁存器ML、LL和FL的数据状态来恢复擦除状态E的高尾失败位。存储在强迫位锁存器FL的“I”可作为擦除状态E的高位被输出。
[0112]当目标状态是编程状态P1/P2/P3时的高位恢复操作可被划分为两个恢复操作第
一RCV和第二 RCV。在第一恢复操作第一 RCV,当“O”被存储在与未编程通过的存储单元相应的页缓冲器的高位锁存器ML处时,强迫位锁存器FL的数据可从“I”被改变为“O”。如图21所示,当在第一编程状态Pl和第二编程状态P2,“O”被存储在高位锁存器ML时,在第一恢复恢复操作第一 RCV,强迫位锁存器FL的数据可改变为“O”。因此,当目标状态是第一编程状态Pl/第二编程状态P2时,强迫位锁存器FL最后可存储“O”。这里,最后存储在强迫位锁存器FL处的“O”可作为第一编程状态Pl和第二编程状态P2的高位被输出。
[0113]在第二恢复操作第二 RCV期间,可使用第三读取电平RD3来执行读取操作。当根据读取操作的结果存储单元被判断为截止单元时,强迫位锁存器FL的数据可从“O”被改变为“I”。如图21所示,在第三编程状态P3,强迫位锁存器FL的数据可被改变为“I”。假设在第二恢复操作第二 RCV,几乎不产生第一编程状态Pl和第二编程状态P2的高尾失败位。使用该假设,最后存储在强迫位锁存器FL处的“ I ”可作为第三编程状态P3的高位被输出。使用上述数据恢复操作,能够使用数据锁存器ML和LL的数据、强迫位锁存器FL的数据和读取操作来恢复目标数据(高位)。可参照图21描述恢复高位的操作。相似地,可通过锁存器ML、LL和FL的数据以及读取操作来恢复低位。
[0114]图22A和图22B是示出根据本发明构思的实施例的非易失性存储装置的多位编程方法的流程图。将参照图1、图13、图22A和图22B描述非易失性存储装置的多位编程方法。
[0115]在操作S311,可将高位MSB载入高位锁存器ML上并且可将低位LSB载入低位锁存器LL上。此时,可用默认强迫位(例如,“I”)来设置强迫位锁存器FL。或者,默认强迫位(例如,“I”)可被存储在强迫位锁存器FL。这里,默认强迫位可以是指示不执行位线强迫的数据。
[0116]在操作S312,可根据存储在高位锁存器ML和强迫位锁存器FL处的数据来确定位线电压VBL,可将编程脉冲VWL施加到字线。例如,当存储在高位锁存器ML处的数据是“O”并且存储在强迫位锁存器FL处的数据是“I”时,位线电压VBL可被设置为位线编程电压BLPV,即,地电压GND。当存储在高位锁存器ML处的数据是“O”并且存储在强迫位锁存器FL处的数据是“I”时,位线电压VBL可被设置为位线强迫电压BLFV。如果存储在高位锁存器ML的数据是“ I ”,则位线电压VBL可被设置为位线禁止电压BLIV,即,电源电压VDD。编程脉冲可根据编程循环的重复而增加。[0117]在操作S313,可执行预先验证操作,并且可判断预先验证操作是否通过。如果将预先验证操作判断为通过,则在操作S314,强迫位锁存器FL的位线强迫位BFB可从“ I ”被改变为“O”。然后,在操作S315,可判断主要验证操作是否通过。如果主要验证操作被判断为通过,则在操作S316,可将高位锁存器ML和低位锁存器LL的数据改变为将在下一编程循环被编程禁止的通过模式数据(例如,“11”)。在操作S317,可判断总体编程操作是否通过。
[0118]在预先验证操作、主要验证操作或总体编程操作被判断为不通过的情况下,在操作S318,可判断当前编程循环是否达到最大编程循环。当当前编程循环未达到最大编程循环时,在操作S319,编程循环数量可增加,并且编程脉冲的电平可增加预定增量(例如,AISPP)。然后,该方法进行到操作S312。
[0119]在当前编程循环达到最大编程循环的情况下,编程操作可能会失败。在操作S320,可响应于编程失败立即执行数据恢复操作。这里,使用数据恢复操作,在操作S321,如图22B所示,可使用至少一个读取电平(例如,图21中的RD3)来对存储单元执行读取操作。可使用读取的数据和存储在强迫位锁存器FL处的强迫位来恢复载入的高位MSB和低位LSB。在操作S322,可如参照图21的描述相同地执行数据恢复操作。在操作S323,可对恢复的高位数据MSB和低位数据LSB进行纠错。可在非易失性存储装置100内或通过外部存储器控制器执行纠错操作。在结束了数据恢复操作之后,在操作S330,恢复的高位数据MSB和低位数据LSB可被回写到新的物理页。然后,可结束编程操作。使用本发明构思的多位编程方法,响应于编程失败,可使用指示是否需要位线强迫的强迫位和对存储单元的读取操作的结果来恢复载入的数据(MSB或LSB)。
[0120]可根据编程循环数量来确定总体编程失败。然而,本发明构思不限于此。例如,可根据失败位的数量来确定编程失败。根据失败位的数量来确定编程失败的技术在2011-0051514号美国专利出版物中被公开,其全部通过引用包含于此。
[0121]图23是示出根据本发明构思的另一实施例的非易失性存储装置的多位编程方法的流程图。将参照图1、图13和图23描述非易失性存储装置的多位编程方法。
[0122]在操作S410,可将将被编程的目标数据TD载入数据锁存器(例如,ML和LL)上,可用指示是否执行位线强迫的强迫位BFB来设置强迫位锁存器(例如,FL)。在操作S420,可以用载入的数据对存储单元进行编程。
[0123]然后,可针对存储单元执行导通单元验证操作。可执行导通单元验证操作以验证将被编程禁止的存储单元是否被编程。例如,在操作S430,可执行导通单元验证操作以验证擦除状态E是否因编程干扰而被编程。在操作S440,可针对存储单元执行截止单元验证操作。可执行截止单元验证操作以验证将被编程的存储单元是否达到与目标数据相应的目标状态。导通单元验证操作和截止单元验证操作在8,050, 101号美国专利和2010-0008149号美国专利出版物中被公开,其的全部通过引用包含于此。
[0124]可根据导通单元验证操作和截止单元验证操作的结果来确定编程操作通过还是失败。例如,如果作为导通单元验证操作和截止单元验证操作的结果,失败位的数量超过可纠正的失败位的数量,则在操作S450,编程操作可被确定为编程失败。如果编程操作被确定为编程失败,则在操作S460,可执行用于恢复目标数据的数据恢复操作。可以以参照图18至图20或参照图21描述的方式来执行数据恢复操作。在结束了数据恢复操作之后,在操作S470,恢复的目标数据可被回写到新的物理页。然后,可结束编程操作。使用本发明构思的多位编程方法,可根据导通单元验证操作和截止单元验证操作的结果来确定编程操作是否失败,并且可在编程失败时执行数据恢复操作。如参照图22和图23所述,可响应于编程失败来执行数据恢复操作。然而,本发明构思不限于此。例如,可响应于从外部装置提供的数据恢复命令来执行数据恢复操作。
[0125]图24是示出根据本发明构思的另一实施例的非易失性存储装置的多位编程方法的流程图。将参照图1、图13、图17和图24描述非易失性存储装置的多位编程方法。
[0126]在操作S510,在编程操作,可将指示目标状态的目标数据TD载入页缓冲器上。在操作S520,可将用于恢复擦除状态E的高尾失败位的恢复参考位RRB存储在位线强迫锁存器FL处。恢复参考位RRB可以是指示是否执行位线强迫的位线强迫位BFB。
[0127]在操作S530,可以在存储单元处编程目标数据TD。可响应于从存储器控制器提供的数据恢复命令来执行数据恢复操作而不管编程操作是否失败。如果接收到数据恢复命令,则在操作S540,可使用至少一个读取操作和恢复参考位RRB来恢复载入的目标数据TD。在结束了数据恢复操作之后,在操作S550,恢复的目标数据可被回写到新的物理页。然后,可结束编程操作。使用本发明构思的多位编程方法,当接收到数据恢复命令时,可使用恢复参考位RRB和至少一个读取操作来恢复目标数据。
[0128]图25是示出根据本发明构思的实施例的存储系统的数据恢复操作的流程图。以下,将参照图25描述存储系统的数据恢复操作。这里,存储系统可包括至少一个非易失性存储装置和控制至少一个非易失性存储装置的存储器控制器。
[0129]在操作S610,存储器控制器可从执行编程操作的至少一个非易失性存储装置读取编程的数据。在操作S620,存储器控制器可对读取的数据纠错。在操作S630,存储器控制器可判断读取的数据的差错是否是可纠正的。如果读取的数据的差错是不可纠正的,则方法进行到操作S650,其中,执行用于恢复编程的数据的数据恢复操作。这里,可以以参照图1至图24描述的方式执行数据恢复操作。如果读取的数据的差错是可纠正的,则在操作S640,存储器控制器可判断错误的位数量是否超过预定值。如果错误的位数量超过预定值,则方法进行到操作S650以确保数据可靠性。如果错误的位数量不超过预定值,则可结束数据恢复操作。如上所述,可基于读取的数据的差错来确定数据恢复操作。
[0130]图26示出根据本发明构思的另一实施例的存储系统的数据恢复操作的流程图。以下,将参照图26描述存储系统的数据恢复操作。在操作S710,存储器控制器可读取指示至少一个非易失性存储装置(NVM)的编程操作的状况的编程状况信息。在操作S720,存储器控制器可基于读取的编程状况信息来判断是否需要数据恢复操作。例如,当编程状况指示总体编程失败时,可需要数据恢复操作。在这种情况下,在操作S730,存储器控制器可将数据恢复命令(CMD)输出到非易失性存储装置。在操作S740,非易失性存储装置可响应于数据恢复命令执行数据恢复操作。可以以操作图1至图24描述的方式执行数据恢复操作。如上所述,可使用非易失性存储装置的编程状况信息来确定数据恢复操作。
[0131]图27是示出根据本发明构思的另一实施例的存储系统的数据恢复操作的流程图。以下,将参照图27描述存储系统的数据恢复操作。非易失性存储装置可使用数据锁存器DLl至DLk (参照图2)的数据来执行低尾数据恢复操作。如参照图3所述,低尾可以是单元编程操作失败的部分。在操作S810,当单元编程操作失败时数据锁存器DLl至DLk可保持目标状态的数据。此外,非易失性存储装置可使用恢复参考位RRB或用于数据恢复的至少一个读取操作来执行高尾数据恢复操作。如参照图5所描述的,高尾可以是单元编程操作通过的部分。如参照图5和图6所述,非易失性存储装置可使用恢复参考位RRB和读取操作来恢复指示目标状态的目标数据TD。本发明构思的数据恢复操作可执行低尾数据恢复操作/高尾数据恢复操作。
[0132]图28是示出根据本发明构思的另一实施例的存储系统的数据恢复操作的流程图。以下,将参照图28描述存储系统的数据恢复操作。在操作S910,非易失性存储装置可从存储器控制器接收数据恢复命令和地址。地址可指向恢复的数据被编程的新的页。在操作S920,非易失性存储装置可响应于输入的数据恢复命令和地址来执行数据恢复操作。数据恢复操作可以以参照图1至图24描述的方式被执行。如上所述,可根据数据恢复命令来恢复目标数据,并且恢复的数据可在由地址指定的新的页被编程。
[0133]使用本发明构思,可在编程操作设置/存储与引起相对多的失败位的特定状态相关联的状态信息(例如,RRB)ο在数据恢复操作,可使用状态信息来恢复与特定状态相应的目标数据。
[0134]本发明构思适用于垂直NAND闪速存储装置。
[0135]图29是根据本发明构思的存储器块BLK的透视图。参照图29,至少一条地选择线GSL、多条字线WL和至少一条串选择线SSL可被堆叠在字线切口之间的基板上。这里,至少一条串选择线SSL可被串选择线切口分离。多个柱可穿过至少一条地选择线GSL、多条字线WL和至少一条串选择线SSL。这里,至少一条地选择线GSL、多条字线WL和至少一条串选择线SSL可被形成为具有基板形状。位线BL可连接到多个柱的上表面。图29的存储器块可具有位线合并结构(word line merged structure)。然而,本发明构思不限于此。
[0136]图30是示意性示出根据本发明构思的实施例的存储系统的框图。参照图30,存储系统1000可包括至少一个非易失性存储装置1100和存储器控制器1200。非易失性存储装置1100可被构造为执行参照图1至图28描述的数据恢复操作。
[0137]非易失性存储装置1100可选择地从外部提供有高电压Vpp。存储器控制器1200可经由多个通道与非易失性存储装置1100连接。存储器控制器1200可包括至少一个中央处理单元(CPU) 1210、缓冲存储器1220、ECC电路1230、R0M1240、主机接口 1250和存储器接口 1260。尽管在图30中未示出,但是存储器控制器1200还可包括将数据随机化和去随机化的随机化电路。根据本发明构思的实施例的存储系统1000可适用于完美页新(PPN,perfect page new)存储器。
[0138]当非易失性存储装置1100的编程操作失败时或当需要编程操作的可靠性时,存储器控制器1200可产生数据恢复命令,并且可将数据恢复命令提供到非易失性存储装置1100。
[0139]存储器控制器1200可包括被构造为根据纠错码(ECC)来纠正数据的差错的ECC电路1230。ECC电路1230可计算将在写入操作被编程的数据的纠错码值、基于纠错码值纠正在读取操作读取的数据的差错、并纠正在数据恢复操作来自非易失性存储装置1100的恢复的数据的差错。存储器控制器1200可向非易失性存储装置1100提供编程命令,从而在另一物理页处编程在数据恢复操作恢复的数据。
[0140]存储系统1000可通过在数据恢复操作恢复目标数据来提高数据可靠性。此外,存储系统1000可减小芯片尺寸,这是因为存储系统1000不需要用于数据恢复操作的存储目标数据的单独的存储空间。
[0141]图31是示意性示出根据本发明构思的实施例的存储卡的框图。参照图31,存储卡2000可包括至少一个闪速存储器2100、缓冲存储装置2200和用于控制闪速存储器2100和缓冲存储装置2200的存储器控制器2300。
[0142]闪速存储器2100可选择地从外部提供有高电压Vpp。闪速存储器2100可被构造为执行在图1至图28中描述的数据恢复操作。缓冲存储装置2200可被用于暂时地存储在存储卡2000的操作期间产生的数据。可使用DRAM或SRAM来实现缓冲存储装置2200。存储器控制器2300可经由多个通道与闪速存储器2100连接。存储器控制器2300可连接在主机与闪速存储器2100之间。存储器控制器2300可被构造为响应于来自主机的请求访问闪速存储器2100。
[0143]存储器控制器2300可包括至少一个微处理器2310、主机接口 2320和闪存接口2330。微处理器2310可被构造为驱动固件。主机接口 2320可经由卡协议(例如,SD/MMC)与主机进行接口连接,以进行主机与存储卡2000之间的数据交换。
[0144]存储卡2000适用于多媒体卡(MMC)、安全数字卡(SD)、miniSD、记忆棒、智能介质(smart media)和 TF 卡(Trans-flah card)等。
[0145]图32是示意性示出根据本发明构思的实施例的moviNAND的框图。参照图32,moviNAND装置3000可包括至少一个NAND闪速存储装置3100和控制器3200。moviNAND装置3000可支持MMC4.4 (或,被称为“eMMC”)标准。
[0146]NAND闪速存储装置3100可以是单倍数据率(SDR)NAND闪速存储装置或双倍数据率(DDR)NAND闪速存储装置。在示例实施例中,NAND闪速存储装置3100可包括NAND闪速存储芯片。这里,可通过将NAND闪速存储芯片堆叠在一个封装件(例如,FBGA、精细节距球栅阵列等)来实现NAND闪速存储装置3100。每个NAND闪速存储芯片可被构造为执行图1至图24描述的数据恢复操作。
[0147]控制器3200可经由多个通道与闪速存储装置3100连接。控制器3200可包括至少一个控制器核3210、主机接口 3250和NAND接口 3260。控制器核3210可控制moviNAND装置3000的整体操作。主机接口 3250可被构造为执行控制器3210与主机之间的MMC接口。NAND接口 3260可被构造为NAND闪速存储装置3100与控制器3200之间的接口。在示例实施例中,主机接口 3250可以是并行接口(例如,MMC接口)。在其它示例实施例中,moviNAND装置3000的主机接口 3250可以是串行接口(例如,UHS-1I, UFS等)。
[0148]moviNAND装置3000可从主机接收电源电压Vcc和Vccq。这里,电源电压Vcc(大约3.3V)可被提供给NAND闪速存储装置3100和NAND接口 3260,而电源电压Vccq (大约
1.8V/3.3V)可被提供给控制器3200。在示例实施例中,外部高电压Vpp可选择地提供给moviNAND 装置 3000。
[0149]根据本发明构思的实施例的moviNAND装置3000可有益于存储海量数据并且可具有提高的读取特性。根据本发明构思的实施例的moviNAND装置3000适用于小并且低功率的移动产品(例如,Galaxy S、iPhone等)。
[0150]图33是示意性示出根据本发明构思的实施例的固态驱动器的框图。参照图33,固态驱动器(SSD)4000可包括多个闪速存储装置4100和SSD控制器4200。闪速存储装置4100可选择地从外部提供有高电压Vpp。闪速存储装置4100可被构造为执行参照图1至图28描述的数据恢复操作。SSD控制器4200可经由多个通道CHl至CHi连接到闪速存储装置4100。SSD控制器4200可包括至少一个CPU4210、主机接口 4220、缓冲存储器4230和闪存接口 4240。
[0151]根据本发明构思的实施例的SSD4000可执行能够提高数据的可靠性的编程操作。SSD4000的更详细的描述在7,802,054号、8,027,194号和8,122,193号美国专利以及2007/0106836号和2010/0082890号美国专利出版物中被公开,其全部内容通过引用包含于此。
[0152]图34是示意性示出根据本发明构思的实施例的通信装置的框图。参照图34,通信装置8000可包括通信单元8100、控制器8200、存储单元8300、显示单元8400、触摸屏单元8500和音频单元8600。
[0153]存储单元8300可包括至少一个DRAM8310、至少一个0neNAND8320和moviNAND8330。0neNAND8320和moviNAND8330中的至少一个可被构造为与图30中的存储系统1000相同。典型移动装置的详细描述在2010/0010040号、2010/0062715号、2010/00199081号、2010/0309237号和2010/0315325号美国专利出版物中被公开,其全部内容通过引用包含于此。
[0154]图35是示意性示出根据本发明构思的实施例的智能TV系统的框图。参照图35,智能TV系统9000可包括智能TV9100、revue9200、机顶盒9300、无线路由器9400、键盘9500和智能电话9600。可在智能TV9100和无线路由器9200之间执行无线通信。智能TV9100可通过作为开放平台的revue9200与互联网连接。智能TV9100可使用户能够观看通过机顶盒9300传送的有线和卫星广播。可根据键盘9500或智能电话9600的控制来操作智能TV9100。智能TV9100可包括在图30中示出的存储系统1000。
[0155]根据本发明构思的存储系统或存储装置可被安装在各种类型的封装件中。根据本发明构思的存储系统或存储装置的封装件的示例可包括封装件上封装件(PoP)、球栅阵列(BGA)、芯片级封装件(CSP)、塑料有引线的塑料芯片载体(PLCC)、塑料双列直插式封装件(PDIP)、窝伏尔封装件中裸片(Die in Waffle Pack)、晶片形式中裸片(Die inWafer Form)、板上芯片(COB)、陶瓷双列直插式封装件(CERDIP)、塑料公制四方扁平封装件(MQFP)、薄四方扁平封装件(TQFP)、小外型集成电路(S0IC)、缩小外型封装(SS0P)、薄小外型封装(TSOP )、封装件中系统(SIP )、多芯片封装件(MCP )、晶片级制造封装件(WFP )和晶片级堆叠封装件(WSP)。
[0156]虽然已经参考示例性实施例描述了本发明构思,但是对于本领域技术人员将清楚的是,在不脱离本发明的精神和范围的情况下,可做出各种改变和修改。因此,应理解,以上实施例不是限制,而是示例性的。
【权利要求】
1.一种操作非易失性存储装置的方法,包括:通过读取在编程操作期间验证的非易失性存储装置中的第一多个多位非易失性存储单元和强迫位数据矢量,来检测在用于对第一多个多位非易失性存储单元的部分进行编程的编程操作期间产生的差错,以识别第一多个多位非易失性存储单元中的任意的多位非易失性存储单元是否包含错误的数据。
2.如权利要求1所述的方法,其中,所述检测差错的步骤还包括:从与第一多个多位非易失存储单元相关联的页缓冲器中读取数据,以识别第一多个多位非易失性存储单元中的哪个是具有基本上为高的阈值电压的擦除的单元。
3.如权利要求1所述的方法,其中,编程操作包括:验证在其中具有相等的数据值的初始强迫位数据矢量。
4.如权利要求1所述的方法,其中,编程操作包括:验证在其中具有相等的第一数据值的初始强迫位数据矢量,其中,验证的步骤包括:保持初始强迫位数据矢量或将初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量,其中,所述多个第二数据值识别已在编程操作期间进行至少部分编程的第一多个多位非易失性存储单元中的各个多位非易失性存储单元。
5.如权利要求2所述的方法,其中,编程操作包括:将在其中具有相等的第一数据值的初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量,其中,所述多个第二数据值识别已在编程操作期间进行至少部分编程的第一多个多位非易失性存储单元中的各个多位非易失性存储单元;响应于在编程操作期间第一多个多位非易失性存储单元中的一个或多个的成功编程来更新页缓冲器中的数据。
6.一种操作非易失性存储装置的方法,包括:通过计算(i)从非易失性存储装置中多位非易失性存储单元的选择的页读取的数据、(ii)在编程操作期间更改的强迫位数据矢量和(iii)在与多位非易失性存储单元的页相关联的页缓冲器中的数据,来检测在用于对多位非易失性存储单元的选择的页进行编程的编程操作期间产生的差错,以识别多位非易失性存储单元中的任意的多位非易失性存储单元是否是具有基本上为高的阈值电压的擦除的单元。
7.如权利要求6所述的方法,其中,编程操作包括:将在其中具有相等的第一数据值的初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量,其中,所述多个第二数据值将在选择的页中的各个多个多位非易失性存储单元识别为已在编程操作期间进行至少部分编程。
8.如权利要求7所述的方法,其中,编程操作还包括:响应于在编程操作期间在选择的页中的多位非易失性存储单元中的一个或多个多位非易失性存储单元的成功编程,将页缓冲器中的数据中的至少一些重置为默认值。
9.一种操作非易失性存储装置的方法,包括:响应于验证在编程操作期间非易失性存储装置中的第一多位非易失性存储单元已被正确编程到第一编程状态,将与第一多位非易失性存储单元的第一编程状态相关联的第一多位数据值改变为与第一多位非易失性存储单元的擦除状态相关联的第二多位数据值;读取在编程操作期间更改的强迫位数据以确认与第一多位非易失性存储单元相关联的第二多位数据值反映被准确地编程的单元。
10.如权利要求9所述的方法,其中,编程操作包括:在页缓冲器中,将第一多位数据值重置为第二多位数据值。
11.如权利要求10所述的方法,其中,所述读取包括:读取页缓冲器、在编程操作期间更改的强迫位数据和非易失性存储装置中的多个多位非易失性存储单元,以识别在所述多个多位非易失性存储单元中的具有不可接受地高的阈值电压的擦除的单元。
12.如权利要求9所述的方法,其中,在所述读取在编程操作期间更改的强迫位数据之前,将相等的逻辑值的多位强迫位矢量载入强迫位寄存器。
13.如权利要求12所述的方法,还包括:在编程操作期间更改在强迫位寄存器中的多位强迫位矢量的至少一部分,以识别在已使用ISSP编程技术进行期望的编程的非易失性存储装置中的多个多位非易失性存储单J Li ο
14.一种操作非易失性存储装置的方法,包括:通过读取非易失性存储装置中的一行多位非易失性存储单元以及从页缓冲器读取后编程数据和在对所述一行多位非易失性存储单元进行编程期间使用的强迫位数据,来对在所述一行多位非易失性存储单元执行差错检测操作,从而识别在所述一行中的多位非易失性存储单元中的任意的多位非易失性存储单元是否是具有不可接受地高的阈值电压的擦除的单元。
15.如权利要求14所述的方法,其中,所述执行的步骤在以下步骤之后: 将数据的多个页载入页缓冲器;以来自页缓冲器的数据的所述多个页来对所述一行的多位非易失性存储单元进行编程。
16.如权利要求15所述的方法,其中,所述对所述一行的多位非易失性存储单元进行编程的步骤包括:当所述一行中的多位非易失性存储单元的相应编程状态被验证为准确时,重置页缓冲器中的数据中的至少一些。
17.如权利要求16所述的方法,其中,所述对所述一行的多位非易失性存储单元进行编程的步骤包括:更改预载入的强迫位矢量的位,从而指示关于所述一行内的相应多位非易失性存储单元的编程操作的信息。
18.如权利要求16所述的方法,其中,所述对所述一行的多位非易失性存储单元进行编程的步骤包括:更改预载入的强迫位矢量的位,从而指示关于所述一行内的相应多位非易失性存储单元的ISSP编程操作的性能。
19.一种集成电路存储系统,包括:至少一个非易失性存储装置;存储器控制器,电结合到所述至少一个非易失性存储装置,所述存储器控制器在其中包括中央处理电路和ECC电路,所述ECC电路被构造为通过读取在所述至少一个非易失性装置中的第一多个多位非易失性存储单元和在编程操作期间更改的强迫位数据矢量来对在编程操作期间编程到所述至少一个非易失性存储装置中的数据执行数据恢复操作,以识别第一多个多位非易失性存储单元中的任意的多位非易失性存储单元是否包含错误的数据。
20.如权利要求19所述的存储系统,其中,所述数据恢复操作包括:从与第一多个多位非易失存储单元相关联的页缓冲器中读取数据,以识别第一多个多位非易失性存储单元中的哪个是具有充分高的阈值电压的擦除的单元。
21.如权利要求19所述的存储系统,其中,编程操作包括:将在其中具有相等的第一数据值的初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量,其中,所述多个第二数据值识别已在编程操作期间进行至少部分编程的第一多个多位非易失性存储单元中的各个多位非易失性存储单元。
22.如权利要求20所述的存储系统,其中,编程操作包括:将在其中具有相等的第一数据值的初始强迫位数据矢量更改为在其中具有多个第二数据值的更改的强迫位数据矢量,其中,所述多个第二数据值识别已在编程操作期间进行至少部分编程的第一多个多位非易失性存储单元中的各个多位非易失性存储单元;响应于在编程操作期间第一多个多位非易失性存储单元中的一个或多个多位非易失性存储单元的成功编程,来 更新页缓冲器中的数据。
【文档编号】G11C16/06GK103456361SQ201310206487
【公开日】2013年12月18日 申请日期:2013年5月29日 优先权日:2012年5月29日
【发明者】李知尚, 金武星, 崔奇焕 申请人:三星电子株式会社
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1