与非闪存设备及其编程方法

文档序号:6783416阅读:180来源:国知局
专利名称:与非闪存设备及其编程方法
技术领域
示例性的实施例涉及半导体存储设备。更具体地,示例性的实施例涉及 NAND闪存设备及其编程方法。
背景技术
半导体存储设备是一种能够在其中存储数据并且读取所存储的数据的存 储设备。半导体存储设备主要分类为随机存取存储器(RAM)或只读存储器 (ROM )。 RAM是易失性存储设备,当没有电源和/或提供给RAM的电源被中 断时,其中存储的数据消失或丟失。ROM是非易失性存储设备,即使当没有电 源和/或提供给ROM的电源被中断时,其中存储的数据也被保留或被维持。 RAM的例子包括动态RAM (DRAM)、静态RAM ( SRAM )等等。ROM的例 子包括可编程ROM( PROM )、可擦除PROM( EPROM )、电EPROM( EEPROM )、 闪存设备等等。此外,闪存设备例如可以进一步分类为NOR型或NAND型的 闪存设备。
非易失性存储设备的存储单元分别具有电荷存储层。通常,电荷存储层采 用使用导体的浮栅方法,或使用绝缘材料的电荷俘获方法。电荷存储层中没有 存储电荷的状态可以称为逻辑1并且可以表示存储单元中没有存储数据或者存 储单元已经被擦除。同样,电荷存储层中存储了电荷的状态可以称为逻辑O并 且可以表示存储单元中存储了数据或者存储单元已经被编程。
编程操作是在存储单元的电荷存储层中存储电荷的操作。然而,通过编程 操作在电荷存储层中存储的电荷在编程操作之后的时间间隔或时间段内可能处 于不稳定的状态。特别地,使用通过电荷存储层的电荷俘获的闪存设备(例如,电荷俘获闪存(CTF)存储设备)需要一个时间间隔或一段持续的时间,直到 被编程的电荷变得稳定为止。也就是说,对于在被编程之后的一个时间间隔或 时间段,被编程存储单元的阈值电压可能处于不稳定的状态。在被编程之后可 能要花一个时间间隔或时间段来等存储单元的阈值电压变得稳定就指示一个准 确的电平。
因此,如果在编程了存储单元之后立即执行验证操作,则由于不稳定的阈 值电压可能发生错误。如果阈值电压被识别为低于准确的电平,则本应通过验 证操作的存储单元可能错误地被确定为没有通过验证操作。在这种情况下,存 储单元纟皮过度地编程。相反,如果阈值电压^^皮识别为高于准确的电平,则本应 没有通过验证操作的存储单元可能错误地被确定为通过了验证操作。在这种情 况下,存储单元没有被适度地编程。因此,存储单元的阅值电压分布扩大。

发明内容
行验证操作的NAND闪存设备及其编程方法。
示例性的实施例提供了 NAND闪存设备。NAND闪存设备可以包括包含 多个页的单元阵列、存储页的编程数据的页緩沖器、为页緩冲器提供编程验证 数据的数据存储电路;以及控制单元。
根据示例性的实施例,控制单元可以初始编程页而不执行验证操作,然后 通过使用编程验证数据对页执行验证操作。
根据示例性的实施例,控制单元编程页并且在对至少两页编程之后使用编 程验证数据来验证页的编程。
根据示例性的实施例,编程数据通过数据存储电路被存储在页緩冲器中。
根据示例性的实施例,控制单元顺序地编程,然后验证被编程的页。
根据示例性的实施例,如果至少一个页没有通过验证操作,则控制单元增 加编程电压并且重复编程和验证操作。
根据示例性的实施例,编程验证数据可以被存储在数据存储电路中并且可 以基于验证操作的结果被更新。
根据示例性的实施例,在顺序地编程页之后,控制单元-睑证并且然后编程 每个页。
根据示例性的实施例,当编程验证过程期间发生编程失败时,如果被编程的页之一没有通过验证操作,则控制单元增加编程电压并且重复验证和编程操 作。
根据示例性的实施例,数据存储电路存储从外部源和/或设备输入的编程数 据并且实际上同时将该编程数据提供给页緩沖器。
根据示例性的实施例,数据存储电路具有与页緩沖器相同的结构。 根据示例性的实施例,数据存储电路包括多个寄存器。
包括编程多个页而不进行验证操作;然后验证被编程的页。
包括编程多个页,并且在对多个页的至少两页编程之后-验证被编程的页。
根据示例性的实施例,对页顺序地执行编程验证操作。
根据示例性的实施例,用于执行编程和验证操作的时间大于在编程之后被 编程的存储单元的阈值电压达到稳定的时间间隔。
根据示例性的实施例,根据用于执行编程和验证操作的时间或者在编程之 后被编程的存储单元的阈值电压达到稳定的时间间隔,确定页的数量。
根据示例性的实施例,多个页包括虛拟页。该虚拟页将总是被认为通过验 证操作。
根据示例性的实施例,方法可以进一步包括如果被编程的页没有通过验 证操作,则增加编程电压并且重复编程和验证操作。
根据示例性的实施例,该方法可以进一步包括对通过了验证操作的页重复 编程和验证搡作。
根据示例性的实施例,可以对多级单元的最高有效位和最低有效位执行编 程方法。
根据示例性的实施例,该方法可以进一步包括将第一验证电压确定为低 于被编程的存储单元中所需的阈值电压的电压;通过该第一验证电压编程页; 将第二验证电压确定为与被编程的存储单元中所需的阈值电压相同的电压;以 及通过该第二验证电压重复地编程页。
根据示例性的实施例,该方法可以进一步包括确定低于与被编程的存储单 元相关的阈值电压的第 一 电压,用所确定的第 一验证电压验证被编程的存储单 元,确定等于或大于用于编程多个页的编程电压与该第一电压的总和的第二电 压,以及用该第二电压重复地编程页。再一个示例性的实施例提供了 一种存储系统。该存储系统可以包括NAND 闪存设备;以及控制NAND闪存设备的存储控制器。NAND闪存设备可以包括 单元阵列,含有多个页;页緩沖器,存储页的编程数据;存储电路,为页緩沖 器提供编程验证数据的数据;以及控制单元,编程页而不执行编程验证操作并 且通过使用编程验证数据对页执行编程验证操作。


附图被包括来提供对示例性实施例的进一步理解,并且结合在该公开中构 成该公开的一部分。

示例性实施例,并且与详细的说明一起用于解释 该公开的优点、原理和范围。附图中
图1是根据示例性实施例的NAND闪存设备的结构图2是说明用于图1的NAND闪存设备的编程方法的示例性实施例;
图3是说明图2的编程方法的示例性实施例的流程图4是说明在图3的编程方法的编程操作期间图1的NAND闪存设备的示 例寄存器操作的视图5是说明在图3的编程方法的编程操作期间图1的NAND闪存设备的示 例寄存器操作的视图6是说明编程方法的另 一个示例性实施例的^L图; 图7是说明图6的编程方法的示例编程操作的流程图; 图8是根据示例性实施例的NAND闪存设备的结构图10是说明根据示例性实施例的具有闪存设备的存储系统的结构图。
具体实施例
现在将参考附图更加充分地描述各种示例性的实施例。然而,这里公开的 特定结构上和功能上的细节是为描述示例性实施例的目的而仅仅是代表性的, 并且本领域的技术人员可以理解的是,各种示例性实施例可以用多种替换形式 来实施而不被解释为仅仅限制到这里所述的实施例。
可以理解的是,虽然这里使用了术语第一、第二等等来描述不同的元件, 但是这些元件不应当被这些术语所限定。这些术语仅仅用于区分一个元件与另 一个元件。例如,第一元件可以被称为第二元件,同样,第二元件可以被称第一元件,而不脱离本公开的范围。如这里所使用的,术语"和/或"包括一个或 多个相关列出项目的任意和所有组合。
可以理解的是,当提到元件被"连接,,或"耦合"到另一个元件时,它可以被 直接连接或耦合到其他元件或可能提供中间元件。相反,当提到元件被"直接连 接,,或"直接耦合"到另一个元件时,则不提供中间元件。用于描述元件之间关系 的其他词应当用类似的方式来解释(例如,"之间,,与"直接之间"相对,"邻近" 与"直接邻近"相对等等)。
这里使用的术语仅仅用于描述示例性实施例而不是要作为示例性实施例 的限制。如这里使用的,单数形式"一个"和"这个"也包括复数形式,除非上下 文明确地指出其他形式。可以进一步理解的是,当在这里使用术语"包含"和/或 "包括"时,指存在所述的特征、整数、步骤、操作、元件、和/或部件,但是不 排除存在或附加一个或多个其他特征、整数、步骤、操作、元件、部件、和/ 或它们的组合。
除非另有定义,这里使用的所有术语(包括技术和科技术语)具有与示例 性实施例所属的领域中的技术人员通常理解的相同含义。可以进一步理解的是, 诸如通常使用的字典中定义的那些术语,应当被解释为具有与它们在相关技术 和本公开的上下文中的含义一致的含义,而不用理想化或过于正式的含义来解 释它们,除非这里明确地定义。
页执行编程和验证操作同时对另一个页执行编程和验证操作。例如,将多个页 确定为编程单元。然后可以将编程电压顺序地施加到每个确定的页。此后,可 以将验证电压和编程电压顺序地施加到一个页。上述方法可以对多个页顺序地 执行。
根据对NAND闪存设备编程的方法的另 一个示例性实施例,将多个页确定 为编程单元。此外,可以将编程电压顺序地施加到确定的页。然后可以将验证 电压顺序地施加到多个页。例如,在验证任意被编程的页的验证之前,可以对 编程单元的多个页编程。
根据对NAND闪存设备编程的方法的一个示例性实施例,在对一个页的编 程操作和验证操作之间存在时间间隔或时间段。在该时间间隔期间,存储单元 的阈值电压变得稳定。
以下,参照附图更加详细地描述示例性的实施例,以便本7>开对于本领域
8的技术人员来说是彻底的和完全的,并且也完全表达了本公开的范围。
图1是NAND闪存设备100的示例性实施例的结构图。参照图1, NAND 闪存设备100包括单元阵列110、行解码器120、页緩冲器130、寄存器140、 列选择器150、输入/输出(I/O)电路160、通过/失败(P/F)检查170、以及控 制电3各180。
单元阵列110包括多个存储区块。图1中示出了存储区块之一。每个存储 区块包括多个页,而每个页包括多个存储单元。例如,在NAND闪存设备100 中,存储区块是可擦除单元,而页是可读和可编程单元。
另一方面,每个存储区块可以包括多个单元串。每个单元串可以包括接地 选择晶体管、多个存储单元、以及串选择晶体管。图1中,接地选择晶体管连 接到接地选择线GSL,存储单元连接到字线WL0至WL31,而串选择晶体管连 接到串选择线SSL。单元串连接到相应的位线(例如,BL1 )与公共源极线CSL 之间。
参照图1,行解码器120连接到单元阵列110和控制电路180。例如,行 解码器120可以根据控制电路180的控制来选择单元阵列110的字线WLO至 WL31。
页緩冲器130连接到单元阵列110和寄存器140。页緩沖器130可以存储 从寄存器140传递的数据以及从单元阵列IIO传递的数据。图1中,页緩冲器 130包括多个页緩冲单元131至13n。页緩冲单元131至13n分别连接到单元阵 列110的位线BL1至BLn以及寄存器140的寄存器单元141至14n。
寄存器140连接到页緩沖器130、列选择器150以及控制电路180。寄存 器140可以由控制电路180控制。寄存器140可以存储从列选择器150传递的 数据并且可以将存储的数据传递到页緩冲器130。寄存器140包括多个寄存器 单元141至14n。寄存器单元141至14n分别连接到页緩冲器140的页緩冲单 元131至13n。每个寄存器单元141至14n可以包括多个寄存器。例如,如图1 中所说明的,每个寄存器单元141至14n有两个寄存器Reg.A和Reg.B。
列选择器150连接到寄存器140、 I/O电路160、 P/F检查170以及控制电 路180。列选择器150可以由控制电路180控制。列选择器150可以选择寄存 器单元141至14n和页緩冲单元131至13n。列选择器150例如可以通过所选 择的寄存器140和页緩冲器130的路径传递编程数据或从单元阵列110中读取 数据。I/O电路160连接到列选择器150和控制电路180。 I/O电路160可以由控 制电路180控制。I/O电路160可以从外部源和/或设备接收数据并且可以将接 收的数据传递到列选择器150。此外,I/O电路160可以将来自列选择器150的 数据传递到外部源和/或设备。
仍然参照图1, P/F检查170连接到列选择器150和控制电路180。 P/F检 查170可以由控制电路180控制。当执行验证操作时,P/F检查170可以确定 被编程的存储单元是被确定为通过了验证操作还是没有通过验证操作。
控制电路180连接到行解码器120、列选择器150、 I/O电路160以及P/F 检查170。控制电路180可以确定所有被编程的页是通过还是没有通过验证操 作。控制电路180可以包括存储设备。存储设备可以存储有关每个被编程的页 是被确定为通过了验证操作还是没有通过验证操作的信息。此外,为了允许根 据这里描述的方法的示例性实施例执行单元阵列110的编程操作,控制电路180 控制NAND闪存设备100的一般操作。
根据实施例,NAND闪存设备100执行对多个页的编程操作。为了编程多 个页,每个页的编程数据被存储到页緩沖器中。然而,可以使用和/或要求相对 长的时间间隔或时间段,用于将来自外部源和/或设备的每个页的编程数据传递 到页緩冲器130。需要较长的时间周期或时间段的一个原因是,常规地,从外 部源和/或设备输入的数据被顺序地一次输入8位并且页緩沖器存储512字节。
根据示例性的实施例,为了减少数据输入的时间间隔或时间段,NAND闪 存设备100包括寄存器140。如果使用寄存器140,则可以在从外部源和/或设 备传递数据时实际上同时执行编程操作。
例如,基于在寄存器(例如,寄存器140的Reg.A)中存储的数据可以编 程相应的页,同时从外部源和/或设备传递的数据被存储到另 一个寄存器(例如, 寄存器140的Reg. B )中。然后,可以基于Reg. B中存储的数据编程相应的页, 同时将下一页的数据从外部源和/或设备传递到Reg.A中。即,根据示例性的实 施例,不需要等待直到输入所有的数据为止。因此,由于在同一个时间周期内 可以编程多个页,所以可以编程增加^:量的页。
如图1中所示,每个寄存器单元141至14n包括两个寄存器。然而,显而 易见的是,根据闪存设备的特征和目的,构成每个寄存器单元141至14n的寄 存器的数量可以改变。
图2是说明对图1的NAND闪存设备100编程的方法的示例性实施例的视图。参照图2,对多个页的编程净皮分成循环单元。例如,在第一个循环Loopl
中,编程电压VpGM可以被顺序地施加到页。根据示例性实施例,在第一个循环
Loopl期间,顺序地编程多个页Pagel至PageN而不验证被编程的页。参照图 2,从第一页Pagel到第N页PageN顺序地施加编程电压VPGM。
在第二循环Loop2期间,可以对每个页顺序地执行验证和编程操作。例如,
可以将高于前一个循环的编程电压VpGM的编程电压VpGM+a施加到存〗诸单元。
同样,可以根据验证结果来验证并且然后编程第二页。可以对多个页顺序地执 行该处理。通过相同的方法,在编程第一页之后,编程最后一页之前产生时间
周期to。
根据示例性的实施例,可以重复第二循环Loop2中执行的操作,直到确定 所有的页都通过了验证操作为止。如图2中所示,重复编程循环,直到第M个 循环LoopM为止。
以下,从第二循环Loop2到第M循环(LoopM)重复的编程操作被称为 重复循环方法。根据示例性的实施例通过循环单元编程多个页的操作被称为循 环操作。此外,待循环编程的页被称为循环页。
如果使用重复循环方法,则直到编程了存储单元之后执行验证操作为止, 存在一个时间间隔或时间段t0。例如,在第三循环Loop3中验证第二循环Loop2 中编程的第一页。其他页的验证和编程操作的时间间隔或周期可以是tO。即, 在编程电压施加到第一页之后,直到施加验证电压为止存在时间间隔t0。
在对存储单元编程后的时间间隔或时间段t0之后,被编程的存储单元的阈
变得足够稳定的时间周期,使得在验证操作期间可以减少和/或消除错误。
可以通过在一个循环中待编程的页的数量来确定和/或影响时间周期t0。例
如,确定循环页的数量以便允许时间周期tO大于或等于用于稳定编程操作之后
的阈值电压的时间周期。
图3是说明图2的编程操作的流程图。参照图3,编程操作被分成操作S100
和操作S200。操作S100是图2的第一循环Loopl的编程操作。操作S200是与
图2的第二循环Loop2到第M循环LoopM相应的重复循环方法。
编程操作S100包括操作S110到S130。操作S110中,选择将被编程的页
中的第一页。操作S120中,对所选择的页编程。在操作S130中,确定所选择
的页是否为循环页中的最后一页。如果所选择的页是最后一页,则执行重复循环方法操作S200。如果所选择的页不是最后一页,则编程操作进行到操作S140。 操作S140中,选择下一个页然后重复操作S120到S140。即,在操作S100中, 一个接一个地顺序地编程所有循环页。根据图3中所示的示例性实施例,操作 S100不包括^r证操作。
仍然参照图3,根据示例性的实施例,操作S200是重复循环方法并且包括 操作S210到S270。操作S210中,从循环页中选择第一页。在操作S220中, 验证所选择的页。
在操作S230中,确定所选择的页是被确定为通过了验证操作还是没有通 过验证操作。如果所选择的存储页通过了验证操作,则该方法进行到操作S240。 在操作S240中,如果所有的循环页都通过了验证操作,则当前的循环结束。 如果循环页中存在没有通过验证操作的页,则该方法进行到操作S260。例如, 可以在图1的控制电路180中执行该确定操作。每个循环页是否都通过了验证 操作可以存储在控制电路180的存储设备中。例如,控制电路180根据存储设
操作S230中,如果确定所选择的页没有通过验证操作,则该方法进行到 操作S250。操作S250中,对所选择的页编程。然后该方法进行到操作S260。
操作S260中,确定所选择的页是否为循环页中的最后一页。如果所选择 的页不是最后一页,则在操作S270中选择下一个页并且该方法进行到操作 S220。如果所选择的页是最后一页,则在操作S210中可以选择另一个循环的 第一页。操作S220到S270中,可以对所选择的页重复执行验证和编程操作。
简单地,在操作S200中选择一页并且验证所选择的页,表示重复循环方 法。如果验证结果显示所选择的页通过了验证操作,则选择下一页而没有额外 的操作。如果验证结果显示所选择的页没有通过验证操作,则可以对所选择的 页执行编程操作,并且可以选择下一页。重复该重复循环方法直到显示所有的 循环页都通过了验证操作为止。在循环编程操作期间,每次执行了一个循环之 后,可以逐渐增加编禾呈电压。
在存储单元的阈值电压变得足够稳定之后,对页的循环编程可以是执行验 证操作。然而,如果将通过验证操作排除在循环编程操作之外,则不使用或不 需要一个循环的时间。即,循环编程操作时间可能是不足的。换句话说,如果 从循环中删除已经通过了验证操作的页,则存储单元的阈值电压可能没有足够 的时间变得稳定。如果从循环中删除通过了验证操作的页,则可能发生验证和/或编程错误。为了减少和/或防止这些可能的错误,可以对已经通过验证操作的 页重复执行循环编程操作,只要循环中的 一 页没有通过验证操作。
如上所述,编程之后, 一旦时间周期结束就可以验证每个存储单元。即, 在存储单元的阈值电压变得稳定之后可以执行验证操作。因此,根据示例性的 实施例,可以减少和/或防止由于不稳定的阈值电压而产生的验证和编程错误。
图4是说明图3的编程操作期间图1的存储设备100的寄存器140的示例 操作的框图。参照图4,将描述图3的操作S120 (例如,使用图1中单元阵列 110、页缓沖器130以及寄存器140的两个页编程所选"^的页的操作)。图4的 箭头表示数据流向。图4中,假设待编程的循环页的数量是2,并且图1的每 个寄存器单元141至14n包括两个寄存器。
参照图4,操作S121中,第一页的数据被传递到寄存器A。操作S122中, 第二页的数据被传递到寄存器B。寄存器A中存储的第一页的数据可以被传递 到页緩沖器。例如,在第二页的数据被传递到寄存器B的同时,寄存器A中存 储的第一页的数据可以被传递到页緩冲器。另外,可以根据页緩冲器中存储的 数据编程第一页。
在操作S123中,寄存器B中存储的第二页的数据可以被传递到页緩沖器。 此外,可以根据页緩冲器中存储的数据编程第二页。
然后,可以、执行重复循环方法。如果在重复循环方法期间-睑_〖正和编程第一 页,则寄存器A中存储的第一页的数据可以被传递到页緩冲器。如果验证和编 程第二页,则寄存器B中存储的第二页的数据可以被传递到页緩沖器。
一个寄存器可以将数据传递到页緩冲器以执行相应页的编程操作。在一个 寄存器将数据传递到页緩冲器以执行相应页的编程操作的同时,另 一个寄存器 可以接收来自外部源和/或设备的将要编程的页的数据。此外,当每个循环页的 所有数据被存储到寄存器中时,可以将待验证和编程的页的数据从寄存器传递 到页緩冲器。
如果没有寄存器,则以8比特为单位的数据可以被顺序地传递到512字节 的页緩冲器。然而,当存在寄存器的情况下,数据可以从512字节的寄存器被 传递到512字节的页緩冲器。此外, 一个寄存器可以接收来自外部源和/或设备 的数据,而另 一个寄存器可以实际上同时将用于编程操作的数据传递到页緩沖 器。因此,如果使用寄存器,可以减少从外部源和/或设备接收数据的等待时间。 即,编程了一页之后,根据示例性的实施例可以减少编程另一页的时间。结果,
13与传统的技术相比,根据示例性的实施例在循环编程操作期间,可以循环编程 增加数量的页。
根据另一个示例性的实施例,寄存器的数量可以与循环页的数量不同。如 果寄存器的数量大于循环页的数量,则可以实施图4中说明的方法的示例性实施例。
图5是说明在图3的编程操作期间,图1中的存储设备100的寄存器140 的操作的框图。与图4类似,图5说明了图3的操作S120,其中使用图l的单 元阵列110、页緩冲器130以及寄存器140中的三个页编程所选择的页。图5 的箭头表示数据流向。图5中,假设待编程的循环页的数量是3,并且每个寄 存器单元141至14n具有两个寄存器。
参照图5,操作S125中,可以将第一页的数据从外部源和/或设备传递到 寄存器A。操作S126中,可以将第二页的数据从外部源和/或设备传递到寄存 器B。同时,寄存器A中存储的第一页的数据可以被传递到页緩冲器。可以根 据页緩冲器中存储的数据编程第 一 页。
操作S127中,可以将第三页的数据从外部源和/或设备传递到寄存器A。 同时,寄存器B中存储的第二页的数据可以被传递到页緩冲器。此外,可以根 据页緩冲器中存储的数据编程第二页。
操作S128中,可以将第一页的数据从外部源和/或设备传递到寄存器B。 同时,寄存器A中存储的第三页的数据可以被传递到页緩冲器。此外,可以根 据页緩冲器中存储的数据编程第三页。
其后,可以执行重复循环方法。例如,如果在重复循环方法中验证和编程 了第一页,则寄存器B中存储的第一页的数据可以被传递到页緩冲器。同时, 对下一页的验证和编程操作所使用和/或需要的第二页的数据可以从外部源和/ 或设备被传递到寄存器A。
当验证和编程第二页时,寄存器B中存储的第二页的数据可以被传递到页 緩冲器。同时,对下一页的验证和编程操作所使用和/或需要的第三页的数据可 以从外部源和/或设备被传递到寄存器B。
当验证和编程第三页时,寄存器B中存储的第三页的数据可以被传递到页 緩沖器。同时,对下一页的验证和编程操作所使用和/或需要的第一页的数据可 以从外部传递到寄存器A。
例如,为了执行相应页的验证和编程操作, 一个寄存器将数据传递到页緩冲器,同时另一个寄存器为下一页接收将要验证和编程的页的数据。可以从外 部源和/或设备接收下一页。
如果没有寄存器,则以8比特为单位的数据可以被顺序地传递到512字节 的页緩冲器。然而,如果使用寄存器,数据可以从512字节的寄存器被传递到 512字节的页緩冲器。此外, 一个寄存器可以接收来自外部源和/或设备的数据, 而另 一个寄存器可以将用于编程操作的数据传递到页緩冲器。这些操作可以实 际上同时执行。因此,如果使用寄存器,可以减少从外部接收数据的等待时间。 即,编程了一页之后,可以减少编程另一页所需的时间。结果,根据示例性的 实施例,与传统的技术相比,在循环编程操作期间可以循环编程增加数量的页。
根据另 一个示例性的实施例,将要编程的页的数量可以小于循环编程操作 使用和/或需要的循环页的数量。例如,可能发生以下情况,其中存储区块中只 存在将要编程的三个页,但是使用和/或需要五个循环页以便可以执行一个循环 的编程搡作以允许阈值电压变稳定。在这种情况下,可以使用和/或应用一个或 多个虚拟页。例如,假设存在两个通过验证操作的页。可以对包括三个虚拟页 的总共五页执行循环编程。对于虚拟页,仅执行数据加载和验证操作。不对虚 拟页执行编程操作,并且根据示例性的实施例虚拟页可以始终通过验证操作。 因此,可以满足希望和/或需要数量的循环页而不影响循环编程操作。
在上述的示例性的实施例中,使用循环编程操作编程每个页。然而,根据 示例性的实施例,可以用典型的编程方法连同循环方法来进行闪存设备的编程。
首先,低于与被编程的存储单元相关的阈值电压(例如,0.7V)的电压(例 如,0V)可以被确定为验证电压。此外,可以基于所确定的验证电压使用典型 的方法来编程存储单元。此时,存储单元的阈值电压可以在O V附近分布。随 后,原始阔值电压(例如,0.7V)可以被确定为验证电压并且可以使用根据示 例性实施例的循环方法编程存储单元。同样,根据实施例存储单元的编程可以 包括典型的编程方法以及循环方法。
在上述的实施例中,根据第一寄存器中存储的数据执行编程操作。此外, 从外部源和/或设备传递的数据可以存储在另一个寄存器中,同时对第一寄存器 中存储的数据执行编程操作。然而,如果寄存器的数量大于或等于循环页的数 量,则可以使用另一个方法。在循环页的所有编程数据被存储到寄存器之后, 可以执行存储单元的编程。
用于编程的方法的示例性实施例可以应用于编程多级单元(MLC)。例如,可以循环编程最低有效位(LSB),并且可以根据用LSB编程的数据以及将要 用最高有效位(MSB)编程的数据循环编程MSB。 LSB和MSB的编程顺序是 可逆的。通过该方法,可以减少和/或防止MLC中由于不稳定的阈值电压而产 生的验证和编程错误。
在上述的实施例中,可以用重复循环方法顺序地执行每个循环页的验证和 编程操作。或者,可以用另一个方法执行循环编程操作。
图6是说明根据示例性实施例的编程方法的视图。参照图6,页的编程被
分成循环单元。例如,在第一循环L00pl期间,编程电压VpGM可以被顺序地
施加到多个页。图6中,编程电压Vp固从第一页Pagel被顺序地施加到第N 页PageN。验证电压被顺序地施加到多个页。然而,值得注意的是,在图6所 示的示例性实施例的每个循环中,在验证每个循环中的任意页的编程之前编程 多个页。
在第二循环Loop2中,可以编程然后验证多个页。然而,第二循环Loop2 中可以使用编程电压VpGM+a,该电压高于第一循环Loopl的编程电压VpGM。 通过该方法,重复循环直到确定所有循环页都通过了验证操作为止。图6中, 可以重复该方法直到编程并验证了第M个循环LoopM为止。
如果使用循环编程方法,则存在tO的时间间隔,该时间间隔在编程存储单 元之后直到对存储单元执行验证操作为止而消逝。即,在被编程的存储单元的 阈值电压稳定之前,被编程的存储单元的阈值电压可能需要一个tO的时间间隔 或时间段。如果时间段tO被确定为其中存储单元的阈值电压变得足够稳定的时 间,则可以减少和/或防止在基于不够稳定的阈值电压的验证操作期间发生的错 误。因此,时间间隔或时间段tO可以被确定为足以使存储单元的阈值电压变得 稳定的时间间隔或时间^艮。此外,可以才艮据时间间隔或时间4殳t0确定循环页的 数量。
图7是说明图6的编程操作的流程图。参照图7,可以从操作S310的循环 页中选择第一页。然后,可以在操作S320中编程所选择的页。
操作S330中,确定所选择的页是否为循环页中的最后一页。如果所选择 的页是最后一页,则该方法进行到操作S340。如果所选择的页不是最后一页, 则在操作S335中选择下一页。然后,可以重复操作S320到S335。根据示例性 的实施例,重复梯:作S320到S335直到编程了最后一页为止。即,所有循环页 被顺序地编程。操作S340中,可以再次选择第一页。操作S350中,验证所选择的页。然 后,验证结果可以被存储到图1的寄存器140中。
操作S360中,确定所选择的页是否被确定为已经通过了验证操作。如果 所选择的页通过了验证操作,则该方法进行到操作S370。操作S370中,确定 是否所有循环页都已经通过了验证操作。如果确定所有循环页都已经通过了验 证操作,则可以结束编程操作。如果存在没有通过验证操作的页,则该方法进 行到操作S380。该确定操作可以在图1的控制电路180中执行。确定每个循环 页是已经通过还是没有通过验证操作可以被存储到控制电路180的存储设备 中。控制电路180可以根据存储设备中存储的数据确定是否所有循环页都已经 通过了验证操作。
操作S360中,如果确定所选择的页没有通过验证操作,则该方法进行到 操作S380。操作S380中,确定所选择的页是否为循环页中的最后一页。如果 所选择的页是最后一页,则该方法进行到操作S310。如果所选择的页不是最后 一页,则在操作S385中选择下一页。然后,该方法进行到操作S350。
简单地,可以顺序地验证循环页。在该过程期间,如果确定所有的页都已 经通过了验证操作,则可以结束循环编程。验证结果可以被存储到寄存器中。 此外,如果完成了最后一页的验证,则可以再次顺序地编程循环页。可以根据 寄存器中存储的数据执行编程操作。
通过上述方法的示例性实施例,可以顺序地编程每个循环页,然后,可以 通过顺序地验证每个循环页的方法执行循环编程。在该编程操作期间,如在图 4的示例性实施例中所述, 一个寄存器可以从外部源和/或设备接收将要编程的 页的数据。此外,另一个寄存器可以把将要编程的页的数据传递到页緩沖器。 寄存器之一的编程操作可以与从外部源和/或设备传递页到页緩冲器同时执行。 上述操作的细节可以与参照图2描述的示例性实施例相同,因此,为了简明, 省略这些细节的详细i兌明。
在上述的示例性实施例中,图1的NAND闪存设备100包括多个寄存器。 然而,根据另 一个示例性的实施例,可以不使用寄存器而实现NAND闪存设备。
图8是根据示例性的实施例不包括寄存器的NAND闪存设备200的结构 图。参照图8, NAND闪存设备200包括单元阵列210、行解码器220、页緩冲 器230、列选择器250、 I/O电路260、 P/F检查270以及控制电路280。
图8的NAND闪存设备200中,除了图1的寄存器140和页緩冲器130以外的块都执行与前面描述的有关图1的NAND闪存设备100的那些块相同的 功能和操作。因此,为了简明,省略重复的说明。
在图8的NAND闪存设备200中,页緩冲器230作为图1的寄存器140。 换句话说,页緩冲器230执行由参照图1描述的NADN闪存设备100的寄存器 140和页緩沖器130两者一起执行的操作。
参照图8,页緩冲器230连接到单元阵列210和列选择器240。页緩沖器 230包括多个页緩冲单元231至23n。页緩冲单元231至23n分别连接到位线 BL1至BLn。
每个页緩沖单元231至23n包括页緩冲器。图8中每个页緩沖单元231至 23n包括四个页緩冲器(即,页緩冲器A到页緩沖器D)。然而,显而易见的是, 根据闪存设备的目的和特征可以改变构成页緩沖单元231至23n的页緩冲器的数量。
在图8的NAND闪存设备200中,可以使用多个页緩冲器230,用于存储 从外部源和/或设备输入的数据并且执行循环编程操作。可以实际上同时执行存 储输入的数据和执行循环编程操作。即,使用多个页緩沖器230代替图1的 NAND闪存设备100的寄存器140。因此,根据图8的NAND闪存设备200的 示例性实施例,当从外部源和/或设备接收数据时,用页緩冲器230代替寄存器 140。根据示例性的实施例,用选择多个页緩冲器230之一的处理代替将寄存器 140中存储的数据传递到图1的页緩沖器130的处理。
除了由寄存器140执行的操作现在由页緩沖器230执行之外,编程方法的 示例性实施例可以与参照图1描述的NAND闪存设备100的编程方法相同。因 此,为了简明,省略相同操作的详细说明。
图9是说明根据示例性的实施例具有闪存设备的存储卡的结构图。参照图 9,为了支持高容量的数据存储能力,存储卡300包括示例性实施例的闪存设备 310。该存储卡300包括控制主机与闪存设备310之间的通用数据交换的存储控 制器320。存储控制器包括SRAM321、中央处理单元(CPU) 322、主机接口 (I/F) 323、纠错码(ECC) 324以及存储器I/F325。
存储控制器320的SRAM321可以被用作CPU 322的操作存储器。主机接 口 (I/F)323可以包括连接到存储卡300的主机的数据交换协议。纠错码(ECC) 324可以检测并纠正从闪存设备310中读取的数据中的错误。存储器I/F325可 以与闪存设备310连接。CPU 322可以执行存储控制器320的数据交换的一般控制操作。虽然附图 中没有说明,但是对本领域的技术人员显而易见的是,为了与主机连接,存储 卡300可以进一步包括用于存储代码数据的ROM (未示出)。
图10是说明根据示例性的实施例具有闪存设备的存储系统的结构图。参 照图10,存^f诸系统400包括闪存系统410、电源420、 CPU 430、 RAM 440、用 户接口 450以及系统总线460。
闪存系统410包括存储控制器412和闪存设备411。闪存系统410可以通 过系统总线460电连接到电源420、 CPU430、 RAM440以及用户接口 450。通 过用户接口 450提供的和/或由CPU 430处理的数据可以通过存储控制器412 存储到闪存设备411中。
如果闪存系统410 一皮装配作为固态》兹盘(SSD),则可以显著地改善系统 400的引导速度。虽然附图中没有说明,但是对本领域的技术人员显而易见的 是,存储系统400可以进一步包括应用芯片组、相机图像处理器等等。
对一页执行编程和验证操作同时对另一页执行编程和验证操作。首先,多个页 可以纟皮确定为编程单元。然后,编程电压可以:故顺序地施加到每个确定的页。 其后,马全证电压和编程电压可以;陂顺序地施加到一个页。根据示例性的实施例, 该操作可以对多个页顺序地4丸行。
在对NAND闪存设备编程的方法的另一个示例性实施例中,多个页可以被 确定为编程单元。此外,编程电压可以;陂顺序地施加到所确定的页。然后,-睑 证电压可以;波顺序地施加到多个页。
根据对NAND闪存设备编程的方法的示例性实施例, 一个页的编程操作与 验证操作之间存在时间间隔。在该时间间隔期间,存储单元的阈值电压变得稳 定。
根据示例性的实施例,当对NAND闪存设备编程时,在对存储单元编程后 消逝时间间隔之后执行验证操作。由于在存储单元的阈值电压稳定之后执行验 证操作,所以可以减少和/或防止由于不稳定的阈值电压而产生的验证和编程错 误。因此,根据示例性的实施例,可以减少阈值电压分布并且可以提高NAND 闪存设备的编程特性。
以上公开的主题将被理解为说明性的而不是限制性的,并且所附的权利要 求用于涵盖所有这一类的》务改、添加以及其他实施例,这些{务改、添加以及其他实施例落入本公开的实际精神和范围内。因此,对于法律允许的最大范围, 本公开的范围将通过所附权利要求及其等价物的最宽可允许的解释来确定,而 不由前述的详细说明来限制或局限。
权利要求
1、一种NAND闪存设备,包括单元阵列,包含多个页;页缓冲器,存储页的编程数据;数据存储电路,为所述页缓冲器提供编程验证数据;以及控制单元,编程页并且在编程了至少两页之后使用编程验证数据验证页。
2、 如权利要求1所述的NAND闪存设备,其中,所述编程数据通过数据 存储电路存储在页緩冲器中。
3、 如权利要求1所述的NAND闪存设备,其中,所述控制单元连续地编 程并验证;波编程的页。
4、 如权利要求3所述的NAND闪存设备,其中,如果被编程的页没有通 过验证操作,则所述控制单元增加用于编程页的编程电压。
5、 如权利要求3所述的NAND闪存设备,其中,根据验证操作的结果更 新所述数据存储电路中存储的编程验证数据。
6、 如权利要求1所述的NAND闪存设备,其中,所述控制单元对每个页 至少额外地-睑证和编程一 次。
7、 如权利要求6所述的NAND闪存设备,其中,如果被编程的页没有通 过验证操作,则所述控制单元增加用于编程页的编程电压。
8、 如权利要求1所述的NAND闪存设备,其中,所述数据存储电路存储 从外部源输入的编程数据并且同时将该编程数据提供给所述页緩冲器。
9、 如权利要求1所述的NAND闪存设备,其中,所述数据存储电路具有 与所述页緩冲器相同的结构。
10、 如权利要求1所述的NAND闪存设备,其中,所述数据存储电路包括 多个寄存器。
11、 一种对NAND闪存设备编程的方法,该方法包括 编程多个页;以及在编程了多个页的至少两页之后验证;故编程的页。
12、 如权利要求11所述的方法,其中,验证-波编程的页是对所述页连续 执行的。
13、 如权利要求11所述的方法,其中,在编程了存储单元之后的时间间 隔以后验证被编程的页,该时间间隔大于被编程存储单元的阈值电压变得稳定 的时间间隔。
14、 如权利要求13所述的方法,其中,根据被编程存储单元的阈值电压 变得稳定的时间间隔确定多个页的数量。
15、 如权利要求14所述的方法,其中,所述页包括被确定为通过验证的 至少一个虚拟页。
16、 如权利要求11所述的方法,进一步包括如果被编程的页没有通过-睑证操作则增加用于编程页的编程电压;以及 重复页的编程和验证操作。
17、 如权利要求16所述的方法,其中,所述重复页的编程对已经通过验 证操作的至少一页重复编程。
18、 如权利要求11所述的方法,其中,所述编程对多级单元的最高有效 位和最低有效位编程。
19、 如权利要求11所述的方法,进一步包括确定低于与被编程的存储单元相关的阈值电压的第 一 电压; 用所确定的第一验证电压验证被编程的存储单元;确定等于或大于用于编程多个页的编程电压与该第一电压之和的第二电 压;以及用该第二电压重复地编程页。
20、 一种存储系统,包括根据权利要求1所述的NAND闪存设备;以及 控制该NAND闪存设备的存储控制器。
全文摘要
提供了一种NAND闪存设备及其编程方法。NAND闪存设备可以包括包含多个页的单元阵列;存储页的编程数据的页缓冲器;提供编程验证数据到页缓冲器的数据存储电路;以及控制单元。控制单元可以在编程了至少两页之后使用编程验证数据编程页并且验证页。
文档编号G11C16/10GK101430934SQ20081018426
公开日2009年5月13日 申请日期2008年8月11日 优先权日2007年8月9日
发明者李昌炫 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1