CN112599176A - 存储器的最佳检测电压获取方法、读取控制方法及装置 - Google Patents
存储器的最佳检测电压获取方法、读取控制方法及装置 Download PDFInfo
- Publication number
- CN112599176A CN112599176A CN202011479904.9A CN202011479904A CN112599176A CN 112599176 A CN112599176 A CN 112599176A CN 202011479904 A CN202011479904 A CN 202011479904A CN 112599176 A CN112599176 A CN 112599176A
- Authority
- CN
- China
- Prior art keywords
- tangent
- voltage
- detection voltage
- value
- approximation
- 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/30—Power supply circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
提供最佳检测电压获取方法、读取控制方法及装置。所述最佳检测电压获取方法包括:在多个检测电压下进行多次读操作以获得多个第一差值和多个第二差值,第二差值表示相邻的两个检测电压的差值,第一差值表示阈值电压分别等于第二差值采用的两个检测电压的存储单元数量的差值;采用第一差值除以第二差值,得到多个正切近似值;从多个正切近似值中选出第一正切近似值和第二正切近似值;根据第一正切近似值和第二正切近似值以及与第一正切近似值和第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压。本公开实施例得到的最佳检测电压可用于硬判决译码中,能够降低原始比特误码率。
Description
技术领域
本申请涉及存储器领域,并且更具体地涉及一种存储器的最佳检测电压获取方法、读取控制方法及装置。
背景技术
NAND型快闪存储器作为一种非易失性的存储器,目前已经广泛应用在无线通信,传统硬盘,固态存储硬盘等产品中。
从NAND型闪存存储器读取数据时,需要采用译码器对读取到的数据进行译码才能获得数据内容。译码器采用软译码算法进行译码时,通常使用纠错码(ECC)纠正一定数量的错误数据比特。在现有的ECC纠错技术中,可以采用BCH码(即,博斯-查德胡里-霍昆格母码)或LDPC码(即,低密度奇偶校验码)实现ECC纠错。LDPC码的纠错能力优于BCH码。随着3DNAND快闪存储器制程的减小和堆叠层数的增加,读操作时的原始比特误码率(RBER,RawBit Error Rate)不断上升,BCH码已经不能满足现在的需求。近年来LDPC码已经取代BCH码而广泛应用在NAND型闪存存储器。
LDPC码的译码方法包括以下三类:硬判决译码、软判决译码和混合译码。硬判决是指解调器根据其判决门限对接收到的信号波形直接进行判决后输出0或1。软判决中,解调器不进行判决,直接输出模拟量,或是将解调器输出波形进行多电平量化,然后送往译码器,即,译码信道的输出是没有经过判决的“软信息”,由译码器对“软信息”进行判决。混合解码是两者结合。
对于相同的LDPC码来说,采用不同的译码方法可以获得不同的纠错性能。相比较而言,硬判决译码的速度更快,效率更高,而软判决译码则拥有更优秀的译码能力。因此通常将两者结合以发挥最大效力,即先采用硬判决译码,然后由软判决对硬判决译码无法判别的数据进行判决。因此要将软判决译码的译码能力高度发挥,需要硬判决译码的结果更加准确,而要达到硬判决译码的结果更加准确,则需要提供更加准确的最佳检测电压(Vopt)。
发明内容
有鉴于此,本发明提供一种存储器的最佳检测电压获取方法、读取控制方法及装置,其中,存储器的最佳检测电压获取方法能够获取存储器的最佳检测电压。
根据本发明的第一方面,提供一种存储器的最佳检测电压获取方法,包括:
在多个检测电压下进行多次读操作以获得多个第一差值和多个第二差值,所述第二差值表示数值相邻的两个检测电压的差值,所述第一差值表示阈值电压分别等于所述第二差值采用的两个检测电压的存储单元数量的差值;
采用所述第一差值除以所述第二差值,以得到多个正切近似值;
从所述多个正切近似值中选出第一正切近似值和第二正切近似值,所述第一正切近似值为正数,所述第二正切近似值为负数;
根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压。
可选地,所述根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值分别对应的第一检测电压和第二检测电压计算最佳检测电压包括:
将所述第二正切近似值作为所述第一正切近似值对应的第一检测电压的权重系数,将所述第一正切近似值作为所述第二正切近似值对应的第二检测电压的权重系数进行加权计算,得到所述最佳检测电压。
可选地,所述多个检测电压的获取步骤为以下步骤中的一种:
在第一电压初始值的基础上持续增加第一步长,以获得所述多个检测电压;
在第二电压初始值的基础上持续减少第一步长,以获得所述多个检测电压;
在第三电压初始值的基础上同时持续增加和减少第三步长,以获得所述多个检测电压。
可选地,所述第三电压初始值为所述存储器的默认检测电压。
可选地,所述第一正切近似值和所述第二正切近似值大小相等。
可选地,所述最佳检测电压获取方法还包括:获取所述存储器在理想状态下的阈值电压分布的多个波峰所对应的多个电压值,将每个波峰所对应的电压值作为所述第一初始电压值或所述第二初始电压值。
可选地,如果所述存储器是MLC,则所述最佳检测电压获取方法还包括:通过重复执行所述述最佳检测电压获取方法的各个步骤,得到多个最佳检测电压。
可选地,所述第一正切近似值为所有正的正切近似值中的最小值,所述第二正切值为所有负的正切值中的绝对值最小的值。
根据本发明的第二方面,提供一种用于存储器的读取控制方法,包括:
上述任一项所述的最佳检测电压获取方法获取最佳检测电压;
在所述最佳检测电压下进行LDPC的硬判决译码,得到第一数据;
针对所述第一数据进行软判决译码,得到第二数据;
对所述第二数据进行LDPC译码,以得到最终输出数据。
根据本发明的第三方面,提供一种用于存储器的读取控制装置,包括:
硬解码模块,用于将最佳检测电压下进行LDPC的硬判决译码,得到第一数据;
软解码模块,用于针对所述第一数据进行软判决译码,得到第二数据
LDPC译码器模块,用于对所述第二数据进行LDPC译码,以得到最终输出数据,
其中,所述最佳检测电压的获取方法包括以下步骤:
在多个检测电压下进行多次读操作以获得多个第一差值和多个第二差值,所述多个检测电压逐渐增加,所述第二差值表示相邻的两个检测电压的差值,所述第一差值表示阈值电压分别等于所述第二差值采用的两个检测电压的存储单元数量的差值;
采用所述第一差值除以所述第二差值,以得到多个正切近似值;
从所述多个正切近似值中选出第一正切近似值和第二正切近似值,所述第一正切近似值为正数,所述第二正切近似值为负数;
根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压。
可选地,所述根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值分别对应的第一检测电压和第二检测电压计算最佳检测电压包括:
将所述第二正切近似值作为所述第一正切近似值对应的第一检测电压的权重系数,将所述第一正切近似值作为所述第二正切近似值对应的第二检测电压的权重系数进行加权计算,得到所述最佳检测电压。
可选地,所述多个检测电压的获取步骤为以下步骤中的一种:
在第一电压初始值的基础上持续增加第一步长,以获得所述多个检测电压;
在第二电压初始值的基础上持续减少第一步长,以获得所述多个检测电压;
在第三电压初始值的基础上同时持续增加和减少第三步长,以获得所述多个检测电压。
可选地,所述第三电压初始值为所述存储器的默认检测电压。
可选地,所述第一正切近似值和所述第二正切近似值大小相等。
可选地,所述第一电压初始值和所述第二电压初始值的获取步骤包括:
获取所述存储器在理想状态下的阈值电压分布的多个波峰所对应的多个电压值,并将每个波峰所对应的电压值作为所述第一初始电压值或所述第二初始电压值。
可选地,所述第一正切近似值为所有正的正切近似值中的最小值,所述第二正切值为所有负的正切值中的绝对值最小的值。
可选地,所述存储器为闪存存储器。
根据本发明的第四方面,提供一种存储器控制器,包括上述任一项所述的读取控制装置和写入控制装置。
根据本发明的第五方面,提供一种闪存系统,包括存储器和上述的存储器控制器。
根据本发明实施例的读取控制方法通过近似计算多个检测电压在阈值电压曲线的多个倾斜角的多个正切近似值,并在其中选出正负相反的两个正切近似值,由于基于阈值电压曲线的曲线特征,该两个正切近似值所对应的检测电压一定位于最佳检测电压的两侧,因此,可采用这两个正切近似值以及这两个正切近似值对应的两个检测电压计算最佳检测电压。这样计算得到的最佳检测电压用于硬判决译码中,能够降低原始比特误码率,进而有助于提高软判决译码和LDPC译码的译码效果,提高读取速度并降低系统功耗。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1示出闪存系统的示意性框图;
图2示出闪存系统中读取控制装置的示意性框图;
图3是一示例性的闪存存储器的阈值电压分布图;
图4是本公开实施例提供的用于存储器的最佳检测电压获取方法的流程图;
图5和图6是两个示例性的闪存存储器的阈值电压分布图;
图7是本公开实施例的读取控制装置的结构图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
本申请使用以下术语。
原始比特误码率(RBER)是指在使用ECC之前的比特误码比率(Raw Bit ErrorRate),原始比特误码率反映了Nand Flash最原始的可靠性状态。原始误码率越高,反映出Nand Flash可靠性越差。
ECC是“Error Correcting Code”的简写,ECC是一种能够实现错误检查和纠正的技术。LDPC和BCH是ECC技术的两个分支。
图1示出闪存系统的示意性框图。该闪存系统例如是使用固态硬盘(SSD)的计算机系统。该计算机系统包括主机110。固态硬盘包括存储器控制器120和存储器130。主机110经由存储器控制器120访问存储器130。该存储器130包括至少一个闪存芯片131。在该闪存系统中,存储数据为原始数据经过编码产生的编码数据,在读取过程中对存储数据译码才能获得原始数据。
主机110例如包括处理器。在使用状态中,该处理器从存储器130中加载程序或读取数据,以及向存储器130中写入数据。
存储器控制器120例如是单独的集成电路芯片,包括写入控制装置和读取控制装置。在写入操作期间,写入控制装置对原始数据进行LDPC编码,从而生成存储数据,从而将存储数据写入存储器130中。在读操作期间,读取控制装置从存储器130中获取存储数据,然后基于LLR进行LDPC译码以获得原始数据。
闪存芯片131包括多个存储单元。在一个示例中,每个存储单元可以是单层单元(SLC),其存储单个比特的数据。在另一示例中,每个存储单元可以是多层单元(MLC),其存储多个比特的数据。
在本实施例中,以使用固态硬盘的计算机系统作为闪存系统的实例。然而,本发明不限于此。闪存产品可以是包括固态硬盘、内存条、优盘、闪存卡中的任一种。
图2示出闪存系统中读取控制装置的示意性框图。如上所述,闪存系统中的存储器控制模块包括写入控制装置和读取控制装置。本发明的实施例主要涉及读取控制装置的变化。
读取控制装置121包括硬解码模块1211、软解码模块1212和LDPC译码器模块1213。
在工作期间,硬解码模块1211以存储页面为单位从存储器130读取数据,然后采用硬判决解码对读取到的数据进行译码操作。具体地,在读取周期期间,硬解码模块1211向存储页面的各存储单元施加检测电压(sensing voltage)。对于给定的存储单元,硬解码模块1211确定存储单元的阈值电压与所施加的检测电压相比是更高还是更低。基于该确定,例如,如果存储单元是SLC,则硬解码模块1211估计存储单元中存储的比特是‘0’还是‘1’。如果存储单元是MLC,则分多次施加多个检测电压以估计存储在存储单元中的比特。存储单元由带浮栅的MOS晶体管组成,硬解码模块1211向存储单元施加检测电压(实际上就是向晶体管的控制栅极施加检测电压)后,根据晶体管内的电平状态确定晶体管内存储的二进制数据。举例说明。存储单元A可存储3个比特位的数据,即可存储的二进制数据为000,001,010,011,100,101,110,111,当向存储单元A写入数据时,改变存储单元A内的电荷数从而改变存储单元A的阈值电压,例如写入’111’时对应的阈值电压是Vth1,因此,上述的8个二进制数据会对应8个阈值电压,当读取数据时,基于向存储单元A施加的检测电压与8个阈值电压的比对结果,就能确定存储单元A中存储的数二进制数据为上述8个二进制数据中的哪个。读操作因而与一个或多个检测电压相关联,该一个或多个检测电压在读取期间被施加于存储器130的存储页面的存储单元。
原始比特误码率(RBER)是指硬解码模块1211读取到的比特数据中的错误比特数据与所有比特数据的百分比。如果原始比特误码率较低,则可以将硬判决信息直接提供给LDPC译码器模块1213。如果原始比特误码率较高,则可将硬判决信息提供给软解码模块1212。LDPC译码器模块1213使用迭代软译码技术执行译码操作,从而产生输出数据Dout,该输出数据Dout是存储数据Din表示的原始数据。例如,LDPC译码器模块1213使用低密度奇偶校验(LDPC)码对数据进行ECC译码的迭代软译码操作。LDPC译码器模块1213在译码过程中,会结合软解码模块1212的软判决结果,进行译码。
原始比特误码率(RBER)是指硬解码模块1211读取到的比特数据中的错误比特数据与所有比特数据的百分比。如果原始比特误码率较低,则可以将硬判决信息直接提供给LDPC译码器模块1213。如果原始比特误码率较高,则需将硬判决信息提供给软解码模块1212进行软解码。软解码模块1212对于硬判决信息中的错误数据,提供软判决。软解码模块1212可在多个检测电压下进行多个读操作,取得多组不同的数据,然后将这些数据结合对数似然比(Log-likelihood Ratio)进行多次迭代运算,并根据对数似然比(Log-likelihood Ratio)的信息去分析每个比特数据是0还是1的概率各为多大,这种概率信息被称为软信息,最终基于软信息进行软判决,给出更精确、更接近真实的纠错效果。LDPC译码器模块1213使用LDPC码编解码技术迭代执行译码操作,从而产生输出数据Dout,该输出数据Dout是存储数据Din表示的原始数据。例如,LDPC译码器模块1213使用低密度奇偶校验(LDPC)码对数据进行ECC译码的迭代软译码操作。LDPC译码器模块1213在译码过程中,会结合软解码模块1212的软判决结果,进行译码。
理想状况下,通过上述模块,绝大部分的错误比特数据都会校正成功,不会影响到读操作的实际结果。但是随着闪存产品使用的时间增长,偶然的电噪声、环境条件、存储器的老化等因素会导致各个存储单元的电荷数发生变化,进而导致各个存储单元的阈值电压也发生变化,这种变化又会影响到硬解码模块1211对各个存储单元内的数据的判决能力,导致原始比特误码率上升,进而影响后续模块的输出结果。
图3是示例性的闪存存储器的阈值电压分布图,横轴是阈值电压,纵轴是存储单元数量。图上设定存储器的存储单元为SLC。SLC有只存储‘0’或‘1’,因此图上只有两个正太阈值电压分布。图3中虚线包围的区域f11和f21分别表示电荷数发生变化前的阈值电压分布。当硬解码模块1211对该闪存存储器进行数据读取时,使用检测电压Vread施加到各个存储单元上。很明显可以看出,检测电压Vread大于f11对应的存储单元的阈值电压,检测电压Vread小于f21对应的存储单元的阈值电压,因而假设f11对应的存储单元内存储的数据为‘1’,则f21对应的存储单元内存储的数据应为‘0’。因此,各个存储单元的电荷数发生变化之前,能够很轻松地区分被读存储单元内的数据。
但是随着各个存储单元的电荷数发生变化,各个存储单元的阈值电压也发生变化。图3中的实线f12和表f22分别表示电荷数发生变化后的阈值电压分布。图3中的f12和f22分别相对于f11和f21的形态出现偏移和展宽。在Vread附近出现两个态的交叠区域。将检测电压Vread施加到各个存储单元上读取数据时,依据前面的假设,2区域本身存储比特‘0’的存储单元被误判为比特‘1’,而1区域本算存储比特‘1’的存储单元将被误判为比特‘0’。同时阈值电压正好等于Vread的存储单元无法正确区分,因此这部分存储单元会有一半会被误判。此时两个区域一共的存储单元数目,再加上阈值电压等于Vread的存储单元数的一半,便是本次读操作的出错存储单元的数量。
通常统计出错数与读取数据大小的比值(Raw Bit Error Rate,RBER)来反映出错程度,下面总结了RBER的计算公式(1):
公式(1)
将公式(1)和图3结合,可以很容易地看出,RBER的大小取决于区域2和1的面积之和。也就是说,当两者之和越小时,得到的RBER越小,错误比特数据的数据量最小,因此图上的Vopt为最佳检测电压。
本发明的目的是提供一种存储器的最佳检测电压获取方法,如图4所示,包括以下步骤:
在步骤S401中,在多个检测电压下分别进行多次读操作以获得多个第一差值和多个第二差值。其中所述多个检测电压逐渐增加,所述第二差值表示相邻的两个检测电压的差值,所述第一差值表示阈值电压分别等于所述第二差值采用的两个检测电压的存储单元数量的差值。
在步骤S402中,采用第一差值除以第二差值,以得到多个正切近似值。
在步骤S403中,从多个正切近似值中选出第一正切近似值和第二正切近似值,其中,第一正切近似值为正数,第二正切近似值为负数。
在步骤S404中,根据第一正切近似值和第二正切近似值以及与第一正切近似值和第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压。
图5和图6是两个示例性的闪存存储器的阈值电压分布图。下面基于图5说明本发明的核心思想。参考图上所示,实线f12和表f22分别表示电荷数发生变化后的正态的阈值电压分布。V1、V2、V3和V4是施加到存储单元上读取数据的检测电压。如图上所示,将V1、V2、V3和V4与正态分布曲线的倾斜角作为θ1、θ2、θ3和θ4。从图上可以看出,θ1和θ2大于等于90°且小于180°,θ3和θ4小于90°。Vopt位于V2和V3之间。因此可以在θ1、θ2中选出一个更大的倾斜角θ2(正切近似值绝对值更小)作为倾斜角θleft,在θ3和θ4选出一个更小的倾斜角θ3(正切近似值绝对值更小)作为θright,之后将θleft和θright,对应的V2和V3作为VLeft和VRight,然后利用这四个值计算Vopt。(选择正切近似值绝对值更小的原因是,闪存存储单元阈值电压的正太分布的σ很小,越靠近谷底处的y值变化越平缓,越靠近波峰处y值变化越陡峭,选择靠近谷底即y值变化平缓处作为倾斜角,可以最大程度的减少误差)
本发明提供公式(2)来计算Vopt。
公式(2)
或者,也可以将上述公式中的tanθright和tanθleft分别取绝对值,并将公式中的减法变为加法,也是可以的。如果这样,则变化后的公式可以理解为加权计算。
但实践中,由于曲线f12和f22是未知的,虽然可以通过数据拟合方式模拟出来,但是这个操作需要花费大量时间。因此,在一个可选的实施例中,采用近似计算的方式来求值tanθright和tanθleft。
具体地,首先参考图6所示,将检测电压V11、V12、V21、V22分别施加到各个检测单元上,然后统计阈值电压等于V11、V12、V21、V22的各个存储单元的数量n1、n2、n3和n4。最终得到曲线f12上的两个点(v11,n1)和(v12,n2),和曲线f22上的两个点(v21,n3)和(v22,n4)。
然后通过公式(3)近似计算求值tanθright和tanθleft。
公式(3):
然后将上述公式得到的结果值带入到公式(2),并且将图6中的V12作为Vleft,V21作为VRight代入到公式(2)中,求值得到Vopt。V12是用于生成负的正切近似值中的两个检测电压的较大值,V21是用于生成正的正切近似值中的两个检测电压的较小值。
在一个实施例中,提供一些方法去获取Vleft和VRight。例如先选定第一电压初始值,然后在这个第一初始值的基础上持续增加第一步长,以此得到上述实施例所需的多个检测电压,或者先选定第二电压初始值,然后在这个第二电压初始值的基础上持续减少第二步长,第一步长和第二步长可以相等或者不等。
继续参见图3所示,虚线f11和f21是理想状态下的阈值电压分布图(这个可以通过实验得到或者厂商提供),在一个实施例中,f11的波峰所对应的电压值可以作为上述的第一电压初始值,而f21的波峰所对应的电压值可以作为上述的第二电压初始值。还可以在第一电压初始值和第二电压初始值之间选择一个电压值,作为第三电压初始值,然后以第三电压初始值为基础,持续地增加和减少第三步长,以得到多个检测电压。第三电压初始值还可以使用存储器的默认检测电压。存储器的默认参考电压是存储器出产时提供的电压参数。基本上,默认参考电压可以认为是各个存储单元的电荷数量未发生变化时的Vopt电压。默认参考电压可以是一个或多个,只有SLC存储单元才只有一个默认参考电压,其他类型的存储单元都是对应两个或以上的默认参考电压。
图7是本公开实施例的读取控制装置701的结构图。如图上所示,读取控制装置701包括硬解码模块7011、软解码模块7012和LDPC译码器模块7013。硬解码模块7011用于将最佳检测电压下进行LDPC的硬判决译码,得到第一数据。软解码模块7012用于针对第一数据进行软判决译码,得到第二数据。LDPC译码器模块7013用于对第二数据进行LDPC译码,以得到最终输出数据。在上文关于图2的描述中,我们已经阐述了现有技术的读取控制装置121也包括软解码模块1212和LDPC译码器模块1213。本实施例中的软解码模块7012和LDPC译码器模块7013可以是与软解码模块1212和LDPC译码器模块1213完全相同的模块。
但是本实施例提供的硬解码模块7011和硬解码模块1211则一定不同。不同之处在于,硬解码模块7011采用以下步骤获取最佳检测电压。具体地,向存储器130的各个存储单元分多次施加多个检测电压,该多个检测电压是逐渐增加的,在每次施加完检测电压后,通过读取每个存储单元的电压值确定每个存储单元的阈值电压与检测电压之间的大小关系,并统计阈值电压等于检测电压的存储单元数量。将相邻的检测电压相减,得到电压差值,将相邻的检测电压分别对应的存储单元数量相减,得到存储单元数量差值,并将存储单元数量差值除以电压差值得到正切近似值。通过这样的方式,最终能够得到多个正切近似值。然后从多个正切近似值中选出一个正数和一个负数,并且优选地,这两个数的绝对值是所有正数和负数正切近似值中最小的,然后根据该正数和负数以及对应的检测电压计算最佳检测电压。最佳检测电压的数量为一个或多个,例如,如果存储单元为SLC,则最佳检测电压为1个,但如果存储单元为TLC,则最佳检测电压为7个(TLC的存储单元存储三个比特的数据)。
进一步地,上述多个检测电压可由一个电压初始值通过特定步长的均匀移动获得。例如,在一个电压初始值的基础上按照特定步长持续增加或者减少以得到所述多个检测电压。再例如,在一个电压初始值的基础上按照特定步长同步增加和减少以得到所述多个检测电压。这三种情况对应的电压初始值不同。可根据存储器的电压分布来确定电压初始值,这部分内容在上文已有描述,这里就不再详述。
由此可见,根据本发明实施例的读取控制方法和读取控制装置可以明显提高硬判决能力,进而整体上提高读取控制装置的数据读取能力。
在此所用的术语“模块”可以指代以下各项、作为以下各项的一部分或者包括以下各项:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路和/或提供所描述的功能性的其他合适的组件。
本领域技术人员可以理解,根据本发明的数据处理系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本发明的数据处理系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种存储器的最佳检测电压获取方法,包括:
在多个检测电压下进行多次读操作以获得多个第一差值和多个第二差值,所述第二差值表示数值相邻的两个检测电压的差值,所述第一差值表示阈值电压分别等于所述第二差值采用的两个检测电压的存储单元数量的差值;
采用所述第一差值除以所述第二差值,以得到多个正切近似值;
从所述多个正切近似值中选出第一正切近似值和第二正切近似值,所述第一正切近似值为正数,所述第二正切近似值为负数;
根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压。
2.根据权利要求1所述的最佳检测电压获取方法,其中,所述根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压包括:
将所述第二正切近似值作为所述第一正切近似值对应的第一检测电压的权重系数,将所述第一正切近似值作为所述第二正切近似值对应的第二检测电压的权重系数进行加权计算,得到所述最佳检测电压。
3.根据权利要求1所述的最佳检测电压获取方法,其中,所述多个检测电压的获取步骤为以下步骤中的一种:
在第一电压初始值的基础上持续增加第一步长,以获得所述多个检测电压;
在第二电压初始值的基础上持续减少第一步长,以获得所述多个检测电压;
在第三电压初始值的基础上同时持续增加和减少第三步长,以获得所述多个检测电压。
4.根据权利要求3所述的最佳检测电压获取方法,其中,所述第三电压初始值为所述存储器的默认检测电压。
5.根据权利要求1所述的最佳检测电压获取方法,其中,所述第一正切近似值和所述第二正切近似值的绝对值相等。
6.根据权利要求3所述的最佳检测电压获取方法,还包括:获取所述存储器在理想状态下的阈值电压分布的多个波峰所对应的多个电压值;以及将每个波峰所对应的电压值作为所述第一初始电压值或所述第二初始电压值。
7.根据权利要求1所述的最佳检测电压获取方法,其中,如果所述存储器是MLC,则所述最佳检测电压获取方法还包括:通过重复执行所述述最佳检测电压获取方法的各个步骤,得到多个所述最佳检测电压。
8.根据权利要求1所述的最佳检测电压获取方法,其中,所述第一正切近似值为所有正的正切近似值中的最小值,所述第二正切值为所有负的正切值中的绝对值最小的值。
9.一种存储器的读取控制方法,包括:
采用权利要求1至8任一项所述的最佳检测电压获取方法获取所述最佳检测电压;
在所述最佳检测电压下进行LDPC的硬判决译码,得到第一数据;
针对所述第一数据进行软判决译码,得到第二数据;
对所述第二数据进行LDPC译码,得到最终输出数据。
10.一种存储器的读取控制装置,包括:
硬解码模块,用于在最佳检测电压下进行LDPC的硬判决译码,得到第一数据;
软解码模块,用于针对所述第一数据进行软判决译码,得到第二数据;
LDPC译码器模块,用于对所述第二数据进行LDPC译码,以得到最终输出数据,
其中,所述最佳检测电压的获取方法包括以下步骤:
在多个检测电压下进行多次读操作以获得多个第一差值和多个第二差值,所述第二差值表示数值相邻的两个检测电压的差值,所述第一差值表示阈值电压分别等于所述第二差值采用的两个检测电压的存储单元数量的差值;
采用所述第一差值除以所述第二差值,以得到多个正切近似值;
从所述多个正切近似值中选出第一正切近似值和第二正切近似值,所述第一正切近似值为正数,所述第二正切近似值为负数;
根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压。
11.根据权利要求10所述的读取控制装置,其中,所述根据所述第一正切近似值和所述第二正切近似值以及与所述第一正切近似值和所述第二正切近似值对应的第一检测电压和第二检测电压计算最佳检测电压包括:
将所述第二正切近似值作为所述第一正切近似值对应的第一检测电压的权重系数,将所述第一正切近似值作为所述第二正切近似值对应的第二检测电压的权重系数进行加权计算,得到所述最佳检测电压。
12.根据权利要求10所述的读取控制装置,其中,所述多个检测电压的获取步骤为以下步骤中的一种:
在第一电压初始值的基础上持续增加第一步长,以获得所述多个检测电压;
在第二电压初始值的基础上持续减少第一步长,以获得所述多个检测电压;
在第三电压初始值的基础上同时持续增加和减少第三步长,以获得所述多个检测电压。
13.根据权利要求12所述的读取控制装置,其中,所述第三电压初始值为所述存储器的默认检测电压。
14.根据权利要求10所述的读取控制装置,其中,所述第一正切近似值和所述第二正切近似值的绝对值相等。
15.根据权利要求12所述的读取控制装置,其中,所述第一电压初始值和所述第二电压初始值的获取步骤包括:
获取所述存储器在理想状态下的阈值电压分布的多个波峰所对应的多个电压值,并将每个波峰所对应的电压值作为所述第一初始电压值或所述第二初始电压值。
16.根据权利要求10所述的读取控制装置,其中,所述第一正切近似值为所有正的正切近似值中的最小值,所述第二正切值为所有负的正切值中的绝对值最小的值。
17.根据权利要求10至16任一项所述的读取控制装置,其中,所述存储器为闪存存储器。
18.一种存储器控制器,包括如权利要求10至17任一项所述的读取控制装置和写入控制装置。
19.一种闪存系统,包括存储器和权利要求18所述的存储器控制器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011479904.9A CN112599176B (zh) | 2020-12-15 | 2020-12-15 | 存储器的最佳检测电压获取方法、读取控制方法及装置 |
US17/546,242 US11557353B2 (en) | 2020-12-15 | 2021-12-09 | Optimal detection voltage obtaining method, reading control method and apparatus of memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011479904.9A CN112599176B (zh) | 2020-12-15 | 2020-12-15 | 存储器的最佳检测电压获取方法、读取控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112599176A true CN112599176A (zh) | 2021-04-02 |
CN112599176B CN112599176B (zh) | 2022-08-05 |
Family
ID=75195835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011479904.9A Active CN112599176B (zh) | 2020-12-15 | 2020-12-15 | 存储器的最佳检测电压获取方法、读取控制方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11557353B2 (zh) |
CN (1) | CN112599176B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223593A (zh) * | 2021-04-23 | 2021-08-06 | 联芸科技(杭州)有限公司 | 存储单元的读取电压优化方法、3d存储器的控制器及其操作方法 |
CN116564391A (zh) * | 2023-03-17 | 2023-08-08 | 平头哥(上海)半导体技术有限公司 | 存储控制芯片、固态硬盘和闪存读电压确定方法 |
CN116825167A (zh) * | 2023-08-25 | 2023-09-29 | 深圳大普微电子科技有限公司 | 获取最佳阈值电压的方法、装置及非易失性存储设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103928055A (zh) * | 2013-01-14 | 2014-07-16 | 三星电子株式会社 | 闪速存储器、闪速存储器系统及其操作方法 |
US20140334228A1 (en) * | 2013-05-13 | 2014-11-13 | Seagate Technology Llc | Linearly related threshold voltage offsets |
US20160334456A1 (en) * | 2015-05-11 | 2016-11-17 | United Microelectronics Corp. | Method of generating a curve to determine an optimal operation of a wafer |
CN106683699A (zh) * | 2014-11-10 | 2017-05-17 | 爱思开海力士有限公司 | 最优读取阈值估算 |
CN107039080A (zh) * | 2015-10-30 | 2017-08-11 | 希捷科技有限公司 | 使用基于经解码数据的误码率的读取阈值电压自适应 |
US9892799B1 (en) * | 2017-02-08 | 2018-02-13 | Phison Electronics Corp. | Read voltage tracking method, memory storage device and memory control circuit unit |
CN107731259A (zh) * | 2016-08-10 | 2018-02-23 | 爱思开海力士有限公司 | 最佳读取参考电压的存储器系统及其操作方法 |
CN108154902A (zh) * | 2017-12-22 | 2018-06-12 | 联芸科技(杭州)有限公司 | 存储器的高可靠性错误检测方法、读取控制方法及装置 |
CN110046059A (zh) * | 2019-04-15 | 2019-07-23 | 联芸科技(杭州)有限公司 | 用于存储器的读取控制装置、读取控制方法和控制器 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090088257A (ko) * | 2008-02-14 | 2009-08-19 | 주식회사 하이닉스반도체 | 플래쉬 아날로그 디지털 컨버터 |
US9053804B2 (en) * | 2011-02-25 | 2015-06-09 | Seagate Technology Llc | Reduced complexity reliability computations for flash memories |
KR101749096B1 (ko) * | 2011-05-12 | 2017-06-21 | 한국전자통신연구원 | Ldpc 부호의 복호화 방법 및 장치 |
US9235467B2 (en) * | 2013-03-15 | 2016-01-12 | Pmc-Sierra Us, Inc. | System and method with reference voltage partitioning for low density parity check decoding |
US9582361B2 (en) * | 2014-05-20 | 2017-02-28 | Seagate Technology Llc | Fixed point conversion of LLR values based on correlation |
US10417087B2 (en) * | 2014-07-22 | 2019-09-17 | Ngd Systems, Inc. | System and method for adaptive multiple read of NAND flash |
KR102189440B1 (ko) * | 2014-08-25 | 2020-12-14 | 삼성전자주식회사 | 에러 정정 디코더를 포함하는 스토리지 장치 및 에러 정정 디코더의 동작 방법 |
KR102231278B1 (ko) * | 2017-06-07 | 2021-03-23 | 한국전자통신연구원 | 이진 로그를 사용하는 저밀도 패리티 검사 복호기 및 그것의 복호 방법 |
US10725486B2 (en) * | 2017-08-02 | 2020-07-28 | Novatek Microelectronics Corp. | Reference voltage generator |
CN113223593B (zh) | 2021-04-23 | 2023-04-11 | 联芸科技(杭州)股份有限公司 | 存储单元的读取电压优化方法、3d存储器的控制器及其操作方法 |
-
2020
- 2020-12-15 CN CN202011479904.9A patent/CN112599176B/zh active Active
-
2021
- 2021-12-09 US US17/546,242 patent/US11557353B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103928055A (zh) * | 2013-01-14 | 2014-07-16 | 三星电子株式会社 | 闪速存储器、闪速存储器系统及其操作方法 |
US20140334228A1 (en) * | 2013-05-13 | 2014-11-13 | Seagate Technology Llc | Linearly related threshold voltage offsets |
CN106683699A (zh) * | 2014-11-10 | 2017-05-17 | 爱思开海力士有限公司 | 最优读取阈值估算 |
US20160334456A1 (en) * | 2015-05-11 | 2016-11-17 | United Microelectronics Corp. | Method of generating a curve to determine an optimal operation of a wafer |
CN107039080A (zh) * | 2015-10-30 | 2017-08-11 | 希捷科技有限公司 | 使用基于经解码数据的误码率的读取阈值电压自适应 |
CN107731259A (zh) * | 2016-08-10 | 2018-02-23 | 爱思开海力士有限公司 | 最佳读取参考电压的存储器系统及其操作方法 |
US9892799B1 (en) * | 2017-02-08 | 2018-02-13 | Phison Electronics Corp. | Read voltage tracking method, memory storage device and memory control circuit unit |
CN108154902A (zh) * | 2017-12-22 | 2018-06-12 | 联芸科技(杭州)有限公司 | 存储器的高可靠性错误检测方法、读取控制方法及装置 |
CN110046059A (zh) * | 2019-04-15 | 2019-07-23 | 联芸科技(杭州)有限公司 | 用于存储器的读取控制装置、读取控制方法和控制器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223593A (zh) * | 2021-04-23 | 2021-08-06 | 联芸科技(杭州)有限公司 | 存储单元的读取电压优化方法、3d存储器的控制器及其操作方法 |
CN116564391A (zh) * | 2023-03-17 | 2023-08-08 | 平头哥(上海)半导体技术有限公司 | 存储控制芯片、固态硬盘和闪存读电压确定方法 |
CN116564391B (zh) * | 2023-03-17 | 2024-03-01 | 平头哥(成都)半导体有限公司 | 存储控制芯片、固态硬盘和闪存读电压确定方法 |
CN116825167A (zh) * | 2023-08-25 | 2023-09-29 | 深圳大普微电子科技有限公司 | 获取最佳阈值电压的方法、装置及非易失性存储设备 |
CN116825167B (zh) * | 2023-08-25 | 2023-12-19 | 深圳大普微电子科技有限公司 | 获取最佳阈值电压的方法、装置及非易失性存储设备 |
Also Published As
Publication number | Publication date |
---|---|
US11557353B2 (en) | 2023-01-17 |
US20220189560A1 (en) | 2022-06-16 |
CN112599176B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112599176B (zh) | 存储器的最佳检测电压获取方法、读取控制方法及装置 | |
US8077520B1 (en) | Determining threshold voltage distribution in flash memory | |
KR101990971B1 (ko) | 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법 | |
CN111538620B (zh) | 存储器装置的鲁棒检测方法 | |
US8243511B2 (en) | Reuse of information from memory read operations | |
US8200607B2 (en) | Memory devices and data decision methods | |
US9244763B1 (en) | System and method for updating a reading threshold voltage based on symbol transition information | |
US9037946B2 (en) | Detecting effect of corrupting event on preloaded data in non-volatile memory | |
US8942037B2 (en) | Threshold acquisition and adaption in NAND flash memory | |
JP5090538B2 (ja) | メモリ装置およびメモリデータ読み出し方法 | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
CN112599169B (zh) | 存储器的读操作控制方法及装置以及存储器控制器 | |
US10658065B2 (en) | Failure mode detection method and error correction method for solid state storage device | |
CN108038023B (zh) | 一种多级闪存的信号处理方法、装置、设备及存储介质 | |
WO2013070366A2 (en) | Statistical read comparison signal generation for memory systems | |
US8947929B1 (en) | Flash-based soft information generation | |
Tanakamaru et al. | Highly reliable and low power SSD using asymmetric coding and stripe bitline-pattern elimination programming | |
US8391076B2 (en) | Nonvolatile memory device using interleaving technology and programming method thereof | |
KR20140143082A (ko) | 플래시 메모리의 하나 이상의 셀의 데이터 비트를 정정하기 위한 방법, 제어기 및 메모리 장치 | |
CN112860474A (zh) | 快速收敛的低密度奇偶校验码的软位翻转解码器 | |
US9009576B1 (en) | Adaptive LLR based on syndrome weight | |
Chang et al. | Bit-error rate improvement of TLC NAND Flash using state re-ordering | |
CN112331244A (zh) | 广义低密度奇偶校验码的软输入软输出分量代码解码器 | |
CN115482866A (zh) | 基于存储器装置中先前读取尝试的参数估计 | |
EP3968163B1 (en) | Storage device and operating method of memory controller |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 room c1-604, building C, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Applicant after: Lianyun Technology (Hangzhou) Co.,Ltd. Address before: 6 / F, block C1, spotlight center, 459 Qianmo Road, Binjiang District, Hangzhou City, Zhejiang Province, 310051 Applicant before: MAXIO TECHNOLOGY (HANGZHOU) Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |