一种NANDFlash存储器读阈值电压修复方法与流程

文档序号:19725227发布日期:2020-01-18 03:19阅读:420来源:国知局
一种NAND Flash存储器读阈值电压修复方法与流程

本发明涉及存储芯片测试技术领域,具体涉及一种nandflash存储器读阈值电压修复方法。



背景技术:

nandflash存储器的存储单元为浮栅晶体管,其数据存储是通过改变存储单元的阈值电压实现的,具体地,数据写入是在强电场下利用电子隧穿的量子效应改变使带电粒子进入浮栅层,以改变浮栅晶体管的阈值电压。而数据的读出,是在存储单元的栅极上施加读取电压,并将存储单元的阈值电压与读取电压进行比较。当阈值电压小于读取电压时将存储单元的存储状态判断为数据1,否则为0。

通常芯片出厂前都需要进行老化测试以检测芯片的可靠性,即在高温环境下使芯片重复进行写入和擦除操作以实现检测芯片寿命;在测试过程中由于环境温度较高并且执行多次操会导致少数电子留在存储单元的浮栅层,永久的改变了存储单元的阈值特性,级别之间甚至出现重叠。原先设定的读取电压可能不再是最佳的读取电压;读取操作时将会出现误判导致出现较多的failbit,即写入数据与读出数据不同;因此需要对预先设定的读取电压进行补偿操作,使nandflash存储器保持在最佳状态。



技术实现要素:

为了克服nandflash存储器在进行较多次写入和擦除操作后,再进行读取操作会出现读出错误的技术问题,本发明提供一种nandflash存储器读阈值电压修复方法。

本发明所述的nandflash存储器读阈值电压修复方法,步骤包括:

选取nandflash存储器中的若干block(块),并在选出的每一block中选取若干page(页);

在选出的每一page中写入若干比特的待写数据;

对nandflash存储器设置不同的测试阈值电压,并在slc(单级别)模式下,基于不同的测试阈值电压,对其中一page进行若干次读操作,并计算每一测试阈值电压值对应的比特变化量;

获取此page对应的若干读取电压vread,并根据若干读取电压,获取与每一读取电压vread对应的比特变化量;

根据每一读取电压vread对应的比特变化量,获取与之对应的补偿读取电压,并基于补偿读取电压,对nandflash存储器进行补偿操作,判断此补偿读取电压是否有效;

若无效则重复上一操作,直至此补偿读取电压有效;若有效,则循环上述操作若干次,获得剩余每一page对应的若干补偿读取电压,并根据若干补偿读取电压,获取最佳读取电压。

优选地,获得每一测试阈值电压值对应的比特变化量的步骤包括:

设置初始的测试阈值电压v1,并设置测试阈值电压变化量δv;

计算page对应的测试阈值电压vn,测试阈值电压vn的计算公式为:

vn=v1+(n-1)δv,其中,n为读操作的次数,n=1,2,3……;

基于测试阈值电压vn,对其中一page进行读操作,记录读操作后输出的不为0的比特个数;

循环以上两步操作,获得若干测试阈值电压vn对应的若干比特个数;并根据若干比特个数,计算每一测试阈值电压值对应的比特变化量。

优选地,获取与每一读取电压vread对应的比特变化量的步骤包括:

获取未补偿前的page对应的若干读取电压vread;

计算一读取电压vread与若干测试阈值电压vn差的绝对值;并选取与此读取电压vread差的绝对值最小的测试阈值电压vn;

循环上一步操作若干次,得到与每一读取电压vread对应的测试阈值电压vn;并得到与每一读取电压vread对应的比特变化量。

优选地,根据每一读取电压vread对应的比特变化量,获取与之对应的补偿读取电压的步骤包括:

对一读取电压vread对应的比特变化量,以及与此读取电压vread相邻的测试阈值电压vread-δv和测试阈值电压vread+δv对应的比特变化量进行比较,获得补偿读取电压相对于此读取电压vread的变化方向;

在变化方向内,选取一定的区间范围,并在区间范围内,获取最小的比特变化量,以及与此比特变化量对应的测试阈值电压vn,此测试阈值电压vn即为补偿读取电压;

循环上述操作,获得剩余每一读取电压vread对应的补偿读取电压。

优选地,获得补偿读取电压相对于此读取电压vread的变化方向的步骤包括:

对一读取电压vread对应的比特变化量,以及与此读取电压vread相邻的测试阈值电压vread-δv对应的比特变化量进行比较;

若测试阈值电压vread-δv对应的比特变化量小于此读取电压vread对应的比特变化量,则补偿读取电压相对于此读取电压vread向左变化;若不小于,则对此读取电压vread对应的比特变化量,以及与此读取电压vread相邻的测试阈值电压vread+δv对应的比特变化量进行比较;

若测试阈值电压vread+δv对应的比特变化量小于此读取电压vread对应的比特变化量,则补偿读取电压相对于此读取电压vread向右变化;若不小于,则补偿读取电压相对于此读取电压vread未发生变化。

优选地,根据若干补偿读取电压,获取最佳读取电压的步骤包括:

每次获得一page对应的若干有效的补偿读取电压后,基于此若干补偿读取电压,对nandflash存储器进行补偿操作;

对此page,以及上一次进行补偿操作对应的page进行若干次读操作,记录读操作后由上一次补偿操作对应的page中读出的数据;并与上一次补偿操作对应的page中写入的数据进行比较,得出错误比特数;

若错误比特数在误差允许范围内,则将此page对应的若干有效的补偿读取电压,作为执行过补偿操作的所有page的补偿读取电压;若不在误差允许范围内,则重新计算补偿读取电压,计算公式为:

v=(vbcn+vbcn-1)/2,其中v为重新计算后得到的补偿读取电压,vbcn为此page对应的补偿读取电压,vbcn-1为上一次补偿操作对应的page对应的补偿读取电压;

重复上述操作,直至对最后一个选出的page进行上述操作,获得适配选出的所有page的最佳读取电压。

优选地,初始的测试阈值电压v1为-1.5v,测试阈值电压变化量δv为0.1v。

优选地,读操作的次数n的最大值为70。

优选地,区间范围为所述区间范围为vreadn至vreadn+1或vreadn-1至vreadn。

优选地,误差允许范围为0至72比特。

综上所述,本发明提供的nandflash存储器读阈值电压修复方法,在nandflash存储器中选取若干测试样本,即若干page,在每一page中写入若干比特的待写数据,并在存储单元阈值区内不同的测试阈值电压下,计算由page读出的比特变化量,获取未补偿前page的读取电压,根据读取电压和比特变化量确定此page的读取电压变化方向,并在合理区间内确定此page的补偿读取电压,测试补偿电压是否有效,若有效,则循环上述操作,直至获得最后一个page的补偿读取电压,根据之前确认有效的补偿读取电压和测试样本中最后一个page的补偿读取电压,确定最佳读取电压,最佳读取电压对选出的测试样本均有效,从而更加匹配整个nandflash存储器,提高经过较多次写入和擦除操作后,nandflash存储器读操作的正确率。

附图说明

图1是本发明中nandflash存储器读阈值电压修复方法步骤流程图;

图2是在多次写入或读出操作后,实际读取电压相较于初始设置的读取电压发生变化的关系示意图;

图3是本发明一个具体实施例的示意图。

具体实施方式

下面结合附图说明根据本发明的具体实施方式。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。

nandflash存储器的存储单元为浮栅晶体管,其数据存储是通过改变存储单元的阈值电压实现的,具体地,数据写入是在强电场下利用电子隧穿的量子效应改变使带电粒子进入浮栅层,以改变浮栅晶体管的阈值电压。

通常芯片出厂前都需要进行老化测试以检测芯片的可靠性,即在高温环境下使芯片重复进行写入和擦除操作以实现检测芯片寿命;在测试过程中由于环境温度较高并且执行多次操会导致少数电子留在存储单元的浮栅层,永久的改变了存储单元的阈值特性,级别之间甚至出现重叠。如图2所示,实线代表原先设定的读取电压,虚线代表最佳的读取电压,此时原先设定的读取电压不再是最佳的读取电压;读取操作时将会出现误判导致出现较多的failbit,即写入数据与读出数据不同。

为了克服nandflash存储器在进行较多次写入和擦除操作后,再进行读取操作会出现读出错误的技术问题,本发明提供的一种nandflash存储器读阈值电压修复方法;通过在nandflash存储器中选取若干测试样本,以测试样本表征nandflash存储器的特性,对测试样本在不同条件下进行写入或读出操作,得出每个测试样本对应的若干补偿读取电压,并根据若干补偿读取电压,获取最佳读取电压,最佳读取电压对所有测试样本均有效,从而兼顾不同page对应的读取电压可能不同的情况,使得nandflash存储器读操作的正确率得以提升。

具体地,本发明所述的nandflash存储器读阈值电压修复方法,如图1所示,步骤包括:

s1、选取nandflash存储器中的若干block,并在选出的每一block中选取若干page;

本步骤中,nandflash存储器包括若干个block,block是nandflash存储器中最小的可擦除单元;同时,每个block由若干个page组成;而这若干个page彼此之间的阈值特性可能不同,具体参见图3,图3中读取电压1至读取电压7分别代表page对应的7个读阈值电压,上页、中页和下页分别为block中的3个不同的page;在横坐标表示内容相同的情况下;不同page对应的读取电压1至读取电压7并不分别重合,可以看出page彼此之间的阈值特性可能不同;为使得由nandflash存储器中选出的若干page能够代表nandflash存储器整体的特性,可采用随机抽取、分层抽取等方式;选出的page总数和位置可根据实际工况设置。

s2、在选出的每一page中写入若干比特的待写数据;

本步骤中,对选出的所有page进行写入操作,即在每一个page中写入若干比特的待写数据;具体地,若在每一个page中写入n比特的待写数据,则n比特的待写数据使得该page的阈值状态均匀的分布在这2n个级别中,便于后续可以准确对此page中每一个级别对应的读取电压进行补偿操作。

s3、对nandflash存储器设置不同的测试阈值电压,并在slc模式下,基于不同的测试阈值电压,对其中一page进行若干次读操作,并计算每一测试阈值电压值对应的比特变化量;

需要说明的是,slc模式为传统的单级别存储单元,在此模式下存储单元仅含有一个读阈值电压,即只能存储一个比特的数据。

进一步地,获得每一测试阈值电压值对应的比特变化量的步骤包括:

s31、设置初始的测试阈值电压v1,并设置测试阈值电压变化量δv;其中,优选地,初始的测试阈值电压v1为-1.5v,测试阈值电压变化量δv为0.1v。

s32、计算page对应的测试阈值电压vn,测试阈值电压vn的计算公式为:

vn=v1+(n-1)δv,其中,n为读操作的次数,n=1,2,3……;优选地,读操作的次数n的最大值为70。

s33、基于测试阈值电压vn,对其中一page进行读操作,记录读操作后输出的不为0的比特个数;

本步骤中,在步骤s2中,为选出的每一page中写入若干比特的待写数据,即每一个page中存储有若干比特的待写数据,也就是说每一个page对应2n个读取电压;而采用slc模式对此page进行读操作时,此page仅有一个读阈值电压,若加在栅极上实际的读取电压高于此读阈值电压,则可将低于此读阈值电压对应的全部数据读出,若低于则不能读出;

本步骤中,基于不同的测试阈值电压vn,对此page进行读操作,即每次读操作前将此page在slc模式下对应的读阈值电压修改为对应的测试阈值电压vn;这样对此page进行n次读操作后,可获得每个测试阈值电压vn对应读出的不为0的比特个数。

s34、循环以上两步操作,获得若干测试阈值电压vn对应的若干比特个数;并根据若干比特个数,计算每一测试阈值电压值对应的比特变化量。

本步骤中,根据步骤s33中获得的每个测试阈值电压vn对应读出的不为0的比特个数,可得到每个测试阈值电压vn相较于与之相邻的前一个测试阈值电压vn-1的差值,即比特变化量。

s4、获取此page对应的若干读取电压vread,并根据若干读取电压,获取与每一读取电压vread对应的比特变化量;

其中,具体地,获取与每一读取电压vread对应的比特变化量的步骤包括:

s41、获取未补偿前的page对应的若干读取电压vread;

本步骤中,在步骤s2中,为选出的每一page中写入n比特的待写数据,即未补偿前每一个page均对应2n个读取电压vread;为确定此page在多次写入或读出操作后,实际读取电压相较于初始设置的读取电压的变化方向,需要先获取初始设置的读取电压。

s42、计算一读取电压vread与若干测试阈值电压vn差的绝对值;并选取与此读取电压vread差的绝对值最小的测试阈值电压vn;

s43、循环上一步操作若干次,得到与每一读取电压vread对应的测试阈值电压vn;并得到与每一读取电压vread对应的比特变化量。

采用上述技术方案,步骤s42和s43获得与每一初始设置的读取电压对应的测试阈值电压vn和比特变化量,以对应的测试阈值电压vn和比特变化量表征此读取电压的特性,便于后续得出每一page对应的变化后的补偿读取电压。

s5、根据每一读取电压vread对应的比特变化量,获取与之对应的补偿读取电压,并基于补偿读取电压,对nandflash存储器进行补偿操作,判断此补偿读取电压是否有效;

本步骤中,获得page对应的补偿读取电压后,需要判断补偿读取电压是否有效,即需要通过发送命令将补偿读取电压写入nandflash存储器对应的寄存器中,此寄存器用来控制栅极设置电压的大小;待写入成功后,对此page进行读操作,将读出的数据与此page写入的数据进行比较,若错误的比特数目较少,在误差允许范围内,则说明有效;若错误的比特数目较多,则无效。

其中,具体地,根据每一读取电压vread对应的比特变化量,获取与之对应的补偿读取电压的步骤包括:

s51、对一读取电压vread对应的比特变化量,以及与此读取电压vread相邻的测试阈值电压vread-δv和测试阈值电压vread+δv对应的比特变化量进行比较,获得补偿读取电压相对于此读取电压vread的变化方向;

进一步地,获得补偿读取电压相对于此读取电压vread的变化方向的步骤包括:

s511、对一读取电压vread对应的比特变化量,以及与此读取电压vread相邻的测试阈值电压vread-δv对应的比特变化量进行比较;

s512、若测试阈值电压vread-δv对应的比特变化量小于此读取电压vread对应的比特变化量,则补偿读取电压相对于此读取电压vread向左变化;若不小于,则对此读取电压vread对应的比特变化量,以及与此读取电压vread相邻的测试阈值电压vread+δv对应的比特变化量进行比较;

s513、若测试阈值电压vread+δv对应的比特变化量小于此读取电压vread对应的比特变化量,则补偿读取电压相对于此读取电压vread向右变化;若不小于,则补偿读取电压相对于此读取电压vread未发生变化,即维持原有vread值不变,该page不需要进行读取电压vread的补偿操作。

s52、在变化方向内,选取一定的区间范围,并在区间范围内,获取最小的比特变化量,以及与此比特变化量对应的测试阈值电压vn,此测试阈值电压vn即为补偿读取电压;其中,优选地,区间范围为vreadn至vreadn+1或vreadn-1至vreadn,即区间范围不超过相邻vread的区间大小。

本步骤中,每一个page中写入n比特的待写数据,则n比特的待写数据使得该page的阈值状态均匀的分布在这2n个级别中,每个级别中存储单元的数量随阈值电压的变化呈峰状分布,各级别间存在间隙以防止出现读取数据错误,在间隙处的存储单元最少,通常此处电压为补偿读取电压,具体地,比特变化量可以间接反映存储单元的分布数量,因此最小的比特变化量就对应着最小数量的存储单元,即补偿读取电压的所在位置。

s53、循环上述操作,获得剩余每一读取电压vread对应的补偿读取电压。

s6、若无效则重复上一操作,直至此补偿读取电压有效;若有效,则循环上述操作若干次,获得剩余每一page对应的若干补偿读取电压,并根据若干补偿读取电压,获取最佳读取电压。

本步骤中,nandflash存储器包括若干个block,同时,每个block由若干个page组成;而这若干个page彼此之间的阈值特性可能不同,为使得获得的最佳读取电压对整个nandflash存储器均有效,则需要考虑代表nandflash存储器特性的测试样本中所有page读取电压的变化情况。

其中,具体地,根据若干补偿读取电压,获取最佳读取电压的步骤包括:

s61、每次获得一page对应的若干有效的补偿读取电压后,基于此若干补偿读取电压,对nandflash存储器进行补偿操作;

s62、对此page,以及上一次进行补偿操作对应的page进行若干次读操作,记录读操作后由上一次补偿操作对应的page中读出的数据;并与上一次补偿操作对应的page中写入的数据进行比较,得出错误比特数;

s63、若错误比特数在误差允许范围内,则将此page对应的若干有效的补偿读取电压,作为执行过补偿操作的所有page的补偿读取电压;若不在误差允许范围内,则重新计算补偿读取电压,计算公式为:

v=(vbcn+vbcn-1)/2,其中,v为重新计算后得到的补偿读取电压,vbcn为此page对应的补偿读取电压,vbcn-1为上一次对应的page对应的补偿读取电压;优选地,上述的误差允许范围为0至72比特,当然,误差允许范围还可以为任一测试允许读取误差范围,可以根据实际工况人为定义其大小。

s64、重复上述操作,直至对最后一个选出的page进行上述操作,获得适配选出的所有page的最佳读取电压。

下面给出一个本发明的具体实施例:

以存储容量为32gb的nandflash存储器为例,其含有2012个block,每个block中包含384个page,每个page含有18432个字节;抽选出block地址为1、670和2011的block,并且在这三个block中选择page地址为0、1和2的page作为测试样本。

基于tlc模式,对上面选出的9个page进行写操作,将3个page大小的随机数据存入相应block中,该随机数据使得被执行的存储单元的阈值状态均匀分布在这8个级别中,具体关系参见图3。

设置初始的测试阈值电压v1为-1.6v,每次读操作的测试阈值电压变化量δv为0.1v,读操作的次数n为71;基于不同的测试阈值电压,对block地址为1,并且page地址为0的page进行71次读操作,并计算每一测试阈值电压值vn对应的比特变化量;

获取并根据此page对应的7个读取电压vread,找到与这7个读取电压vread相减绝对值最小的测试阈值电压值,从而获取与每一读取电压vread对应的比特变化量;

根据每一读取电压vread对应的比特变化量,判断相比于这7个读取电压vread,实际的此page对应的读取电压变化方向,并根据变化方向,在一定区间内,获取比特变化量最小的存储单元,此存储单元对应的电压,即为补偿读取电压,并基于补偿读取电压,对nandflash存储器进行补偿操作,判断此补偿读取电压是否有效;

若无效则重复上一操作,直至此补偿读取电压有效;若有效,则循环上述操作若干次,获得剩余8个page对应的若干补偿读取电压,并根据若干补偿读取电压,最终获得对整个nandflash存储器中所有page均适用的最佳读取电压。

综上所述,本发明提供的nandflash存储器读阈值电压修复方法,在nandflash存储器中选取若干测试样本,即若干page,在每一page中写入若干比特的待写数据,并在存储单元阈值区内不同的测试阈值电压下,计算由page读出的比特变化量,获取未补偿前page的读取电压,根据读取电压和比特变化量确定此page的读取电压变化方向,并在合理区间内确定此page的补偿读取电压,测试补偿电压是否有效,若有效,则循环上述操作,直至获得最后一个page的补偿读取电压,根据之前确认有效的补偿读取电压和测试样本中最后一个page的补偿读取电压,确定最佳读取电压,最佳读取电压对选出的测试样本均有效,从而更加匹配整个nandflash存储器,提高经过较多次写入和擦除操作后,nandflash存储器读操作的正确率。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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