CN101409107B - 对非易失性存储单元编程的方法 - Google Patents
对非易失性存储单元编程的方法 Download PDFInfo
- Publication number
- CN101409107B CN101409107B CN200810148926XA CN200810148926A CN101409107B CN 101409107 B CN101409107 B CN 101409107B CN 200810148926X A CN200810148926X A CN 200810148926XA CN 200810148926 A CN200810148926 A CN 200810148926A CN 101409107 B CN101409107 B CN 101409107B
- Authority
- CN
- China
- Prior art keywords
- threshold voltage
- distribution
- programming operation
- programming
- programmed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种对非易失性存储单元编程的方法,所述方法包括:通过将非易失性存储单元的阈值电压设置为第一电压电平来对多位数据的第一位编程,所述第一电压电平在多个阈值电压分布中的第一阈值电压分布内。通过基于第二位的值将阈值电压设置为第二电压电平来对多位数据的第二位编程。如果第二位是第一值,则第二电压电平与第一电压电平相同,如果第二位是第二值,则第二电压电平在所述多个阈值电压分布中的第二阈值电压分布内。通过基于第三位的值将阈值电压设置为第三电压电平来对多位数据的第三位编程。
Description
技术领域
本发明涉及一种对非易失性存储单元编程的方法。
背景技术
当没有向传统的能擦除数据和对数据编程的非易失性存储装置(例如,闪存)供电时,所述非易失性存储装置可保存数据。
可由存储单元形成传统的闪存,所述存储单元可包括具有控制栅极、浮置栅极和漏极的单元晶体管。可通过F-N隧穿机制来对闪存的单元晶体管编程或擦除闪存的单元晶体管。
可通过将地电压施加到控制栅极、然后将比电源电压高的电压施加到半导体基底、体(bulk)等来执行单元晶体管的擦除操作。由于电压差,所以可在浮置栅极和体之间形成电场。结果,可通过F-N隧穿效应将浮置栅极中的电子发射到体,从而减小擦除的单元晶体管的阈值电压。
可通过将比电源电压高的电压施加到控制栅极、然后将地电压施加到漏极和体来执行单元晶体管的编程操作。可将电子提供给单元晶体管的浮置栅极,从而增加编程的单元晶体管的阈值电压。
将电子注入到浮置栅极的状态可被称为编程状态,从浮置栅极移除电子的状态可被称为擦除状态。编程状态的阈值电压可大于0,擦除状态的阈值电压可小于0。
将多位数据存储在一个存储单元中的传统的多级闪存可增加闪存的集成度。存储多个位的存储单元可被称为多级单元,存储单个位的存储单元可被称为单级单元。为了存储多个位,多级单元的阈值电压可具有在至少四个阈值电压分布之一内的电压电平。在该示例中,每个阈值电压分布具有相应的数据存储状态,因此,一个多级单元可具有至少四个存储状态。
发明内容
示例性实施例涉及多种非易失性存储单元和多种对非易失性存储单元编程的方法。
示例性实施例提供了多种对非易失性存储单元编程的方法,其中,可通过使用m位编程处理来对至少n位的多位数据编程。
至少一个示例性实施例提供了一种对非易失性存储单元编程的方法(例如,包括第一操作、第二操作和第三操作)。第一操作和第二操作可基于将被编程的数据的第一位和第二位的值来对非易失性存储单元的阈值电压编程。基于数据的第一位和第二位的值,可将阈值电压编程为第一阈值电压分布、第二阈值电压分布、第三阈值电压分布或第四阈值电压分布中的一个阈值电压分布内的电压电平。第三操作可基于第一位和第二位的值保持阈值电压,或将阈值电压编程为第五阈值电压分布、第六阈值电压分布、第七阈值电压分布或第八阈值电压分布中的一个阈值电压分布内的电压电平。第三操作可基于数据的第三位的值对阈值电压编程。除了第一操作、第二操作和第三操作之外,可使用第四操作和第五操作。第四操作和第五操作可将基于第一位和第二位的值的阈值电压编程为第五阈值电压分布至第八阈值电压分布中的一个阈值电压分布内的电压电平。初始的阈值可以在第四操作和第五操作中使用,并可为第五阈值电压分布内的电压电平。
根据至少一些示例性实施例,包含在第四操作和第五操作之后的阈值电压的第一多个阈值电压分布之一可对应于包含在第一操作和第二操作之后的阈值电压的第二多个阈值电压分布之一。
至少一个其他示例性实施例提供了一种对非易失性存储单元编程的方法。所述方法可包括通过将非易失性存储单元的阈值电压设置为第一电压电平来对多位数据的第一位编程。第一电压电平可以在多个阈值电压分布中的第一阈值电压分布内。可通过基于第二位的值将阈值电压设置为第二电压电平来对多位数据的第二位编程。如果第二位是第一值,则第二电压电平可与第一电压电平相同。如果第二位是第二值,则第二电压电平可在所述多个阈值电压分布的第二阈值电压分布内。可通过基于第三位的值将阈值电压设置为第三电压电平来对多位数据的第三位编程。
根据至少一些示例性实施例,如果第三位是第二值,则可对第一位和第二位再编程。可通过基于第一位的值将阈值电压设置为第四电压电平来对第一位再编程。可同基于第二位的值将阈值电压设置为第五电压电平来对第二位再编程。
至少一个其他示例性实施例,提供了一种将多个多位代码映射到用于对存储单元编程的多个阈值电压分布的方法。所述方法可包括:将第一多个多位代码中的每一个映射到第一多个阈值电压分布中的相应阈值电压分布。第一多个多位代码可至少包括第一代码至第四代码,第一多个阈值电压分布可至少包括第一阈值电压分布至第四阈值电压分布。可将第二多个多位代码中的每一个映射到第二多个阈值电压分布中的相应阈值电压分布。第二多个多位代码可至少包括第五代码至第八代码,第二多个阈值电压分布可至少包括第五阈值电压分布至第八阈值电压分布。第一多位代码至第四多位代码份中的每一个可具有与相应的第五多位代码至第八多位代码的第一位和第二位相同的第一位和第二位。第一多位代码至第四多位代码份中的每一个的第三位可与相应的第五多位代码至第八多位代码的第三位不同。
附图说明
通过详细描述附图中示出的示例性实施例,示例性实施例将变得更清楚,其中:
图1A是根据示例性实施例的对非易失性存储单元编程的方法的示图;
图1B是示出根据示例性实施例的对非易失性存储单元编程所使用的示例代码的图表;
图2是根据示例性实施例的对非易失性存储单元编程的第一操作和第二操作的示图;
图3是图2的第一操作的示例性实施例的流程图;
图4是图2的第二操作的示例性实施例的流程图;
图5是根据示例性实施例的对非易失性存储单元编程的第三操作的示图;
图6是图5的第三操作的示例性实施例的流程图;
图7是根据示例性实施例的对非易失性存储单元编程的第四操作和第五操作的示图;
图8是图7的第四操作的示例性实施例的流程图;
图9是图7的第五操作的示例性实施例的流程图;
图10A是与示例性实施例比较的对非易失性存储单元编程的比较方法的示图;
图10B是示出与示例性实施例在比较方法中使用的比较的比较代码的图表;
图11是示出根据图10A的比较方法对第三位编程的操作的流程图。
具体实施方式
现在将参照示出了一些示例性实施例的附图来更全面地描述各种示例性实施例。
这里公开了详细的说明性的示例性实施例。然而,这里公开的具体结构和功能细节仅仅是为了表示描述示例性实施例的目的。然而,可以以许多可选形式来实施本发明,本发明不应该被解释为仅限于这里阐述的示例性实施例。
因此,尽管能对示例性实施例进行各种修改和可选形式,但通过附图中的示例的方式来表示本发明的实施例,并在这里对实施例进行详细描述。然而,应该理解,没有意图将示例性实施例限于公开的具体形式,相反,示例性实施例覆盖了落入本发明的范围内的所有修改、等同物和可选事物。在整个附图的描述中,相同的标号表示相同的部件。
将理解,尽管这里使用第一、第二等来描述各种部件,但这些术语不应该限制这些部件。这些术语仅用于将一个部件与另一部件进行区分。例如,在不脱离示例性实施例的情况下,第一部件可被称为第二部件,类似地,第二部件可被称为第一部件。这里所使用的术语“和/或”包括相关列出项的一个或多个的任意和所有组合。
这里使用的术语学是为了描述特定实施例的目的,没有限制示例性实施例的意图。除非上下文明确表示,否则这里使用的单数形式也包括复数形式。还应该理解,这里使用的术语“包括”指定所述特征、整数、步骤、操作、部件和/或元件的存在,而不排除一个或多个特征、整数、步骤、操作、部件、元件和/或其组的存在或添加。
现在将参照附图更全面地描述对非易失性存储单元编程的方法的示例性实施例。
根据至少一些示例性实施例,可通过使用m位编程处理来将n个位的数据编程到非易失性存储单元中。n和m中的每一个可为整数,数字n可大于m。另外,数字n可为奇数,数字m可为偶数。应该注意,为了清晰和简短,一些示例性实施例描述n等于3以及m等于2时的处理。然而,n不限于3,m不限于2。
在根据示例性实施例的将多位数据编程到非易失性存储单元中的方法中,可通过将非易失性存储单元的阈值电压设置为第一电压电平来对多位数据的第一位编程。第一电压电平可在第一阈值电压分布内。可通过将该阈值电压设置为第二电压电平来对多位数据的第二位进行编程,基于第二位的值,第二电压电平可在第一电压电平分布或第二阈值电压分布内。可通过将阈值电压设置为第三电压电平来对第三位编程。可基于第三位的值来确定第三电压电平。
图1A是示出根据示例性实施例的对非易失性存储单元编程的方法的示图。图1B是示出根据示例性实施例的对非易失性存储单元编程所使用的示例代码的图表。
参照图1A和图1B,可分别将非易失性存储单元的第一阈值电压分布D1至第八阈值电压分布D8映射到代码111、110、100、101、011、010、000和001。依据写入了哪个代码,非易失性存储单元的阈值电压可被编程或被设置为与写入的代码相应的阈值电压分布内的电压电平。尽管在阈值分布内进行讨论,但阈值电压还可等于或大体等于相应阈值电压分布的外边界。可将第一阈值电压分布至第八阈值电压分布划分成第一多个阈值电压分布和第二多个阈值电压分布。第一多个阈值电压分布可至少包括第一、第二、第三和第四阈值电压分布,而第二多个阈值电压分布可至少包括第五、第六、第七和第八阈值电压分布。
第一至第八代码中的每一个可包括第一、第二和第三位(例如,如图1B所示)。如这里所讨论的,第一位表示最右边位,第二位表示中间位,第三位表示最左边位。第一至第四代码可分别对应于第一阈值电压分布D1至第四阈值电压分布D4。第五至第八代码可分布对应于第五阈值电压分布D5至第八阈值电压分布D8。第一至第八代码中的第一位和第二位中的每一个可对应于第五至第八代码的第一位和第二位,或与第五至第八代码的第一位和第二位具有相同值。例如,第一代码的第一位和第二位(例如,对应于图1B中的阈值电压D1的‘111’)可为1,第五代码的第一代码和第二代码(例如,对应于图1B中的阈值电压D5的‘011’)也可为1。
以相同的方式,第二和第六代码的第一和第二位可具有相同值,第三和第七代码的第一和第二位可具有相同值,第四和第八代码的第一和第二位可具有相同值。
此外,第一至第四代码的第三位可与第五至第八代码的第三位不同。例如,第一至第四代码中的每一个的第三位可为1,而第五至第八代码中的每一个的第三位可为0。
如图1A所示,可通过使用图1A中的第一操作1至第五操作5-2来对数据的第一至第三位编程。
参照图1A,第一操作1可通过使用第一阈值电压分布D1和第二阈值电压分布D2来对数据的第一位编程。第二操作2-1和2-2可通过使用第一阈值电压分布D1至第四阈值电压分布D4来对数据的第二位编程。第三操作3-1、3-2、3-3和3-4可通过使用第一阈值电压分布D1至第五阈值电压分布D5来对数据的第三位编程。第四操作4可通过使用第五阈值电压分布D5和第六阈值电压分布D6来对数据的第一位编程(或再编程)。第五操作5-1和5-2可通过使用第五阈值电压分布D5至第八阈值电压分布D8来对数据的第二位编程(或再编程)。下面将对这些编程操作进行更详细的描述。
第一操作1和第四操作4可相似或大体相似,第二操作2-1和2-2与第五操作5-1和5-2可相似或大体相似。因此,例如,图1A示出示例性实施例可通过使用2位编程处理对至少3位的数据编程。因此,可不需复杂的编程处理来对至少3位的数据进行编程。
现在将参照图2至图9来详细描述第一操作1至第五操作5-2。
图2是根据示例性实施例的可分别对第一和第二位编程的第一操作和第二操作的示图。图3是图2的第一操作的示例性实施例的流程图。图4是图2的第二操作的示例性实施例的流程图。
参照图2和图3,可在310加载第一位。在340,可使用第一阈值电压分布D1和第二电压阈值分布D2将第一位(例如,最低有效位)写入非易失性存储单元中。当第一位为0时,非易失性存储单元的阈值电压可被编程或被设置为第二电压阈值分布D2内的电压电平。例如,当第一位为0时,可将阈值电压从第一阈值电压分布D1内的电压电平改变为第二电压阈值分布D2内的电压电平。当第一位为1时,可将阈值电压保持在第一阈值电压分布D1内。
在370,可基于第一校验电压VR1来确定第一位是否已被适当编程。第一校验电压VR1可具有比第一阈值电压分布D1高但比第二电压阈值分布D2低的电压电平。可通过将阈值电压与第一校验电压VR1进行比较来确定阈值电压当前所在的阈值电压分布。可基于比较结果来确定第一位是否已被适当地编程到非易失性存储单元中。例如,当第一位为0并且阈值电压高于第一校验电压VR1时,可认为第一位被适当地编程。可选择的,当第一位为0并且阈值电压低于第一校验电压VR1时,可认为第一位被不适当地编程。
当在390第一位被不适当编程时,处理可返回340并重复。当在390第一位被适当编程时,可将第二位写入存储器。下面将关于图2和图4更详细地讨论对第二位编程的示例性操作。
参照图2和图4,在410可加载第二位,在420可读取第一位。在440,可基于第一操作的结果(例如,第一位的值)通过使用第一阈值电压分布D1和第四阈值电压分布D4或者通过使用第二阈值电压分布D2和第三阈值电压分布D3,来写入第二位。在一个示例中,可基于第一位的值和第二位的值通过使用第一阈值电压分布D1和第四阈值电压分布D4或者通过使用第二阈值电压分布D3和第三阈值电压分布D3,来写入第二位。
例如,如果第一位是0(例如,当在第一操作期间将阈值电压设置为第二阈值电压分布D2内的电压电平时)并且第二位是0,则可在第二操作期间将阈值电压设置为第三阈值电压分布D3内的阈值电压电平。如果第一位是0并且第二位是1,则可在第二操作期间将阈值电压保持在第二阈值电压分布D2内的电压电平。
如果第一位是1(例如,当在第一操作期间将阈值电压保持在第一阈值电压分布D1内时)并且第二位是0,则可在第二编程操作期间将阈值电压设置为第四阈值电压分布D4内的阈值电压电平。如果第一位是1(例如,当在第一操作中将阈值电压保持在第一阈值电压分布D1内时)并且第二位是1,则可在第二编程操作期间将阈值电压保持在第一阈值电压分布D1内的电压电平。
在470和480,可基于第二校验电压VR2和第三校验电压VR3来校验第二位是否被适当地编程。第二校验电压VR2可具有比第二阈值电压分布D2高但比第三阈值电压分布D3低的电压电平。第三校验电压VR3可具有比第三阈值电压分布D3高但比第四阈值电压分布D4低的电压电平。因此,可将阈值电压与第二校验电压VR2和第三校验电压VR3进行比较,以确定阈值电压当前在哪个阈值电压分布内。可基于比较结果来确定第二位是否被适当地编程到非易失性存储单元中。例如,当第一位是0,第二位是1,并且阈值电压低于第二校验电压VR2和第三校验电压VR3时,可认为第二位被适当地编程。可选择地,当第一位是0,第二位是1,并且阈值电压高于第二校验电压VR2时,可认为第二位被不适当地编程。
当在490确定第二位被不适当地编程时,处理可返回440并重复。当在490确定第二位被适当地编程时,可使用第三操作来写入第三位。下面将更详细地描述第三操作。
图5是根据示例性实施例的对非易失性存储单元编程的第三操作的示图。图6是图5的第三操作的示例性实施例的流程图。
参照图5和图6,在610加载第三位。在640,非易失性存储单元的阈值电压可保持在当前电压电平,或被设置为第五阈值电压分布D5内的电压电平。如果第三位是0,则可将阈值电压编程为第五阈值电压分布D5内的电压电平。例如,如果第一位是1,第二位是0,并且第三位是0时,可将阈值电压设置为第五阈值电压分布D5。
如果第三位是1,可将阈值电压保持在第二操作期间设置的电压电平。例如,如果第一位是1,第二位是0,并且第三位是1,则可将阈值电压保持在第四阈值电压分布D4。
在本示例性实施例中,在第三操作期间,阈值电压可基于第三位的值(不管第一位和/或第二位的值)被保持在在第二操作期间设置的电压电平,或被设置为第五阈值电压分布内的电压电平。然而,如果阈值电压被保持,则在执行第三操作之后阈值电压所在的阈值电压分布可依据第一位和/或第二位的值。
根据示例性实施例,在第三操作中,可将阈值电压设置为第五阈值电压分布D5至第八阈值电压分布D8中的任何一个内的电压电平。然而,考虑到清晰和简要的方便,在第三操作中可将图5中示出的阈值电压编程为第五阈值电压分布D5内的电压电平。
在670,可基于第四校验电压VR4来校验第三位是否被适当地编程。第四校验电压VR4可具有比第四阈值电压分布D4高但比第五阈值电压分布D5低的电压电平。可通过将阈值电压的电压电平与第四校验电压VR4进行比较来确定第三位是否被适当地编程。例如,当第一位是1,第二位是1,第三位是1,并且阈值电压低于第四校验电压VR4时,可认为第三位被适当地编程。可选择地,当第一位是1,第二位是1,第三位是1,并且阈值电压高于第四校验电压VR4时,可认为第三位被不适当地编程。
当在690第三位被不适当编程时,处理可返回640并重复。当在690第三位被适当编程时时,可执行第四操作和第五操作。
如上所讨论的,如果多位代码的第三位是0时,则可不管第一位和第二位的值来将阈值电压的电压电平设置为第五阈值电压分布D5内的电压电平。因此,在执行第三操作之后,不管第一位是0还是1,或者第二位是0还是1,阈值电压的电压电平可在第五阈值电压分布D5内。可使用第四操作和第五操作来将阈值电压的电压电平设置为第五阈值电压分布D5至第八阈值电压分布D8中的一个,从而在第三位是0的多位代码之间进行区分。
如上面所谈到的,第五阈值电压分布D5、第六阈值电压分布D6、第七阈值电压分布D7和第八阈值电压分布D8可分别对应于第五代码(例如,011)、第六代码(例如,010)、第七代码(例如,000)和第八代码(例如,001)。因此,可使用第四操作和第五操作来将第五多位代码至第八多位代码中的一个编程到非易失性存储单元中。
图7是根据示例性实施例的对非易失性存储单元编程的第四操作和第五操作的示图。
在第四操作和第五操作中,可通过使用第五阈值电压分布D5至第八阈值电压分布D8再次对第一位和第二位编程(再编程)。第四操作和第五操作与第一操作和第二操作可为类似或实质上类似的操作。参照图2和图7,除了第一操作和第二操作可使用第一阈值电压分布D1至第四阈值电压分布D4,而第四操作和第五操作可使用第五阈值电压分布D5至第八阈值电压分布D8之外,第一操作和第二操作与第四操作和第五操作可为类似或实质上类似的操作。
图8是图7的第四操作的示例性实施例的流程图。图9是图7的第五操作的示例性实施例的流程图。
参照图7和图8,在第四操作中,在820可读取第一操作期间写入的第一位。在840,可使用第五阈值电压分布D5和第六阈值电压分布D6来写入第一位。例如,如果第一位是0,可将非易失性存储单元的阈值电压设置为第六阈值电压分布D6内的电压电平。当第一位是1时,阈值电压可保持在第五阈值电压分布D5内。在图8中,除了各个阈值电压分布的电压电平可能不同之外,在840执行的操作可与图3中的第一操作的340类似或实质上类似。
在870,可基于第五校验电压VR5来校验第一位是否被适当地编程。第五校验电压VR5可具有比第五阈值电压分布D5高但比第六阈值电压分布D6低的电压电平。可将阈值电压与第五校验电压VR5进行比较,以确定阈值电压位于哪个阈值电压分布内。基于比较结果,可确定第一位是否被适当地编程到非易失性存储单元中。
在图8中,除了各个校验电压和阈值电压分布的电压电平可能不同之外,在870执行的操作可与图3中的370类似或实质上类似。
如果在890确定第一位被不适当地编程,则处理可返回840并重复。如果在890确定第一位被适当地编程,则可执行第五操作。
参照图7和图9,在第五操作中,在920可读取在第四操作期间写入的第一位。在940,可通过基于在第四编程操作中编程的结果(例如,第四操作期间写入的第一位的值)使用第五阈值电压分布D5和第八阈值电压分布D8或第六阈值电压分布D6和第七阈值电压分布D7来写入第二位。例如,如果第一位是0(例如,当在第四编程操作中将电压阈值设置在第六阈值电压分布D6内时)并且第二位是0,则在第五操作期间可将阈值电压设置为第七阈值电压分布D7内的电压电平。如果第一位是0并且第二位是1,则在第五编程操作期间阈值电压可保持在第六阈值电压分布D6内。
如果第一位是1(例如,在第四编程操作中阈值电压保持在第五阈值电压分布D5内时)并且第二位是0,则在第五编程操作期间可将阈值电压设置为第八阈值电压分布D8内的电压电平。如果第一位是1并且第二位是1,则在第五编程操作期间阈值电压可保持在第五阈值电压分布D5内。
在图9中,除了各个阈值电压分布的电压电平可能不同之外,在940执行的操作可与在图4的440执行的操作类似或实质上类似。
在970和980,可基于第六校验电压VR6和第七校验电压VR7来校验第二位是否被适当地编程。第六校验电压VR6可具有比第六阈值电压分布D6高但比第七阈值电压分布D7低的电压电平。第七校验电压VR7可具有比第七阈值电压分布D7高但比第八阈值电压分布D8低的电压电平。
可将阈值电压与第六校验电压VR6和第七校验电压VR7进行比较,以确定阈值电压位于哪个阈值电压分布中。基于比较结果,可确定第二位是否被适当地编程到非易失性存储单元中。
在图9中,除了各个校验电压和阈值电压分布的电压电平可能不同之外,在970和980执行的操作可与在图4中的470和480执行的操作类似或实质上类似。
当在990第二位被不适当地编程时,处理可返回940并重复。
除了各个校验电压和阈值电压分布的电压电平可能不同之外,可按与第一操作和第二操作类似或实质上类似的方式执行第四操作和第五操作。因此,可在第四操作和第五操作中使用在第一操作和第二操作中使用的写入第一位和第二位的处理。
当在第三操作中阈值电压被保持时,可不执行(或可省略)第四操作和第五操作。当在第三操作中将阈值电压设置为第五阈值电压分布D5内的电压电平时,可执行第四操作和第五操作。例如,当在第三编程操作期间阈值电压改变时,或者例如当第三位是0时,可执行第四操作和第五操作。否则,因为不执行第四操作和第五操作,所以第一操作至第三操作中编程的阈值电压可不改变。
在通过内部读取处理来获得在第四操作和第五操作中使用的第一位和第二位的值。例如,可通过确定在第一编程操作和第二编程操作期间阈值电压被编程到哪个阈值电压分布内来获得第一位和第二位的值。
当数据位是0时,可改变非易失性存储单元的阈值电压所在的阈值电压分布;当数据位是1时,阈值电压分布可被保持。然而,根据至少一个其他示例性实施例,当位值是1时,可改变阈值电压分布;当位值是0时,阈值电压分布可被保持。例如,在图7示出的第四操作期间,如果第一位是1,可将阈值电压编程到第六阈值电压分布D6内的电压电平;而如果第一位是0,则阈值电压可保持在第五阈值电压分布D5内。
第四操作可使用第五阈值电压分布D5和第六阈值电压分布D6。第五操作可使用第五阈值电压分布D5和第八阈值电压分布D8,或者第六阈值电压分布D6和第七阈值电压分布D7,如图7所示。
可选择地,第四操作可使用第五阈值电压分布D5和第六阈值电压分布D6,第五操作可使用第五阈值电压分布D5和第七阈值电压分布D7,或者第六校验电压VR6和第八阈值电压分布D8。例如,第四操作可基于第一位的值将阈值电压编程到第五阈值电压分布D5或第六阈值电压分布D6内的电压电平。在第五操作中,当在第四操作中将阈值电压编程到第五阈值电压分布D5内的电压电平时,可基于第二位的值将阈值电压编程到第五阈值电压分布D5或第七阈值电压分布D7内的电压电平。可选择地,当在第四操作中将阈值电压编程到第六阈值电压分布D6内的电压电平时,可在第五操作中基于第二位的值将阈值电压编程到第六阈值电压分布D6或第八阈值电压分布D8内的电压电平。
在另一示例性实施例中,第四操作可使用第五阈值电压分布D5和第七阈值电压分布D7,第五操作可使用第五阈值电压分布D5和第六阈值电压分布D6或者第七阈值电压分布D7和第八阈值电压分布D8。此外,可通过使用其它各种编程方法来执行第四操作和第五操作。可将相同的内容应用于第一操作和第二操作。
当每一操作中使用的阈值电压分布改变时,图1B中示出的写入数据和代码的映射关系也可改变。
另外,尽管第四操作和第五操作与第一操作和第二操作可使用相同或实质上相同的编程方法,但在第四操作和第五操作以及第一操作和第二操作中使用的编程方法可不同。例如,第一操作可使用第一阈值电压分布D1和第二阈值电压分布D2,而第四操作使用第五阈值电压分布D5和第七阈值电压分布D7,而不使用第五阈值电压分布D5和第六阈值电压分布D6。
图10A是与示例性实施例比较的对非易失性存储单元编程的比较方法的示图。
图10B是示出与示例性实施例比较的在比较方法中使用的比较代码的图表。
图11是示出根据图10A对第三位编程的操作的流程图。
参照图10A、图10B和图11,在比较方法中,对第三位编程的操作和对第一位和第二位编程的操作不同。因此,为了使用比较方法,执行两种或两类编程操作。
然而,与比较方法相反,在至少一些示例性实施例中,在第四操作和第五操作中还可使用在第一操作和第二操作中使用的2位写处理。因此,一个编程操作可被重复或被重复地执行。
另外,参照图11,比较方法需要四次连续校验,以写入第三位。然而,参照图6、图8和图9,在示例性实施例中执行的连续校验可不超过2次。
与比较方法相反,至少一些示例性实施例可通过使用2位编程操作来对至少3位的数据编程。因此,可不需要复杂的编程操作来对至少3位的数据编程。
尽管参照示出的示例性实施例具体显示和描述了示例性实施例,但本领域的普通技术人员应该明白,在不脱离权利要求限定的本发明的精神和范围的情况下,在形式和细节方面可进行各种改变。
Claims (12)
1.一种对非易失性存储单元编程的方法,其中,所述非易失性存储单元被编程为具有预定阈值电压,所述方法包括:
第一编程操作和第二编程操作,根据将被编程的数据的第一位和第二位的值,将非易失性存储单元的阈值电压编程为属于第一阈值电压分布至第四阈值电压分布中的一个阈值电压分布;
第三编程操作,根据数据的第三位的值,保持根据第一位和第二位的阈值电压,或将阈值电压编程为属于第五阈值电压分布至第八阈值电压分布中的预定阈值电压分布;
第四编程操作和第五编程操作,根据第一位和第二位的值,将阈值电压编程为属于第五阈值电压分布至第八阈值电压分布中的一个阈值电压分布。
2.如权利要求1所述的方法,其中,针对第四编程操作和第五编程操作的阈值电压所属的阈值电压分布的位置与针对第一编程操作和第二编程操作的阈值电压所属的阈值电压分布的位置对称。
3.如权利要求1所述的方法,其中,当在第三编程操作中阈值电压被保持时,不执行第四编程操作和第五编程操作。
4.如权利要求1所述的方法,其中,在第三编程操作中所述预定阈值电压分布是第五阈值电压分布。
5.如权利要求1所述的方法,在第三编程操作之后,所述方法还包括内部读取操作,所述内部读取操作从非易失性存储单元读取在第四编程操作和第五编程操作中使用的第一位和第二位的值。
6.如权利要求5所述的方法,其中,当在第三编程操作中将阈值电压编程为属于所述预定阈值电压分布时,执行内部读取操作。
7.如权利要求1所述的方法,在第三编程操作之后,所述方法还包括如下操作:基于具有比第一阈值电压分布至第四阈值电压分布高并比第五阈值电压分布至第八阈值电压分布低的电压电平的校验电压,校验写入非易失性存储单元的第三位的值。
8.如权利要求1所述的方法,其中,第四编程操作和第五编程操作包括:
第四编程操作根据第一位的值,将阈值电压编程为属于第五阈值电压分布和第六阈值电压分布中的一个阈值电压分布;
第五编程操作根据在第四编程操作中编程的阈值电压分布和第二位的值,将阈值电压编程为属于第五阈值电压分布至第八阈值电压分布中的一个阈值电压分布。
9.如权利要求8所述的方法,其中,当在第四编程操作中编程的阈值电压属于第五阈值电压分布时,第五编程操作将阈值电压编程为属于第五阈值电压分布或第八阈值电压分布;当在第四编程操作中编程的阈值电压属于第六阈值电压分布时,第五编程操作将阈值电压编程为属于第六阈值电压分布或第七阈值电压分布。
10.如权利要求8所述的方法,在第四编程操作之后,所述方法还包括如下操作:基于具有比第五阈值电压分布高并比第六阈值电压分布至第八阈值电压分布低的电压电平的校验电压,校验非易失性存储单元。
11.如权利要求10所述的方法,在第五编程操作之后,所述方法还包括如下操作:
基于具有比第六阈值电压分布高并比第七阈值电压分布至第八阈值电压分布低的电压电平的校验电压校验非易失性存储单元的操作;
基于具有比第七阈值电压分布高并比第八阈值电压分布低的电压电平的校验电压校验非易失性存储单元的操作。
12.如权利要求1所述的方法,还包括接收和加载第三位的操作,其中,第三编程操作对加载的第三位编程。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070100889 | 2007-10-08 | ||
KR10-2007-0100889 | 2007-10-08 | ||
KR1020070100889A KR101177278B1 (ko) | 2007-10-08 | 2007-10-08 | 비휘발성 메모리 셀 프로그래밍 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101409107A CN101409107A (zh) | 2009-04-15 |
CN101409107B true CN101409107B (zh) | 2013-05-01 |
Family
ID=40343603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810148926XA Active CN101409107B (zh) | 2007-10-08 | 2008-09-17 | 对非易失性存储单元编程的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7885107B2 (zh) |
EP (1) | EP2048667B1 (zh) |
JP (1) | JP5455347B2 (zh) |
KR (1) | KR101177278B1 (zh) |
CN (1) | CN101409107B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255971B2 (en) | 2014-03-18 | 2019-04-09 | Toshiba Memory Corporation | Nonvolatile memory and writing method |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8059456B2 (en) * | 2006-11-07 | 2011-11-15 | Sandisk Il Ltd. | Programming a NAND flash memory with reduced program disturb |
US8671327B2 (en) * | 2008-09-28 | 2014-03-11 | Sandisk Technologies Inc. | Method and system for adaptive coding in flash memories |
KR101738173B1 (ko) * | 2008-09-28 | 2017-05-19 | 라모트 앳 텔-아비브 유니버시티 리미티드 | 플래시 메모리에서의 적응형 코딩 방법 및 시스템 |
KR101044490B1 (ko) * | 2009-06-30 | 2011-06-27 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자의 프로그램 동작 방법 |
KR101044540B1 (ko) | 2009-06-30 | 2011-06-27 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 프로그램 방법 |
JP2011040135A (ja) * | 2009-08-13 | 2011-02-24 | Toshiba Corp | 不揮発性半導体記憶装置 |
CN102436849B (zh) * | 2011-12-02 | 2015-03-11 | 南京大学 | 一种局部俘获型快闪存储器实现多值/多位存储的操作方法 |
CN104778971B (zh) * | 2014-01-14 | 2018-04-13 | 旺宏电子股份有限公司 | 存储器系统及其访问方法 |
US10002073B2 (en) * | 2015-11-06 | 2018-06-19 | SK Hynix Inc. | Selective data recycling in non-volatile memory |
JP2018005959A (ja) * | 2016-06-30 | 2018-01-11 | 東芝メモリ株式会社 | メモリシステムおよび書き込み方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282077A (zh) * | 1999-07-22 | 2001-01-31 | 三星电子株式会社 | 高密度“或非”型闪速存储装置及其编程方法 |
CN1375873A (zh) * | 2002-04-22 | 2002-10-23 | 信息产业部电子第15研究所 | 高速大容量快闪固态存储器结构及制作方法 |
CN1679117A (zh) * | 2002-07-02 | 2005-10-05 | 爱特梅尔股份有限公司 | 多级存储器的编程方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602789A (en) * | 1991-03-12 | 1997-02-11 | Kabushiki Kaisha Toshiba | Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller |
JP2000163977A (ja) * | 1998-11-20 | 2000-06-16 | Sony Corp | 不揮発性半導体記憶装置及びそのデータ書き込み方法 |
US6219276B1 (en) * | 2000-02-25 | 2001-04-17 | Advanced Micro Devices, Inc. | Multilevel cell programming |
US6847550B2 (en) | 2002-10-25 | 2005-01-25 | Nexflash Technologies, Inc. | Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor |
US6643177B1 (en) * | 2003-01-21 | 2003-11-04 | Advanced Micro Devices, Inc. | Method for improving read margin in a flash memory device |
US6917542B2 (en) * | 2003-07-29 | 2005-07-12 | Sandisk Corporation | Detecting over programmed memory |
US7023737B1 (en) | 2005-08-01 | 2006-04-04 | Sandisk Corporation | System for programming non-volatile memory with self-adjusting maximum program loop |
JP2007157234A (ja) * | 2005-12-05 | 2007-06-21 | Matsushita Electric Ind Co Ltd | メモリシステム |
KR100666183B1 (ko) | 2006-02-01 | 2007-01-09 | 삼성전자주식회사 | 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법 |
KR101194841B1 (ko) * | 2006-12-28 | 2012-10-25 | 삼성전자주식회사 | 메모리 셀 프로그래밍 방법 |
KR100850509B1 (ko) * | 2007-01-10 | 2008-08-05 | 삼성전자주식회사 | 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법 |
JP4489084B2 (ja) * | 2007-01-22 | 2010-06-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
-
2007
- 2007-10-08 KR KR1020070100889A patent/KR101177278B1/ko active IP Right Grant
-
2008
- 2008-07-25 US US12/219,663 patent/US7885107B2/en not_active Expired - Fee Related
- 2008-09-17 CN CN200810148926XA patent/CN101409107B/zh active Active
- 2008-09-18 EP EP08164640A patent/EP2048667B1/en active Active
- 2008-10-07 JP JP2008260910A patent/JP5455347B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282077A (zh) * | 1999-07-22 | 2001-01-31 | 三星电子株式会社 | 高密度“或非”型闪速存储装置及其编程方法 |
CN1375873A (zh) * | 2002-04-22 | 2002-10-23 | 信息产业部电子第15研究所 | 高速大容量快闪固态存储器结构及制作方法 |
CN1679117A (zh) * | 2002-07-02 | 2005-10-05 | 爱特梅尔股份有限公司 | 多级存储器的编程方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255971B2 (en) | 2014-03-18 | 2019-04-09 | Toshiba Memory Corporation | Nonvolatile memory and writing method |
Also Published As
Publication number | Publication date |
---|---|
JP2009093784A (ja) | 2009-04-30 |
KR20090035871A (ko) | 2009-04-13 |
EP2048667A1 (en) | 2009-04-15 |
JP5455347B2 (ja) | 2014-03-26 |
US7885107B2 (en) | 2011-02-08 |
CN101409107A (zh) | 2009-04-15 |
KR101177278B1 (ko) | 2012-08-24 |
US20090091974A1 (en) | 2009-04-09 |
EP2048667B1 (en) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101409107B (zh) | 对非易失性存储单元编程的方法 | |
CN104599710B (zh) | 具有极性控制的每单元多比特(mbc)的非易失性存储器设备和系统及其编程方法 | |
KR101548175B1 (ko) | 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법 | |
KR101572830B1 (ko) | 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 | |
US7508732B2 (en) | Multi-bit flash memory device including memory cells storing different numbers of bits | |
KR101544607B1 (ko) | 메모리 장치 및 그 프로그램 방법 | |
US7911842B2 (en) | Memory cell programming method and semiconductor device for simultaneously programming a plurality of memory block groups | |
US7800943B2 (en) | Integrated circuit having a memory cell arrangement and method for reading a memory cell state using a plurality of partial readings | |
US7782667B2 (en) | Method of operating a flash memory device | |
US7768827B2 (en) | Data verification method and semiconductor memory | |
US7729175B2 (en) | Method of writing/reading data into/from memory cell and page buffer using different codes for writing and reading operations | |
US7782680B2 (en) | Flash memory device having a verify data buffer capable of being employed as a program data buffer, and a method thereof | |
US7529127B2 (en) | Memory device and method thereof | |
US7649784B2 (en) | Memory cell programming methods capable of reducing coupling effects | |
KR101625641B1 (ko) | 비휘발성 메모리 장치, 이의 동작 방법 및 이를 포함하는 장치들 | |
US7894258B2 (en) | Flash memory device for determining most significant bit program | |
KR101227368B1 (ko) | 낸드 플래시 메모리 소자의 프로그래밍 방법 및 데이터읽기 방법. | |
KR101261052B1 (ko) | 멀티레벨 셀 메모리 장치 및 그 데이터 저장 방법 | |
KR100719381B1 (ko) | 어드레스 설정 플래그를 갖는 멀티 레벨 셀 낸드형 플래시메모리 | |
KR20090011207A (ko) | 3비트 멀티 레벨 셀 메모리 소자의 프로그램 방법 | |
KR19990003406A (ko) | 다중 레벨 셀들을 갖는 메모리 장치 및 그것의 데이터 기입 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |