一种降低对uwl进行读取发生时间超时错误的方法_2

文档序号:9766632阅读:来源:国知局
LC颗粒的写操作,依据颗粒厂商的不同而有所差异,但也符合一定的规律。一般来说,对TLC存储单元的写入需要Program 3次才能完成,且3次Program并非连续进行,需要遵循一定的Program Order。图3所示是一种Program Order的示例。在对某一WL的3次Program操作完成之后,才算是当前WL的Program完成,如,对WLO进行Program,需要按照Program Order执行至顺序6的Program命令才行,在这个过程中,还对WLl执行了 2次Program,以及对WL2执行了 I次Program操作。对Block的写入,需要将整个Block进行写入而不留未Program的部分,假若待写入数据,即有效数据,不足以写满整个Block,需要在剩余的部分写入dummy数据进行补充,否则,错误bit数目会增大。将有效数据未能完全写满整个Block的块叫做Unclosed Block,将有效数据未能写满的WL称为Unclosed WL(UffL)。
[0028]图3是TLC NAND flash program order不例;图4是TLC NAND flash写命令数据流,图5是TLC NAND flash读命令数据流;当数据写入时,会根据编码算法对用户数据(userdata)进行编码,并生成相应的parity写入到颗粒中。而在数据读出时,会根据解码算法对从颗粒中读出的user data+parity数据进行解码。
[0029]在数据读出过程中,若对UWL进行读取,其中填补进去的dummy数据必然不满足解码算法,会出现UECC错误。盲目的对出错WL,特别是UWL,进行出错后的纠错,只会导致时间的增加从而引起主机端命令不能及时相应出现TO问题。
[0030]在颗粒初期,对颗粒处于各典型生命时期的状态的一个评估是必要的,可以根据评估概要的了解颗粒各个时期的情况。而在颗粒的初期,很少有UECC出现,或即便出现少量UECC也会在RR level较低时成功获取正确数据。也就是说在颗粒的初期,若出现RR多次仍旧UECC甚至于纠错算法仍旧失败的情况是不合理的。依据这个特性,可以设定,在颗粒初期,若出现UECC错误,进行少量RR尝试,仍旧错误即认为当前出错的读取是对UWL位置的读取导致的,不再进行尝试纠错。而在颗粒后期,如P/E Cycle达到400次以上,即便是正常的closed WL也有可能会出现UECC且需要多次RR及纠错,此时不在进行区分是否为UWL,均进行尝试RR以获取正确数据。
[0031 ]在TLC写入操作时,要求在写之前进行擦除操作,或者说是在需要写入时,前边紧跟着一个擦除操作,这样,在每次Program时,对当前Block的P/E Cycle进行记录,而在读取出现UECC时,查询当前Block的P/E Cycle值,若P/E Cycle小于400次,进行不超过5次的RR操作即返回状态响应主机端命令,若P/E Cycle值大于400次,按照最大限度纠错算法进行纠错,以期待获得正确的数据,图6TLC NAND flash读命令处理流程;当host的发出读命令,TLC接收到读命令到来,判断是否出现UECC,如果不出现UECC,则直接完成本次读操作;如果出现UECC,则查找PE Cycle表中当前block的PE Cycle值,判断PE Cycle是否大于400;如果是则进入RR及LDPC纠错流程以获取正确数据,完成读操作;如果判断PE Cycle不大于400,则当前WL可能为Unclosed WL,执行少量RR操作,完成读操作。
[0032]图7TLC NAND flash P/E cycle及老化对状态分布影响,随着P/E Cycle的增大及老化的影响,cell的电荷注入与释放都变的较为容易,这就导致了cell的电压的减小,状态分布向左偏移。此时,再按照颗粒初期的读阈值电压进行判断颗粒的状态,就会出现很大比例的错误,如假设cell本来写入数据时电压给定在V2与V3之间,写入值为“001”,而随着老化,cell中电子流失,电压减小,读出数据时,电压值位于Vl与V2之间,这时,读操作执行时就出现由于将数据“001”错误的读出为“011”而出现UECC。
[0033]通过对P/E Cycle记录,当读命令出现UECC且查询P/E Cycle值处于生命周期后期时,针对该Block进行读阈值电压的优化调整,可以将读阈值电压调整到当前最优的位置,而后续的读命令依据调整优化后的读阈值电压进行判定读取,可以较好的减少UECC的出现,从而减少RR操作次数,缩短CMD所消耗的时间。
[0034]其中,读阈值电压的优化调整,采用依次偏移读阈值电压,统计相邻两次偏移中读出数据中bit反转的个数,在整个偏移过程中个,bit反转个数最小的地方即可认为是当前Vref的最优值。
[0035]以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
【主权项】
1.一种降低对UWL进行读取发生时间超时错误的方法,其特征在于预先通过试验或测试的方法评估存储颗粒在各个使用周期出现UECC错误的概率,存储颗粒的使用周期通过该颗粒被擦写操作的次数来标识;根据评估获得当前读取命令出现UECC错误时需要执行RR操作的当前使用周期值Up/e,并与预先实验获取的阈值Cp/e进行比对,当当前读取命令出现UECC错误时且使用周期Up/e不大于使用周期阀值Cp/e,则执行不超过5次RR操作,且不再进行纠错操作就直接返回;当当前读取命令出现UECC错误时且使用周期Up/e大于使用周期阀值Cp/e,则执行尽可能多的RR操作和最大限度纠错操作。2.根据权利要求1所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于所述的使用周期阀值Cp/e为400。3.根据权利要求2所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于根据使用周期来动态调整存储颗粒的各个读阀值电压。4.根据权利要求3所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于根据使用周期来动态调整存储颗粒的各个读阀值电压的触发条件为存储颗粒的使用周期大于使用周期阀值Cp/e,且当前读取命令出现UECC错误。5.根据权利要求4所述的降低对UWL进行读取发生时间超时错误的方法,其特征在于所述动态调整存储颗粒的各个读阀值电压分别通过采用依次偏移读阈值电压,统计相邻两次偏移中读出数据中bit反转的个数,在整个偏移过程中个,bit反转个数最小的电压设置为当前最优读阀值电压。
【专利摘要】本发明公开了一种降低对UWL进行读取发生时间超时错误的方法,其特征在于预先评估存储颗粒在各个使用周期出现UECC错误的概率;根据评估获得当前读取命令出现UECC错误时需要执行RR操作的当前使用周期值Up/e,并与预先实验获取的阈值Cp/e进行比对,当出现UECC错误时且Up/e不大于Cp/e,则执行不超过5次RR操作,且不再进行纠错操作就直接返回;当出现UECC错误时且Up/e大于Cp/e,则执行尽可能多的RR操作和最大限度纠错操作。本发明当对UWL读取时,按照动态调整RR次数,且按照阶梯式调整读阈值电压调整优化来读取数据,大幅度减少由于对UWL进行过分的RR而出现的命令TO的错误。
【IPC分类】G11C16/34
【公开号】CN105529050
【申请号】CN201511030355
【发明人】胡颖颖
【申请人】记忆科技(深圳)有限公司
【公开日】2016年4月27日
【申请日】2015年12月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1