一种动态规避nand的刷新读到未写页的方法技术

技术编号:35644260 阅读:24 留言:0更新日期:2022-11-19 16:36
本发明专利技术公开一种动态规避nand的刷新读到未写页的方法,设计页状态记录表,页状态记录表是一个动态数据集,记录每个page的状态,进行refresh读操作时,首先对页状态记录表进行检查,判断当前所选page是否已经写入,若此页已经写过,满足要求,进行refresh读操作,如果当前页未写过,则换页,寻址下一页,若将整个block的所有page页遍历完,说明在页状态数据集中没有找到合适的page,将page页设置为0,同时记录错误的block信息。本发明专利技术可以动态更新各block的每一个page状态,使用者可以根据该方法采取相应措施减少因为NAND refresh读到未写页导致出现大量读错误,从而规避first read现象,降低资源损耗。降低资源损耗。降低资源损耗。

【技术实现步骤摘要】
一种动态规避nand的刷新读到未写页的方法


[0001]本专利技术涉及存储领域,具体是一种动态规避nand的刷新读到未写页的方法。

技术介绍

[0002]NAND Flash在使用过程中有一种现象,长时间不读的Block,第一次读取时BER (字节错误率)会比较高,后续读取BER则会明显下降,我们称之为First Read 现象。
[0003]目前常用的规避first read现象的方法是在一定时限内对每个block的任意一个page进行refresh(刷新)操作,可以显著降低first read现象导致的高BER。但测试中发现若refresh操作到未写page,此page的block的BER依旧很高,无法完成规避first read现象的目的。

技术实现思路

[0004]本专利技术的目的是提供一种动态规避nand的刷新读到未写页的方法,基于该方法,可以在实现一次refresh完全解决first read 现象,从而降低资源消耗,提升芯片性能。
[0005]为了解决所述问题,本专利技术采用的技术方案是:一种动态规避nand的刷新读到未写页的方法,包括以下步骤:S01)、设计页状态记录表,页状态记录表是一个动态数据集,记录每个page的状态,即是否是未写页;S02)、进行refresh读操作时,首先对页状态记录表进行检查,判断当前所选page是否已经写入,若此页已经写过,满足要求,进行refresh读操作,如果当前页未写过,则换页,寻址下一页,再次重复步骤S02);进行refresh读操作前,首先对页状态记录表进行检查,页状态记录表中记录了当前时刻所有页是否写入的状态,若当前时刻所选择的页已经写过,则可以满足refresh操作的要求,否则需要进行换页寻找操作。
[0006]S03)、若将整个block的所有page页遍历完,说明在页状态数据集中没有找到合适的page,即block上的所有page都没有写入,将page页设置为0,同时记录错误的block信息。
[0007]进一步的,block在进行编程、擦除操作后都对页状态记录表进行更新。
[0008]进一步的,页状态记录表为四维数组,以ce\lun\block\page的方式记录每个page的状态。
[0009]进一步的,开始refresh读操作之前,检查当前page页数是否超出block页数最大值,如果超过,则将page设置为2,同时记录错误的block信息,如果未超过,则检查页状态记录表。
[0010]本专利技术的有益效果:本专利技术可以动态更新各block的每一个page状态,使用者可以根据该方法采取相应措施减少因为NAND refresh读到未写页导致出现大量读错误,从而完美规避first read现象,降低资源损耗。
附图说明
[0011]图1为本专利技术的流程图。
具体实施方式
[0012]下面结合附图和具体实施例对本专利技术作进一步的说明。
[0013]实施例1本实施例公开一种动态规避nand的刷新读到未写页的方法,影响refresh成功率的主要因素为可能读到了未写的page。实现规避refresh到未写page的方法为设置页状态记录表和refresh管理模块。
[0014]页状态记录表动态四维数据集,以ce\lun\block\page的方式完整的记录了每个page的状态。所有的编程、擦除操作都会影响到当前数据集的某些page状态,页状态记录表是一个动态数据集。
[0015] refresh管理模块是本方法的执行和表维护模块。每次执行前先对页状态记录表进行检查,确认当前表中page数据是否满足执行要求。若不满足的话进行换页操作,保证refresh时能够读取到已经写入过的page。同样,在进行编程、擦除操作后对页状态记录表及时更新,使得表一直处于动态调整过程中。
[0016]如图1所示,本方法的具体实施步骤为:第一,refresh管理模块要对每一个block进行page页的refresh读操作。首先检查当前page是否超出所选nand的block 中page数最大值,若未超过则进行下一步。
[0017]第二,查询页状态记录表。该记录表为一个记录了所有page状态的数据表。读取数据表的四维数组,根据ce\lun\block\page顺序定位到当前block的page编号,数据表标明了当前所选page是否已经写入。若当前数据表返回值为true,说明此页已经写过,满足要求,可以进行refresh读操作。
[0018]第四.若当前page不满足要求,则寻址下一页page,再次重复整个过程,直到找到已经写入的page,若将整个block的所有page页遍历完,即当前所选page已经超过block最大值,则说明在页状态数据集中没有找到合适的page,即block上的所有page都没有写入,将page页设置为0,同时记录错误的block信息,便于日后排查。
[0019]在页状态记录表中寻址的过程中,若当前页不满足已写入的要求,则需要遍历寻址下一页,继续在页状态记录表中查找当前页的状态,refresh操作要求寻找到已写入的page,若遍历完整个block没有找到合适的page,即block上的所有page都没有写入,将page页设置为0,同时记录错误的block信息。
[0020]通过本实施例描述的方法,可以动态更新各block的每一个page状态,使用者可以根据该方法采取相应措施减少因为NAND refresh读到未写页导致出现大量读错误,从而完美规避first read现象,降低资源损耗。
[0021]以上,描述的仅是本专利技术的基本原理和优选实施例,本领域技术人员根据本专利技术做出的改机和替换,属于本专利技术的保护范围。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态规避nand的刷新读到未写页的方法,其特征在于:包括以下步骤:S01)、设计页状态记录表,页状态记录表是一个动态数据集,记录每个page的状态,即是否是未写页;S02)、进行refresh读操作时,首先对页状态记录表进行检查,判断当前所选page是否已经写入,若此页已经写过,满足要求,进行refresh读操作,如果当前页未写过,则换页,寻址下一页,再次重复步骤S02);S03)、若将整个block的所有page页遍历完,说明在页状态数据集中没有找到合适的page,即block上的所有page都没有写入,将page页设置为0,同时记录错误的block信...

【专利技术属性】
技术研发人员:孙义曹成沈力
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1