首页> 中国专利> 使用针对改进感测的不同参考电平的非易失性存储器中的粗略/精细编程验证

使用针对改进感测的不同参考电平的非易失性存储器中的粗略/精细编程验证

摘要

提供非易失性存储器的粗略/精细编程,其中,存储器单元在到达其意图的状态的粗略验证电平之前的第一级编程中编程,且在到达粗略验证电平之后但在到达其意图的状态的最终验证电平之前的第二级编程中编程。与较小的存储器单元相关的大的子阈值摆动因子可以影响感测操作的准确性,尤其是当在粗略验证电平处感测之后在精细验证电平处感测、而在不同的感测之间不对位线进行预充电时。当在粗略验证电平和最终验证电平处感测时使用不同的参考电势。在这些参考电势之间的差异可以补偿在粗略电平感测期间位线的任何放电。

著录项

  • 公开/公告号CN101796591A

    专利类型发明专利

  • 公开/公告日2010-08-04

    原文格式PDF

  • 申请/专利权人 桑迪士克公司;

    申请/专利号CN200880105358.3

  • 发明设计人 李世俊;

    申请日2008-07-02

  • 分类号G11C16/34(20060101);G11C11/56(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人黄小临

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 00:27:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-17

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G11C16/34 变更前: 变更后: 申请日:20080702

    专利权人的姓名或者名称、地址的变更

  • 2013-04-24

    授权

    授权

  • 2012-08-08

    专利申请权的转移 IPC(主分类):G11C16/34 变更前: 变更后: 登记生效日:20120706 申请日:20080702

    专利申请权、专利权的转移

  • 2010-09-22

    实质审查的生效 IPC(主分类):G11C16/34 申请日:20080702

    实质审查的生效

  • 2010-08-04

    公开

    公开

说明书

技术领域

本发明涉及在非易失性存储器中的编程。

背景技术

半导体存储器器件已经变得在各种电子器件中更广为使用。例如,非易失性半导体存储器被用在蜂窝电话、数字相机、个人数字助理、移动计算设备、非移动计算设备和其他设备中。包括闪速EEPROM的电可擦除可编程只读存储器(EEPROM)和电可编程只读存储器(EPROM)是最流行的非易失性半导体存储器之中的。

EEPROM和EPROM存储器利用位于半导体衬底中的沟道区域上方且与其绝缘的浮置栅极。该浮置栅极位于源极和漏极区域之间。在浮置栅极上方且与其绝缘地提供控制栅极。通过在浮置栅极上保持的电荷量来控制晶体管的阈值电压。在导通晶体管以允许在其源极和漏极之间导电之前必须施加到控制栅极的电压的最小量由浮置栅极上的电荷水平控制。

当编程闪存器件时,典型地将编程电压施加到控制栅极,且位线接地。来自沟道的电子被注入浮置栅极。当电子累积在浮置栅极中时,该浮置栅极变为充负电(negatively charged),且存储器单元的阈值电压升高,使得该存储器单元处于编程状态。

一些EEPROM和闪存器件具有被用于存储两个范围的电荷的浮置栅极,因此,可以在两个状态(擦除状态和编程状态)之间编程/擦除存储器单元。例如,图1示出了绘出两个阈值电压分布的图形。x轴描绘了阈值电压,且y轴描绘了存储器单元的数量。分布2中的阈值电压小于0伏。在一个实施例中,阈值电压分布2对应于存储数据“1”的被擦除的存储器单元。分布4中的阈值电压大于0伏。在一个实施例中,阈值电压分布4对应于存储数据“0”的被编程的存储器单元。

通过标识由禁止的电压范围分离的多个不同的允许的阈值电压范围来实现多状态闪存单元。每个不同的阈值电压范围对应于该组数据位的预定值。图2图示了通过使用四个数据状态来存储两位数据的存储器单元的阈值电压分布。在一个实施例中,阈值电压分布2表示处于擦除状态(例如,存储“11”)、具有负阈值电压电平的存储器单元。阈值电压分布10表示存储数据“10”、具有正阈值电压电平的存储器单元。阈值电压分布12表示存储数据“00”的存储器单元。阈值电压分布14表示存储“01”的存储器单元。在一些实施方式(如上例示)中,使用格雷码(gray code)分配将这些数据值(例如,逻辑状态)分配到各阈值范围,以便如果浮置栅极的阈值电压错误地偏移(shift)到其相邻的物理状态,则将仅影响一个逻辑位。在其他实施例中,每个分布可以对应于与上述不同的数据状态。被编程到存储器单元中的数据与该单元的阈值电压范围之间的具体关系取决于这些存储器单元采用的数据编码方案。例如,美国专利No.6222762和在2003年6月13日提交的美国专利申请No.10/461244,“Tracking Cells For A Memory System(追踪存储器系统的单元)”描述了用于多状态闪存单元的各种数据编码方案,这两者被全部引用附于此。另外,根据本公开的实施例可应用于存储多于两位数据的存储器单元。

阈值电压分布2和4示出了当不使用验证操作时的被擦除和被编程的电压分布。可以通过用单独一个编程或擦除脉冲编程或擦除存储器单元来获得这些分布。取决于存储器阵列大小和生产工艺中的变化,阈值电压分布4将具有确定宽度,已知为原本(natural)Vth宽度。

如从图2可见,分布10、12、14(对应于编程多状态器件)需要比分布4的原本Vth窄得多。为了实现更窄的阈值电压分布,可以使用如下处理:该处理使用多个编程脉冲和验证操作,比如图3A、3B和3C描述的。

图3A描述了被应用于控制栅极作为一系列脉冲的编程电压信号Vpgm。该脉冲的幅度随每个连续的脉冲增加预定步长(例如,0.2V-0.4V),在图3A中绘为ΔVpgm。在这些脉冲之间的时间段中,实行验证操作。随着可编程状态的数量增加,验证操作的数量增加,且需要更多时间。用于减少时间负担的一个手段是更有效的验证处理,诸如在2002年12月5日提交的题为“SmartVerify For Multi-State Memories”的美国专利申请序列号No.10/314055中公开的处理,其全部被引用附于此。实际上,图3A的脉冲彼此隔开一个时间段:在该时间段期间进行验证。但是,为了使得图3更易懂,从图中省略了用于验证的时间段。

图3B描绘了施加到被编程的相关存储器单元的位线的电压信号。图3C描绘了被编程的存储器单元的阈值电压。注意,在3C中的图形被平滑以使得其更容易理解。在每个编程脉冲之后,实行验证操作(未示出)。在验证操作期间,检查要被编程的存储器单元的阈值电压。如果该存储器单元的阈值电压大于目标值(例如,Vverify),则通过将位线电压从0V升高到Vinhibit(例如,在时间t4)来禁止在下一周期中对于该存储器单元的编程。

如其他电子器件那样,存在消费者对于存储器器件尽可能快地编程的需求。例如,在闪存卡上存储图像的数字相机的用户不想要在图片之间等待不必要的长时间段。除了用合理的速度编程以外,为了实现对于多状态存储器单元的适当数据存储,多状态存储器单元的阈值电压的多个范围应该彼此隔开足够的余量(margin),以便可以以明确的方式编程和读取存储器单元的电平。推荐紧密的阈值电压分布。为了实现紧密的阈值电压分布,典型地使用了小的编程步长,由此更慢地编程这些单元的阈值电压。所期望的阈值电压分布越紧密,则步长越小,且编程处理越慢。

用于实现紧密的阈值电压分布而不会不合理地减慢编程处理的一个解决方案包括使用两阶段的编程处理。第一阶段,粗略编程阶段,包括试图以更快的方式升高阈值电压,而更少关注实现紧密的阈值电压分布。第二阶段,精细编程阶段,试图以较慢的方式升高阈值电压,以便达到目标阈值电压,从而实现更紧密的阈值电压分布。可以在全部被引用附于此的美国专利6643188中找到粗略/精细编程方法的一个例子。

图4和图5提供了粗略/精细编程方法的一个例子的更多细节。图4A和图5A描绘了施加到控制栅极的编程脉冲Vpgm。图4B和图5B描绘了针对被编程的存储器单元的位线电压。图4C和图5C描绘了被编程的存储器单元的阈值电压。图4和图5的例子描绘了使用图中示为VvA1和VvA2的两个验证电平来将存储器单元编程到状态A。最终目标电平是VvA2。当存储器单元的阈值电压达到VvA2时,将通过向对应于该存储器单元的位线施加禁止电压来禁止对该存储器单元进一步编程。例如,可以将位线电压升高到Vinhibit(见图4B和图5B)。但是,当存储器单元达到接近于(但不低于)目标值VvA2的阈值电压时,通过向该位线施加某个偏压,典型地类似于0.3V到0.8V,来减慢在随后的编程脉冲期间存储器单元的阈值电压偏移。由于在接下来几个编程脉冲期间降低了阈值电压偏移率,因此,最终的阈值电压分布可以比用图3所示的方法的更窄。为了实现该方法,使用低于VvA2的第二验证电平。该第二验证电平在图4和5中描绘为VvA1。当该存储器单元的阈值电压大于VvA1但仍然低于VvA2时,将通过施加位线偏压Vs而对随后的编程脉冲减少对存储器单元的阈值电压偏移(图5B)。注意,在这种情况下,对于每个状态需要两个验证操作。一个验证操作是在应用了粗略/精细编程方法的对于每个状态的相应最终验证电平(例如,VvA2)时,一个验证操作是在对于每个状态的相应第二验证电平(例如,VvA1)时。这可能增加对这些存储器单元编程所需要的总时间。但是,可以使用更大的ΔVpgm步长来加速该处理。

图4A、4B和4C示出了阈值电压在一个编程脉冲中移动超过VvA1和VvA2的存储器单元的行为。例如,在图4C中描绘了阈值电压在t2和t3之间超过VvA1和VvA2。因此,在t3之前,该存储器单元处于粗略阶段。在t3之后,该存储器单元处于禁止模式。

图5A、5B和5C描绘了进入粗略和精细编程阶段这两者的存储器单元。该存储器单元的阈值电压在时间t2和时间t3之间穿过VvA1。在t3之前,该存储器单元处于粗略阶段。在t3之后,位线电压被升高到Vs以将存储器单元置于精细阶段。在t3和t4之间,该存储器单元的阈值电压穿过VvA2。因此,通过将位线电压升高到Vinhibit禁止对该存储器单元进一步编程

典型地,为了维持合理的编程时间,不将粗略/精细编程算法应用于最高存储器状态(对应于最大正阈值电压范围的状态)。诸如由图2中的分布14表示的状态C之类的最高状态不需要与更高状态相区分。典型地,对于该状态仅需要将单元编程为在最小阈值电平之上,以与次最低状态(例如,由分布12表示的状态B)相区分。因此,这些单元的分布可以占据更宽的阈值电压范围,而不对器件性能产生不良影响。但是,一些实施方式将在编程最高电平状态时也利用粗略/精细编程技术。

发明内容

在此描述的技术试图在利用粗略/精细编程时提供在编程验证期间对非易失性存储元件的阈值电压的更准确的感测。

提供非易失性存储器的粗略/精细编程,其中,在到达其意图的状态的粗略验证电平之前的第一级编程时以及在到达粗略验证电平之后但在到达其意图的状态的最终验证电平之前的第二级编程时,编程存储器单元。与较小的存储器单元相关的大的子阈值摆动因子可以影响感测操作的准确性,特别是当以粗略验证电平感测之后以精细验证电平感测、而不在不同感测之间对位线预充电时。当以粗略验证电平和最终验证电平感测时,利用不同的参考电势。在参考电势之间的差可以补偿在粗略电平感测期间的位线的任何放电。

一个实施例包括编程非易失性存储器的方法。该方法包括:向一组非易失性存储元件施加一个或多个编程脉冲,以将该组的一个或多个存储元件编程到具体状态。在施加每个编程脉冲之后,通过向该组存储元件施加第一电压并将所述一个或多个存储元件的每个的位线电压与第一参考电势相比较,来验证将所述一个或多个存储元件编程到与该具体状态对应的中间验证电平。在施加每个编程脉冲之后,通过向该组存储元件施加第二电压并将所述一个或多个存储元件的每个的位线电压与第二参考电势相比较,来验证将所述一个或多个存储元件编程到与该具体状态对应的最终验证电平,所述第二参考电势补偿由于验证编程到中间验证电平而引起的所述一个或多个存储元件的每个的位线电压的降低。

在另一实施例中,提供了验证非易失性存储装置的编程的方法,该方法包括:对与非易失性存储元件对应的位线充电,向该非易失性存储元件施加与非易失性存储元件的目标状态对应的中间验证电压,在施加中间验证电压时感测该位线的电压,将该位线的电压与第一参考电势比较,向非易失性存储元件施加与该非易失性存储元件的目标状态对应的最终验证电压,在施加最终验证电压时且在该位线从该充电完全放电之前感测该位线的电压,并比较在施加最终验证电压时的该位线的电压与第二参考电势。

一个示例实施方式包括一组非易失性存储元件和与该组非易失性存储元件通信的一个或多个管理电路。所述一个或多个管理电路可以进行上述处理。

附图说明

图1是描绘两个阈值电压分布的图。

图2是描绘四个阈值电压分布的图。

图3A、3B和3C描绘编程处理。图3A描绘施加到非易失性存储元件的控制栅极的编程电压信号。图3B描绘施加到NAND串的位线的电压信号。图3C描绘被编程的非易失性存储元件的阈值电压。

图4A、4B和4C描绘作为粗略/精细编程的一部分而执行的编程处理的一个实施例。

图5A、5B和5C描绘作为粗略/精细编程的一部分而执行的编程处理的一个实施例。

图6是NAND串的顶视图。

图7是图6的NAND串的等效电路图。

图8是非易失性存储器系统的一个实施例的方块图。

图9图示存储器阵列的组织的一个例子。

图10描绘根据一个实施例可以使用的包括验证脉冲的编程电压信号。

图11是描述根据一个实施例的编程非易失性存储器的方法的流程图。

图12描绘示例的一组阈值电压分布和全部顺序编程处理。

图13描绘示例的一组阈值电压分布和两遍编程处理。

图14A-14C描绘示例的一组阈值电压分布和另一两遍编程处理。

图15是描述可以在编程和编程验证操作期间施加到存储器器件的各种信号的时序图。

图16是描述在存储器单元具有小的子阈值摆动因子的情况下在验证操作期间不同存储器单元的位线电势的图。

图17是描述在存储器单元具有较大的子阈值摆动因子的情况下在验证操作期间不同存储器单元的位线电势的图。

图18是描述根据一个实施例在验证处理期间不同存储器单元的位线电势的图。

图19是描述根据一个实施例在粗略/精细编程期间对存储器单元的验证的流程图。

图20是根据一个实施例可以使用的存储器器件的列控制电路的一部分。

具体实施方式

适用于实现本公开的实施例的闪存系统的一个例子使用NAND结构,其包括在两个选择栅极之间串联排列的多个晶体管。串联的晶体管和选择栅极被称为NAND串。图6是示出一个NAND串的顶视图。图7是其等效电路。图5和6中所绘的NAND串包括串联的且夹在选择栅极120和第二选择栅极122之间的四个晶体管100、102、104和106。选择栅极120将NAND串连接到位线接触126。选择栅极122将NAND串连接到源极线接触128。通过向控制栅极120CG施加适当的电压来控制选择栅极120。通过向控制栅极122CG施加适当的电压来控制选择栅极122。每个晶体管100、102、104和106具有控制栅极和浮置栅极。晶体管100具有控制栅极100CG和浮置栅极100FG。晶体管102包括控制栅极102CG和浮置栅极102FG。晶体管104包括控制栅极104CG和浮置栅极104FG。晶体管106包括控制栅极106CG和浮置栅极106FG。控制栅极100CG连接到字线WL3,控制栅极102CG连接到字线WL2,控制栅极104CG连接到字线WL1,且控制栅极106CG连接到字线WL0。在一个实施例中,晶体管100、102、104和106每个是存储器单元。在其他实施例中,存储器单元可以包括多个晶体管,或可以与图6和图7所示的存储器单元不同。选择栅极120连接到选择线SGD,且选择栅极122连接到选择线SGS。

注意,虽然图6和图7示出在NAND串中的四个存储器单元,但是四个晶体管的使用仅作为例子而提供。NAND串可以具有少于四个存储器单元或多于四个存储器单元。例如,一些NAND串将包括8个存储器单元、16个存储器单元、32个存储器单元等。在此的讨论不限于在NAND串中的任何具体数目的存储器单元。

在以下美国专利/专利申请中提供了NAND型闪存及其操作的相关例子:美国专利No.5570315;美国专利No.5774397;美国专利No.6046935;美国专利No.5386422;美国专利No.6456528;以及美国专利申请序号No.09/893277(公开号No.US2003/0002348),通过全部引用将其合并于此。可以在2003年3月5日提交的题为“SelfBoosting Technique(自升压技术)”的美国专利申请10/379608以及在2003年7月29日提交的题为“Detecting OverProgrammed Memory(对被编程的存储器单元的检测)”的美国专利申请10/629068中找到包括自升压在内的关于编程NAND闪存的信息,通过全部引用将这两个申请合并于此。还可以在本发明中使用其他类型的闪存器件。例如,以下专利描述了NOR型闪存,且其通过全部引用而被合并于此:美国专利Nos.5095344;5172338;5890192和6151248。在美国专利No.6151248中找到闪存型的另一例子,通过全部引用将其合并于此。

在此描述的技术不限于浮置栅极型的存储器。例如,可以在使用在控制栅极(或字线)和衬底之间的各种类型的电荷存储区域/层、比如非导电的介电电荷存储区域或多被已知为毫微-晶体(nano-crystal)的小硅岛(siliconisland)的存储器器件中使用在此描述的技术。

图8是可以用于实现本公开的一个或多个实施例的闪存系统的一个实施例的方块图。图8是示例性的,因为可以使用其他系统和实施方式。由列控制电路304、行控制电路306、c-源极控制电路310和p井控制电路308来控制存储器单元阵列302。列控制电路304连接到存储器单元阵列302的位线,用于读取在存储器单元中存储的数据,用于确定在编程操作期间的存储器单元的状态,并用于控制这些位线的电势电平来促进或禁止编程和擦除。行控制电路306连接到字线以选择这些字线之一,以施加读取电压,施加与由列控制电路304控制的位线电势电平相结合的编程电压,以及施加擦除电压。C-源极控制电路310控制连接到存储器单元的公共源极线(在图9中被标为“C-源极”)。P井控制电路308控制p井电压。

在存储器单元中存储的数据由列控制电路304读出,且经由数据输入/输出缓冲器312被输出到外部I/O线。要被存储在存储器单元中的编程数据经由外部I/O线被输入到数据输入/输出缓冲器312,且被传送到列控制电路304。外部I/O线连接到控制器318。

用于控制闪存器件的命令数据被输入到控制器318。该命令数据向闪存通知请求了什么操作。该输入命令被传送到作为控制电路315的一部分的状态机316。状态机316控制列控制电路304、行控制电路306、c-源极控制310、p井控制电路308和数据输入/输出缓冲器312。状态机316还可以输出闪存的状态数据,比如READY/BUSY(准备好/繁忙)或PASS/FAIL(通过/失败)。

控制器318连接到或者可连接诸如个人计算机、数字相机或个人数字助理等的主机系统。其与发出诸如向存储器阵列302存储或从存储器阵列302读取数据的命令、并提供或接收这种数据的主机通信。控制器318将这种命令转换为可以被作为控制电路315的一部分的命令电路314翻译和执行的命令信号。命令电路314与状态机316通信。控制器318典型地包含针对被写到存储器阵列或从存储器阵列读出的用户数据的缓冲器存储器。

一个示例存储器系统包括一个集成电路以及一个或多个集成电路芯片,该集成电路包括控制器318,每个集成电路芯片包含存储器阵列和相关的控制、输入/输出和状态机电路。存在将系统的存储器阵列和控制器电路一起集成在一个或多个集成电路芯片上的趋势。存储器系统可以被嵌入作为主机系统的一部分,或可以被包括在可移除地插入主机系统中的存储卡(或其他包装)中。这种卡可以包括整个存储器系统(例如,包括控制器),或仅包括与外围电路相关的(一个或多个)存储器阵列(控制器或控制功能被嵌入到主机中)。因此,控制器可以被嵌入到主机中,或被包括在可移除存储器系统内。

在一些实施方式中,可以组合图8的一些组件。在各种设计中,可以考虑除了存储器单元阵列302以外的、图8的一个或多个组件中作为用于该存储器系统的管理电路。例如,一个或多个管理电路可以包括命令电路、状态机、行控制电路、列控制电路、井控制电路、源极控制电路、数据I/O电路或控制器中的任何一个或组合。

参考图9,描述了存储器单元阵列302的示例结构。在该例子中,描述了被分区为1024个块的NAND闪速EEPROM。同时擦除在每个块中存储的数据。在一个实施例中,块是同时被擦除的单元的最小单位。每个块被典型地划分为多个可以作为编程单位的页。用于编程的其他数据单位也是可能并可构思的。在一个实施例中,各个页可以被划分为段,且这些段可以包括作为基本编程操作一次所写的最少数量的单元。一页或多页数据典型地被存储在一行存储器单元中。

在图9中的例子的每个块中,存在被划分为偶数列和奇数列的8512列。位线也被划分为偶数位线(BLe)和奇数位线(BLo)。在奇数/偶数位线架构中,沿着公共字线且连接到奇数位线的存储器单元在一次被编程,而沿着公共字线且连接到偶数位线的存储器单元在另一次被编程。虽然,在图9中示出了四个单元被包括在每个NAND串中,但是可以使用多于或少于四个存储器单元。NAND串的一端经由连接到漏极选择栅极控制线SGD的第一选择晶体管而连接到对应的位线,且另一端经由连接到源极选择栅极控制线SGS的第二选择晶体管而连接到C-源极。

在其他实施例中,不将位线划分为奇数和偶数位线。这种架构通常被称为全位线架构。在全位线架构中,在读取和编程操作期间同时选择块的所有位线。沿着公共字线且连接到任意位线的存储器单元同时被编程。

在奇数/偶数位线架构中的读取和编程操作的一个实施例期间,同时选择4256个存储器单元。所选存储器单元具有相同字线和同种位线(例如,偶数位线或奇数位线)。因此,可以同时读取或编程532字节的数据。同时被读取或编程的这532字节的数据形成逻辑页。因此,一个块至少可以存储八个逻辑页(四个字线,每个具有奇数页和偶数页)。当每个存储器单元存储两位数据时(例如,多状态存储器单元),其中,这两位的每位被存储在不同的页中,一个块存储16个逻辑页。在本发明中还可以使用其他尺寸的块和页。另外,还可以将与图8和9的那些不同的架构用于本公开的实施例。

通过将p井升高到擦除电压(例如,20伏)且将所选块的字线接地来擦除存储器单元。源极和位线浮置。可以对整个存储器阵列、分离的块或另一单位的单元来进行擦除。电子从浮置栅极传送到p井区域,且阈值电压变为负(在一个实施例中)。

当在一个例子中编程存储器单元时,漏极和p井接收0V,而控制栅极接收具有增加的幅度的一系列编程脉冲。在一个实施例中,在该系列中的脉冲幅度的范围从12V到24V。在其他实施例中,在系列中的脉冲的范围可以不同,例如,具有高于12V的起始电平。在存储器单元的编程期间,在编程脉冲之间的时间段中进行验证操作。也就是说,在每个编程脉冲之间读取被并行编程的一组单元的每个单元的编程电平,以确定其是否达到或超过了其被编程到的验证电平。验证编程的一个手段是测试具体比较点处的导电性。通过对于所有随后的编程脉冲将位线电压从0升高到VDD(例如2.5V),将被验证为充分编程的单元锁在例如NAND单元中,以终止对于那些单元的编程处理。在一些情况下,将限制脉冲的数量(例如,20个脉冲),且如果通过最后的脉冲还没有充分编程给定的存储器单元,则假定为故障。在一些实施方式中,在编程之前(以块或其他单位)擦除存储器单元。

图10描绘了根据一个实施例的编程电压信号。该信号具有幅度增加的一组脉冲。该幅度随每个脉冲而增加预定步长。在包括存储多位数据的存储器单元的一个实施例中,示例的步长是0.2V(或0.4V)。在每个编程脉冲之间的是验证脉冲。图10的信号假定四个状态的存储器单元,因此,其包括三个验证脉冲。例如,在编程脉冲330和332之间的是三个连续的验证脉冲。第一验证脉冲334被描绘为处于0伏特验证电压电平。第二验证脉冲336跟随第一验证脉冲处于第二验证电压电平。第三验证脉冲338跟随第二验证脉冲336处于第三验证电压电平。能够在八个状态中存储数据的多状态存储器单元需要在七个比较点处进行验证操作。因此,依次施加七个验证脉冲以在两个连续的编程脉冲之间的七个验证电平处进行七次验证操作。基于这七个验证操作,系统可以确定存储器单元的状态。用于降低验证的时间负担的一个手段是使用更有效的验证处理,例如以下中所公开的:2002年12月5日提交的题为“Smart Verify For Multi-State Memories(针对多状态存储器的智能验证)”的美国专利申请序号No.10/314055;在2005年10月27日提交的题为“Method for Programming of Multi-State Non-Volatile Memory Using SmartVerify”的美国专利申请序号No.11/259799;以及在2005年10月27日提交的题为“Apparatus for Programming of Multi-State Non-Volatile Memory UsingSmart Verify(用于使用智能验证对多状态非易失性存储器编程的装置)”的美国专利申请序号No.11/260658,通过全部引用将其所有合并于此。

图11是描述用于编程非易失性存储器的方法的一个实施例的流程图。在步骤340,擦除要被编程的存储器单元。步骤340可以包括(例如以块或其他单位)擦除比要被编程的存储器单元更多的存储器单元。在步骤342,进行软编程以使被擦除的存储器单元的擦除阈值电压的分布变窄。由于擦除处理,一些存储器单元可以处于比必要的更深的擦除状态。软件编程可以应用小的编程脉冲来将被擦除的存储器单元的阈值电压移动得更接近于擦除验证电平。在图11的步骤350,由控制器318发出“数据加载”命令,并且该命令被输入到命令电路314,允许数据被输入到数据输入/输出缓冲器312。输入的数据被识别为命令,且经由被输入到命令电路314的命令锁存信号(未示出)而被状态机316锁存。在步骤352,指定页地址的地址数据从控制器或主机被输入到行控制器或解码器306。输入的数据被识别为页地址,且经由受到被输入到命令电路314的地址锁存信号影响的状态机316而被锁存。在步骤354,针对被寻址的页的一页编程数据被输入到数据输入/输出缓冲器312,用于编程。例如,在一个实施例中可以输入532字节的数据。该数据被锁存在针对所选位线的适当的寄存器中。在一些实施例中,该数据还被锁存在针对所选位线的第二寄存器中以用于验证操作。在步骤356,由控制器发出“编程”命令,并且该命令被输入到数据输入/输出缓冲器312。由状态机316经由被输入到命令电路314的命令锁存信号来锁存该命令。

由“编程”命令触发,使用施加到适当字线的图6的阶梯脉冲,在步骤354中锁存的数据将被编程到由状态机316控制的所选存储器单元中。在步骤358,Vpgm、即施加到所选字线的编程脉冲电压电平被初始化到起始脉冲(例如12V),且由状态机316维持的编程计数器PC被初始化为0。在步骤360,第一Vpgm脉冲被施加到所选字线。如果逻辑“0”被存储在具体数据锁存器中,表明对应的存储器单元应该被编程,则将对应的位线接地。另一方面,如果逻辑“1”被存储在具体锁存器中,表明对应的存储器单元应该维持在其当前数据状态,则对应的位线连接到VDD以禁止编程。

在步骤362,验证所选存储器单元的状态。如果检测到所选单元的目标阈值电压达到了适当的电平,则在对应的数据锁存器中存储的数据被改变为逻辑“1”。如果检测到该阈值电压还没有达到适当的电平,则不改变在对应的数据锁存器中存储的数据。以此方式,不需要对具有被存储在其对应的数据锁存器中的逻辑“1”的位线编程。当所有数据锁存器都存储逻辑“1”时,状态机知道所有的所选单元都已经被编程了。在步骤364,检查是否所有的数据锁存器都存储了逻辑“1”。如果是,则编程处理完成且成功,因为所有的所选存储器单元都被编程且被验证为其目标状态。在步骤366,报告“PASS(通过)”’的状态。

如果在步骤364确定不是所有数据锁存器都存储逻辑“1”,则编程处理继续。在步骤368,针对编程极限值来检查编程计数器PC。编程极限值的一个例子是20,但是,可以在各种实施方式中使用其他值。如果编程计数器PC不小于20,则在步骤369确定还没有被成功编程的位的数量是否等于或小于预定数量。如果未被成功编程的位的数量等于或小于预定数量,则编程处理被标记为通过,且在步骤371报告通过的状态。可以在读取处理期间使用误差校正来校正没有被成功编程的位。但是,如果未被成功编程的位的数量大于预定数量,则编程处理被标记为失败,且在步骤370报告失败的状态。如果编程计数器PC小于20,则在步骤372,将Vpgm电平增加步长,且递增该编程计数器PC。在步骤372之后,该处理循环回到步骤360来施加下一Vpgm脉冲。

在成功编程处理结束时,存储器单元的阈值电压应该合适地在被编程的存储器单元的阈值电压的一个或多个分布内,或者在被擦除的存储器单元的阈值电压的分布内。图12图示了当每个存储器单元存储两位数据时对于存储器单元阵列的阈值电压分布。图12示出了对于被擦除的存储器单元的第一阈值电压分布E。还描绘了对于被编程的存储器单元的三个阈值电压分布A、B和C。在一个实施例中,在E分布中的阈值电压是负的,且在A、B和C分布中的阈值电压是正的。

图12的每个不同的阈值电压范围对应于该组数据位的预定值。在被编程到存储器单元中的数据和该单元的阈值电压电平之间的具体关系取决于这些单元采用的数据编码方案。在一个实施例中,使用格雷码分配将数据值分配到各阈值电压范围,以便如果浮置栅极的阈值电压错误地偏移到其相邻的物理状态,则将仅影响一位。但是,在其他实施例中,不使用格雷编码。一个例子将“11”分配给阈值电压范围E(状态E),将“10”分配给阈值电压范围A(状态A),将“00”分配给阈值电压范围B(状态B),且将“01”分配给阈值电压范围C(状态C)。虽然图12示出了四个状态,但是根据本公开的实施例可以包括其他多状态结构,这包括包含了多于或少于四个状态的结构。

图12还描绘了利用全顺序编程的实施例。在全顺序编程中,可以将存储器单元从擦除状态E直接编程到编程状态A、B或C中的任意一个。例如,要被编程的一群存储器单元可以首先被擦除,以便在该群中的所有存储器单元都处于擦除状态E。将使用在图11中描述的、使用被施加到所选存储器单元的控制栅极的一系列编程电压脉冲的处理来将存储器单元直接编程到状态A、B或C。在一些存储器单元从状态E被编程到状态A时,其他存储器单元从状态E被编程到状态B和/或从状态E被编程到状态C。

图13图示了编程存储两个不同的页的数据的多状态存储器单元的两遍技术的例子,两个不同的页是:下部页和上部页。描绘了四个状态:状态E(11)、状态A(10)、状态B(00)和状态C(01)。对于状态E,两页都存储“1”。对于状态A,下部页存储“0”,且上部页存储“1”。对于状态B,两页都存储“0”。对于状态C,下部页存储“1”,且上部页存储“0”。注意,虽然已经向每个状态分配了具体位样式,但是还可以分配不同的位样式。在第一遍编程中,根据要被编程到下部逻辑页中的位来设置该单元的阈值电压电平。如果该位是逻辑“1”,则不改变阈值电压,这是因为其由于早前被擦除而处于适当的状态。但是,如果要被编程的位是逻辑“0’’,则该单元的阈值电平被增加到状态A,如箭头402所示。这结束了第一遍编程。

在第二遍编程中,根据被编程到上部逻辑页中的位来设置该单元的阈值电压电平。如果上部逻辑页位要存储逻辑“1”,则不发生编程,这是由于取决于下部页位的编程,该单元处于状态E或A之一,两状态都携带上部页位“1”。如果该上部页位将是逻辑“0”,则阈值电压偏移。如果第一遍导致该单元维持在擦除状态E中,则在第二阶段,该单元被编程以便将阈值电压增加为在状态C内,如箭头406所示。如果由于第一遍编程,该单元已经被编程到状态A中,则在第二遍中对该存储器单元进一步编程,以便阈值电压增加为在状态B内,如箭头404所示。第二遍的结果是将该单元编程到被指定为对于上部页存储逻辑“0”而不改变下部页的数据的状态中。在两遍编程方法中,可以在图11描述的方法的单次重复(single iteration)中使用多个编程或验证步骤。可以对于每遍编程操作进行步骤358-372。在第一遍中,可以施加一个或多个编程脉冲,且可以验证其结果以确定单元是否处于适当的中间状态。在第二遍中,可以施加一个或多个编程脉冲,且可以验证其结果以确定该单元是否处于适当的最终状态。在一些实施例中,该技术可以包括分离的数据加载和编程命令、以及地址和编程数据的分离的输入,如在步骤350-356中所示。

图14A-14C公开了用于通过在针对先前页向相邻存储单元写入后、关于具体页向任意具体的存储器单元写入来编程非易失性存储器的另一处理,该处理降低了针对该具体存储器单元的浮置栅极到浮置栅极耦合。在由图13A-13C教导的处理的实施方式的一个例子中,非易失性存储器单元使用四个数据状态每个存储器单元存储两位数据。例如,假设状态E是擦除状态,且状态A、B、C是编程状态。状态E存储数据11。状态A存储数据01。状态B存储数据10。状态C存储数据00。还可以使用将数据编码为物理数据状态的其他编码。每个存储器单元存储两页的数据。为了参考目的,数据的这些页将被称为上部页和下部页,但是,可以为它们给出其他标记。参考图14A-14C的处理的状态A,上部页存储位0,且下部页存储位1。参考状态B,上部页存储位1,且下部页存储位0。参考状态C,两页都存储位数据0。图14A-14C的编程处理是两步处理。在第一步中,编程下部页。如果该下部页要保持数据1,则该存储器单元状态保持在状态E。如果该数据要被编程为0,则该存储器单元的电压的阈值升高,以便该存储器单元被编程为中间状态B’。图14B示出了将存储器单元从状态E编程到状态B’。图14A中示出的状态B’是中间状态B’。因此,该验证点被描绘为VvB’,其低于VvB

在一个实施例中,在将存储器单元从状态E编程到状态B之后,将相对于NAND串中的该存储器单元的相邻存储器单元的下部页来编程该相邻的存储器单元。例如,返回看图7,在编程了存储器单元106的下部页之后,将编程存储器单元104的下部页。在编程了存储器单元104之后,如果存储器单元104具有从状态E升高到状态B的阈值电压,则浮置栅极到浮置栅极耦合效应将升高存储器单元106的直观阈值电压(apparent threshold voltage)。这将具有将状态B的阈值电压分布加宽为如图14B的阈值电压分布320所示的效果。当编程上部页时,将纠正该阈值电压分布的这种明显加宽。

图14C描绘了编程上部页的处理。如果存储器单元处于擦除状态E,且上部页要保持在1,则存储器单元将保持在状态E。如果该存储器单元处于状态E且其上部页数据要被编程为0,则将升高该存储器单元的阈值电压,使得该存储器单元处于状态A。如果该存储器单元处于中间阈值电压分布320,且上部页要保持在1,则该存储器单元将被编程到最终状态B。如果该存储器单元处于中间阈值电压分布320,且该上部页数据要变为数据0,则将升高该存储器单元的阈值电压,使得该存储器单元处于状态C。由图14A-14C描绘的处理降低了浮置栅极到浮置栅极耦合的影响,因为仅相邻存储器单元的上部页编程将对给定存储器单元的直观阈值电压具有影响。

虽然图14A-14C提供了关于四个数据状态和两页数据的例子,但是由图14A-14C教导的概念可以应用于具有多于或少于四个状态和不同数量的页的其他实施方式。

图12、13和14A-14C示出了用于从存储器单元读取数据的读取参考电压VrA、VrB和VrC,。通过测试给定的存储器单元的阈值电压是在VrA、VrB和VrC以上还是以下,该系统可以确定该存储器单元处于何状态。通过施加VrA的控制栅极电压(Vcg)而导电的单元处于状态E,在VrB处导电而在VrA处不导电的单元处于状态A,在VrC处导电而在VrB处不导电的单元处于状态B,在VrA、VrB或VrC处都不导电的单元处于状态C。

在读取和验证操作中,所选块的选择栅极被升高到一个或多个选择电压,且未选字线(例如,WL0、WL2和WL3)被升高到读选通(pass)电压Vread(例如4.5伏特)以使晶体管操作为选通栅极。源极和p井处于0伏特。所选位线(BLe)被预充电到例如0.7V的电平。所选字线(例如WL1)连接到读取或验证电压,对于每个读取和验证操作规定该读取或验证电压的电平以便确定所关心的存储器单元的阈值电压是在这样的电平以上还是以下。如果该阈值电压高于字线上的读取或验证电平,则与感兴趣的单元相关的位线(BLe)的电势电平由于非导电的存储器单元而维持高电平。另一方面,如果该阈值电压低于读取或验证电平,则所关心的位线(BLe)的电势电平由于对位线放电的导电的存储器单元而降低到例如小于0.5V的低电平。由此,通过连接到该位线的电压比较器感测放大器感测得到的位线电压来检测该存储器单元的状态。

根据现有技术中已知的技术来进行上述擦除、读取和验证操作。因此,本领域技术人员可以改变所述的许多细节。还可以使用本领域中已知的其他擦除、读取和验证技术。

图12、13和14A-14C还示出了包括VvA2、VvB2和VvC2的验证电压。当将存储器单元编程到状态A时,系统将测试那些存储器单元是否具有大于或等于VvA2的阈值电压,以验证它们是否达到了最终目标电平。当将存储器单元编程到状态B时,系统将测试存储器单元是否具有大于或等于VvB2的阈值电压,以验证它们是否达到了其最终目标电平。当将存储器单元编程到状态C时,系统将确定存储器单元是否具有大于或等于VvC2的阈值电压,以验证它们是否达到了其最终目标电平。

如前所述,粗略/精细编程对于一个或多个可编程状态使用两组验证电压来验证针对存储器单元的编程的最终电平、以及另外当该单元变为接近但还没有达到其意图的状态的最终验证电平时将该单元从粗略编程阶段切换到精细编程阶段。在图12、13、14A-14C中,绘出了对于每个编程的状态两组验证电平。使用验证电平VvA1、VvB1和VvC1来验证存储器单元达到粗略验证电平,而使用验证电平VvA2、VvB2和VvC2来验证存储器单元达到其意图的状态的最终验证电平。还没有达到其意图的状态的任一验证电平的单元在编程处理的下一次重复期间经历全部或粗略编程。达到了粗略验证电平但没达到其意图的状态的最终验证电平的单元在下一编程重复期间经历减少的或精细的电平编程。达到了其意图的状态的最终验证电平的单元在下一编程重复期间被禁止编程。虽然在图12、13、14A-14C中对于每个可编程状态绘出了两组验证电平,但是一些实施例可以不对一个或多个状态使用粗略验证电平。例如,一些实施方式对于最高可编程状态将不使用粗略验证电平,因为不存在在读取期间必须与其相区分的更高状态。这种实施例是预料到的。

图15是描绘在包括粗略/精细编程在内的示例编程处理的一部分期间施加到非易失性存储器器件的各种信号的时序图。标为“编程”的第一时间段包括被施加以编程所选字线WL_sel的一个或多个存储器单元的信号。该编程时间段被一般化,并同样可以对应于施加到该字线的第一编程脉冲或者对应于第二或稍后的编程脉冲。该时段对应于图11中的步骤360。该编程时段通过将源极线升高到类似于大约1V的低正电压而开始。接下来,通过向漏极选择栅极线SGD施加VSG(例如3.5V)来接通(open)(或导通(turn on))漏极选择栅极。在接通漏极选择栅极之后,向任意未选择的字线施加禁止电压Vinhibit。在图15中,假定奇/偶编程方法或架构。位线BLn表示所选位线。因此,该块的相邻的位线BLn+1、BLn+3等和BLn-1、BLn-3等将在整个编程操作中都未被选择。典型地,所有类似的位线(例如,奇数或偶数位线)被同时读取和编程,以便所有位线BLn、BLn+2等将接收被施加到BLn的相同信号。

未选位线被升高到它们在第一编程时间段期间始终保持的禁止电压Vinhibit。根据要被编程到在该具体位线处的所选字线的存储器单元中的数据,设置或偏压所选位线BLn。如果该位线BLn的存储器单元要被禁止编程,则BLn被升高到电压电平Vinhibit。在一个实施例中,Vinhibit等于VDD(例如,1.8V-3.3V)。如果位线BLn的存储器单元将被使能用于全部或粗略编程,则BLn被升高到使能电压Venable。在一个实施例中,Venable等于地或0V。如果位线BLn的存储器单元达到了其要被编程到的状态的粗略验证电平,但还没有达到该状态的最终验证电平,则其位线被升高到中间电平Vs。在一个实施例中,Vs等于大约2.0V。Vs的值可以随着实施例而改变,且取决于Vinhibit的电平和其他器件特征。在图15中的实线450表示位线BLn被升高到Vinhibit以禁止对在所选字线处的存储器单元编程的情况。虚线452表示位线BLn被升高到Vs以允许对在所选字线处的存储器单元的部分或精细电平编程的情况。虚线454表示位线BLn接收Venable电压以允许对在所选字线处的存储器单元的全部或粗略电平编程的情况。

在根据要被施加到每个所选位线的存储器单元的编程量来偏压每个所选位线之后,偏压字线。标记为WL_unsel的未选字线被升高到选通电压Vpass。电压Vpass使能对于具有要被禁止在该编程时间段期间编程的存储器单元的那些NAND串的NAND串沟道的升压。所选字线WL_sel也被升高到电压Vpass,以使能对于包含不将经历编程的在WLn处的存储器单元的那些NAND串的沟道的升压。在将每个字线升高到Vpass电平之后,所选字线被升高到编程电压脉冲电平Vpgml。在向所选字线施加编程脉冲之后,所有字线被降低到0V。在将字线降低到0V之后,未选和所选位线每个被降低到0V。然后,通过向漏极选择栅极线SGD施加0V来截止漏极侧选择栅极。通过将源极线电压从1V降低到0V来结束编程时段。

图15中随第一编程时间段之后的验证操作在施加电压脉冲Vpgm1之后开始。该验证操作被划分为粗略电平验证和精细电平验证,如图15所示。粗略电平验证通过将所选位线BLn(与每个其他的所选位线一起)预充电到预定电压电平Vclamp而开始。在一个实施例中,Vclamp等于大约0.7V。一旦位线被预充电,字线就被偏压用于粗略电平感测。为未选字线提供读选通电压Vread。Vread是无论未选存储器单元要被编程到的状态如何都确保该未选存储器单元在验证处理期间将导通或导电的选通电压。这允许仅对在字线WL_sel处的存储器单元的验证。在向未选字线施加Vread的同时,为所选字线被提供粗略电平验证电压Vv1。在向每个字线应用适当的偏压条件之后,通过向漏极选择栅极线SGD和源极选择栅极线SGS施加VSG来导通漏极侧选择栅极和源极侧选择栅极两者。应该注意,在图15中,提供了一般化的描述,而不考虑任何具体的状态。因此,Vv1可以对应于针对状态A、状态B、状态C或其他状态的粗略验证电平。

在对所选位线预充电、偏压字线并导通选择栅极之后,所选字线根据也连接到所选字线WL_sel的位线的存储器单元的状态自由放电。虚线454表示阈值电压Vth低于粗略验证电平Vv1的存储器单元。由于该存储器单元具有低于粗略验证电平的阈值电压,因此其将在施加了验证电平的情况下导通,以允许通过NAND串在位线和源极线之间导电。因此,这样的存储器单元的位线将从预充电电平Velamp放电到大约0.5V或更低,这取决于实施方式。在图15中,描绘了放电到0V。实线450表示具有在粗略验证电平Vv1以上的阈值电压的在BLn处的存储器单元。具有在粗略验证电平Vv1以上的阈值电压的存储器单元将不导通,且位线电压将基本保持在Vclamp。在漏极侧选择栅极接通之后的预定时间段之后,对所选位线进行感测。该感测操作感测在该位线上的电压,并将其与参考电势Vsense进行比较。针对每个所选位线的感测放大器基于该比较,确定在WL_sel处的存储器单元的阈值电压是否在验证电平Vv1以上。如果位线电压放电到Vsense以下,则这表明存储器单元具有在Vv1以下的阈值电压。如果位线电压不放电到Vsense以下,则这表明存储器单元具有在Vv1以上的阈值电压。在感测该位线电压并将其与Vsense比较之后,完成粗略电平验证处理。

在图15的实施例中,在粗略电平验证之后,不再对位线预充电。所选字线直接从粗略验证电平升高到最终或精细验证电平Vv2。如粗略验证电平那样,给出Vv2用于一般化的描述,且Vv2可以包括针对状态A、状态B等的最终验证电平。该技术使能够通过消除对所选位线预充电所需的时间进行有效验证。它还消除了产生用于再次对位线充电的能量的需要。在向所选字线施加最终验证电平Vv2之后,所选位线将根据在字线WL_sel处的存储器单元的状态来放电。图15中的虚线452表示具有在最终验证电平Vv2以下但在粗略验证电平Vv1以上的阈值电压的存储器单元。这种存储器单元将不会导致随着施加粗略验证电平而放电,但是当施加最终验证电平时将对位线放电。这些存储器单元的位线电压将在精细电平验证期间从预充电电平放电到大约0.5V或更低。实线450继续表示具有在粗略验证电平以及最终验证电平Vv2以下的阈值电压的存储器单元。

在施加Vv2之后的预定时间量之后,再次感测位线电压。该预定时间量可以被表示或设置为在粗略电平感测期间在接通选择栅极之后的时间段,或在施加最终验证电平之后的时间段。将感测的电压与参考电势Vsense相比较。如果位线电压不放电到Vsense以下,则确定该存储器单元具有在最终验证电平Vv2以上的阈值电压。如果位线电压放电到Vsense以下,则确定该存储器单元具有在最终验证电平Vv2以下的阈值电压。在感测后,所选位线被降低到0V,随后字线被降低到0V。然后,漏极和源极选择栅极线被降低到0V以完成精细验证处理。

注意,如果使用多状态存储器器件,则粗略电平验证和精细电平验证处理将重复如相应状态所需的那样多次。例如,四状态的器件可能需要进行粗略和精细电平验证三次——在A状态验证电平一次、在B状态验证电平一次,和在C状态验证电平一次。在完成对于A状态的精细电平验证之后,位线将再次被预充电,且重复该处理。在完成对于B状态的精细电平验证之后,位线将再次被预充电以开始对于状态C的粗略电平验证。一些实施例可以不在每个处理期间的每个状态验证电平处感测。例如,如图13所示只读取存储器单元的上部页数据仅需要在状态B验证电平处感测。

图15示出了可以用于对在将源极电势升高到1V之后还没有达到其最终验证电平的存储器单元进一步编程的编程处理的另一重复。通过向漏极源极选择栅极线SGD施加VSG来导通漏极侧选择栅极。未选位线BLn+1/BLn-1被升高到Vinhibit。然后,根据先前的验证操作的结果和要被编程到所选位线BLn的数据来偏压所选位线BLn。图15中所示的箭头图示了在该下一编程重复期间施加的相应位线电压电平。为在施加了粗略验证电平的情况下对其位线放电的存储器单元(虚线454)提供了使能电压Venable,以便该存储器单元可以在下一重复期间经历全部编程。在粗略验证电平或精细验证电平的情况下都不对其位线放电的存储器单元(实线450)表示达到了其最终验证电平的存储器单元。因此,该存储器单元的位线被偏压到Vinhibit。在粗略验证电平的情况下不对其相应位线放电但在最终验证电平的情况下对该位线放电的那些存储器单元(虚线452)被升高到中间电压电平Vs,以便它们可以在下一编程重复期间经历精细编程。

在偏压每个所选位线之后,未选和所选字线被升高到其选通电压电平Vpass。然后,所选字线被倾斜(ramp)到第二编程电压脉冲电平Vpgm2。第二脉冲典型地在先前脉冲之上增加了步长Vpgm。在施加了Vpgm2之后,字线被降回到0V。所选和未选位线也被降回到0V,且漏极选择栅极截止。然后,源极线电势被降低到0V。再次注意,图15所示的实施例可以仅表示在典型的实施方式中的编程和验证处理的一部分。可以施加一个或多个编程电压脉冲以通过在施加每个脉冲之间进行的在适当的电平处的粗略和精细电平验证,来将每个所选存储器单元编程到其目标电平。

图16是示出可以在图15中以及在图11的步骤362期间进行的对于具体状态的粗略电平和精细电平感测操作的更多细节的曲线图。图16中的曲线图描绘了作为时间的函数的位线电压VBL。在图16的时序图中表示了两个不同的存储器单元。实线460表示如下存储器单元:该存储器单元具有正好在对于在感测操作之前其要被编程到的状态的最终验证电平以上的阈值电压。参考图12,例如,实线可以表示目标为状态B的、具有正好在最终验证电平VvB2以上的阈值电压的存储器单元。虚线462表示如下存储器单元:该存储器单元具有正好在其要被编程到的状态的最终验证电平以下的阈值电压。例如,虚线可以表示具有正好在最终验证电平VvB2以下的阈值电压的存储器单元。所示的两个存储器单元都具有在对于其被编程到的状态的粗略验证电平以上的阈值电压。

两个存储器单元的位线被预充电到预定电平Velamp。然后向所选字线施加粗略验证电平Vv1(例如,Vcg=VvB1)。然后,导通漏极选择栅极以将每个NAND串连接到其位线。如图16所示,即使每个存储器单元都具有在粗略验证电平以上的阈值电压,这些位线也将经历某种放电。尽管施加了低于其阈值电压的控制栅极电压(Vcg),但是基于晶体管的存储器单元仍将在其源极和漏极之间传导某个量的电流。存储器单元、尤其是以现今器件的小尺寸制造的那些存储器单元在施加了正的栅极偏压的情况下并不总是被置于绝对截止的条件。晶体管在其被施加的低于其阈值电压的栅极电压下将传导电流的程度被称为该器件的子阈值摆动因子(S-因子)。

传统上,商业制造的存储器单元表现出低的子阈值摆动因子。图16表示具有低子阈值摆动因子的存储器单元,使得该存储器单元在施加的小于其阈值电压的控制栅极电压下不传导显著的电流量。即使当栅极电压在该阈值电压以下时,该存储器单元的阈值电压也将自然地影响导电的水平。因此,图16的具有正好在最终验证电平以上的阈值电压的存储器单元(实线460)放电比具有正好在最终验证电平以下的阈值电压的存储器单元(虚线462)更小的量。

在漏极选择栅极被接通之后的预定时间量之后,以粗略验证电平进行感测操作。感测位线电压并将其与参考电势Vsense相比较。对于图16所示的两个单元,确定在粗略电平感测期间位线电压VBL大于感测电压Vsense。因此,感测放大器确定每个存储器单元具有在粗略验证电平Vv1以上的阈值电压。

在以粗略验证电平感测之后,向所选字线施加最终验证电平。为每个存储器单元的控制栅极提供了最终验证电压Vv2(例如,Vcg=VvB2)。具有在最终验证电平以上的阈值电压的存储器单元不导通,因此,该单元的位线电压在施加了该最终验证电平的情况下不放电显著的量。再次,该位线电压将由于子阈值摆动因子而放电到某种程度,但是该放电没有大到影响了感测的准确性。具有在最终验证电平Vv2以下的阈值电压的存储器单元在施加了最终验证电平的情况下导通且导电。因此,该存储器单元的位线在施加的最终验证电平的情况下放电显著的量。

在施加了最终验证电平之后的预定时间量之后,感测每个存储器单元的位线电压。再次,可以相对于为了粗略电平感测而对漏极选择栅极的接通或相对于最终验证电压的施加来建立该预定时间。由实线460表示的存储器单元具有被确定为大于Vsense的位线电压。因此,感测放大器确定该单元的阈值电压大于最终验证电平Vv2。可以在其他单元所需的任意随后的编程重复期间禁止这样的单元被进一步编程。由虚线462表示的存储器单元在预定时间量之后具有在参考电势Vsense以下的相应位线电压。该单元的感测放大器将确定该位线电压在参考电势Vsense以下,因此,该存储器单元的阈值电压在最终验证电平Vv2以下。

图17是表示具有大的子阈值摆动因子的存储器器件的曲线图。再次,由实线460表示具有正好在最终验证电平以上的阈值电压的存储器单元,而由虚线462表示具有正好在最终验证电平以下的阈值电压的存储器单元。每个存储器单元的位线电压被预充电,且向所选字线施加粗略验证电平。在施加了粗略验证电平之后,漏极侧选择栅极被导通以将位线连接到该单元的NAND串。由于图17的器件的S-因子大,因此即使这两个存储器单元的阈值电压都在粗略验证电平Vv1以上,这两个存储器单元也导致其位线电压的显著降低。在预定时间量之后,感测该位线电压,并将其与参考电势Vsense相比较。每个单元的感测放大器确定这两个存储器单元具有在粗略验证电平Vv1以上的阈值电压,因为这些位线不放电到Vsense以下。

在粗略电平感测之后,为所选字线提供了最终验证电平Vv2。具有正好在最终验证电平以上的阈值电压的存储器单元(实线460)不像具有正好在最终验证电平以下的阈值电压的存储器单元(虚线462)一样导电。但是,如图17所示,与该存储器相关的大的S-因子使得具有在最终验证电平以上的阈值电压的存储器单元的位线电压放电到Vsense以下。如预期的,具有在最终验证电平以下的阈值电压的存储器单元也将其位线放电到Vsense以下。在精细电平感测期间,具有在最终验证电平以上的阈值电压的存储器单元的感测放大器确定该单元的位线已经放电到Vsense以下。因此,该感测放大器确定该存储器单元具有在最终验证电平以下的阈值电压。这表示在感测操作中有错误。该感测电路将不正确地确定该存储器单元还没有被编程到其最终目标电平,且将致使该单元经历进一步的编程。由虚线表示的存储器单元也具有在Vsense以下的感测位线电压。该单元的感测放大器正确地确定该单元的阈值电压在最终验证电平Vv2以下。

图18是可以解决由于大的S-因子器件而引起的位线放电的、根据本公开的一个实施例的粗略和精细验证及感测方法的曲线图。实线460再次表示具有正好在最终验证电平(例如VvA2)以上的阈值电压的存储器单元。虚线462呈现了具有正好在最终验证电平以下的阈值电压的存储器单元。每个存储器单元的位线电压被预充电到预定电平Vclamp。在预充电两个位线之后,为所选字线提供了粗略验证电平Vv1(例如,Vcg=VvA1)。然后,导通漏极侧选择栅极以允许该位线放电。具有在最终验证电平以上的阈值电压的存储器单元将由于大的S-因子而再次经历位线电压的有些显著的降低。类似地,具有在最终验证电平以下的阈值电压的存储器单元也经历位线电压的有些显著的降低。在预定时间量之后,感测每个存储器单元的位线电压,并将其与参考电势相比较。在粗略电平感测期间,将感测的位线电压与中间参考电势Vsense1相比较。两个存储器单元的感测放大器将确定该位线电压大于粗略验证电平Vsense1。因此,感测放大器正确地确定每个存储器单元的阈值电压大于粗略验证电平Vv1

在以粗略验证电平感测之后,为所选字线提供了最终验证电平Vv2。再次,具有在最终验证电平以上的阈值电压的存储器单元将由于该器件的大的S-因子而传导显著的电流量。如期望的,具有在最终验证电平以下的阈值电压的存储器单元甚至更具导电性,且将其位线放电显著的量。

在预定时间量之后,感测每个存储器单元的位线电压,且将其与参考电势相比较。在精细电平感测期间,使用不同的参考电势。将感测的位线电压与最终参考电势Vsense2相比较。Vsense2低于Vsense1。较低的参考电势补偿在施加了粗略验证电平的情况下发生的位线放电。该补偿考虑到如下与存储器器件相关的大的S-因子:即使当存储器单元具有在该验证电平以上的阈值电压时,该大的S-因子也致使存储器单元将其位线放电有些显著的量。在图18中,具有正好在最终验证电平以上的阈值电压的存储器单元将其感测的位线电压与Vsense2相比较。在该情况下,感测放大器将确定位线电压大于最终参考电势Vsense2。因此,感测放大器将正确地确定该存储器单元的阈值电压大于最终验证电平Vv2。对于具有正好在最终验证电平以下的阈值电压的存储器单元,感测放大器将感测的位线电压与最终参考电势Vsense2相比较。针对该单元的位线的感测放大器将确定该位线电压小于最终参考电势Vsense2。该感测放大器将再次正确地确定该存储器单元具有在最终验证电平Vv2以下的阈值电压。因此,通过当在每个感测操作之间不再对该位线预充电时调整在粗略电平感测和精细电平感测之间的参考电势的电平,实现了对存储器单元的状态的更准确的感测。参考电势电平的不同提供了对在粗略电平感测期间的放电量的补偿。

在一个实施例中,最终参考电势Vsense2比中间参考电势Vsense1小了近似等于当在粗略电平感测期间将Vv1施加到具有在粗略验证电平Vv1以上的阈值电压的存储器单元的字线时该存储器单元的位线电压的预期放电的量。在施加了验证电平的情况下理论上不导电的存储器单元将由于该器件的大的S-因子而使相关的位线电压放电。可以将中间和最终Vsense电平之间的差设置为近似于在位线预充电电平和当向字线施加粗略验证电平时得到的位线电压之间的差。以此方式,最终参考电势Vsense2补偿了由于大的S-因子器件而导致的位线放电。可以根据给定实施方式的需求来使用中间参考电势Vsense1和最终参考电势Vsense2的其他值。例如,Vsense2可以被设置为比Vsense1低了小于当向字线施加粗略验证电平时存储器单元的位线的预期放电的量。Vsense2相对于Vsense1的较小偏移仍然可以应对(accommodate)在粗略电平感测期间的位线放电的水平。在一个实施例中,中间参考电势Vsense1近似等于当器件具有正常或较低S-因子时将使用的典型的Vsense电平。在这种情况下,相对Vsense1将最终参考电势Vsense2调整了可以补偿在粗略电平感测期间位线电压的降低的量。

在一个实施例中,存储器阵列在制造过程期间经过了测试。该测试可以包括存储器阵列的性能的特征化。例如,可以测量存储器阵列以确定当向字线施加粗略验证电平且存储器单元的阈值电压在该粗略验证电平以上时位线将放电的量。在一个实施例中,与该器件的多个位线相关的放电量可以被平均为达到适当的量。在制造过程期间,Vsense2相对于Vsense1的值可以被设置为应对在施加粗略验证电平的情况下所测量的位线电压的降低。另外,中间参考电势Vsense1可以基于存储器器件的特征化。在一些实施例中,可以测试存储器器件的所选子集并将其特征化,且特征化的结果用于对包括该子集的器件的更大组的器件设置Vsense1和Vsense2电平。在其他实施例中,制造过程可以基于对该具体存储器器件的测试和特征化来对每个存储器器件设置Vsense1和Vsense2的电平。还能够设置在导通选择栅极和进行粗略电平感测之间的时间段,以优化粗略电平感测的准确度。同样,可以基于测试和特征化来选择在向所选字线施加最终验证电平和以该电平进行感测之间的时间段,以进一步提供在这两个电平处的准确感测。如前所述,可以相对于在粗略电平感测期间导通选择栅极的时间、或相对于向所选字线施加精细验证电平的时间,建立在精细电平感测期间的感测之前的时间。可以使用各种技术来在特征化之后设置这些值。例如,可以在存储器器件内提供一组反熔丝(anti-fuse)、电可编程熔丝等,来存储关于该器件的操作的数据。可以设置这些熔丝来存储指示Vsense的值和/或用于感测的时间段的数据。

图19是描述用于验证一个或多个存储器单元的编程的处理的流程图。在一个实施例中,在图11的步骤360施加每个编程脉冲之后,在步骤362进行图19的处理。在步骤402开始,所选位线被预充电。在不同的时间对于奇数位线和偶数位线进行验证和编程的奇偶架构中,步骤402的预充电可以包括对奇数位线或偶数位线预充电。可替换地,一些架构将使用全位线系统,以便步骤502将包括对存储器单元的所选块的每个位线充电。在将位线预充电到预定电平之后,在步骤504向每个未选字线施加读选通电压Vread。步骤404确保在验证处理期间每个未选存储器单元导电,以便将仅验证连接到所选字线的那些存储器单元。在步骤506,向所选字线施加粗略编程验证电压。步骤506可以包括取决于被编程的存储器器件的状态的数量而施加诸如VvA1、VvB1或VvC1的粗略验证电平。在步骤510,通过对SGD施加正电压来接通或导通漏极侧选择栅极。随着漏极侧选择栅极被接通,所选位线连接到其NAND串以根据在连接到所选字线的位线上的存储器单元的编程状态而允许放电。在预定时间量之后,在步骤510感测所选位线的电压。步骤510表示对于存储器器件的粗略电平感测。在感测每个所选位线的位线电压之后,在步骤512,将位线电压与中间参考电势Vsense1相比较。在步骤514,取决于被验证的一个状态或多个状态,为所选字线提供诸如VvA2、VvB2或VvC2的最终验证电压。在步骤516,感测每个所选位线的电压。在步骤516的感测表示最终或精细电平感测。在步骤518,将所感测的位线电压与最终参考电势Vsense2相比较。

在步骤520,每个所选位线的感测放大器将使用在步骤518的比较结果来确定所感测的位线电压VBL是否大于中间参考电势Vsense1。如果所感测的位线电压小于中间参考电平,表明该存储器单元的阈值电压还没有达到粗略验证电平,则对于编程处理的下一重复,在步骤522使存储器单元能够用于全编程。步骤522可以包括在下一编程脉冲期间向这样的存储器单元的位线施加Venable电压(例如,地)。如果在步骤520确定位线电压大于Vsense1,则处理在步骤524继续。将来自步骤516的精细电平感测的所感测的位线电压与最终参考电势Vsense2相比较。如果位线的感测放大器确定该位线电压小于最终参考电势Vsense2,则对于下一编程重复,在步骤526向该存储器单元的位线施加中间电压Vs。如果感测放大器确定在精细电平感测期间的位线电压大于最终参考电势Vsense2,则对于下一编程重复,感测放大器使得在步骤528向位线施加Vinihibit

注意,图19的步骤502到528可以重复根据存储器器件的潜在状态的数量而需要进行的验证操作的次数。在存储两位数据的四状态存储器器件中,在步骤362的验证可以包括图19的方法的三次重复。粗略和精细验证操作将以状态A验证电平进行一次、以状态B验证电平进行一次、且以状态C验证电平进行一次。还注意,对于被编程到与当前被验证的状态不同的状态的那些所选位线,可以忽略在具体状态的验证电平处感测的结果。

图20描绘了包括感测放大器的图8的列控制电路304的一部分。每对位线(例如,BLe和BLo)被耦合到感测放大器600。该感测放大器连接到三个数据锁存器:第一数据锁存器602、第二数据锁存器604和第三数据锁存器606。三个数据锁存器的每个能够存储一位数据。感测放大器在读取或验证操作期间感测所选位线的电势电平,以二进制方式存储所感测的数据,并在编程操作期间控制位线电压。通过选择“偶数BL”和“奇数BL”的信号之一来选择性地将感测放大器连接到所选位线。数据锁存器602、604、606被耦合到I/O线608以输出读取的数据并存储编程数据。I/O线608被连接到图8的数据输入/输出缓冲器312。数据锁存器602、604和606也被耦合到(一个或多个)状况线610来接收和发送状况信息。在一个实施例中,存在对于每对(偶数和奇数)位线的感测放大器、第一数据锁存器602、第二数据锁存器604和第三数据锁存器606。除了存储读取的数据和编程数据以外,数据锁存器还可以存储感测的结果,以便根据存储元件相对于其目标状态的所感测状态而向位线提供使能电压、禁止电压或中间电压,包括粗略验证电平和最终验证电平。在存储2位数据的一个实施例中,可以使用两个数据锁存器来存储要被编程到存储器单元中的数据,且使用剩余的数据锁存器来存储对单元当前是处于精细编程阶段还是粗略编程阶段的指示。感测放大器600可以接收在对于粗略电平验证操作(Vsense1)和精细电平验证操作(Vsense2)的比较期间要使用的参考电势的不同值。可以基于存储在剩余的数据锁存器中的数据来选择适当的比较电平。

已经为了图示和描述的目的给出了前述详细的描述。不意图穷举或将本发明局限于公开的精确形式。根据以上教导,可以进行许多修改和变化。选择所描述的实施例以便最佳地说明本发明的原理和其实际应用,从而使得本领域技术人员在各种实施例中以及利用适用于构思的具体使用的各种修改最佳地利用本发明。意图本发明的范围由所附权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号