本发明涉及存储器技术领域,尤其涉及一种阈值电压调节方法。
背景技术:
基于浮栅结构的闪存单元是目前市场上主流的非易失性存储器技术。闪存单元的阈值电压可通过施加特定的编程电压和擦除电压进行动态调整,编程过程中,闪存单元中浮栅结构存储的电荷数量增加,阈值电压增大;擦除过程中,闪存单元中浮栅结构存储的电荷数量减少,阈值电压减小。闪存单元阈值电压的增大和减小代表存储不同的数据信息。例如,闪存单元编程后阈值电压较高,代表存储数据“0”,闪存单元擦除后阈值电压较低,代表存储数据“1”。
为了正确识别出存储的数据是“1”和“0”,需要设计参考存储单元。通过反复地编程和擦除操作,参考存储单元的阈值电压被调节至某个特定值,该特定值理论上应为存储数据“1”对应的阈值电压和存储数据“0”对应的阈值电压的中间位置。存储单元的阈值电压与参考存储单元的阈值电压进行比较,进而读出存储数据是“1”或“0”。
另外,在闪存芯片编程和擦除操作中,也需要设计阈值电压可调节的参考存储单元,将参考存储单元的阈值电压调节至特定值,用于比较判定编程和擦除操作的成功或失败。但现有技术中没有能够将参考存储单元的阈值电压调节至特定目标值的方法。
技术实现要素:
有鉴于此,本发明提供一种阈值电压调节方法,以提供一种将参考存储单元的阈值电压调节至特定目标值的调节方法。
为实现上述目的,本发明提供如下技术方案:
一种阈值电压调节方法,用于将闪存单元的阈值电压调节至一目标值,所述阈值电压调节方法包括:
获取闪存单元的阈值电压;
对闪存单元施加预设编程电压,将闪存单元的阈值电压调节至大于所述目标值;
获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定擦除电压脉冲,其中,所述当前阈值电压为经过编程操作或擦除操作后闪存单元的阈值电压;
对闪存单元进行擦除操作,直至擦除后的闪存单元的阈值电压与所述目标值的差值小于预设范围。
本发明还提供一种阈值电压调节方法,用于将闪存单元的阈值电压调节至一目标值,所述阈值电压调节方法包括:
获取闪存单元的阈值电压;
对闪存单元施加预设擦除电压,将闪存单元的阈值电压调节至小于所述目标值;
获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定编程电压脉冲,其中,所述当前阈值电压为经过编程操作或擦除操作后闪存单元的阈值电压;
对闪存单元进行编程操作,直至编程后的闪存单元的阈值电压与所述目标值的差值小于预设范围。
经由上述的技术方案可知,本发明提供的阈值电压调节方法,用于将闪存单元的阈值电压调节至目标值,通过预设初始编程(或擦除)电压,将阈值电压调到大于(或小于)目标值的状态,然后进行逐次擦除(或编程)操作,通过计算擦除(或编程)脉冲的幅度和宽度,进行多次擦除(或编程)操作,使得闪存单元的阈值电压逐渐接近目标值,达到将阈值电压调节到目标值的目的。由于后续的擦除(或编程)操作采用的擦除(或编程)电压脉冲幅度和脉冲宽度都是依据前一次擦除(或编程)后的阈值电压与目标值的差值进行计算得到的,从而使得阈值电压能够按照一定规律逐渐靠近目标值,进而达到目标值。也即,本发明提供的阈值电压调节方法,在预设了编程(或擦除)电压后,根据初次擦除(或编程)电压后的状态能够自动实现脉冲幅度和宽度的计算和阈值电压的调节。同时,针对不同闪存单元因工艺制造差异性和目标值差异性,均能够适用,适用于闪存单元阈值电压的批量调节。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种阈值电压调节方法流程示意图;
图2为本发明实施例提供的一种阈值电压调节具体方法流程示意图;
图3为本发明实施例提供的逐次擦除或编程时,脉冲幅度和宽度变化示意图;
图4为本发明实施例提供的另一种阈值电压调节方法流程示意图;
图5为本发明实施例提供的另一种阈值电压调节具体方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1为本发明实施例提供的一种阈值电压调节方法流程示意图;本发明实施例提供的阈值电压调节方法用于将闪存单元的阈值电压调节至目标值,具体包括:
s101:获取闪存单元的阈值电压;
本发明中获取闪存单元的阈值电压是指获取闪存单元在进行阈值电压调节之前的阈值电压;该阈值电压为闪存单元制作完成后即具有的阈值电压。
s102:对闪存单元施加预设编程电压,将闪存单元的阈值电压调节至大于所述目标值;
本实施例中不限定预设编程电压的具体数值,需要说明的是,当闪存单元为一个时,只要保证该闪存单元的阈值电压经过编程后,调节至大于目标值即可;当同时对多个闪存单元进行阈值电压调节时,需要保证经过编程后,多个闪存单元的阈值电压均大于目标值。
s103:获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定擦除电压脉冲,其中,所述当前阈值电压为经过编程操作或擦除操作后闪存单元的阈值电压;
本发明实施例中获取闪存单元的当前阈值电压是指在经过编程操作或擦除操作后的闪存单元的阈值电压,例如,在施加预设编程电压后进行编程操作后的阈值电压可以作为编程后的当前阈值电压;后续进行擦除操作后,再获取的当前阈值电压即为擦除操作后的闪存单元的阈值电压。另外,需要说明的是,闪存单元阈值电压和流过闪存单元的源漏电流一一对应,实际操作中,检测闪存单元的阈值电压也可由检测流过闪存单元的源漏电流检测得到。
即获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定擦除电压脉冲,具体包括:获取闪存单元的当前源漏电流;基于所述当前源漏电流与所述目标值对应的源漏电流值,确定擦除电压脉冲。
将获取的闪存单元的当前源漏电流对应到当前阈值电压,将阈值电压的目标值对应到目标源漏电流,然后根据当前源漏电流与目标源漏电流值,确定擦除电压脉冲。
s104:对闪存单元进行擦除操作,直至擦除后的闪存单元的阈值电压与所述目标值的差值小于预设范围。
本发明实施例中,对闪存单元进行擦除操作可以不仅仅只有一次,每次获取当前阈值电压后,且当前阈值电压与目标值的差值并没有小于预设范围,则还需要返回获取闪存单元的当前阈值电压,并基于新的当前阈值电压和目标值计算下一次擦除脉冲宽度和幅度,然后进行擦除操作,也即擦除操作有可能包括逐次进行擦除操作的步骤,所述逐次进行擦除操作具体包括:基于所述编程操作后的当前阈值电压和所述目标值的差值,确定第1次擦除电压脉冲的幅度和宽度;按照所述第1次擦除电压脉冲进行第1次擦除操作;需要说明的是,在第一次擦除操作后,有可能已经将闪存单元的阈值电压调节到目标值的预设范围内,因此,需要判断第1次擦除操作后的当前阈值电压和所述目标值的差值是否小于所述预设范围,若是,则结束;若否,则基于第i次擦除后的当前阈值电压和所述目标值,计算第i+1次擦除脉冲幅度和宽度,其中,i≥1;按照第i+1次擦除脉冲幅度和宽度进行擦除操作,直至当前阈值电压与所述目标值的差值小于预设范围。具体调节过程,可以参见图2所示,图2为本发明实施例提供的一种阈值电压调节具体过程示意图。
也即,基于当前阈值电压和所述目标值的差值,计算下一次擦除脉冲幅度和宽度;按照所述下一次擦除脉冲幅度和宽度进行擦除操作;若还没将阈值电压调节到目标值附近,则将擦除操作后的闪存单元的阈值电压作为当前阈值电压,返回所述基于当前阈值电压和所述目标值的差值,计算下一次擦除脉冲幅度和宽度;直至所述当前阈值电压与所述目标值的差值小于预设范围。
需要说明的是,在每次擦除操作后,都还需要进行当前阈值电压和目标值的差值计算,并与预设范围进行比较,若该差值已经小于预设范围,则说明调节到位,则结束调节。若该差值大于预设范围,则说明还需要继续进行调节,则将擦除操作后的闪存单元的阈值电压作为当前阈值电压,返回所述基于当前阈值电压和所述目标值的差值,计算下一次擦除脉冲幅度和宽度;直至所述当前阈值电压与所述目标值的差值小于预设范围。
需要说明的是,本发明实施例提供的阈值电压调节方法,为了高效的将闪存单元的阈值电压调节至某一目标范围,提出了一种自动化动态调节方法。该方法首先对闪存单元施加统一的编程脉冲,将闪存单元的阈值电压编程到远大于目标值的状态。然后用动态调节的擦除脉冲,逐次擦除,将闪存单元的阈值电压一步一步降低至目标范围内。
其中,第1次擦除脉冲幅度vpu1和脉冲宽度tpu1由编程之后的当前阈值电压与目标值的差值计算得到,施加完第1次擦除脉冲后,检测闪存单元当前阈值电压和目标值电压的差值,基于此差值,按照预设的比例关系α,自动计算下一次擦除脉冲幅度和脉冲宽度增加的步长,然后施加第二次擦除脉冲。按此方法,自动调节擦除脉冲幅度和脉冲宽度,逐次擦除,直至检测到闪存单元阈值电压达到目标范围。
需要说明的是,比例关系α定的越小,每一次擦除闪存单元阈值电压降低的幅度越大,阈值电压调节至目标范围的时间越短,但是越容易出现阈值电压降低至超出目标值范围的失败;比例关系α定的越大,每一次擦除闪存单元阈值电压降低的幅度越小,阈值电压可以被很精确的调节至目标范围,但是阈值电压调节的时间更长。
实际操作中,α也可以不为某一固定值,而根据检测到的当前存储单元阈值电压和目标值的差值动态调节,实现阈值电压调节精度和速度的折中。
由于本发明实施例提出的闪存单元阈值电压调节方法,每一次擦除脉冲的幅度和宽度都是由当前闪存单元的阈值电压与目标值的差值自动调节,因此对于不同闪存单元工艺制造差异性导致的阈值电压变化幅度差异的问题,该方法不会增加任何调节难度。同时,对于不同闪存单元阈值电压目标值不同的情况,只需要对应设置不同初始擦除脉冲宽度和时间,不会增加测试时间。
具体的,第i次擦除后的当前阈值电压和所述目标值,计算第i+1次擦除脉冲幅度和宽度,其中,i≥1,具体包括:
vpu(i+1)=vpui+αi*(vtci-vta);
tpu(i+1)=tpui+βi*(vtci-vta);
其中,vpu(i+1)为第i+1次擦除脉冲的幅度;tpu(i+1)为第i+1次擦除脉冲的宽度;vtci为第i次擦除后的当前阈值电压;vta为所述目标值;αi为脉冲幅度比例系数;βi为脉冲宽度比例系数。
其中,在本发明的一个实施例中,脉冲幅度比例系数αi和所述脉冲宽度比例系数βi均为固定值。在本发明的另外实施例中,还可以是不固定的。当(vtci-vta)大于预设差值时,所述脉冲幅度比例系数为第一脉冲幅度比例系数,且所述脉冲宽度比例系数为第一脉冲宽度比例系数;当(vtci-vta)小于或等于预设差值时,所述脉冲幅度比例系数为第二脉冲幅度比例系数,且所述脉冲宽度比例系数为第二脉冲宽度比例系数;所述第二脉冲幅度比例系数小于所述第一脉冲幅度比例系数,且所述第二脉冲宽度比例系数小于所述第一脉冲幅度比例系数。也即,可选择的,也可设定为当(vtci-vta)大于某一固定值(0~8v)时为α1,当(vtci-vta)小于或等于该固定值(0~8v)时为α2。可选择的,也可设定为当(vtci-vta)大于某一固定值(0~8v)时为β1,当(vtci-vta)小于或等于该固定值(0~8v)时为β2。
还可以是,当脉冲幅度大于预设脉冲幅度值时,所述脉冲幅度比例系数为第三脉冲幅度比例系数,当脉冲幅度小于或等于所述预设脉冲幅度值时,所述脉冲幅度比例系数为第四脉冲幅度比例系数;其中,所述第四脉冲幅度比例系数小于所述第三脉冲幅度比例系数;即可选择的,可设定为当vpu(i+1)大于某一固定值(0~30v)时为α1,当vpu(i+1)小于或等于该固定值(0~30v)时为α2。
当脉冲宽度大于预设脉冲宽度值时,所述脉冲宽度比例系数为第三脉冲宽度比例系数,当脉冲宽度小于或等于所述预设脉冲宽度值时,所述脉冲宽度比例系数为第四脉冲宽度比例系数;其中,所述第四脉冲宽度比例系数小于所述第三脉冲宽度比例系数。即可选择的,可设定为当vpu(i+1)大于某一固定值(0~30v)时为β1,当vpu(i+1)小于或等于该固定值(0~30v)时为β2。
下面结合实际例子,说明本发明实施例提供的阈值电压调节方法的具体过程。
假设闪存单元阈值电压被调节的目标值为vta,每次擦除脉冲幅度为vpu,脉冲宽度为tpu,擦除操作之后闪存单元当前阈值电压为vtc,前后两个脉冲幅度变化的比例系数为α,前后两个脉冲宽度变化的比例系数为β。
第一步,施加一个大的编程脉冲,将闪存单元阈值电压调节至大于目标值vta状态。该步操作只需要使用1个编程脉冲即可实现,被调节的闪存单元阈值电压不需要在某个具体范围,大于目标值vta即可。
第二步,逐次施加擦除脉冲将闪存单元的阈值电压调节至目标值范围。
如图3所示,基于闪存单元编程后的当前阈值电压以及目标值的差值计算得到第1次擦除电压脉冲幅度vpu1和脉冲宽度tpu1。在对闪存单元进行第1次擦除操作后。
自动计算第2次擦除脉冲幅度和宽度如下:
vpu2=vpu1+α1*(vtc1-vta)
tpu2=tpu1+β1*(vtc1-vta)
完成第2次擦除操作后,检测当前闪存单元的阈值电压vtc2,如果vtc2已经达到目标阈值电压vta允许范围,自动调节过程结束。如果vtc2未达到vta允许范围,继续自动计算第3次擦除操作脉冲幅度和宽度如下:
vpu3=vpu2+α2*(vtc2-vta)
tpu3=tpu2+β2*(vtc2-vta)
按上述过程,逐次进行擦除操作,直至闪存单元阈值电压被调节至目标阈值电压的允许范围。
其中,α1可以等于α2,两者也可以不相等,同样的,β1可以等于β2,两者也可以不相等,本实施例中对此不作限定。
以上为针对一个闪存单元进行阈值电压调节的方法,基于相同的发明构思,本发明提供的上述阈值电压调节还可以应用在对批量闪存单元的阈值电压调节中,具体地,闪存单元包括至少两个闪存单元时,在调节过程中,有可能有的闪存单元的阈值电压已经调节到目标值,但有的还没有调节到目标值,此时,获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定擦除电压脉冲,具体包括:
选取编程操作后闪存单元的阈值电压中最小的阈值电压作为当前阈值电压;
基于所述当前阈值电压和所述目标值,确定第1次擦除电压脉冲;
对闪存单元进行第1次擦除操作;
判断第1次擦除操作后的所有存储单元的当前阈值电压和所述目标值的差值是否小于所述预设范围,若是,则结束;
若否,则在第i次擦除后,从与所述目标值的差值大于所述预设范围的所有阈值电压中,选取最小的阈值电压作为新的当前阈值电压;
基于第i次擦除后的新的当前阈值电压和所述目标值,计算第i+1次擦除脉冲幅度和宽度,其中,i≥1;
按照第i+1次擦除脉冲幅度和宽度进行擦除操作,直至所有闪存单元经过擦除操作后的阈值电压与所述目标值的差值均小于预设范围。
也就是说,在每次擦除操作后,检测所有闪存单元的阈值电压是否已经达到与目标值的差值在预设范围内,也即调节到位,若是,则所有闪存单元的阈值电压调节已经完成。若否,则需要剔除已经调节到位的闪存单元,再对剩下的所有闪存单元进行阈值电压调节。
由于擦除操作是将阈值电压进行下调,为避免一次擦除造成闪存单元的阈值电压降低过多,出现过多调节的问题,本实施例中选取剩余多个闪存单元中阈值电压最小的阈值电压作为当前阈值电压,然后基于当前阈值电压与目标值的差值计算下一次擦除的脉冲幅度和宽度,从而保证闪存单元按照阈值电压大小,由阈值电压小的到阈值电压大的,依次完成调节,进而保证所有闪存单元的阈值电压均能够调节到目标值。且,能够节约一定的调节时间,实现快速调节。
需要说明的是,基于第i次擦除后的所述新的当前阈值电压和所述目标值,计算第i+1次擦除脉冲幅度和宽度的过程同一个闪存单元的阈值电压调节方法中的过程相同,本实施例中对此不作详细说明。
本发明实施例中提供的阈值电压调节方法,能够应用在批量闪存单元的阈值电压调节中,使得闪存单元阈值电压调节更加快捷,而且批量调节闪存单元的阈值电压,更加具有实用性。
本发明实施例还提供另外一种阈值电压调节方法,如图4所示,阈值电压调节方法,用于将闪存单元的阈值电压调节至目标值,所述阈值电压调节方法包括:
s201:获取闪存单元的阈值电压;
s202:对闪存单元施加预设擦除电压,将闪存单元的阈值电压调节至小于所述目标值;
本实施例中不限定预设擦除电压的具体数值,需要说明的是,当闪存单元为一个时,只要保证该闪存单元的阈值电压经过擦除后,调节至小于目标值即可;当同时对多个闪存单元进行阈值电压调节时,需要保证经过擦除后,多个闪存单元的阈值电压均小于目标值。
s203:获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定编程电压脉冲,其中,所述当前阈值电压为经过编程操作或擦除操作后闪存单元的阈值电压;
需要说明的是,闪存单元阈值电压和流过闪存单元的源漏电流一一对应,实际操作中,检测闪存单元的阈值电压也可由检测流过闪存单元的源漏电流检测得到。
即获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定编程电压脉冲,具体包括:获取闪存单元的当前源漏电流;基于所述当前源漏电流与所述目标值对应的源漏电流值,确定编程电压脉冲。
将获取的闪存单元的当前源漏电流对应到当前阈值电压,将阈值电压的目标值对应到目标源漏电流,然后根据当前源漏电流与目标源漏电流值,确定编程电压脉冲。
s204:对闪存单元进行编程操作,直至编程后的闪存单元的阈值电压与所述目标值的差值小于预设范围。
同理地,本发明实施例中,对闪存单元进行编程操作可以不仅仅只有一次,每次获取当前阈值电压后,且当前阈值电压与目标值的差值并没有小于预设范围,则还需要返回获取闪存单元的当前阈值电压,并基于新的当前阈值电压和目标值计算下一次编程脉冲宽度和幅度,然后进行编程操作,也即编程操作有可能包括逐次进行编程操作的步骤,所述逐次进行编程操作具体包括:基于所述擦除操作后的当前阈值电压和所述目标值的差值,确定第1次编程电压脉冲的幅度和宽度;按照所述第1次编程电压脉冲进行第1次编程操作,需要说明的是,在第一次编程操作后,有可能已经将闪存单元的阈值电压调节到目标值的预设范围内,因此,需要判断第1次编程操作后的当前阈值电压和所述目标值的差值是否小于所述预设范围,若是,则结束;若否,则基于第i次编程后的当前阈值电压和所述目标值,计算第i+1次编程脉冲幅度和宽度,其中,i≥1;按照第i+1次编程脉冲幅度和宽度进行编程操作,直至当前阈值电压与所述目标值的差值小于预设范围。具体调节过程,可以参见图5所示,图5为本发明实施例提供的一种阈值电压调节具体过程示意图。
也即,基于当前阈值电压和所述目标值的差值,计算下一次编程脉冲幅度和宽度;按照所述下一次编程脉冲幅度和宽度进行编程操作;若还没将阈值电压调节到目标值附近,则将编程操作后的闪存单元的阈值电压作为当前阈值电压,返回所述基于当前阈值电压和所述目标值的差值,计算下一次编程脉冲幅度和宽度;直至所述当前阈值电压与所述目标值的差值小于预设范围。
同样地,在每次编程操作后,都还需要进行当前阈值电压和目标值的差值计算,并与预设范围进行比较,若该差值已经小于预设范围,则说明调节到位,则结束调节。若该差值大于预设范围,则说明还需要继续进行调节,则将编程操作后的闪存单元的阈值电压作为当前阈值电压,返回所述基于当前阈值电压和所述目标值的差值,计算下一次编程脉冲幅度和宽度;直至所述当前阈值电压与所述目标值的差值小于预设范围。
需要说明的是,本发明实施例提供的阈值电压调节方法,为了高效的将闪存单元的阈值电压调节至某一目标范围,提出了一种自动化动态调节方法。该方法首先对闪存单元施加统一的擦除脉冲,将闪存单元的阈值电压擦除到远小于目标值的状态。然后用动态调节的编程脉冲,逐次编程,将闪存单元的阈值电压一步一步升高至目标范围内。
其中,第1次编程脉冲幅度vpu1和脉冲宽度tpu1由擦除之后的当前阈值电压与目标值的差值计算得到,施加完第1次编程脉冲后,检测闪存单元当前阈值电压和目标值电压的差值,基于此差值,按照预设的比例关系α,自动计算下一次编程脉冲幅度和脉冲宽度增加的步长,然后施加第二次编程脉冲。按此方法,自动调节编程脉冲幅度和脉冲宽度,逐次编程,直至检测到闪存单元阈值电压达到目标范围。
需要说明的是,比例关系α定的越小,每一次编程闪存单元阈值电压升高的幅度越大,阈值电压调节至目标范围的时间越短,但是越容易出现阈值电压降低至超出目标值范围的失败;比例关系α定的越大,每一次编程闪存单元阈值电压升高的幅度越小,阈值电压可以被很精确的调节至目标范围,但是阈值电压调节的时间更长。
实际操作中,α也可以不为某一固定值,而根据检测到的当前存储单元阈值电压和目标值的差值动态调节,实现阈值电压调节精度和速度的折中。
由于本发明实施例提出的闪存单元阈值电压调节方法,每一次编程脉冲的幅度和宽度都是由当前闪存单元的阈值电压与目标值的差值自动调节,因此对于不同闪存单元工艺制造差异性导致的阈值电压变化幅度差异的问题,该方法不会增加任何调节难度。同时,对于不同闪存单元阈值电压目标值不同的情况,只需要对应设置不同初始编程脉冲宽度和时间,不会增加测试时间。
具体的,第i次编程后的当前阈值电压和所述目标值,计算第i+1次编程脉冲幅度和宽度,其中,i≥1,具体包括:
vpu(i+1)=vpui+αi*(vta-vtci);
tpu(i+1)=tpui+βi*(vta-vtci);
其中,vpu(i+1)为第i+1次编程脉冲的幅度;tpu(i+1)为第i+1次编程脉冲的宽度;vtci为第i次编程后的当前阈值电压;vta为所述目标值;αi为脉冲幅度比例系数;βi为脉冲宽度比例系数。
其中,在本发明的一个实施例中,脉冲幅度比例系数αi和所述脉冲宽度比例系数βi均为固定值。在本发明的另外实施例中,还可以是不固定的。当(vta-vtci)大于预设差值时,所述脉冲幅度比例系数为第一脉冲幅度比例系数,且所述脉冲宽度比例系数为第一脉冲宽度比例系数;当(vta-vtci)小于或等于预设差值时,所述脉冲幅度比例系数为第二脉冲幅度比例系数,且所述脉冲宽度比例系数为第二脉冲宽度比例系数;所述第二脉冲幅度比例系数小于所述第一脉冲幅度比例系数,且所述第二脉冲宽度比例系数小于所述第一脉冲幅度比例系数。也即,可选择的,也可设定为当(vta-vtci)大于某一固定值(0~8v)时为α1,当(vta-vtci)小于或等于该固定值(0~8v)时为α2。可选择的,也可设定为当(vta-vtci)大于某一固定值(0~8v)时为β1,当(vta-vtci)小于或等于该固定值(0~8v)时为β2。
还可以是,当脉冲幅度大于预设脉冲幅度值时,所述脉冲幅度比例系数为第三脉冲幅度比例系数,当脉冲幅度小于或等于所述预设脉冲幅度值时,所述脉冲幅度比例系数为第四脉冲幅度比例系数;其中,所述第四脉冲幅度比例系数小于所述第三脉冲幅度比例系数;即可选择的,可设定为当vpu(i+1)大于某一固定值(0~30v)时为α1,当vpu(i+1)小于或等于该固定值(0~30v)时为α2。
当脉冲宽度大于预设脉冲宽度值时,所述脉冲宽度比例系数为第三脉冲宽度比例系数,当脉冲宽度小于或等于所述预设脉冲宽度值时,所述脉冲宽度比例系数为第四脉冲宽度比例系数;其中,所述第四脉冲宽度比例系数小于所述第三脉冲宽度比例系数。即可选择的,可设定为当vpu(i+1)大于某一固定值(0~30v)时为β1,当vpu(i+1)小于或等于该固定值(0~30v)时为β2。
下面结合实际例子,说明本发明实施例提供的阈值电压调节方法的具体过程。
假设闪存单元阈值电压被调节的目标值为vta,每次编程脉冲幅度为vpu,脉冲宽度为tpu,编程操作之后闪存单元当前阈值电压为vtc,前后两个脉冲幅度变化的比例系数为α,前后两个脉冲宽度变化的比例系数为β。
第一步,施加一个大的擦除脉冲,将闪存单元阈值电压调节至小于目标值vta状态。该步操作只需要使用1个擦除脉冲即可实现,被调节的闪存单元阈值电压不需要在某个具体范围,小于于目标值vta即可。
第二步,逐次施加编程脉冲将闪存单元的阈值电压调节至目标值范围。
基于闪存单元编程后的当前阈值电压以及目标值的差值计算得到第1次擦除电压脉冲幅度vpu1和脉冲宽度tpu1。在对闪存单元进行第1次擦除操作后。
自动计算第2次编程脉冲幅度和宽度如下:
vpu2=vpu1+α1*(vta-vtc1)
tpu2=tpu1+β1*(vta-vtc1)
完成第2次编程操作后,检测当前闪存单元的阈值电压vtc2,如果vtc2已经达到目标阈值电压vta允许范围,自动调节过程结束。如果vtc2未达到vta允许范围,继续自动计算第3次编程操作脉冲幅度和宽度如下:
vpu3=vpu2+α2*(vta-vtc2)
tpu3=tpu2+β2*(vta-vtc2)
按上述过程,逐次进行编程操作,直至闪存单元阈值电压被调节至目标阈值电压的允许范围。
其中,α1可以等于α2,两者也可以不相等,同样的,β1可以等于β2,两者也可以不相等,本实施例中对此不作限定。
以上为针对一个闪存单元进行阈值电压调节的方法,基于相同的发明构思,本发明提供的上述阈值电压调节还可以应用在对批量闪存单元的阈值电压调节中,具体地,闪存单元包括至少两个闪存单元时,在调节过程中,有可能有的闪存单元的阈值电压已经调节到目标值,但有的还没有调节到目标值,此时,所述获取闪存单元的当前阈值电压,基于所述当前阈值电压和所述目标值,确定编程电压脉冲,具体包括:
选取擦除操作后闪存单元的阈值电压中最大的阈值电压作为当前阈值电压;
基于所述当前阈值电压和所述目标值,确定第1次编程电压脉冲;
对闪存单元进行第1次编程操作;
判断第1次编程操作后的所有存储单元的当前阈值电压和所述目标值的差值是否小于所述预设范围,若是,则结束;
若否,则在第i次编程后,从与所述目标值的差值大于所述预设范围的所有阈值电压中,选取最大的阈值电压作为新的当前阈值电压;
基于第i次编程后的新的当前阈值电压和所述目标值,计算第i+1次编程脉冲幅度和宽度,其中,i≥1;
按照第i+1次编程脉冲幅度和宽度进行编程操作,直至所有闪存单元经过编程操作后的阈值电压与所述目标值的差值均小于预设范围。
也就是说,在每次编程操作后,检测所有闪存单元的阈值电压是否已经达到与目标值的差值在预设范围内,也即调节到位,若是,则所有闪存单元的阈值电压调节已经完成。若否,则需要剔除已经调节到位的闪存单元,再对剩下的所有闪存单元进行阈值电压调节。
由于编程操作是将阈值电压进行上调,为避免一次编程造成闪存单元的阈值电压提高过多,出现过多调节的问题,本实施例中选取剩余多个闪存单元中阈值电压最大的阈值电压作为当前阈值电压,然后基于当前阈值电压与目标值的差值计算下一次编程的脉冲幅度和宽度,从而保证闪存单元按照阈值电压大小,由阈值电压大的到阈值电压小的,依次完成调节,进而保证所有闪存单元的阈值电压均能够调节到目标值。且,能够节约一定的调节时间,实现快速调节。
需要说明的是,基于第i次编程后的所述新的当前阈值电压和所述目标值,计算第i+1次编程脉冲幅度和宽度的过程同一个闪存单元的阈值电压调节方法中的过程相同,本实施例中对此不作详细说明。
本发明实施例中提供的阈值电压调节方法,能够应用在批量闪存单元的阈值电压调节中,使得闪存单元阈值电压调节更加快捷,而且批量调节闪存单元的阈值电压,更加具有实用性。
发明人在实践中还提供一种将参考存储单元的阈值电压调节到特定目标值的方法,该方法中闪存单元的阈值电压调节同样通过编程操作和擦除操作实现。编程操作将闪存单元阈值电压调大,阈值电压变大的幅度与施加编程电压的大小和时间成正比;擦除操作将闪存单元阈值电压调小,阈值电压变小的幅度与施加擦除电压的大小和时间成正比。
目前闪存芯片主流的编程物理机制为fn(fowler-nordheim)隧穿和沟道热载流子注入,擦除物理机制为fn隧穿。这两种机制都是通过施加编程高压和擦除高压实现的,但是编程高压和擦除高压的大小和时间与闪存阈值电压调节的幅度难以量化。
所以闪存单元阈值电压的调节方法是通过施加编程电压脉冲,将闪存单元的阈值电压调大,当闪存单元的阈值电压大于目标值(所述目标值为参考存储单元的特定值)时,再施加擦除电压脉冲,将闪存单元的阈值电压调小,循环操作使得闪存单元阈值电压接近目标值。
但是,由于编程高压和擦除高压的大小和时间与闪存单元的阈值电压调节的幅度难以量化,该方法需要经过很多次的循环操作才能将闪存单元的阈值电压调节至目标值附近,导致调节闪存单元阈值电压的测试时间很长,增加测试成本。同时,由于不同闪存单元制造工艺存在差异,施加相同的编程和擦除电压,闪存单元阈值电压被调节的幅度会不同,增加了闪存单元阈值电压调节的测试难度。当不同闪存单元阈值电压调节的目标值不同时,没有合适的脉冲幅度和时间调整算法,也会增加测试时间。
与以上述阈值电压随机调节方法相比,本发明实施例提供的阈值电压调节方法在选取初始擦除(或编程)脉冲幅度和宽度,进行第一次擦除(或编程)操作后,后面的擦除(或编程)脉冲幅度和宽度基于当前阈值电压和目标阈值电压的差值自动计算调节。相比于上面所述的通过编程脉冲和擦除脉冲来回重复调节的方法,能够在一定程度上降低操作次数,进而减少阈值电压调节的时间。同时,对不同闪存单元工艺制造差异性和目标阈值差异性不敏感。
而且,相邻两次擦除(或编程)脉冲幅度和宽度变化的比例系数也可以根据实际情况进行动态调节,能够有效平衡闪存单元阈值电压调节的速度和准确率,实现调节速度和准确率的最优折中。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。