电压的确定方法及装置、存储介质、电子装置
技术领域
本发明涉及通信领域,具体而言,涉及一种电压的确定方法及装置、存储介质、电子装置。
背景技术
目前固态硬盘广泛应用于各种场合,由于现场环境的不同,对于固态硬盘的数据安全性的考验也越来越严峻,为了获取最大的更正能力,目前多数主控厂商都使用低密度奇偶校验(Low-density Parity-check,简称为LDPC)算法作为更正技术,通过大量的以不同的电压值去读取存储介质中的数据Read Offset的方法对数据所在区域进行数据采集,并通过对比统计出来的差异值来估测最佳检测电压,根据存储页在存储单元的逻辑位置Page Type的不同,检测电压的数量也是不同。由于上述方法每次通过相邻两次1的总数或者0的总数的不同来统计差异值,并且,上述办法只能依次逐个测试检测电压,在一个检测电压测试过程中,其他电压维持不变。其缺点使得检测效率变低。
针对上述技术问题,相关技术中尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种电压的确定方法及装置、存储介质、电子装置,以至少解决相关技术中对读取数据的电压的确定不准确的问题。
根据本发明的一个实施例,提供了一种电压的确定方法,包括:在以默认电压从存储块中读取目标数据出现异常的情况下,确定上述存储块的状态信息;基于上述状态信息选择N个电压偏移量,其中,上述N是大于1的自然数;利用上述N个电压偏移量对上述默认电压进行调整,得到N个测试电压;按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果;基于上述N个读取结果之间的变化量确定读取上述目标数据的目标电压。
根据本发明的另一个实施例,提供了一种电压的确定装置,包括:第一确定模块,用于在以默认电压从存储块中读取目标数据出现异常的情况下,确定上述存储块的状态信息;第一选择模块,用于基于上述状态信息选择N个电压偏移量,其中,上述N是大于1的自然数;第二确定模块,用于利用上述N个电压偏移量对上述默认电压进行调整,得到N个测试电压;第三确定模块,用于按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果;第四确定模块,用于基于上述N个读取结果之间的变化量确定读取上述目标数据的目标电压。
可选地,上述第一确定模块包括:异常确定单元,用于在上述默认电压与上述目标数据在存储单元中的实际电压不一致的情况下,确定读取目标数据出现异常,其中,上述存储单元位于上述存储块中,用于存储上述目标数据;状态确定单元,用于确定上述存储块的状态信息,其中,上述状态信息包括以下至少之一:上述存储块的擦写次数,上述存储块的读写温度。
可选地,上述装置还包括:第五确定模块,用于在基于上述状态信息选择N个电压偏移量之前,确定上述N个电压偏移量,其中,上述第五确定模块包括:存储确定单元,用于确定上述目标数据所在的存储单元;第一定义单元,用于定义上述存储单元的状态域;第一设置单元,用于设置与上述存储单元的状态域对应的M个电压偏移量,其中,上述M是大于1的自然数;偏移量确定单元,用于从上述M个电压偏移中确定出上述N个电压偏移量。
可选地,上述第二确定模块,包括:测试电压确定单元,用于按照预定计算方式计算上述电压偏移量与上述默认电压之间的电压值,得到上述N个测试电压,其中,上述预定计算方式包括上述默认电压与上述N个电压偏移量之间的正向计算或反向计算。
可选地,上述第三确定模块,包括:第一电压区域确定单元,用于确定上述N个测试电压中每个测试电压所在的电压区域;读取结果确定单元,用于在上述每个测试电压所在的电压区域中从上述存储块中读取上述目标数据,得到上述N个读取结果。
可选地,上述第四确定模块,包括:第二电压区域确定单元,用于确定上述N个读取结果中每个读取结果对应的电压区域,得到N个电压区域;第一变化量确定单元,用于计算出上述N个电压区域中每个电压区域的变化量,得到N个变化量,其中,上述每个电压区域的变化量用于表示上述每个读取结果对应的电压区域在第一预设值和第二预设值之间的变化次数;第二变化量确定单元,用于确定出上述N个电压区域中相邻电压区域的变化量;目标电压确定单元,用于利用上述相邻电压区域的变化量确定出读取上述目标数据的目标电压。
可选地,上述目标电压确定单元包括:第一确定子单元,用于在上述N个测试电压发生正向移动的情况下,确定上述相邻电压区域的变化量的变化趋势;第二确定子单元,用于将上述N个变化量中每个变化量与对应的电压区域的步长的平均值,得到N个平均值;第三确定子单元,用于利用上述变化趋势以及上述N个平均值确定出读取上述目标数据的目标电压。
可选地,上述装置还包括:存储模块,用于按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果之后,将上述N个读取结果存储至动态随机存储器DRAM中。
根据本发明的又一个实施例,还提供了一种存储介质,上述存储介质中存储有计算机程序,其中,上述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于在以默认电压从存储块中读取目标数据出现异常的情况下,确定存储块的状态信息;基于状态信息选择N个电压偏移量,其中,N是大于1的自然数;利用N个电压偏移量对默认电压进行调整,得到N个测试电压;按照N个测试电压中的每个测试电压从存储块中读取目标数据,得到N个读取结果;基于N个读取结果之间的变化量确定读取目标数据的目标电压。可以实现通过多个测试电压确定出目标电压的目的。因此,可以解决相关技术中存在的对读取数据的电压的确定不准确的问题,达到准确确定出数据读取电压的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种电压的确定方法的移动终端的硬件结构框图;
图2是根据本发明实施例的电压的确定方法的流程图;
图3是根据本发明实施例的动态电压追踪方法的数据处理机制的示意图;
图4是根据本发明实施例的颗粒状态判定规律和状态域管理机制的示意图;
图5是根据本发明可选实施例的动态判定方法统计示例结果的示意图;
图6是根据本发明可选实施例的固态硬盘动态电压追踪处理机制的流程图;
图7是根据本发明实施例的电压的确定装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种电压的确定方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的电压的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种电压的确定方法,图2是根据本发明实施例的电压的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在以默认电压从存储块中读取目标数据出现异常的情况下,确定存储块的状态信息;
步骤S204,基于状态信息选择N个电压偏移量,其中,N是大于1的自然数;
步骤S206,利用N个电压偏移量对默认电压进行调整,得到N个测试电压;
步骤S208,按照N个测试电压中的每个测试电压从存储块中读取目标数据,得到N个读取结果;
步骤S210,基于N个读取结果之间的变化量确定读取目标数据的目标电压。
可选地,上述步骤的执行主体可以为终端等,但不限于此。
通过上述步骤,由于在以默认电压从存储块中读取目标数据出现异常的情况下,确定存储块的状态信息;基于状态信息选择N个电压偏移量,其中,N是大于1的自然数;利用N个电压偏移量对默认电压进行调整,得到N个测试电压;按照N个测试电压中的每个测试电压从存储块中读取目标数据,得到N个读取结果;基于N个读取结果之间的变化量确定读取目标数据的目标电压。可以实现通过多个测试电压确定出目标电压的目的。因此,可以解决相关技术中存在的对读取数据的电压的确定不准确的问题,达到准确确定出数据读取电压的效果。
在一个可选的实施例中,在以默认电压从存储块中读取目标数据出现异常的情况下,确定上述存储块的状态信息包括:
S1,在上述默认电压与上述目标数据在存储单元中的实际电压不一致的情况下,确定读取目标数据出现异常,其中,上述存储单元位于上述存储块中,用于存储上述目标数据;
S2,确定上述存储块的状态信息,其中,上述状态信息包括以下至少之一:上述存储块的擦写次数,上述存储块的读写温度。
可选地,在本实施例中,将存储单元中的两个域同向设置Offset,其中,Offset是代表测试电压和默认电压的偏移量,根据当前存储块Block的状态(擦写次数,写读温度)选择Offset大小,并将每次以不同的电压值去读取存储介质中的数据(Read Offset)的结果保存在动态随机存储器(Dynamic Random Access Memory,简称为DRAM)中,透过异或XOR运算记录下不同电压Offset区间的0/1翻转个数,如图3所示。
在一个可选的实施例中,在基于上述状态信息选择N个电压偏移量之前,上述方法还包括:确定上述N个电压偏移量,其中,确定上述N个电压偏移量包括:
S3,确定上述目标数据所在的存储单元;
S4,定义上述存储单元的状态域;
S5,设置与上述存储单元的状态域对应的M个电压偏移量,其中,上述M是大于1的自然数;
S6,从上述M个电压偏移中确定出上述N个电压偏移量。
可选地,在本实施例中,定义上述存储单元的状态域包括:在颗粒判定信息状态的规律下,引入状态域管理机制,分别将左1右0定义为Low域,左0右1定义为High域;由于TLC的晶圆内部电压阈值,通过区分电荷多少完成数据的保存Read Level的增加导致一些Page类型出现多个状态域的出现,此时可以通过Page Type和选择标志位Switch进行控制,例如Micron B17A为例,Low page只有一个Low域,Up page有一对Low和High域,extra page有两对域,Switch设置为0,去处理第一对控制域进行读取,设置为1,则对第二对进行读取;这样做的目是多个Read Level能够并行查询,提升效率。
如图4所示,为B17A Upper Page存储单元的检测电压曲线。该Page的数据由两个检测电压进行判定,当存储单元的真实读出电压在两个检测电压之间,此时数据为0,否则为1;因为检测电压是可以改动的。为此,可以通过修改检测电压并将读取的数据与默认检测电压的数据比较,统计出0 to 1和1 to 0的数值,例如当两个域的检测电压右移后,分别统计出Low域0 to 1以及High域的1 to 0,当两个域的检测电压左移后,分别统计出Low域1to 0以及High域的0 to 1,将每次统计的结果保存起来。
在一个可选的实施例中,利用上述N个电压偏移量对上述默认电压进行调整,得到N个测试电压,包括:
S7,按照预定计算方式计算上述电压偏移量与上述默认电压之间的电压值,得到上述N个测试电压,其中,上述预定计算方式包括上述默认电压与上述N个电压偏移量之间的正向计算或反向计算。
可选地,在本实施例中,在默认电压是V0的情况下,预定计算方式例如包括但不限于是:正向Offset后电压V1=V0+L1,反向Offset后电压V2=V0-L2,正向Offset后电压V3=V0+L3下的Low域和High域的对应0 to 1及1 to 0的数。
可选地,按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果,包括:
S8,确定上述N个测试电压中每个测试电压所在的电压区域;
S9,在上述每个测试电压所在的电压区域中从上述存储块中读取上述目标数据,得到上述N个读取结果。
在一个可选的实施例中,基于上述N个读取结果之间的变化量确定读取上述目标数据的目标电压,包括:
S10,确定上述N个读取结果中每个读取结果对应的电压区域,得到N个电压区域;
S11,计算出上述N个电压区域中每个电压区域的变化量,得到N个变化量,其中,上述每个电压区域的变化量用于表示上述每个读取结果对应的电压区域在第一预设值和第二预设值之间的变化次数;
S12,确定出上述N个电压区域中相邻电压区域的变化量;
S13,利用上述相邻电压区域的变化量确定出读取上述目标数据的目标电压。
在一个可选的实施例中,利用上述相邻电压区域的变化量确定出读取上述目标数据的目标电压,包括:
S14,在上述N个测试电压发生正向移动的情况下,确定上述相邻电压区域的变化量的变化趋势;
S15,将上述N个变化量中每个变化量与对应的电压区域的步长的平均值,得到N个平均值;
S16,利用上述变化趋势以及上述N个平均值确定出读取上述目标数据的目标电压。
可选地,在上述实施例中,使用动态判定方法,例如,通过对前3次读取结果进行动态判定,并根据判定结果决定第4次读的方向,根据每个Offset区域的Weight估算最佳测试电压,在本实施例中,Offset代表和默认电压的偏移量,Weight代表这段电压区间中0/1平均值。实现步骤如下:
步骤1:根据Block的状态(擦写次数,写读温度)选择Offset的大小,分别为L1、L2、L3、L4;
步骤2:分别读取默认电压V0,正向Offset后电压V1=V0+L1,反向Offset后电压V2=V0-L2,正向Offset后电压V3=V0+L3下的Low域和High域的对应0 to 1及1 to 0的数,保存起来;
步骤3:计算每块电压区域的Weight,将每块区域的0 to 1或者1 to 0数除以这段步长求取平均值;
步骤4:分析相邻3个区域Weight以确定最佳测试电压,判定标准如下:
随着测试电压向正向移动,Weight大小满足“大-小-大”规律,且相邻区域Weight的差值大于阈值M,比值大于N,其中M、N由当前的Block状态(擦写次数,写读温度)决定,则最佳测试电压估算公式;
其中,V0表示默认电压,同时也是最小均值所在的数值区间的起始值,L1表示最小均值所对应电压值区间内包含单位偏移量的数量,所述单位偏移量和默认电压相关,Weight(#V1)和Weight(#V3)分别表示的是从左到右和最小均值相邻两个检测电压值对应的均值,Result是估测值,通过估测值完成对最佳检测电压的判断。
随着测试电压向正向移动,Weight逐渐减小,则第4次Offset方向为正向,标志位Flag=1。
随着测试电压向正向移动,Weight逐渐增大,则第4次Offset方向为反向,标志位Flag=0。
步骤5:读取V4下的Low域和High域的对应0 to 1及1 to0的数,并执行步骤3和步骤4,估算最佳检测电压公式:
标志位Flag=1的情况下:
其中,V1表示是最小均值所在的数值区间的起始值,(L3-L1)表示最小均值所对应电压值区间内包含单位偏移量的数量,所述单位偏移量和默认电压相关,Weight(#V2)和Weight(#V4)分别表示的是从左到右和最小均值相邻两个检测电压值对应的均值,Result是估测值,通过估测值完成对最佳检测电压的判断。
标志位Flag=0的情况下:
其中,V0表示默认电压,同时也是最小均值所在的数值区间的终止值,L2表示最小均值所对应电压值区间内包含单位偏移量的数量,所述单位偏移量和默认电压相关,Weight(#V2)和Weight(#V4)分别表示的是左到右和最小均值相邻两个检测电压值对应的均值,Result是估测值,通过估测值完成对最佳检测电压的判断。
例如,统计结果如图5所述,是Flag=1的情况下,比较发现只有#V2、#V3、#V4满足最佳测试电压判定要求,将三次读的Weight带入公式,可得到Result=V1+0.39*(L3-L1),观察发现计算结果非常贴近最佳检测电压的真实值。
在一个可选的实施例中,按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果之后,上述方法还包括:
S1,将上述N个读取结果存储至动态随机存储器DRAM中。
在一个可选的实施例中,为了解决在引入最少的读干扰,不断的读操作会增加介质存储信息的错误率Read Disturb的前提下,如何快速动态找到适合当前数据最佳检测电压的问题,提出了如图6所示的处理方法,具体步骤如下:
S601:判断读取数据时是否出现错误数据;如果是,则进入S602,进行动态电压追踪处理;如果否,不进行任何处理;
S602:进入动态电压追踪处理进程后,首先根据错误信息所在Block的状态,即擦写次数,写读温度,选择除了默认电压V0以外的其他电压Offset值,分别为L1,L2,L3,L4。这些数据会以参数表的形式保存在DRAM中,参数表范围宽泛,内容极少,可快速查询到相应参数。
S603:读取当前电压下的数据到DRAM中,DRAM中占用2块缓冲器Buffer,循环使用来存储读取的数据。
S604:更新将要测试的Offset,为下一步读取数据做准备。
S605:将相邻两次读的数据进行XOR,将1 to 0数据保存到Low域,将0 to 1保存到High域。第一次读数据不执行此步骤,直接执行S603。
S606:判定相邻3组数据是否满足最佳检测电压判定要求。如果满足,执行S607;否则,执行S610。
S610:V4电压下的数据是否已经读取到DRAM中。如果V4电压还没有被测试,则执行S603;否则,结束。
S607:求各组数据的Weight值,将0/1总数除以步长,将平均值结果传递给S608。
S608:将Weight值带入到最佳检测电压估算公式,计算适合当前的阈值电压,并将结果传送给S609。
S609:将统计出来的阈值电压结果传送给ECC模块,ECC模块主要是基于此电压进行Read Retry和LDPC。
S611:动态电压追踪处理流程结束。
综上所述,本实施例通过动态电压追踪方法和状态域管理机制完成了对当前电压阈值的确定,通过对不同电压下统计不同的差值,根据差值确定最佳检测电压的方法相比,以更少的读操作找到适合当前的电压阈值。已有的专利技术每次只能对一个检测电压进行统计,每次判定需要靠不断尝试新的参数,准确率没有保证,全部检测电压查询需很大的时间开销,并且会引入Read Disturb;本实施例解决了因查找最佳检测电压而带来的效率和准确率的问题,大大提升了用户数据的更正效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种电压的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的电压的确定装置的结构框图,如图7所示,该装置包括:
第一确定模块72,用于在以默认电压从存储块中读取目标数据出现异常的情况下,确定上述存储块的状态信息;
第一选择模块74,用于基于上述状态信息选择N个电压偏移量,其中,上述N是大于1的自然数;
第二确定模块76,用于利用上述N个电压偏移量对上述默认电压进行调整,得到N个测试电压;
第三确定模块78,用于按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果;
第四确定模块710,用于基于上述N个读取结果之间的变化量确定读取上述目标数据的目标电压。
可选地,上述第一确定模块包括:
异常确定单元,用于在上述默认电压与上述目标数据在存储单元中的实际电压不一致的情况下,确定读取目标数据出现异常,其中,上述存储单元位于上述存储块中,用于存储上述目标数据;
状态确定单元,用于确定上述存储块的状态信息,其中,上述状态信息包括以下至少之一:上述存储块的擦写次数,上述存储块的读写温度。
可选地,上述装置还包括:
第五确定模块,用于在基于上述状态信息选择N个电压偏移量之前,确定上述N个电压偏移量,其中,上述第五确定模块包括:
存储确定单元,用于确定上述目标数据所在的存储单元;
第一定义单元,用于定义上述存储单元的状态域;
第一设置单元,用于设置与上述存储单元的状态域对应的M个电压偏移量,其中,上述M是大于1的自然数;
偏移量确定单元,用于从上述M个电压偏移中确定出上述N个电压偏移量。
可选地,上述第二确定模块,包括:
测试电压确定单元,用于按照预定计算方式计算上述电压偏移量与上述默认电压之间的电压值,得到上述N个测试电压,其中,上述预定计算方式包括上述默认电压与上述N个电压偏移量之间的正向计算或反向计算。
可选地,上述第三确定模块,包括:
第一电压区域确定单元,用于确定上述N个测试电压中每个测试电压所在的电压区域;
读取结果确定单元,用于在上述每个测试电压所在的电压区域中从上述存储块中读取上述目标数据,得到上述N个读取结果。
可选地,上述第四确定模块,包括:
第二电压区域确定单元,用于确定上述N个读取结果中每个读取结果对应的电压区域,得到N个电压区域;
第一变化量确定单元,用于计算出上述N个电压区域中每个电压区域的变化量,得到N个变化量,其中,上述每个电压区域的变化量用于表示上述每个读取结果对应的电压区域在第一预设值和第二预设值之间的变化次数;
第二变化量确定单元,用于确定出上述N个电压区域中相邻电压区域的变化量;
目标电压确定单元,用于利用上述相邻电压区域的变化量确定出读取上述目标数据的目标电压。
可选地,上述目标电压确定单元包括:
第一确定子单元,用于在上述N个测试电压发生正向移动的情况下,确定上述相邻电压区域的变化量的变化趋势;
第二确定子单元,用于将上述N个变化量中每个变化量与对应的电压区域的步长的平均值,得到N个平均值;
第三确定子单元,用于利用上述变化趋势以及上述N个平均值确定出读取上述目标数据的目标电压。
可选地,上述装置还包括:
存储模块,用于按照上述N个测试电压中的每个测试电压从上述存储块中读取上述目标数据,得到N个读取结果之后,将上述N个读取结果存储至动态随机存储器DRAM中。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在以默认电压从存储块中读取目标数据出现异常的情况下,确定存储块的状态信息;
S2,基于状态信息选择N个电压偏移量,其中,N是大于1的自然数;
S3,利用N个电压偏移量对默认电压进行调整,得到N个测试电压;
S4,按照N个测试电压中的每个测试电压从存储块中读取目标数据,得到N个读取结果;
S5,基于N个读取结果之间的变化量确定读取目标数据的目标电压。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在以默认电压从存储块中读取目标数据出现异常的情况下,确定存储块的状态信息;
S2,基于状态信息选择N个电压偏移量,其中,N是大于1的自然数;
S3,利用N个电压偏移量对默认电压进行调整,得到N个测试电压;
S4,按照N个测试电压中的每个测试电压从存储块中读取目标数据,得到N个读取结果;
S5,基于N个读取结果之间的变化量确定读取目标数据的目标电压。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。