CN111145820A - 一种数据读取方法及装置、存储介质和设备 - Google Patents
一种数据读取方法及装置、存储介质和设备 Download PDFInfo
- Publication number
- CN111145820A CN111145820A CN201911265173.5A CN201911265173A CN111145820A CN 111145820 A CN111145820 A CN 111145820A CN 201911265173 A CN201911265173 A CN 201911265173A CN 111145820 A CN111145820 A CN 111145820A
- Authority
- CN
- China
- Prior art keywords
- error
- data
- read
- flash memory
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请实施例提供一种数据读取方法及装置、存储介质和设备,所述方法包括:获取第一读操作电压,其中,所述第一读操作电压的初始值为预设电压;以所述第一读操作电压,读取闪存中的数据;确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,所述误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;若不满足,基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压;以所述第二读操作电压作为所述第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足所述预设条件。如此,能够降低从闪存上读取数据的错误的比特位的个数。
Description
技术领域
本申请涉及存储设备技术领域,尤其涉及一种数据读取方法及装置、存储介质和设备。
背景技术
随着信息技术的迅猛发展,传统存储介质和存储技术已很难满足用户对于存储的需求。手机、计算机等电子产品的广泛应用和企业数据中心的大规模建设,闪存正在取代传统的存储设备成为主流的存储载体之一。
闪存的存储单元通过存储电荷,来呈现不同电平状态,从而表示不同的数据形式。在对闪存进行读操作时,当使用读操作电压大于存储单元的阈值电压时,从该存储单元读出的是比特位的值为1的数据;而当所使用的读操作电压小于存储单元的阈值电压时,从该存储单元读出的是比特位的值为0的数据。
但是,由于闪存的存储单元所存储的电荷量受到存储单元的质量、寿命、时间、擦写次数等多种因素的影响,导致从闪存上直接读取的数据会含有大量错误的比特位。
发明内容
有鉴于此,本申请实施例提供一种数据读取方法及装置、存储介质和设备,以降低从闪存上读取数据的错误的比特位的个数。
本申请实施例主要提供如下技术方案:
第一方面,本申请实施例提供了一种数据读取方法,所述方法包括:获取第一读操作电压,其中,所述第一读操作电压的初始值为预设电压;以所述第一读操作电压,读取闪存中的数据;确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,所述误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;若不满足,基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压;以所述第二读操作电压作为所述第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足所述预设条件。
第二方面,本申请实施例提供了一种数据读取装置,所述装置包括:获取单元,用于获取第一读操作电压,其中,所述第一读操作电压的初始值为预设电压;第一读取单元,用于以所述第一读操作电压,读取闪存中的数据;确定单元,用于确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,所述误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;获得单元,用于若确定单元确定所读取到的闪存中的数据所对应的误差不满足预设条件,基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压;第二读取单元,用于以所述第二读操作电压作为所述第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足所述预设条件。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行上述的数据读取方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,所述计算机设备包括:至少一个处理器;以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的数据读取方法的步骤。
本申请实施例提供的数据读取方法及装置、存储介质和设备,在以第一读操作电压读取闪存中的数据后,会确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;若不满足,则基于所读取到的闪存中的数据所对应的误差,对第一读操作电压进行动态调整,获得第二读操作电压;然后,以第二读操作电压作为第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足预设条件。如此,根据所读取到的闪存中的数据所对应的误差,能够快速找到该闪存此时所对应的最合适的读操作电压,有效地降低从闪存上读取数据的错误的比特位的个数。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例中的闪存的存储单元的阈值电压分布示意图;
图2为本申请实施例中的数据读取方法的流程示意图;
图3为本申请实施例中的数据读取装置的结构示意图;
图4为本申请实施例中的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在相关技术中,根据闪存的存储单元的阈值电压的大小,可以得到如图1所示的闪存的存储单元的阈值电压分布示意图。参见图1所示,当使用电压11或者电压12作为读操作电压来读取闪存上的数据时,都会出现将部分存储单元比特位的值为1的数据或者比特位的值为0的数据的读错的情况,进而导致从闪存中所读取到的数据的错误位数较多。而当使用电压13作为读操作电压来读取闪存上的数据时,从闪存中所读取到的数据的错误位数是最少的。
本申请发明人在具体实施过程中发现:在系统将数据写入闪存后,由于闪存的阈值电压分布受到P/E(闪存磨损)次数、data retention(数据保持)和read disturb(读干扰)等因素的影响,导致阈值电压分布会向左或者向右发生偏移,从而,合适的读操作电压也会随着阈值电压分布的偏移而发生变化。因此,在使用闪存的存储系统中,对于闪存的读操作,如何找到合适的读操作电压,并通过该合适的读操作电压来读取闪存中的数据,对于减少读出的数据错误位数、确保闪存数据完整性、提高存储系统的可靠性是至关重要的。
那么,本申请实施例提供一种数据读取方法。在实际应用中,该数据读取方法可应用于各种需要降低从闪存上读取的数据错误位数的场景下。
在实际应用中,上述闪存可以由NAND存储设备来实现。作为示例,该闪存可以为SLC(Single-Level Cell,单层单元)架构的NAND存储设备,当然,该闪存还可以为其它类型,如MLC(Multi-Level Cell,多层单元)架构的NAND存储设备,这里,本申请实施例不做具体限定。
图2为本申请实施例中的数据读取方法的流程示意图,参见图2所示,该数据读取方法可以包括:
S201:获取第一读操作电压;
其中,第一读操作电压的初始值为预设电压。
在实际应用中,预设电压可以为系统自行设定的默认读操作电压,也可以为本领域技术人员根据实际应用情况设定的经验值,这里,本申请实施例不做具体限定。
S202:以第一读操作电压,读取闪存中的数据;
S203:确定所读取到的闪存中的数据所对应的误差是否满足预设条件;
其中,误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值。
在实际应用中,系统将数据写入闪存前,通常会将数据扰码,以使写入闪存的数据中比特位的值为0的个数和比特位的值为1的个数均衡。当使用合适的读操作电压来读取闪存中的数据时,从闪存中所读取到的数据中比特位的值为0的个数和比特位的值为1的个数会大致相等,此时,所读取到的闪存中的数据中的错误位数较少。相反,如果读操作电压选择的不合适,则从闪存中所读取到的数据中比特位的值为0的个数和比特位的值为1的个数会出现严重不一致的情况,也就是说,所读取到的闪存中的数据中错误位数的较多。
举例来说,假设所读取到的闪存中的数据所对应的误差的取值范围是[-5000,+5000],那么,为了实现减少读出的数据错误位数,并减少重新读取数据的次数,上述预设条件可以设置为[-199,+199]。
举例来说,参见下表1所示的第一模糊映射关系,上述预设条件可以为设置模糊化后的误差为0。
当然,除了上述两种实现方式外,上述预设条件还可以为其它,这里,本申请实施例不做具体限定。
在具体实施过程中,在通过第一读操作电压从闪存的存储单元中读取到闪存中的数据后,就可以分别统计所读取到的数据中比特位的值为1的个数和比特位的值为0的个数,接下来,计算比特位的值为0的个数和比特位的值为1的个数之间的差值,将该差值确定为所读取到的闪存中的数据所对应的误差;然后,将该误差与预设条件进行匹配,以便根据匹配结果,确定是否需要对第一读操作电压进行动态调整,以便确定出更为合适的读操作电压。具体来说,若通过第一读操作电压从闪存中所读取到的数据所对应的误差不满足预设条件,表明所读取到的闪存中的数据的错误位数较多,则需要确定合适的读操作电压,来重新读取闪存中的数据,那么,就可以执行S204~S205,以便根据闪存的实际错误情况,通过对第一读操作电压进行动态调整,来快速找到该闪存此时所对应的最合适的读操作电压。
S204:基于误差,对第一读操作电压进行动态调整,获得第二读操作电压;
在本申请其它实施例中,上述S204可以包括以下步骤2041~步骤2044:
步骤2041:基于误差,确定误差变化率;
步骤2042:对误差和误差变化率进行模糊化处理,获得模糊化后的误差和模糊化后的误差变化率;
步骤2043:基于模糊化后的误差和模糊化后的误差变化率,确定电压偏移量;
步骤2044:基于电压偏移量和第一读操作电压,获得第二读操作电压。
在具体实施过程中,上述步骤2041可以包括:将第i次误差与第i-1次误差之间的差值,确定为误差差值,其中,第i-1次误差的初始值为0,i为正整数;将误差差值与预设常数值之间的比值确定为误差变化率。
这里,第i次误差是指本次读取闪存中的数据所得到的误差,对应地,第i-1次误差是指上一次读取闪存中的数据所得到的误差,其中,i可以取值为1、2、3等等。
作为示例,可以使用如下公式(1),来计算出误差变化率。
ECi=(Ei-Ei-1)/α 公式(1)
其中,在公式(1)中,ECi表示第i次误差变化率,Ei表示第i次误差,Ei-1表示第i-1次误差,i为正整数,E0=0,α为常数。
在具体实施过程中,上述步骤2042可以包括:基于预先设置的第一模糊映射关系,确定误差所对应模糊化后的误差;基于预先设置的第二模糊映射关系,确定误差变化率所对应的模糊化后的误差变化率。
在实际应用中,模糊控制(Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。它以模糊数学为基础,用语言规则表示方法和先进的计算机技术,由模糊推理进行决策的一种高级控制策略。模糊控制实质上是一种非线性控制,从属于智能控制的范畴。
那么,为了通过有限次读取数据,就能够快速找到最合适的读操作电压,并且在对读操作电压进行动态调整的过程中,避免对系统的读延迟性能产生不利影响,在获得所读取到的闪存中的数据所对应的误差和误差变化率之后,可以通过模糊控制,来对误差和误差变化率进行模糊化处理,获得模糊化后的误差和模糊化后的误差变化率。
在实际应用中,上述第一模糊映射关系用于对误差进行模糊化处理。上述第二模糊映射关系用于对误差变化率进行模糊化处理。
作为示例,参见下表1所示的第一模糊映射关系,误差E的取值范围为[-5000,+5000],模糊化后的误差Ef的取值范围为[-4,+4];参见下表2所示的第二模糊映射关系,误差变化率EC的取值范围为[-300,+300],模糊化后的误差变化率ECf的取值范围为[-4,+4]。
E | [-5000,-2000] | [-1999,-1000] | [-999,-500] | [-499,-200] | [-199,+199] |
E<sub>f</sub> | -4 | -3 | -2 | -1 | 0 |
E | [+200,+499] | [+500,+999] | [+1000,+1999] | [+2000,+5000] | |
E<sub>f</sub> | +1 | +2 | +3 | +4 |
表1
EC | [-300,-150] | [-149,-100] | [-99,-50] | [-49,-10] | [-9,+9] |
EC<sub>f</sub> | -4 | -3 | -2 | -1 | 0 |
EC | [+10,+49] | [+50,+100] | [+101,+150] | [+151,+300] | |
EC<sub>f</sub> | +1 | +2 | +3 | +4 |
表2
那么,在获得误差E和误差变化率EC之后,就可以通过上表1对误差E进行模糊化处理,得到对应的值是模糊化后的误差Ef;并通过上表2对误差变化率EC进行模糊化处理,得到对应的值是模糊化后的误差变化率ECf。
在具体实施过程中,上述步骤2043可以包括:基于模糊化后的误差和模糊化后的误差变化率,通过预设的模糊控制表,确定对应的模糊化后的电压偏移量;对模糊化后的电压偏移量进行去模糊化处理,得到电压偏移量。
在实际应用中,为了通过有限次读取数据,就能够快速找到最合适的读操作电压,并且在对读操作电压进行动态调整的过程中,避免对系统的读延迟性能产生不利影响,在获得模糊化后的误差和模糊化后的误差变化率之后,就可以通过查找预设的模糊控制表,确定与模糊化后的误差和模糊化后的误差变化率对应的模糊化后的电压偏移量。最后,在对模糊化后的电压偏移量进行去模糊化处理之后,就获得了用于对第一读操作电压进行调整的电压偏移量。
作为示例,根据模糊化后的误差Ef和模糊化后的误差变化率ECf,通过查询如下表3所示的预设的模糊控制表,就可以得到模糊化后的电压偏移量DVf。
表3
接下来,就可以使用如下公式(2),来对查询模糊控制表所得到的模糊化后的电压偏移量DVf,进行去模糊化处理,得到用于对第一读操作电压进行调整的电压偏移量DV。
DV=DVf*β 公式(2)
其中,在公式(2)中,DVf表示模糊化后的电压偏移量,DV表示去模糊化的电压偏移量,β为预设系数。
举例来说,β可以取值为0.1。
在具体实施过程中,上述1044可以包括:将第一读操作电压与电压偏移量之间的差值确定为第二读操作电压。
这里,第一读操作电压为本次读取闪存中的数据所使用的读操作电压。第二操作电压为下一次读取闪存中的数据可使用的读操作电压。
作为示例,在获得本次所读取到的闪存中的数据所对应的电压偏移量之后,就可以使用如下公式(3),来计算第二读操作电压,即新的第一读操作电压。
S205:以第二读操作电压作为第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足预设条件。
作为示例,在根据本次所读取到的闪存中数据中的误差,对第一读操作电压进行动态调整,获得更为合适的第二读操作电压之后,就可以使用该第二读操作电压重新读取闪存中的数据,并循环执行S203~S205,直至所读取到的闪存中的数据所对应的误差满足预设条件,即直至所读取到的闪存中的数据的错误比特位的个数最少。如此,通过根据本次所读取到的闪存中的数据的实际错误情况,对本次所使用的第一读操作电压进行动态调整,就实现了快速找到该闪存此时所对应的最合适的读操作电压,能够使得系统从闪存上读出数据的错误位数最少,从而,确保闪存数据的完整性,并提高闪存的可靠性。而且由于能够快速找到合适的读操作电压,还会使得读延迟较低。
在本申请另一实施例中,在使用闪存的存储设备上集成了具备纠错能力的ECC(Error Checking and Correcting,错误检查和纠正)模块,那么,在具体实施过程中,在S205之后,上述方法还可以包括:通过ECC模块,对所读取到的闪存中的数据进行闪存纠错处理,获得纠错后的数据。这样,在读取闪存数据的过程中,由于先通过动态调整闪存的读操作电压的方式获得了合适的读操作电压,然后以该合适的读操作电压来读取闪存中的数据,能够减少所读取到的闪存中数据中的数据错误位数。此时,所读取到的闪存中数据中的数据错误位数是最少的,这样,所读取到的闪存中数据中的数据错误位数就不会超过ECC模块的纠错能力,接下来,再通过ECC模块对所读取到的闪存中的数据进行纠错处理,所得到的纠错后的数据中不可纠的错误比特数也会是最小的,能够进一步实现确保闪存数据的正确性。
至此,便完成了通过动态调整闪存的读操作电压的方式,来读取闪存中的数据的过程。
由上述内容可知,本申请实施例提供的数据读取方法,在以第一读操作电压读取闪存中的数据后,会先确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;若不满足,则基于所读取到的闪存中的数据所对应的误差,对第一读操作电压进行动态调整,获得第二读操作电压;然后,以第二读操作电压作为第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足预设条件。如此,根据所读取到的闪存中的数据所对应的误差,能够快速找到该闪存所对应的最合适的读操作电压,有效地降低从闪存上读出数据的错误数,确保闪存数据完整性,并提高闪存的可靠性。而且由于快速找到合适的读操作电压,还能够减小闪存读延迟。
基于前述实施例,本申请实施例提供一种数据读取方法,应用于以下场景中:在以读操作电压读取到闪存中的数据之后,会先统计所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值,计算出该所读取到的闪存中的数据所对应的误差和误差变化率。接下来,对误差和误差变化率进行模糊化处理,并基于模糊化后的误差和模糊化后的误差变化率,查询预先设置的模糊控制表,得到该读操作电压所对应的模糊化后的电压偏移量。然后,在对该模糊化后的电压偏移量进行去模糊化处理后,就可以确定此时读操作电压对应的电压偏移量,以便实现基于该电压偏移量对该读操作电压进行动态调整。这样,经过有限地几次动态调整后,就可以得到一个合适的读操作电压,使得从闪存中读取数据的错误位数最少。
那么,在实际应用中,该数据读取方法可以包括以下具体实施步骤:
Step2:统计所读取到的闪存上的数据中比特位的值为0的个数和比特位的值为1的个数然后,计算所读取到的闪存上的数据对应的误差计算所读取到的闪存上的数据对应的误差变化率ECi=(Ei-Ei-1)/α。其中,ECi表示第i次误差变化率,Ei表示第i次误差,Ei-1表示第i-1次误差,即上一次所读取到的闪存上的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值,i为正整数,α为常数,Ei-1初始值为0。
Step3:根据表1对误差Ei进行模糊化处理,得到模糊化后的误差Ef,并根据表2对误差变化率ECi进行模糊化处理,得到模糊化后的误差变化率ECf。
Step4:根据模糊化后的误差Ef和模糊化后的误差变化率ECf,查询如表3所示的模糊控制表,得到模糊化后的电压偏移量DVf。
Step5:将查询模糊控制表所得到的模糊化后的电压偏移量DVf进行去模糊化处理,即电压偏移量DV=DVf*β,其中,β=0.1。
由上述内容可知,本申请实施例提供的数据读取方法,基于闪存实际的错误情况和闪存的实际使用场景,采用模糊控制智能管理策略,动态调整读操作电压,只需要有限次数的读操作就能够找到最优的读操作电压,从而,就能够有效地降低从闪存上读出数据的错误数,减小闪存读延迟。
基于同一发明构思,本申请实施例提供了一种数据读取装置。图3为本申请实施例中的数据读取装置的结构示意图,参见图3所示,该装置30可以包括:获取单元301,用于获取第一读操作电压,其中,第一读操作电压的初始值为预设电压;第一读取单元302,用于以第一读操作电压,读取闪存中的数据;确定单元303,用于确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;获得单元304,用于若确定单元确定所读取到的闪存中的数据所对应的误差不满足预设条件,基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压;第二读取单元305,用于以第二读操作电压作为第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足预设条件。
在本申请实施例中,获得单元,用于基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压,包括:获得单元,用于基于误差,确定误差变化率;对误差和误差变化率进行模糊化处理,获得模糊化后的误差和模糊化后的误差变化率;基于模糊化后的误差和模糊化后的误差变化率,确定电压偏移量;基于电压偏移量和第一读操作电压,获得第二读操作电压。
在本申请实施例中,获得单元,用于基于模糊化后的误差和模糊化后的误差变化率,确定电压偏移量,包括:获得单元,用于基于模糊化后的误差和模糊化后的误差变化率,通过预设的模糊控制表,确定对应的模糊化后的电压偏移量;对模糊化后的电压偏移量进行去模糊化处理,得到电压偏移量。
在本申请实施例中,获得单元,用于基于误差,确定误差变化率,包括:获得单元,用于将第i次误差与第i-1次误差之间的差值,确定为误差差值,其中,第i-1次误差的初始值为0,i为正整数;将误差差值与预设常数值之间的比值确定为误差变化率。
在本申请实施例中,获得单元,用于基于电压偏移量和第一读操作电压,获得第二读操作电压,包括:获得单元,用于将第一读操作电压与电压偏移量之间的差值确定为第二读操作电压。
在本申请其它实施例中,上述装置还可以包括:纠错单元,用于通过ECC错误检查和纠正模块,对所读取到的闪存中的数据进行闪存纠错处理,获得纠错后的数据。
基于同一发明构思,本申请实施例提供一种计算机设备。图4为本申请实施例中的计算机设备的结构示意图,参见图4所示,该计算机设备40包括:至少一个处理器401;以及与处理器401连接的至少一个存储器402、总线403;其中,处理器401、存储器402通过总线403完成相互间的通信;处理器401用于调用存储器402中的程序指令,以执行上述一个或多个实施例中的数据读取方法的步骤。
上述处理器可由中央处理器(Central Processing Unit,CPU)、微处理器(MicroProcessor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。存储器可能包括计算机可读介质中的非永久性存储器,随机存储器(Random Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM),存储器包括至少一个存储芯片。
需要说明的是,在本申请实施例中,如果以软件功能模块的形式实现上述一个或多个实施例中的数据读取方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。
相应地,基于同一发明构思,本申请实施例再提供一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在程序运行时控制存储介质所在计算机设备执行上述一个或多个实施例中的数据读取方法的步骤。
这里需要指出的是:以上装置、计算机设备或计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置、计算机设备或计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种数据读取方法,其特征在于,所述方法包括:
获取第一读操作电压,其中,所述第一读操作电压的初始值为预设电压;
以所述第一读操作电压,读取闪存中的数据;
确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,所述误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;
若不满足,基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压;
以所述第二读操作电压作为所述第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足所述预设条件。
2.根据权利要求1所述的方法,其特征在于,所述基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压,包括:
基于所述误差,确定误差变化率;
对所述误差和所述误差变化率进行模糊化处理,获得模糊化后的误差和模糊化后的误差变化率;
基于所述模糊化后的误差和模糊化后的误差变化率,确定电压偏移量;
基于所述电压偏移量和所述第一读操作电压,获得所述第二读操作电压。
3.根据权利要求2所述的方法,其特征在于,所述基于所述模糊化后的误差和模糊化后的误差变化率,确定电压偏移量,包括:
基于所述模糊化后的误差和模糊化后的误差变化率,通过预设的模糊控制表,确定对应的模糊化后的电压偏移量;
对所述模糊化后的电压偏移量进行去模糊化处理,得到所述电压偏移量。
4.根据权利要求2所述的方法,其特征在于,所述基于所述误差,确定误差变化率,包括:
将第i次误差与第i-1次误差之间的差值,确定为误差差值,其中,第i-1次误差的初始值为0,i为正整数;
将所述误差差值与预设常数值之间的比值确定为所述误差变化率。
5.根据权利要求2所述的方法,其特征在于,所述基于所述电压偏移量和所述第一读操作电压,获得所述第二读操作电压,包括:
将所述第一读操作电压与所述电压偏移量之间的差值确定为所述第二读操作电压。
6.根据权利要求1所述的方法,其特征在于,在所述以所述第二读操作电压作为所述第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足所述预设条件之后,所述方法包括:
通过ECC错误检查和纠正模块,对所读取到的闪存中的数据进行闪存纠错处理,获得纠错后的数据。
7.一种数据读取装置,其特征在于,所述装置包括:
获取单元,用于获取第一读操作电压,其中,所述第一读操作电压的初始值为预设电压;
第一读取单元,用于以所述第一读操作电压,读取闪存中的数据;
确定单元,用于确定所读取到的闪存中的数据所对应的误差是否满足预设条件,其中,所述误差为所读取到的闪存中的数据中比特位的值为0的个数和比特位的值为1的个数之间的差值;
获得单元,用于若确定单元确定所读取到的闪存中的数据所对应的误差不满足预设条件,基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压;
第二读取单元,用于以所述第二读操作电压作为所述第一读操作电压,重新读取闪存中的数据,直至所读取到的闪存中的数据所对应的误差满足所述预设条件。
8.根据权利要求7所述的装置,其特征在于,所述获得单元,用于基于所述误差,对所述第一读操作电压进行动态调整,获得第二读操作电压,包括:
所述获得单元,用于基于所述误差,确定误差变化率;对所述误差和所述误差变化率进行模糊化处理,获得模糊化后的误差和模糊化后的误差变化率;基于所述模糊化后的误差和模糊化后的误差变化率,确定电压偏移量;基于所述电压偏移量和所述第一读操作电压,获得所述第二读操作电压。
9.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行如权利要求1至6任一项所述的数据读取方法的步骤。
10.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器;
以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至6任一项所述的数据读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911265173.5A CN111145820B (zh) | 2019-12-11 | 2019-12-11 | 一种数据读取方法及装置、存储介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911265173.5A CN111145820B (zh) | 2019-12-11 | 2019-12-11 | 一种数据读取方法及装置、存储介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111145820A true CN111145820A (zh) | 2020-05-12 |
CN111145820B CN111145820B (zh) | 2021-12-28 |
Family
ID=70518018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911265173.5A Active CN111145820B (zh) | 2019-12-11 | 2019-12-11 | 一种数据读取方法及装置、存储介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145820B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447241A (zh) * | 2020-11-25 | 2021-03-05 | 合肥大唐存储科技有限公司 | 一种实现数据重读的方法、装置、计算机存储介质及终端 |
CN112634973A (zh) * | 2020-12-29 | 2021-04-09 | 合肥致存微电子有限责任公司 | 存储介质的数据重读方法、系统、终端设备以及存储介质 |
CN112988453A (zh) * | 2021-04-08 | 2021-06-18 | 中国科学院微电子研究所 | 用于闪存的数据恢复方法 |
CN113805815A (zh) * | 2021-09-18 | 2021-12-17 | 中国科学院微电子研究所 | 一种用于闪存的数据恢复方法、装置及系统 |
CN116665761A (zh) * | 2023-05-24 | 2023-08-29 | 珠海妙存科技有限公司 | 数据分析方法、数据分析装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599236B2 (en) * | 2006-06-07 | 2009-10-06 | Freescale Semiconductor, Inc. | In-circuit Vt distribution bit counter for non-volatile memory devices |
CN103928055A (zh) * | 2013-01-14 | 2014-07-16 | 三星电子株式会社 | 闪速存储器、闪速存储器系统及其操作方法 |
CN105871303A (zh) * | 2016-05-17 | 2016-08-17 | 中国人民解放军武汉军械士官学校 | 一种便携式风光互补储供电系统 |
CN107094370A (zh) * | 2012-05-04 | 2017-08-25 | 希捷科技有限公司 | 固态硬盘控制器的0‑1平衡管理 |
CN107527644A (zh) * | 2017-08-28 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种固态硬盘读参考电压的优化方法及装置 |
US20190074067A1 (en) * | 2010-12-07 | 2019-03-07 | Silicon Motion Inc. | Method and apparatus for reading data stored in flash memory by referring to binary digit distribution characteristics of bit sequences read from flash memory |
CN109493890A (zh) * | 2017-09-13 | 2019-03-19 | 爱思开海力士有限公司 | 存储器装置及其操作方法 |
-
2019
- 2019-12-11 CN CN201911265173.5A patent/CN111145820B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599236B2 (en) * | 2006-06-07 | 2009-10-06 | Freescale Semiconductor, Inc. | In-circuit Vt distribution bit counter for non-volatile memory devices |
US20190074067A1 (en) * | 2010-12-07 | 2019-03-07 | Silicon Motion Inc. | Method and apparatus for reading data stored in flash memory by referring to binary digit distribution characteristics of bit sequences read from flash memory |
CN107094370A (zh) * | 2012-05-04 | 2017-08-25 | 希捷科技有限公司 | 固态硬盘控制器的0‑1平衡管理 |
CN103928055A (zh) * | 2013-01-14 | 2014-07-16 | 三星电子株式会社 | 闪速存储器、闪速存储器系统及其操作方法 |
CN105871303A (zh) * | 2016-05-17 | 2016-08-17 | 中国人民解放军武汉军械士官学校 | 一种便携式风光互补储供电系统 |
CN107527644A (zh) * | 2017-08-28 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种固态硬盘读参考电压的优化方法及装置 |
CN109493890A (zh) * | 2017-09-13 | 2019-03-19 | 爱思开海力士有限公司 | 存储器装置及其操作方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447241A (zh) * | 2020-11-25 | 2021-03-05 | 合肥大唐存储科技有限公司 | 一种实现数据重读的方法、装置、计算机存储介质及终端 |
CN112634973A (zh) * | 2020-12-29 | 2021-04-09 | 合肥致存微电子有限责任公司 | 存储介质的数据重读方法、系统、终端设备以及存储介质 |
CN112988453A (zh) * | 2021-04-08 | 2021-06-18 | 中国科学院微电子研究所 | 用于闪存的数据恢复方法 |
CN113805815A (zh) * | 2021-09-18 | 2021-12-17 | 中国科学院微电子研究所 | 一种用于闪存的数据恢复方法、装置及系统 |
CN113805815B (zh) * | 2021-09-18 | 2024-03-01 | 中国科学院微电子研究所 | 一种用于闪存的数据恢复方法、装置及系统 |
CN116665761A (zh) * | 2023-05-24 | 2023-08-29 | 珠海妙存科技有限公司 | 数据分析方法、数据分析装置、电子设备和存储介质 |
CN116665761B (zh) * | 2023-05-24 | 2024-01-23 | 珠海妙存科技有限公司 | 数据分析方法、数据分析装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111145820B (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145820B (zh) | 一种数据读取方法及装置、存储介质和设备 | |
US10838810B2 (en) | Systems and methods for inter-cell interference mitigation in a flash memory | |
KR101610729B1 (ko) | 저장 시스템 | |
US9329935B2 (en) | Method to dynamically update LLRs in an SSD drive and/or controller | |
US20100296350A1 (en) | Method of setting read voltage minimizing read data errors | |
US10176041B2 (en) | Deterministic read retry method for soft LDPC decoding in flash memories | |
US9136011B2 (en) | Soft information module | |
CN103295635A (zh) | 快闪存储器的数据读取方法、存储器控制装置和系统 | |
US11301323B2 (en) | Customized parameterization of read parameters after a decoding failure for solid state storage devices | |
US20090222701A1 (en) | Apparatus for determining number of bits to be stored in memory cell | |
CN106415502A (zh) | 数据存储的方法和装置 | |
CN112256193A (zh) | 一种提高固态硬盘数据安全性的方法、装置和存储介质 | |
CN109032514B (zh) | 一种数据读取方法、装置、设备及可读存储介质 | |
CN109660263B (zh) | 一种适用于mlc nand闪存的ldpc码译码方法 | |
US11374595B2 (en) | Method for selectively inverting words to be written to a memory and device for implementing same | |
US20200285421A1 (en) | Trigger margin based dynamic program step characteristic adjustment | |
CN110111829B (zh) | 一种闪存信道校正的方法、装置和介质 | |
CN115424650A (zh) | 一种离线数据保持时间的确定方法、装置、设备及介质 | |
WO2019237060A1 (en) | Log-likelihood-ratio (llr) generation algorithm for low-density-parity-check (ldpc) codes used in flash memory | |
CN113241112B (zh) | 坏块筛选方法、装置、计算机可读存储介质及电子设备 | |
CN114333951A (zh) | 一种闪存重读方法和装置 | |
CN114566201A (zh) | 一种最优读电压确定方法、装置及电子设备 | |
TWI684106B (zh) | 訓練人工智慧更正儲存裝置的對數概度比的方法 | |
US20150074456A1 (en) | Versioned memories using a multi-level cell | |
CN111767165A (zh) | 数据处理方法、装置及控制设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |