一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种扫描TLCNANDFlash最优读参数的方法与流程

2020-12-29 13:19:00 来源:中国专利 TAG:最优 扫描 参数 方法 tlcnandflash
一种扫描TLC NANDFlash最优读参数的方法与流程

本发明涉及一种扫描tlcnandflash最优读参数的方法,属于存储技术领域。



背景技术:

nandflash作为数据存储介质广泛应用于固态存储设备中。然而,nandflash的物理结构和材料特性决定了其保存数据存在天然的风险。nandflash保存的数据随着nandflash的磨损、读次数的升高和保存时间的增加会出现数据位翻转的情况,从而导致数据读取出错。所以,使用nandflash作为存储介质的设备中都会针对nandflash增加ecc校验,目前主要的ecc编码为bch和ldpc。虽然ecc可以从一定程度上增强数据的稳定性,但是为了进一步提高数据的稳定性,我们需要一些方法对nandflash读取进行优化。



技术实现要素:

本发明要解决的技术问题是提供一种扫描tlcnandflash最优读参数的方法,在nandflashshiftread基础上通过对nandflash错误数的扫描获取当前状态下nandflash的最优读取参数,从而进一步提升nandflash保存数据的稳定性。

为了解决所述技术问题,本发明采用的技术方案是:一种扫描tlcnandflash最优读参数的方法,包括以下步骤:

s01)、获取整个block的最大错误位数量becmax,以整个block的becmax作为基础参考值beccmp;

s02)、设定下降幅度becdec和扫描阈值becthr,判断beccmp–becdec与becthr的关系,如果beccmp–becdec>becthr,则将beccmp–becdec作为参考阈值,如果小于则以becthr作为参考阈值;

s03)、以步骤s02确定的参考阈值进行block最优读参数扫描,记录本次扫描整个block的becmax;

s04)、判断becmax与becthr的关系,如果becmax小于becthr,则将扫描结果进行记录并退出;如果大于则将本次扫描的becmax作为下次梯度下降的基础参考值beccmp,执行步骤s02至s04。

进一步的,步骤s03进行block最优读参数扫描的过程为:

s31)、判断是否已经执行过扫描过程,如果是则选用上次扫描记录的读参数作为本次扫描的基础,如果不是则使用默认值0作为本次扫描的读参数基础;

s32)、将扫描设置在block的开始位置,即wl等于0,page等于lowerpage处,然后开始扫描;

s33)、判断wl是否达到当前block的wl最大值,如果是则使用之前扫描得到的读参数读取当前block,记录becmax和读参数,然后结束扫描;如果不是则进入步骤s34;

s34)、判断page是否到达upperpage,如果是,则切换到下一个wl进行步骤s33;如果不是,则根据当前page选择读参数p的顺序,进入步骤s35;

s35)、判断当前读参数p是否是当前page对应的最后一个读参数,如果是则切换到下一个page执行步骤s34;如果不是则进入步骤s36;

s36)、根据预设的offset值,判断shiftread的offset是否达到最后一个offset,如果是则切换到当前page的下一个读参数,执行s35;如果不是则执行s37;

s37)、选取offset然后与当前读参数p相加组成新的shiftread读参数,然后执行s38;

s38)、使用s37得到的读参数读取当前page,得到当前page的becmax,执行s39;

s39)、判断becmax是否小于beccmp,如果不是则选择下一个offset然后执行s36;如果是则记录nok加1,然后执行s10;

s310)、判断nok是否等于3,即是否有3次shiftread使becmax小于beccmp,如果不是则选择下一个offset然后执行s36;如果是则找出3次becmax最小那次对应的offset,然后执行s311;

s311)、将原px对应的原值与s310得到的offset相加,得到一个新值并记录下来,然后切换到当前page的下一个读参数,执行s35。

进一步的,对于232编码tlcnandflash,每个wl包含3个page,分别是lp、mp、up,其中lp对应的读参数为p0、p4,mp对应的读参数为p1、p3、p5,up对应的读参数为p2、p6。

进一步的,block扫描从wl0开始,每个wl内部的读取顺序为lp、mp、up,每个page内部的读参数顺序为先大后小。

进一步的,每次shiftread间隔为2,shiftread顺序如下:

0、-2、2、-4、4、-6、6、-8、8、-10、10、-12、12、……、-62、62、-64、64。

进一步的,扫描得到的最优读参数保存到表格文件中。

进一步的,步骤s01中,通过normalread获取整个block的最大错误位数量becmax。

本发明的有益效果:本专利使用阈值梯度下降方法对nandflash进行扫描,执行扫描时不需要了解block内存储的数据内容,并且不受nandflash的磨损状况限制,根据用户输入的阈值快速准确的找到nandflash的最优读参数,扫描过程不需要用户参与,扫描的基准数据长度可以灵活配置。

附图说明

图1为实施例1所述方法的流程图;

图2为block最优读参数扫描流程图。

具体实施方式

本实施例公开一种扫描tlcnandflash最优读参数的方法,下面结合附图和具体实施例对本发明作进一步的说明。

实施例1

nandflash的读取命令分为两种:normalread和shiftread,本实施例使用shiftread的方式对nandflash进行读取。3dtlc作为目前主流的nandflash被广泛应用,本发明以2-3-2编码的3dtlcnandflash为例进行方法说明。扫描过程中保存的读电压参数使用表格形式进行保存。

根据nandflashcell的健康状态和数据保存的情况,数据内容读取时会出现位翻转,使用shiftread改变输入参数能够从一定程度上缓解位翻转现象,从而降低读取的数据出现位错误的数量。

如图1所示,本实施例所述方法包括以下步骤:

s01)、使用normalread方式获取整个block的最大错误位数量becmax,并以整个block的becmax作为基础参考值beccmp,目的是得到当前block未经扫描的原始错误数;

s02)、设定下降幅度becdec和扫描阈值becthr,判断beccmp–becdec与becthr的关系,如果beccmp–becdec>becthr,则将beccmp–becdec作为参考阈值,如果小于则以becthr作为参考阈值;

s03)、以步骤s02确定的参考阈值进行block最优读参数扫描,记录本次扫描整个block的becmax;

s04)、判断becmax与becthr的关系,如果becmax小于becthr,则将扫描结果进行记录并退出;如果大于则将本次扫描的becmax作为下次梯度下降的基础参考值beccmp,执行步骤s02至s04。

如图2所示,步骤s03进行block最优读参数扫描的过程为:

s31)、判断是否已经执行过扫描过程,如果是则选用上次扫描记录的读参数作为本次扫描的基础,如果不是则使用默认值0作为本次扫描的读参数基础;

s32)、将扫描设置在block的开始位置,即wl等于0,page等于lowerpage处,然后开始扫描;

s33)、判断wl是否达到当前block的wl最大值,如果是则使用之前扫描得到的读参数读取当前block,记录becmax和读参数,然后结束扫描;如果不是则进入步骤s34;

s34)、判断page是否到达upperpage,如果是,则切换到下一个wl进行步骤s33;如果不是,则根据当前page选择读参数p的顺序,进入步骤s35;

s35)、判断当前读参数p是否是当前page对应的最后一个读参数,如果是则切换到下一个page执行步骤s34;如果不是则进入步骤s36;

s36)、根据预设的offset值,判断shiftread的offset是否达到最后一个offset,如果是则切换到当前page的下一个读参数,执行s35;如果不是则执行s37;

s37)、选取offset然后与当前读参数p相加组成新的shiftread读参数,然后执行s38;

s38)、使用s37得到的读参数读取当前page,得到当前page的becmax,执行s39;

s39)、判断becmax是否小于beccmp,如果不是则选择下一个offset然后执行s36;如果是则记录nok加1,然后执行s10;

s310)、判断nok是否等于3,即是否有3次shiftread使becmax小于beccmp,如果不是则选择下一个offset然后执行s36;如果是则找出3次becmax最小那次对应的offset,然后执行s311;

s311)、将原px对应的原值与s310得到的offset相加,得到一个新值并记录下来,然后切换到当前page的下一个读参数,执行s35。

对于232编码tlcnandflash,每个wl包含3个page,分别是lp、mp、up,其中lp对应的读参数为p0、p4,mp对应的读参数为p1、p3、p5,up对应的读参数为p2、p6。

block扫描从wl0开始,每个wl内部的读取顺序为lp、mp、up,每个page内部的读参数顺序为先大后小。即mp先扫描p5,然后p3,最后p1;lp和up类似。

本实施例中,每次shiftread间隔为2,shiftread顺序如下:

0、-2、2、-4、4、-6、6、-8、8、-10、10、-12、12、……、-62、62、-64、64。

每次shiftread只修改一个参数px,将获取的becmax与becthr做比较,如果becmax小于becthr则记录这一次px满足条件,如果所有shiftread中有3次都满足条件,就找到这3次中使becmax最小的那一次px,记录下来。

本方案最终得到的读参数保存到表格文件中,也可以保存成其他形式。

本专利描述的方法使用阈值梯度下降方法能够快速准确的对nandflash进行扫描,然后获取满足阈值条件的最优读参数。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜