对非易失性存储设备进行编程的方法

文档序号:6773684阅读:134来源:国知局
专利名称:对非易失性存储设备进行编程的方法
技术领域
—个或更多个实施例涉及对非易失性存储设备进行编程的方法。
背景技术
近来,对能够被电编程及电擦除的、并且不需要以特定时间段重写数据的刷新功 能的非易失性存储设备的需求日益增长。 非易失性存储单元通过在施加到薄氧化层上的相对强的电场使电子迁移时的阈
值电压变化,而使得电编程/擦除操作可行,并进行编程操作及擦除操作。 非易失性存储设备通常包括存储单元阵列,其中以矩阵形式布置有用于存储数
据的单元;以及页面缓存器,其用于将数据写入到存储单元阵列中的特定单元中,或读取存
储在存储单元阵列中的特定单元中的数据。页面缓存器包括位线对,其连接到特定存储单
元;寄存器,其用于对要被写入到存储单元阵列中的数据进行暂时的存储,或从存储单元阵
列中读取特定单元中的数据并对所读取的数据进行暂时的存储;感测节点,其用于对特定
位线或特定寄存器的电压电平进行检测;位线选择单元,其用于控制是否将特定位线连接
到感测节点。 已经知道,非易失性存储设备的编程速度随着编程/擦除周期的数量的增加而增
大。这是因为,随着编程/擦除周期的数量的增加,在每个存储单元的浮栅处俘获的电荷增
加,因此每个单元的阈值电压增大。因此,尽管使用步增脉冲编程(ISPP)方法来向单元施
加相对小的编程脉冲,但是可以将单元编程成具有目标阈值电压或更大的电压。 可以考虑在ISPP方法中设定并施加低编程起动电压的方法。如果在编程/擦除
周期的数量相对小时使用这种方法,则用于对操作进行编程的时间增加。这是因为,在较低
的编程起动电压的情况下,要施加的脉冲的数量增加。

发明内容
—个或更多个实施例旨在提供一种对非易失性存储设备进行编程的方法,该方法 能够取决于编程/擦除周期的数量的增加来可变地设定编程起动电压。 —个或更多个实施例旨在提供一种对非易失性存储设备进行编程的方法,该方法 包括通过向第一页施加编程脉冲来对该第一页进行编程操作;通过向所述第一页施加验 证电压来对所述编程操作进行验证操作;如果作为所述验证操作的结果针对所述第一页的 编程操作未完成,则将从所述第一页的阈值电压中选择的电压设定为最高阈值电压;通过 在增大所述编程脉冲的电压电平的同时对所述第一页重复地进行编程操作及验证操作来 完成针对所述第一页的编程操作;将针对所述第一页的编程起动电压与所述验证电压和所述最高阈值电压之间的差的总和设定为针对第二页的编程起动电压;以及基于所设定的针 对所述第二页的编程起动电压来进行针对所述第二页的编程操作。 —个或更多个实施例旨在提供一种对非易失性存储设备进行编程的方法,该方法 通过施加伪编程脉冲来对由编程/擦除周期的数量的增加而引起的编程速度的增大进行 补偿,该方法包括通过向第一页施加编程脉冲来对该第一页进行编程操作;通过向所述 第一页施加验证电压来对所述编程操作进行验证操作;如果作为所述验证操作的结果针对 所述第一页的编程操作未完成,则将从所述第一页的阈值电压中选择的电压设定为最高阈 值电压;通过在增大所述编程脉冲的电压电平的同时对所述第一页重复地进行编程操作及 验证操作来完成针对所述第一页的编程操作;将针对所述第一页的编程起动电压与所述验 证电压和所述最高阈值电压之间的差的总和设定为针对第二页的编程起动电压;以及基于 所设定的针对所述第二页的编程起动电压来进行针对所述第二页的编程操作。


图1是示出根据实施例的非易失性存储设备的总体构造的图; 图2是示出取决于在已知的非易失性存储设备中进行的编程/擦除周期的数量的
增加的、阈值电压的改变的图; 图3是示出对非易失性存储设备进行编程的已知方法的概念的图; 图4是示出根据实施例的对非易失性存储设备进行编程的示例性方法的流程以及 图5是示出根据实施例的对非易失性存储设备进行编程的方法中设定最高阈值 电压的示例性方法的概念的图。
具体实施例方式
下文中将参照附图、结合一个或更多个实施例来对本公开内容进行详细的描述。
提供附图以使本领域普通技术人员可以理解本公开内容的一个或更多个实施例的范围。
图1是示出根据示例性实施例的非易失性存储设备的整体构造的图。 非易失性存储设备100包括存储单元阵列102、页面缓存器108、X解码器104及Y
解码器106、高电压发生器110、命令接口逻辑单元112、命令寄存器114、地址寄存器/计数
器116、数据寄存器118及10缓存单元120。下面对非易失性存储设备的操作进行描述。 首先,在命令接口逻辑单元112的片选使能信号/CE被禁用并且写入使能信号/
WE被触发时,命令接口逻辑单元112通过10缓存单元120及命令寄存器114来接收命令信
号,并根据命令来生成编程命令、擦除命令、读取命令等。此处,命令信号包括用于确定非易
失性存储设备的操作模式的页面编程设置码。 同时,将从命令接口逻辑单元112输出的操作状态信号/R/B禁用达某一时间段。 外部存储控制器(未示出)接收操作状态信号/R/B,并且非易失性存储设备检测操作状态 (例如,编程操作、擦除操作或读取操作)。即,在操作状态信号/R/B被禁用的同时,进行针 对存储单元阵列中的一页的编程操作、擦除操作或读取操作。 地址寄存器/计数器116经由10缓存单元120来接收地址信号,并生成行地址信 号及列地址信号。地址信号与多页中的一页相对应,其中每页包括多个存储单元。数据寄
5存器118对经由10缓存单元120而接收到的各种数据进行暂时的存储,并将该数据传送给 Y解码器106。 高电压发生器110响应于编程命令、擦除命令或读取命令而产生偏置电压,并将 该偏置电压提供给页面缓存器108、X解码器104等。 X解码器104响应于行地址信号而将从高电压发生器110接收到的偏置电压提供 给存储单元阵列102(即,多个存储单元阵列中的一个存储单元阵列)。Y解码器106响应 于列地址信号,通过页面缓存器来向由存储单元阵列的块所共用的位线(未示出)提供数 据信号。 页面缓存器108将经由10缓存单元120及Y解码器106而接收到的数据信号锁
存,并将该数据信号输出给由存储单元阵列的块所共用的位线(未示出)。 图2是示出取决于已知的非易失性存储设备中的编程/擦除周期的数量的增加
的、阈值电压的改变的图。 如图2所示,随着编程/擦除周期的数量的增加,编程状态的阈值电压及擦除状态 的阈值电压增大。这是因为,随着对存储单元进行的编程/擦除周期的数量的增加,在非易 失性存储单元的浮栅处俘获的电荷增加,因此即使对于擦除状态,阈值电压也增大。结果, 尽管施加相同的编程脉冲,但是随着对存储单元进行的编程/擦除周期的数量的增加,阈 值电压的改变进一步增大。阈值电压的改变与编程速度有关。即,在施加相同的编程脉冲 时,如果阈值电压的改变大,则认为编程速度快。 从图2中可以看到,在对存储单元进行的编程/擦除周期的数量为10K时的编程 状态的阈值电压高于在编程/擦除周期的数量为10时的编程状态的阈值电压。即使在擦 除状态也是相同的情况。使用了一种对取决于编程/擦除周期的数量的、编程速度的改变 进行补偿的编程方法。 图3是示出对非易失性存储设备进行编程的已知方法的概念的图。 如图3所示,使用ISPP方法来进行编程操作。更详细地说,在施加编程脉冲之后,
进行验证操作。每次重复地进行验证操作时,通过使编程电压增大步长电压(Vst印)来重
复地进行编程操作。此处,考虑到编程速度取决于编程/擦除周期的数量而改变,增加了施
加伪编程脉冲的时间段。 在编程/擦除周期的数量为1时,基于第一起动电压Vstartl来进行ISPP操作。 然而,在编程/擦除周期的数量为IOK时,由于编程速度快,因此需要基于比第一起动电压 Vstartl低的第二起动电压Vstart2来进行ISPP操作。因此,即使在首次进行编程/擦除 操作时,也以第二起动电压Vstart2来进行ISPP操作。在编程/擦除周期的数量为1至 IOK之间的数时,由于编程起动电压低,因此实质上可能未发生编程效果。因此,在编程/擦 除周期的数量为1至IOK之间的数时,从施加第二起动电压Vstart2时起直到施加第一起 动电压Vstartl之前所施加的编程脉冲可能成为伪编程脉冲。针对编程/擦除周期的数量 成为IOK或更多的情况做准备,施加了伪编程脉冲。然而,在这种情况下,在编程/擦除周 期的数量成为IOK之前,编程时间被延长。 图4是示出根据实施例的对非易失性存储设备进行编程的方法的流程图,图5是 示出根据实施例的对非易失性存储设备进行编程的方法中设定最高阈值电压的方法的概 念的图。
首先,在步骤410中,通过对第一页施加编程起动脉冲来对第一页进行编程操作。
根据实施例,基于ISPP起动电压来进行编程操作。旨在基于针对第一页的编程操 作的状态来对针对第二页的编程起动脉冲的值进行控制。
然后,在步骤412中,对编程操作进行验证操作。 在步骤414中,进行验证操作,以验证要被编程的所有的单元是否都已被编程成 具有验证电压或更大的电压。该验证操作是使用已知的非易失性存储设备的验证操作来进 行,因此省略对其的详细描述。 作为验证操作的结果,要被编程的所有的单元都已被编程成具有验证电压或更大 的电压,并进行针对下一页(即,第二页)的编程操作。 然而,如果作为验证操作的结果要被编程的所有的单元并未都被编程成具有验证 电压或更大的电压,则在步骤416中,设定最高阈值电压。 下面参照图5来描述设定最高阈值电压的方法。在编程/擦除周期的数量相对少 的早期阶段,编程速度相对不快。因此,在仅施加一个编程脉冲的情况下,可能不存在被编 程成具有验证电压或更大的电压的单元。换言之,如果作为基于验证电压(Vver)而进行 的验证操作的结果不存在被编程成具有验证电压(Vver)或更大的电压的单元,则减小验 证电压(Vver)并重复地进行验证操作。如果如上所述基于重复地减小的验证电压(Vver) 来重复地进行验证操作,则可能检测到被编程成具有减小的且被重新设定的验证电压(Va) 或更大的电压的单元,因此该单元的阈值电压可以用于设定最高阈值电压。
同时,在已进行的编程/擦除周期的数量相对大时,编程速度快。因此,在仅施加 一个编程脉冲的情况下,可能存在被编程成具有验证电压或更大的电压的单元。换言之,如 果作为基于验证电压(Vver)而进行的验证操作的结果存在被编程成具有验证电压(Vver) 或更大的电压的单元,则增大验证电压(Vver),并重复地进行验证操作。如果如上所述基于 增大的验证电压(Vver)来再次进行验证操作,则可能还检测到具有比增大的且被重新设 定的验证电压(Vb)高的阈值电压的单元,因此在该情况下施加的验证电压可以用于设定 最高阈值电压。另选的是,可能不存在具有比增大的并被重新设定的验证电压(Vb)高的阈 值电压的单元,因此在施加该验证电压(Vb)之前施加的验证电压可以被用于设定最高阈 值电压。 返回参照图4,在步骤416之后,在步骤418中,进行针对第一页的编程操作。
由于仅利用编程起动脉冲不能完成编程,因此使编程电压增大步长电压(Vst印), 并重复地进行编程操作。 接下来,在步骤420中,进行针对编程操作的验证操作。 与步骤412中的验证操作中相似的是,验证要被编程的所有的单元是否都已被编 程成具有验证电压或更大的电压。 如果作为验证操作的结果要被编程的所有的单元并未都被编程成具有验证电压 或更大的电压,则在步骤424中,使编程电压增大步长电压,并重复地进行编程操作。
然而,如果作为验证操作的结果要被编程的所有的单元都已被编程成具有验证电 压或更大的电压,则在步骤426中,在进行针对第二页的编程操作之前设定针对第二页的 编程起动电压。 这里,对第一页与第二页之间的关系进行描述。第一页及第二页被包含在公共的
7存储单元块(即,擦除操作的单位)中,并且已进行的擦除操作的次数可能相同。此外,取 决于存储设备是否是NAND型非易失性存储设备,第一页及第二页中的每页可能成为编程 操作的单位。因此,可以看到,第一页与第二页的编程/擦除周期的数量大致上相同,并且 具有取决于编程/擦除周期的数量的、近似相同的特性。因此,基于在步骤416中所设定的 第一页的特性来设定第二页的编程起动脉冲。 通过将验证电压与最高阈值电压之间的差加到针对第一页的编程起动电压上来 获得针对第二页的编程起动电压。 即,针对第二页的编程起动电压可以由下式来表示。 针对第二页的编程起动电压=针对第一页的编程起动电压+(验证电压_最高阈 值电压) 如图5中的(a)所示,在由于编程/擦除周期的数量相对小因此最高阈值电压低 于验证电压的情况下,针对第二页的编程起动电压高于针对第一页的编程起动电压。因此, 在编程/擦除周期的数量相对小的早期阶段,基于比伪编程脉冲高的编程起动电压来进行 ISPP操作。 如图5中的(b)所示,在由于编程/擦除周期的数量相对大因此最高阈值电压高 于验证电压的情况下,针对第二页的编程起动电压低于针对第一页的编程起动电压。因此, 在编程/擦除周期的数量增加时,基于比伪编程脉冲低的编程起动电压来进行ISPP操作。
接下来,在步骤430中,基于所设定的编程起动电压来进行针对第二页的编程操 作。 在针对第二页的编程操作中,通过进行上述步骤来设定针对第一页及第二页中的 每页的编程起动电压。通过重复地进行上述操作来完成针对包含在同一存储单元块中的多 页中的每页的编程操作。 可以根据上述操作来可变地设定编程起动电压。具体地说,在编程/擦除周期的 数量相对小的早期阶段,将编程起动电压设定成相对高,因此能够对具有慢的编程速度的 单元的特性进行补偿。在编程/擦除周期的数量相对大的后续操作中,将编程起动电压设 定成相对低,因此能够对具有快的编程速度的单元的特性进行补偿。
8
权利要求
一种对非易失性存储设备进行编程的方法,包括通过向第一页施加编程脉冲来对该第一页进行编程操作;通过向所述第一页施加验证电压来对所述编程操作进行验证操作;如果作为所述验证操作的结果针对所述第一页的编程操作尚未完成,则将从所述第一页的阈值电压中选择的电压设定为最高阈值电压;通过在增大所述编程脉冲的电压电平的同时对所述第一页重复地进行编程操作及验证操作来完成针对所述第一页的编程操作;将针对所述第一页的编程起动电压与所述验证电压和所述最高阈值电压之间的差的总和设定为针对第二页的编程起动电压;以及基于所设定的针对所述第二页的编程起动电压来进行针对所述第二页的编程操作。
2. 根据权利要求1所述的方法,其中,所述设定最高阈值电压的步骤包括 如果已对其进行了所述编程操作的存储单元中的任一存储单元都未被编程成具有所述验证电压或更大的电压,则减小所述验证电压,并基于减小的验证电压来进行验证操 作;重复地减小所述验证电压,直到通过基于减小的验证电压来重复地进行验证操作而检 测到被编程成具有减小的验证电压或更大的电压的单元为止;以及如果检测到被编程成具有减小的验证电压或更大的电压的单元,则将在相对应的时间 点施加的验证电压设定为所述最高阈值电压。
3. 根据权利要求1所述的方法,其中,所述设定最高阈值电压的步骤包括 如果已对其进行了所述编程操作的存储单元中的任一存储单元被编程成具有所述验证电压或更大的电压,则增大所述验证电压,并基于增大的验证电压来进行验证操作;重复地增大所述验证电压,直到通过基于增大的验证电压来重复地进行验证操作而未检测到被编程成具有增大的验证电压或更大的电压的单元为止;以及如果未检测到被编程成具有增大的验证电压或更大的电压的单元,则将在相对应的时间点之前施加的验证电压设定为所述最高阈值电压。
4. 根据权利要求1所述的方法,其中,所述设定针对第二页的编程起动电压的步骤包括在所述验证电压高于所述最高阈值电压时,按照使得针对所述第二页的编程起动电压 高于针对所述第一页的编程起动电压的方式来设定针对所述第二页的编程起动电压;以及在所述验证电压低于所述最高阈值电压时,按照使得针对所述第二页的编程起动电压 低于针对所述第一页的编程起动电压的方式来设定针对所述第二页的编程起动电压。
5. —种通过施加伪编程脉冲来对非易失性存储设备进行编程以便对由编程/擦除周 期的数量的增加而引起的编程速度的增大进行补偿的方法,该方法包括通过向第一页施加编程脉冲来对该第一页进行编程操作; 通过向所述第一页施加验证电压来对所述编程操作进行验证操作;如果作为所述验证操作的结果针对所述第一页的编程操作尚未完成,则将从所述第一 页的阈值电压中选择的电压设定为最高阈值电压;通过在增大所述编程脉冲的电压电平的同时对所述第一页重复地进行编程操作及验 证操作来完成针对所述第一页的编程操作;将针对所述第一页的编程起动电压与所述验证电压和所述最高阈值电压之间的差的 总和设定为针对第二页的编程起动电压;以及基于所设定的针对所述第二页的编程起动电压来进行针对所述第二页的编程操作。
6. 根据权利要求5所述的方法,其中,所述设定最高阈值电压的步骤包括 如果已对其进行了所述编程操作的存储单元中的任一存储单元都未被编程成具有所述验证电压或更大的电压,则重复地减小所述验证电压,直到通过基于减小的验证电压来 重复地进行验证操作而检测到被编程成具有该验证电压或更大的电压的单元为止;以及如果检测到被编程成具有减小的验证电压或更大的电压的单元,则将在相对应的时间 点施加的验证电压设定为所述最高阈值电压。
7. 根据权利要求5所述的方法,其中,所述设定最高阈值电压的步骤包括 如果已对其进行了所述编程操作的存储单元中的任一存储单元被编程成具有所述验证电压或更大的电压,则重复地增大所述验证电压,直到通过基于增大的验证电压来重复 地进行验证操作而未检测到被编程成具有该验证电压或更大的电压的单元为止;以及如果未检测到被编程成具有增大的验证电压或更大的电压的单元,则将在相对应的时 间点之前施加的验证电压设定为所述最高阈值电压。
8. 根据权利要求5所述的方法,其中,所述设定针对第二页的编程起动电压的步骤包括在所述验证电压高于所述最高阈值电压时,按照使得针对所述第二页的编程起动电压 高于针对所述第一页的编程起动电压的方式来设定针对所述第二页的编程起动电压;以及在所述验证电压低于所述最高阈值电压时,按照使得针对所述第二页的编程起动电压 低于针对所述第一页的编程起动电压的方式来设定针对所述第二页的编程起动电压。
全文摘要
本发明涉及对非易失性存储设备进行编程的方法。根据所述对非易失性存储设备进行编程的方法,通过向第一页施加编程脉冲来对该第一页进行编程操作。通过向所述第一页施加验证电压来对所述编程操作进行验证操作。如果针对所述第一页的编程操作未完成,则将从所述第一页的阈值电压中选择的电压设定为最高阈值电压。通过在增大编程脉冲的电压电平的同时对所述第一页重复地进行编程操作及验证操作来完成针对所述第一页的编程操作。将针对所述第一页的编程起动电压与所述验证电压和所述最高阈值电压之间的差的总和设定为针对第二页的编程起动电压。
文档编号G11C16/06GK101783177SQ20091014249
公开日2010年7月21日 申请日期2009年6月18日 优先权日2009年1月21日
发明者朴成济, 金志桓 申请人:海力士半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1