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

一种针对OpenBlock的测试及处理方法与流程

2021-05-28 14:24:00 来源:中国专利 TAG:测试 方法 openblock nandflash
一种针对Open Block的测试及处理方法与流程

本发明涉及一种针对openblock的测试及处理方法,属于nandflash测试技术领域。



背景技术:

nandflash是目前被广泛应用的存储介质,nandflash以块(block)为擦除单位,页(page)为读写单位,在使用过程中极易出现某些块的页未写入数据的情况,这种没有写满数据的块我们称作开放块(openblock)。openblock中保存的数据稳定性较差,尤其是读取边缘页时,大概率出现大量数据位错误,应用到系统中可能表现为数据纠错失败。

具体的,openblock指未被完全写满的块。nandflash以块(block)为擦除单位,以页(page)或字线(wl)为读写单位,在使用过程中,如果一个block的所有page或wl没有被全部写入数据,我们将其称为openblock。openblock中最后写入数据的几个page或wl我们称为边缘page(wl)。与openblock对应的是完全写满数据的block,我们称为closeblock。

一般来说,影响nandflash保存数据的因素主要有擦写次数(pecounts)、数据保存时间(dataretention)、读取次数(readdisturb)、温度变化,但是它们对于closeblock和openblock的影响并不相同,所以如果对openblock使用与closeblock同样的处理策略是无法保证openblock中有效数据的读取正确性的,尤其是对边缘page(wl)而言,需要保护边缘page或字线的数据稳定。



技术实现要素:

本发明要解决的技术问题是提供一种针对openblock的测试及处理方法,测试得出openblock的边缘页或边缘字线,根据测试方法得出的结果有针对性的对openblock进行处理,避免因为openblock问题带来的数据读取错误。

为了解决所述技术问题,本发明采用的技术方案是:

一种针对openblock的测试方法,包括以下步骤:

s01)、选取一个block作为测试block,针对该block,从写入wl0开始,每写完一个wl的数据,就读取已经写过的所有wl,将所有读取的wl的数据错误位数记录下来,直至写满当前block,从而得到整个block写入过程中的所有fbc情况;

s02)、设block有n个wl,closeblock是n个wl全部写满数据,openblock是只有k个wl写入数据,k∈(0,n),对于测试的每个block,分析k以后的wl的数据错误位数,若从第s个wl之后,数据错误位数呈现相对稳定的振荡状态,说明openblock的数据已经相对稳定,要保证openblock的k个wl数据稳定性与closeblock一致,从wlk向后写入至少s个冗余wl,s∈(0,k-n]);与closeblock对比发现k个wl里面有m个边缘的wlfbc明显升高,这m个wl称作边缘wl。

进一步的,执行完步骤s02)之后执行步骤s03),s03)、将所有wl都写入数据,然后对m个边缘wl进行最优电压轴扫描,扫描完成后将m组最优电压轴分别用于m个边缘wl,找到一组让每个边缘wl的fbc都满足ecc纠错能力的电压轴,这就是m个边缘wl的最优电压轴。

进一步的,选取m个block重复步骤s01、s02,得到不同k值对应的s。

进一步的,将block的wl分为w组,编号1,2…,w,每组包含的wl数量分别为n/w,n/w*2…,n,选取测试的block,将第1组的wl都写入数据,然后对m个边缘wl进行最优电压轴扫描,扫描完成后将m组最优电压轴分别用于m个边缘wl,找到一组让每个边缘wl的fbc都满足ecc纠错能力的电压轴,这就是m个边缘wl的最优电压轴,然后擦除整个block,重复第1组wl的操作直至w组wl全部完成,最后就得到了所有w组openblock边缘wl的最优电压轴。

进一步的,通过在不同擦写次数、不同数据保存时间、不同读取次数和温度变化情况下测试,进而获取每组情况对应的s。

进一步的,通过在不同擦写次数、不同数据保存时间、不同读取次数和温度变化情况下测试而获取每种情况对应的边缘wl的最优电压轴。

本发明还公开一种针对openblock的处理方法,对于openblock的边缘wl采取使用最优电压轴读取边缘wl数据;对于有m个边缘wl的openblock,为了保证openblock的k个wl数据稳定性与closeblock一致,从wlk向后写入至少s个冗余wl。

进一步的,s个冗余wl写入随机数据。

本发明的有益效果:本发明所述测试方法能够快速获取openblock存储的数据特性,通过获取的具体数据可以快速得出对应的参数数值,同时测试中可以很容易的增加擦写次数(pecounts)、数据保存时间(dataretention)、读取次数(readdisturb)和温度变化等影响nandflash数据稳定性的方法,最终根据测试结果确定对应的处理方法。另外根据本专利描述的openblock边缘wl处理方法能够快速准确的读取多种情况下边缘wl的数据,降低openblock边缘wl的数据错误风险。

具体实施方式

图1为测试得到边缘wl的流程图;

图2为得到边缘wl最优电压轴的流程图;

图3为readwl12对应的fbc曲线示意图;

图4为readwl49对应的fbc曲线示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

实施例1

本实施例公开一种针对openblock的测试方法,本方法包括前部分,一部分是测试得到边缘wl,另一部分是测试得到边缘wl的最优电压轴。

本实施例以one-pass3dtlc为例,说明一种openblock的测试方法,并通过与closeblock的对比,给出openblock的处理方法。假设3dtlc的每个block有n个wl,closeblock即n个wl全部写满数据,openblock则是写入的wl数量只有k个,k∈(0,n)。

测试得出边缘wl的过程为:

s01)、选取一个block作为测试block,针对该block,从写入wl0开始,每写完一个wl的数据,就读取已经写过的所有wl,将所有读取的wl的数据错误位数记录下来,直至写满当前block,从而得到整个block写入过程中的所有fbc情况;

s02)、设block有n个wl,closeblock是n个wl全部写满数据,openblock是只有k个wl写入数据,k∈(0,n),对于测试的每个block,分析k以后的wl的数据错误位数(fbc),若从第s个wl之后,数据错误位数呈现相对稳定的振荡状态,说明openblock的数据已经相对稳定,要保证openblock的k个wl数据稳定性与closeblock一致,从wlk向后写入至少s个wl,s∈(0,k-n]);与closeblock对比可以发现k个wl里面会有边缘的m个wlfbc明显升高,这m个wl称作边缘wl。

图3为readwl12对应的fbc曲线示意图,从图3可以看出wl12的数据错误位数(fbc)随着向后顺序写入wl会呈现下降趋势,当wl12后第4个,即当写入wl超过wl16后,wl12的fbc呈现一个相对稳定的震荡状态,说明wl12的数据已经相对稳定,因为16-12=4,故s等于4,要保护k=12个wl的数据,需要向后写入至少s=4个wl。

图4为readwl49对应的fbc曲线示意图,从图4可以看出,目前写到第53个wl,前49个wl数据比较稳定了,那么fbc比较高的边缘wl的就是50、51、52、53,即m个边缘wl,m=53-49=4。

为了使测试具有普遍性,选取m个block重复步骤s01、s02,对最终数据进行统计分析就可以得出边缘wl。也可以根据需求对block的wl分组,根据上面的测试找出每组对应的s。

步骤s01、s02通过在不同擦写次数(pecounts)、不同数据保存时间(dataretention)、不同读取次数(readdisturb)和温度变化情况下测试而获取每种情况对应的s。

通过步骤s01、s02得出写入k个wl数据后会有m个边缘wl的数据稳定性明显不同于closeblock对应的wl,m即为openblock的边缘脆弱wl,其数据稳定性要远差于closeblock。同时步骤s01、s02得出的另一个结论是:保证k个wl数据稳定性而写入的s个wl,我们称为冗余wl,写入的数据应为随机数。冗余wl的写入是需要时间的,并且准备这些数据也需要一定的buffer资源占用。为了减少这部分开销,我们提出第二部分,即获取边缘wl的最优电压轴。

获取边缘wl的最优电压轴的过程为:将所有wl都写入数据,然后对m个边缘wl进行最优电压轴扫描,扫描完成后将m组最优电压轴分别用于m个边缘wl,找到一组让每个边缘wl的fbc都满足ecc纠错能力的电压轴,这就是m个边缘wl的最优电压轴。

这是通过一个block得到一组边缘wl最优电压轴的过程,为了减少测试量级将block的wl分为w组,编号1,2…,w,每组包含的wl数量分别为n/w,n/w*2…,n,选取测试的block,将第1组的wl都写入数据,然后对m个边缘wl进行最优电压轴扫描,扫描完成后将m组最优电压轴分别用于m个边缘wl,找到一组让每个边缘wl的fbc都满足ecc纠错能力的电压轴,这就是m个边缘wl的最优电压轴,然后擦除整个block,重复第1组wl的操作直至w组wl全部完成,最后就得到了所有w组openblock边缘wl的最优电压轴。

最优电压轴可以使当前的openblock的边缘wl数据都能够有效的被读取。

可以通过在不同擦写次数(pecounts)、不同数据保存时间(dataretention)、不同读取次数(readdisturb)和温度变化情况下测试而获取每种情况对应的边缘wl的最优电压轴。

图1为测试得到边缘wl的流程图,具体实施步骤为:

1、选取需要测试的block,设置此时需要写入的wl为0,然后执行步骤2;

2、判断当前写wl是否已经超过最后一个wl,如果是则结束,如果不是则执行步骤3;

3、向当前需要写数据的wl写入随机数据,然后执行步骤4;

4、设置读取的wl编号为0,即从wl0开始,然后执行步骤5;

5、读取当前读wl的数据,记录其错误位数,然后执行步骤6;

6、判断是否已经读完所有写wl,如果是则写wl编号加一,执行步骤2;如果否则读wl编号加一,执行步骤5。

图2为得到边缘wl最优电压轴的流程图,具体实施步骤为:

1、选取block,选取第一个wl组,执行步骤2;

2、将当前wl组的wl都写入数据,从而得到相应的openblock,然后执行步骤3;

3、设置第一个需要扫描的边缘wl,然后执行步骤4;

4、扫描当前边缘wl的最优电压轴,即错误数最低时候使用的电压轴,并记录电压轴,然后执行步骤5;

5、判断当前边缘wl是否为最后一个边缘wl,如果否,则执行步骤6;如果是则执行步骤7;

6、选择下一个需要扫描的边缘wl,然后执行步骤4;

7、得到m个边缘wl对应的m组电压轴,然后执行步骤8;

8、从m组电压轴中选择第一组电压轴,然后执行步骤9;

9、使用当前电压轴依次读取m个边缘wl,然后执行步骤10;

10、判断m个边缘wl是否全部满足ecc要求,如果否执行步骤11,如果是执行步骤13;

11、判断是否为最后一组电压轴,如果否执行步骤9,如果是执行步骤12;

12、记录扫描失败,本次没有找到一组合适的最优电压轴,然后执行步骤13;

13、判断是否是最后一个wl组,如果否执行步骤14,如果是则结束测试过程;

14、切换到下一个wl组,然后执行步骤2。

实施例2

本实施例公开一种针对openblock的处理方法,基于实施例1的测试结果,本方法对于openblock的边缘wl采取使用最优电压轴读取边缘wl数据;对于有m个边缘wl的openblock,为了保证openblock的k个wl数据稳定性与closeblock一致,需要向后写入至少s个wl。其中s个冗余wl写入随机数据。

本发明描述的测试方法能够快速获取openblock存储的数据特性,通过获取的具体数据可以快速得出对应的参数数值,同时测试中可以很容易的增加擦写次数(pecounts)、数据保存时间(dataretention)、读取次数(readdisturb)和温度变化等影响nandflash数据稳定性的方法,最终根据测试结果确定对应的处理方法。另外根据本专利描述的openblock边缘wl处理方法能够快速准确的读取多种情况下边缘wl的数据,降低openblock边缘wl的数据错误风险。

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

再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜