CN108154902A - 存储器的高可靠性错误检测方法、读取控制方法及装置 - Google Patents

存储器的高可靠性错误检测方法、读取控制方法及装置 Download PDF

Info

Publication number
CN108154902A
CN108154902A CN201711406432.2A CN201711406432A CN108154902A CN 108154902 A CN108154902 A CN 108154902A CN 201711406432 A CN201711406432 A CN 201711406432A CN 108154902 A CN108154902 A CN 108154902A
Authority
CN
China
Prior art keywords
llr
high reliability
memory
voltage
ldpc
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
Application number
CN201711406432.2A
Other languages
English (en)
Other versions
CN108154902B (zh
Inventor
吴昭逸
乔斌
贲伟建
张志�
张明
金烨
邱禹
肖自铧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lianyun Technology Hangzhou Co ltd
Original Assignee
Lian Yun Technology (hangzhou) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lian Yun Technology (hangzhou) Co Ltd filed Critical Lian Yun Technology (hangzhou) Co Ltd
Priority to CN201711406432.2A priority Critical patent/CN108154902B/zh
Publication of CN108154902A publication Critical patent/CN108154902A/zh
Application granted granted Critical
Publication of CN108154902B publication Critical patent/CN108154902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本申请公开了存储器的高可靠性错误检测方法、读取控制方法及装置。该方法包括:在所述存储器的存储单元上施加预定的检测电压,所述检测电压为默认电压与偏置电压之和;获得所述存储单元的电压电平;将所述存储单元的电压电平与参考电压相比较以获得存储数据;以及采用第一LLR,对所述存储数据进行LDPC的第一软判决译码,其中,所述方法还包括采用LDPC的硬判决译码进行高可靠性错误检测,以及在判定发生高可靠性错误时,采用第二LLR,对所述存储数据进行LDPC的第二软判决译码。该方法提供新的高可靠性错误检测方法,并且在发生高可靠性错误时采用LLR的重新分配降低对软判决纠错能力造成的伤害。

Description

存储器的高可靠性错误检测方法、读取控制方法及装置
技术领域
本申请涉及存储器领域,并且更具体地涉及存储器的高可靠性错误检测方法、读取控制方法及读取控制装置。
背景技术
在诸如闪存的闪存系统中,在进行读取操作时通常需要采用译码器对读取数据进行译码才能获得数据内容。在译码器中执行迭代软译码算法,使用纠错码(ECC)纠正一定数量的错误数据比特。在现有的ECC纠错码技术中,可以采用BCH码(即,博斯-查德胡里-霍昆格母码)或LDPC码(即,低密度奇偶校验码)实现ECC纠错。LDPC码的纠错能力优于BCH码。在应用于闪存系统时,闪存随着编程-删除(P/E)周期而逐渐损耗,与BCH相比,LDPC码可以在每页中纠正更多个数据位的错误,从而延长闪存的使用寿命。因此,LDPC码已经成为主流的纠错技术。
LDPC码的译码算法包括以下三类:硬判决译码、软判决译码和混合译码。硬判决是指解调器根据其判决门限对接收到的信号波形直接进行判决后输出0或1。即,解调器供给译码器作为译码用的每个码元只取0或1两个值,以序列之间的汉明距离作为度量进行译码,适用于二进制对称信道(BSC)。软判决的解调器不进行判决,直接输出模拟量,或是将解调器输出波形进行多电平量化,然后送往译码器,即,译码信道的输出是没有经过判决的“软信息”。在硬判决译码的基础上,利用部分信道信息进行可靠度的计算。
对于相同的LDPC码来说,采用不同的译码算法可以获得不同的纠错性能。软判决译码的信道信息利用率和译码复杂度是三大类译码中最高的。LDPC码的软判决译码基于对数似然比(LLR),存储单元的LLR与存储单元中的数据比特等于1或0的概率相关联。
然而,在闪存系统中可能产生硬错误和软错误,从而导致LLR的误差。存储单元中的硬错误产生的LLR误差比软错误产生的LLR误差高很多。由于与硬错误相关联的LLR的估计的显著误差,软译码算法(例如,LDPC码)的性能在出现硬错误时显著地恶化,即便是数据中仅存在有限数量的硬错误时也是如此。存储单元中的硬错误导致LDPC码的软判决译码的可靠性恶化,甚至导致无法发挥纠错能力,因此也称为高可靠性错误(HRE,高可靠性错误)。
中国专利CN102820064B公开了一种操作存储器的方法,其中使用一组LLR值执行ECC译码,并且在译码失败时根据第一组LLR值生成第二组LLR值执行ECC译码,从而减轻高可靠性错误导致译码失败的可能性。该方法既没有进行高可靠性错误检测也没有优化检测电压,在第一次ECC译码时失败时总是尝试进行第二次ECC译码,从而导致译码效率低,该方法仅能有限程度地提高纠错能力。
发明内容
有鉴于此,本发明提供一种简单可实现的机制来做为HRE的检测方法,并且采用LLR的重新分配降低对软判决纠错能力造成的伤害。
根据本发明的第一方面,提供一种用于存储器的高可靠性错误检测方法,包括:在多个偏置电压下进行LDPC的硬判决译码以获得多个差异值,所述差异值表示多次重试读取时相邻两次读取到的数据差异量;根据所述多个偏置电压与所述多个差异值之间的关系建立硬判决译码的实际模型;以及将硬判决译码的预估模型与所述实际模型相比较,以获得所述多个差异值发生异常的异常电压,其中,所述高可靠性错误检测方法判定在所述异常电压执行读取操作时发生高可靠性错误。
根据本发明的第二方面,提供一种用于存储器的读取控制方法,包括:在所述存储器的存储单元上施加预定的检测电压,所述检测电压为默认电压与偏置电压之和;获得所述存储单元的电压电平;将所述存储单元的电压电平与参考电压相比较以获得存储数据;以及采用第一LLR,对所述存储数据进行LDPC的第一软判决译码,其中,所述方法还包括采用LDPC的硬判决译码进行高可靠性错误检测,以及在判定发生高可靠性错误时,采用第二LLR,对所述存储数据进行LDPC的第二软判决译码。
优选地,所述第二LLR小于所述第一LLR。
优选地,所述高可靠性错误检测包括:在多个偏置电压下进行LDPC的硬判决译码以获得多个差异值,所述多次重试读取时相邻两次读取到的数据差异量;根据所述多个偏置电压与所述多个差异值之间的关系建立硬判决译码的实际模型;以及将硬判决译码的预估模型与所述实际模型相比较,以获得所述多个差异值发生异常的异常电压。
优选地,判定发生高可靠性错误包括:在所述异常电压执行读取操作时,判定发生高可靠性错误。
优选地,还包括:将所述异常电压建立高可靠性错误表,保存在存储器或存储器控制器中。
优选地,在采用第二LLR进行译码失败的情形下,还包括:重复进行高可靠性错误检测;更新所述高可靠性错误表;根据更新后的高可靠性错误表,重新分配LLR为第三LLR;以及采用第三LLR,对所述存储数据进行LDPC的第三软判决译码。
优选地,所述第三LLR设置为所述第一LLR和所述第二LLR之一。
根据本发明的第三方面,提供一种用于存储器的读取控制装置,包括:读取模块,从所述存储器读取所述存储器的存储数据;LLR计算模块,提供第一LLR和所述第二LLR之一,用于表示所述存储数据中每个数据比特为0或1的置信度,作为软判决参数;以及LDPC译码器模块,基于所述第一LLR和所述第二LLR之一对存储数据进行LDPC的软判决译码,以获得输出数据,其中,所述读取控制装置还包括硬判决模块,采用LDPC的硬判决译码进行高可靠性错误检测,用于判定是否发生高可靠性错误,所述LDPC译码器模块,在未发生高可靠性错误时使用所述第一LLR,在发生高可靠性错误时使用第二LLR。
优选地,所述第二LLR小于所述第一LLR。
优选地,还包括:硬判决模块,在多个偏置电压下进行LDPC的硬判决译码以获得多个差异值;高可靠性错误构建模块,用于构建高可靠性错误表,所述高可靠性错误表是所述多个偏置电压中发生差异值异常的异常电压表;高可靠性错误表存储模块,用于存储所述高可靠性错误表;以及高可靠性错误分配模块,用于根据所述高可靠性错误表调节LLR的数值以获得所述第一LLR和所述第二LLR。
优选地,在采用第二LLR进行译码失败的情形下,所述高可靠性错误构建模块重复进行高可靠性错误检测以及更新所述高可靠性错误表,所述高可靠性错误表存储模块存储更新后的高可靠性错误表,所述高可靠性错误分配模块根据更新后的高可靠性错误表,重新分配LLR为第三LLR。
优选地,所述第三LLR设置为所述第一LLR和所述第二LLR之一。
优选地,所述存储器为闪存。
根据本发明实施例的读取控制方法提供新的高可靠性错误检测方法,并且在发生高可靠性错误时采用LLR的重新分配降低对软判决纠错能力造成的伤害,从而可以明显提高软判决的纠错能力以及提高译码效率。
在优选的实施例中,该读取控制方法将硬判决译码的预估模型与所述实际模型相比较,建立高可靠性错误表,保存在存储器或存储器控制器中,以及采用查找高可靠性错误表的方法实现高可靠性错误检测。该方法仅在重新分配LLR失败时才更新高可靠性错误表,因而在正常的读取周期中无需反复进行硬判决译码,提高了读取速度以及降低系统功耗。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1示出闪存系统的示意性框图。
图2示出闪存系统中读取控制装置的示意性框图。
图3a和3b示出在数据复制过程中针对不同读取错误类型的纠错能力。
图4a和4b分别示出不同工艺节点下读取错误率随P/E次数的变化。
图5a和5b分别示出在读取操作中检测电压与差异值之间的实际模型和预估模型。
图6示出闪存系统中读取控制方法的流程图。
图7a至7d示出采用HRE检测和LLR分配提高纠错能力的逻辑框图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
图1示出闪存系统的示意性框图。该闪存系统例如是使用固态硬盘(SSD)的计算机系统。该计算机系统包括主机110。固态硬盘包括存储器控制器120和存储器130。主机110经由存储器控制器120访问存储器130。该存储器130包括至少一个闪存芯片131。在该闪存系统中,存储数据为原始数据经过编码产生的编码数据,在读取过程中对存储数据译码才能获得原始数据。
主机110例如包括处理器。在使用状态中,该处理器从存储器130中加载程序或读取数据,以及向存储器130中写入数据。
存储器控制器120例如是单独的集成电路芯片,包括写入控制装置和读取控制装置。在写入操作期间,写入控制装置对原始数据进行LDPC编码,从而生成存储数据,从而将存储数据写入存储器130中。在读取操作期间,读取控制装置从存储器130中获取存储数据,然后基于LLR进行LDPC译码以获得原始数据。
闪存芯片131的存储单元可以是单层单元(SLC),其存储单个比特的数据。在另一示例中,闪存芯片131的存储单元可以是多层单元(MLC),其存储多个比特的数据。
在该实施例中,以使用固态硬盘的计算机系统作为闪存系统的实例。然而,本发明不限于此。闪存产品可以是包括固态硬盘、内存条、优盘、闪存卡中的任一种。以下仅以固态硬盘为例说明闪存系统的工作原理。
图2示出闪存系统中读取控制装置的示意性框图。如上所述,闪存系统中的存储器控制模块包括写入控制装置和读取控制装置。本发明的实施例主要涉及读取控制装置的变化。
读取控制装置121包括读取模块1211、LLR计算模块1212、LDPC译码器模块1213、HRE表存储模块1214、LLR分配模块1215和HRE构建模块1216。
在工作期间,读取模块1211以存储页面为单位从存储器130读取存储数据Din。即,在单个读取周期期间,读取存储器130的存储页面的存储单元的数据比特。在读取周期期间,读取模块1211向存储页面的各存储单元施加检测电压(sensing voltage)。对于给定的存储单元,读取模块1211确定存储单元的电压电平与所施加的检测电压相比是更高还是更低。基于该确定,例如,如果存储单元是SLC,则LLR计算模块1212和/或LDPC译码器模块1213估计存储单元中存储的比特是零还是一。如果存储单元是MLC,则施加多个检测电压以估计存储在存储单元中的比特。因此,读取周期与一个或多个检测电压相关联,该一个或多个检测电压在读取周期期间被施加于存储器130的存储页面的存储单元。
当读取模块1211从存储单元读取数据时,LLR计算模块1212提供对存储器130的存储单元的数据比特的软判决参数。例如,LLR计算模块1212以LLR的形式提供每个数据比特是0或1的概率。LLR指示从存储器130读取的每个数据比特为0或1的置信度。基于所估计的数据比特的LLR,LDPC译码器模块1213对存储数据进行译码。LLR的估计直接影响译码性能以及闪存系统10的读取性能。
LDPC译码器模块1213使用迭代码技术执行译码操作,从而产生输出数据Dout,该输出数据Dout是存储数据Din表示的原始数据。例如,LDPC译码器模块1213使用低密度奇偶校验(LDPC)码对数据进行ECC译码的迭代软译码操作。
LDPC译码器的纠错能力可分成硬判决纠错能力和软判纠错能力。其中软判决纠错能力大概为硬判决纠错能力的2.5至3倍之间。软判决必须满足错误特性要类似于AWGN(additive white gaussian noise,加性高斯白噪声)的错误模型才能发挥出3倍的纠错能力。是最基本的噪声与干扰模型。AWGN是随机噪声模型,其特点是信号分布在很宽的频带范围内的加性噪声,即叠加在信号上的噪声,无论有无信号,噪声n(t)都是始终存在的。
进一步地,读取控制装置121还包括HRE表存储模块1214、LLR分配模块1215和HRE构建模块1216,用于进行LLR的动态分配。HRE表存储模块1214用于存储HRE表。该HRE表是将预估模型与硬判决的实际模型相比较而获得的差异值发生异常的异常电压表。LLR分配模块1215根据HRE表调节LLR的值。HRE构建模块1216在调节LLR的值仍然不能译码时重新构造HRE表,例如重新进行硬判决,获得预估模型与硬判决的实际模型相比较而获得差异值发生异常的异常电压表,从而更新HRE表。
在该实施例中,读取控制装置121内部存储HRE表,从而可以在软判决中预估HRE的发生,以调节LLR值的方式减轻LLR的值偏差对软判决的伤害。
闪存系统中的错误通常包括硬错误和软错误。硬错误是存储器的暂时的、半永久或永久性的电故障,通常发生于特定的存储单元,例如由于发生故障的位线产生的硬错误,或者由于阻塞的存储单元产生的硬错误。软错误是读取和/或译码所存储的数据时看起来随机的错误。软错误可能是由例如偶然的电噪声、环境条件、存储器的老化等等引起的。
如上所述,闪存系统的硬错误也称为高可靠性错误(HRE)。HRE的主要产生原因包括在复制过程中产生的第一类HRE、在存储单元发生故障时产生的第二类HRE、以及非正常操作时产生的第三类HRE。
图3a和3b示出在数据复制过程中针对不同读取错误类型的纠错能力。该复制过程是主机110将存储器130中的多个单层单元(SLC)合并至存储器140中的三层单元(TLC)中。也即,该复制过程包括从多个单层单元读取数据,并且将数据写入三层单元中。
如图3a所示,在编程-删除(P/E)次数小于10K时,主要出现软错误。在读取操作中,LDPC译码器的纠错能力可以消除软错误。在存储器140的三层单元中可以存储正确的比特数据。
如图3b所示,在编程-删除(P/E)次数大于30K时,可能同时出现软错误和硬错误。在读取操作中,LDPC译码器的纠错能力仅能消除软错误,而不能消除硬错误。在存储器140的三层单元中将存储错误的比特数据,从而产生第一类HRE。
图4a和4b分别示出不同工艺节点下读取错误率随P/E次数的变化。在存储器的正常读写操作中,随着编程-删除(P/E)次数的增加,也可能导致硬错误的产生。例如,厂家提供的闪存芯片会隐含着10%~30%的HRE,即第二类HRE。
第二类HRE随着不同的P/E有着不同的规律,并且愈先进的闪存愈是严重。
在亚20纳米的工艺节点下制造的闪存芯片,在9次P/E操作之后,不仅总错误小于1%,而且HRE仅占总错误的6%,如图4a所示。相比之下,在深20纳米的工艺节点下制造的闪存芯片,在9次P/E操作之后,总错误增加至2.5%,而且HRE总错误的比例也增加38.6%,如图4b所示。
此外,在闪存系统的寿命期中,不可避免地会进行非正常操作,从而产生第三类HRE,导致HRE的比例上升。这些非正常操作例如包括:开放存储块擦除、非常温常压读写、过度P/E操作。
图5a和5b分别示出在读取操作中检测电压与差异值之间的实际模型和预估模型。该差异值是在多个偏置电压下多次重试读取时相邻两次读取到的数据差异量。例如,该差异值为两次读取操作时,输出数据Dout为比特0的存储单元数量之差。再例如,该差异值为两次读取操作时,输出数据Dout为比特0的存储单元数量之差。
在闪存系统中,读取控制装置121以存储页面为单位从存储器130读取存储数据Din。即,在单个读取周期期间,读取存储器130的存储页面的存储单元的数据比特。在读取周期期间,读取模块1211向存储页面的各存储单元施加检测电压,从而读取存储数据Din,并且进一步译码获得输出数据Dout。该检测电压Vsensing=Vdefault+Voffset,其中Vdefault表示默认电压,Voffset表示偏置电压。
图5a示出在读取操作中检测电压与差异值之间的实际模型。为了获得实际模型,在不同的偏置电压V0~V23下进行硬判决译码,采用预定次数的重试读取(retry read)操作读取存储单元的存储数据Din,从而获得偏置电压Voffset与差异值之间的关系曲线。
图5b示出在读取操作中检测电压与差异值之间的预估模型。为了获得预估模型,例如根据存储块和字线相关联的多个ECC模块获得症状权重(syndrome weight),进一步预估错误个数(error bit count)和差异值(variance),从而获得偏置电压Voffset与差异值之间的关系曲线。
该预估模型的关系曲线例如存储在DSP固件中,形成DSP表。在读取周期期间,读取控制装置121根据DSP表选择最优偏置电压,例如V11。基于最优偏置电压获得最优检测电压,使得差异值最小化。
在该实施例中,针对实际模型与预估模型进行偏置电压对比,获得实际模型的差异值并且由DSP固件设定的阈值,大于并将差异值不正常的偏置电压记录下来,形成HRE表。
Calculate#V0/#V0(Prediction)>Ratio(V0)
Calculate#V1/#V1(Prediction)>Ratio(V1)
Calculate#V2/#V2(Prediction)>Ratio(V2)
Calculate#V3/#V3(Prediction)>Ratio(V3)
Calculate#V4/#V4(Prediction)>Ratio(V4)
Calculate#V5/#V5(Prediction)>Ratio(V5)
例如,在该实施例中,HRE表将记录偏置电压在V6和V4时受到HRE的影响,从而出现差异值的异常增加。DSP固件可获得HRE表,并且根据预设的弱化比例减小LLR,即给予低权重的LLR(log likelihood ratio)值,以减轻对软判决的伤害。
DSP固件可以分成全域异常电压纪录与区域异常电压纪录。并且扫描结果存入读取控制装置121的芯片储存器(SRAM)与存储器130中以供后续使用参考。
图6示出闪存系统中读取控制方法的流程图。例如在存储器控制器120的芯片中,采用图2所示的读取控制装置121执行该方法的各个步骤。
在步骤S01中,读取控制装置121中的读取模块1211以存储页面为单位从存储器130读取存储数据Din。在单个读取周期期间,读取模块1211的存储页面的存储单元的数据比特。在读取周期期间,读取模块1211向存储页面的各存储单元施加检测电压(sensingvoltage)。对于给定的存储单元,读取模块1211确定存储单元的电压电平与参考电压相比是更高还是更低,从而获得存储数据Din的数值。
在步骤S02中,读取控制装置121中的硬判决模块(未示出)采用默认电压Vdefault进行硬判决译码。如果译码成功,则转至步骤S20结束译码。如果译码失败,则继续步骤S03。
在步骤S03中,读取控制装置121中的硬判决模块(未示出)根据DSP表选择最优偏置电压,计算出检测电压Vsensing,然后采用检测电压Vsensing重试读取。
在步骤S04中,读取控制装置121中的LLR计算模块1212提供对存储器130的存储单元的数据比特的软判决参数。例如,LLR计算模块1212以LLR的形式提供每个数据比特是0或1的概率。LLR指示从存储器130读取的每个数据比特为0或1的置信度。基于所估计的数据比特的LLR,LDPC译码器模块1213对存储数据进行译码。如果译码成功,则转至步骤S20结束译码。如果译码失败,则继续步骤S05。
在步骤S05中,读取控制装置121中的HRE表存储模块1214用于存储HRE表。该HRE表是将预估模型与硬判决的实际模型相比较而获得的差异值发生异常的异常电压表。
在步骤S06中,读取控制装置121中的LLR分配模块1215根据HRE表调节LLR的值。例如,如果在HRE表中查找到上述的最优偏置电压,则LDPC译码器模块1213根据预设的弱化比例减小LLR,即给予低权重的LLR(log likelihood ratio)值,以减轻对软判决的伤害。
在步骤S07中,读取控制装置121中的LDPC译码器模块1213采用重新分配的LLR,重复步骤S04进行软判决译码。如果译码成功,则转至步骤S20结束译码。如果译码失败,则继续步骤S08。
在步骤S08中,读取控制装置121中的HRE构建模块1216在调节LLR的值仍然不能译码时重新构造HRE表。该步骤包括重新进行硬判决,在不同的偏置电压V0~V23下进行硬判决译码,采用预定次数的重试读取(retry read)操作读取存储单元的存储数据Din,从而获得偏置电压Voffset与差异值之间的关系曲线。在多个偏置电压下获得预估模型与硬判决的实际模型相比较而获得差异值发生异常的异常电压表。
在步骤S09中,读取控制装置121中的HRE构建模块1216将上述重新获得的异常电压表写入HRE表存储模块1214,从而更新HRE表。
在步骤S10中,重复步骤S06和S07,根据更新的HRE表调节LLR的值,以及采用重新分配的LLR进行软判决译码。如果译码成功,则转至步骤S20结束译码。如果译码失败,则继续步骤S11。
在步骤S11中,闪存系统中的RAID模块执行RAID功能,例如采用RAID 10构建的镜像功能,可以容许一半的闪存单元出错,而且成功读取数据。如果译码成功,则转至步骤S20结束译码。如果译码失败,则继续步骤S12。
在步骤S12中,闪存系统发出超时警报,从而提示译码错误。
在闪存系统提示译码结束或译码错误的情形,该方法结束整个流程。
图7a至7d示出采用HRE检测和LLR分配提高纠错能力的逻辑框图。
如图7a和7b所示,在没有采用HRE检测和LLR重新分配方法的情形下,LDPC HB译码器的纠错能力达到最高140个软错误,LDPC SB译码器的纠错能力达到最高140个软错误。
如图7c和7d所示,在采用HRE检测和LLR重新分配方法的情形下,LDPC SB译码器基于AWGN模型,在总错误中包含HRE错误的比例为10%时的纠错能力达到最高320个软错误,在总错误中包含HRE错误的比例为20%时的纠错能力达到最高280个软错误。
由此可见,根据本发明实施例的读取控制方法可以明显提高软判决的纠错能力。
在此所用的术语“模块”可以指代以下各项、作为以下各项的一部分或者包括以下各项:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路和/或提供所描述的功能性的其他合适的组件。
本领域技术人员可以理解,根据本发明的数据处理系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本发明的数据处理系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种用于存储器的高可靠性错误检测方法,包括:
在多个偏置电压下进行LDPC的硬判决译码以获得多个差异值,所述差异值表示多次重试读取时相邻两次读取到的数据差异量;
根据所述多个偏置电压与所述多个差异值之间的关系建立硬判决译码的实际模型;以及
将硬判决译码的预估模型与所述实际模型相比较,以获得所述多个差异值发生异常的异常电压,
其中,所述高可靠性错误检测方法判定在所述异常电压执行读取操作时发生高可靠性错误。
2.一种用于存储器的读取控制方法,包括:
在所述存储器的存储单元上施加预定的检测电压,所述检测电压为默认电压与偏置电压之和;
获得所述存储单元的电压电平;
将所述存储单元的电压电平与参考电压相比较以获得存储数据;以及
采用第一LLR,对所述存储数据进行LDPC的第一软判决译码,
其中,所述方法还包括采用LDPC的硬判决译码进行高可靠性错误检测,以及在判定发生高可靠性错误时,采用第二LLR,对所述存储数据进行LDPC的第二软判决译码。
3.根据权利要求2所述的读取控制方法,其中,所述第二LLR小于所述第一LLR。
4.根据权利要求3所述的读取控制方法,其中,所述高可靠性错误检测包括:
在多个偏置电压下进行LDPC的硬判决译码以获得多个差异值,所述差异值表示多次重试读取时相邻两次读取到的数据差异量;
根据所述多个偏置电压与所述多个差异值之间的关系建立硬判决译码的实际模型;以及
将硬判决译码的预估模型与所述实际模型相比较,以获得所述多个差异值发生异常的异常电压。
5.根据权利要求4所述的读取控制方法,其中,判定发生高可靠性错误包括:在所述异常电压执行读取操作时,判定发生高可靠性错误。
6.根据权利要求4所述的读取控制方法,还包括:将所述异常电压建立高可靠性错误表,保存在存储器或存储器控制器中。
7.根据权利要求6所述的读取控制方法,在采用第二LLR进行译码失败的情形下,还包括:
重复进行高可靠性错误检测;
更新所述高可靠性错误表;
根据更新后的高可靠性错误表,重新分配LLR为第三LLR;以及
采用第三LLR,对所述存储数据进行LDPC的第三软判决译码。
8.根据权利要求7所述的读取控制方法,其中,所述第三LLR设置为所述第一LLR和所述第二LLR之一。
9.一种用于存储器的读取控制装置,包括:
读取模块,从所述存储器读取所述存储器的存储数据;
LLR计算模块,提供第一LLR和所述第二LLR之一,用于表示所述存储数据中每个数据比特为0或1的置信度,作为软判决参数;以及
LDPC译码器模块,基于所述第一LLR和所述第二LLR之一对存储数据进行LDPC的软判决译码,以获得输出数据,
其中,所述读取控制装置还包括硬判决模块,采用LDPC的硬判决译码进行高可靠性错误检测,用于判定是否发生高可靠性错误,
所述LDPC译码器模块,在未发生高可靠性错误时使用所述第一LLR,在发生高可靠性错误时使用第二LLR。
10.根据权利要求9所述的读取控制装置,其中,所述第二LLR小于所述第一LLR。
11.根据权利要求9所述的读取控制装置,还包括:
硬判决模块,在多个偏置电压下进行LDPC的硬判决译码以获得多个差异值;
高可靠性错误构建模块,用于构建高可靠性错误表,所述高可靠性错误表是所述多个偏置电压中发生差异值异常的异常电压表;
高可靠性错误表存储模块,用于存储所述高可靠性错误表;以及
高可靠性错误分配模块,用于根据所述高可靠性错误表调节LLR的数值以获得所述第一LLR和所述第二LLR。
12.根据权利要求11所述的读取控制装置,其中,在采用第二LLR进行译码失败的情形下,所述高可靠性错误构建模块重复进行高可靠性错误检测以及更新所述高可靠性错误表,所述高可靠性错误表存储模块存储更新后的高可靠性错误表,所述高可靠性错误分配模块根据更新后的高可靠性错误表,重新分配LLR为第三LLR。
13.根据权利要求12所述的读取控制装置,其中,所述第三LLR设置为所述第一LLR和所述第二LLR之一。
14.根据权利要求9所述的读取控制装置,其中,所述存储器为闪存。
CN201711406432.2A 2017-12-22 2017-12-22 存储器的高可靠性错误检测方法、读取控制方法及装置 Active CN108154902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711406432.2A CN108154902B (zh) 2017-12-22 2017-12-22 存储器的高可靠性错误检测方法、读取控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711406432.2A CN108154902B (zh) 2017-12-22 2017-12-22 存储器的高可靠性错误检测方法、读取控制方法及装置

Publications (2)

Publication Number Publication Date
CN108154902A true CN108154902A (zh) 2018-06-12
CN108154902B CN108154902B (zh) 2020-11-13

Family

ID=62465205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711406432.2A Active CN108154902B (zh) 2017-12-22 2017-12-22 存储器的高可靠性错误检测方法、读取控制方法及装置

Country Status (1)

Country Link
CN (1) CN108154902B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669806A (zh) * 2018-12-24 2019-04-23 西南交通大学 一种用于nand闪存的译码似然比软值的生成方法和装置
CN110784231A (zh) * 2018-07-27 2020-02-11 奈奎斯特半导体有限公司 用于解码具有自生成对数似然比的纠错码的系统和方法
CN110969256A (zh) * 2018-09-28 2020-04-07 深圳衡宇芯片科技有限公司 训练人工智能更正存储装置的对数概度比的方法
CN111147084A (zh) * 2018-11-06 2020-05-12 北京忆芯科技有限公司 多通道并行译码器及其译码方法
CN111162794A (zh) * 2018-11-08 2020-05-15 北京忆芯科技有限公司 译码数据缓存方法和译码器
CN111245441A (zh) * 2020-01-03 2020-06-05 北京紫光得瑞科技有限公司 纠错码的判决信息的产生方法和装置
CN112599176A (zh) * 2020-12-15 2021-04-02 联芸科技(杭州)有限公司 存储器的最佳检测电压获取方法、读取控制方法及装置
WO2021102962A1 (zh) * 2019-11-29 2021-06-03 华为技术有限公司 一种译码的方法、装置及控制设备
CN113223593A (zh) * 2021-04-23 2021-08-06 联芸科技(杭州)有限公司 存储单元的读取电压优化方法、3d存储器的控制器及其操作方法
CN113571113A (zh) * 2021-07-14 2021-10-29 深圳宏芯宇电子股份有限公司 目标数据的解码方法、装置、电子设备和存储装置
CN117130822A (zh) * 2023-10-24 2023-11-28 杭州阿姆科技有限公司 一种用于预测nand闪存数据出错的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034547A (zh) * 2009-10-05 2011-04-27 株式会社东芝 存储器系统以及对存储器系统的控制方法
CN102820064A (zh) * 2011-06-07 2012-12-12 马维尔国际贸易有限公司 识别和减轻存储器系统中的硬错误
CN103971751A (zh) * 2013-01-31 2014-08-06 Lsi公司 以选择性二进制及非二进制解码在闪存中进行检测和解码
CN106341136A (zh) * 2015-07-08 2017-01-18 北京忆芯科技有限公司 Ldpc解码方法及其装置
CN107408069A (zh) * 2015-03-27 2017-11-28 英特尔公司 用于检测和缓解闪速存储器中的位线开路的装置和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034547A (zh) * 2009-10-05 2011-04-27 株式会社东芝 存储器系统以及对存储器系统的控制方法
CN102820064A (zh) * 2011-06-07 2012-12-12 马维尔国际贸易有限公司 识别和减轻存储器系统中的硬错误
CN103971751A (zh) * 2013-01-31 2014-08-06 Lsi公司 以选择性二进制及非二进制解码在闪存中进行检测和解码
CN107408069A (zh) * 2015-03-27 2017-11-28 英特尔公司 用于检测和缓解闪速存储器中的位线开路的装置和方法
CN106341136A (zh) * 2015-07-08 2017-01-18 北京忆芯科技有限公司 Ldpc解码方法及其装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784231B (zh) * 2018-07-27 2023-07-04 英韧科技(上海)有限公司 用于解码具有自生成对数似然比的纠错码的系统和方法
CN110784231A (zh) * 2018-07-27 2020-02-11 奈奎斯特半导体有限公司 用于解码具有自生成对数似然比的纠错码的系统和方法
CN110969256A (zh) * 2018-09-28 2020-04-07 深圳衡宇芯片科技有限公司 训练人工智能更正存储装置的对数概度比的方法
CN111147084B (zh) * 2018-11-06 2023-12-19 北京忆芯科技有限公司 多通道并行译码器及其译码方法
CN111147084A (zh) * 2018-11-06 2020-05-12 北京忆芯科技有限公司 多通道并行译码器及其译码方法
CN111162794A (zh) * 2018-11-08 2020-05-15 北京忆芯科技有限公司 译码数据缓存方法和译码器
CN111162794B (zh) * 2018-11-08 2023-10-20 北京忆芯科技有限公司 译码数据缓存方法和译码器
CN109669806A (zh) * 2018-12-24 2019-04-23 西南交通大学 一种用于nand闪存的译码似然比软值的生成方法和装置
WO2021102962A1 (zh) * 2019-11-29 2021-06-03 华为技术有限公司 一种译码的方法、装置及控制设备
CN111245441A (zh) * 2020-01-03 2020-06-05 北京紫光得瑞科技有限公司 纠错码的判决信息的产生方法和装置
CN111245441B (zh) * 2020-01-03 2022-09-02 北京得瑞领新科技有限公司 纠错码的判决信息的产生方法和装置
CN112599176A (zh) * 2020-12-15 2021-04-02 联芸科技(杭州)有限公司 存储器的最佳检测电压获取方法、读取控制方法及装置
CN112599176B (zh) * 2020-12-15 2022-08-05 联芸科技(杭州)股份有限公司 存储器的最佳检测电压获取方法、读取控制方法及装置
CN113223593A (zh) * 2021-04-23 2021-08-06 联芸科技(杭州)有限公司 存储单元的读取电压优化方法、3d存储器的控制器及其操作方法
CN113571113B (zh) * 2021-07-14 2023-05-09 深圳宏芯宇电子股份有限公司 目标数据的解码方法、装置、电子设备和存储装置
CN113571113A (zh) * 2021-07-14 2021-10-29 深圳宏芯宇电子股份有限公司 目标数据的解码方法、装置、电子设备和存储装置
CN117130822A (zh) * 2023-10-24 2023-11-28 杭州阿姆科技有限公司 一种用于预测nand闪存数据出错的方法及系统

Also Published As

Publication number Publication date
CN108154902B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN108154902A (zh) 存储器的高可靠性错误检测方法、读取控制方法及装置
US9734012B2 (en) Data encoding in solid-state storage devices
US10276247B2 (en) Read retry operations with estimation of written data based on syndrome weights
US9563502B1 (en) Read retry operations with read reference voltages ranked for different page populations of a memory
JP4668970B2 (ja) フォールトトレラントデータストレージシステムにおけるブロックレベルのデータ破損の検出および訂正
US9397698B1 (en) Methods and apparatus for error recovery in memory systems employing iterative codes
US10572345B2 (en) First responder parities for storage array
US10666295B1 (en) Mitigation of error correction failure due to trapping sets
US9069687B2 (en) Memory read-channel with selective transmission of error correction data
KR102143353B1 (ko) 메모리 소자로부터 액세스된 데이터의 오류를 정정하는 장치 및 방법
US20140223256A1 (en) Error detection and correction unit, error detection and correction method, information processor, and program
US8335976B2 (en) Memory system that provides guaranteed component-failure correction with double-error correction
US8255741B2 (en) Facilitating error detection and correction after a memory component failure
JP2013080450A (ja) メモリ装置
WO2011092641A1 (en) Method, device and computer program product for decoding a codeword
US11768732B2 (en) Soft decoding method using LLR conversion table
US10574272B2 (en) Memory system
Iliadis Reliability evaluation of erasure-coded storage systems with latent errors
WO2016122515A1 (en) Erasure multi-checksum error correction code
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
US11231994B2 (en) Memory system and method of controlling nonvolatile memory
Iliadis Data loss in RAID-5 and RAID-6 storage systems with latent errors
US11258466B1 (en) System and method for high reliability fast raid soft decoding for NAND flash memories
Iliadis Effect of lazy rebuild on reliability of erasure-coded storage systems
GB2548407A (en) Coding technique

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310053 room c1-604, building C, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province

Patentee after: Lianyun Technology (Hangzhou) Co.,Ltd.

Address before: 310053 Floor 9, building 2, No. 307, Liuhe Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: MAXIO TECHNOLOGY (HANGZHOU) Ltd.