非易失性存储器件的编程方法

文档序号:6737184阅读:166来源:国知局
专利名称:非易失性存储器件的编程方法
非易失性存储器件的编程方法
相关申请的交叉引用
本申请要求于2010年12月30日向韩国知识产权局(KIPO)提交的韩国专利申请第2010-0138502号的优先权,其内容通过全文引用合并于此。技术领域
示例实施例涉及非易失性存储器件。更具体地,示例实施例涉及对包括多电平单元的非易失性存储器件编程的方法。
背景技术
诸如快闪存储器器件的非易失性存储器件的存储单元可以分成每存储单元存储一比特数据的单电平单元(single level cell, SLC)和每存储单元存储多于一个比特数据的多电平单元(multi-level cell, MLC)。通过使用多个阈值电压分布来表示多比特数据的不同状态,MLC可以存储多个比特的数据。例如,两比特MLC可以使用四个阈值电压分布来表示相应的逻辑状态“ 11 ”、“ 10,,、“ 01 ”和“ 00 ”。
为了确保正确存储多比特数据,MLC的阈值电压分布必须以足够的感测裕度分隔。 然而,最近的快闪存储器器件的某些方面,如不断增加的集成密度,可能导致因相邻存储单元之间的电耦合或编程干扰所致的阈值电压分布变宽。发明内容
一些示例实施例提供能够缩窄阈值电压分布的非易失性存储器件的编程方法。
根据示例实施例,在包括存储多比特数据的多电平单元的非易失性存储器件的编程方法中,执行最低有效位(least significant bit,LSB)编程操作,以便对多电平单元中的多比特数据的LSB进行编程,并且执行最高有效位(most significant bit, MSB)编程操作,以对多电平单元中的多比特数据的MSB进行编程。为了执行MSB编程操作,对待被编程到多个目标编程状态当中的最高目标编程状态的第一多电平单元执行MSB预编程操作, 并且执行MSB主编程操作,以将多电平单元编程到与多比特数据相对应的多个目标编程状态。
在一些实施例中,为了执行MSB预编程操作操作,可以向第一多电平单元施加单脉冲(one-shot pulse),从而将第一多电平单元编程到与最高目标编程状态相对应的中间编程状态。
在一些实施例中,为了执行MSB预编程操作,可以向第一多电平单元施加增量步进脉冲(incremental step pulse),并且可以向第一多电平单元施加预编程验证电压,以验证第一多电平单元是否被编程到与最高目标编程状态相对应的中间编程状态。
在一些实施例中,为了执行MSB预编程操作,可以将第一多电平单元编程到与最高目标编程状态相对应的第一中间编程状态,可以将第一中间编程状态分成多个部分,并且可以对于第一多电平单元中的每一个,基于所述多个部分中该第一多电平单元所对应的5部分来将该第一多电平单元的阈值电压增加多个不同电压电平之一,由此将该第一多电平单元编程到比第一中间编程状态窄的第二中间编程状态。
在一些实施例中,为了将第一多电平单元编程到第一中间编程状态,可以向第一多电平单元施加第一单脉冲。
在一些实施例中,为了将第一中间编程状态分成多个部分,可以向第一多电平单元施加至少一个分割电压,以确定每个第一多电平单元存在于所述多个部分中的哪一个中。
在一些实施例中,所述多个部分可以包括第一部分、第二部分和第三部分。为了将第一多电平单元编程到第二中间编程状态,可以向耦合到位于第一部分中的第一多电平单元的位线施加低电平的第一电压,可以向耦合到位于第二部分中的第一多电平单元的位线施加强制电压,可以向耦合到位于第三部分中的第一多电平单元的位线施加高电平的第二电压,并且可以向耦合到第一多电平单元的被选字线施加第二单脉冲。
在一些实施例中,第一电压可以是低电源电压,第二电压可以是高电源电压,并且强制电压可以具有高于第一电压且低于第二电压的电压电平。
在一些实施例中,可以向被选字线施加第二单脉冲,以使得位于第三部分中的第一多电平单元的阈值电压可以基本不增加,并且位于第二部分中的第一多电平单元的阈值电压的增量可以小于位于第一部分中的第一多电平单元的阈值电压的增量。
根据示例实施例,在包括存储多比特数据的多电平单元的非易失性存储器件的编程方法中,执行最低有效位(LSB)编程操作,以便对多电平单元中的多比特数据的LSB进行编程,并且执行最高有效位(MSB)编程操作,以对多电平单元中的多比特数据的MSB进行编程。为了执行MSB编程操作,对待被编程到多个目标编程状态当中的至少一个目标编程状态的第一多电平单元执行MSB预编程操作,并且执行MSB主编程操作,以将多电平单元编程到与多比特数据相对应的多个目标编程状态。
在一些实施例中,至少一个目标编程状态可以包括多个目标编程状态当中的最高目标编程状态。
在一些实施例中,至少一个目标编程状态可以包括所有多个目标编程状态。
在一些实施例中,为了执行MSB预编程操作,可以通过向多电平单元顺序地施加分别与多个中间编程状态相对应的多个单脉冲,将多电平单元编程到与多个目标编程状态相对应的多个中间编程状态,
在多个些实施例中,为了执行MSB预编程操作,可以向多电平单元施加增量步进脉冲,并且可以向多电平单元顺序地施加多个预编程验证电压,以验证多电平单元是否被编程到分别与多个目标编程状态相对应的多个中间编程状态。
在一些实施例中,为了执行MSB预编程操作,可以将多电平单元编程到分别与多个目标编程状态相对应的第一多个中间编程状态,可以将所述第一多个中间编程状态中的每一个分成多个部分,并且可以根据所述多个部分将多电平单元的阈值电压增加不同的电压电平,由此将多电平单元编程到分别比第一多个中间编程状态窄的第二多个中间编程状态。
根据至少一个示例实施例,一种对非易失性存储器件的多个多电平单元中的多比特数据进行编程的方法可以包括对多电平单元中的多比特数据的最低有效位(LSB)进行编程;以及,对于多个多电平单元中的每一个,使用多个目标电压电平当中与该多电平单元相对应的目标电压电平的验证电压,验证该多电平单元的阈值电压,由此对多个多电平单元中的多比特数据的最高有效位(MSB)进行编程。编程MSB可以包括对于多个多电平单元当中的第一多电平单元中的每一个,使用与该第一多电平单元相对应的中间电压电平的验证电压来验证该第一多电平单元的阈值电压,由此来执行MSB预编程操作,其中,该相对应的中间电压电平低于该相对应的目标电压电平。在执行MSB预编程操作之后,可以对于多个多电平单元中的每一个,使用与该多电平单元相对应的目标电压电平的验证电压来验证该多电平单元的阈值电压,由此来执行MSB主编程操作。
一种对非易失性存储器件的多个多电平单元中的多比特数据进行编程的方法可以包括对多电平单元中的多比特数据的最低有效位(LSB)进行编程;以及,对于多个多电平单元当中的第一多电平单元中的每一个,向该第一多电平单元施加第一编程脉冲,确定多个阈值电压区域当中该第一多电平单元所属于的阈值电压区域,并向该第一多电平单元施加第二编程脉冲,由此来执行最高有效位(MSB)预编程操作,其中,该第二编程脉冲具有基于多个区域中该第一多电平单元所对应的区域、从多个不同的电压电平当中选择的电压电平。在执行MSB预编程操作之后,可以对多电平单元中的多比特数据的MSB进行编程。
如上所述,根据示例实施例对非易失性存储器件进行编程的方法可以减少每个阈值电压分布宽度的增加,并且可以使阈值电压分布变窄。


通过参考附图详细描述示例实施例,示例实施例的上述及其他特征和优点将变得更加清楚。附图意图描绘示例实施例,不应被解释成限制权利要求的预定范围。除非有明确的相反说明,否则不应将附图看作是按比例绘制的。
图I是图示根据示例实施例的非易失性存储器件的编程方法的流程图。
图2是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的例子的不图。
图3是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
图4是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
图5是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
图6是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
图7是图示根据示例实施例的非易失性存储器件的编程方法的流程图。
图8是图示通过图7的编程方法编程的多电平单元的阈值电压分布的例子的示图。
图9是图示根据示例实施例的非易失性存储器件的编程方法的流程图。
图10是图示通过图9的编程方法编程的多电平单元的阈值电压分布的例子的示图。













图11是图示根据示例实施例的非易失性存储器件的编程方法的流程图。12是图示通过图11的编程方法编程的多电平单元的阈值电压分布的例子的示13是图示根据示例实施例的非易失性存储器件的编程方法的流程图。14是图示通过图13的编程方法编程的多电平单元的阈值电压分布的例子的示15是图示根据示例实施例的非易失性存储器件的编程方法的流程图。16是图示通过图15的编程方法编程的多电平单元的阈值电压分布的例子的示17是图示根据示例实施例的非易失性存储器件的编程方法的流程图。18是图示通过图17的编程方法编程的多电平单元的阈值电压分布的例子的示19是用于描述根据示例实施例的对多电平单元的行的编程顺序的示图。20是图示根据示例实施例的非易失性存储器件的框图。21是图示根据示例实施例的存储系统的框图。22是图示根据示例实施例的包括存储系统的存储卡的示图。23是图示根据示例实施例的包括存储系统的固态驱动器的示图。24是图示根据示例实施例的计算系统的示图。
具体实施方式
这里将公开详细的示例实施例。然而,此处公开的特定结构细节和功能细节仅仅是代表性的,目的在于描述示例实施例。然而,示例实施例可以用很多替代形式来具体实现,不应被看作仅仅局限于此处描述的实施例。
因此,尽管示例实施例能够具有不同的修改和替换形式,但在附图中以举例的方式示出了示例实施例,并且将在此处详细描述该示例实施例。然而,应当理解,并非意图将示例实施例局限于公开的具体形式,而是相反地,示例实施例应覆盖落入示例实施例范围内的所有修改、等效物以及替换物。在对附图的描述中,相同的附图标记始终指代相同的元件。
将会理解,尽管此处可能使用词语第一、第二等等来描述不同的元件,但这些元件不应受到这些词语的限制。这些词语仅仅用于将一个元件与另一个元件区分开来。例如, 第一元件可以被称为第二元件,类似地,第二元件也可以被称为第一元件,这样不会偏离示例实施例的范围。此处使用的术语“和/或”包括相关列出项目中的任意一个以及其中的一个或多个的所有组合。
将会理解,当一个元件被称为“连接”或“耦合”到另一元件时,它可以直接连接或耦合到所述另一元件,或者也可以存在居间的元件。相反,当一个元件被称为“直接连接”或 “直接耦合”到另一元件时,不均在居间的元件。其他用于描述元件之间关系的词语应以类似方式解释(例如,“在. 之间”与“直接在. 之间”,“邻近”与“直接紧邻”等等)。
此处使用的术语仅仅是为了描述特定实施例,并非意图限制示例实施例。此处使用的单数形式“一”、“一个”意图也包括复数形式,除非上下文明确给出相反指示。还将理解,当此处使用词语“包括”和/或“包含”时,表明存在所描述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件、组件和/ 或它们的组合。
还应注意到,在一些替换实现方式中,所提到的功能/动作可以不按附图中描述的顺序进行。例如,取决于所涉及的功能/动作,两个相继示出的图可能实际上是基本并发地执行的,或者有时可能以相反的次序执行。
除非另外定义,否则此处使用的所有术语(包括技术术语和科学术语)所具有的含义与示例实施例所属领域的普通技术人员通常理解的含义相同。还将理解,术语,如通常使用的词典中定义的那些术语,应该被解释为所具有的含义与它们在相关领域的上下文中的含义一致,而不应理想化地或过分形式化地对其进行解释,除非此处明确地如此定义。
图I是图示根据示例实施例的非易失性存储器件的编程方法的流程图。
参照图I,在包括存储多比特数据的多电平单元的非易失性存储器件中,执行最低有效位(LSB)编程,以便对多电平单元中的多比特数据的LSB进行编程(S110)。这里,多比特数据是指每个具有多于一个比特的数据,并且多电平单元是指每个存储单元存储多于一个比特的非易失性存储单元。
例如,为了执行LSB编程,可以根据多比特数据的LSB,向耦合到多电平单元的相应位线选择性地施加低电平的第一电压(例如,低电源电压或地电压)或高电平的第二电压(例如,高电源电压),并且可以向耦合到多电平单元的被选字线施加编程电压。
在一些实施例中,可以使用增量步进脉冲编程(incremental step pulse program, ISPP)方法来执行LSB编程。例如,为了执行LSB编程,可以向多电平单元施加增量步进脉冲,该增量步进脉冲在每个编程循环增加预定电压电平,并且,可以施加与多比特数据的LSB相对应的验证电压,以验证在多电平单元中多比特数据的LSB是否被正确地编程。在一些实施例中,还可以在ISPP操作之前执行预编程操作。可以将预编程操作称为 LSB预编程,并且可以将ISPP操作称为LSB主编程。
在LSB编程之后,执行最高有效位(MSB)编程,以对多电平单元中多比特数据的 MSB进行编程(S120)。MSB编程可以包括MSB预编程和MSB主编程。
可以执行MSB预编程,以使待被编程到至少一个目标编程状态的多电平单元可以被编程到至少一个中间编程状态,所述至少一个中间编程状态低于所述至少一个目标编程状态(S130)。在一些实施例中,可以对待被编程到与多比特数据相对应的多个目标编程状态当中的最高目标编程状态的多电平单元执行MSB预编程。在其他实施例中,可以对待被编程到多个目标编程状态的所有多电平单元执行MSB预编程。在另一些实施例中,可以对待被编程到与多比特数据的一个或多个值相对应的一个或多个目标编程状态的多电平单兀执行MSB预编程。
可以执行MSB主编程,以使多电平单元被编程到与多比特数据相对应的目标编程状态(S150)。在一些实施例中,可以使用ISPP方法来执行MSB主编程。例如,为了执行MSB 主编程,可以向多电平单元施加增量步进脉冲,该增量步进脉冲在每个编程循环增加预定电压电平,并且,可以施加与多比特数据相对应的验证电压,以验证多比特单元是否被正确地编程到与多比特数据相对应的目标编程状态。
如上所述,在根据一些示例实施例的非易失性存储器件的编程方法中,在将多电平单元编程到至少一个中间编程状态的MSB预编程之后执行MSB主编程,从而减少了因耦合或干扰所致的阈值电压分布宽度的增加。特别是,可以减少不期望的擦除状态的阈值电压分布的增加。因此,可以使多电平单元的阈值电压分布变窄。
图2是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的例子的不图。
参照图I和图2,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB具有擦除状态EO或第一中间状态IPl(SllO)。例如,如果待在多电平单元中编程的多比特数据而具有LSB “1”,则可以通过LSB编程将多电平单元编程到擦除状态E0。如果待在多电平单元中编程的多比特数据具有LSB“0”,则可以通过LSB编程将多电平单元编程到第一中间状态IPl。
可以执行MSB预编程,以使待被编程到最高目标编程状态P3的多电平单元可以被编程到与最高目标编程状态P3相对应的中间编程状态P3’(S130)。例如,在具有第一中间状态IPl的多电平单元当中,通过MSB预编程可以不增加待被编程到第二目标编程状态 P2的多电平单元的阈值电压,并且通过MSB预编程可以增加待被编程到第三目标编程状态 P3(S卩,最高目标编程状态)的多电平单元的阈值电压。
可以执行MSB主编程,从而根据相应的多比特数据,每个多电平单元可以具有擦除状态E0、第一目标编程状态P1、第二目标编程状态P2和目标第三编程状态P3之一 (S150)。例如,通过MSB主编程,根据多比特数据,可以使用第一验证电压VVRFl将具有擦除状态EO的一部分多电平单元编程到第一目标编程状态Pl,可以使用第二验证电压VVRF2 将具有第一中间状态IPl的多电平单元编程到第二目标编程状态P2,并且可以使用第三验证电压VVRF3将具有与第三目标编程状态P3相对应的中间编程状态P3’的多电平单元编程到第二目标编程状态P3。
例如,擦除状态E0、第一目标编程状态Pl、第二目标编程状态P2和第三目标编程状态P3可以分别对应于多比特数据的值“11”、“01”、“00”和“10”。根据示例实施例,可以将多比特数据的不同逻辑值分配给相应的目标状态E0、PU P2和P3。
具有擦除状态EO的多电平单元的不期望的阈值电压移位主要由编程干扰和耦合所致。在耦合到相同字线的、作为具有擦除状态EO的多电平单元的多电平单元被编程到第一目标编程状态Pl和第二目标编程状态P2时,可能发生编程干扰。在与具有擦除状态EO 的多电平单元邻近的多电平单元被编程到最高目标编程状态P3的情况下,可能发生耦合。 由编程干扰所导致的阈值电压移位的量可以取决于具有擦除状态EO的多电平单元的阈值电压电平而变化。例如,与具有相对较低阈值电压的多电平单元相比,在多电平单元的阈值电压相对较高的情况下多电平单元的阈值电压可以受到编程干扰的较少影响。然而,即使具有擦除状态EO的多电平单元的阈值电压电平改变,因耦合所致的阈值电压移位的量也可以变化较少或根本不变化。在根据示例实施例的编程方法中,对将待被编程到最高目标编程状态P3的多电平单元执行MSB预编程。因此,具有擦除状态EO的多电平单元可能首先受到耦合的影响,稍后再可能受到编程干扰的影响。因此,由于多电平单元在多电平单元的阈值电压因耦合而增加之后受到编程干扰的影响,所以可以减少多电平单元的总阈值电压移位。
此外,在根据示例实施例的编程方法中,由于通过MSB预编程,待被编程到最高目标编程状态P3的多电平单元所具有的阈值电压基本接近于与最高目标编程状态P3相对应的第三验证电压VVRF3,因此,在MSB主编程期间,可以用具有相对低的电压电平的初始编程脉冲将多电平单元编程到最高目标编程状态P3。因此,可以迅速地完成MSB主编程,并且可以减小每个目标状态E0、P1、P2和P3的宽度。
图3是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
参照图I和图3,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或第一中间状态IPl (SllO)。
可以执行MSB预编程,以使待被编程到第一到第三目标编程状态Pl、P2和P3的多电平单元可以被编程到分别与第一到第三目标编程状态PU P2和P3相对应的中间编程状态P1’、P2’和P3’(S130)。例如,通过MSB预编程,待被编程到第一目标编程状态Pl的多电平单元可以被编程到与第一目标编程状态Pl相对应的中间编程状态P1’、待被编程到第二目标编程状态P2的多电平单元可以被编程到与第二目标编程状态P2相对应的中间编程状态P2’,并且待被编程到第三目标编程状态P3的多电平单元可以被编程到与第三目标编程状态P3相对应的中间编程状态P3’。
可以执行MSB主编程,从而使每个多电平单元可以根据多比特数据而具有擦除状态E0、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S150)。 例如,通过MSB主编程,具有与第一目标编程状态Pl相对应的中间编程状态P1’的多电平单元可以被编程到第一目标编程状态Pl,具有与第二目标编程状态P2相对应的中间编程状态P2’的多电平单元可以被编程到第二目标编程状态P2,并且具有与第三目标编程状态 P3相对应的中间编程状态P3’的多电平单元可以被编程到第三目标编程状态P3。
如果在对存储单元进行编程之后对邻近的存储单元进行编程,则存储单元的阈值电压可能由于与邻近存储单元的耦合而不期望地增加。在根据示例实施例的编程方法中, 由于通过MSB预编程,待被编程到目标编程状态P1、P2和P3的多电平单元的阈值电压基本接近于分别与目标编程状态P1、P2和P3相对应的验证电压VVRF1、VVRF2和VVRF3,所以在 MSB主编程期间多电平单元的阈值电压增量可以基本上很小。因此,可以减小因耦合所致的不期望的阈值电压移位,并且目标状态EO、PI、P2和P3可以具有较窄的宽度。
例如,在邻近第一存储单元(可以将其称为牺牲单元)的第二存储单元(可以将其称为侵略单元)待被编程到第三目标编程状态P3的情况下,通过MSB预编程,可以使第二存储单元具有接近于第三验证电压VVRF3的阈值电压,并且在MSB主编程期间第二存储单元的阈值电压增量可以基本上很小。因此,在MSB主编程期间,即使在对第二存储单元进行编程之前对第一存储单元进行编程,由于第二存储单元的阈值电压增量很小,因此也可以减小因与第二存储单元耦合所致的不期望的阈值电压移位。
图4是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
参照图I和图4,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或第一中间状态IPl (SllO)。
可以执行中间有效比特(intermediate significant bit, I SB)编程(也可将其称为中心有效比特(center significant bit,CSB)编程),从而可以根据相应多比特数据的I SB和LSB使每个多电平单元具有擦除状态EO、第二中间状态IP2、第三中间状态IP3和第四中间状态IP4之一。例如,擦除状态E0、第二中间状态IP2、第三中间状态IP3和第四中间状态IP4可以分别对应于ISB和LSB “ 11”、“ 01 ”、“ 00 ”和“ 10,,,但不局限于此。根据示例实施例,可以将ISB和LSB的不同逻辑值分配给各个状态E0、IP2、IP3和IP4。
在一些实施例中,可以使用ISPP方法来执行ISB编程。例如,为了执行ISB编程, 可以向多电平单元施加每编程循环增加预定电压电平的增量步进脉冲,并且可以施加验证电压以验证多电平单元是否被正确地编程到第二到第四中间状态IP2、IP3和IP4。
可以执行MSB预编程,以使待被编程到最高目标编程状态P7的多电平单元可以被编程到与最高目标编程状态P7对应的中间编程状态P7’(S130)。例如,在具有第四中间状态IP4的多电平单元当中,通过MSB预编程可以不增加待被编程到第六目标编程状态 P6的多电平单元的阈值电压,并且通过MSB预编程可以增加待被编程到第七目标编程状态 P7(S卩,最高目标编程状态)的多电平单元的阈值电压。
可以执行MSB主编程,从而使每个多电平单元可以根据相应的多比特数据而具有擦除状态E0、第一目标编程状态P1、第二目标编程状态P2、第三目标编程状态P3、第四目标编程状态P4、第五目标编程状态P5、第六目标编程状态P6和第七目标编程状态P7之一 (S150)。例如,通过MSB主编程,可以根据多比特数据使用第一验证电压VVRFl将具有擦除状态EO的一部分多电平单元编程到第一目标编程状态P1,可以使用第二验证电压VVRF2 将具有第二中间状态IP2的多电平单元编程到第二目标编程状态P2或使用第三验证电压 VVRF3将具有第二中间状态IP2的多电平单元编程到第三目标编程状态P3,可以使用第四验证电压VVRF4将具有第三中间状态IP3的多电平单元编程到第二目标编程状态P4或使用第五验证电压VVRF5将具有第三中间状态IP3的多电平单元编程到第五目标编程状态 P5,可以使用第六验证电压VVRF6将具有第四中间状态IP4的多电平单元编程到第六目标编程状态P6,并且可以使用第七验证电压VVRF7将具有与第七目标编程状态P7相对应的中间编程状态P7’的多电平单元编程到第七目标编程状态P7。
例如,擦除状态E0、第一目标编程状态P1、第二目标编程状态P2、第三目标编程状态P3、第四目标编程状态P4、第五目标编程状态P5、第六目标编程状态P6和第七目标编程状态P7可以分别对应于多比特数据“111”、“011”、“001”、“101”、“100”、“000”、“010”和 “110”,但是不局限于此。根据示例实施例,可以将多比特数据的不同逻辑值分配给各个目标状态 E0、P1、P2、P3、P4、P5、P6 和 P7。
根据示例实施例的编程方法中,由于对待被编程到最高目标编程状态P7的多电平单元执行MSB预编程,因此可以减小具有擦除状态EO的多电平单元的总阈值电压移位, 并且可以减小每个目标状态E0、PU P2、P3、P4、P5、P6和P7的宽度。
图5是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
参照图I和图5,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或第一中间状态IPl (SllO)。
可以执行ISB编程,以使每个多电平单元可以根据相应多比特数据的ISB和LSB 而具有擦除状态E0、第二中间状态IP2、第三中间状态IP3和第四中间状态IP4之一。
可以执行MSB预编程,以使待被编程到目标编程状态PU P2、P3、P4、P5、P6和P7的多电平单元可以被编程到与目标编程状态PI、P2、P3、P4、P5、P6和P7相对应的中间编程状态卩1,、?2,、?3,、?4,、?5,、卩6,和P7’ (S130)。例如,通过MSB预编程,待被编程到第一目标编程状态Pl的多电平单元可以被编程到与第一目标编程状态Pl相对应的中间编程状态P1’,待被编程到第二目标编程状态P2的多电平单元可以被编程到与第二目标编程状态 P2相对应的中间编程状态P2’,待被编程到第三目标编程状态P3的多电平单元可以被编程到与第二目标编程状态P3相对应的中间编程状态P3 ’,待被编程到第四目标编程状态P4的多电平单元可以被编程到与第四目标编程状态P4相对应的中间编程状态P4’,待被编程到第五目标编程状态P5的多电平单元可以被编程到与第五目标编程状态P5相对应的中间编程状态P5’,待被编程到第六目标编程状态P6的多电平单元可以被编程到与第六目标编程状态P6相对应的中间编程状态P6’,并且待被编程到第七目标编程状态P7的多电平单元可以被编程到与第七目标编程状态P7相对应的中间编程状态P7’。
可以执行MSB主编程,从而使每个多电平单元可以根据相应的多比特数据而具有擦除状态E0、第一目标编程状态P1、第二目标编程状态P2、第三目标编程状态P3、第四目标编程状态P4、第五目标编程状态P5、第六目标编程状态P6和第七目标编程状态P7之一 (S150)。
在根据示例实施例的编程方法中,由于对将待被编程到目标编程状态PU P2、P3、 P4、P5、P6和P7的多电平单元执行MSB预编程,因此可以减小因耦合所导致的不期望的阈值电压移位,并且可以使目标状态E0、PU P2、P3、P4、P5、P6和P7具有较窄的宽度。
尽管在图4和图5中未示出,但在一些实施例中,ISB编程可以包括预编程和主编程。
图6是图示通过根据示例实施例的编程方法编程的多电平单元的阈值电压分布的另一个例子的示图。
参照图I和图6,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或第一中间状态IPl (SllO)。
可以执行ISB编程,以使每个多电平单元可以根据相应多比特数据的ISB和LSB 而具有擦除状态E0、第二中间状态IP2、第三中间状态IP3和第四中间状态IP4之一。在一些实施例中,ISB编程可以包括ISB预编程和ISB主编程。通过ISB预编程,可以将多电平单元编程到分别与第二到第四中间状态IP2、IP3和IP4相对应的中间状态IP2’、IP3’和 IP4’。通过ISB主编程,已被编程到中间状态IP2’、IP3’和IP4’的多电平单元可以进一步被分别编程到第二到第四中间状态IP2、IP3和IP4。
尽管图6图示了对待被编程到第二到第四中间状态IP2、IP3和IP4的多电平单元执行ISB预编程的例子,但也可以对待被编程到一个或多个中间状态IP2、IP3和IP4的多电平单元执行ISB预编程。
可以执行MSB预编程,以使待被编程到目标编程状态PU P2、P3、P4、P5、P6和P7 的多电平单元可以被编程到与目标编程状态PI、P2、P3、P4、P5、P6和P7相对应的中间编程状态卩1,、?2,、?3,、?4,、?5,、卩6,和 P7,(S130)。
可以执行MSB主编程,从而使每个多电平单元可以根据相应的多比特数据而具有擦除状态E0、第一目标编程状态P1、第二目标编程状态P2、第三目标编程状态P3、第四目标编程状态P4、第五目标编程状态P5、第六目标编程状态P6和第七目标编程状态P7之一13(S150)。
尽管图2和图3图示了多电平单元在每个存储单元中存储两比特数据的例子,图4 到图6图示了多电平单元在每个存储单元存储三比特数据的例子,但根据示例实施例的编程方法也可以应用于存储四个或更多比特数据的多电平单元。
图7是图示根据示例实施例的非易失性存储器件的编程方法的流程图,图8是图示通过图7的编程方法编程的多电平单元的阈值电压分布的例子的示图。
参照图7和图8,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或中间状态IPl (S210)。
在LSB编程之后,可以执行MSB编程,以对多电平单元中的多比特数据的MSB进行编程(S220)。MSB编程可以包括MSB预编程和MSB主编程。
可以通过向待被编程到最高目标编程状态P3的多电平单元施加单脉冲OSP来执行MSB预编程(S230)。这里,单脉冲OSP可以表示施加一次的脉冲。例如,为了执行MSB 预编程,可以向耦合到待被编程到最高目标编程状态P3的多电平单元的位线施加低电平的第一电压(例如,低电源电压或地电压),可以向耦合到其他多电平单元的位线施加高电平的第二电压(例如,高电源电压),并且可以向耦合到多电平单元的被选字线施加单脉冲 OSP0在MSB预编程之后,待被编程到最高目标编程状态P3的多电平单元可以具有与最高目标编程状态P3相对应的中间编程状态P3’。
可以执行MSB主编程,从而使每个多电平单元根据多比特数据而具有擦除状态 EO、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S250)。
如上所述,在根据示例实施例的非易失性存储器件的编程方法中,由于对待被编程到最高目标编程状态P3的多电平单元执行MSB预编程,因此可以减小因耦合或干扰所致的、具有擦除状态EO的多电平单元的不期望的阈值电压移位,并且可以减小目标状态E0、 P1、P2和P3的宽度。
图9是图示根据示例实施例的非易失性存储器件的编程方法的流程图,图10是图示通过图9的编程方法编程的多电平单元的阈值电压分布的例子的示图。
参照图9和图10,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或中间状态IPl (S310)。
在LSB编程之后,可以执行MSB编程,以对多电平单元中的多比特数据的MSB进行编程(S320)。MSB编程可以包括MSB预编程和MSB主编程。
可以通过向待被编程到目标编程状态PU P2和P3的多电平单元施加多个单脉冲 OSPU 0SP2和0SP3来执行MSB预编程(S330)。例如,可以通过施加第一单脉冲OSPl使待被编程到第一目标编程状态Pl的多电平单元被编程到与第一目标编程状态Pl相对应的中间编程状态P1’,可以通过施加第二单脉冲0SP2使待被编程到第二目标编程状态P2的多电平单元被编程到与第二目标编程状态P2相对应的中间编程状态P2’,并且可以通过施加第三单脉冲0SP3使待被编程到第三目标编程状态P3的多电平单元可以被编程到与第三目标编程状态P3相对应的中间编程状态P3’。
在一些实施例中,可以顺序地施加第一到第三单脉冲0SP1、0SP2和0SP3。例如,为了对待被编程到第一目标编程状态Pl的多电平单元进行预编程,可以向耦合到待被编程到第一目标编程状态Pl的多电平单元的位线施加低电平的第一电压,可以向耦合到其他多电平单元的位线施加高电平的第二电压,并且可以向被选字线施加第一单脉冲OSPl。然后,为了对待被编程到第二目标编程状态P2的多电平单元进行预编程,可以向耦合到待被编程到第二目标编程状态P2的多电平单元的位线施加第一电压,可以向耦合到其他多电平单元的位线施加第二电压,并且可以向被选字线施加第二单脉冲0SP2。在那之后,为了对待被编程到第三目标编程状态P3的多电平单元进行预编程,可以向耦合到待被编程到第三目标编程状态P3的多电平单元的位线施加第一电压,可以向耦合到其他多电平单元的位线施加第二电压,并且可以向被选字线施加第三单脉冲0SP3。
可以执行MSB主编程,从而使每个多电平单元根据多比特数据而具有擦除状态 EO、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S350)。
如上所述,在根据示例实施例的非易失性存储器件的编程方法中,由于对待被编程到目标编程状态PU P2和P3的多电平单元执行MSB预编程,可以减小目标状态E0、PU P2和P3的宽度
图11是图示根据示例实施例的非易失性存储器件的编程方法的流程图,图12是图示通过图11的编程方法编程的多电平单元的阈值电压分布的例子的示图。
参照图11和图12,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或中间状态IP1(S410)。
在LSB编程之后,可以执行MSB编程,以对多电平单元中的多比特数据的MSB进行编程(S420)。MSB编程可以包括MSB预编程和MSB主编程。
可以使用ISPP方法对待被编程到最高目标编程状态P3的多电平单元执行MSB预编程(S430)。例如,为了将多电平单元预编程到与最高目标编程状态P3相对应的中间编程状态P3’,可以向耦合到待被编程到最高目标编程状态P3的多电平单元的位线施加低电平的第一电压,可以向耦合到其他多电平单元的位线施加高电平的第二电压,并且可以向被选字线施加增量步进脉冲。通过向被选字线施加预编程验证电压VPREVRF,可以验证多电平单元是否被正确地编程到与最高目标编程状态P3相对应的中间编程状态P3’。然后, 可以再次向与具有低于预编程验证电压VPREVRF的阈值电压的多电平单元耦合的位线施加第一电压,可以再次向耦合到其他多电平单元的位线施加第二电压,并且可以再次向被选字线施加增加了步进电压的增量步进脉冲。可以再次向被选字线施加预编程验证电压 VPREVRF。这样,可以重复施加增量步进脉冲和施加预编程验证电压VPREVRF,直到所有待被编程到最高目标编程状态P3的多电平单元的阈值电压都变得等于或高于预编程验证电压VPREVRF为止。通过ISPP方式的MSB预编程,待被编程到最高目标编程状态P3的多电平单元可以具有与最高目标编程状态P3相对应的中间编程状态P3’。
与中间编程状态P3’相对应的预编程验证电压VPREVRF可以低于与最高目标编程状态P3相对应的验证电压VVRF3。此外,在一些实施例中,MSB预编程的初始步进脉冲的电压电平可以低于MSB主编程的初始步进脉冲的电压电平。
可以执行MSB主编程,从而使每个多电平单元可以根据多比特数据而具有擦除状态EO、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S450)。
如上所述,在根据示例实施例的非易失性存储器件的编程方法中,由于对待被编程到最高目标编程状态P3的多电平单元执行MSB预编程,因此可以减小因耦合或干扰所致的、具有擦除状态EO的多电平单元的不期望的阈值电压移位,并且可以减小目标状态E0、P1、P2和P3的宽度。
图13是图示根据示例实施例的非易失性存储器件的编程方法的流程图,图14是图示通过图13的编程方法编程的多电平单元的阈值电压分布的例子的示图。
参照图13和图14,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或中间状态IPl (S510)。
在LSB编程之后,可以执行MSB编程,以便对多电平单元中的多比特数据的MSB进行编程(S520)。MSB编程可以包括MSB预编程和MSB主编程。
可以使用ISPP方法对待被编程到目标编程状态PU P2和P3的多电平单元执行 MSB预编程(S530)。例如,通过ISPP方式的MSB预编程,待被编程到第一目标编程状态Pl 的多电平单元可以被编程到与第一目标编程状态Pl相对应的中间编程状态P1’,待被编程到第二目标编程状态P2的多电平单元可以被编程到与第二目标编程状态P2相对应的中间编程状态P2’,并且待被编程到第三目标编程状态P3的多电平单元可以被编程到与第三目标编程状态P3相对应的中间编程状态P3’。
在一些实施例中,可以同时执行对待被编程到第一到第三目标编程状态Pl、P2和 P3的存储单元的预编程。例如,可以通过施加单个增量步进脉冲来执行对待被编程到第一到第三目标编程状态P1、P2和P3的存储单元的预编程。此外,ISPP方式的MSB预编程可以包括使用第一到第三预编程验证电压VPREVRF I、VPREVRF2和VPREVRF3的验证步骤。因此, 通过MSB预编程,待被编程到第一目标编程状态Pl的多电平单元的阈值电压可以变得等于或高于第一预编程验证电压VPREVRF1,待被编程到第二目标编程状态P2的多电平单元的阈值电压可以变得等于或高于第二预编程验证电压VPREVRF2,并且待被编程到第三目标编程状态P3的多电平单元的阈值电压可以变得等于或高于第三预编程验证电压VPREVRF3。
在一些实施例中,与中间编程状态Pr、P2’和P3’相对应的第一到第三预编程验证电压VPREVRF1、VPREVRF2和VPREVRF3可以分别低于与第一到第三目标编程状态PU P2 和P3相对应的第一到第三验证电压VVRFl、VVRF2和VVRF3。此外,在一些实施例中,MSB预编程的初始步进脉冲的电压电平可以低于MSB主编程的初始步进脉冲的电压电平。
可以执行MSB主编程,从而使每个多电平单元根据多比特数据而具有擦除状态 EO、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S550)。
如上所述,在根据示例实施例的非易失性存储器件的编程方法中,由于对待被编程到目标编程状态PU P2和P3的多电平单元执行MSB预编程,可以减小目标状态E0、PU P2和P3的宽度
图15是图示根据示例实施例的非易失性存储器件的编程方法的流程图,图16是图示通过图15的编程方法编程的多电平单元的阈值电压分布的例子的示图。
参照图15和图16,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或中间状态IP1(S610)。
在LSB编程之后,可以执行MSB编程,以便对多电平单元中的多比特数据的MSB进行编程(S620)。MSB编程可以包括MSB预编程和MSB主编程。
MSB预编程可以包括第一预编程步骤(S631)、分割步骤(S633)和第二预编程步骤 (S635)。在第一预编程步骤期间,通过向待被编程到最高目标编程状态P3的多电平单元施加第一单脉冲0SP1,待被编程到最高目标编程状态P3的多电平单元可以被预编程到与最高目标编程状态P3相对应的第一中间编程状态P3”(S631)。例如,为了将多电平单元预编程到与最高目标编程状态P3相对应的第一中间编程状态P3”,可以向耦合到待被编程到最高目标编程状态P3的多电平单元的位线施加低电平的第一电压,可以向耦合到其他多电平单元的位线施加高电平的第二电压,并且可以向被选字线施加第一单脉冲OSPl。
在分割步骤期间,可以通过向已被编程到第一中间编程状态P3”的多电平单元 661,662和663施加至少一个分割电压Vl和V2,将第一中间编程状态P3”分成多个部分 SI、S2和S3 (S633)。例如,至少一个分割电压Vl和V2可以包括第一分割电压Vl和第二分割电压V2,并且第一中间编程状态P3”可以被分成第一部分SI、第二部分S2和第三部分 S3,第一部分SI包括低于第一分割电压Vl的阈值电压,第二部分S2包括第一分割电压Vl 与第二分割电压V2之间的阈值电压,第三部分S3包括闻于第二分割电压V2的阈值电压。 通过向被选字线顺序地施加第一分割电压Vl和第二分割电压V2,可以确定已被预编程到第一中间编程状态P3”的每个多电平单元661、662和663存在于第一到第三部分S1、S2和 S3中的哪一部分中。
在第二预编程步骤期间,通过根据多个部分S1、S2和S3将多电平单元的阈值电压增加不同的电压电平,可以将已被预编程到第一中间编程状态P3”的多电平单元进一步预编程到比第一中间编程状态P3”窄的第二中间编程状态P3’(S635)。例如,为了将多电平单元更进一步预编程到第二中间编程状态P3’,可以向耦合到第一部分SI中的多电平单元 661的位线施加低电平的第一电压,可以向耦合到第二部分S2中的多电平单元662的位线施加强制电压,可以向耦合到第三部分S3中的多电平单元663和其他多电平单元的位线施加高电平的第二电压,并且可以向被选字线施加第二单脉冲0SP2。例如,低电平的第一电压可以是低电源电压或地电压,高电平的第二电压可以是高电源电压,并且强制电压可以高于第一电压并低于第二电压。在一些实施例中,强制电压可以具有与第一电压Vl和第二电压V2之间的电压电平差相对应的电压电平,其中第一电压Vl用于分隔第一部分SI和第二部分S2,并且第二电压V2用于分隔第二部分S2和第三部分S3。通过强制电压,可以增加第二部分S2中的多电平单元662的通道电压,因此可以降低用于第二部分S2中的多电平单元662的第二单脉冲0SP2的有效电压电平。因此,第二部分S2中的多电平单元662的阈值电压增量可以小于第一部分SI中的多电平单元661的阈值电压增量。此外,由于向耦合到第三部分S3中的多电平单元663的位线施加高电平的第二电压,因此可以不增加第三部分S3中的多电平单元663的阈值电压。
如上所述,可以通过施加第一单脉冲0SP1、通过分割成多个部分S1、S2和S3以及通过施加第二单脉冲0SP2,来对待被编程到最高目标编程状态P3的多电平单元661、662和 663执行MSB预编程(S630)。由于根据多个部分S1、S2和S3将多电平单元661、662和663 的阈值电压增加了不同的电压电平,因此可以将多电平单元661、662和663预编程到具有较窄宽度的第二中间编程状态P3’。
可以执行MSB主编程,从而使每个多电平单元可以根据多比特数据而具有擦除状态EO、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S650)。
如上所述,在根据示例实施例的非易失性存储器件的编程方法中,由于对待被编程到最高目标编程状态P3的多电平单元执行MSB预编程,可以减小因耦合或干扰所致的、 具有擦除状态EO的多电平单元的不期望的阈值电压移位,并且可以减小目标状态E0、PUP2和P3的宽度。
图17是图示根据示例实施例的非易失性存储器件的编程方法的流程图,图18是图示通过图17的编程方法编程的多电平单元的阈值电压分布的例子的示图。
参照图17和图18,可以执行LSB编程,以使每个多电平单元可以根据相应多比特数据的LSB而具有擦除状态EO或中间状态IPl (S710)。
在LSB编程之后,可以执行MSB编程,以便对多电平单元中的多比特数据的MSB进行编程(S720)。MSB编程可以包括MSB预编程和MSB主编程。
MSB预编程可以包括第一预编程步骤(S731)、分割步骤(S733)和第二预编程步骤 (S735)。在第一预编程步骤期间,通过向多电平单元施加第一多个单脉冲0SP1_1、OSP 1_2 和0SP1_3,可以将多电平单元预编程到与目标编程状态Pl,P2和P3相对应的第一中间编程状态P1”、P2”和P3” (S731)。第一单脉冲0SP1_1、0SP1_2和0SP1_3可以具有不同的电压电平,并且可以被顺序地施加到被选字线。
在分割步骤期间,可以将每个第一中间编程状态PI”、P2”和P3”分成多个部分 (S733)。例如,可以使用第一分割电压Vl_l和第二分割电压V2_l,将与第一目标编程状态 Pl相对应的一个第一中间编程状态P1”分成三个部分;可以使用第三分割电压Vl_2和第四分割电压V2_2,将与第二目标编程状态P2相对应的另一个第一中间编程状态P2”分成三个部分;并且可以使用第五分割电压Vl_3和第六分割电压V2_3将与第三目标编程状态P3 相对应的又一个第一中间编程状态P3”分成三个部分。
在第二预编程步骤期间,通过根据多个部分将多电平单元的阈值电压增加不同的电压电平,可以进一步将已被预编程到第一中间编程状态Pi”、P2”和P3”的多电平单元预编程到分别比第一中间编程状态Pr’、P2”和P3”窄的第二中间编程状态Pr、P2’和 P3’(S735)。例如,可以向与位于第一中间编程状态P1”、P2”和P3”当中的第一部分中的多电平单元耦合的位线施加低电平的第一电压,可以向与位于第一中间编程状态Pi”、P2” 和P3”当中的第二部分中的多电平单元耦合的位线施加强制电压,并且可以向与位于第一中间编程状态P1”、P2”和P3”当中的第三部分中的多电平单元耦合的位线施加高电平的第二电压。此外,可以向被选字线顺序地施加具有不同电压电平的第二多个单脉冲0SP2_1、 0SP2_2和0SP2_3。位于第一中间编程状态PI”、P2”和P3”当中的第二部分中的多电平单元的阈值电压增量可以分别小于位于第一中间编程状态P1”、P2”和P3”当中的第一部分SI 中的多电平单元的阈值电压增量。此外,位于第一中间编程状态PI”、P2”和P3”当中的第三部分S3中的多电平单元的阈值电压可以不增加。
如上所述,可以通过施加第一单脉冲0SP1_1、OSP 1_2和0SP1_3、通过将每个第一中间编程状态PI”、P2”和P3”分成多个部分、并且通过施加第二单脉冲0SP2_1、0SP_2和 0SP2_3,对多电平单元执行MSB预编程(S730)。对于每个第一中间编程状态PI”、P2”和 P3”,多电平单元的阈值电压根据多个部分而增加不同的电压电平,因此可以将多电平单元预编程到具有较窄宽度的第二中间编程状态PI’、P2’和P3’。
可以执行MSB主编程,从而使每个多电平单元根据多比特数据而具有擦除状态 EO、第一目标编程状态P1、第二目标编程状态P2和第三目标编程状态P3之一(S750)。
如上所述,在根据示例实施例的非易失性存储器件的编程方法中,由于对多电平单元执行MSB预编程,可以减小目标状态E0、PU P2和P3的宽度。
尽管图7到图18图示了多电平单元存储两比特数据的例子,但根据示例实施例的编程方法也可以施加到存储三比特或更多比特数据的多电平单元。
图19是用于描述根据示例实施例的对多电平单元的行的编程顺序的示图。
参照图19,在对耦合到下一个字线(即,邻近当前字线的字线)的多电平单元执行 LSB编程之后,可以对耦合到当前字线的多电平单元执行MSB编程。
例如,可以执行对于第一字线WLl的LSB编程,然后,可以执行对于第二字线WL2 的LSB编程。在那之后,可以执行对于第一字线WLl的MSB编程。每个LSB编程和/或每个MSB编程可以包括预编程和主编程。在一些实施例中,预编程和主编程可以按照一个次序执行。类似地,在执行了对于第三字线WL3的LSB编程之后,可以执行对于第二字线WL2 的MSB编程。
如上所述,由于可以在对于下一个字线的LSB编程之后执行对于当前字线的MSB 编程,因此可以减小字线耦合。
图20是图示根据示例实施例的非易失性存储器件的框图。
参照图20,非易失性存储器件800包括存储单元阵列810、页缓存单元820、行译码器830、电压生成器840和控制电路850。
存储单元阵列810可以包括耦合到多条字线和多条位线的多电平单元。每个多电平单元可以存储具有至少两比特的多比特数据。非易失性存储器件800可以被配置成使用例如上面参照图I到图19讨论的编程方法中的任何一个来对在多电平单元中的多比特数据进行编程。
对于多电平单元的编程操作可以包括LSB编程和MSB编程。MSB编程可以包括预编程和主编程。可以对待被编程到至少一个编程状态的多电平单元执行预编程。例如,可以对待被编程到最高目标编程状态的多电平单元执行预编程,或者可以对将被编程到所有状态的多电平单元执行预编程。根据示例实施例,可以通过使用单脉冲、通过使用ISPP、或者通过根据多个部分增加阈值电压,来执行预编程。因此,在根据示例实施例的编程方法中, 可以减小各个目标状态的宽度。
根据操作方式,页缓存单元820可以用作写入驱动器或读出放大器。例如,页缓存单元820可以在读取模式中用作读出放大器,并且可以在写入模式中用作写入驱动器。页缓存单元820可以包括耦合到位线并临时存储多比特数据的页缓存器。每个页缓存器可以耦合到相应的位线。页缓存器可以包括临时存储多比特数据的数据存储锁存器。
行译码器830可以响应于行地址来选择字线。行译码器830可以将来自电压生成器840的字线电压施加到被选字线和未选字线。在编程操作期间,行译码器830可以将编程电压施加到被选字线,并且可以将通过电压施加到未选字线。
电压生成器840可以受控制电路850的控制,生成字线电压,如编程电压、通过电压、预编程验证电压、验证电压、读取电压等等。
控制电路850可以控制页缓存单元820、行译码器830和电压生成器840,以对存储单元阵列810中的多比特数据进行编程。控制电路850可以控制页缓存单元820、行译码器830和电压生成器840,以执行LSB编程、MSB预编程和MSB主编程。例如,在编程操作期间,控制电路850可以控制行译码器830和电压生成器840,以向被选字线施加单脉冲、增量步进脉冲、预编程验证电压或验证电压。
根据示例实施例的非易失性存储器件800可以对至少一个编程状态的执行预编程。因此,根据示例实施例的非易失性存储器件800的多电平单元可以被编程到具有较窄宽度的目标编程状态。图21是图示根据示例实施例的存储系统的框图。参照图21,存储系统900包括存储控制器910和非易失性存储器件920。非易失性存储器件920包括存储单元阵列921和页缓存单元922。页缓存单元922 可以包括耦合到位线并临时存储多比特数据的页缓存器。存储单元阵列921可以包括耦合到字线和位线的多电平单元。存储控制器910和非易失性存储器件920可以被配置成根据例如以上参照图1至图19描述的过程中的任何一个,通过LSB编程、预编程和主编程将多电平单元编程为具有较窄的阈值电压分布。图22是图示根据示例实施例的包括存储系统的存储卡的框图。参照图22,存储卡1000可以包括存储控制器1020和非易失性存储器件1030。存储控制器1020可以是例如上面参照图20讨论的存储控制器910。非易失性存储器件1030 可以是例如上面参照图20讨论的非易失性存储器件920。在一些实施例中,存储系统1000可以被实现为存储卡,如多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、混合嵌入式多媒体卡(混合eMMC)、安全数字(SD)卡、微SD卡、记忆棒、 ID 卡、个人计算机存储卡国际联合会(personal computer memory card international association, PCMCIA)卡、芯片卡、USB卡、智能卡、紧凑型闪存(CF)卡等。在一些实施例中,存储系统1000可以耦合到主机,如台式计算机、膝上型计算机、 移动电话、智能电话、音乐播放器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数字电视、数码相机、便携式游戏控制台等。图23是图示根据示例实施例的包括存储系统的固态驱动器的示图。参照图23,存储系统1100包括存储控制器1110和多个非易失性存储器件1120。 在一些实施例中,存储系统1100可以是固态驱动器(SSD)。存储控制器1110可以从主机(未示出)接收数据。存储控制器1110可以在多个非易失性存储器件1120中存储接收的数据。多个非易失性存储器件1120可以包括多电平单元。可以通过LSB编程、预编程和主编程将多电平单元编程为具有较窄的阈值电压分布。在一些实施例中,存储系统1100可以耦合到主机,如移动设备、移动电话、智能电话、PDA、PMP、数码相机、便携式游戏控制台,音乐播放器、台式计算机、笔记本计算机、扬声器、视频播放器、数字电视等。存储控制器1110可以是例如上面参照图20讨论的存储控制器910。非易失性存储器件1120中的任何一个或全部可以是例如上面参照图20讨论的非易失性存储器件920。图M是图示根据示例实施例的计算系统的示图。参照图24,计算系统1200包括处理器1210、存储器1220、用户接口 1230和上面参照图20讨论的存储系统900。在一些实施例中,计算系统1200还可以包括调制解调器 1M0,如基带芯片组。处理器1210可以执行各种计算功能,如运行用于执行特定计算或任务的特定软件。例如,处理器1210可以是微处理器、中央处理单元CPU)、数字信号处理器等等。处理器
201210可以经由总线1250,如地址总线、控制总线和/或数据总线,耦合到存储器1220。例如,存储器1220可以由DRAM、移动DRAM、SRAM、PRAM、FRAM、RRAM、MRAM和/或快闪存储器来实现。此外,处理器1210可以耦合到诸如外围组件互联(PCI)总线的扩展总线,并且可以控制包括至少一个输入设备和至少一个输出设备的用户接口 1230,其中输入设备例如键盘、鼠标、触摸屏等等,输出设备例如打印机、显示设备等等。调制解调器1240可以执行与外部设备的有线或无线通信。非易失性存储器件920可以由存储控制器910控制,以存储经处理器1210处理的数据或经由调制解调器1240接收的数据。在一些实施例中,计算系统1200还可以包括电源、应用芯片组、照相机图像处理器(CIS)等等。非易失性存储器件920可以包括多电平单元。可以通过LSB编程、预编程和主编程将多电平单元编程为具有较窄的阈值电压分布。至少一些实施例可以应用到包括多电平单元的任何非易失性存储器件、以及包括非易失性存储器件的设备和系统。例如,至少一些示例实施例可以应用于各种电子设备, 如存储卡、固态驱动器、台式计算机、膝上型计算机、移动电话、智能电话、音乐播放器、PDA、 PMP、数字电视、数码相机、便携式游戏控制台等。因此,已经对示例实施例进行了描述,很显然,可以以许多方式变更示例实施例。 这样的变更不应被看作脱离示例实施例的本意精神和范围,并且所有这样的对本领域技术人员而言显而易见的修改都意图包括在权利要求的范围之内。
权利要求
1.一种非易失性存储器件的编程方法,该非易失性存储器件包括多个存储多比特数据的多电平单元,该方法包括执行对多个多电平单元中的多比特数据的最低有效位LSB进行编程的LSB编程操作;以及执行对多个多电平单元中的多比特数据的最高有效位MSB进行编程的MSB编程操作, 其中,执行MSB编程操作包括对多个多电平单元当中的、待被编程到多个目标编程状态当中的最高目标编程状态的第一多电平单元执行MSB预编程操作;以及执行将多个多电平单元编程到与多比特数据相对应的多个目标编程状态的MSB主编程操作。
2.如权利要求I所述的方法,其中,执行MSB预编程操作包括通过向第一多电平单元施加单脉冲,将第一多电平单元编程到与最高目标编程状态相对应的中间编程状态。
3.如权利要求I所述的方法,其中,执行MSB预编程操作包括向第一多电平单元施加增量步进脉冲;以及向第一多电平单元施加预编程验证电压,以验证第一多电平单元是否被编程到与最高目标编程状态相对应的中间编程状态。
4.如权利要求I所述的方法,其中,执行MSB预编程操作包括将第一多电平单元编程到与最高目标编程状态相对应的第一中间编程状态;将第一中间编程状态分成多个部分;以及对于第一多电平单元中的每一个,基于所述多个部分中该第一多电平单元所对应的部分来将该第一多电平单元的阈值电压增加多个不同电压电平之一,由此将该第一多电平单元编程到比第一中间编程状态窄的第二中间编程状态。
5.如权利要求4所述的方法,其中,将第一多电平单元编程到第一中间编程状态包括 向第一多电平单元施加第一单脉冲。
6.如权利要求4所述的方法,其中,将第一中间编程状态分成多个部分包括向第一多电平单元施加至少一个分割电压,以确定每个第一多电平单元存在于所述多个部分中的哪一个中。
7.如权利要求4所述的方法,其中,所述多个部分包括第一部分、第二部分和第三部分,并且其中,将第一多电平单元编程到第二中间编程状态包括向耦合到位于第一部分中的第一多电平单元的位线施加低电平的第一电压;向耦合到位于第二部分中的第一多电平单元的位线施加强制电压;向耦合到位于第三部分中的第一多电平单元的位线施加高电平的第二电压;以及向耦合到第一多电平单元的被选字线施加第二单脉冲。
8.如权利要求7所述的方法,其中,第一电压是低电源电压,第二电压是高电源电压, 并且强制电压具有高于第一电压且低于第二电压的电压电平。
9.如权利要求7所述的方法,其中,向被选字线施加第二单脉冲,以使得位于第三部分中的第一多电平单元的阈值电压基本不增加,并且位于第二部分中的第一多电平单元的阈值电压的增量小于位于第一部分中的第一多电平单元的阈值电压的增量。
10.一种非易失性存储器件的编程方法,该非易失性存储器件包括多个存储多比特数据的多电平单元,该方法包括执行对多个多电平单元中的多比特数据的最低有效位LSB进行编程的LSB编程操作;以及执行对多个多电平单元中的多比特数据的最高有效位MSB进行编程的MSB编程操作, 其中,执行MSB编程操作包括对多个多电平单元当中的、待被编程到多个目标编程状态当中的至少一个目标编程状态的第一多电平单元执行MSB预编程操作;以及执行将多个多电平单元编程到与多比特数据相对应的多个目标编程状态的MSB主编程操作。
11.如权利要求10所述的方法,其中,所述至少一个目标编程状态包括所述多个目标编程状态当中的最闻目标编程状态。
12.如权利要求10所述的方法,其中,所述至少一个目标编程状态包括所有多个目标编程状态。
13.如权利要求12所述的方法,其中,执行MSB预编程操作包括通过向多个多电平单元顺序地施加分别与多个中间编程状态相对应的多个单脉冲,将多个多电平单元编程到与多个目标编程状态相对应的多个中间编程状态。
14.如权利要求12所述的方法,其中,执行MSB预编程操作包括向多电平单元施加增量步进脉冲;以及向多个多电平单元顺序地施加多个预编程验证电压,以验证多电平单元是否被编程到分别与多个目标编程状态相对应的多个中间编程状态。
15.如权利要求12所述的方法,其中,执行MSB预编程操作包括将多个多电平单元编程到分别与多个目标编程状态相对应的第一多个中间编程状态;将第一多个中间编程状态中的每一个分成多个部分;以及通过根据多个部分将多个多电平单元的阈值电压增加不同的电压电平,来将多个多电平单元编程到分别比第一多个中间编程状态窄的第二多个中间编程状态。
16.一种对非易失性存储器件的多个多电平单元中的多比特数据进行编程的方法,该方法包括对多电平单元中的多比特数据的最低有效位LSB进行编程;以及对于多个多电平单元中的每一个,通过使用多个目标电压电平当中与该多电平单元相对应的目标电压电平的验证电压来验证该多电平单元的阈值电压,由此对多个多电平单元中的多比特数据的最高有效位MSB进行编程,其中,编程MSB包括对于多个多电平单元当中的第一多电平单元中的每一个,通过使用与第一多电平单元相对应的中间电压电平的验证电压来验证第一多电平单元的阈值电压,由此来执行MSB预编程操作,其中,该相对应的中间电压电平低于该相对应的目标电压电平;以及在执行MSB预编程操作之后,对于多个多电平单元中的每一个,通过使用与该多电平单元相对应的目标电压电平的验证电压来验证该多电平单元的阈值电压,由此来执行MSB 主编程操作。
17.一种对非易失性存储器件的多个多电平单元中的多比特数据进行编程的方法,该方法包括对多电平单元中的多比特数据的最低有效位LSB进行编程;以及通过对多个多电平单元当中的第一多电平单元中的每一个执行下列操作来执行最高有效位MSB预编程操作向第一多电平单兀施加第一编程脉冲,确定多个阈值电压区域当中该第一多电平单元所属于的阈值电压区域,以及向该第一多电平单元施加第二编程脉冲,该第二编程脉冲具有基于所述多个区域当中该第一多电平单元所对应的区域而从多个不同的电压电平当中选择的电压电平;以及在执行MSB预编程操作之后,对多电平单元中多比特数据的MSB进行编程。
全文摘要
在根据示例实施例的、对包括多个存储多比特数据的多电平单元的非易失性存储器件的编程方法中,执行最低有效位(LSB)编程操作,以对多个多电平单元中的多比特数据的LSB进行编程。执行最高有效位(MSB)编程操作,以对多个多电平单元中的多比特数据的MSB进行编程。为了执行MSB编程操作,对多个多电平单元当中待被编程到多个目标编程状态当中的最高目标编程状态的第一多电平单元执行MSB预编程操作,并且执行MSB主编程操作,以将多个多电平单元编程到与多比特数据相对应的多个目标编程状态。
文档编号G11C16/10GK102543192SQ201110453269
公开日2012年7月4日 申请日期2011年12月30日 优先权日2010年12月30日
发明者张俊锡, 郭东勋 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1