CN101794618B - 非易失性存储器件及其操作方法 - Google Patents

非易失性存储器件及其操作方法 Download PDF

Info

Publication number
CN101794618B
CN101794618B CN201010108251.3A CN201010108251A CN101794618B CN 101794618 B CN101794618 B CN 101794618B CN 201010108251 A CN201010108251 A CN 201010108251A CN 101794618 B CN101794618 B CN 101794618B
Authority
CN
China
Prior art keywords
programming
page
programmed
verification operation
verification
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
Application number
CN201010108251.3A
Other languages
English (en)
Other versions
CN101794618A (zh
Inventor
林圭姬
朴成济
韩正哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN101794618A publication Critical patent/CN101794618A/zh
Application granted granted Critical
Publication of CN101794618B publication Critical patent/CN101794618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Abstract

本发明公开了一种非易失性存储器件及其操作方法。非易失性存储器件包括页缓冲器部件、计数器、编程脉冲施加数目存储部件和编程起始电压设定部件。页缓冲器部件被配置为在包括在单页中的目标编程单元中存在被编程为超过基准电压的单元时输出1位通过信号。计数器被配置为对施加的编程脉冲的数目进行计数以确定编程脉冲施加数目。编程脉冲施加数目存储部件被配置为存储在对第一页的编程操作期间直到接收到1位通过信号为止所施加的编程脉冲的数目。编程起始电压设定部件被配置为基于所存储的编程脉冲施加数目来设定第二页的编程起始电压。

Description

非易失性存储器件及其操作方法
相关申请的交叉引用
本申请要求2009年2月4日提交的第10-2009-0008792号韩国专利申请的优先权,其整体公开通过引用合并于此。
技术领域
实施例涉及一种非易失性存储器件及其操作方法。
背景技术
近年来,对于可以电编程和擦除并且不需要以特定时间间隔重写数据的刷新功能的非易失性存储器件有着日益增长的需求。
非易失性存储器件被配置为使能电编程和擦除操作,并且通过当施加到薄氧化物层的强电场使电子移动时有所改变的单元的阈值电压来执行编程和擦除操作。在非易失性存储器件的编程操作期间,执行用于确定要编程的单元是否已经被编程为超过基准电压的验证操作。在单电平单元(SLC)编程方法中,验证电压只有一个,而在多电平单元(MLC)编程方法中,有多个验证电压,这是因为在单页中存在几种状态的单元。例如,在用2位MLC编程方法执行最高有效位(MSB)编程操作的情况中,基于3个验证电压来执行验证操作。
根据递增步进脉冲编程(ISPP)方法,在施加了一次脉冲之后,需要执行三次验证操作。已知一种考虑到编程速度而只执行一部分验证操作(不是所有的验证操作)的盲验证方法。如果非易失性存储器件的编程/擦除周期的数目增加,则有编程速度提高的趋势。因此,需要一种考虑到这种趋势的编程方法。
发明内容
一个或者更多个实施例涉及一种编程方法,该编程方法能够使属于非易失性存储器件的编程时间的执行验证操作所花费的时间最小化。一个或者更多个实施例涉及一种页缓冲器以及一种具有改进结构以执行最优化的编程方法的非易失性存储器件。
根据一个实施例的非易失性存储器件包括页缓冲器部件、计数器、编程脉冲施加数目存储部件以及编程起始电压设定部件。页缓冲器被配置为当单页中包括的目标编程单元中存在被编程为超过基准电压的单元时输出1位通过信号。计数器被配置为对所施加的编程脉冲的数目进行计数以确定编程脉冲施加数目。编程脉冲施加数目存储部件被配置为存储在对第一页的编程操作期间直到接收到1位通过信号为止所施加的编程脉冲的数目。编程起始电压设定部件被配置为基于所存储的编程脉冲施加数目来设定第二页的编程起始电压。
根据另一个实施例的非易失性存储器件的操作方法包括:对第一页执行编程操作;对编程脉冲施加数目进行计数并且重复执行编程操作和验证操作直到检测到被编程为超过验证电压的单元为止;当检测到被编程为超过验证电压的单元时,采用盲验证方法执行编程操作和验证操作,从而完成对第一页的编程操作;基于直到检测到被编程为超过验证电压的单元为止所计数得到的编程脉冲施加数目来设定第二页的编程起始电压;并且基于所设定的编程起始电压来对第二页执行编程操作。
附图说明
图1是示出了非易失性存储器件的MLC编程方法的图;
图2是示出了非易失性存储器件的ISPP方法的构思的图;
图3是示出了在ISPP方法中阈值电压随着编程脉冲的施加而变动的图;
图4是示出了在ISPP方法中分布随着编程起始电压的设定而变化的图;
图5是示出了非易失性存储器件的编程速度随着编程/擦除周期的数目而变化的构思的图;
图6是示出了非易失性存储器件的验证方法中的盲验证方法的构思的图;
图7是示出了用于非易失性存储器件的MSB编程的编程/验证方法的图;
图8是示出了根据一个实施例的非易失性存储器件的编程/验证方法的图;
图9是示出了根据一个实施例的非易失性存储器件的操作方法的流程图;
图10是示出了根据另一个实施例的非易失性存储器件的操作方法的流程图;
图11是示出了根据又一个实施例的非易失性存储器件的编程/验证方法的图;
图12是示出了根据又一个实施例的非易失性存储器件的编程方法的流程图;
图13是示出了根据又一个实施例的非易失性存储器件的操作方法的构思的图;
图14是示出了根据一个实施例的非易失性存储器件的页缓冲器的图;
图15是示出了根据一个实施例的非易失性存储器件的图;以及
图16是示出了根据另一个实施例的非易失性存储器件的图。
具体实施方式
下文中,将参照附图详细描述本公开的一个或更多个实施例。提供附图以允许本领域技术人员理解本公开的实施例的范围。
图1是示出了非易失性存储器件的MLC编程方法的图。
在最低有效位(LSB)编程操作中,由编程操作产生两种不同的单元分布。即,被编程为具有验证电压LPV1或者更高电压的单元的分布称为第二状态,被编程为不具有验证电压LPV1或者更高电压的单元的分布称为第一状态。
在已经执行了LSB编程操作的状态中,执行最高有效位(MSB)编程操作。由MSB编程操作产生具有不同阈值电压的四种单元分布(第三至第六状态)。这里,验证电压随着分布而不同。验证电压可以包括例如按照从较低电压至较高电压顺序的第一验证电压MPV1、第二验证电压MPV2和第三验证电压MPV3。即,其中单元被编程为超过第三验证电压MPV3的状态定义为第六状态,其中单元被编程为低于第三验证电压MPV3但是超过第二验证电压MPV2的状态定义为第五状态,其中单元被编程为低于第二验证电压MPV2但是超过第一验证电压MPV1的状态定义为第四状态,其中单元被编程为低于第一验证电压MPV1的状态定义为第三状态。此外,将要被编程为具有第四状态的单元定义为第一目标验证单元,将要被编程为具有第五状态的单元定义为第二目标验证单元,将要被编程为具有第六状态的单元定义为第三目标验证单元。
如上所述,在MSB编程操作中,必须基于多于LSB编程操作的验证电压来执行验证操作。
图2是示出了非易失性存储器件的ISPP方法的构思的图。
根据ISPP方法,重复施加编程脉冲。无论何时施加编程脉冲时,都执行验证操作,并且将编程脉冲提高阶跃电压(Vstep)。
如图2中所示,首先施加编程起始电压(Vstart)。当施加下一个编程脉冲时,将编程脉冲提高阶跃电压(Vstep)。此外,无论何时施加编程脉冲时,都执行验证操作。因此,施加编程脉冲一次所花费的时间等于编程脉冲施加时间tPULSE和验证时间tVFY之和。
另外,在编程起始电压(Vstart)首先施加到擦除状态的单元的情况中,单元的分布称为特有分布(unique distribution)(ΔVthi)。在图2中,特有分布被示出为约4V。当基于编程起始电压(Vstart)、阶跃电压(Vstep)和第一验证电压PV1执行编程操作时,形成具有超过第一验证电压PV1但是低于特有分布(ΔVthi)的最大值的阈值电压的单元的分布。所编程的单元的分布等于阶跃电压(Vstep)的量。
理论上,完成编程操作所需要的编程脉冲施加数目(Npgm)(或者所施加的编程脉冲的数目)由特有分布(ΔVthi)和阶跃电压(Vstep)的比值确定。例如,假定特有分布(ΔVthi)是4V并且阶跃电压(Vstep)是1V,则需要施加总共4个脉冲。
执行整个编程操作所花费的时间(tPROG)等于编程脉冲施加数目(Npgm)和施加单个编程脉冲所花费的时间(tPULSE+tVFY)的乘积。
根据这样的ISPP特性,编程脉冲施加数目(Npgm)随着阶跃电压(Vstep)的提高而减少。因此,执行整个编程操作所花费的时间(tPROG)减少。然而,存在整个分布加宽的问题,这是因为所编程的单元的分布等于阶跃电压(Vstep)。
图3是示出了在ISPP方法中阈值电压随着编程脉冲的施加而变动的图。
首先假定编程起始电压(Vstart)是16V,阶跃电压(Vstep)是1V,并且特有分布(ΔVthi)是4V。编程操作的目标电压是1V至2V,并且验证电压是1V。
在首先施加编程脉冲时编程电压(Vpgm)是16V。当施加第一编程脉冲时,根据特有分布(ΔVthi)确定各个单元的阈值电压。在施加第一编程脉冲之后被编程超过1V的单元的情况中,存储在相应的页缓冲器中的数据被改变,并且不再施加任何编程脉冲。
当施加第二编程脉冲时,被编程低于1V的单元的阈值电压由于第二编程脉冲而进一步上升。被编程低于1V的每一个单元的阈值电压优选地提升1V。可以看出当施加第一编程脉冲时单元的分布提升了大约1V。如上所述,因为不施加任何编程脉冲,所以当施加第一编程脉冲时被编程超过1V的单元的阈值电压不变。
当施加第三和第四编程脉冲时,各个单元的阈值电压以类似的方式提升1V。所编程的单元的阈值电压的分布等于阶跃电压(Vstep)的量。
图4是示出了在ISPP方法中分布随着编程起始电压的设定而变化的图。
从图4中可以看出,在编程起始电压(Vstart)为16V的情况中和在编程起始电压(Vstart)为17V的情况中(假定特有分布(ΔVthi)是4V并且阶跃电压(Vstep)是1V),在完成编程操作之后单元的阈值电压的分布在两种情况中不同。即,如果编程起始电压提高,则最高阈值电压值进一步上升。当编程起始电压(Vstart)为16V时最高阈值电压值为2V,而当编程起始电压(Vstart)为17V时最高阈值电压值为3V。可以看出,当完成编程操作时,两种情况的最高阈值电压值不同,但是两种情况中单元的阈值电压的分布相同(即,1V)。这是因为,如上所述,单元的阈值电压的分布由阶跃电压(Vstep)确定。
如上所述,完成编程操作的状态根据编程起始电压(Vstart)的变化而不同。在这种情况中,所施加的编程脉冲的数目和执行编程操作所花费的时间在两种情况中是相同的。考虑到这种特性,在需要阈值电压的几种分布的MLC编程操作中,必须基于一个编程起始电压来执行编程操作。即,为了防止过编程问题,必须基于具有最低阈值电压(即,目标电压)的单元来设定编程起始电压。
例如,在目标阈值电压为1V至2V的情况下,如果编程起始电压(Vstart)设定为17V,则通过单个编程脉冲的施加来检测分别被编程为具有2V至3V的阈值电压的单元。这些单元被认为是过编程的。为此,利用被设定为16V的编程起始电压(Vstart)执行编程操作。
图5是示出了非易失性存储器件的编程速度随着编程/擦除周期的数目而变化的构思的图。
如果采用非易失性存储器件,则执行多次编程操作和擦除操作。编程操作基于页来执行,擦除操作基于块来执行。非易失性存储器件的编程速度有随着编程/擦除周期数目的增加而提高的趋势。即,非易失性存储单元的浮置栅极中陷落的电荷量随着编程/擦除周期数目的增加而增加。因此,与典型单元相比编程速度变快。在这种情况中,编程速度可以定义为单元的阈值电压随着施加单个编程脉冲而改变的量。
因此,必须通过将阈值电压随着编程/擦除周期数目的增加而改变的量加到特有分布(ΔVthi)(即,确定ISPP方法的编程脉冲施加数目(Npgm)的因子)来将其考虑在内。这里,阈值电压的改变的量随着编程/擦除周期数目的增加而增加。
如果在考虑这种特性的情况下设定编程起始电压(Vstart),则与编程/擦除周期的数目最小的情况相比编程起始电压(Vstart)必须设定为低。即,从非易失性存储器件的第一操作开始,考虑到取决于增加的编程/擦除周期数目的编程速度施加低编程起始电压。根据这一构造,存在以下效应:从非易失性存储器件的第一操作到特定次数的编程/擦除周期基本上施加虚编程脉冲。因此,由于执行编程操作所花费的时间增加而存在问题。
图6是示出了非易失性存储器件的验证方法中盲验证方法的构思的图。
验证方法被应用于MLC编程方法。在执行2位MLC编程方法时执行所示出的验证方法。执行基于3个验证电压PV1、PV2和PV3的验证操作。由于验证操作是基于3个验证电压执行的,因此原则上它们应该在施加了单个编程脉冲之后执行。
然而,由于如上所述编程起始电压是基于阈值电压最低的状态设定的,所以当施加第一编程脉冲时检测不到被编程为超过第二验证电压PV2或者第三验证电压PV3的单元。即,在施加一些编程脉冲之后,检测到被编程为超过第二验证电压PV2或者第三验证电压PV3的单元。因此,为了减少执行验证操作所花费的时间,在施加第一编程脉冲之后,在前几个周期内只执行基于第一验证电压的验证操作。这一方法被称为盲验证方法,这是因为如上所述省略了几个验证操作。另外,如果与盲验证方法一起还采用将编程速度随着编程/擦除验证周期的数目的变化考虑在内而施加编程脉冲的方法,则出现以下问题。
图7是示出了用于非易失性存储器件的MSB编程的编程/验证方法的图。
在第一编程/验证方法中,在施加第一编程电压之后,根据盲验证方法只执行基于第一验证电压MPV1的验证操作。虽然原则上必须执行基于第二验证电压MPV2和第三验证电压MPV3的验证操作,但是根据盲验证方法只执行基于第一验证电压MPV1的验证操作。
在施加编程脉冲并且只执行基于第一验证电压的大约3个验证操作之后,执行基于第一验证电压和第二验证电压的验证操作。在执行基于第一和第二验证电压的大约3个验证操作之后,执行基于第三验证电压以及第一和第二验证电压的验证操作。另外,可以预先设定仅基于第一验证电压的验证操作的数目和仅基于第一和第二验证电压的验证操作的数目。
下面描述第二编程/验证方法。在第二编程/验证方法中,施加降低的编程起始脉冲,以便补偿编程速度随着编程/擦除周期的数目的增加而提高的趋势。即,如图7中所示,施加与第一编程/验证方法相比较低的编程起始脉冲。然而,取决于编程/擦除周期的数目这一方法可能是有问题的。
换言之,由于在编程/擦除周期的数目大时编程速度快,因此虽然施加了低编程脉冲但是阈值电压的变化量仍然大。因此,虽然施加了低编程电压,但是仍然有必要执行验证操作。此外,在阈值电压上升到了某一程度的时间点(A)之后,有必要基于第一和第二验证电压执行验证操作。
然而,由于当编程/擦除周期的数目小时编程速度慢,因此虽然施加了低编程脉冲但是阈值电压的变化量仍然小。因此,当施加低编程电压时,不那么需要执行验证操作。此外,由于阈值电压的提高小,因此即使在施加了几次编程脉冲的时间点(A)之后也不那么需要执行基于第一验证电压以及第二验证电压的验证操作。
图8是示出了根据一个实施例的非易失性存储器件的编程/验证方法的图。
在本公开中,考虑到编程速度随着编程/擦除周期的数目的增加而提高的趋势,施加低的第一编程起始电压。如果在这种状态下通常采用盲验证方法,则在编程/擦除周期的数目小的初始操作中,可以不必连同基于第一验证电压的验证操作一起执行基于第二验证电压的验证操作。
在本公开中,为了防止该问题,只对被编程为超过第一验证电压的单元执行盲验证方法。
即,如图8中所示,在检测到被编程为超过第一验证电压的单元之前,交替执行基于第一验证电压的第一验证操作和ISPP操作。紧接着在检测到被编程为超过第一验证电压的单元之后,执行上述盲验证方法。
图9是示出了根据一个实施例的非易失性存储器件的操作方法的流程图。
首先,在步骤910中执行基于编程起始电压的编程操作。这里,编程起始电压低于典型的编程起始电压。即,考虑到编程速度随着编程/擦除周期的数目的增加而提高的趋势,施加了低的设定编程起始电压。
接着,在步骤920中执行确认第一目标验证单元是否已被编程为超过第一验证电压的第一验证操作。如上所述,第一目标验证单元指的是将要被编程为具有图1的第四状态的单元(即,被编程为低于第二验证电压MPV2但是超过第一验证电压MPV1的单元)。
然后在步骤922中确定作为第一验证操作的结果是否存在被编程为超过第一验证电压的单元。下面描述根据已知非易失性存储器件的页缓冲器的验证操作。如果特定单元被编程为超过第一验证电压,则接通这些单元,从而切断包括相应单元的单元串的电流路径。因此,预充电至逻辑高电平的位线的电压电平保持不变,随后被传递到感测节点。由于感测节点的电压电平是逻辑高电平状态,因此存储在寄存器中的数据被改变。如果在整个页缓冲器中出现其数据已改变的任何一个单元,则认为该单元被编程为超过第一验证电压。其中存在一个或更多个被编程为超过第一验证电压的单元的状态被称为1位通过(1-bit pass)。在本公开中,还构造了用于确定1位通过的电路。下面将参照图14和15描述该电路的详细构造。
此外,根据步骤922中确定的结果,确定是否要执行盲验证方法。如果作为步骤922中的确定结果确定存在被编程为超过第一验证电压的单元,则开始盲验证方法。但是,如果作为步骤922中的确定结果确定不存在被编程为超过第一验证电压的单元,则将编程电压提高阶跃电压,并且重复执行编程操作(步骤910)和第一验证操作(步骤920)。此外,在步骤924中将所施加的编程脉冲的数目增加“1”。所增加的编程脉冲施加数目应用于下面将要参照图12描述的编程方法的实施例。
如果作为步骤922中的确定结果确定存在被编程为超过第一验证电压的单元,则在步骤932中在执行紧邻在前的编程操作时将所施加的编程电压提高与阶跃电压那么多,并且重复执行编程操作。这里,在执行编程操作之前,在步骤930中将第一验证操作执行数目‘i’和第二验证操作执行数目‘j’重置为0。
然后在步骤940中确定是否已完成所有的验证操作。即,确定通过第一验证操作至第三验证操作是否已经将所有的目标验证单元编程为所期望的。在已知的非易失性存储器件中,在执行各个验证操作之后,产生通过信号或者失败信号,通过信号表明已经基于相应的页缓冲器的寄存器中存储的数据将单元编程为超过相应的验证电压,失败信号表明存在没有被编程为超过验证电压的单元。根据通过信号或者失败信号来确定是否已经完成所有的第一至第三验证操作。
如果完成了所有的验证操作,则意味着每个目标验证单元已经被编程为超过验证电压。因此,不再执行编程操作,相应的编程操作完成。根据一个或更多个实施例,重复执行的编程操作的数目可以限制为特定次数。在这种情况下,如果在相应次数内没有完成验证操作,则相应存储单元的特性被认为是故障,从而执行错误块处理操作。
然而,如果作为步骤940中的确定结果确定没有完成所有的验证操作,则顺序地执行第一至第三验证操作。
首先,在步骤950、952、954和932中仅执行与第一关键值一样多次数的编程操作和第一验证操作。这一方法对应于盲验证方法。在所施加的编程电压的数目小的初始阶段中,只执行第一关键值次的第一验证操作。在第一验证操作之后,在步骤952中确定所执行的第一验证操作的数目是否超过第一关键值。如果作为步骤952中的确定结果确定所执行的第一验证操作的数目小于或者等于第一关键值,则将编程电压提高阶跃电压并且重复执行编程操作。在这种情况下,在步骤954中将所执行的第一验证操作的数目增加“1”。
即,如图8中所示,重复执行编程操作和第一验证操作第一关键值次。第一关键值可以由实施者根据单元的特性等最优地选择。第一关键值优选地设定为3(引起3次重复)。此外,在第一验证操作期间,基于页缓冲器的寄存器中存储的数据来检查通过或者失败。检查结果用于在执行下一个编程操作之后确定是否完成了所有的验证操作的操作(步骤940)。
如果执行了与第一关键值一样多次的第一验证操作,则在步骤960中执行第二验证操作,以确认在执行编程操作和第一验证操作之后第二目标验证单元是否已经被编程为超过第二验证电压。
接着,在步骤962和964中执行与第二关键值一样多的第一验证操作和第二验证操作。这一方法对应于盲验证方法。更具体地,在步骤960中执行第二验证操作之后,在步骤962中确定所执行的第二验证操作的数目是否超过第二关键值。如果作为步骤962中的确定结果确定所执行的第二验证操作的数目小于或者等于第二关键值,则将编程电压提高阶跃电压并且重复编程操作。即,如图8中所示,重复执行与第二关键值一样多次的编程操作、第一验证操作和第二验证操作。第二关键值可以由实施者根据单元的特性等最优地选择。第二关键值优选地设定为3(引起3次重复)。
此外,在第二验证操作期间,基于页缓冲器的寄存器中存储的数据来检查通过或者失败。检查结果用于在执行下一个编程操作之后确定是否完成了所有的验证操作的操作(步骤940)。
接着,如果执行了第二关键值次的第二验证操作,在执行编程操作、第一验证操作和第二验证操作之后,则在步骤970中执行第三验证操作,以确认第三目标验证单元是否已经被编程为超过第三验证电压。在第三验证操作期间,基于相应的页缓冲器的寄存器中存储的数据来检查通过或者失败。检查结果用于在执行下一个编程操作之后确定是否完成了所有的验证操作的操作(步骤940)。
由于在第三验证操作期间不必进一步执行盲验证方法,因此没有确定所执行的第三验证操作的数目是否大于关键值。在第三验证操作之后,将编程电压提高阶跃电压,然后在步骤932中执行编程操作。接着,在步骤940中根据是否完成了验证操作来确定是否要重复编程操作。
此外,根据一些实施例,可以进一步增加确定所执行的第三验证操作的数目是否超过特定关键值的步骤。如果作为确定结果确定所执行的第三验证操作的数目超过特定关键值,则可以对相应的单元进行错误块处理操作。
总之,在执行单个编程操作之后,执行第一至第三验证操作时,不是执行所有的第一至第三验证操作,而是根据盲验证方法执行。在这种情况下,考虑到编程/擦除周期的数目,编程起始电压被设定为低。从检测到被编程为超过第一验证电压的单元的时间点开始执行盲验证方法。
图10是示出了根据另一个实施例的非易失性存储器件的操作方法的流程图,图11是示出了根据又一个实施例的非易失性存储器件的编程/验证方法的图。
除了以下方面,图10和11中所示的方法与图9的方法几乎相同:如果在第一至第三验证操作期间完成了特定验证操作,则不执行特定验证操作。即,如图11中所示,如果在验证操作期间(即,完成第一验证操作)第一目标验证单元全部被编程为超过第一验证电压,则不执行相应的验证操作,而执行剩余的验证操作。
因此,除了在执行验证操作之前进一步增加了确定是否完成了各个验证操作的步骤之外,图10和11的整体构造几乎与图9的整体构造相同。
首先,在步骤1010中执行基于编程起始电压的编程操作。编程起始电压低于典型的编程起始电压。即,考虑到编程速度随着编程/擦除周期数目的增加而提高的趋势,施加低设定的编程起始电压。
接着,在步骤1020中执行第一验证操作,以确认第一目标验证单元是否已经被编程为超过第一验证电压。
随后在步骤1022中确定作为第一验证操作的结果是否存在被编程为超过第一验证电压的单元。这里,根据步骤1022中的确定结果,确定是否要执行盲验证方法。即,如果作为步骤1022的确定结果确定存在被编程为超过第一验证电压的单元,则开始盲验证方法。但是,如果作为步骤1022中的确定结果确定不存在被编程为超过第一验证电压的单元,则将编程电压提高阶跃电压,并重复执行编程操作(步骤1010)和第一验证操作(步骤1020)。此外,在步骤1024中将所施加的编程脉冲的数目增加‘1’。所增加的编程脉冲施加数目应用于将要参照图12描述的编程方法的实施例。
如果作为步骤1022中的确定结果确定存在被编程为超过第一验证电压的单元,则在步骤1032中在执行紧邻在前的编程操作时将所施加的编程电压提高阶跃电压,并且重复执行编程操作。在执行编程操作之前,在步骤1030中将第一验证操作执行数目‘i’和第二验证操作执行数目‘j’重置为0。
然后在步骤1040中确定在执行第一验证操作之前第一验证操作是否已由紧邻在前的编程操作完成。在紧邻在前的编程操作期间执行第一验证操作(步骤1020和1040)的同时,基于相应的页缓冲器的寄存器中存储的数据来检查通过或者失败。检查结果用于检查是否完成了第一验证操作。
如果作为步骤1040中的确定结果确定第一验证操作已经由紧邻在前的编程操作完成,则进程转向步骤1060以确定是否已完成第二验证操作。然而,如果作为步骤1040中的确定结果确定第一验证操作没有由紧邻在前的编程操作完成,则在步骤1050中执行第一验证操作。
在步骤1052、1054和1032中执行与第一关键值一样多次的第一验证操作。这一方法对应于盲验证方法。盲验证方法的详细操作与图9中所示的详细操作相同。换言之,在执行第一验证操作之后,在步骤1052中确定所执行的第一验证操作的数目是否超过第一关键值。如果作为步骤1052中的确定结果确定所执行的第一验证操作的数目小于或者等于第一关键值,则将编程电压提高阶跃电压那么多,然后重复执行编程操作。即,如图11中所示,重复执行第一关键值次的编程操作和第一验证操作。第一关键值可以由实施者根据单元的特性等最优地选择。
此外,在第一验证操作期间,基于相应的页缓冲器的寄存器中存储的数据检查通过或者失败。检查结果用于在执行下一个编程操作之后确定是否完成了第一验证操作的操作(步骤1040)。
如果已经执行了第一关键值次的第一验证操作或者已经完成了第一验证操作,则在执行第二验证操作之前在步骤1060中确定第二验证操作是否已经由紧邻在前的编程操作完成。在紧邻在前的编程操作期间执行第二验证操作(步骤1072)的同时,基于页缓冲器的寄存器中存储的数据检查通过或者失败。检查结果用于确定是否已经完成了第二验证操作。
由于在第三验证操作期间不必进一步执行盲验证方法,因此不去确定所执行的第三验证操作的数目是否大于关键值。在第三验证操作之后,将编程电压提高阶跃电压,然后在步骤1032中执行编程操作。接着,根据在步骤1080中是否已经完成了第三验证操作来确定是否要重复编程操作。
此外,根据一些实施例,可以进一步增加确定所执行的第三验证操作的数目是否超过特定关键值的步骤。如果作为确定结果确定所执行的第三验证操作的数目超过特定关键值,则可以对相应的单元进行错误块处理操作。
总之,在执行单个编程操作之后,执行第一至第三验证操作时,不是执行所有的第一至第三验证操作,而是根据盲验证方法执行。在这种情况下,考虑到编程/擦除周期的数目,编程起始电压被设定为低。从检测到被编程为超过第一验证电压的单元的时间点开始执行盲验证方法。此外,在完成各个验证操作之后执行下一个编程操作时,可以不执行相应的验证操作。
图12是示出了根据又一个实施例的非易失性存储器件的操作方法的流程图,图13是示出了根据又一个实施例的非易失性存储器件的操作方法的构思的图。
在图12中所示出的本实施例中,采用根据图9或者图10的实施例的编程方法,但是它包含根据各个页来设定编程起始电压的特性构造。
首先,在步骤1210中完成对第一页的编程操作。
采用图9或者图10的编程方法完成对第一页的编程操作。即,如上所述,基于出现1位通过的时间点采用盲验证方法来完成编程操作。
在编程操作期间,在步骤1220中计算直到出现被编程为超过第一验证电压的单元为止所施加的编程脉冲数目A(或编程脉冲施加数目A)。即,计算直到出现1位通过为止的编程脉冲施加数目A。从图13中可以看出在对第一页的编程操作期间,直到出现1位通过为止已经施加了总共5个编程脉冲。可以根据图9中所示的编程方法的步骤924或者图10中所示的编程方法的步骤1024计算编程脉冲施加数目A。
接着,在步骤1230中基于所计算的编程脉冲施加数目A设定第二页的编程起始电压。
在本公开中,基于计算出的编程脉冲施加数目A来设定第二页的编程起始电压。在非易失性存储器件中,基于页来执行编程操作,基于块来执行擦除操作。因此,包含在同一块中的页具有相同的编程/擦除周期数目,并且还具有几乎相同的取决于编程/擦除周期数目的编程速度特性。因此,将第一页的编程起始电压施加于第二页(即,包含在同一块中的相邻页)。
此外,直到出现1位通过为止所施加的编程脉冲的数目表示相应页的编程速度特性。如果直到出现1位通过为止所施加的编程脉冲的数目小,则意味着编程速度相对快。如果直到出现1位通过为止所施加的编程脉冲的数目大,则意味着编程速度相对慢。
在本公开中,如果采用考虑了编程/擦除周期的数目而设定为低的编程起始电压执行编程操作,则在对第一页的编程操作期间,直到出现1位通过为止所施加的编程脉冲的数目增加。接着,在对第二页的编程操作期间,考虑到这一特性,对第二页施加提高的编程起始电压。
关键值N优选地设定为2(引起两次重复)。
如果所施加的编程脉冲的数目大于关键值,则通过将编程脉冲施加数目A和关键值N之间的差与阶跃电压(Vstep)相乘并且将乘积与第一页的编程起始电压值(Vstart_1)相加,来设定第二页的编程起始电压(Vstart_2)。即,采用下式计算第二页的编程起始电压(Vstart_2)。
Vstart_2=Vstart_1+(A-N)*Vstep    (1)
当所施加的编程脉冲的数目小于或者等于关键值N时,第一页的编程起始电压(Vstart_1)被设定作为第二页的编程起始电压(Vstart_2)。即,采用下式计算第二编程起始电压。
Vstart_2=Vstart_1           (2)
作为实例,描述图13。在对第一页的编程操作中,直到出现1位通过为止所施加的编程脉冲的数目是5,其比关键值2大3。因此,通过将3倍的阶跃电压加到第一页的编程起始电压来设定第二页的编程起始电压。
然后在步骤1240中基于所设定的编程起始电压来对第二页执行编程操作。
如上所述,第二页的编程起始电压是根据第一页的编程结果可变地设定的。因此,可以减少施加虚编程脉冲所花费的时间。即,当如图13中所示对第二页执行编程操作时,可以减少施加虚编程脉冲三次以及执行验证操作三次所花费的时间。
图14是示出了根据一个实施例的非易失性存储器件的页缓冲器的图。
显然,所示出的页缓冲器仅仅是例证性的,可以由实施者以不同的方式修改。
页缓冲器1400包括位线选择部件1410、位线感测部件1412、感测节点预充电部件1414、数据输入部件1416、地电压提供部件1418、第一寄存器1420、第二寄存器1430、第三寄存器1440、第一数据传输部件1450、第二数据传输部件1460、感测节点放电部件1470以及通过完成确定部件1480以及1位通过确定部件1490。
位线选择部件1410包括被配置为响应于第一位线选择信号BSLe而使偶数位线Ble和感测节点SO相耦合的NMOS晶体管N1415、以及被配置为响应于第二位线选择信号BSLo而使奇数位线Blo和感测节点SO相耦合的NMOS晶体管N1417。位线选择部件1410还包括被配置为施加特定电平的可变电压VIRPWR的可变电压输入端子、被配置为响应于第一放电信号DISCHe而使偶数位线Ble和可变电压输入端子相耦合的NMOS晶体管N1411、以及被配置为响应于第二放电信号DISCHo而使奇数位线Blo和可变电压输入端子相耦合的NMOS晶体管N1413。根据以上构造,特定位线和感测节点SO可以选择性地相互耦合。位线感测部件1412包括响应于位线感测信号PBSENSE被接通并且耦合到位线选择部件1410和感测节点SO的NMOS晶体管N1412。在验证/读取操作期间,位线感测部件1412施加感测电压,以使得特定存储单元的状态可以传递到感测节点SO。此外,根据一些实施例,可以省略位线感测部件1412,并且位线选择部件1410的位线选择晶体管N1415和N1417可以担当所省略的位线感测部件1412的角色。
感测节点预充电部件1414响应于预充电信号Prechb向感测节点SO施加逻辑高电平电压VDD。为此,感测节点预充电部件1414包括耦合在电源电压端子VDD和感测节点SO之间的PMOS晶体管P1414。因此,响应于逻辑低电平的预充电信号Prechb向感测节点SO施加逻辑高电平的电源电压。
数据输入部件1416接收外部数据并且将其传递至第一寄存器1420。为此,数据输入部件1416包括被配置为响应于输入驱动信号YADRV传递外部数据的NMOS晶体管N1416、被配置为响应于第一数据输入信号DATALOAD将外部数据传递至第一寄存器1420的第一节点CB的NMOS晶体管N1417、以及被配置为响应于第二数据输入信号DATALOAD_N将外部数据传递至第一寄存器1420的第二节点CB_N的NMOS晶体管N1419。
地电压提供部件1418根据感测节点SO的电压电平向寄存器1420、1430和1440中的每一个施加地电压。为此,地电压提供部件1418包括被配置为具有耦合到感测节点SO的栅极并且耦合在地端子和寄存器1420、1430和1440中的每一个之间的NMOS晶体管N1418。因此,根据感测节点SO的电压电平向各个寄存器施加地电压。
第一寄存器1420包括被配置为存储数据的锁存部件1422和被配置为响应于数据设定信号CRST或者CSET将从地电压提供部件1418接收的地电压传递到锁存部件1422的数据设定部件1426。锁存部件1422包括第一反相器IV1422和第二反相器IV1424。第一反相器IV1422的输入端子耦合到第二反相器IV1424的输出端子,并且第一反相器IV1422的输出端子耦合到第二反相器IV1424的输入端子。第一反相器IV1422的输入端子和第二反相器IV1424的输出端子之间的节点称为第一节点CB,第一反相器IV1422的输出端子和第二反相器IV1424的输入端子之间的节点称为第二节点CB_N。因此,具有相反电平的数据存储在第一节点CB和第二节点CB_N中。
数据设定部件1426包括被配置为响应于第一数据设定信号CRST将从地电压提供部件1418接收的地电压施加到第一节点CB的NMOS晶体管N1426以及被配置为响应于第二数据设定信号CSET将从地电压提供部件1418接收的地电压施加到第二节点CB_N的NMOS晶体管N1428。
第二寄存器1430包括被配置为存储数据的锁存部件1432和被配置为响应于数据设定信号MRST或者MSET将从地电压提供部件1418接收的地电压传递到锁存部件1432的数据设定部件1436。锁存部件1432包括第一反相器IV1432和第二反相器IV1434。第一反相器IV1432的输入端子耦合到第二反相器IV1434的输出端子,并且第一反相器IV1432的输出端子耦合到第二反相器IV1434的输入端子。第一反相器IV1432的输入端子和第二反相器IV1434的输出端子之间的节点称为第一节点MB,第一反相器IV1432的输出端子和第二反相器IV1434的输入端子之间的节点称为第二节点MB N。因此,具有相反电平的数据存储在第一节点MB和第二节点MB_N中。
数据设定部件1436包括被配置为响应于第一数据设定信号MRST将从地电压提供部件1418接收的地电压传递到第一节点MB的NMOS晶体管N1436以及被配置为响应于第二数据设定信号MSET将从地电压提供部件1418接收的地电压施加到第二节点MB_N的NMOS晶体管N1438。
第三寄存器1440包括被配置为存储数据的锁存部件1442和被配置为响应于数据设定信号TRST或者TSET将从地电压提供部件1418接收的地电压传递到锁存部件1442的数据设定部件1446。
锁存部件1442包括第一反相器IV1442和第二反相器IV1444。第一反相器IV1442的输入端子耦合到第二反相器IV1444的输出端子,并且第一反相器IV1442的输出端子耦合到第二反相器IV1444的输入端子。第一反相器IV1442的输入端子和第二反相器IV1444的输出端子之间的节点称为第一节点TB,第一反相器IV1442的输出端子和第二反相器IV1444的输入端子之间的节点称为第二节点TB_N。因此,具有相反电平的数据存储在第一节点TB和第二节点TB_N中。
数据设定部件1446包括被配置为响应于第一数据设定信号TRST将从地电压提供部件1418接收的地电压传递到第一节点TB的NMOS晶体管N1446以及被配置为响应于第二数据设定信号TSET将从地电压提供部件1418接收的地电压施加到第二节点TB_N的NMOS晶体管N1448。
第一数据传输部件1450包括被配置为响应于第一数据传输信号CTRAN_N将存储在第一寄存器1420的第一节点CB中的数据传递到感测节点SO的NMOS晶体管N1452以及被配置为响应于第二数据传输信号CTRAN将存储在第一寄存器1420的第二节点CB_N中的数据传递到感测节点SO的NMOS晶体管N1454。因此,存储在第一寄存器1420的特定节点中的数据可以响应于特定数据传输信号传递到感测节点SO。
第二数据传输部件1460包括被配置为响应于数据传输信号MTRAN将存储在第二寄存器1430的第二节点MB_N中的数据传递到感测节点SO的NMOS晶体管N1460。
感测节点放电部件1470包括第一放电部件1472和第二放电部件1476。第一放电部件1472根据第一感测节点放电信号TSOSET_N的电平或者第三寄存器1440的第一节点TB的电平,使感测节点SO向地放电。第二放电部件1476根据第二感测节点放电信号TSOSET的电平或者第三寄存器1440的第二节点TB_N的电平,使感测节点SO向地放电。
第一放电部件1472包括串联耦合在感测节点SO和地之间的第一和第二NMOS晶体管N1472和N1474。如图14中所示,根据第一节点TB的电平接通耦合到地的第一NMOS晶体管N1472,并且根据第一感测节点放电信号TSOSET_N的电平接通耦合到感测节点SO的第二NMOS晶体管N1474。根据一些实施例,可以根据第一感测节点放电信号TSOSET_N的电平接通耦合到地的第一NMOS晶体管N1472,并且可以根据第一节点TB的电平接通耦合到感测节点SO的第二NMOS晶体管N1474。因此,只有当施加第一感测节点放电信号TSOSET_N并且存储在第一节点TB中的数据处于逻辑高电平时,才使感测节点SO向地放电。
第二放电部件1476包括串联耦合在感测节点SO和地之间的第三和第四NMOS晶体管N1476和N1478。如图14中所示,根据第二节点TB_N的电平接通耦合到地的第三NMOS晶体管N1476,并且根据第二感测节点放电信号TSOSET的电平接通耦合到感测节点SO的第四NMOS晶体管N1478。根据一些实施例,可以根据第二感测节点放电信号TSOSET的电平接通耦合到地的第三NMOS晶体管N1476,并且可以根据第二节点TB_N的电平接通耦合到感测节点SO的第四NMOS晶体管N1478。因此,只有当施加第二感测节点放电信号TSOSET并且存储在第二节点TB_N中的数据处于逻辑高电平时,才使感测节点SO向地放电。
通过完成确定部件1480包括串联耦合在地端子和第一验证信号输出端子PBVER1之间的第一和第二NMOS晶体管N1482和N1484。响应于第二寄存器1430的第一节点MB接通第一NMOS晶体管N1482,并且根据感测节点SO的电平接通第二NMOS晶体管N1484。因此,如果向感测节点SO施加逻辑高电平的电压并且向第二寄存器1430的第一节点MB施加逻辑高电平的数据,则向第一验证信号输出端子PBVER1输出地电压。如果向第一验证信号输出端子PBVER1施加地电压,则输出表示未完成验证的失败信号。在通常情况中,在目标编程数据的情况下,数据‘0’存储在第二节点MB_N中。如果对目标编程数据进行编程,则数据‘0’变为数据‘1’。即,如果完成了对所有单元的编程操作,则数据‘0’存储在第一节点MB中。因此,如果完成了对所有单元的编程操作,则接通每一个通过完成确定部件1480的第一NMOS晶体管N1482,从而第一验证信号输出端子PBVER1变为浮置状态。
在同样由本公开的申请人提交的题为通过/失败检查部件280、1290的第10-2008-0044127号韩国专利申请中公开了通过完成确定部件1480的构造。通过完成确定部件1480用于检查是否每个目标验证单元已被编程为超过验证电压。可以参照以上公开的专利申请的描述获得通过完成确定部件1480的详细构造。
1位通过确定部件1490包括串联耦合在地端子和第二验证信号输出端子PBVER2之间的第一和第二NMOS晶体管N1492和N1494。根据第二寄存器1430的第二节点MB_N的电平接通第一NMOS晶体管N1492,并且根据感测节点SO的电平接通第二NMOS晶体管N1494。
在通常情况中,在目标编程数据的情况下,数据‘0’存储在第二节点MB_N中。如果对目标编程数据进行编程,则数据‘0’变为数据‘1’。换言之,根据已知读取操作或者已知验证操作,在任何一个单元被编程为超过验证电压的情况中,感测节点SO的电压电平保持逻辑高电平。因此,地电压提供部件1418进行操作以将地电压传递到数据设定部件1436。在这种情况下,响应于第一数据设定信号MRST,存储在第二节点MB_N中的数据‘0’变为数据‘1’。因此,如果第一目标验证单元被编程为超过第一验证电压,则将逻辑高电平的电压施加到感测节点SO,并且将逻辑高电平的数据施加到第二寄存器1430的第二节点MB_N。从而将地电压输出至第二验证信号输出端子PBVER2。
此外,在目标擦除单元的情况中,以初始操作开始,数据‘1’存储在第二节点MB_N中,但是感测节点SO的电压电平在读取操作期间将保持处于逻辑低电平。因此,这些单元防止1位通过确定部件1490将地电压传递到第二验证信号输出端子PBVER2。
因此,如果将地电压施加到第二验证信号输出端子PBVER2,则认为存在被编程为超过第一验证电压的一个或更多个单元(即,出现1位通过)。
图15是示出了根据一个实施例的非易失性存储器件中的1位通过确定部件的耦合关系的图。
非易失性存储器件1500包括多个页缓冲器1510、1520和1530、...、被配置为根据第一验证信号输出端子PBVER1的状态输出表示是否已完成通过的信号的第一逻辑组合部件1540、以及被配置为根据第二验证信号输出端子PBVER2的状态输出表示是否已完成通过的信号的第二逻辑组合部件1550。在通常情况下,一个页缓冲器经由偶数位线和奇数位线耦合到两个单元,因此,页缓冲器的数目对应于单页中包括的单元的数目的1/2。
如上所述,每个页缓冲器都包括通过完成确定部件1532和1位通过确定部件1534。每个页缓冲器的通过完成确定部件1532的输出端子并联耦合到第一验证信号输出端子PBVER1,并且每个页缓冲器的1位通过确定部件1534的输出端子并联耦合到第二验证信号输出端子PBVER2。通过完成确定部件1532和1位通过确定部件1534分别与图14中所示的通过完成确定部件1480和1位通过确定部件1490具有相同的结构,为了简明省略其描述。
第一逻辑组合部件1540输入第一验证信号输出端子PBVER1的信号,并且响应于第一检查信号IOCHK1输出表示是否完成通过的信号。
为此,第一逻辑组合部件1540包括被配置为响应于反相第一检查信号IOCHK1N将第一验证信号输出端子PBVER1预充电至逻辑高电平的第一上拉元件P1540。第一上拉元件P1540包括PMOS晶体管P1540。PMOS晶体管P1540耦合在第一验证信号输出端子PBVER1和电源电压端子之间,并且被配置为具有向其输入反相第一检查信号IOCHK1_N的栅极。
第一逻辑组合部件1540还包括NAND门NAND1540和反相器IV1540。NAND门NAND1540接收第一检查信号IOCHK1和第一验证信号输出端子PBVER1的信号。反相器IV1540将NAND门NAND1540的输出反相并且输出反相后的结果。
下面描述第一逻辑组合部件1540的操作。首先,当施加逻辑高电平的第一检查信号IOCHK1时,第一上拉元件P1540将第一验证信号输出端子PBVER1预充电至逻辑高电平。此外,逻辑高电平的信号输入至NAND门NAND1540。如上所述,如果目标编程单元被编程为超过验证电压,则相应页缓冲器的通过完成确定部件1532的输出端子变为浮置状态。然而,如果存在没有被编程为超过验证电压的单元,则接通NMOS晶体管N1532和N1533,从而第一验证信号输出端子PBVER1接地。如果第一验证信号输出端子PBVER1处于浮置状态,则第一上拉元件P1540产生的预充电电平保持不变。因此,输出表示所有目标编程单元已经被编程为超过验证电压的通过完成信号IOVER1。换言之,当输出逻辑高电平的通过完成信号IOVER1时,意味着所有的目标编程单元都已经被编程为超过验证电压。当输出逻辑低电平的通过完成信号IOVER1时,意味着不是所有的目标编程单元都被编程为超过验证电压。逻辑组合部件1540的详细结构可以由实施者以不同的方式修改。
第二逻辑组合部件1550输入第二验证信号输出端子PBVER2的信号,并且响应于第二检查信号IOCHK2输出表示已出现1位通过的信号。
为此,第二逻辑组合部件1550包括被配置为响应于反相第二检查信号IOCHK2_N将第二验证信号输出端子PBVER2预充电至逻辑高电平的第二上拉元件P1550。第二上拉元件P1550包括PMOS晶体管P1550。PMOS晶体管P1550耦合在第二验证信号输出端子PBVER2和电源电压端子之间,并且被配置为具有向其输入反相第二检查信号IOCHK2_N的栅极。
第二逻辑组合部件1550还包括NAND门NAND1550和反相器IV1550。NAND门NAND1550接收第二检查信号IOCHK2和第二验证信号输出端子PBVER2的信号。反相器IV1550将NAND门NAND1550的输出反相并且输出反相后的结果。
下面描述第二逻辑组合部件1550的操作。首先,当施加逻辑高电平的第二检查信号IOCHK2时,第二上拉元件P1550将第二验证信号输出端子PBVER2预充电至逻辑高电平。此外,逻辑高电平的信号输入至NAND门NAND1550。
对于编程操作,数据‘0’或‘1’存储在第二节点MB_N中。数据‘0’对应于目标编程单元,而数据‘1’对应于目标擦除单元。因此,目标编程单元使NMOS晶体管N1534断开,从而各个1位通过确定部件1534的输出端子变成浮置状态。此外,由于目标擦除单元的感测节点将保持处于逻辑低电平,因此NMOS晶体管N1535被断开,从而各个1位通过确定部件1534的输出端子变成浮置状态。即,第二验证信号输出端子PBVER2保持浮置状态,直到根据编程操作有单元被编程为超过验证电压为止。
接着,当如上所述存在被编程为超过第一验证电压的单元,相应页缓冲器的1位通过确定部件1534的输出端子变成接地状态。即,由于接通了NMOS晶体管N1534和N1535,因此第二验证信号输出端子PBVER2被接地。
因此,第二上拉元件P1550产生的预充电电平由第二验证信号输出端子PBVER2接地,从而将逻辑低电平的信号输入至NAND门NAND1550的一个端子。因此,输出表示存在被编程为超过验证电压的单元的1位通过信号IOVER2。换言之,当输出逻辑低电平的1位通过信号IOVER2时,意味着存在一个或更多个被编程为超过验证电压的单元。当输出逻辑高电平的1位通过信号IOVER2时,意味着不存在被编程为超过验证电压的单元。逻辑组合部件1550的详细结构可以由实施者以不同方式修改。
图16是示出了根据另一个实施例的非易失性存储器件的图。
非易失性存储器件1600包括控制器1610、高电压产生器1620、存储单元阵列1630和页缓冲器部件1640。
控制器1610执行非易失性存储器件的各种操作,比如编程操作、读取操作和擦除操作。控制器1610执行对应于外部指令、地址和数据的操作。此外,控制器1610控制高电压产生器1620,以使得高电压产生器1620对应于各个操作向存储单元阵列施加高电压(编程电压、通过电压、或读取电压)。此外,在编程操作期间执行的验证操作中,控制器1610确定每个存储单元是否已经被编程为超过基准电压。当接收到通过完成信号时,控制器1610控制编程操作,从而完成编程操作。
在本公开中,对直到第一页中包括的所有目标编程单元被编程为超过基准电压为止(即直到出现1位通过为止)所施加的编程脉冲的数目(或编程脉冲施加数目)进行计数,并且基于计数得到的编程脉冲施加数目设定第二页的编程起始电压。为此,控制器1610包括起始电压设定部件1616、编程脉冲施加数目存储部件1614和计数器1612。
无论何时施加编程脉冲时,计数器1612都将编程脉冲施加数目增加‘1’,并且对增加后的编程脉冲施加数目计数。计数器1612响应于从图15的第二逻辑组合部件1550接收的1位通过信号IOVER2,将计数得到的编程脉冲施加数目存储在编程脉冲施加数目存储部件1614中。所存储的编程脉冲施加数目成为第一页的编程脉冲施加数目。此外,第一页的编程操作继续,直到从第一逻辑组合部件1560中输出通过完成信号IOVER1为止。
编程脉冲施加数目存储部件1614存储直到出现第一页的1位通过为止所施加的编程脉冲的数目。
编程起始电压设定部件1616基于在第一页的编程操作期间直到出现1位通过为止所施加的编程脉冲的数目来设定第二页的编程起始电压。设定编程起始电压的具体方法可以参照图12。
高电压产生器1620在控制器1610的控制下为非易失性存储器件的各个操作产生高电压,并且将所产生的电压提供给存储单元阵列1630、页缓冲器部件1640等。具体地,高电压产生器1620根据由编程起始电压设定部件1616设定的编程起始电压产生编程电压,并且将所产生的编程电压传递到存储单元阵列1630。
如上参照图15所述,在单页中包括的单元中出现被编程为超过基准电压的单元时,页缓冲器部件1640输出1位通过信号。在包括在单页中的所有单元被编程超过基准电压时,页缓冲器部件1640还输出1位完成信号。
根据这样一种结构,当对第二页执行编程操作时,可以基于第一页的编程结果设定最优编程起始电压。
如上所述,根据采用虚编程脉冲施加方法的编程方法和采用盲验证方法的编程方法,具有可以减少要执行的验证操作所花费的时间的优点。即,当对第二页执行编程操作时,可以根据第一页的编程结果设定最优编程起始电压。此外,根据具有新改进的结构的非易失性存储器件,可以更高效地应用本公开的编程方法。

Claims (10)

1.一种非易失性存储器件,包括:
页缓冲器部件,被配置为在单页中所包括的目标编程单元中存在被编程为超过基准电压的单元时输出1位通过信号;
计数器,被配置为对所施加的编程脉冲的数目进行计数以确定编程脉冲施加数目;
编程脉冲施加数目存储部件,被配置为存储在第一页的编程操作期间直到接收到所述1位通过信号为止所施加的编程脉冲的数目;以及
编程起始电压设定部件,被配置为基于存储的所述编程脉冲施加数目设定第二页的编程起始电压。
2.根据权利要求1所述的非易失性存储器件,其中所述计数器传递直到输出所述1位通过信号为止所计数得到的所述编程脉冲施加数目。
3.根据权利要求1所述的非易失性存储器件,其中所述编程起始电压设定部件被配置为:
当所述编程脉冲施加数目大于关键值时,通过将所述编程脉冲施加数目和关键值之间的差与阶跃电压相乘并且将乘积加到所述第一页的编程起始电压值上,来设定所述第二页的编程起始电压;以及
当所述编程脉冲施加数目小于或等于所述关键值时,将所述第二页的编程起始电压值设定为所述第一页的编程起始电压。
4.一种用于补偿随着编程/擦除周期数目的增加而增加的编程速度特性的采用虚编程脉冲施加方法的非易失性存储器件的操作方法,所述方法包括:
对第一页执行编程操作;
对编程脉冲施加数目进行计数并且重复执行所述编程操作和验证操作,直到检测到被编程为超过验证电压的单元为止;
当检测到被编程为超过所述验证电压的单元时,采用盲验证方法执行编程操作和验证操作从而完成对所述第一页的编程操作;
基于直到检测到被编程为超过所述验证电压的单元为止所计数得到的编程脉冲施加数目来设定第二页的编程起始电压;以及
基于所设定的编程起始电压来对所述第二页执行编程操作。
5.根据权利要求4所述的方法,其中当检测到被编程为超过所述验证电压的单元时根据盲验证方法执行编程操作和验证操作从而完成对所述第一页的编程操作包括:
重复执行编程操作和第一验证操作直到第一关键值那么多次;
当所执行的编程操作和第一验证操作的数目超过所述第一关键值时,重复执行所述编程操作、所述第一验证操作和第二验证操作直到第二关键值那么多次;以及
当所执行的编程操作、第一验证操作和第二验证操作的数目超过所述第二关键值时,重复执行所述编程操作、所述第一验证操作、所述第二验证操作和第三验证操作。
6.根据权利要求4所述的方法,其中当检测到被编程为超过所述验证电压的单元时根据盲验证方法执行编程操作和验证操作从而完成对所述第一页的编程操作包括:
重复执行编程操作和第一验证操作直到第一关键值那么多次;
当所执行的编程操作和第一验证操作的数目超过所述第一关键值时,重复执行所述编程操作、所述第一验证操作和第二验证操作直到第二关键值那么多次;以及
当所执行的编程操作、第一验证操作和第二验证操作的数目超过所述第二关键值时,重复执行所述编程操作、所述第一验证操作、所述第二验证操作和第三验证操作,
其中执行所述第一验证操作直到第一目标验证单元全部被编程为超过第一验证电压才为止,执行所述第二验证操作直到第二目标验证单元全部被编程为超过第二验证电压才为止,以及执行所述第三验证操作直到第三目标验证单元全部被编程为超过第三验证电压才为止。
7.根据权利要求4所述的方法,其中基于直到检测到被编程为超过所述验证电压的单元为止所计数得到的编程脉冲施加数目来设定第二页的编程起始电压包括:当所述编程脉冲施加数目大于关键值时,通过将所述编程脉冲施加数目和所述关键值之间的差与阶跃电压相乘并且将乘积加到所述第一页的编程起始电压值上,来设定所述第二页的编程起始电压。
8.根据权利要求4所述的方法,其中基于直到检测到被编程为超过所述验证电压的单元为止所计数得到的编程脉冲施加数目来设定第二页的编程起始电压包括:当所述编程脉冲施加数目小于或等于关键值时,将所述第一页的编程起始电压值设定为所述第二页的编程起始电压。
9.一种用于补偿随着编程/擦除周期数目的增加而增加的编程速度特性的采用虚编程脉冲施加方法的非易失性存储器件的操作方法,所述方法包括:
当对第一页执行编程操作和验证操作时,对直到检测到被编程为超过验证电压的单元为止所施加的编程脉冲的数目进行计数;
基于在对所述第一页执行编程操作和验证操作期间直到检测到被编程为超过验证电压的单元为止所计数得到的编程脉冲的数目,设定在所述第一页之后要被编程的第二页的编程起始电压;以及
在基于所述设定的编程起始电压对所述第二页执行编程操作和验证操作时,对直到检测到被编程为超过验证电压的单元为止所施加的编程脉冲的数目进行计数。
10.根据权利要求9所述的方法,其中基于在对所述第一页的编程操作和验证操作期间直到检测到被编程为超过验证电压的单元为止所计数得到的编程脉冲施加数目来设定在所述第一页之后要被编程的第二页的编程起始电压包括:当所述编程脉冲施加数目大于关键值时,通过将所述编程脉冲施加数目和所述关键值之间的差与阶跃电压相乘并且将乘积加到所述第一页的编程起始电压值上,来设定所述第二页的编程起始电压。
CN201010108251.3A 2009-02-04 2010-01-29 非易失性存储器件及其操作方法 Active CN101794618B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0008792 2009-02-04
KR1020090008792A KR101074539B1 (ko) 2009-02-04 2009-02-04 불휘발성 메모리 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
CN101794618A CN101794618A (zh) 2010-08-04
CN101794618B true CN101794618B (zh) 2014-09-10

Family

ID=42397602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010108251.3A Active CN101794618B (zh) 2009-02-04 2010-01-29 非易失性存储器件及其操作方法

Country Status (4)

Country Link
US (1) US8174896B2 (zh)
JP (1) JP2010182402A (zh)
KR (1) KR101074539B1 (zh)
CN (1) CN101794618B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5292052B2 (ja) * 2008-10-21 2013-09-18 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその書き込み方法
KR101005117B1 (ko) * 2009-01-23 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 장치의 동작 방법
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
KR101616099B1 (ko) * 2009-12-03 2016-04-27 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR20120004742A (ko) * 2010-07-07 2012-01-13 주식회사 하이닉스반도체 비휘발성 메모리 및 이의 프로그램 방법
KR101211840B1 (ko) * 2010-12-30 2012-12-12 에스케이하이닉스 주식회사 반도체 메모리 장치의 프로그램 방법
KR101222063B1 (ko) * 2011-02-28 2013-01-15 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법
JP2013143155A (ja) * 2012-01-06 2013-07-22 Powerchip Technology Corp 不揮発性半導体記憶装置とその書き込み方法
KR101496865B1 (ko) * 2013-05-28 2015-03-23 중소기업은행 프로그램 로드 시 전력소모를 줄이기 위한 칼럼 디코더를 포함하는 메모리
US9646705B2 (en) * 2013-06-12 2017-05-09 Samsung Electronics Co., Ltd. Memory systems including nonvolatile memory devices and dynamic access methods thereof
US9543001B1 (en) * 2015-12-31 2017-01-10 Macronix International Co., Ltd. Programming memory cells
KR102626054B1 (ko) * 2018-11-05 2024-01-18 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN111863101B (zh) * 2019-04-29 2022-08-30 北京兆易创新科技股份有限公司 一种非易失性存储器的编程方法和装置
CN111951856B (zh) * 2019-05-14 2023-06-02 兆易创新科技集团股份有限公司 一种部分编程的方法和装置
EP3909050A4 (en) * 2019-05-22 2022-08-24 Yangtze Memory Technologies Co., Ltd. METHOD FOR PROGRAMMING MULTI-LEVEL CELL NAND FLASH MEMORY DEVICE AND MLC NAND FLASH MEMORY DEVICE
KR20210027783A (ko) * 2019-09-03 2021-03-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN113409864B (zh) * 2021-06-29 2024-02-06 芯天下技术股份有限公司 加快nor flash编程速度的方法、装置、电子设备
CN113707204B (zh) * 2021-08-31 2023-08-08 长江存储科技有限责任公司 存储器编程方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7301808B2 (en) * 2005-04-05 2007-11-27 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
CN101107673A (zh) * 2004-12-14 2008-01-16 桑迪士克股份有限公司 使用早期数据对非易失性存储器进行管线式编程

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4424952B2 (ja) * 2003-09-16 2010-03-03 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
KR100908518B1 (ko) 2006-09-29 2009-07-20 주식회사 하이닉스반도체 멀티 레벨 셀의 프로그램 방법
KR100965029B1 (ko) 2008-05-13 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 프로그램 검증 방법
KR100954949B1 (ko) 2008-05-14 2010-04-27 주식회사 하이닉스반도체 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
KR101014926B1 (ko) * 2008-05-20 2011-02-15 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 검증 방법
KR101074564B1 (ko) * 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치
US8422305B2 (en) * 2009-06-29 2013-04-16 Hynix Semiconductor Inc. Method of programming nonvolatile memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107673A (zh) * 2004-12-14 2008-01-16 桑迪士克股份有限公司 使用早期数据对非易失性存储器进行管线式编程
US7301808B2 (en) * 2005-04-05 2007-11-27 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling

Also Published As

Publication number Publication date
CN101794618A (zh) 2010-08-04
US8174896B2 (en) 2012-05-08
JP2010182402A (ja) 2010-08-19
KR20100089504A (ko) 2010-08-12
KR101074539B1 (ko) 2011-10-17
US20100195400A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
CN101794618B (zh) 非易失性存储器件及其操作方法
US8305813B2 (en) Nonvolatile memory device and method of operating the same
US7539057B2 (en) Erase and program method of flash memory device for increasing program speed of flash memory device
KR101039962B1 (ko) 불휘발성 메모리 소자 및 프로그램 방법
CN101789264B (zh) 操作非易失性存储器的方法
CN101488367B (zh) 用于验证非易失性存储装置的编程的方法
US7561474B2 (en) Program verifying method and programming method of flash memory device
US8085587B2 (en) Non-volatile memory device and method of verifying a program operation in the same
CN102855937B (zh) 半导体存储器件及其操作方法
CN101794617B (zh) 非易失性存储设备
KR20130072668A (ko) 반도체 메모리 장치 및 그의 동작 방법
US7903481B2 (en) Page buffer circuit, nonvolatile device including the same, and method of operating the nonvolatile memory device
US8351270B2 (en) Nonvolatile memory device and method of programming the device
KR20120098079A (ko) 불휘발성 메모리 장치 및 이의 프로그램 방법
CN101388249B (zh) 非易失性存储器件和对其中的多级单元进行编程的方法
US8873315B2 (en) Semiconductor memory device and method of operating the same
KR20100129075A (ko) 불휘발성 메모리 장치 및 이의 프로그램 방법
KR20100129080A (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