CN103366818A - 对存储装置进行编程的方法 - Google Patents
对存储装置进行编程的方法 Download PDFInfo
- Publication number
- CN103366818A CN103366818A CN2013102771659A CN201310277165A CN103366818A CN 103366818 A CN103366818 A CN 103366818A CN 2013102771659 A CN2013102771659 A CN 2013102771659A CN 201310277165 A CN201310277165 A CN 201310277165A CN 103366818 A CN103366818 A CN 103366818A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- voltage
- programming
- programmed
- state
- 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.)
- Granted
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
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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
Abstract
本发明提供一种对存储装置进行编程的方法。所述方法包括:执行编程电压施加操作;执行校验操作,其中,在编程电压施加操作之后连续地执行多次校验操作。
Description
本申请是申请日为2008年6月19日、申请号为200810125996.3、发明名称为“对存储装置进行编程的方法”的发明专利申请的分案申请。
本申请要求于2007年6月19日提交到韩国知识产权局的第10-2007-0060052号韩国专利申请和2008年5月16日提交到韩国知识产权局的第10-2008-0045520号韩国专利申请的优先权,该申请的公开通过引用全部包含于此。
技术领域
示例性实施例涉及一种对闪速存储装置进行编程(program)的方法,例如,涉及一种在编程状态下更有效地减小阈值电压偏移(dispersion)的对闪速存储装置进行编程的方法。
背景技术
浮栅式闪速存储器通常被用作大容量非易失性存储器。为了进行操作,浮栅式闪速存储器在由多晶硅形成的浮栅中存储电荷。
浮栅式闪速存储器的存储单元可被分为记录“1”和“0”两种记录状态的单层单元(SLC)和记录四种或更多种记录状态(例如,“11”,“10”,“01”和“00”)的多层单元(MLC)。
MLC技术被用于制造大容量的NAND和NOR式闪速存储器。
在MLC操作中,分别与记录状态对应的单元的阈值电压Vth的偏移必须相对低以分别识别记录状态。
闪速存储装置可使用均匀增加编程电压Vpgm并重复施加增加的编程电压的递增阶跃脉冲编程(Incremental Step Pulse Programming,ISPP)方法,来减小单元间的阈值电压分布。
众所周知,在ISPP方法中,在幅值逐渐增加ΔVpgm的情况下,编程电压脉冲被施加。重复施加校验电压脉冲以校验存储单元的阈值电压的过程,以使存储单元的阈值电压达到期望的或者预定的值。构成闪速存储器的多个存储单元可具有初始阈值电压偏移。因此,考虑存储单元的初始阈值电压偏移,已经提出ISPP方法以使多个存储单元达到期望的或者预定的阈值电压。
然而,单元之间的耦合(例如,浮栅之间的耦合)随着使用浮栅的闪速存储器的单元的尺寸的减小而增加。因此,控制阈值电压的偏移更为困难。
为了减小单元之间的耦合,已经开发出电荷捕获闪速(CTF)存储器,CTF存储器使用使用捕获电荷的绝缘层(例如,被构造为存储电荷的Si3N4层)来代替浮栅。
然而,在使用绝缘层以捕获电荷的CTF存储器中,在执行编程之后,在电荷捕获层中捕获的电荷迁移。因此,在执行编程之后,阈值电压值随时间而变化。
如果使用ISPP方法执行编程,则阈值电压值随时间的变化使阈值电压值的偏移的控制更为困难。
如上所述,如果阈值随时间变化,则在期望的或预定的时间过去之后,在执行编程和校验编程状态的操作中发生错误。
在ISPP方法中的编程状态的阈值电压值的偏移由于校验错误而增加。
例如,如果阈值电压随时间变化,则在更多的时间过去之后,阈值电压可达到目标值。然而,即使在此情况下,校验结果为存储单元还没有达到目标阈值电压的错误也可能发生。如果存储单元被校验为还没有达到目标阈值电压,则增加了ΔVpgm的编程电压被施加以对存储单元编程。因此,阈值电压增加的过编程(over program)发生。因此,编程状态下阈值电压的偏移增加。
发明内容
示例性实施例提供一种对存储装置进行编程的方法,所述方法包括:执行编程电压施加操作;执行校验操作,其中,在编程电压施加操作之后连续地执行多次校验操作。
根据示例性实施例,在逐渐地增加编程电压的幅值的情况下,可重复执行包括一次电压施加操作和多次校验操作的一对操作,直到存储单元达到设置的阈值电压。
根据示例性实施例,连续执行多次校验操作时使用的校验电压的幅值可以相同。
根据示例性实施例,连续执行多次校验操作时使用的校验电压的幅值可连续地减小。
根据示例性实施例,校验电压可以逐渐地减小相同的幅值。
根据示例性实施例,校验电压可以逐渐地减小大约0.05V至0.35V。
根据示例性实施例,存储单元可以是浮栅式存储单元和电荷捕获式存储单元之一。
根据示例性实施例,可以以一定的间隔执行多次校验操作。
根据示例性实施例,所述时间间隔可在大约1μs和100μs之间的范围内。
根据示例性实施例,所述方法还可包括:执行包括使用第一校验电压的校验操作的第一编程操作;执行包括使用大于第一校验电压的第二校验电压的校验操作的第二编程操作,其中,在编程电压被施加到存储单元之后,每执行一次编程电压施加操作,就连续执行多次校验操作,其中,在第一编程操作中,重复执行包括一次编程电压施加操作和一次校验操作的一对操作,直到通过使用第一校验电压的校验操作,在第二编程操作中,重复执行包括一次编程电压施加操作和多次校验操作的一对操作,直到通过使用第二校验电压的校验操作。
根据示例性实施例,第一校验电压可比第二校验电压低大约0.2V到1.0V。
根据示例性实施例,可对通过使用第一校验电压的校验操作的存储单元执行第二编程操作。
根据示例性实施例,可对擦除状态的存储单元执行第一编程操作,以使擦除状态的存储单元被编程为中间编程状态,可对中间编程状态的存储单元执行第二编程操作,以使中间编程状态的存储单元被编程为最终编程状态。
根据示例性实施例,最终编程状态之后的存储单元可包括三层或更多层。
根据示例性实施例,可对擦除状态的存储单元执行第一编程操作,以使擦除状态的存储单元被编程为中间编程状态,可对中间编程状态的存储单元执行第二编程操作,以使中间编程状态的存储单元被编程为最终编程状态,以增加中间编程状态的最小阈值电压并减小阈值电压分布范围。
根据示例性实施例,存储单元可为4层单元,擦除状态可为“11”状态,最终编程状态可为“01”状态、“00”状态和“10”状态中的至少一种。
根据示例性实施例,在第一编程操作和第二编程操作的每个中,可在逐渐地增加编程电压的情况下,重复执行包括编程电压施加操作和校验操作的一对操作。
根据示例性实施例,在第二编程操作中的每步中的编程电压增量可低于在第一编程操作中的每步的编程电压增量。
根据示例性实施例,所述方法还可包括执行包括使用低于第一校验电压的校验电压的校验操作的第三编程操作,其中,对擦除状态的存储单元重复执行包括一次编程电压施加操作和一次校验操作的一对操作,直到通过使用低于第一校验电压的校验电压的校验操作,以使擦除状态的存储单元被编程为中间编程状态,其中,第一编程操作和第二编程操作被连续地应用到中间编程状态的存储单元,以使中间编程状态的存储单元被编程为最终编程状态,以增加编程状态的最小阈值电压并减小阈值电压分布范围。
根据示例性实施例,在第三编程操作、第二编程操作和第一编程操作的每个中,可在逐渐地增加编程电压的情况下,重复执行包括编程电压施加操作和校验操作的一对操作。
根据示例性实施例,在第二编程操作中的每步中的编程电压增量低于在第一编程操作中的每步的编程电压增量。
根据示例性实施例,存储单元可为4层单元,擦除状态可为“11”状态,中间编程状态可为“01”状态、“00”状态和“10”状态中的至少一种。
根据示例性实施例,擦除状态的存储单元可被应用第一编程操作,以使擦除状态的存储单元被编程为作为哑状态的中间编程状态,擦除状态的存储单元可被应用第二编程操作,以使擦除状态的存储单元被编程为第一编程状态,哑状态的存储单元可被应用第二编程操作,以使哑状态的存储单元被编程为第二或第三编程状态。
根据示例性实施例,存储单元可为4层单元,擦除状态可为“11”状态,第一至第三编程状态可为“01”状态、“00”状态和“10”状态中的至少一种,并且彼此不同。
根据示例性实施例,在第一编程操作和第二编程操作的每个中,可在逐渐地增加编程电压的幅值的情况下,重复执行包括编程电压施加操作和校验操作的一对操作。
附图说明
通过下面结合附图对示例性实施例进行的详细描述,上述和/或其它方面和优点将会变得更加清楚并更易于理解,其中:
图1是使用根据示例性实施例的编程方法执行编程操作的电荷捕获闪速(CTF)存储装置的示意性截面图;
图2是作为采用示例性实施例的编程方法的闪速存储器的示例的NAND式闪速存储器的电路图;
图3是根据示例性实施例的编程方法的编程操作的流程图;
图4和图5示出在根据示例性实施例的图3的编程方法中施加的电压脉冲的示例波形;
图6示出在使用普通ISPP方法执行编程的情况下,施加到选择的字线(WL)的电压脉冲的示例波形;
图7是示出关于图6的示例波形,在CTF存储单元的编程期间阈值电压的变化的示例曲线图;
图8A和图8B是示出在使用传统编程方法进行编程期间,存储单元的编程方案和阈值电压偏移的示例曲线图;
图9A和图9B是示出在使用示例性实施例的编程方法进行编程期间,存储单元的编程方案和阈值电压偏移的示例曲线图;
图10是根据另一示例性实施例的编程方法的编程操作的流程图;
图11和图12示出在使用根据示例性实施例的图10的编程方法进行编程的情况下,施加到选择的WL的电压脉冲的示例波形;
图13A和图13B是用于解释根据示例性实施例的多层单元(MLC)编程方法的示意图;
图14A和图14B是用于解释根据另一示例性实施例的MLC编程方法的示意图;
图15是示出在具有多NAND串的块中NAND串的一部分的电路图。
具体实施方式
现在将参照附图更充分地描述示例性实施例。然而,可以以许多不同的形式实施示例性实施例,并且不应被解释为局限于在此阐述的示例性实施例。相反,提供这些示例性实施例从而本公开将会彻底和完整,并将完全地将示例性实施例的范围传达给本领域的技术人员。在附图中,为了清楚可夸大层和区域的厚度。
应该理解,当某一部件被称作在另一部件“之上”、“连接”或“结合”到另一部件时,该部件可能直接在所述另一部件之上、连接或结合到所述另一部件,或者可能存在中间部件。相反,当部件被称作“直接”在另一部件“之上”、“直接连接”或“直接结合”到另一部件时,不存在中间部件。在这里使用的术语“和/或”包括一个或多个相关列出的项的任何和全部组合。
应该理解,尽管在这里可使用术语第一、第二、第三等来描述不同的元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应被这些术语所限制。这些术语仅用于区分一个元件、组件、区域、层或部分与另一元件、组件、区域、层或部分。因此,在不脱离示例性实施例的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。
在这里使用空间相对术语(例如“在…之下”、“在…下方”、“下面的”、“在…之上”、“上面的”等)来容易地描述在附图中示出的一个组件或特征与另一组件或特征的关系。应该理解,空间相对术语是为了包括除了附图中描述的方位之外的在使用或运行中的装置的不同方位。
在这里使用的术语仅用于描述特定实施例,而不是为了限制示例性实施例。这里使用的单数形式也包括复数形式,除非上下文另有清楚的指示。还应该理解,当在本说明中使用术语“包括”时,其表示陈述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件和/或组件存在或添加。
除非另有定义,否则这里使用的所有术语(包括技术和科学术语)具有与示例性实施例所属领域的普通技术人员通常理解的含义相同的含义。还应该理解,除非这里明确定义,否则术语(诸如在常用词典中定义的术语)应被解释为具有与所述术语在相关领域的上下文中的含义一致的含义,而不应被理想化或过于正式地解释。
现在将描述示例性实施例,示例性实施例在附图中示出,其中,相同的标号始终代表相同的部件。
图1是可使用示例性实施例的编程方法执行编程操作的电荷捕获闪速(CTF)存储装置的示意性截面图。CTF存储装置可构成CTF存储器的存储单元。
参照图1,CTF存储装置10可包括基底11和/或形成在基底11上的栅结构20。
掺杂有期望的或预定的导电掺杂剂的第一掺杂区13和第二掺杂区15可形成在基底11上。第一掺杂区13和第二掺杂区15中的一个可用作漏极D,第一掺杂区13和第二掺杂区15中的另一个可用作源极S。
栅结构20可包括形成在基底11上的沟道绝缘层21、形成在沟道绝缘层21上的电荷捕获层23和/或形成在电荷捕获层23上的阻断绝缘层25。控制栅27可形成在阻断绝缘层25上。图1的标号19表示可形成在阻断绝缘层25、电荷捕获层23和/或沟道层21的侧壁上的隔离物(spacer)。
沟道绝缘层21可以是用于隧穿电荷的层和/或可以形成在基底11上,以接触第一掺杂区13和第二掺杂区15。沟道绝缘层21可由隧穿氧化物层(例如,SiO2)、各种高k氧化物或隧穿氧化物层和各种高k氧化物的组合形成。
或者,沟道绝缘层21可由氮化硅(例如,Si3N4)层形成。例如,可形成氮化硅层,从而杂质的密度相对低(例如,氮化硅中的杂质的密度可比得上氧化硅层的杂质的密度)并且与硅的干涉特性更好。
沟道绝缘层21可形成为包括氮化硅层和氧化物层的双层。
沟道绝缘层21可由氧化物或氮化物以单层结构形成,或者可由具有不同能带间隙的材料以多层结构形成。
电荷捕获层23可以是捕获电荷以存储信息的区域。电荷捕获层23可以形成为包括多晶硅、氮化物、高k电介质和纳米点中的一个。
例如,电荷捕获层23可由氮化物(例如Si3N4)或高k氧化物(例如,HfO2、ZrO2、Al2O3、HfSiON、HfON或HfAlO)形成。
电荷捕获层23可包括被不连续地布置为电荷捕获位置的多个纳米点。例如,纳米点可以是纳米晶。
阻断绝缘层25可以防止电荷穿过形成电荷捕获层23的位置向上朝着控制栅27迁移。阻断绝缘层25可由氧化物层形成。
阻断绝缘层25可由SiO2或具有比沟道绝缘层21高的介电常数的高k材料(例如,Si3N4、Al2O3、HfO2、Ta2O5或ZrO2)形成。阻断绝缘层25可形成为多层结构。例如,阻断绝缘层25可包括两层或更多层,例如,由一般绝缘材料(例如,SiO2)形成的绝缘层和由具有比沟道绝缘层21高的介电常数的材料形成的高k电介质层。
控制栅27可由金属层形成。例如,控制栅27可由铝(Al)形成。或者,控制栅27可由金属(例如,Ru或TaN)或者硅化物材料(例如,NiSi)等形成。金属和硅化物材料通常可用于形成半导体存储装置的控制栅。
可执行编程以将电子注入上述CTF存储装置,并在电荷捕获层23的捕获位置捕获电子,从而CTF存储装置具有编程状态的阈值电压。可执行擦除以将空穴注入CTF存储装置,以使空穴与电子再复合(recombine)以擦除电子,从而CTF存储装置具有擦除状态的阈值电压。
相应地,闪速存储装置的存储单元可具有两种状态,例如,编程状态和擦除状态。导通(on)状态可被称为擦除状态,截止(off)状态可被称为编程状态。在导通状态下,闪速存储器单元的阈值电压可降低以在读取期间使用施加到控制栅的电压使电流流入连接到位线的漏极。在截止状态下,闪速存储器单元的阈值电压可增加,以在读取期间使用施加到控制栅的电压禁止电流流入漏极。
示例性实施例的编程方法可被应用于对使用上述CTF存储装置作为存储单元的CTF存储器进行编程。
示例性实施例的编程方法可被应用于对使用包括浮栅和控制栅的浮栅式闪速存储装置作为存储单元的浮栅式闪速存储器进行编程。浮栅式闪速存储装置是公知的,因此这里将省略浮栅式闪速存储装置的详细说明和描述。
图2是作为采用示例性实施例的编程方法的闪速存储器的示例的NAND式闪速存储器的电路图。参照图2,闪速存储器可包括多个单元串。然而,在图2中仅示例性地示出两个单元串30和31。
单元串30和31的每个可包括与相邻存储单元共享源极和漏极的多个存储单元阵列。单元串30和31中的每个的存储单元可具有如图1所示的结构。存储单元的每个可以是上述CTF存储单元和浮栅式闪速存储单元中的一种。
单元串30和31的每个可包括彼此串联的地选择晶体管(GST)、多个存储单元和/或串选择晶体管(SST)。单元串30和31的每个的一端可连接到位线BL,单元串30和31的每个的另一端可连接到共源线(CSL)。GTS可连接到CSL,SST可连接到位线BL。
字线(WL)可连接到多个存储单元的控制栅,与单元串30和31相交,串选择线(SSL)可连接到SST的栅极,和/或地选择线(GSL)可连接到GST的栅极。
在存储单元中编程的数据可根据位线BL的电压而变化。如果位线BL的电压为电源电压Vcc,在存储单元中,可禁止对数据编程。如果位线的电压为地电压0V,则可在存储单元中对数据进行编程。图2示出地电压0V被施加到位线BLn-1以及电源电压VCC被施加到位线BLn的操作状态。
在编程操作中,编程电压Vpgm可被施加到选择的WL,例如,WL WL29。通过电压Vpass可被施加到未选择的WL,例如,WL WL31、WL30、WL28…WL0。从大约16V的基本电压以0.5V的增量逐渐增加的电压可作为编程电压Vpgm被施加和/或大约9V的电压可作为通过电压Vpass被施加。
可在选择的WL WL29上对与被提供地电压0V的位线BLn-1相应的存储单元进行编程。在图2中,存储单元A被编程。
在图3示出根据示例性实施例的对闪速存储装置编程的方法,图4和图5示出在编程期间施加到选择的WL的电压脉冲的示例波形。图4示出根据示例性实施例的具有恒定的幅值并在具有逐渐增加的幅值的编程电压之间被施加三次的校验电压Vref。图5示出具有逐渐减小的幅值并且在逐渐增加的编程电压之间被施加三次的校验电压。
根据示例性实施例的编程方法可包括将编程电压Vpgm施加到选择的WL(例如,WL WL29),对存储单元编程和/或校验编程的存储单元。
根据示例性实施例,可使用如图4和图5所示的通过逐渐增加编程电压的幅值来进行编程的ISPP方法执行所述编程方法。
可随着编程电压的幅值的逐渐增加重复执行编程电压施加操作和校验操作,直到被编程的存储单元(例如,图2的存储单元A)达到设置的阈值电压。
根据示例性实施例的编程方法的校验操作可被如下执行。在校验操作中,可通过施加编程电压Vpgm来将校验电压施加到被编程的存储单元,以校验被编程的存储单元。如果根据校验操作的结果确定被编程的存储单元还没有达到设置的阈值电压,则再次施加校验电压以再次校验被编程的存储单元。达到设置的阈值电压是指阈值电压等于或超过设置的阈值电压。
如上所述,示例性实施例的编程方法可包括在施加编程电压脉冲之后通过多次连续施加校验电压脉冲执行的校验操作。
每执行一次编程电压施加操作所执行的校验操作的最大次数可以为n(其中,n为等于或大于2的数)次。如果在直到n次的校验操作期间确定被编程的存储单元已经达到设置的阈值电压,则对存储单元的编程结束。如果通过n次校验操作,确定被编程的存储单元还没有达到设置的阈值电压,则可再次施加增加了ΔVpgm的编程电压以重复编程和校验操作。
可以在编程电压逐渐增加的情况下,重复包括编程电压施加操作和多个校验操作的一对操作,直到选择的存储单元达到设置的阈值电压。
在图4和图5中,示例性的16V的基本编程电压逐渐地增加0.5V来执行编程操作。
如果应用ISPP方法,则存储单元通过一次编程电压施加操作就可达到设置的阈值电压的可能性相对较小。因此,包括施加编程电压以对存储单元进行编程并连续地向被编程的存储单元施加校验电压至少两次以校验被编程的存储单元的处理可在对于每个存储单元的编程方案中执行至少一次或多次。
现在将参照图3更详细地描述根据示例性实施例的编程方法的编程处理。
在操作S10,编程模式可开始。在操作S20,数据可被输入以选择特定WL,例如,WL WL29。
在操作S30,编程电压Vpgm可被施加到选择的WL。与连接到选择的WL的位线相应并被施加地电压的存储单元A可被编程。
校验电压可被施加到选择的WL,以校验被编程的存储单元A。
例如,在操作S40,第一校验电压可被施加到被编程的存储单元A,以校验被编程的存储单元A。在操作S50,可确定被编程的存储单元A是否已经达到设置的阈值电压。
如果在操作S50确定被编程的存储单元A已经达到设置的阈值电压,并因此被编程为期望的或预定的层(level),则在操作S110,对存储单元A的编程可结束。如果在操作S50确定被编程的存储单元A还没有达到设置的阈值电压,则在操作S60,第二校验电压可被施加,以再次校验被编程的存储单元A。在操作S70,可确定被编程的存储单元A是否已经达到设置的阈值电压。
如果在操作S70确定被编程的存储单元A已经达到设置的阈值电压,则在操作S110,可结束对被编程的存储单元A的编程。
如果在操作S70确定被编程的存储单元A还没有达到设置的阈值电压,则可再次施加校验电压以再次校验被编程的存储单元A。
如果没有校验操作确定被编程的存储单元A已经达到设置的阈值电压,则执行该处理直到使用第n校验电压的校验操作。在操作S80,第n校验电压被施加以再次校验被编程的存储单元A。在操作S90,确定被编程的存储单元A是否已经达到设置的阈值电压。
如果在操作S90确定被编程的存储单元A还没有达到设置的阈值电压,则在操作S100,可将编程电压Vpgm增加ΔVpgm。在操作S30,增加的编程电压Vpgm可被施加到选择的WL以再次对存储单元A进行编程。
在图3中,如果校验操作被设置为每执行一次编程电压施加操作仅被执行两次,则校验处理可仅被执行到使用第二校验电压的校验操作。在校验操作被设置为每执行一次编程电压施加操作仅被执行两次的情况下,第n校验电压可等于第二校验电压。如果根据使用第二校验电压的校验操作的结果确定存储单元A还没有达到设置的阈值电压,则增大的编程电压Vpgm可被施加以再次对存储单元A进行编程。
如上所述,如果通过顺序地施加校验电压确定存储单元A已经达到设置的阈值电压,则对存储单元A的编程可结束。如果确定存储单元A还没有达到设置的阈值电压,则再次施加校验电压以再次校验存储单元A的处理可被执行到n(其中,n为等于或大于2的数)次。
例如,在为了执行另一编程操作将编程电压增加ΔVpgm之前,可通过以期望或预定的时间间隔连续施加第一至第n校验电压来连续地执行多次校验操作。连续的校验操作之间的期望或预定的间隔可以在大约1μs和100μs之间的范围内。
如果使用第n校验电压的校验操作确定被编程的存储单元A还没有达到设置的阈值电压,则编程电压Vpgm可被增加ΔVpgm,并被再次施加到所选择的WL以再次对存储单元A进行编程。可在存储单元A的编程之后执行上述校验操作。
如果在n次校验操作的任何一次期间确定被编程的存储单元A已经达到设置的阈值电压,则在操作S110,对存储单元A的编程可结束。
如上所述,在根据示例性实施例的编程方法中,校验电压可被连续施加到被编程的存储单元以多次执行校验操作。
为了与示例性实施例进行对比,图6示出在使用普通ISPP方法执行编程的情况下,施加到选择的WL的电压脉冲的示例波形。参照图6,在编程电压被施加以对存储单元进行编程之后,校验电压Vver被施加以校验存储单元。如果确定存储单元还没有达到期望或预定的阈值电压,则编程电压被增加期望或预定的幅值并被再次施加,以对存储单元再次编程并再次校验。如上所述,在普通的ISPP方法中,在逐渐增加编程电压的情况下,每执行一次编程电压施加操作就执行校验操作一次,直到存储单元被编程为达到设置的阈值电压。
根据示例性实施例的编程方法,在逐渐增加编程电压的情况下,每执行一次编程电压施加操作,可连续地执行至少两次或更多次校验操作,直到存储单元达到设置的阈值电压。
根据示例性实施例,每执行一次编程施加操作,校验电压脉冲可被连续地施加两次或三次,以连续地执行校验操作两次、三次或更多次。
在图4和图5中,每执行一次编程电压施加操作,校验电压被连续地施加三次,以连续地执行校验操作三次。
如上所述,根据示例性实施例的编程方法,每执行一次编程电压施加操作,可连续地执行校验操作两次或更多次。在校验操作的多次连续执行期间施加的校验电压的幅值可等于例如图4所示的恒定幅值,或者可如图5所示的连续减小。
如图4所示,如果以相同幅值连续施加校验电压以通过两次或多次重复的校验来连续地执行校验操作多次,则具有在施加编程电压脉冲之后随时间增加的阈值电压并且将会通过校验的存储单元不需要被再次编程。因此,存储单元可以不被过编程。相应地,编程阈值电压的偏移可被调整地更窄。
如图5所示,如果校验操作被连续地执行多次,则校验电压可以逐渐地减小相同的幅值。例如,校验电压可以逐渐地减小大约0.05V和0.35V之间的范围内(例如在大约0.1V和0.2V之间的范围内)的期望或预定的(例如,相同的)幅值。例如,第一和第n校验电压之差可以小于在一次编程操作期间阈值电压的增加。
如果校验电压的幅值如上所述逐渐地减小,则其阈值电压比被最优地编程的存储单元的最优的(或设置)的阈值电压低的存储单元可通过校验操作。
例如,如果被顺序和连续地施加并逐渐地减小的第一至第n校验电压中的第一校验电压被设置为等于设置的阈值电压,则第二至第n校验电压可小于设置的阈值电压,其中,n为等于或大于2的数。
如果在使用第二至第n校验电压的校验操作期间确定存储单元通过校验,则存储单元可具有小于设置的阈值电压的阈值电压。
例如,如果设置的阈值电压为3V并且校验操作被设置为使用逐渐减小的校验电压连续地执行两次,则被编程的存储单元可在大于大约2.65V和2.95之间的范围的阈值电压通过校验操作。
因此,如果校验电压逐渐地减小,则存储单元的阈值电压可相对轻微地损失(sacrifice)。然而,如果使用将编程电压逐渐地增加0.5V的ISPP方法执行编程,则每次编程操作阈值电压可更显著地增加例如大约0.2V到0.3V,并且最大达到大约0.5V。因此,由过编程导致的阈值电压的偏移的增加可进一步被提高。
因此,如果第一至第n校验电压被连续地施加以连续地执行校验操作多次,则编程阈值电压的偏移可被调整得更窄,并且存储单元可以不被过编程。
如果如图4所示校验电压以相同幅值被连续地施加,以连续地执行校验操作多次,则校验电压的幅值可稍低于期望的或预定的阈值电压(例如,最优的阈值电压)的幅值。在校验电压被以相同幅值连续地施加的情况下,设置的阈值电压与期望或预定的阈值电压之差可小于在一次编程操作期间阈值电压的增加。
例如,与期望或预定的阈值电压相比,设置的阈值电压可低大约0.05V至0.35V,或者例如低大约0.1V至0.2V。如果期望或预定的阈值电压为大约3V,则设置的阈值电压可以是在大约2.65V和2.95V之间的范围内的任何值。
即使设置的阈值电压在大约2.65V和2.95V之间的范围内,存储单元的阈值电压也可能轻微地损失。然而,通过再次执行编程操作存储单元可不被过编程,并且编程阈值电压的偏移可被调整地更窄。
现在将使用根据示例性实施例的编程方法的存储单元的编程方案和阈值电压的偏移与使用利用普通ISPP方法的传统编程方法的存储单元的编程方案和阈值电压的偏移进行比较。
图7是示出关于图6的电压脉冲的示例波形,在电荷捕获闪速(CTF)存储单元的编程期间阈值电压的变化的示例曲线图。图8A和图8B是分别示出使用传统编程方法的存储单元的编程方案和阈值电压的偏移的示例曲线图。图9A和图9B是分别示出在使用示例性实施例的编程方法的存储单元的编程方案和阈值电压的偏移的示例曲线图。
参照图6和图7,如果使用普通ISPP方法执行编程,则在从16V以0.5V的增量逐渐地增加编程电压的情况下,交替地重复一次编程电压施加操作和一次校验操作。
在上述编程期间,CTF存储单元还可具有在施加编程脉冲后随时间增加的瞬时阈值电压。例如,如果使用17V的编程脉冲执行编程,则可确定阈值电压低于校验电压Vref。然而,阈值电压可随时间增加并超过校验电压Vref。
因此,校验操作可确定编程已经失败,如图8A所示。因此,编程脉冲被再次施加。结果,存储单元可能被过编程。因此,如图8B所示,与阈值电压不随时间变化的情况相比,存储单元的阈值电压的偏移增加。
如果使用普通ISPP方法执行编程,则被充分编程的存储单元在校验期间可能由于瞬时阈值电压而确定为编程失败。因此,存在被充分编程的存储单元被额外地编程的可能性。结果,阈值电压更偏移的可能性增加。
如果使用示例性实施例的编程方法,则在使用如图9A所示的第一校验电压Vref1的脉冲的校验操作期间,可确定存储单元编程失败。然而,如果在期望的或者预定的时间过去之后,使用比第一校验电压Vref1的脉冲低的第二校验电压Vref2的脉冲来重复校验操作,则存储单元可被确定为编程通过。因此,不需要执行另一编程操作。因此,可以在很大程度上减小存储单元的阈值电压的偏移。例如,如图9B所示,存储单元的阈值电压的偏移可更相似于不随时间改变的阈值电压的偏移。
在图9A中,使用比第一校验电压Vref1低的第二校验电压Vref2来重复校验操作。然而,可使用与第一校验电压Vref1相等的第二校验电压Vref2来重复校验操作。即使在第二校验电压Vref2等于第一校验电压Vref1的情况下,也可在很大程度上减小存储单元的阈值电压的偏移。例如,存储单元的阈值电压的偏移可更相似于不随时间改变的阈值电压的偏移。
已经描述了只要阈值电压没有达到设置的阈值电压,就在一次编程之后连续至少两次或更多次施加校验电压脉冲以执行校验的处理。如果如图10所示,在编程电压逐渐增加的情况下重复编程电压施加操作和校验操作,则只有在存储单元的阈值电压等于或大于期望的或预定的值时,才可有选择地使用所述处理。
例如,使用ISPP方法,在初始编程期间,存储单元的编程的阈值电压可能没有达到设置的阈值电压。如果存储单元的编程的阈值电压还没有达到设置的阈值电压,则可施加增加了一级的编程电压来重新执行编程操作,而不用至少两次或更多的校验操作的连续执行。在这种情况下,不会发生过编程。只有在存储单元的阈值电压等于或大于期望的或者预定的值时,才可至少两次或更多次连续地执行校验操作。因此,可有效减少全部编程时间。
图10是根据本发明另一示例性实施例的编程方法的编程操作的流程图。图11和图12示出在使用根据示例性实施例的图10的编程方法进行编程期间施加到选择的WL的电压脉冲的示例性波形。将图10至图12与图3至图5相比,图10的编程方法与图3的编程方法的不同之处在于:每执行一次编程电压施加操作可执行一次校验操作,直至存储单元达到等于或大于期望的或者预定的值的阈值电压。然而,在存储单元的阈值电压等于或大于期望的或者预定的值之后的编程期间,图10的编程方法实质上与图3的编程方法相同。
参照图10,根据另一示例性实施例的编程方法可包括施加编程电压以对存储单元进行编程和对被编程的存储单元进行校验的操作。可在施加编程电压之后连续多次执行校验操作。
另一示例性实施例的编程方法可包括第一编程操作200和第二编程操作300。第一编程操作200可包括使用相对低的校验电压的校验操作,第二编程操作300可包括使用比所述低校验电压高的校验电压的校验操作,并且所述第二编程操作300可在第一编程操作200之后被执行。
可执行第一编程操作200直到使用低校验电压的校验操作通过。第二编程操作300可在已经通过了使用低校验电压的校验操作的存储单元上执行。
在第一编程操作200中,一次编程电压施加操作和一次校验操作可成对地被重复执行。
在第二编程操作300中,可连续多次执行校验操作。第二编程操作300可对应于参照图3所示的示例性实施例的编程方法。在第二编程操作300中可使用比所述低校验电压高的校验电压。
如图11和图12所示,可使用在编程电压逐渐增加的情况下执行编程的ISP方法来执行另一示例性实施例的编程方法。
例如,在第一编程操作200中,一次编程电压施加操作和一次校验操作可被成对地在编程电压逐渐增加的情况下重复执行,直到将被编程的存储单元通过使用低校验电压的校验操作。
第二编程操作300可在已经通过使用低校验电压的校验操作的存储单元上执行。例如,在编程电压逐渐增加的情况下,一次编程电压施加操作和多个使用高校验电压的连续校验操作可被成对地重复执行。
低校验电压和高校验电压之间的差可近似等于或大于由至少一个一次编程电压施加操作所产生的阈值电压的增加。低校验电压可以比高校验电压低大约0.2V到1.0V。
例如,在第二编程操作300中使用的高校验电压可以是大约3V。在高校验电压大约是3V的情况下,低校验电压可以是在大约2.0V和2.8V之间的范围内的任意值,比高校验电压低大约0.2V到1.0V。如果在执行多个连续校验操作期间所施加的高校验电压的幅值逐渐减小,则在第二编程操作300中使用的高校验电压可从3V逐渐减小。
图11示出在另一示例性实施例的编程方法中使用的电压的示例性波形。在第一编程操作200中,在编程电压逐渐增加的情况下,一次编程电压施加操作和一次使用低校验电压的校验操作成对地被重复执行。在第二编程操作300中,在编程电压逐渐增加的情况下,一次编程电压施加操作和多个使用具有相同幅值的高校验电压的连续校验操作成对地被重复执行。
图12示出根据另一实施例的在图10所示的编程方法中使用的电压的示例性波形。在第一编程操作200中,在编程电压逐渐增加的情况下,一次编程电压施加操作和一次使用低校验电压的校验操作成对地被重复执行。在第二编程操作300中,在编程电压逐渐增加的情况下,一次编程电压施加操作和多个使用逐渐降低的高校验电压的连续校验操作成对地被重复执行。
在图11和图12中,基本编程电压是16V,并且编程电压按0.5V的增量逐渐增加以执行编程操作。在第一编程操作200中,一次编程电压施加操作和一次校验操作成对地被重复两次。在第二编程操作300中,每执行一次编程电压施加操作就连续三次执行校验操作。在图11中,L-Vref表示低校验电压,H-Vref表示具有相同幅值的高校验电压。在图12中,L-Vref表示低校验电压,H-Vref1、H-Vref2和H-Vref3表示逐渐降低的高校验电压。高校验电压中最低的高校验电压,例如H-Vref3可以高于低校验电压L-Vref。
现在将参照图10更详细地描述使用另一示例性实施例的编程方法执行编程的处理。
在操作S210,可开始编程模式。在操作S220,可输入数据以选择特定的WL,例如,WL WL29。可执行第一编程操作200。
第一编程操作200可包括操作S230,其中,在操作S230中,可将编程电压Vpgm施加到选择的WL以对选择的WL进行编程。可对与被提供地电压并被连接到选择的WL的位线相应的存储单元A进行编程。
可对存储单元A执行一次编程电压施加操作。在操作S240,低校验电压可被施加到选择的WL以校验被编程的存储单元A。在操作S250,确定被编程的存储单元A是否已经通过使用低校验电压的校验操作。
如果在操作S250中,被编程的存储单元A被确定为其阈值电压不等于或大于期望的或者预定的值,因此,被编程的存储单元A没有通过使用低校验电压的校验操作,则在操作S260,可将编程电压Vpgm增加ΔVpgm。在操作S230,增加的编程电压可被施加到选择的WL以重新对存储单元A进行编程。在操作S240,低校验电压可被施加以校验存储单元A。在操作S250,确定存储单元A是否已经通过使用低校验电压的校验操作。
在编程电压逐渐增加的情况下对存储单元A进行编程并使用低校验电压来校验存储单元A的处理被重复执行,直到存储单元A的阈值电压等于或大于期望的或者预定的值,因此,通过使用低阈值电压的校验操作。
在第一编程操作200中,通过每进行一次编程电压施加操作就使用低校验电压来对存储单元A执行一次校验操作。
如果在操作S250,被编程的存储单元A被确定为已经通过使用低校验电压的校验操作,则可执行第二编程操作300。可在第二编程操作S300中执行与参照图3描述的示例性实施例的编程方法相应的处理。
例如,在操作S330中,编程电压Vpgm可被施加到选择的WL,例如,WL WL29,以对已经通过使用低校验电压的校验操作的存储单元A重新编程。如果使用ISPP方法,则与在第一编程操作200中最后施加的编程电压相比,在第二编程操作300中首先施加的编程电压可以是增加了ΔVpgm的电压。
在对存储单元A进行编程之后,高校验电压可以被施加到选择的WL以如下所述对被编程的存储单元A进行校验。
在操作S340,第一高校验电压可以被施加到被编程的存储单元A以对被编程的存储单元A进行校验。在操作S350,确定被编程的存储单元A是否已经达到设置的阈值电压并且是否已经被编程,即,确定被编程的存储单元是否已经通过校验操作。
如果在操作S350,存储单元A被确定为已经达到设置的阈值电压,因此存储单元A被编程到期望的或者预定的层,则在操作S410,可结束对存储单元A的编程。如果在操作S350,被编程的存储单元A被确定为没有达到设置的阈值电压,则在操作S360,可施加第二高校验电压以重新校验被编程的存储单元A。在操作S370,确定被编程的存储单元A是否已经达到设置的阈值电压。
如果在操作S370,根据使用第二高校验电压的校验操作的结果确定存储单元A已经达到设置的阈值电压,则在操作S410,可结束对存储单元A的编程。
如果在操作S370,根据使用第二高校验电压的校验操作的结果确定存储单元A还没有达到设置的阈值电压,则可对被编程的存储单元A进行重新校验。
如果在任何校验操作中,确定存储单元A没有达到设置的阈值电压,则可执行对存储单元A进行校验的操作直至使用第n高校验电压的校验操作。在操作S380,可施加第n高校验电压以重新校验被编程的存储单元A。在操作S390,确定被编程的存储单元A是否已经达到设置的阈值电压。
如果在操作S390,根据使用第n高校验电压的校验操作的结果确定被编程的存储单元A还没有达到设置的阈值电压,则在操作S400,可将编程电压Vpgm增加ΔVpgm。在操作S330,增加了ΔVpgm的编程电压可被施加到选择的WL以对存储单元A重新编程。
如果将使用高校验电压的校验操作设置为每执行一次编程电压施加操作就执行至少两次,则可执行图10的编程方法直至使用第二高校验电压的校验操作。在校验操作只被执行两次的情况下,第n高校验电压可等于第二高校验电压。如果根据使用第二校验电压的校验操作的结果确定存储单元A没有达到设置的阈值电压,则可施加增加了ΔVpgm的编程电压以对存储单元A重新编程。
如上所述,如果根据顺序施加高校验电压执行的校验操作的结果确定存储单元A已经达到设置的阈值电压,则可结束对存储单元A的编程。如果确定存储单元A没有达到设置的阈值电压,则可执行重新施加高校验电压以对存储单元A进行校验的处理直至n(其中,n是等于或大于“2”的数)次。
例如,在编程电压增加ΔVpgm以执行另一编程操作之前,可以以期望的或预定的间隔通过顺序施加第一到第n校验电压来连续多次执行校验操作。期望的或者预定的间隔可在大约1μs和100μs之间的范围内。
如果根据使用第n校验电压的校验操作的结果被编程的存储单元A没有达到设置的阈值电压,则编程电压Vpgm可被增加ΔVpgm,并被施加到选择的WL以如上所述重复第二编程操作300。
如果在n次校验操作期间中的任何一次中确定存储单元A已经达到设置的阈值电压,则在操作S410,可结束对存储单元A进行编程的操作。
在另一示例性实施例的编程方法中,第一到第n高校验电压可如图11所示具有相同的幅值或者可如图12所示具有逐渐降低的幅值。
示例性实施例的编程方法的第二编程操作300可实质上对应于先前参照图3到图5、图7、图9A和图9B描述的示例性实施例的编程方法。因此,将不在这里重复地描述使用第二编程操作300的编程技术、使用第二编程操作300的存储单元的编程方案和阈值电压的偏移。
根据示例性实施例的编程方法已经被描述为使用ISPP方法从16V按0.5V的增量逐渐增加编程电压,以重复执行编程电压施加操作和校验操作。然而,示例性实施例并不限于此。例如,开始编程电压可具有不是16V的另一值,并且/或编程电压的逐渐增加可以是另一值,例如,0.3V而非0.5V。
可应用根据一次编程电压施加操作之后执行多次校验操作的示例性实施例的编程方法以执行多层单元(MLC)的编程。也就是说,下述编程操作可被应用到MLC:每执行一次编程电压施加操作就执行一次使用低校验电压的校验操作的第一编程操作、每执行一次编程电压施加操作就执行多次使用高校验电压的校验操作的第二编程操作、或者已经参照图3到图5描述的每执行一次编程电压施加操作就执行多次校验操作的编程操作,其中,已经参照图10到图12描述了第一编程操作和第二编程操作。
将示例性地描述根据示例性实施例的在执行一次编程电压施加操作之后执行多次校验操作的MLC编程方法被应用到4层单元的情况。应用根据示例性实施例的编程方法的MLC可以是浮栅式存储单元、电荷捕获型存储单元、NAND或NOR类型闪速存储器的存储单元中的任何一种存储单元。
存储器中的4层单元可具有作为编程状态的“00”状态、“01”状态或“10”状态,并且可具有作为擦除状态的“11”状态。“11”状态可被被认为是第一编程状态。在这种情况下,“01”状态、“00”状态和“10”状态可按阈值电压幅值的顺序被分别表示为第二、第三和第四编程状态。或者,“11”状态可被表示为擦除状态,“01”、“00”和“10”状态可按阈值电压幅值的顺序被分别表示为第一、第二和第三编程状态。这里,可按照阈值电压幅值改变“01”、“00”和“10”状态的顺序。为了方便,“11”状态将被表示为擦除状态,“01”、“00”和“10”状态将被表示为下面描述的编程状态。
可通过对擦除状态的存储单元执行第一编程操作从而擦除状态的存储单元被编程为中间编程状态,并通过对中间编程状态的存储单元执行第二编程操作从而中间编程状态的存储单元被编程为最终编程状态,来执行根据本发明示例性实施例的MLC编程方法。最终编程状态之后的存储单元可包括三层或更多的层。图13A和图13B是解释根据本发明示例性实施例的MLC编程方法的示意性示图。图14A和图14B是解释根据本发明另一示例性实施例的MLC编程方法的示意性示图。
参照图13A和图13B,第一编程操作被应用到擦除状态的存储单元,从而擦除状态的存储单元被编程为作为哑状态的中间状态的存储单元。接下来,第二编程操作被应用到擦除状态的存储单元或者哑状态的存储单元,从而擦除状态的存储单元或哑状态的存储单元被编程为作为最终编程状态的预定的编程状态的存储单元。
在基于参照图10到图12描述的第一编程操作的第一编程操作中,在编程电压的幅值逐渐增加的情况下,重复执行包括一次编程电压施加操作和一次使用低校验电压的校验操作的一对操作,直至通过使用低校验电压的校验。在基于参照图3到图5描述的编程操作或者参照图10到图12描述的第二编程操作的第二编程操作中,在编程电压的幅值逐渐增加的情况下,重复执行包括一次编程电压施加操作和多次使用高校验电压的连续校验操作的一对操作,直至通过使用高校验电压的校验。如上所述,当执行多个连续的校验操作时所使用的高校验电压的幅值可以相同或者可以逐渐降低。如上所述,高校验电压可以比低校验电压高预定幅值。
与通过将第二编程操作应用到擦除状态的存储单元而获得的编程状态相比,通过将第二编程操作应用到哑状态的存储单元而获得的编程状态可以具有较高的最小阈值电压。
如果存储单元是4层单元,则擦除状态可以是“11”状态,编程状态可以是“00”、“01”和“10”状态中的至少一个。
例如,如果第一编程操作被应用到作为擦除状态的“11”状态的存储单元,则可对例如最低有效位(LSB)进行编程,因此可以获得哑状态的X0状态。这里,哑状态是指还没有用作编程状态的状态,哑状态是通过使用第二编程操作而获得编程状态的中间状态。
“X0”状态可对应于作为存储单元(4层单元)中的第二编程状态的“00”状态。也就是说,如将描述的,可通过移动“X0”状态的最小阈值电压,并减小阈值电压分布范围来获得“00”状态。由于通过每执行一次编程电压施加操作就执行一次校验操作来获得“X0”状态,所以“X0”状态比期望形成的编程状态具有更宽的阈值电压分布。由于“X0”状态不被用作最终编程状态,因此这种宽的阈值电压分布不会引起任何问题。
由于“X0”状态的宽的阈值电压分布不会引起任何问题,所以当“11”状态的存储单元被编程到“X0”状态时编程电压增量ΔV’pgm可以是相对大的值以减少编程时间。
为了将“11”状态编程为“01”状态、“00”状态和“10”状态,“11”状态的存储单元被首先编程以获得如上所述的“X0”状态,然后,如图13B所示对“11”状态的存储单元和作为哑状态的“X0”状态的存储单元的最高有效位(MSB)进行编程。
因此,存储单元可以从“11”状态被编程到“01”状态,从“X0”状态被编程到“00”状态和“10”状态。
通过使用每执行一次编程电压施加操作就执行多次校验操作的第二编程操作,存储单元可以从“11”状态被编程到“01”状态,从“X0”状态被编程到“00”状态和“10”状态。
由于多个校验操作防止过编程,所以通过应用每执行一次编程电压施加操作就执行多次校验操作的第二编程操作获得的“00”状态可以比作为哑状态的“X0”状态具有更窄的阈值电压分布。此外,由于使用了高校验电压,所以“00”状态的最小阈值电压可以比作为使用低校验电压的哑状态的“X0”状态的最小阈值电压高,“00”状态的阈值电压分布范围可以被压缩得比作为哑状态的“X0”状态的阈值电压分布范围窄。
根据按照示例性实施例的MLC编程方法,对于将存储单元从作为擦除状态的“11”状态编程到作为哑状态的“X0”状态和从“X0”状态编程到“00”状态的操作,可使用参照图10到图12所解释的编程操作。
此外,对于从作为擦除状态的“11”状态编程到作为哑状态的“X0”状态的操作,可使用参照图10到图12所解释的第一编程操作。此外,对于将存储单元从作为擦除状态的“11”状态和作为哑状态的“X0”状态编程到“01”状态和“10”状态的操作,可使用参照图3到图5所解释的编程操作或参照图10到图12所解释的第二编程操作。
通过防止过编程,通过应用每执行一次编程电压施加操作就执行多次校验操作的编程操作从“11”状态获得的“01”状态和从“X0”状态获得的“10”状态中的每一个的阈值电压分布范围可被压缩得比“11”状态或“X0”状态的阈值电压分布范围窄。
为了进一步减小阈值电压分布范围,在使用第二编程操作将存储单元从“11”状态编程到“01”状态以及从“X0”状态编程到“00”状态时的编程电压增量ΔVpgm可比使用第一编程操作将存储单元从“11”状态编程到作为哑状态的“X0”状态时的编程电压增量ΔV’pgm低。
如上所述,由于第一编程操作使用编程电压脉冲和作为低校验电压的单校验脉冲,所以“X0”状态具有相对宽的阈值电压分布。
然而,由于第二编程操作使用编程电压脉冲和多个作为高校验电压的校验脉冲,所以防止了过编程,并且“00”状态的阈值电压分布比“X0”状态的阈值电压分布窄。当高校验电压大于低校验电压时,“00”状态的最小阈值电压被移动从而比“X0”状态的最小阈值电压高,“00”状态的阈值电压分布范围比“X0”状态的阈值电压范围窄。
此外,因为防止了过编程,所以通过使用第二编程操作从“11”状态获得的“01”状态和通过使用第二编程操作从“X0”状态获得的“10”状态中的每一个的阈值电压分布范围比“11”状态或“X0”状态的阈值电压分布范围窄。
因此,根据在一次编程电压施加操作之后执行多次校验操作的示例性实施例的编程方法可使MLC编程中的每个编程状态的阈值电压分布范围变窄,并可防止过编程。
参照图14A和图14B,第一编程操作被应用到擦除状态的存储单元,从而擦除状态的编程单元被编程到期望的编程状态的存储单元。接下来,第二编程操作被应用到期望的编程状态的存储单元,从而期望的编程状态的存储单元被编程到最终编程状态的存储单元,以增加期望的编程状态的最小阈值电压,并减小阈值电压分布范围。通过执行第一编程操作获得的期望的编程状态可以是中间编程状态,并且可通过执行第二编程操作来获得最终编程状态,以增加最小阈值电压并减小阈值电压分布范围。
在基于参照图10到图12描述的第一编程操作的第一编程操作中,在编程电压的幅值逐渐增加的情况下,包括一次编程电压施加操作和一次使用低校验电压的校验操作的一对操作被重复执行,直至通过使用低校验电压的校验。在基于参照图3到图5描述的编程操作和参照图10到图12描述的第二编程操作的第二编程操作中,在编程电压的幅值逐渐增加的情况下,重复执行包括一次编程电压施加操作和多次连续的使用高校验电压的校验操作的一对操作,直到使用高校验电压的校验通过。在执行多次连续的校验操作时所使用高校验电压的幅值可以相等,或者可以如上所述地逐渐减小。如上所述,高校验电压可以比低校验电压大预定的幅值。
参照图14A,当存储单元是4层单元时,第一编程操作被应用到“11”状态的存储单元,从而“11”状态的存储单元被首先编程到“01”状态、“00”状态或“10”状态。接下来,参照图14B,第二编程操作被应用到被首先编程为“01”状态、“00”状态或“10”状态的存储单元,从而增加“01”状态、“00”状态或“10”状态的最小阈值电压,并减小“01”状态、“00”状态或“10”状态的阈值电压分布范围。
因此,由于包括第一编程操作和第二编程操作的MLC编程方法在存储单元的阈值电压远离设置的阈值电压时每执行一次编程电压施加操作就执行一次校验操作,而在存储单元的阈值电压接近于设置的阈值电压时每执行一次编程电压施加操作就执行多次校验操作,所以可减少全部的编程时间,可防止过编程,并且可减小每个编程状态的阈值电压分布范围。
在根据另一示例性实施例的MLC编程方法中,通过在编程电压逐渐增加的情况下,每执行一次编程电压施加操作就执行一次校验操作,直到使用比在第一编程操作中使用的低校验电压低的校验电压的校验操作通过,擦除状态的存储单元可被首先编程到预定的编程状态(中间编程状态),然后通过顺序地执行第一编程操作和第二编程操作,可将预定的编程状态的存储单元编程到最终编程状态,以增加预定的编程状态的最小阈值电压并减小阈值电压分布范围。
NAND闪速存储器被划分为其中存储单元可被同时擦除的块,每个块包括多个存储单元阵列。例如,NAND闪速存储器可被划分为1024块,1024块中的每一块可包括8512个存储单元阵列。存储单元阵列被划分为偶数阵列和奇数阵列,偶数阵列和奇数阵列连接到位线。在读取和编程操作中,可同时选择连接到相同字线和相同类型的位线(例如,偶数位线或奇数位线)的存储单元以进行读取和编程。同时读取或编程的数据形成逻辑页。例如,如果一块包括n个字线,则因为n个字线中的每个字线可包括偶数和奇数页,所以一块可存储至少2n个逻辑页。
块中的存储单元可具有1到4个相邻存储单元。在相邻的4个存储单元中,两个可被安排在相同的NAND串中,而其余两个可被安排在相邻的NAND串中。为了减小相邻存储单元之间的栅极耦合效应,对特定存储单元的第一页进行编程,对与所述特定存储单元相邻的存储单元的第一页进行编程,然后对所述特定存储单元的第二页进行编程。用于存储2比特数据的存储单元存储2个逻辑页中的数据。
当使用图10到图12的编程方法将这种NAND闪速存储器编程到单层单元或者使用图13A到图14B的MLC编程方法将这种NAND闪速存储器编程到MLC时,可如下面所述对相同NAND串中的存储单元进行编程以减小相邻存储单元之间的栅极耦合效应。
图15示出在具有多个NAND串的块中的一个NAND串的一部分。在图15中,5个存储单元被安排在一个NAND串中。然而,每个NAND串可包括多个存储单元。
在相同NAND串中有两个存储单元与特定存储单元400相邻。
可以按下面的顺序对相同NAND串中的存储单元进行编程以减小相邻存储单元之间的栅极耦合效应。
通过使用第一编程操作对特定存储单元400进行编程,通过使用第一编程操作对与特定存储单元400相邻的存储单元402进行编程,然后,通过使用第二编程操作对特定存储单元400进行编程。接下来,通过使用第一编程操作对与存储单元402相邻的且与特定存储单元400相对的存储单元406进行编程,然后通过使用第二编程操作对存储单元402进行编程。这里,当存储单元被编程到MLC时,第二编程操作可只包括参照图13A到图14B所述的每执行一次编程电压施加操作就执行多次校验操作的操作,或者包括每执行一次编程电压施加操作就执行一次校验操作的操作和每执行一次编程电压施加操作就执行多次校验操作的操作。
表1显示对相同NAND串中安排的存储单元进行编程的顺序。
表1
当以上述顺序对存储单元进行编程时,可防止在执行第二编程操作之后已经十分窄的存储单元的阈值电压范围在对相邻存储单元进行编程时再次加宽。因此,可保持通过至少使用第一编程操作和随后的第二编程操作而获得的窄的阈值电压分布。
如上所述,根据示例性实施例的对闪速存储装置进行编程的方法使用每执行一次编程电压施加操作就执行连续多次校验操作的处理。因此,可不会因在一般的ISPP方法中可能发生的校验差错而对闪速存储单元进行过编程。因此,可更有效地减小编程状态的阈值电压的偏移。
因此,如果使用示例性实施例的编程方法,则可减小分别与记录状态相应的单元的阈值电压的偏移。因此,在多层单元操作中,可单独识别记录状态。
尽管在说明书和附图中已经显示和描述了示例性实施例,但是本领域的技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对示出和/或描述的示例性实施例进行改变。
Claims (13)
1.一种对存储装置进行编程的方法,所述方法包括:
执行编程电压施加操作;
执行校验操作,
其中,在编程电压施加操作之后连续地执行多次校验操作,
其中,连续执行多次校验操作时使用的校验电压的幅值相同。
2.如权利要求1所述的方法,其中,在逐渐地增加编程电压的幅值的情况下,重复执行包括一次电压施加操作和多次校验操作的一对操作,直到存储单元达到设置的阈值电压。
3.如权利要求1所述的方法,其中,存储单元是浮栅式存储单元和电荷捕获式存储单元之一。
4.如权利要求1所述的方法,其中,以一定的间隔执行多次校验操作。
5.如权利要求4所述的方法,其中,所述一定的间隔在1μs和100μs之间的范围内。
6.一种对存储装置进行编程的方法,所述方法包括:
执行编程电压施加操作;
执行校验操作,
其中,在编程电压施加操作之后连续地执行多次校验操作,
其中,连续执行多次校验操作时使用的校验电压的幅值连续地减小。
7.如权利要求6所述的方法,其中,校验电压逐渐地减小相同的幅值。
8.如权利要求7所述的方法,其中,校验电压逐渐地减小0.05V至0.35V。
9.如权利要求6所述的方法,其中,校验电压逐渐地减小0.05V至0.35V。
10.如权利要求6所述的方法,其中,存储单元是浮栅式存储单元和电荷捕获式存储单元之一。
11.如权利要求6所述的方法,其中,以一定的间隔执行多次校验操作。
12.如权利要求11所述的方法,其中,所述一定的间隔在1μs和100μs之间的范围内。
13.如权利要求6所述的方法,其中,在逐渐地增加编程电压的幅值的情况下,重复执行包括一次电压施加操作和多次校验操作的一对操作,直到存储单元达到设置的阈值电压。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0060052 | 2007-06-19 | ||
KR20070060052 | 2007-06-19 | ||
KR1020080045520A KR101263818B1 (ko) | 2007-06-19 | 2008-05-16 | 플래시 메모리 소자의 프로그램 방법 |
KR10-2008-0045520 | 2008-05-16 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810125996.3A Division CN101329915B (zh) | 2007-06-19 | 2008-06-19 | 对存储装置进行编程的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366818A true CN103366818A (zh) | 2013-10-23 |
CN103366818B CN103366818B (zh) | 2016-06-22 |
Family
ID=40205659
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810125996.3A Active CN101329915B (zh) | 2007-06-19 | 2008-06-19 | 对存储装置进行编程的方法 |
CN201310277165.9A Active CN103366818B (zh) | 2007-06-19 | 2008-06-19 | 对存储装置进行编程的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810125996.3A Active CN101329915B (zh) | 2007-06-19 | 2008-06-19 | 对存储装置进行编程的方法 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101263818B1 (zh) |
CN (2) | CN101329915B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106486168A (zh) * | 2016-09-08 | 2017-03-08 | 西安电子科技大学 | Nand闪存上基于索引调制的交叉编写方法 |
CN106856102A (zh) * | 2015-12-08 | 2017-06-16 | 北京兆易创新科技股份有限公司 | 一种Nand Flash的编程方法 |
CN110299172A (zh) * | 2019-07-04 | 2019-10-01 | 合肥联诺科技有限公司 | 一种缩短flash编程时间的编程处理方法 |
CN110556146A (zh) * | 2018-06-01 | 2019-12-10 | 北京兆易创新科技股份有限公司 | 一种存储单元的编程方法、装置、电子设备及存储介质 |
CN113228188A (zh) * | 2021-03-22 | 2021-08-06 | 长江存储科技有限责任公司 | 存储器件及其编程操作 |
TWI758206B (zh) * | 2020-08-31 | 2022-03-11 | 華邦電子股份有限公司 | 半導體儲存裝置以及編程方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101005117B1 (ko) * | 2009-01-23 | 2011-01-04 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 동작 방법 |
US8223555B2 (en) * | 2009-05-07 | 2012-07-17 | Micron Technology, Inc. | Multiple level program verify in a memory device |
KR101662277B1 (ko) | 2010-05-12 | 2016-10-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
CN102568596A (zh) * | 2012-01-10 | 2012-07-11 | 清华大学 | 一种降低快闪存储器阈值电压分布范围的方法 |
KR102125376B1 (ko) * | 2013-07-01 | 2020-06-23 | 삼성전자주식회사 | 저장 장치 및 그것의 쓰기 방법 |
KR102192539B1 (ko) * | 2014-05-21 | 2020-12-18 | 삼성전자주식회사 | 반도체 장치 및 이의 프로그램 방법 |
CN110838325A (zh) * | 2018-08-17 | 2020-02-25 | 北京兆易创新科技股份有限公司 | 一种存储器的编程方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134148A (en) * | 1997-09-30 | 2000-10-17 | Hitachi, Ltd. | Semiconductor integrated circuit and data processing system |
US6671207B1 (en) * | 2001-02-08 | 2003-12-30 | Advanced Micro Devices, Inc. | Piggyback programming with staircase verify for multi-level cell flash memory designs |
US7023733B2 (en) * | 2004-05-05 | 2006-04-04 | Sandisk Corporation | Boosting to control programming of non-volatile memory |
KR100642892B1 (ko) * | 2005-07-19 | 2006-11-03 | 주식회사 하이닉스반도체 | 면적이 감소된 페이지 버퍼 회로와 그 독출 및 프로그램동작 방법 |
-
2008
- 2008-05-16 KR KR1020080045520A patent/KR101263818B1/ko active IP Right Grant
- 2008-06-19 CN CN200810125996.3A patent/CN101329915B/zh active Active
- 2008-06-19 CN CN201310277165.9A patent/CN103366818B/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106856102A (zh) * | 2015-12-08 | 2017-06-16 | 北京兆易创新科技股份有限公司 | 一种Nand Flash的编程方法 |
CN106486168A (zh) * | 2016-09-08 | 2017-03-08 | 西安电子科技大学 | Nand闪存上基于索引调制的交叉编写方法 |
CN106486168B (zh) * | 2016-09-08 | 2019-05-24 | 西安电子科技大学 | Nand闪存上基于索引调制的交叉编写方法 |
CN110556146A (zh) * | 2018-06-01 | 2019-12-10 | 北京兆易创新科技股份有限公司 | 一种存储单元的编程方法、装置、电子设备及存储介质 |
CN110299172A (zh) * | 2019-07-04 | 2019-10-01 | 合肥联诺科技有限公司 | 一种缩短flash编程时间的编程处理方法 |
TWI758206B (zh) * | 2020-08-31 | 2022-03-11 | 華邦電子股份有限公司 | 半導體儲存裝置以及編程方法 |
CN113228188A (zh) * | 2021-03-22 | 2021-08-06 | 长江存储科技有限责任公司 | 存储器件及其编程操作 |
WO2022198371A1 (en) * | 2021-03-22 | 2022-09-29 | Yangtze Memory Technologies Co., Ltd. | Memory device and program operation thereof |
US11715523B2 (en) | 2021-03-22 | 2023-08-01 | Yangtze Memory Technologies Co., Ltd. | Memory device and program operation thereof |
Also Published As
Publication number | Publication date |
---|---|
CN101329915B (zh) | 2014-02-12 |
CN101329915A (zh) | 2008-12-24 |
KR101263818B1 (ko) | 2013-05-14 |
CN103366818B (zh) | 2016-06-22 |
KR20080112101A (ko) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101329915B (zh) | 对存储装置进行编程的方法 | |
CN106504786B (zh) | 半导体存储装置 | |
US8000150B2 (en) | Method of programming memory device | |
CN103477392B (zh) | 具有减少的验证的改进的编程的非易失性存储器和方法 | |
US10127985B2 (en) | Semiconductor memory device | |
US20160267991A1 (en) | Semiconductor memory device | |
US20230368848A1 (en) | Semiconductor memory device | |
US9412460B2 (en) | Plural operation of memory device | |
USRE45544E1 (en) | Saw-shaped multi-pulse programming for program noise reduction in memory | |
CN108573728A (zh) | 半导体存储装置及存储器系统 | |
US7929351B2 (en) | Method for reducing lateral movement of charges and memory device thereof | |
US8493796B2 (en) | Nonvolatile semiconductor memory device | |
CN101441892A (zh) | 操作闪速存储器装置的方法 | |
US20200098432A1 (en) | Semiconductor memory device | |
CN109119115A (zh) | 存储器件 | |
US9202575B2 (en) | Nonvolatile semiconductor memory device | |
CN101388252B (zh) | 编程非易失性存储装置的方法 | |
CN107863124B (zh) | 半导体存储器设备及其制造方法 | |
US11676646B2 (en) | Method of reducing program disturbance in memory device and memory device utilizing same | |
CN107689244A (zh) | 半导体器件 | |
US7518911B2 (en) | Method and system for programming multi-state non-volatile memory devices | |
CN112447217A (zh) | 半导体存储装置 | |
US9697902B2 (en) | Nonvolatile semiconductor memory device and data programming method for memory cells | |
JP5522682B2 (ja) | 半導体メモリ |
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 |