补偿状态间读边界减小的闪存装置的编程方法

文档序号:6778756阅读:77来源:国知局
专利名称:补偿状态间读边界减小的闪存装置的编程方法
技术领域
本发明的实施例涉及一种闪存装置,并且,更具体地涉及一种适合于闪存装置使用的编程方法。
本申请在35U.S.C§119下,要求于2006年1月12日提交的韩国专利申请2006-03587的优先权,其主题在此被合并作为参考。
背景技术
近年来,易失性和非易失性存储装置已经以非常大的数量被并入移动设备的主机,如MP3播放器、蜂窝电话、便携式多媒体播放器(PMP)、笔记本电脑、个人数字助理(PDA)等等。新兴的移动设备需要大量的数字数据存储器来支持如运动图像重放等的功能。
在可移动设备中已经花费了大量的努力来适应不断增长的存储器需求。这种努力的一个结果是开发了多比特存储装置,其中每个存储单元能够存储比单(1)比特数据(如,逻辑“1”或“0”)多的数据。例如,在U.S专利No.6,122,188、U.S专利No.6,075,734和U.S专利No.5,923,587中公开了典型的多比特存储装置,其主题在此被合并作为参考。
当1比特数据被存储在存储单元中时,该存储单元将表现出两个可能的阈值电压分布之一,也就是,将该存储单元编程(或写入)为具有相当于逻辑“0”或“1”的两个数据状态之一。对应于一个数据状态的每个阈值电压实际上出现在期望的电压分布——此后术语“阈值电压分布”的范围内。另一方面,当2比特数据被存储在存储单元中时,该存储单元将表现出四个阈值电压(也就是,四个可能的阈值电压分布中的一个分布)之一。这些阈值电压分布对应四(4)个逻辑数据状态“11”、“10”、“00”、和“01”。对应于四个状态(ST0、ST1、ST2、和ST3)的阈值电压分布如图1所示。
理想地,对应于四个数据状态的阈值电压分布应被谨慎地控制,以使得每个阈值电压分布存在于预定范围或“窗口”中。为了达到这个目的,一种常规的编程方法使用增量阶跃脉冲编程(ISPP)方案。在ISPP方案中,阈值电压根据一个或多个编程循环的重复应用,移位(shift)预定的编程电压增量。通过将该编程电压增量设置为小的值,阈值电压分布可以被精确地控制以确保在各个数据状态间的足够的电压辨别边界(margin)。不幸地,ISPP和类似方案大大地增加了编程存储单元以达到期望的数据状态所需的时间,尤其是对小的增量大小。因此,编程电压增量的大小相对于用于特定存储装置的最大编程时间参数来定义。
尽管ISPP或类似方案的应用,由于各种原因,每个数据状态对应的阈值电压分布可以比期望的窗口宽。例如,如由图1中虚线10、11、12和13所指示的,由于在编程操作期间相邻的存储单元之间的耦合效应,各个阈值电压分布可以扩展。这样的耦合被称为“电场耦合”或“F-poly耦合”。
例如,如图2所示,假设第一存储单元(MCA)和第二存储单元(MCB)正被编程为分别具有四个状态中的任何一个导通状态,当MCB被编程时,电荷累积在存储单元MCB的浮置栅极(FG)上。此外,在相邻存储单元MCA的浮置栅极上出现的电压由于相邻的存储单元MCA和MCB的浮置栅极之间的耦合而上升。还有更恶劣的,由于在存储单元MCB的编程结束后相邻的浮置栅极之间的耦合,导致在存储单元MCA的浮置栅极上目前出现的上升的阈值电压被保持。在这个例子中,存储单元MCB表示相对于存储单元MCA沿字线方向和/或位线方向排列的存储单元。
由于前述的耦合效应,被编程的存储单元MCA的理想阈值电压如图1中的虚线10、11、12和12所示的那样扩展。因此,状态之间的数据状态辨别边界(也就是“读边界”)被缩小。
适于防止由于耦合效应导致的阈值电压分布扩展的一种常规技术在例如U.S专利No.5,867,429中被公开,其主题被合并在此作为参考。
除前述的电场和/或F-poly耦合效应之外,当存储单元阈值电压趋向于随时间(drop over time)降低时,存储单元状态之间的读边界可以被进一步缩小。这种现象已经按照常规被研究并被称为“热温度应力(HTS)”。在HTS的影响下,累积在存储单元的浮置栅极上的电荷漏入存储装置的衬底中。当累积在浮置栅极上的电荷这样减少时,存储单元的阈值电压分布沿图3中的虚线20、21和22所指示的方向扩展。
因此,由于电场和/或F-poly的耦合效应以及HTS导致阈值电压分布的扩展,这对于存储系统设计者寻求保持存储单元数据状态之间的读边界来说存在双重的困难问题。并且这个问题已经被近期趋向于更复杂的半导体制造工艺和更密集的集成半导体器件的商业趋势进一步恶化。
因此,存在通过控制或减轻电场和/或F-poly耦合以及HTS的效应,来确保存储单元数据状态(如,相应的电压分布)之间的额外的读边界的需求。

发明内容
在一个实施例中,本发明提供一种用于闪存装置的编程方法,该闪存装置具有多个存储单元,所述存储单元用于存储表示多个状态之一的多比特数据,该编程方法包括用多比特数据将被选的存储单元编程为具有所述多个状态之一;检测被安排在阈值电压分布的预定区域内的已编程存储单元,该区域对应于所述多个状态中的至少两个状态,其中,所述多个状态中的至少两个状态各自的预定区域由第一校验电压和读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于读电压;以及同时将检测到的所述多个状态中的至少两个状态的存储单元编程为具有等于或高于与所述多个状态中的每个状态相对应的第二校验电压的阈值电压。
在另一个实施例中,本发明提供一种用于闪存装置的编程方法,该闪存装置具有多个存储单元,所述存储单元用于存储表示至少四个数据状态之一的多比特数据,该编程方法包括用多比特数据将被选的存储单元编程为具有第二到第四状态之一;检测被安排在与第二状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中,第二状态的预定区域由第一校验电压和第一读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于第一读电压;检测被安排在与第三状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中第三状态的预定区域由第三校验电压和第二读电压之一以及第四校验电压来选择,第三校验电压低于第四校验电压并高于第二读电压;以及同时将检测到的第二状态的存储单元以及检测到的第三状态的存储单元编程为具有等于或高于分别与第二和第三状态相对应的第二和第四校验电压的阈值电压。
在又一实施例中,本发明提供一种用于闪存装置的编程方法,该闪存装置具有多个存储单元,所述存储单元用于存储表示第一到第四数据状态之一的多比特数据,该编程方法包括用多比特数据将被选的存储单元编程为具有第二到第四状态之一;检测被安排在与第二状态相对应阈值电压的预定区域内的已编程存储单元,其中第二状态的预定区域由第一校验电压和第一读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于第一读电压;检测被安排在与第三状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中第三状态的预定区域由第三校验电压和第二读电压之一以及第四校验电压来选择,第三校验电压低于第三校验电压并高于第二读电压;检测被安排在与第四状态相对应的阈值电压的预定区域内的已编程存储单元,其中第四状态的预定区域由第五校验电压和第三读电压之一已经第六校验电压来选择,第五校验电压低于第六校验电压并高于第三读电压;以及同时将检测到的第二状态的存储单元、检测到的第三状态的存储单元以及检测到的第四状态的存储单元编程为具有等于或高于分别与第二、第三和第四状态相对应的第二、第四和第六校验电压的阈值电压。


图1示出了由于电场和/或F-poly耦合效应导致的扩展阈值电压分布。
图2示出了在相邻存储单元之间产生的电场和或F-poly耦合效应。
图3示出了由高温度应力(HTS)造成的扩展阈值电压分布。
图4是根据本发明实施例的典型闪存装置的框图。
图5是进一步示出了图4的存储单元阵列的电路图。
图6A和图6B示出了根据本发明实施例的多比特编程操作。
图7是根据本发明的实施例对闪存装置进行编程的方法的流程图。
图8示出了根据本发明的实施例适于在闪存装置的编程操作的执行中使用的校验电压。
图9示出了根据本发明实施例的在闪存装置编程操作执行后得出的典型阈值电压分布。
图10示出了在主编程操作和第二编程操作期间阈值电压的可能波动。
图11A、11B、12A和12B是根据本发明的不同实施例对闪存装置进行编程的典型方法流程图。
具体实施例方式
现在,将参考附图对本发明进行详细地描述。然而,本发明可以以许多不同的形式来体现,但不应被解释为仅仅限制在这里提出的实施例。更确切地,这些实施例是以教学的例子出现的。在图中,相同的标记表示相同的或相似的元件。
图4是根据本发明实施例的闪存装置的框图。图5进一步示出了图4的存储单元阵列的电路图。
参照图4,图示的闪存装置包括存储单元阵列100,适用于存储数据。存储单元阵列100包括多个存储块,每个存储块具有图5所示的存储单元结构。
如图5所示,存储块MB包括多个存储单元串101,每个存储单元串具有串选择晶体管SST、地选择晶体管GST以及多个存储单元(如,MC31-MC0)。串选择晶体管SST由串选择线SSL控制,并且具有连接到相应位线的漏极。存储单元MC31-MC0在串选择晶体管SST的源极和地选择晶体管GST的漏极之间串行地连接,并且分别由相应的字线WL31-WL0控制。本领域技术人员可以理解的是图5中所示的字线的数量仅仅是示例性的。每个存储单元包含一个浮置栅极晶体管。
返回图4,行选择器电路(X-SEL)100由控制逻辑150控制。行选择器电路100响应于通过输入/输出接口(I/O接口)140提供的地址,选择多个存储块之一,并且控制被选择的存储块的行(包括字线和选择线)。寄存器块120也由控制逻辑150控制,并且根据当前的操作模式(如,读/编程)作为读出放大器或写驱动器。虽然未在图4中示出,但是寄存器块120如常规包括多个页缓冲器。每个页缓冲器被电连接到一个位线或一对位线中的一个,并且通过位线,或者从存储单元中读数据,或者将数据存储在存储单元中。列选择器电路(Y-SEL)130由控制逻辑150控制,并且响应于通过I/O接口140提供的地址ADD向I/O接口140或控制逻辑150输出存储在寄存器块120中的数据。例如,在正常的读操作中,列选择器电路130向I/O接口140输出存储在寄存器块120中的数据。在校验正常读操作中,列选择器电路130向控制逻辑150输出存储在寄存器块120中的数据,并且控制逻辑150确定来自列选择器电路130的数据是否为“通过(pass)”数据。
在编程操作的数据加载周期期间,列选择器电路130向寄存器块120输出通过I/O接口140传送的编程数据。控制逻辑150被配置成控制闪存装置的一般操作。电压产生器160也由控制逻辑150控制,并被配置用来产生编程/擦除/读操作所需的电压(如,字线电压、体(bulk)电压、读电压、通过电压等)。
如下面所描述的,根据本发明实施例的闪存装置结合了一种新颖的编程方法,该方法适用于即使在组成存储单元受到电场和/或F-poly耦合效应以及HTS的情况下,也能确保存储单元数据状态间的额外的读边界。根据本发明的一个实施例的编程操作,2-比特数据被存储在被选页的各存储单元中,使得使用各个期望状态的目标阈值电压对存储单元进行编程。这个方法步骤在下文将被一般地称为“第一编程操作”。第一编程操作完成后,执行读操作,以检测各个状态的存储单元中被安排在预定阈值电压区域内的存储单元。检测到的存储单元被编程为具有比各个状态的目标阈值电压高的阈值电压。这个方法步骤在下文将被一般地称为“第二编程操作”。
用于存储2-比特数据的第一编程操作将随寄存器块120的结构而变化。例如,将LSB和MSB数据比特都加载到寄存器块120中后,可以执行第一编程操作。可选择地,编程MSB数据比特(此后被一般地称为“MSB编程操作”)之后可以编程LSB数据比特(此后被一般地称为“LSB编程操作”)。这个后面的操作在此后作为典型的编程方法出现,并且参照图6A和6B更详细地描述。
一个存储单元被编程为具有“11”、“10”、“00”和“01”状态之一。仅仅为了便于描述,假设“11”、“10”、“00”和“01”状态分别对应于ST0、ST1、ST2和ST3。具有“11”状态的存储单元为被擦除的存储单元,并且具有“10”状态的存储单元的阈值电压比具有“11”状态的存储单元的阈值电压高。具有“00”状态的存储单元的阈值电压比具有“10”状态的存储单元的阈值电压高。此外,具有“01”状态的存储单元的阈值电压比具有“00”状态的存储单元的阈值电压高。
如果LSB编程操作在前述的假设下被执行,具有被擦除状态或“10”状态的存储单元如图6A所示。如果MSB编程操作在LSB编程操作之后被执行,具有“11”状态的存储单元具有被擦除状态或“01”状态,而具有“10”状态的存储单元具有“10”或“00”状态,如图6B所示。
图7是根据本发明的实施例对闪存装置进行编程的典型方法的流程图。图8示出了根据本发明的实施例适于在闪存装置的编程操作的执行时使用的校验电压。
用于图解的目的,假设第一编程操作根据参考图6A和图6B所描述的方法被执行(S100)。当第一编程操作被执行时,被选页的存储单元被编程为ST1、ST2和ST3之一,如图8所示。使用对应于状态ST1、ST2和ST3的校验电压Vvfy11、Vvfy21和Vvfy31,确定它们是否被编程为各自的状态。(参见图8)。例如,使用校验电压Vvfy11,确定存储单元是否被编程为ST1状态;使用校验电压Vvfy21,确定存储单元是否被编程为ST2状态;使用校验电压Vvfy31,确定存储单元是否被编程为ST3状态。
一旦对2-比特数据的第一编程操作完成,用于被选的存储单元的阈值电压将被安排在对应于状态ST1、ST2和ST3的阈值电压分布中的特定区域内。在图示的实施例中,读操作被连续地执行三次,以检测被安排在分别对应于状态ST1、ST2和ST3的阈值电压分布中的特定区域内的存储单元。例如,数据从具有校验电压Vvfy11和Vvfy12(或读电压Vread1和校验电压Vvfy12)之间的阈值电压的存储单元被读出,如图8所示(S110)。这可以通过在校验电压Vvfy11(或读电压Vread1)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy12被施加到所选的字线时,通过寄存器块120执行读操作来实现。
接下来,数据从具有校验电压Vvfy21和Vvfy22(或读电压Vread2和校验电压Vvfy22)之间的阈值电压的存储单元被读出,如图8所示(S120)。这可以通过在校验电压Vvfy21(或读电压Vread2)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy22被施加到所选的字线时,通过寄存器块120执行读操作来实现。
最后,数据从具有校验电压Vvfy31和Vvfy32(或读电压Vread3和校验电压Vvfy32)之间的阈值电压的存储单元被读出,如图8所示(S130)。这可以通过在校验电压Vvfy31(或读电压Vread3)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy32被施加到所选的字线时,通过寄存器块120执行读操作来实现。本领域技术人员可以理解的是,对具有对应于各个状态的不同校验电压之间的阈值电压的存储单元进行检测的方法可以随着寄存器块120的具体结构而变化。
如果具有存在于分别对应于各个状态的阈值电压分布的特定区域中的阈值电压的存储单元被检测到,那么同时对检测到的存储单元执行另一编程操作(也就是,第二编程操作)(S140)。在这一点上,当状态ST1要被编程时,编程电压被施加到字线。虽然低编程电压被施加到所选的字线,但是检测到的存储单元的阈值电压在第二编程操作期间随着编程电压的增加而增加,如图10所示。也就是,虽然低编程电压被施加到所选的字线,但是电荷被注入存储单元的浮置栅极。
该编程操作完成后,校验读操作被连续地执行,以确定检测到的各个状态的存储单元是否以相应的校验电压或者高于校验电压的电压被编程。更准确地,在用作读电压的校验电压Vvfy12被施加到所选的字线时,通过寄存器块120执行校验读操作(S150)。接下来,在用作读电压的校验电压Vvfy22被施加到所选的字线时,通过寄存器块120执行校验读操作(S160)。最后,在用作读电压的校验电压Vvfy33被施加到所选的字线时,通过寄存器块120执行校验读操作(S170)。
此后,确定检测到的存储单元是否被正确地编程(S180)。如果确定结果显示检测到的存储单元没有都以所期望的阈值电压被编程,那么将被施加到所选字线的编程电压增加预定的增量(S190)。然后,典型的编程操作返回到上面的步骤S140。包含步骤S140-S170的编程循环重复预定的迭代次数或直到检测到的存储单元都被正确地编程。
参照图9,对于对应于状态ST1的阈值电压分布,校验电压Vvfy11和Vvfy12(或读电压Vread1和校验电压Vvfy12)之间的存储单元被编程为具有校验电压Vvfy12或高于校验电压Vvfy12的电压。通过图9与图3的比较可以看出,数据状态ST0和ST1之间的读边界因此被增加。对于对应于状态ST2的阈值电压,校验电压Vvfy21和Vvfy22(或读电压Vread2和校验电压Vvfy22)被编程为具有校验电压Vvfy22或高于校验电压Vvfy22的电压。再次,通过图9与图3的比较可以看出,数据状态ST1和ST2之间的读边界被增加。类似地,对于对应于状态ST3的阈值电压分布,校验电压Vvfy31和Vvfy32(或读电压Vread3和校验电压Vvfy32)之间的存储单元被编程为具有校验电压Vvfy32或高于校验电压Vvfy32的电压。再次,数据状态ST2和ST3之间的读边界被增加。
因此,相邻数据状态之间的读边界被明显地增加,超过如图3所示的常规存储单元的读边界。因此,即使在由于电场和/或F-poly耦合效应和HTS导致扩展的阈值电压分布的影响下,使用根据本发明的实施例的编程方法,相邻数据状态的读边界也可以得到充分地保证。
共同地包含图11A和11B的图11是根据本发明的另一个实施例对闪存装置进行编程的方法流程图。
参照图6A和6B描述的主编程操作首先被执行(S200)。在主编程操作期间,被选页的存储单元被编程为状态ST1、ST2和ST3之一,如图8所示。这基于对应于状态ST1、ST2和ST3的校验电压Vvfy11、Vvfy21和Vvfy31来确定。例如,校验电压Vvfy11被用来确定存储单元是否被编程为状态ST1;校验电压Vvfy21被用来确定存储单元是否被编程为状态ST2;以及校验电压Vvfy31被用来确定存储单元是否被编程为状态ST3。
一旦对2-比特数据的主编程操作完成,在分别对应于状态ST1、ST2和ST3的阈值电压分布中选择被安排在特定区域内的存储单元。更准确地,数据从具有校验电压Vvfy11和Vvfy12(或读电压Vread1和校验电压Vvfy12)之间的阈值电压的存储单元被读出,如图8所示(S210)。这可以通过在校验电压Vvfy11(或读电压Vread1)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy12被施加到所选的字线时,通过寄存器块120执行读操作来实现。
数据也从具有校验电压Vvfy21和Vvfy22(或读电压Vread2和校验电压Vvfy22)之间的阈值电压的存储单元被读出,如图8所示(S220)。这可以通过在校验电压Vvfy21(或读电压Vread2)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy22被施加到所选的字线时,通过寄存器块120执行读操作来实现。本领域技术人员可以理解的是,对具有分别对应于状态ST1、ST2和ST3的校验电压之间的阈值电压的存储单元进行检测的方法可以随着寄存器块120的结构而变化。
如果具有被安排在分别对应于状态ST1和ST2的阈值电压的特定区域内的阈值电压的存储单元被检测到,那么对检测到的存储单元同时执行另一编程操作(也就是,第二编程操作)被(S230)。在这一点上,当状态ST1要被编程时,编程电压被施加到字线。如上所述,虽然低编程电压被施加到所选的字线,但是阈值电压随着编程电压的增加而增加,如图10所示。换言之,虽然低编程电压被施加到所选的字线,但是电荷被注入存储单元的浮置栅极。
该编程操作完成后,校验读操作被连续地执行,以确定检测到的具有状态ST1和ST2的存储单元是否以相应的校验电压或者高于校验电压的电压被编程。更准确地,在用作读电压的校验电压Vvfy11被施加到所选的字线时,通过寄存器块120执行校验读操作(S240)。在用作读电压的校验电压Vvfy22被施加到所选的字线时,通过寄存器块120执行校验读操作(S250)。然后,确定检测到的存储单元是否被正确地编程(S260)。如果确定结果显示所有检测到的存储单元没有以所期望的阈值电压被正确地编程,那么被施加到所选字线的编程电压可以增加预定的增量(S270)。在图示的例子中,该方法返回到步骤S230。包含步骤S230-S270的编程循环重复预定的迭代次数或直到检测到的存储单元都被正确地编程。
如果确定结果显示检测到的存储单元以期望的阈值电压被编程,那么选择被安排在对应于状态ST3的阈值电压分布的特定区域内的存储单元(S280)。这可以通过在校验电压Vvfy31(或读电压Vread3)被施加到所选的字线时,通过寄存器块120执行读操作,以及在高于校验电压Vvfy31的校验电压Vvfy32被施加到所选的字线时,通过寄存器块120执行读操作来实现。具有校验电压Vvfy31和Vvfy32(或读电压Vread3和校验电压Vvfy32)之间的阈值电压的存储单元通过执行两次的读操作而被检测到。如果具有校验电压Vvfy31和Vvfy32(或读电压Vread3和校验电压Vvfy32)之间的阈值电压的存储单元被检测到,那么对检测到的存储单元执行第二编程操作(S290)。在这一点上,当状态ST1要被编程时,编程电压被施加到字线。该编程操作被执行后,当用作读电压的校验电压Vvfy32被施加到所选的字线时,执行校验读操作(S300)。确定检测到的存储单元是否被编程为具有对应于校验电压Vvfy32的阈值电压(S310)。如果确定结果显示所有检测到的存储单元没有以期望的阈值电压被编程,那么被施加到所选字线的编程电压增加预定的增量(S320)。在图示的例子中,该方法程序返回到步骤S290。包含步骤S290-S320的编程循环可以重复预定的迭代次数或直到所有检测到的存储单元都被正确地编程。一旦该确定结果显示所有检测到的存储单元都以期望的阈值电压被编程,那么该编程操作结束。
共同地包含图12A和12B的图12是根据本发明的又一个实施例对闪存装置进行编程的方法流程图。
参照图6A和6B描述的主编程操作首先被执行(S400)。在主编程操作期间,被选页的存储单元被编程为状态ST1、ST2和ST3之一,如图8所示。这基于对应于状态ST1、ST2和ST3的校验电压Vvfy11、Vvfy21和Vvfy31来确定。例如,校验电压Vvfy11被用来确定存储单元是否被编程为状态ST1;校验电压Vvfy21被用来确定存储单元是否被编程为状态ST2;以及校验电压Vvfy31被用来确定存储单元是否被编程为状态ST3。
一旦对2-比特数据的主编程操作完成,数据从具有校验电压Vvfy11和Vvfy12(或读电压Vread1和校验电压Vvfy12)之间的阈值电压的存储单元被读出,如图8所示(S410)。这可以通过在校验电压Vvfy11(或读电压Vread1)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy12被施加到所选的字线时,通过寄存器块120执行读操作来实现。具有校验电压Vvfy11和Vvfy12(或读电压Vread1和校验电压Vvfy12)之间的阈值电压的存储单元通过执行两次的读操作而被检测到。本领域技术人员可以理解的是,对具有校验电压Vvfy11和Vvfy12之间的阈值电压的存储单元进行检测的方法可以随着寄存器块120的结构而变化。
如果具有校验电压Vvfy11和Vvfy12(或读电压Vread1和校验电压Vvfy12)之间的阈值电压的存储单元被检测到,那么对检测到的存储单元同时执行另一编程操作(也就是,第二编程操作)(S420)。该编程操作被执行后,当用作读电压的校验电压Vvfy12被施加到所选的字线时,使用校验读操作(S430)。接下来,确定检测到的存储单元是否被编程为具有对应于校验电压Vvfy12的阈值电压(S440)。如果确定结果显示所有检测到的存储单元没有以期望的阈值电压被正确地编程,那么被施加到所选字线的编程电压可以增加预定的增量(S450)。在图示的例子中,该方法然后返回到步骤S420。共同地包含步骤S420-S450的编程循环重复预定的迭代次数或直到检测到的存储单元都被正确地编程。
如果确定结果显示所有检测到的存储单元都以期望的阈值电压被编程,那么选择被安排在分别对应于状态ST2和ST3的阈值电压分布的特定区域内的存储单元。更准确地,数据从具有校验电压Vvfy21和Vvfy22(或读电压Vread2和校验电压Vvfy22)之间的阈值电压的存储单元被读出,如图8所示(S460)。这可以通过在校验电压Vvfy21(或读电压Vread2)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy22被施加到所选的字线时,通过寄存器块120执行读操作来实现。接下来,数据从具有校验电压Vvfy31和Vvfy32(或读电压Vread3和校验电压Vvfy32)之间的阈值电压的存储单元被读出,如图8所示(S470)。这可以通过在校验电压Vvfy31(或读电压Vread3)被施加到所选的字线时,通过寄存器块120执行读操作,以及在校验电压Vvfy32被施加到所选的字线时,通过寄存器块120执行读操作来实现。
如果具有被安排在分别对应于状态ST2和ST3的阈值电压的特定区域内的阈值电压的存储单元被检测到,那么对检测到的存储单元同时执行第二编程操作(S480)。在这点上,当状态ST1被编程时,编程电压被施加到字线。如上所述,虽然低编程电压被施加到所选的字线,但是阈值电压随编程电压的增加而增加,如图10所示。换言之,虽然低编程电压被施加到所选的字线,但是电荷被注入存储单元的浮置栅极。
该编程操作被执行后,校验读操作被连续地执行,以确定检测到的状态ST2和ST3的存储单元是否以对应的校验电压或高于校验电压的电压被编程。更准确地,当用作读电压的校验电压Vvfy22被施加到所选的字线时,执行校验读操作(S490)。接下来,当用作读电压的校验电压Vvfy32被施加到所选的字线时,执行校验读操作(S500)。确定检测到的存储单元是否被正确地编程(S510)。如果该确定结果显示所有检测到的存储单元没有以期望的阈值电压被编程,被施加到所选字线的编程电压可以增加预定的增量(S520)。在图示的例子中,该方法返回到步骤S480。因此,共同地包含步骤S480-S520的编程循环可以重复预定的迭代次数或直到检测到的存储单元都被正确地编程。如果确定结果显示所有检测到的存储单元都以期望的阈值电压被编程,该编程操作可以结束。
从根据本发明实施例被编程的存储单元中读取数据所需的读电压可以被设置为与用于执行主编程操作的读电压相同。根据本发明实施例的闪存装置可以适用于增量阶跃脉冲编程(ISPP)方案的使用,其中当编程循环被重复时,编程电压被逐渐地增加预定的增量。
根据本发明的图示的实施例,主编程操作被执行后,被安排在对应于各个状态的电压分布的特定区域内的存储单元可以被执行第二编程操作,其特征在于阈值电压等于或高于主编程操作的校验电压。因此,存储单元可以承受由于电场和/或F-poly耦合效应和HTS导致的阈值电压扩展的影响,使用根据本发明实施例的编程方法,相邻数据状态之间的读边界可以得到充分保证。
虽然本发明已经连同在附图中图示的几个实施例来描述,但是并不局限于此。在不脱离所附权利要求所限定的本发明的范围的前提下,各种替代、修改和变化对本领域的技术人员来说都是显而易见的。
权利要求
1.一种用于闪存装置的编程方法,该闪存装置具有多个存储单元,所述存储单元用于存储表示多个状态之一的多比特数据,该编程方法包括用多比特数据将被选的存储单元编程为具有所述多个状态之一;检测被安排在阈值电压分布的预定区域内的已编程存储单元,该区域对应于所述多个状态中的至少两个状态,其中,所述多个状态中的至少两个状态各自的预定区域由第一校验电压和读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于读电压;以及同时将检测到的所述多个状态中的至少两个状态的存储单元编程为具有等于或高于与所述多个状态中的每个状态相对应的第二校验电压的阈值电压。
2.如权利要求1所述的编程方法,其中所述多个状态包括与存储单元的擦除状态相对应的一个状态以及多个编程状态。
3.如权利要求1所述的编程方法,其中检测到的所述多个状态中的至少两个状态的存储单元被同时编程,并且施加到所选字线的编程电压为多比特数据编程所使用的最低编程电压。
4.如权利要求3所述的编程方法,其中编程电压随编程循环的重复而逐渐地增加。
5.如权利要求2所述的编程方法,其中所述多个编程状态包括所述至少两个状态以及一个不同状态。
6.如权利要求5所述的编程方法,进一步包括检测被安排在与所述不同状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中所述不同状态的预定区域由第一校验电压和读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于第一校验电压;以及将检测到的所述不同状态的存储单元编程为具有等于或高于与所述不同状态相对应的第二校验电压的阈值电压。
7.如权利要求6所述的编程方法,其中当检测到的所述不同状态的存储单元被编程时,施加到所选字线的编程电压为多比特数据编程所使用的最低编程电压。
8.如权利要求7所述的编程方法,其中编程电压随编程循环的重复而逐渐地增加。
9.如权利要求6所述的编程方法,其中对应于状态的第一校验电压被用于确定所选存储单元是否使用多比特数据被编程。
10.一种用于闪存装置的编程方法,该闪存装置具有多个存储单元,所述存储单元用于存储表示至少四个数据状态之一的多比特数据,该编程方法包括用多比特数据将被选的存储单元编程为具有第二到第四状态之一;检测被安排在与第二状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中,第二状态的预定区域由第一校验电压和第一读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于第一读电压;检测被安排在与第三状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中第三状态的预定区域由第三校验电压和第二读电压之一以及第四校验电压来选择,第三校验电压低于第四校验电压并高于第二读电压;以及同时将检测到的第二状态的存储单元以及检测到的第三状态的存储单元编程为具有等于或高于分别与第二和第三状态相对应的第二和第四校验电压的阈值电压。
11.根据权利要求10所述的编程方法,其中当检测到的第二状态的存储单元和检测到的第三状态的存储单元同时被编程时,施加到所选字线的编程电压为多比特数据编程所用的最低编程电压。
12.根据权利要求11所述的编程方法,其中编程电压随编程循环的重复而逐渐地增加。
13.根据权利要求11所述的编程方法,进一步包括检测被安排在与第四状态相对应的阈值电压的预定区域内的已编程存储单元,其中第四状态的预定区域由第五校验电压和第三读电压之一以及第六校验电压来选择,第五校验电压低于第六校验电压并高于第三读电压;以及将检测到的第四状态的存储单元编程为具有等于或高于与第四状态相对应的第六校验电压的阈值电压。
14.根据权利要求10所述的编程方法,其中第一状态表示擦除状态,第二到第四状态表示编程状态。
15.根据权利要求13所述的编程方法,其中第一、第三和第五校验电压被用于确定所选存储单元是否使用多比特数据被编程。
16.一种用于闪存装置的编程方法,该闪存装置具有多个存储单元,所述存储单元用于存储表示第一到第四数据状态之一的多比特数据,该编程方法包括用多比特数据将被选的存储单元编程为具有第二到第四状态之一;检测被安排在与第二状态相对应阈值电压的预定区域内的已编程存储单元,其中第二状态的预定区域由第一校验电压和第一读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于第一读电压;检测被安排在与第三状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中第三状态的预定区域由第三校验电压和第二读电压之一以及第四校验电压来选择,第三校验电压低于第三校验电压并高于第二读电压;检测被安排在与第四状态相对应的阈值电压的预定区域内的已编程存储单元,其中第四状态的预定区域由第五校验电压和第三读电压之一已经第六校验电压来选择,第五校验电压低于第六校验电压并高于第三读电压;以及同时将检测到的第二状态的存储单元、检测到的第三状态的存储单元以及检测到的第四状态的存储单元编程为具有等于或高于分别与第二、第三和第四状态相对应的第二、第四和第六校验电压的阈值电压。
17.如权利要求16所述的编程方法,其中当检测到的存储单元被同时编程时,施加到所选字线的编程电压为多比特数据编程所用的最低编程电压。
18.如权利要求17所述的编程方法,其中编程电压随编程循环的重复而逐渐地增加。
19.如权利要求16所述的编程方法,其中第一、第三和第五校验电压被用于确定所选存储单元是否使用多比特数据被编程。
全文摘要
一种闪存装置的编程方法,该闪存装置具有多个存储单元,存储单元用于存储表示多个状态之一的多比特数据。该编程方法包括用多比特数据将被选的存储单元编程为具有状态之一;检测被安排在分别与至少两个状态相对应的阈值电压分布的预定区域内的已编程存储单元,其中,至少两个状态各自的预定区域由第一校验电压和读电压之一以及第二校验电压来选择,第一校验电压低于第二校验电压并高于读电压;以及同时将检测到的至少两个状态的存储单元编程为具有等于或高于与每个状态相对应的第二校验电压的阈值电压。
文档编号G11C16/34GK101067971SQ20071012663
公开日2007年11月7日 申请日期2007年1月9日 优先权日2006年1月12日
发明者姜东求, 林瀛湖 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1