在闪速存储器件中对数据进行编程的方法

文档序号:6778873阅读:126来源:国知局
专利名称:在闪速存储器件中对数据进行编程的方法
技术领域
本发明涉及一种多级单元(multi-level cell, MLC )闪速存储器件。更 具体地,本发明涉及一种在闪速存储器件中对数据进行编程的方法,其中, 设置编程起始电压依赖于阈值电压的移动路径,以便改进编程时间。
背景技术
通常,闪速存储器件分为NAND闪速存储器或NOR闪速存储器。 这里,NOR闪速存储器具有极好的随机存取时间特性,因为存储单元独 立地连接到位线和字线。然而,在NAND闪速存储器中,因为存储单元 串联连接,所以一个单元串需^仅一个接触,并且因此,就集成度而言, NAND闪速存储器具有极好的特性。因此,NAND闪速存储器通常在高 度集成的闪速存储器中采用。在美国专利No. 7,193,911中更详细地描述 了 NAND闪速存储器的配置,该美国专利通过引用结合于此。近来,为了提高闪速存储器的集成度,已经在积极研究用于在一个存 储单元中存储多个数据的多位单元。这种存储单元称为多级单元(MLC)。反之,用于存储一位的存储单 元称为单级单元(SLC).图l是示出了用于存储2位数据的多级单元的单元电压分布的视图。 用于存储2位数据的存储单元具有四种单元分布,即,对应于数据[11]的 单元分布,对应于数据[10]的单元分布,对应于数据
的单元分布以及 对应于数据
的单元分布。在对最低有效位(LSB)进行编程时,阈值 电压可以从状态[11〗移动到状态[10],如图1中箭头1所示。在对最高有 效位(MSB)进行编程时,阈值电压可以从状态[11]移动到状态

,如图1中箭头2所示。图l的箭头l、 2和3示出了对一组MLC、例如MLC页执行的多个 编程操作。该页具有第一、第二和第三组MLC,其中,每个组具有一个 或多个MLC。对第一组MLC执行LSB编程以i更将第一组置于状态[lO
(参见箭头1 )。对第二组MLC执行笫一 MSB编程以便将第二组置于状 态[OO](参见箭头2)。第二组可以与第一组是同一组,或者是第一组的子 集。对第三组MLC执行第二 MSB编程以便将第三组置于状态[Ol(参 见箭头3 )。在闪速存储器件将数据编程到MLC的情况下,通过优化编程电压 Vpgm,闪速存储器件可使编程时间最小化,以4更移动图l所示单元中的 每个单元的阈值电压。如上所述,通过执行一次LSB编程并且执行两次 MSB编禾呈,MLC的阈值电压增加。图2A是示出了在图1的LSB编程期间单元的阈值电压改变的视图。 提供脉沖形式的编程电压Vpgm以执行LSB编程。单元的阈值电压改变, 从而根据编程电压Vpgm对其中的数据进行编程。编程电压Vpgm根据 增量步长脉沖编程(ISPP)方法而被施加,在该方法中,编程电压Vpgm 以(K2V的增量从第一电压(a)增加,第一电压(a)是用于LSB编程操 作的起始电压。另外,通过应用ISPP方法,单元的阈值电压沿路径Pl增加。编程 m^查单元的阈值电压,以确定单元是否已经被适当地编程到与第一验 证电压PV1相关联的第一状态。如果确定单元的阈值电压大于第一J^iiE 电压PV1,则认为所述单元已经被适当地编程到第一状态,例如[IO。图2B是示出了在与图1有关的MSB编程期间单元的阈值电压改变 的视图。在执行第一和第二MSB编程操作时,单元的阈值电压可如图1 所示那样(参见箭头2和3 )移动。针对第一和笫二 MSB编程^Mt,施 加不同的编程电压Vpgm。使用起始电压来应用ISPP方法,该起始电压 是用于第一MSB编程操作的第二电压(b)。因此,单元的阈值电压沿路径P2增加,超过第二验汪电压PV2。此 外,单元的阈值电压沿路径P3增加,达到第三發汪电压PV3。当使用P2路径进行编程时,ISPP方法的电压增量(例如,0.2V)必 须足够小,以达到第二验汪电压PV2而没有过冲超过第三發汪电压PV3。 但是,使用小电压增量意味着编程时间将更长,并且将使用更多的电力以便经由P3路径达到第三验证电压。发明内容本发明涉及一种在闪速存储器件中对数据进行编程的方法,用以在对 多级单元进行编程时,根据单元的阈值电压的分布来设置编程电压,从而 减少编程时间。在一个实施例中,提供了 一种在包括多个多级单元的闪速存储器件中 对数据进行编程的方法。该多级单元包括第一单元和第二单元。所述方法 包括使用第一编程电压对第一单元执行第一编程操作,当对第一单元执 行第一编程操作时,第一单元处于第一状态;在已经执行第一编程操作之 后,确定第一单元是否被编程到第二状态;如果确定第一单元处于第二状 态,则对第一编程电压和用于第二编程操作的起始电压进行比较;基于比 较的结果来限定用于第二编程操作的第二编程电压;使用已经根据比较的 结果而限定的第二编程电压来对笫二单元执行第二编程操作;确定第二单 元是否被编程到第三状态;如果在第二编程电压已经^L施加到第二单元之 后,确定第二单元不处于第三状态,则将第二编程电压增加第一电压增量; 以及使用增加的第二编程电压再次对第二单元进行编程。在一个实施例中,限定第二编程电压涉及在确定第一编程电压不大于 起始电压的情况下将起始电压设置为第二编程电压。在第 一编程操作之前 已经对第一单元进行编程,以将第一单元置于第一状态。在一个实施例中,所述方法还包括对第一单元进行最低有效位(LSB) 编程,以将第一单元编程到第一状态,其中,LSB编程在第一编程操作 之前执行。所述方法进一步包括在确定第一单元不处于第二状态的情况下 将第一编程电压增加第二电压增量;以及使用增加的第一编程电压再次对 第一单元进行编程,其中,所述比较步骤涉及将增加的第一编程电压与起 始电压进行比较。在一个实施例中,所述方法涉及在将LSB数据编程到至少第一单元 之后,对第一和笫二单元的最高有效位(MSB)进行编程,其中,多级 单元页被编程,所述页包括第一和第二单元,并且,其中第一单元被仅仅 编程到第二状态,并且第二单元从第 一状态被编程到第三状态。在另一实施例中, 一种将最高有效位(MSB)数据编程到闪速存储 器件中包括第 一和笫二单元的多级单元的方法包括使用第 一编程电压对第一单元执行第一编程操作,在对第一单元执行第一编程操作时,第一单元处于第一状态;如果在第一编程操作之后,确定第一单元处于第二状态, 则基于对第一编程电压与针对第二编程操作而预限定的起始电压的比较 结果,限定第二编程电压;以及使用已经根据第一编程电压与起始电压之 间的比较结果而限定的第二编程电压,对第二单元执行第二编程操作。在另一实施例中,所述方法进一步包括在第二编程电压已经被施加 到第二单元之后,确定第二单元是否被编程到第三状态;如果在第二编程 电压已经被施加到第二单元之后,确定第二单元不处于第三状态,则将第 二编程电压增加第一电压增量;以及使用增加的第二编程电压再次对第二 单元进行编程,其中,第一、第二和第三状态分别与第一、第二和第三验 证电压相关联,并且,其中起始电压处于第二和第三發逸电压之间的电平。如上所述,在对多级单元进行编程时,本发明的在闪速存储器件中对 数据进行编程的方法对与验证电压中的每一个相对应的编程起始电压进 行设置,从而在与较低电平的单元分布有关的编程验证通过之后,将编程 电压调节成与较高电平的单元分布相对应的编程电压。结果,可以减少编程脉冲、编程时间和功耗。


图l是示出了用于存储2位数据的多级单元的单元电压分布的视图;图2A是示出了在图1的LSB编程中单元的阈值电压的改变的视图;图2B是示出了在图1的MSB编程中单元的阈值电压的改变的视图;图3是示出了使用根据本发明一实施例的编程方法的单元的阈值电 压的改变的视图;以及图4是示出了根据本发明一实施例的在闪速存储器件中对数据进行 编程的方法的流程图。
具体实施方式
在下文中,将参考附图来更详细地说明本发明的实施例。参考图3,本实施例的对MSB数据进行编程的方法根据单元的编程 分布来设置编程电压的起始电压,并且接着从该起始电压施加编程电压,以便编程电压不会不必要地被施加并且编程时间得以减少。MLC编程中的验汪电压具有第一验汪电压PV1,其用于验汪单元的 阈值电压是否处于[10状态(或者第一状态),即,m^LSB编程。第二 验证电压PV2用于JiHt单元的阈值电压是否处于[00状态(或者第二状 态)。第三J^iiE电压PV3用于验证单元的阈值电压是否处于[011状态(或 者第三状态)。在本实施例中,编程的起始电压根据目标状态、即[10、[011、 [00而改变。换句话说,在用于存储2位数据的多级单元MLC的情况下,当没有 具有区域C中的阈值电压的单元时,执行LSB编程,如图3所示。然后, 使用第一验证电压PV1来执行编程验证。如果编程IHE通过,则可执行 第一和第二 MSB编程操作。在本实施例中,首先执行第一MSB编程操 作,接着使用第二验证电压PV2来执行编程验证。如果该编程验证通过, 则执行第二 MSB编程。基于在用于第一 MSB编程操作的最后编程电压 与用于第二 MSB编程的预限^始电压之间进行的比较,来设置用于第 二MSB编程^Mt的初始编程电压,如下所述。在本实施例中,针对以下三个编程操作来限定三个起始电压LSB 编程操作、第一 MSB编程操作和第二 MSB编程操作。第一起始电压Vsl 是用于LSB编程操作的编程起始电压。第二起始电压Vs2是用于第一 MSB编程操作的编程起始电压,并且与第二验证电压PV2有关。第三起 始电压Vs3是用于第二 MSB编程操作的起始电压,并且与第三!HiE电压 PV3有关。这里,图3所示的起始电压Vs是第三起始电压Vs3。图4是示出了根据本发明一实施例的在闪速存储器件中对MSB数据 进行编程的方法的流程图。该闪速存储器件包括被配置成被编程到第一 、 第二和第三状态的多个MLC。第一状态与第一验汪电压PV1相关联。第 二状态与第二!Hit电压PV2相关联。第三状态与第三!Hi电压PV3相关 联。图4中公开的方法将第一和第二MSB编程操作相关联,即,将单元 置于第二或第三状态。步骤S405至S415涉及对一组MLC执行的第一 MSB编程操作。步骤S417至S431涉及对另 一组MLC执行的第二 MSB 编程操作。通常,对一组MLC、例如MLC页执行编程操作。所述页具有可被 编程到不同状态的多个MLC。例如,第一组可通过LSB编程IMt而被编 程到第一状态。第二组可通过第一MSB编程操作而被编程到第二状态。 第三组可通过笫二MSB编程操作而被编程到第三状态(见图1)。参考图4,在步骤S401中编程命令被输入到本实施例的闪速存储器 件的情况下,包括在闪速存储器件中的控制器(未示出)通过将编程计数 器(PC )复位为"O"来准备编程操作(步骤S403 )。PC用于确定是否已发生编程失败。每次执行编程操作时,PC增加 "1"。重复编程操作,直到编程验证成功。如果PC的值变为等于预限定 数目,则认为已发生编程失败,因为不能在预限定数目的操作内进行编程 發江。应注意的是,尽管未示出,但是控制器可首先从第一起始电压Vsl 执行LSB编程操作,以将第一组单元置于与第一臉汪电压PV1相关联的 第一状态。在LSB编程之后,控制器从第二起始电压Vs2开始第一 MSB编程 操作,以将第二组单元置于与第二验逸电压PV1相关联的第二状态(步 骤S405)。第二组单元可与第一组单元是同一组单元,或者是第一组单元 的子集。根据步骤S405中限定的编程起始电压,对第二组单元执行第一 MSB 编程操作(步猓S407)。在执行MSB编程时,PC增加1 (步骤S409)。在步骤S4U,使用笫二验证电压PV2来执行编程验汪,以确定第二 组中的单元是否处于与第二IHit电压PV2相关联的笫二状态。编程4Hit 检查单元的阈值电压是否大于第二發汪电压PV2。如果编程發汪未通过, 则检查PC,看其值是否小于预限定的值PC—max (步骤S413)。在步骤S415中,如果PC的值小于预限定的值PC—max,则根据ISPP 方法,编程电压增加电压增量AVpgm。重复步骤S407至S413。另一方面,在步骤S413,如果PC的值等于预限定的值PC—max,则 闪速存储器件确定已经在单元中发生编程失败。回过来参考步骤S411,如果使用第二验证电压PV2的编程B通过, 则控制器发起将对第三组单元执行的第二 MSB编程操作。控制器确定用 于成功地对第二组进行编程的编程电压Vpgm是否小于第三起始电压 Vs3。如果编程电压Vpgm等于或大于第三起始电压Vs3,则使用编程电 压Vpgm来执行编程^作。但是,如果编程电压Vpgm小于第三起始电压Vs3,则编程电压Vpgm 被设置成等于第三起始电压Vs3(步骤S419 )。这不需要将编程电压Vpgm 斜向上增加到第三起始电压Vs3,从而节省时间和功耗。执行编程操作以将单元置于与第三|^£电压PV3相关联的第三状态(步骤S421 )。 PC的值增加1 (步骤S423 )。通过使用第三JiHit电压PV3 来进行编程mt,以确定第三组单元是否通过*汪,即,单元是否处于第 三状态(步骤S425 )。如果确定第三组单元已经通过编程mst,则编程操作结束。如果编程 J^iE未通过,则闪速存储器件确定PC的值是否等于预限定的值PC_max (步骤S427 )。如果确定PC的值小于预限定的值PC—max,则编程电压Vpgm增加 电压增量AVpgm (步骤S431 )。如有必要,重复步骤S421-S427。另一方 面,如果PC的值等于预限定的值PC—max,则闪速存储器件确定已经在 单元中发生编程失败。在本说明书中,对"一个实施例"、"一实施例"、"示例性实施例"等的 任何引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明 的至少一个实施例中。在说明书的各个地方出现这种用语不一定都指同一 实施例。此外,在结合任一实施例来描述特定特征、结构或特性时,认为 结合其它实施例来实现这种特征、结构或特性是落入本领域技术人员的理 解能力范围内的。尽管已经参考本发明的若干示例性实施例描述了本发明,但是应该理 解,本领域技术人员可以设计出其它修改和实施例,其也将落入本公开的 原则的精神和范围内。更具体而言,在本/〉开的范围内,在主J^I且合排列 的组成部分和/或排列方面进行各种变化和修改都是可能的。除了组成部 分和/或排列方面的改变和修改之外,对于本领域技术人员而言,替选的 使用也将是显而易见的。
权利要求
1. 一种在包括多个多级单元的闪速存储器件中对数据进行编程的方法,所述多级单元包括第一单元和第二单元,所述方法包括使用第一编程电压对所述第一单元和所述第二单元执行第一编程操作,当对所述第一单元执行所述第一编程操作时,所述第一单元处于第一状态;在已经执行所述第一编程操作之后,确定所述第一单元是否被编程到第二状态;如果确定所述第一单元处于所述第二状态,则将当前编程电压和用于第二编程操作的起始电压进行比较;基于所述比较的结果,限定用于所述第二编程操作的第二编程电压;以及使用已经根据所述比较的结果而限定的所述第二编程电压,来对所述第二单元执行所述第二编程操作。
2. 根据权利要求1所述的方法,其中,限定所述第二编程电压涉及在当前电压小于用于所述第二编程^Mt的起始电压的情况下,将所^始 电压设置为增加第二编程电压的初始电压。
3. 根据权利要求2所述的方法,其中,在所述第一编程操作之前已 经对所述第 一单元进行编程,以将所述第 一单元置于所述第 一状态。
4. 根据权利要求l所述的方法,进一步包括对所述第一单元进行最低有效位(LSB)编程,以将所述第一单元编 程到所述第一状态,其中,所述LSB编程在所述第一编程操作之前执行。
5. 才艮据权利要求1所述的方法,其中,所述第一和第二编程电压根 据增量步长脉冲编程(ISPP)方法而增加。
6. 根据权利要求1所述的方法,其中,如果在执行预限定数目的编 程^Mt之后,确定所述第二单元不处于所述第三状态,则认为已经发生编 程失败。
7. 根据权利要求1所述的方法,其中,所述第一、第二和第三状态 分别与第一、第二和第三發汪电压相关联。
8. —种在包括具有特定电平的多级单元的闪速存储器件中对数据进 行编程的方法,包括从预置的第一起始电压开始,关于具有第一电平的单元而执行编程操作;使用第 一验证电压来辨别关于具有所述第 一 电平的所述单元的编程 IHE是否通过,在所述编程验证未通过的情况下,逐步将编程电压增加一 给定电压,并且接着再次执行所述编程操作;在所述编程验汪通过的情况下,将当前编程电压与关于具有第二电平 的单元而设置的第二起始电压进行比较,并且根据所述比较结果,从当前 编程电压或者所述第二起始电压开始,执行所述编程^Ht;以及使用笫二验证电压来辨别关于具有所述第二电平的所述单元的编程 mt是否通过,如果关于具有所述第二电平的所述单元的编程iiHi未通 过,则逐步将所述编程电压增加一给定电压,并且接着再次执行所述编程 操作。
9. 根据权利要求8所述的方法,其中,所述编程电压根据增量步长 脉冲编程(ISPP)方法增加一给定电压。
10. 根据权利要求8所述的方法,进一步包括如果关于具有所述第一电平的所述单元的编程!HiE通过,则将当前编 程电压与所述第二起始电压进行比较;如果当前编程电压小于所述笫二起始电压,则将所述编程电压改变成 所述笫二起始电压,从所述第二起始电压逐步增加所述编程电压,并且接 着再次执行所述编程操作。
11. 根据权利要求10所述的方法,进一步包括如果所述当前编程电压与所述第二起始电压相同或者高于所述第二 起始电压,则逐步增加所述编程电压而不改变当前编程电压,并且接着执 行所述编程IMt。
12. 根据权利要求8所述的方法,进一步包括 对所述编程操作的数目进行计数。
13. 根据权利要求12所述的方法,其中,如果所述编程操作的数目 大于预定的最大值,则确定在对应的单元中发生失败。
14. 根据权利要求8所述的方法,其中,将所述第一起始电压设置在 第一發逸电平附近,该第一!Hi电平与关于具有所述笫一电平的所述单元的编程mst有关。
15. 根据权利要求8所述的方法,其中,将所述第二起始电压i殳置在 第二發汪电平附近,该第二IHE电平与关于具有所述第二电平的所述单元 的编程mit有关。
16. 根据权利要求8所述的方法,其中,具有所述第一电平的所述单 元对应于与具有所述第二电平的所述单元相比较低的电压电平。
全文摘要
一种将最高有效位(MSB)数据编程到闪速存储器件中包括第一和第二单元的多级单元的方法,包括使用第一编程电压对第一单元执行第一编程操作,当对第一单元执行第一编程操作时,第一单元处于第一状态;如果在第一编程操作之后,确定第一单元处于第二状态,则基于对第一编程电压与针对第二编程操作而预限定的起始电压进行比较的结果,来限定第二编程电压;以及使用已经根据第一编程电压与起始电压之间比较的结果而限定的第二编程电压,对第二单元执行第二编程操作。
文档编号G11C16/10GK101231888SQ20071012999
公开日2008年7月30日 申请日期2007年7月20日 优先权日2007年1月23日
发明者王钟铉 申请人:海力士半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1