一种减少闪存读耗时的方法及其系统技术方案

技术编号:38548246 阅读:10 留言:0更新日期:2023-08-22 20:56
本发明专利技术提供一种减少闪存读耗时的方法及其系统,该方法包括接收下发的NAND Flash读命令,从NAND page中读取数据;在读取数据时,针对每个传输的字节计算“0”和“1”的个数,进行累加,并且在传输完成后,在寄存器中输出总数数量;对读取到的数据进行ECC纠错;若ECC纠错失败,判断该NAND page中“0”或者“1”的比例,若该NAND page中“0”或者“1”的比例不超过设定值N,则使用read retry方式重新读取该NAND page,尝试获取正确的数据,直到获取正确的数据或者尝试读取所有的重试值仍无法获取正确数据后,结束读操作;若ECC纠错成功,则正确读取数据,结束读操作。本发明专利技术在保证数据安全性的前提下可以降低Read Retry操作对NAND Flash设备的读性能的影响,读取数据速度快,读操作耗时小。读操作耗时小。读操作耗时小。

【技术实现步骤摘要】
一种减少闪存读耗时的方法及其系统


[0001]本专利技术涉及闪存存储
,具体涉及一种减少闪存读耗时的方法以及应用该方法的系统。

技术介绍

[0002]NAND Flash的发展经历了SLC、MLC、TLC、QLC等阶段,每个存储cell中存储的bit数一直在增加,即每个cell可以存储的数据状态在成倍增加。NAND Flash中通过cell的电压来表示存储的数据状态,随着cell中可存储的状态的增加,每个状态间的电压间隔在减小。受到data retention、read disturb、异常掉电造成的未完整编程等因素影响,阈值电压分布会发生变化,cell中存储的可能的数据状态对应的阈值电压分布会相互靠拢。每个状态间的电压间隔减小,甚至电压分布状态重叠,在默认读参考电压下无法判断cell中存储的状态,出现bit反转。
[0003]闪存设备是高性能、非易失性的存储设备,广泛应用于数据中心、移动终端等场合,是一种重要的存储介质。在MLC、TLC、QLC等类型的NAND Flash中,存在Read Retry技术,Read Retry技术可以在page出现无法纠正数据错误时,允许调整内部的读参考电压,尽可能在调整后的读参考电压下能够正确区分cell中存储的数据状态,这时候再给NAND Flash发送读操作,尝试正确读取cell中的存储的数据。一般来说,Read Retry操作存在多组Read Retry value,分别对应不同场景下各自要调整的电压幅度和调整方向。尽管Read Retry技术可以提高数据的纠错能力,但是其本身也带来了重复读数据的消耗,过多的Read Retry操作会导致NAND Flash设备的读性能的下降,加大了read latency。
[0004]闪存在经过很长时间的放置、对某个block进行大量的读操作、或者在编程过程中出现异常断电,读取数据时可能出现无法纠错的情况,即使使用read retry技术也无法纠错。完整的read retry流程中,需要重读的次数较多,若完成所有的read retry操作,则读操作耗时很大,严重影响了读取数据的速度。
[0005]综上,现有的技术方案中,没有对数据的状态进行判断,需要尝试所有的read retry value,按事先设定的顺序进行重读,直到正确读取数据或者尝试完所有read retry value仍无法正确读取数据后退出重读操作。
[0006]因此,现有的技术方案的缺点很明显,即当所有的read retry value尝试后都无法通过重读正确读取数据时,需要耗费大量的时间,造成读性能严重下降,导致主机端读超时,或者导致emmc或者UFS等闪存设备初始化超时。

技术实现思路

[0007]为了克服现有技术的不足,本专利技术针对以上读操作耗时大,读取数据速度慢等问题,提供一种减少闪存读耗时的方法及其系统,在保证数据安全性的前提下尽可能降低Read Retry操作对NAND Flash设备的读性能的影响。
[0008]为解决上述问题,本专利技术所采用的技术方案如下:
[0009]一种减少闪存读耗时的方法,包括以下步骤:
[0010]接收下发的NAND Flash读命令,根据NAND Flash读命令从NAND page中读取数据;
[0011]在读取数据时,针对每个传输的字节计算“0”和“1”的个数,进行累加,并且在传输完成后,在寄存器中输出总数数量;
[0012]对读取到的数据进行ECC纠错;
[0013]若ECC纠错失败,判断该NAND page中“0”或者“1”的比例,若该NAND page中“0”或者“1”的比例不超过设定值N,则使用read retry方式重新读取该NAND page,尝试获取正确的数据,直到获取正确的数据或者尝试读取所有的重试值仍无法获取正确数据后,结束读操作;
[0014]若ECC纠错成功,则正确读取数据,结束读操作。
[0015]根据本专利技术提供的一种减少闪存读耗时的方法,在判断该NAND page中“0”或者“1”的比例时,若该NAND page中“0”或者“1”的比例超过设定值N,则判断该NAND page无法正确读取数据,结束读操作。
[0016]根据本专利技术提供的一种减少闪存读耗时的方法,设定值N的取值范围为60

100,其中,N为正整数,N/100为比例。
[0017]根据本专利技术提供的一种减少闪存读耗时的方法,在NAND控制器中设置有ECC纠错模块,ECC纠错模块使用BCH或者LDPC纠错算法检查和纠正读取数据的错误;
[0018]在ECC纠错模块中设有上限,即每个code word最多只能纠正若干个错误比特,超过则无法进行纠错;
[0019]在NAND控制器中设置有ecc状态寄存器,用于将无法纠错的code word指示出来。
[0020]根据本专利技术提供的一种减少闪存读耗时的方法,所述使用read retry方式重新读取该NAND page,包括:
[0021]通过CPU下发的命令设置NAND控制器内部cell的读偏移电压,尝试将每个cell中存储的数据状态区分开,使得在该读偏移电压下重读一次能够将数据读对。
[0022]根据本专利技术提供的一种减少闪存读耗时的方法,在读取数据时,还执行对NAND Flash进行数据检查:
[0023]按照NAND控制器的每个block的数据写入顺序进行编号,并将编号保存在这个block的每个page的spare区中;
[0024]对每一个block进行检查,检查从最先写入的block开始,每完成一个block的检查操作后,按写入先后顺序启动下一个block的数据检查,检查完一个或者几个block时,将检查的block写入顺序编号记录在NAND控制器中。
[0025]根据本专利技术提供的一种减少闪存读耗时的方法,判断当前编号的block中的数据是否需要重写,如需要重写,则对当前存储单元中的数据复制到NAND闪存中的空白存储单元中,并擦除所述当前存储单元中的数据;如不需要重写,则将检查指向下一编号的block。
[0026]根据本专利技术提供的一种减少闪存读耗时的方法,在对NAND控制器中的每一个page进行读取数据时,将待读取page对应的字线的相邻字线对应的干扰次数加1,并对所述待读取page进行读取操作。
[0027]根据本专利技术提供的一种减少闪存读耗时的方法,在NAND控制器中的任意一个字线对应的干扰次数达到预设次数阈值时,将干扰次数达到预设次数阈值的字线对应的所有
page中的数据复制并保存至存储空间中。
[0028]一种减少闪存读耗时的系统,包括:
[0029]读取模块,用于接收下发的NAND Flash读命令,根据NAND Flash读命令从NAND page中读取数据;
[0030]计算模块,在读取数据时,针对每个传输的字节计算“0”和“1”的个数,进行累加,并且在传输完成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种减少闪存读耗时的方法,其特征在于,包括以下步骤:接收下发的NAND Flash读命令,根据NAND Flash读命令从NAND page中读取数据;在读取数据时,针对每个传输的字节计算“0”和“1”的个数,进行累加,并且在传输完成后,在寄存器中输出总数数量;对读取到的数据进行ECC纠错;若ECC纠错失败,判断该NAND page中“0”或者“1”的比例,若该NAND page中“0”或者“1”的比例不超过设定值N,则使用read retry方式重新读取该NAND page,尝试获取正确的数据,直到获取正确的数据或者尝试读取所有的重试值仍无法获取正确数据后,结束读操作;若ECC纠错成功,则正确读取数据,结束读操作。2.根据权利要求1所述的方法,其特征在于:在判断该NAND page中“0”或者“1”的比例时,若该NAND page中“0”或者“1”的比例超过设定值N,则判断该NAND page无法正确读取数据,结束读操作。3.根据权利要求1所述的方法,其特征在于:设定值N的取值范围为60

100,其中,N为正整数,N/100为比例。4.根据权利要求1所述的方法,其特征在于:在NAND控制器中设置有ECC纠错模块,ECC纠错模块使用BCH或者LDPC纠错算法检查和纠正读取数据的错误;在ECC纠错模块中设有上限,即每个code word最多只能纠正若干个错误比特,超过则无法进行纠错;在NAND控制器中设置有ecc状态寄存器,用于将无法纠错的code word指示出来。5.根据权利要求1所述的方法,其特征在于,所述使用read retry方式重新读取该NAND page,包括:通过CPU下发的命令设置NAND控制器内部cell的读偏移电压,尝试将每个cell中存储的数据状态区分开,使得在该读偏移电压下重读一次能够将数据读对。6.根据权利要求1所述的方法,其特征在于,在读取数据时,还执行对NAND Flash进行数据检查:按...

【专利技术属性】
技术研发人员:曾裕龚晖赖鼐
申请(专利权)人:珠海妙存科技有限公司
类型:发明
国别省市:

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

1