发明内容
本发明的主要目的在于提供一种闪存读阈值预测电平确定方法、设备及可读存储介质,旨在解决现有技术中未能实现快速准确读取数据,造成解码纠错效率低的技术问题。
为实现上述目的,所述闪存读阈值预测电平确定方法包括:
获取待读取页数据在相应第一闪存块中的第一分段位置;
基于所述第一分段位置获取对应预存的读阈值预测电平;
获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,以基于第一预测电平读取待读取页数据,以实现闪存页数据的解码,其中,所述所属性信息包括块擦写次数记录、块擦写时间戳记录和关键块读次数中一项或多项。
可选地,所述基于第一预测电平读取待读取页数据步骤之后包括:
当检测到待读取页数据读取失败时,基于第一预测电平获取扫描读阈值电平范围;
基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据,直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。
可选地,所述基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据步骤包括:
在扫描读阈值电平范围内以预设选取方向逐个选取第二初始电平,基于选取的第二初始预测电平读取待读取页数据,其中,第二预测电平包括第二初始电平;
当检测到在第二初始预测电平下读取失败且解码错误率变大时,基于第二初始预测电平调整选取方向;
基于调整后的选取方向继续选取对应的第二预测电平。
可选地,所述属性信息包括块擦写次数记录和块擦写时间戳记录,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
获取所述第一闪存块的块擦写次数记录,基于预存的块擦写次数与电平偏移值的第一映射关系,获取该块擦写次数记录所产生的第一电平偏移值;
获取所述第一闪存块的块擦写时间戳记录,基于预存的不同块擦写时间戳与电平偏移值的第二映射关系,获取该块擦写时间戳记录对应产生的第二电平偏移值;
基于第一电平偏移值与第二电平偏移值调整所述读阈值预测电平。
可选地,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,所述属性信息还包括读次数记录,获取该第一闪存块的读次数记录;
基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值;
基于第三电平偏移值调整述读阈值预测电平。
可选地,所述属性信息还包括页数据的读次数记录,所述基于该属性信息调整所述读阈值预测电平步骤还包括:
获取当前待读取页数据的读次数记录,基于预存的页数据的读次数与电平偏移值的第四映射关系,获取该页数据的读次数记录所产生的第四电平偏移值;
基于第四电平偏移值调整述读阈值预测电平。
可选地,所述读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块。
可选地,所述基于第一预测电平读取待读取页数据,以实现闪存页数据的解码步骤之后包括:
保存对应的第一预测电平。
此外,为实现上述目的,本发明还提出一种闪存读阈值预测电平确定设备,所述闪存读阈值预测电平确定设备包括:存储器、处理器、通信总线以及存储在所述存储器上闪存读阈值预测电平确定程序:
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述闪存读阈值预测电平确定程序,以实现如下步骤:
当检测到读取指令时,获取该指令对应待读取页数据在相应第一闪存块中的第一分段位置;
基于所述第一分段位置获取对应预存的读阈值预测电平;
获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,并基于第一预测电平读取待读取页数据,以实现闪存页数据的解码。
可选地,所述基于第一预测电平读取待读取页数据步骤之后包括:
当检测到待读取页数据读取失败时,基于第一预测电平获取扫描读阈值电平范围;
基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据,直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。
可选地,所述基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据步骤包括:
在扫描读阈值电平范围内以预设选取方向逐个选取第二初始电平,基于选取的第二初始预测电平读取待读取页数据,其中,第二预测电平包括第二初始电平;
当检测到在第二初始预测电平下读取失败且解码错误率变大时,基于第二初始预测电平调整选取方向;
基于调整后的选取方向继续选取对应的第二预测电平。
可选地,所述属性信息包括块擦写次数记录和块擦写时间戳记录,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
获取所述第一闪存块的块擦写次数记录,基于预存的块擦写次数与电平偏移值的第一映射关系,获取该块擦写次数记录所产生的第一电平偏移值;
获取所述第一闪存块的块擦写时间戳记录,基于预存的不同块擦写时间戳与电平偏移值的第二映射关系,获取该块擦写时间戳记录对应产生的第二电平偏移值;
基于第一电平偏移值与第二电平偏移值调整所述读阈值预测电平。
可选地,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,所述属性信息还包括读次数记录,获取该第一闪存块的读次数记录;
基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值;
基于第三电平偏移值调整述读阈值预测电平。
可选地,所述属性信息还包括页数据的读次数记录,所述基于该属性信息调整所述读阈值预测电平步骤还包括:
获取当前待读取页数据的读次数记录,基于预存的页数据的读次数与电平偏移值的第四映射关系,获取该页数据的读次数记录所产生的第四电平偏移值;
基于第四电平偏移值调整述读阈值预测电平。
可选地,所述读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块。
可选地,所述基于第一预测电平读取待读取页数据,以实现闪存页数据的解码步骤之后包括:
保存对应的第一预测电平。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
获取待读取页数据在相应第一闪存块中的第一分段位置;
基于所述第一分段位置获取对应预存的读阈值预测电平;
获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,以基于第一预测电平读取待读取页数据,以实现闪存页数据的解码,其中,所述所属性信息包括块擦写次数记录、块擦写时间戳记录和关键块读次数中一项或多项。
本发明通过获取待读取页数据在相应第一闪存块中的第一分段位置;基于所述第一分段位置获取对应预存的读阈值预测电平;获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,以基于第一预测电平读取待读取页数据,以实现闪存页数据的解码,其中,所述所属性信息包括块擦写次数记录、块擦写时间戳记录和关键块读次数中一项或多项。由于闪存块错误读取分布不同,因而本申请闪存在应用前已经基于错误读取分布进行闪存块的分段,闪存块不同分段位置读阈值预测电平不同,在检测到对应待读取页数据后,基于待读取页数据在相应第一闪存块中的第一分段位置,因而可准确确定该待读取页数据的读阈值预测电平,因而能够去除闪存块不同段错误分布不同所带来的影响,进而实现快速准确读取数据,避免反复多次重新在预测默认的阈值电平附近进行阈值电平的寻找,造成解码纠错效率低的技术问题。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本发明提供一种闪存读阈值预测电平确定方法,在闪存读阈值预测电平确定方法的第一实施例中,参照图1,所述闪存读阈值预测电平确定方法包括:
步骤S10,获取待读取页数据在相应第一闪存块中的第一分段位置;
闪存(Nand Flash)是一种非易失性的数据存储介质,可对闪存进行读取数据,擦除数据,编程等操作,闪存内部对存储的数据进行读取操作时,对其内部数据存储单元的电平与读阈值电平进行比较判断,从而返回数据“0”或者“1”,基于返回的多个“0”或者“1”的组合,闪存进行数据的识别获取并解码。
2D闪存,闪存的所有存储单元分布在同一个二维平面上,3D闪存,闪存的所有存储单元为一系列位于二维平面上的存储单元的三维堆叠构成,页(Page),闪存读和写(编程)的最小可寻址单元,块(block),由一组页构成,并且是进行擦除的最小可寻址单元,字线(Word Line),闪存页在物理实现上的体现,在闪存制程从2D进化到3D后,闪存的字线结构从平面演化为空间堆叠。
2D闪存与3D闪存的字线由于物理实现上的约束导致其结构不完全一样,因此2D闪存与3D闪存不同字线的数据保持能力也相应出现了明显差异,需要说明的是,1个字节包括8个比特数,如图3所示,是一个2D闪存块的块内错误分布情况,行坐标为块内第n个1K单元,纵坐标是错误比特数(每1K字节错误比特数),即读取1K字节的数据时,读取错误的比特数,在2D闪存存储块中,从图3中可以看出,在闪存块的不同字线,每1K字节错误比特数基本相同,即在2D闪存块中,读阈值电平基本相同,可通过默认的读阈值电平读取同一闪存块中的待读取页数据。
如图4所示,是一个3D闪存存储块块内错误分布情况,行坐标为块内第n个1K单元,纵坐标是错误比特数(每1K字节错误比特数),由于3D结构闪存中,每个块的容量更大,因此图4中行坐标比较长,这个差异的存在不影响本发明的创意,从图中可以看出,3D闪存的存储块即闪存块中,闪存块不同单元中,存在每1K字节错误比特数分布不同的情形,且该分布不同成段变化。
在进行数据的读取时,若闪存块内错误分布情况不同,且分布变化大时,进行读取操作的读阈值电平同样变化大,即闪存块内默认的读阈值电平并不适应于闪存块的不同存储段区,即对3D闪存的闪存块进行非顺序数据读取时,前后每2组小数据都极大可能位于块内错误分布情况不同的不同页地址,现有技术中基本上每次都需要重新在闪存块默认的阈值预测电平附近进行本次待读取数据对应的阈值电平的寻找工作,这样导致读性能下降非常大,且非常耗时。
因而本申请在3D闪存中,基于3D闪存中闪存块内错误比特数呈段变化的现象,即基于闪存块中不同错误比特数段的变化,将3D闪存中闪存块进行分段处理,特别地,可将3D闪存中闪存块分为5段或者5段以上的段区,并预先存储该不同段区的默认或者预设读阈值预测电平。
当检测到数据读取指令时,基于该指令获取该指令对应待读取页数据在相应第一闪存块中的第一分段位置,其中,该具体过程可是,基于该指令获取待读取页数据,基于该待读取页数据查询对应的页地址,基于该页地址获取页地址所在的闪存块,将该闪存块作为第一闪存块,并基于该页地址获取待读取页数据在第一闪存块中的分段位置,将该分段位置作为第一分段位置,用以具体实施例进行说明,如第一分段位置可是在第一闪存块中的5段区。
步骤S20,基于所述第一分段位置获取对应预存的读阈值预测电平;
由于闪存存在不同的闪存块,在本申请中,闪存块细分为不同的分段位置,因闪存中已预存不同的分段位置的读阈值预测电平,因而基于所述第一分段位置获取对应预存的读阈值预测电平,具体地,该过程可是,先查找第一闪存块对应的第一读阈值预测电平分布区,从第一读阈值预测电平分布区查找第一分段位置对应的读阈值预测电平,用以具体实施例进行说明,当将3D闪存中闪存块分为5段时,若检测到第一分段位置为第4段区时,从第一读阈值预测电平分布区中选取预存的第4段区对应的读阈值预测电平。
步骤S30,获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,以基于第一预测电平读取待读取页数据,以实现闪存页数据的解码,其中,所述所属性信息包括块擦写次数记录、块擦写时间戳记录和关键块读次数中一项或多项。
获取所述第一闪存块的属性信息,其中,该属性信息包括第一闪存块的历史块擦写次数记录,关键块读次数记录,每个块的擦写时间戳记录等,且在本申请中,第一闪存块的历史块擦写次数记录,关键块读次数记录,每个块的擦写时间戳记录不同,调整读阈值预测电平的幅度不同,将调整后的所述读阈值预测电平作为第一预测电平,其中,通常情况下块擦写次数记录与每个块的擦写时间戳记录结合调整读阈值预测电平。
其中,所述属性信息包括块擦写次数记录和块擦写时间戳记录,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
获取所述第一闪存块的块擦写次数记录,基于预存的块擦写次数与电平偏移值的第一映射关系,获取该块擦写次数记录所产生的第一电平偏移值;
获取所述第一闪存块的块擦写时间戳记录,基于预存的不同块擦写时间戳与电平偏移值的第二映射关系,获取该块擦写时间戳记录对应产生的第二电平偏移值;
基于第一电平偏移值与第二电平偏移值调整所述读阈值预测电平。
由于块擦写次数记录不同,块擦写时间戳记录不同,电平偏移值不同,其中,块擦写次数与电平偏移值存在第一映射关系,块擦写时间戳与电平偏移值存在第二预设映射关系,该第一映射关系,第二映射关系可是用户基于历史经验统计得到,且保存在闪存中,在具体实施例中,当对同批生产的不同闪存对应相同的闪存块分别只进行的第一块擦写操作即或者其它影响因素完全相同,只是由于擦写操作的时间戳不同,如时间分别为2017年5月与2016年5月时,因而第二电平偏移值不同。同样,而对当对同批生产的不同闪存对应相同的闪存块分别只进行一次擦写操作,与进行2次擦写操作时,第一电平偏移值不同,基于第一电平偏移值与第二电平偏移值调整所述读阈值预测电平,即在此过程中,需同时参考当前闪存块的擦写记录,与擦写时间,基于该擦写记录,与擦写时间调整所述读阈值预测电平,如图6所示,另外,也可是闪存已经存储有基于该擦写记录,与擦写时间调整后的读阈值预测电平,当已经存储有时,直接调用存有的读阈值预测电平,将调用的该存有的读阈值预测电平作为第一预测电平,并基于第一预测电平读取待读取页数据,以实现闪存页数据的解码。
本发明通过获取待读取页数据在相应第一闪存块中的第一分段位置;基于所述第一分段位置获取对应预存的读阈值预测电平;获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,以基于第一预测电平读取待读取页数据,以实现闪存页数据的解码,其中,所述所属性信息包括块擦写次数记录、块擦写时间戳记录和关键块读次数中一项或多项。由于闪存块错误读取分布不同,而本申请闪存在应用前已经基于错误读取分布进行闪存块的分段,闪存块不同分段位置读阈值预测电平不同,在检测到对应待读取页数据后,基于待读取页数据在相应第一闪存块中的第一分段位置,因而可准确确定该待读取页数据的读阈值预测电平,因而能够去除闪存块不同段错误分布不同所带来的影响,如图6所示,进而实现快速准确读取数据,避免反复多次重新在预测默认的阈值电平附近进行阈值电平的寻找,造成解码纠错效率低的技术问题。
进一步地,在本发明闪存读阈值预测电平确定方法第一实施例的基础上,提供闪存读阈值预测电平确定方法的第二实施例,在第二实施例中,如图2所示,所述基于第一预测电平读取待读取页数据步骤之后包括:
步骤S40,当检测到待读取页数据读取失败时,基于第一预测电平获取扫描读阈值电平范围;
步骤S50,基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据,直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。
当检测到待读取页数据读取失败时,即在第一预测电平处并不能完全读取成功该待读取页数据时,基于第一预测电平获取扫描读阈值电平范围,在此过程中,可通过在ECC解码完成时,是否输出正确的数据来判断待读取页数据读取是否成功。基于第一预测电平获取扫描读阈值电平范围,该扫描读阈值电平范围根据不同的闪存可进行更改,基于扫描读阈值电平范围分析选取第二预测电平,即可是先按照预设的选取顺序选取第二预测电平,基于选取的第二预测电平读取待读取页数据,当未成功时,基于选取第二预测电平,直至直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。
在本实施例中,通过步骤S40,当检测到待读取页数据读取失败时,基于第一预测电平获取扫描读阈值电平范围;步骤S50,基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据,直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。因而能够在第一预测电平未能成功读取数据时,继续在第一预测电平附近分析选取第二预测电平,直至成功读取待读取页数据,而不是遍历范围更广的电平,因而提升了成功读取数据的概率。
进一步地,在本发明闪存读阈值预测电平确定方法第二实施例的基础上,提供闪存读阈值预测电平确定方法的第三实施例中,在第三实施例中,所述基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据步骤包括:
在扫描读阈值电平范围内以预设选取方向逐个选取第二初始电平,基于选取的第二初始预测电平读取待读取页数据,其中,第二预测电平包括第二初始电平;
当检测到在第二初始预测电平下读取失败且解码错误率变大时,基于第二初始预测电平调整选取方向;
基于调整后的选取方向继续选取对应的第二预测电平。
在本申请中,在分析选取第二预测电平时,当检测到在第二初始预测电平下读取失败且解码错误率变大时,获取当前选取第二预测电平的选取方向,基于当前的选取方向反向调整选取方向,基于调整后的选取方向继续选取对应的第二预测电平,用以具体实施例进行说明,当检测到第一预测电平数值增大方向选取第二预测电平时,解码错误率变大,此时,调整方向,从第一预测电平数值减少方向选取第二预测电平。
在本实施例中,通过当检测到在第二初始预测电平下读取失败且解码错误率变大时,基于第二初始预测电平调整选取方向;基于调整后的选取方向继续选取对应的第二预测电平,因而本申请能够提升读取数据的效率,提升效率。
进一步地,在本发明闪存读阈值预测电平确定方法第一实施例的基础上,提供闪存读阈值预测电平确定方法的第四实施例中,在第四实施例中,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,所述属性信息还包括读次数记录,获取该第一闪存块的读次数记录;
基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值;
基于第三电平偏移值调整述读阈值预测电平。
在本申请中,关键块的读次数记录影响读阈值预测电平,其中,关键块在闪存出厂前已经设定完成,判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,还需要获取该第一闪存块的读次数记录,基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值,基于第三电平偏移值调整述读阈值预测电平,在本申请中,当闪存块属于关键块时,基于第一电平偏移值、第二电平偏移值、第三电平偏移值调整所述读阈值预测电平。
在本实施例中,通过判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,所述属性信息还包括读次数记录,获取该第一闪存块的读次数记录;基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值;基于第三电平偏移值调整述读阈值预测电平,因而能够更加准确的获取第一预测电平。
进一步地,在本发明闪存读阈值预测电平确定方法第一实施例的基础上,提供闪存读阈值预测电平确定方法的第五实施例中,在第五实施例中,所述读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块。
读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块,用以具体实施例进行说明,如第一闪存块的第5分段区与第二闪存块的第5分段区,当第二闪存块的第5分段区对应的读阈值电平已知时,基于预存的第二闪存块属性与第一闪存模块的属性关系,即可计算得到第一闪存块第一分段位置的读阈值预测电平。
在本实施例中,由于所述读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块。因而提供得到第一闪存块第一分段位置的读阈值预测电平另一方法,提升了用户体验。
进一步地,在本发明闪存读阈值预测电平确定方法第一实施例的基础上,提供闪存读阈值预测电平确定方法的第六实施例中,在第六实施例中,所述基于第一预测电平读取待读取页数据,以实现闪存页数据的解码步骤之后包括:
保存对应的第一预测电平。
在闪存页数据的解码后,本申请更新八平村对应的第一预测电平,以供后续查询。
参照图7,图7是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明实施例闪存读阈值预测电平确定设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等终端设备。
如图7所示,该闪存读阈值预测电平确定设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该闪存读阈值预测电平确定设备还可以包括用户接口、网络接口、摄像机、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图7中示出的闪存读阈值预测电平确定设备结构并不构成对闪存读阈值预测电平确定设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及闪存读阈值预测电平确定程序。操作系统是管理和控制闪存读阈值预测电平确定设备硬件和软件资源的程序,支持闪存读阈值预测电平确定程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与闪存读阈值预测电平确定设备中其它硬件和软件之间通信。
在图7所示的闪存读阈值预测电平确定设备中,处理器1001用于执行存储器1005中存储的闪存读阈值预测电平确定程序,实现以下步骤:
当检测到读取指令时,获取该指令对应待读取页数据在相应第一闪存块中的第一分段位置;
基于所述第一分段位置获取对应预存的读阈值预测电平;
获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,并基于第一预测电平读取待读取页数据,以实现闪存页数据的解码。
进一步地,所述基于第一预测电平读取待读取页数据步骤之后包括:
当检测到待读取页数据读取失败时,基于第一预测电平获取扫描读阈值电平范围;
基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据,直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。
进一步地,所述基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据步骤包括:
在扫描读阈值电平范围内以预设选取方向逐个选取第二初始电平,基于选取的第二初始预测电平读取待读取页数据,其中,第二预测电平包括第二初始电平;
当检测到在第二初始预测电平下读取失败且解码错误率变大时,基于第二初始预测电平调整选取方向;
基于调整后的选取方向继续选取对应的第二预测电平。
进一步地,所述属性信息包括块擦写次数记录和块擦写时间戳记录,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
获取所述第一闪存块的块擦写次数记录,基于预存的块擦写次数与电平偏移值的第一映射关系,获取该块擦写次数记录所产生的第一电平偏移值;
获取所述第一闪存块的块擦写时间戳记录,基于预存的不同块擦写时间戳与电平偏移值的第二映射关系,获取该块擦写时间戳记录对应产生的第二电平偏移值;
基于第一电平偏移值与第二电平偏移值调整所述读阈值预测电平。
进一步地,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,所述属性信息还包括读次数记录,获取该第一闪存块的读次数记录;
基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值;
基于第三电平偏移值调整述读阈值预测电平。
进一步地,所述属性信息还包括页数据的读次数记录,所述基于该属性信息调整所述读阈值预测电平步骤还包括:
获取当前待读取页数据的读次数记录,基于预存的页数据的读次数与电平偏移值的第四映射关系,获取该页数据的读次数记录所产生的第四电平偏移值;
基于第四电平偏移值调整述读阈值预测电平。
进一步地,所述读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块。
进一步地,所述基于第一预测电平读取待读取页数据,以实现闪存页数据的解码步骤之后包括:
保存对应的第一预测电平。
本发明闪存读阈值预测电平确定设备具体实施方式与上述闪存读阈值预测电平确定方法各实施例基本相同,在此不再赘述。
本发明提供了一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于:
当检测到读取指令时,获取该指令对应待读取页数据在相应第一闪存块中的第一分段位置;
基于所述第一分段位置获取对应预存的读阈值预测电平;
获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平,将调整后的所述读阈值预测电平作为第一预测电平,并基于第一预测电平读取待读取页数据,以实现闪存页数据的解码。
进一步地,所述基于第一预测电平读取待读取页数据步骤之后包括:
当检测到待读取页数据读取失败时,基于第一预测电平获取扫描读阈值电平范围;
基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据,直至成功读取待读取页数据,并记录成功读取待读取页数据时的第二预测电平。
进一步地,所述基于扫描读阈值电平范围分析选取第二预测电平,并基于选取的第二预测电平读取待读取页数据步骤包括:
在扫描读阈值电平范围内以预设选取方向逐个选取第二初始电平,基于选取的第二初始预测电平读取待读取页数据,其中,第二预测电平包括第二初始电平;
当检测到在第二初始预测电平下读取失败且解码错误率变大时,基于第二初始预测电平调整选取方向;
基于调整后的选取方向继续选取对应的第二预测电平。
进一步地,所述属性信息包括块擦写次数记录和块擦写时间戳记录,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
获取所述第一闪存块的块擦写次数记录,基于预存的块擦写次数与电平偏移值的第一映射关系,获取该块擦写次数记录所产生的第一电平偏移值;
获取所述第一闪存块的块擦写时间戳记录,基于预存的不同块擦写时间戳与电平偏移值的第二映射关系,获取该块擦写时间戳记录对应产生的第二电平偏移值;
基于第一电平偏移值与第二电平偏移值调整所述读阈值预测电平。
进一步地,所述获取所述第一闪存块的属性信息,基于该属性信息调整所述读阈值预测电平步骤还包括:
判断第一闪存块是否属于预设关键块,当第一闪存块属于预设关键块时,所述属性信息还包括读次数记录,获取该第一闪存块的读次数记录;
基于预存的预设关键块读次数与电平偏移值的第三映射关系,获取该第一闪存块的读次数记录对应产生的第三电平偏移值;
基于第三电平偏移值调整述读阈值预测电平。
进一步地,所述属性信息还包括页数据的读次数记录,所述基于该属性信息调整所述读阈值预测电平步骤还包括:
获取当前待读取页数据的读次数记录,基于预存的页数据的读次数与电平偏移值的第四映射关系,获取该页数据的读次数记录所产生的第四电平偏移值;
基于第四电平偏移值调整述读阈值预测电平。
进一步地,所述读阈值预测电平包括第二闪存块中与所述第一分段位置对应相同的第二分段位置的读阈值电平,其中,第二闪存块为闪存中区分于第一闪存块的其它闪存块。
进一步地,所述基于第一预测电平读取待读取页数据,以实现闪存页数据的解码步骤之后包括:
保存对应的第一预测电平。
本发明可读存储介质具体实施方式与上述闪存读阈值预测电平确定方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。