闪存存储单元的双数据读取验证方法和设备与流程

文档序号:17423392发布日期:2019-04-17 02:32阅读:300来源:国知局
闪存存储单元的双数据读取验证方法和设备与流程

本发明涉及闪存存储单元领域,更具体地涉及闪存存储单元的双数据读取验证方法和设备。



背景技术:

图1示出了闪存存储单元件的阈值变化示意图。如图1所示,将擦除态(e态)器件编程到编程态(p态),在闪存存储单元件的字线上施加以增量步进编程脉冲δispp为台阶的电压,在闪存存储单元件的位线上施加位线电压(vbl)来编程。对器件编程的δispp越大,编程时间越短,但是越不精确(使p态变宽);δispp越小,所需的编程步数就越多,编程时间就越长,但是编程的精度也越高。

如果想要同时获得高速度和高精度,需要在保证高的δispp(也就是保证了速度)的同时,通过调整特殊区域器件的位线电压(vbl)来实现高精度。图2示出了根据存储单元件的阈值将存储单元件分为高阈值存储单元(hvt)和低阈值存储单元(lvt)。高阈值存储单元指的是阈值分布在小于编程态、但接近编程态的阈值电压的区域的存储单元。低阈值存储单元(lvt区域单元)指的是阈值分布小于高阈值存储单元的阈值电压的区域的存储单元。为此,需要首先区分出hvt器件和lvt器件,然后对hvt器件和lvt器件采用不同的编程条件。hvt器件和lvt器件的编程条件的共同点是在字线上加一样的ispp电压,不同之处在与在位线上采用不同的位线电压,即对于hvt器件使用高的位线电压vbl,而对于lvt器件使用低的位线电压vbl。在进入编程状态后,首先对器件进行编程;然后对编程结果进行验证,如果验证通过则结束编程;如果验证没有通过,则将器件栅压增加增量步进编程脉冲δispp后,再对器件进行编程。

为了区分hvt器件和lvt器件,采用两次单数据验证的操作。即在读操作期间,将存储单元的栅端设置成通过vr位线电压和pvr位线电压读取两次。由于使用两次单数据验证方法,需要两次读取操作来判别出hvt器件和lvt器件,需要花费两次读取的时间,故而时间效率不高。

cn102298966a示出了现有编程条件的两次单数据验证方法。为了区分hvt器件和lvt器件,cn102298966a采用了两次单数据验证的操作。图3示出了两次单数据验证的工作原理图,以及图4示出了两次单数据验证方法的流程图。即在读操作期间,将存储单元的栅端设置成通过vr位线电压和pvr位线电压读取两次。假定在器件的vth小于读取时的栅压时,所读出的数据是1:那么如果d1=0,则器件在编程区p区;如果d1=1且d2=0,则器件在hvt态;以及如果d1=1并且d2=1,则器件在lvt态。由于现有的技术中使用两次单数据验证方法,需要两次读取操作来判别出hvt器件和lvt器件,需要花费两次读取的时间,故而时间效率不高。



技术实现要素:

为了解决上述技术问题,本发明提出了一种区分高阈值器件和低阈值器件的方法,即提出了一种闪存存储单元的双数据读取验证方法和设备。

根据本发明的一个方面,提出了一种闪存存储单元的双数据读取验证方法,所述存储单元排列成阵列并且与相应的位线和字线相连,其中高阈值存储单元的阈值电压分布在小于编程态阈值电压(vvr)但大于低阈值存储单元的阈值电压(vpvr)的区域,低阈值存储单元的阈值电压分布在小于低阈值存储单元的阈值电压(vpvr)的区域,所述编程态阈值电压是验证电压,所述低阈值存储单元的阈值电压是预验证电压,所述方法包括:确定存储单元的当前阈值电压;如果所述当前阈值电压小于所述预验证电压,则确定所述存储单元为低阈值存储单元;如果所述当前阈值电压大于或等于所述预验证电压并且小于等于所述验证电压,则确定所述存储单元为高阈值存储单元;如果所述当前阈值电压大于所述验证电压,则确定所述存储单元处于编程态。

可选地,在所述双数据验证模式中,在一次编程验证操作中读取两个数据。

可选地,通过在一次读取操作中获得两个读取结果来区分高阈值存储器件和低阈值存储器件,所述方法在字线上设置编程验证电压并且在位线上设置正常读取电压,所述方法包括以下三个阶段:预充电阶段:对电容节点(so)上的存储电容充电;电流感应阶段:通过存储单元对电容节点(so)上的存储电容放电,在所述放电期间:所述电容节点(so)点的电压大小与存储单元的电流、放电时间以及预充电时所述电容节点(so)的电压相关:cso*(vso_pre-vso(t))=icell*t,其中cso是电容节点(so)上的电容,是常数;vso_pre是预充电时电容节点(so)的电压,也是常数;icell是存储单元的电流,与存储器件的阈值相关;vso(t)为t时刻电容节点(so)上的电压;t为放电时间,并且已知锁存器的翻转电压vlat,则当翻转时刻对应的存储单元电流(icell)与时间(t)也是常数;放电阶段:数据锁存操作结束之后将各节点放电。

可选地,根据验证电压vpvr和vvr对应出两个参考电流iref_pvr和iref_vr,然后根据电流和放电时间的对应关系推导出对应的使锁存器翻转所需要的放电时间。

可选地,设定电流感应时间相当于设定了参考电流,假设设定t_pvr-对应于iref_pvr,在t_pvr时刻,若vso<vlat,则icell>iref_pvr,存储单元的阈值vcell<vpvr,反之若vso>vlat,则icell<iref_pvr,存储单元的阈值vcell>vpvr。同理,设定t_vr对应于iref_vr,在t_vr时刻,若vso<vlat,则icell>iref_vr,存储单元的阈值vcell<vvr,反之若vso>vlat,则icell<iref_vr,存储单元的阈值vcell>vvr。

可选地,在一次电流感应的时间内,进行两次数据的锁存并将所述两次比较结果锁存起来,并且利用所述两个结果判断出存储单元的阈值区间。

可选地,所读取的数据与其存储单元对应的阈值电压分布关系如下:设vso<vlat则锁存数据为1,反之为0,并将两次的数据分别称作d1和d2,其中d1对应于t_pvr,d2对应于t_vr:若d1=1,d2=1,则存储单元的阈值分布在vcell<vpvr,故存储单元分布在低阈值区域;若d1=0,d2=1,则存储单元的阈值分布在vpvr<vcell<vvr,故存储单元分布在高阈值区域;若d1=0,d2=0,则存储单元的阈值分布在vcell>vpvr,故存储单元分布在低阈值区域;以及若d1=1,d2=0,表示无效数据。

可选地,将此双数据验证模式应用于两比特存储单元(mlc)编程模式中,通过读取模式选择器来将双数据验证模式和单数据验证模式组合使用。

可选地,对于msb编程在未通过p2态时,对三个验证电压(vr1,vr2,vr3都采用双数据验证模式;在通过p2态后,在vr3上使用单数据验证模式。

可选地,在未通过p1态时,对三个验证电压(vr1,vr2,vr3)都采用双数据验证模式;在通过p1态后,在vr2和vr3上使用单数据验证模式。

可选地,在未通过p1态时,对三个验证电压(vr1,vr2,vr3)都采用双数据验证模式;在通过p1态后而未通过p2态时,在vr2、vr3上使用双数据验证模式;在通过p2态后,在vr3上使用单数据验证模式。

可选地,所述双数据读取验证方法还可以应用于单比特(slc)、三比特(tlc)、更多比特存储单元的编程模式中。

可选地,读取电路中包括两个锁存器latch用来存储双数据验证模式的数据。可选地,对于msb的存储结构,读取电路中包括四个锁存器latch来分别存储msb、lsb以及验证的双数据。

根据本发明的另一个方面,还提出了一种闪存存储单元的双数据读取验证设备,所述存储单元排列成阵列并且与相应的位线和字线相连,其中高阈值存储单元的阈值电压分布在小于编程态阈值电压(vvr)但大于低阈值存储单元的阈值电压(vpvr)的区域,低阈值存储单元的阈值电压分布在小于低阈值存储单元的阈值电压(vpvr)的区域,所述编程态阈值电压是验证电压,所述低阈值存储单元的阈值电压是预验证电压,所述双数据读取验证设备配置为:确定存储单元的当前阈值电压;如果所述当前阈值电压小于所述预验证电压,则确定所述存储单元为低阈值存储单元;如果所述当前阈值电压大于或等于所述预验证电压并且小于等于所述验证电压,则确定所述存储单元为高阈值存储单元;如果所述当前阈值电压大于所述验证电压,则确定所述存储单元处于编程态。

附图说明

图1示出了闪存存储单元件的阈值变化示意图。

图2示出了根据阈值对器件分为高阈值器件(hvt)和低阈值器件(lvt)的示意图。

图3示出了两次单数据验证的工作原理图。

图4示出了两次单数据验证方法的流程图。

图5示出了编程操作的示意流程图。

图6示出了根据本发明实施例的双数据读取方法的电路示例。

图7示出了根据本发明实施例的双数据读取方法的时序图。

图8示出了mlc存储单元件的阈值分布图。

图9示出了双数据验证模式在mlc编程中应用的流程图。

图10、11和12示出了双数据验证模式在mlc编程中的应用。

图13示出了双数据验证模式在mlc编程中应用的系统框架。

具体实施方式

现在对本发明的实施例提供详细参考,其范例在附图中说明,图中相同的数字全部代表相同的元件。为解释本发明下述实施例将参考附图被描述。

以下参照附图对本发明实施例的技术方案进行详细描述。应注意,贯穿附图,相同的元素由相同或相近的附图标记来表示。需要注意的是,本领域技术人员可以理解,本文中的术语“a与b相连”和“a连接到b”可以是a与b直接相连,也可以是a经由一个或多个其他组件与b相连。此外,本文中的“相连”和“连接到”可以是物理电连接,也可以是电耦接或电耦合等。

应该注意的是在本发明的场景中,验证操作指的是相对于阈值电压分布来评估或者改进已编程存储单元所呈现的阈值电压的操作,而编程操作指的是改变存储单元的阈值电压的操作。

为了解决双数据读取验证的读取效率不高的问题,本发明实施例提出了一种双数据读取验证的方法,该方法主要用于闪存存储单元的编程验证操作中,以快速找到高阈值的存储单元(hvt区域单元)。其中高阈值的存储单元是指阈值分布在小于编程态但接近编程态的区域的存储单元。而与之对应的就是低阈值存储单元(lvt区域单元),即阈值分布小于高阈值存储单元的存储单元。在后续的编程过程中,对hvt区域单元和lvt区域单元采用相同的字线电压、不同的编程位线电压,对hvt区域单元采用的线电压高于施加于lvt区域单元,以此来减少hvt区域单元阈值变化,使其能够与lvt区域单元同步达到编程态(p态)。

为此,需要首先区分出hvt器件和lvt器件,然后对hvt器件和lvt器件采用不同的编程条件。hvt器件和lvt器件的编程条件的共同点是在字线上加一样的ispp电压,不同之处在与在位线上采用不同的位线电压,即对于hvt器件使用高的vbl电压,而对于lvt器件使用低的vbl电压。

图5示出了编程操作的示意流程图。如图5所示,在进入编程状态后,首先对器件进行编程;然后对编程结果进行验证,如果验证通过则结束编程;如果验证没有通过,则将器件栅压增加δispp后,再对器件进行编程。如果阈值电压vth大于vr,表示器件处于编程态,验证结束;如果vr>vth>pvr,表示器件是hvt器件,使用高的vbl电压blfv;如果vth小于pvr,表示器件是lvt器件,使用低的vbl电压blpv。如图3所示,对于lvt器件和hvt器件,采用相同的字线电压但是不同的位线电压进行验证操作。

图6示出了根据本发明实施例的双数据读取方法的电路示例。如图6所示,与传统结构不同的是根据本发明实施例的双数据读取方法的电路包括两个锁存器(latch),用来锁存一次读取操作中的两次读取数据。根据本发明实施例的双数据读取验证方法在时序上仍然分为预充电、电流感应时间和放电时间三个时间段。在预充电阶段:为电容节点(so)上的电容充电;在电流感应阶段:存储单元件上的电流流过电容节点(so)上的电容,对其放电。其放电的速度和电流的大小相关,电流越大放电速度越快。充电阶段:对电容节点(so)上的存储电容充电;

电流感应阶段:通过存储单元对电容节点(so)上的存储电容放电,在所述放电期间:so节点的电压大小与存储单元的电流,放电时间,预充电是电容节点(so)的电压相关。cso*(vso_pre-vso(t))=icell*t,其中cso是电容节点(so)上的电容,是常数;vso_pre是预充电是电容节点(so)的电压,是常数;icell是存储单元的电流,与存储器件的阈值相关;vso(t)为t时刻电容节点(so)上的电压;t为放电时间。已知latch的翻转电压为vlat,则当翻转时刻对应的icell与时间t将是常数。

存储单元的电流与其阈值相关,对于给定的读取偏置状态,存储单元的阈值与读取偏置条件相差越大,则电流越大,并且阈值电压和读取电流一一对应,根据验证电压vpvr和vvr对应出两个参考电流iref_pvr和iref_vr,然后根据电流和放电时间的对应关系推导出对应的使锁存器翻转所需要的放电时间。

设定电流感应时间相当于设定了参考电流,假设设定t_pvr对应于iref_pvr,在t_pvr时刻,若vso<vlat,则icell>iref_pvr,存储单元的阈值vcell<vpvr,反之若vso>vlat,则icell<iref_pvr,存储单元的阈值vcell>vpvr。同理,设定t_vr对应于iref_vr,在t_vr时刻,若vso<vlat,则icell>iref_vr,存储单元的阈值vcell<vvr,反之若vso>vlat,则icell<iref_vr,存储单元的阈值vcell>vvr。

设置两个时间点分别进行锁存,分别得到数据和器件所在的阈值分布区域的关系如下:数据与其存储单元对应的阈值电压分布关系如下:

首先,设vso<vlat则锁存数据为1,反之为0,。并将两次的数据命名为d1和d2,其中d1对应于t_pvr,d2对应于t_vr。

若d1=1,d2=1,则器件的阈值分布在vcell<vpvr,故器件分布在低阈值区域。

若d1=0,d2=1,则器件的阈值分布在vpvr<vcell<vvr,故器件分布在高阈值区域。

若d1=0,d2=0,则器件的阈值分布在vcell>vvr,故器件分布在编程态。

若d1=1,d2=0,无效数据。

放电阶段:数据锁存操作结束之后将各节点放电。

图7示出了根据本发明实施例的双数据读取方法的时序图。如图7所示,在预充电阶段,通过在pch上加电压vdd+vth,sel,vpass以及存储单元上加验证的电压,使得电容节点(so)上充电到vdd,bl上施加到相应的字线验证电压。

在感应阶段,pch偏置电压的目的,在仅能保证电容节点(so)不会掉到vth_sa电压以下,故在电容节点(so)高于vth_sa时,so没有充电通路,只有放电通路(存储单元的验证电流)。设定两个感应时间分别来记录存储单元的阈值电压和vpvr和vvr之间的关系,并将数据存储起来。

在放电阶段,将字线,位线上以及相关充放电节点放电。

图8示出了mlc存储单元件的阈值分布图。

以下以双数据验证模式在mlc编程中应用为例,介绍本专利的双数据验证的思路,下图是双数据验证模式在mlc编程中应用的流程图。图9示出了双数据验证模式在mlc编程中应用的流程图。如图9所示,

对于编程的时序,正常的编程时序不变,只是可以将双数据读取和单数据读取验证依照情况组合使用。在如图10所示的示例1中,在未通过p2态时,可以对三个验证电压(vr1,vr2,vr3)上,都采用双数据验证模式;在通过p2态后,在vr3上使用单数据验证模式。

在如图11所示的示例2中,在未通过p1态时,可以对三个验证电压(vr1,vr2,vr3)上,都采用双数据验证模式,在通过p1态后,在vr2,vr3上使用单数据验证模式。

在如图12所示的示例3中,在未通过p1态时,可以对三个验证电压(vr1,vr2,vr3)上,都采用双数据验证模式;在通过p1态后而未通过p2态时,在vr2、vr3上使用双数据验证模式;在通过p2态后,在vr3上使用单数据验证模式。本专利的具体实施方案并不局限于此。

图13示出了双数据验证模式在mlc编程中应用的系统框架。所述系统框架包括器件区域、位线方向的电压产生及传输选择,字线方向的包括读取电路的页缓存器,包含读取模式选择器的控制逻辑电路。需要特殊说明的是:1.在读取电路中,对于msb的情况下,需要4个latch,分别存储2位编程数据,还有一次读取中的两位数据。2.对于读取模式选择器,可以根据不同的需求判断是需要双数据验证的方式,还是单次单数据验证的方式。本发明的实施例通过对同一个存储单元进行一次编程验证过程中,进行两次锁存到两个读数据以区别出hvt器件和lvt器件。本发明的方法减少了一次编程验证的时间,包括预充电时间、字线上电压建立的时间、感应时间等。

本发明实施例提出了一种双数据验证模式,通过一次编程验证中读取两个数据,来实现快速找出高阈值的存储单元的目的。

在字线上设置为编程验证电压,在位线上设置正常读取电压,编程验证时序包含三个部分,第一步,将电容节点充电,第二步,用存储单元单元电流对电容节点放电,第三步,对相关节点放电。

第二步中电容的放电速度与放电电流成正比,v/t=i/c。

第二步中,对于选定的锁存电压,大于与小于锁存电压得到的latch的数据不同,分别是0和1。那么对于选定的锁存电压,给定时间t,便可以根据锁存电压的数据判断出放电电流的大小,也就是存储单元的电流的大小。具体来讲,对于大于锁存电压的情况,是小的电流造成的,而大于锁存电压的情况是大电流造成的。

第二步中采用两步锁存,那么便可区分出大中小三档的电流,通过电流与存储单元件阈值的分布关系,就可以找到高阈值的存储单元。

将此双数据验证模式适用于两比特存储单元(mlc)编程模式当中,在系统架构上,需要读取模式的选择器来将本专利提出的双数据验证模式和单数据验证模式组合使用,以msb编程为例,示例1,在未通过p2态时,可以对三个验证电压(vr1,vr2,vr3)上,都采用双数据验证模式,在通过p2态后,在vr3上使用单数据验证模式。示例2,在未通过p1态时,可以对三个验证电压(vr1,vr2,vr3)上,都采用双数据验证模式,在通过p1态后,在vr2,vr3上使用单数据验证模式。示例3,在未通过p1态时,可以对三个验证电压(vr1,vr2,vr3)上,都采用双数据验证模式,在通过p1态后而未通过p2态时,在vr2,vr3上使用双数据验证模式,在通过p2态后,在vr3上使用单数据验证模式。具体应用不限于上述例子。

本发明实施例所述的方法,并不局限于mlc的编程模式,可以使用与单比特(slc)、三比特(tlc)、更多位存储单元等的编程模式中。

在电路实现上,本发明实施例要求读电路中有两个latch用来存储双数据验证模式的数据。如对于msb的存储结构,那么就需要四个latch来分别存储msb、lsb以及验证的双数据。

尽管已经参考本发明的典型实施例,具体示出和描述了本发明,但本领域普通技术人员应当理解,在不脱离所附权利要求所限定的本发明的精神和范围的情况下,可以对这些实施例进行形式和细节上的多种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1