CN112216334A - 一种操作多状态存储器设备的方法和装置 - Google Patents

一种操作多状态存储器设备的方法和装置 Download PDF

Info

Publication number
CN112216334A
CN112216334A CN201910612557.3A CN201910612557A CN112216334A CN 112216334 A CN112216334 A CN 112216334A CN 201910612557 A CN201910612557 A CN 201910612557A CN 112216334 A CN112216334 A CN 112216334A
Authority
CN
China
Prior art keywords
data
state memory
state
cell
read
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.)
Pending
Application number
CN201910612557.3A
Other languages
English (en)
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.)
Benzheng information technology (Suzhou) Co.,Ltd.
Original Assignee
Intrinsic Information Technology Shanghai 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 Intrinsic Information Technology Shanghai Co ltd filed Critical Intrinsic Information Technology Shanghai Co ltd
Priority to CN201910612557.3A priority Critical patent/CN112216334A/zh
Publication of CN112216334A publication Critical patent/CN112216334A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/1148Structural properties of the code parity-check or generator matrix

Landscapes

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

Abstract

多状态存储器设备包含一个模拟信号多状态存储单元阵列。每个存储单元可以被视为一个离散信道,包括一个输入符号集,一个输出符号集,和一个转移概率矩阵。数据比特的可靠度信息,如对数似然比,可以根据转移概率矩阵和从存储单元中读取的数据来计算,并用于软解码。在一个数据存储系统中,通常的硬解码和软解码可以通过多种方式结合使用依据转移概率矩阵来计算对数似然比的方法。

Description

一种操作多状态存储器设备的方法和装置
技术领域
本发明涉及存储器领域,尤其涉及一种操作多状态存储器设备的方法和装置。
背景技术
多状态存储器设备,如浮栅型闪存(Floating Gate Flash)、电荷捕获型闪存(Charge Trap Flash)、相变存储器(Phase Change Memory)和电阻型随机存取器(Resistive RAM)等,都使用模拟信号的多状态存储单元来保存数据。文献中,多状态存储单元也常称为多层存储单元或者多比特存储单元。每个模拟信号存储单元可以保存一个模拟信号,如电荷、电压或者电阻。对多状态存储单元,模拟信号的允许取值范围可以分成多个区域,每个区域定义了一个单元状态,每个状态表示一个或多个数据比特的取值。每个存储单元状态都对应一个或多个比特的一个取值,我们称之为“状态编码”。一个模拟存储单元的数据写入操作是通过把该单元的模拟信号的值调整到一个与指定的写入数值对应的信号标称值来完成的。从模拟存储单元读取数据是通过感测存储单元的状态来完成,感测是基于把存储单元的模拟信号与多个参考阈值进行比较,从而确定单元状态。
一个多状态存储单元可以保存一个或多个数据比特。比如,SLC型闪存的每个单元保存一个比特,而MLC型闪存的每个单元可以保存两个比特,TLC型闪存的每个单元可以保存三个比特。页(page)是NAND型闪存读写操作的基本单位。在目前主流的NAND型闪存中,每个存储单元的多个比特一般是映射到不同的页中。对MLC型闪存,一个单元中的两个比特分别称为MSB和LSB,相应的页称为MSB页和LSB页。对TLC型闪存,一个单元中的三个比特分别称为MSB、CSB和LSB,相应的页称为MSB页、CSB页和LSB页。
由于制程差异、电子噪声、单元缺陷、单元干扰,和单元的老化等因素,测量到的单元状态有可能和写入的目标状态不同。这样的状态迁移导致从存储器单元中读取的数据会与原本写入的数据出现偏差。为了纠正这些数据错误,就必须使用ECC(error correctioncode)技术。在写入数据前,需要对原始数据进行ECC编码;在从存储器中读出数据后,需要对读取的数据进行ECC解码。
在传统的硬判决解码中,从存储器中读取数据时,会对每个所读数据比特做硬判决,并使用每个ECC码字的硬判决的比特来解码。在软判决解码中,闪存“信道”对每个数据比特都进行软判决,包含了像对数似然比(LLR)这样的可靠度信息,并用每个ECC码字的软判决的结果进行解码。由于使用了信道提供的额外的可靠度信息,软解码的性能要比硬解码好很多。许多ECC支持软解码,如Turbo码、LDPC码和极化码。
第7975192号美国专利,“Reading Memory Cells Using Multiple Thresholds”,介绍了从多状态存储器设备中提取软指标(soft metrics),并将其用于软解码的方法,该专利通过引入的方式并入本文本。该方法需要通过多次感测操作来得到软指标,且软指标数据需要额外的总线数据传输,因此使用软指标的开销是比较大的。在典型的应用中,一般首先采用硬解码,这时多状态存储器被近似为二进制对称信道(BSC),BSC交叉概率可以基于原始数据误码率的期望平均值计算得到。如果解码失败,可以多次尝试采用不同的参考阈值重新读取硬判决数据,并进行硬解码。当所有的硬解码尝试都失败后,才会读取软指标,并进行软解码。
如同在最新的TLC和QLC NAND型闪存中一样,当单个存储器单元保存了更多的数据比特时,由于单元磨损和数据保存的问题,原始数据误码率快速上升,硬解码已不足以完全解决数据错误。虽然可以使用软解码,但是多次感测操作的开销很大。在这种情况下,要在保持感测开销很小的情况下,达到很好的解码性能是一个挑战。
发明内容
针对现有技术中存在的问题,本发明实施例提供了一种操作多状态存储器设备的方法,包括:
把ECC编码的数据保存到一组多状态存储单元中;
从一组多状态存储单元中读取硬判决或软判决数据比特,其中每个存储单元至少保存了待读取的ECC码字的一个数据比特;
根据从所述一组多状态存储单元中读取的数据比特确定信道输出符号;
使用所述信道输出符号和转移概率矩阵为所述ECC码字计算数据比特的可靠度信息;
使用所述数据比特的可靠度信息解码所述ECC码字;以及
从解码后的所述ECC码字中提取数据。
一般而言,信道输出符号是从所述一组多状态存储单元读取的数据的函数,表示单元的状态。所述转移概率矩阵,P(y|x),表示当数值x写入到一个多状态存储单元后,从该单元读到输出符号y的概率。所述可靠度信息可以是对数似然比(LLR),其可通过LLR查找表计算得到。
页是NAND型闪存等存储器设备的读写操作的基本单位。保存在一组多状态存储单元中的全部比特可以映射到同一个页或者不同的页。在本发明的一些实施例中,每个ECC码字可以保存到一组多状态存储单元的单个页中。在本发明的另一些实施例中,每个ECC码字可以保存到一组多状态存储单元的多个页中。
一些存储器设备支持通过“重读”(read retry)操作用不同的参考阈值来读取硬判决数据,甚至支持通过与多个参考阈值进行多次比较操作来读取软判决数据。但是,这些方法都增加了读取数据的延时和开销。基于转移概率矩阵来计算可靠度信息的方法可以与这些方法通过多种方式相结合。这几种方法的一个很好的结合可以优化解码性能,降低不可纠正误码率(UBER),提高数据的可靠性,同时保持较低的延时和开销。
本发明实施例还提供了一种数据存储装置,其使用以上所述的方法操作一个或多个多状态存储器设备。
本发明实施例进一步提供了一个系统,包括一个或多个多状态存储器设备,和一个或多个存储控制器,其使用以上所述方法操作所述存储器设备。
本发明的有益效果是,本发明通过使用转移概率矩阵来计算数据的可靠度信息,可以在不增加额外的感测操作的情况下,改善解码性能,且该方法可以和现有的重读和软指标方法通过多种方式结合,进一步改善解码性能,降低不可纠正误码率(UBER),提高存储设备的数据可靠性。
附图说明
图1为根据本发明一实施例的一个存储系统的框图。
图2为2-状态单元的参考阈值的示意图。
图3为4-状态单元的参考阈值的示意图。
图4为4-状态单元的读取软指标的额外参考阈值的示意图。
图5为测量转移概率矩阵的一种示例流程图。
图6为根据本发明一实施例的使用转移概率矩阵的解码过程的示例流程图。
图7为根据本发明又一实施例的使用转移概率矩阵的解码过程的示例流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述。所述具体实施例仅用于解释本发明,而非限定本发明的范围。
根据本发明的一个实施例,图1是基于多状态存储器设备的存储系统(100)的一个示例配置。为清晰起见,其中省略了一些与理解本发明无关的模块。存储系统(100)可适用于多种系统和设备中,如固态硬盘、手机、数字相机,媒体播放器,和计算设备。
存储系统(100)包括一个或多个多状态存储器设备(110),和一个或多个存储控制器(120)。多状态存储器设备(110)通过存储单元阵列(112)来保存数据。存储单元阵列(112)包括一定数量的模拟信号多状态存储单元(113)。模拟信号多状态存储单元(113)可以是任何一种保存连续的模拟物理信号的存储单元。读/写电路(114)通过改变单元中模拟信号的值把数据写入到模拟信号多状态存储单元(113),通过把单元的模拟信号与参考阈值进行比较来读取数据。数据缓冲区(116)用于在存储控制器(120)和存储单元阵列(112)之间传输数据。控制逻辑(118)接受由存储控制器(120)发送的命令,并管理多状态存储器设备(110)的操作。
存储控制器(120)处理来自主机的命令,并管理一个或多个多状态存储器设备(110).当存储控制器(120)处理一个写命令时,数据首先从主机传输到I/O缓冲区(122),然后由ECC编码器(124)进行编码,并最终存入多状态存储器设备(110)。当存储控制器(120)处理一个读命令时,首先从多状态存储器设备(110)读取原始数据到数据缓冲区(116),然后LLR逻辑(130)根据读取的数据计算出数据比特的对数似然比(LLR),再然后ECC解码器(132)根据计算出的LLR解码ECC码字,并从ECC码字中提取出数据,最后存储控制器(120)将提取出的数据传输到主机。
对于写入任一给定数据的大量的模拟信号存储单元,其阈值会从标称值偏离,并形成一个统计分布。这和多个因素有关,比如制程偏差、电子噪声、温度、读写干扰、磨损以及数据保存时间等。与两个不同的数值对应的两个阈值分布可能以一定的概率交叉。在两个相邻的标称值中间,有一个默认的参考阈值用来区分相邻的两个单元状态,并据以做出硬判决。一些存储器设备支持“重读”(read retry),可以使用微调后的参考阈值来重新读取硬判决数据。通过使用两个相邻的标称值中间的多个不同的参考阈值,进行多次读操作,可以得到软指标。一些存储器设备支持用一个读操作以软比特(soft bit)的形式读取软指标从而减少数据传输,软比特是由存储器设备根据使用相邻标称值间的多个不同的参考阈值的比较结果计算得到。
图2是一个2-状态单元存储器设备的阈值分布和参考阈值的示意图。一个2-状态存储单元保存一个比特。图中的曲线(201)显示了存储值为“1”的单元的阈值分布。曲线(202)显示了存储值为“0”的单元的阈值分布。参考阈值T1用于区分两个单元状态,并读取硬判决的数据比特。由于两个概率分布的较差,数据有一定的概率发生错误,即原始误码率(RBER)。
假定交叉概率是对称的,则2-状态存储单元可以近似为一个二进制对称信道(BSC)。BSC交叉概率pc可以根据实验测量的原始误码率来计算。定义数据比特X的对数似然比(LLR)为
Figure BDA0002122865150000041
其中P(X=0)是X取值为0的概率,P(X=1)是X取值为1的概率。这样,对任一比特X,其LLR为:
Figure BDA0002122865150000042
其中,当X取值为0时符号为正,否则为负。
图3是一个4-状态单元存储设备的阈值分布的示意图。一个4-状态存储单元保存两个数据比特。图中的曲线(301)、(302)、(303)和(304)分别显示了存储值为“11”、“10”、“00”和“01”的单元的阈值分布。参考阈值T1、T2和T3,用来区分四个单元状态。参考阈值T1可以用来读取MSB比特。参考阈值T2和T3可以用来读取LSB比特。
一般来说,一个多状态存储单元可以用一个离散信道来描述,包括输入符号集
Figure BDA0002122865150000045
输出符号集
Figure BDA0002122865150000043
和转移概率矩阵P(y|x)。其中,输入符号集X是所有允许保存到多状态单元中的数值的集合;输出符号集
Figure BDA0002122865150000044
是从多状态单元读出的所有可能输出值的集合;转移概率矩阵P(y|x)表示当输入符号x写入到单元后,读取到输出符号为y的概率。以单元状态来说,输出符号集
Figure BDA0002122865150000046
也可以是所有可能的单元状态的集合,由多个参考阈值把单元模拟信号的值域分出的多个区域中的任一区域对应一个单元状态。
当单元状态数大于2时,存在多个阈值分布的交叉或状态迁移。BSC信道模型过于简单,已不足以描述这些细节。但是传统上,多状态单元还是经常用BSC信道模型来简化地描述。这种情况下,BSC交叉概率,pc,可以根据实验测量的平均原始误码率来估算。但是,在这样的简化处理下,转移概率矩阵的一些内在的信息被浪费了。
事实上,转移概率矩阵可以用来计算数据的可靠度信息,如对数似然比(LLR),来改善解码性能。令vi为写入一个存储单元的值,sj为读取该存储单元时得到的单元状态。则转移概率矩阵的元素,Pij,表示了在值vi写入到一存储单元后测量到的单元状态为sj的概率。因此,所有可能的状态迁移以及诱发的数据错误都可以通过Pij得到更详细的描述。
使用转移概率矩阵,单元数据的LLR估算可以得到改善。设测量的单元状态为sj。则单元的数据比特X的LLR为:
Figure BDA0002122865150000051
其中X(vk)表示存储单元中保存的数值vk中的比特X的取值。{k|X(vk)=1}表示使得数据比特X在存储单元的值vk中的取值为1的所有编号k的集合,类似的{k|X(vk)=0}表示使得数据比特X在存储单元的值vk中的取值为0的所有编号k的集合。无需依赖于读取软指标,公式2提供了比公式1更准确的LLR估算方法,从而改善解码性能。
在非二进制ECC中,多状态单元的数据可以用一个非二进制符号来表示,非二进制符号的可能取值的数量大于2。对非二进制ECC可以得到类似的结果。定义非二进制符号X的对应于值xm的LLR分量为:
Figure BDA0002122865150000052
设测量的单元状态为sj。则一存储单元的非二进制数据X与值xm相应的LLR分量为:
Figure BDA0002122865150000053
在两个相邻单元状态的标称值之间可以放入多个阈值,来读取软指标数据。图4显示了在一个4-状态存储器设备中用于读取软指标的阈值。在这个例子中,两个相邻标称值中间有3个阈值,用与这些阈值的比较结果可以计算软指标。用于读取软指标的阈值T12,T13,T22,T23,T32和T33,以及默认阈值T1,T2和T3,一起把单元模拟信号的值域分成了10个区域。每个区域定义为一个单元状态,则有10个单元状态。状态编码保持不变,仍然由T1,T2和T3决定。因此,总共有4个数值与10个状态对应。
令信道的输入符号集为可以保存到多状态存储单元的所有可能数值的集合。令信道的输出符号集为扩展的单元状态集合,对应于由默认参考阈值和用于读取软指标的额外的阈值所分割成的所有区域。则转移概率矩阵可以类似地定义。上述关于Pij和LLR计算的讨论同样适用于这种情况。因此,利用状态转移矩阵来计算LLR的方法可以与适用额外的阈值来读取软指标的方法相结合,以进一步改善解码性能。
实践中,状态转移概率矩阵,Pij,可以预先通过实验来统计测定,或者近似估计。图5显示了实验上测定Pij的一个示例流程图。
当存储控制器(120)支持多种多状态存储器设备(110)时,一种多状态存储器设备(110)的状态转移矩阵与另外一种可能有很大不同。即使对同一种多状态存储器设备(110),由于多种原因,如阈值漂移和环境温度,会引起的阈值分布的变化,在一种条件下测量的状态转移矩阵可能不适用于所有情况。因此,需要多个转移概率矩阵来适应不同的条件。
在本发明的优选实施例中,LLR逻辑(130)可以通过简单的查找表来实现,以根据原始的硬比特和软指标来计算LLR。查找表的内容可以根据公式2或公式4预先确定。可以用多个静态查找表来提供多个不同的状态转移矩阵。或者可以用一个或多个动态查找表,其内容可以由软件动态更新。
一个多状态存储单元的多个数据比特可以映射到不同的页。比如,对4-状态存储器设备,一组存储器单元的所有MSB比特可以映射到MSB页或上页(upper page),所有LSB比特可以映射到LSB页或下页(lower page)。这种单元比特与页的映射关系我们称之为“分页模式”。同一存储器单元的所有数据比特也可以全部映射到同一个页中,我们称之为“同页模式”。
目前大多最先进的多状态存储器设备都采用分页模式。传统上,一个ECC码字存放于单个页中。图6显示了这种情况下使用状态转移矩阵来优化硬解码性能的一个示例流程图。首先,尝试进行普通的硬判决解码。如解码失败,则把相关单元的全部数据比特都读取到数据缓冲区,并使用上述方法根据状态转移矩阵计算所关心的数据比特的LLR。然后,使用计算所得的LLR重新解码。有些多状态存储器设备支持使用不同的阈值来重新读取硬判决数据。图中的硬判决解码部分或者整个流程可以通过重读操作来进行多次重试。
软指标可以与上述方法以多种方式结合使用。首先,软指标可以只使用需要读取的页,或者所读单元的全部页。另外,使用软判决的方法可以用在使用状态转移矩阵方法之前,或者之后。
在本发明的一实施例中,当普通的硬判决解码失败时,读取所读页的软指标,并尝试软解码。如普通的软判决解码失败,所读页的存储单元的硬判决数据比特全部读出,并根据状态转移矩阵计算所关心的数据比特的LLR,并使用改善的LLR重新尝试解码。必要时,可以利用所读单元的全部数据比特的软指标来进一步改善LLR。
在本发明的另一实施例中,当普通的硬判决解码失败时,所读单元的其它硬判决比特也全部读出,并根据状态转移矩阵计算所关心的数据比特的LLR,并使用得到的LLR重新尝试解码。如解码失败,则读取所读页数据的软指标,并重新尝试解码。必要时,可以利用所读单元的全部数据比特的软指标来进一步改善LLR。
一些多状态存储器设备支持使用不同的参考阈值来重读硬判决比特,或者使用额外的参考阈值来读取软指标。硬解码的重试次数和软指标的参考阈值的数量的选择提供了优化解码性能的更多可能性。
在本发明的一实施例中,一个ECC码字可以保存到分页模式的存储器设备的多个页中。每个码字包括了一组存储单元的映射到不同页上的全部数据比特。在硬判决解码时,一个ECC码字的全部硬比特从多个页中全部读出,并根据状态转移矩阵计算硬比特的LLR。必要时,可以使用软指标信息来进一步改善解码性能。
在本发明的一实施例中,一个ECC码字可以保存到同页模式的存储器设备的单个页中。与一个码字相关的一组存储单元的全部数据比特可以通过一个读操作全部读出,同样根据状态转移矩阵可以计算出所有数据比特的LLR。必要时,可以使用软指标信息来进一步改善解码性能。与分页模式的多状态存储器设备的情况相比,这种情况下,读取全部数据比特的延时可以得到大幅降低。
图7显示了另外一种解码过程的示意流程图。这尤其适用于同页模式的存储器设备。首先,把所关心的一组多状态存储单元的全部数据比特读取到数据缓冲区,并按照上述方法根据状态转移矩阵计算所有数据比特的LLR。然后,使用计算所得的LLR尝试解码。如果解码失败,则调整参考阈值,并重新尝试数据读取和解码过程。必要时,可以结合使用软指标进一步改善解码性能。

Claims (9)

1.一种操作多状态存储器设备的方法,其特征在于,包括:
保存经ECC编码的数据到一组多状态存储单元中;
从所述一组多状态存储单元中读取硬判决或软判决数据比特;
根据从所述一组多状态存储单元中读取的数据比特,确定所有输出符号;
根据所述输出符号和状态转移矩阵计算待读ECC码字的数据比特的可靠度信息;
使用所述ECC码字的可靠度信息解码;以及
从解码的ECC码字中提取数据。
2.根据权利要求1所述的方法,其特征在于,所述输出符号一般性而言是从所述多状态存储单元中读出的数据的函数,表示单元的状态;所述转移概率矩阵,P(y|x),表示数值x写入到一多状态单元后,从中读取到输出符号y的概率。
3.根据权利要求1所述的方法,其特征在于,所述可靠度信息为对数似然比(LLR),可根据输出符号通过LLR查找表计算得到。
4.根据权利要求1所述的方法,其特征在于,一个多状态存储单元中保存的多个数据比特可以映射到同一个页或不同的页中。
5.根据权利要求1所述的方法,其特征在于,每个ECC码字可以保存到一组多状态存储单元的一个或多个页中。
6.根据权利要求1所述的方法,其特征在于,所述ECC为非二进制码,每个多状态存储单元中保存的多个比特表示该非二进制编码中的一个符号。
7.根据权利要求1所述的方法,其特征在于,当解码失败时,数据读取和解码的过程可以重复多次,分别采用不同的硬判决参考阈值,或者不同数量的额外参考阈值用于读取软指标。
8.一种操作多状态存储器设备的数据存储装置,其特征在于,使用权利要求1至7中的任一项所述的方法。
9.一个系统,其特征在于,包括:
一个或多个多状态存储器设备;
一个或多个存储控制器,使用权利要求1至7中的任一项所述的方法操作所述多状态存储器设备。
CN201910612557.3A 2019-07-09 2019-07-09 一种操作多状态存储器设备的方法和装置 Pending CN112216334A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910612557.3A CN112216334A (zh) 2019-07-09 2019-07-09 一种操作多状态存储器设备的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910612557.3A CN112216334A (zh) 2019-07-09 2019-07-09 一种操作多状态存储器设备的方法和装置

Publications (1)

Publication Number Publication Date
CN112216334A true CN112216334A (zh) 2021-01-12

Family

ID=74048321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910612557.3A Pending CN112216334A (zh) 2019-07-09 2019-07-09 一种操作多状态存储器设备的方法和装置

Country Status (1)

Country Link
CN (1) CN112216334A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022101183A1 (de) 2021-10-06 2023-04-06 Samsung Electronics Co., Ltd. Fehlerkorrekturcodecontroller für maschinelles Lernen
US11742879B2 (en) 2019-03-13 2023-08-29 Samsung Electronics Co., Ltd. Machine-learning error-correcting code controller

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366739A (zh) * 2000-04-25 2002-08-28 三菱电机株式会社 被快速(Turbo)编码了的代码序列的译码方法及译码装置
CN1941636A (zh) * 2005-03-16 2007-04-04 株式会社东芝 编码方法及系统、解码方法、记录方法及系统和读取方法
US20090154236A1 (en) * 2007-12-14 2009-06-18 Alexander Kozlov Systems and methods for discrete channel decoding of LDPC codes for flash memory
US20130145235A1 (en) * 2011-01-04 2013-06-06 Lsi Corporation Detection and decoding in flash memories with selective binary and non-binary decoding
US20150227403A1 (en) * 2014-02-07 2015-08-13 Lsi Corporation Decoding System and Method for Electronic Non-Volatile Computer Storage Apparatus
US9170876B1 (en) * 2013-12-31 2015-10-27 Pmc-Sierra Us, Inc. Method and system for decoding encoded data stored in a non-volatile memory
CN105811998A (zh) * 2016-03-04 2016-07-27 深圳大学 一种基于密度演进的极化码构造方法及极化码编译码系统
US20160329910A1 (en) * 2014-01-29 2016-11-10 Western Digital Technologies, Inc. Non-binary ldpc decoder using binary subgroup processing
CN107665723A (zh) * 2016-07-29 2018-02-06 西部数据技术公司 用于非易失性存储器的非二进制编码

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1366739A (zh) * 2000-04-25 2002-08-28 三菱电机株式会社 被快速(Turbo)编码了的代码序列的译码方法及译码装置
CN1941636A (zh) * 2005-03-16 2007-04-04 株式会社东芝 编码方法及系统、解码方法、记录方法及系统和读取方法
US20090154236A1 (en) * 2007-12-14 2009-06-18 Alexander Kozlov Systems and methods for discrete channel decoding of LDPC codes for flash memory
US20130145235A1 (en) * 2011-01-04 2013-06-06 Lsi Corporation Detection and decoding in flash memories with selective binary and non-binary decoding
US9170876B1 (en) * 2013-12-31 2015-10-27 Pmc-Sierra Us, Inc. Method and system for decoding encoded data stored in a non-volatile memory
US20160329910A1 (en) * 2014-01-29 2016-11-10 Western Digital Technologies, Inc. Non-binary ldpc decoder using binary subgroup processing
US20150227403A1 (en) * 2014-02-07 2015-08-13 Lsi Corporation Decoding System and Method for Electronic Non-Volatile Computer Storage Apparatus
CN105811998A (zh) * 2016-03-04 2016-07-27 深圳大学 一种基于密度演进的极化码构造方法及极化码编译码系统
CN107665723A (zh) * 2016-07-29 2018-02-06 西部数据技术公司 用于非易失性存储器的非二进制编码

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11742879B2 (en) 2019-03-13 2023-08-29 Samsung Electronics Co., Ltd. Machine-learning error-correcting code controller
DE102022101183A1 (de) 2021-10-06 2023-04-06 Samsung Electronics Co., Ltd. Fehlerkorrekturcodecontroller für maschinelles Lernen

Similar Documents

Publication Publication Date Title
US9996416B2 (en) Systems and methods for enhanced data recovery in a solid state memory system
CN106776109B (zh) 固态硬盘读错误检测装置及读不可纠错误原因的检测方法
US8924824B1 (en) Soft-decision input generation for data storage systems
US9990247B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
US10395754B2 (en) Method for decoding bits in a solid state drive, and related solid state drive
US9092350B1 (en) Detection and handling of unbalanced errors in interleaved codewords
US20200012561A1 (en) System and method for adaptive multiple read of nand flash
CN104283570B (zh) 低密度奇偶性检验(ldpc)解码器中的对数似然比(llr)阻尼
US11120882B2 (en) Error recovery of data in non-volatile memory during read
WO2011146364A2 (en) Joint encoding of logical pages in multi-page memory architecture
US9836351B2 (en) Method for decoding bits in a solid state drive, and related solid state drive
EP3579237B1 (en) Solid state drive with improved llr tables
TWI576847B (zh) 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統
US10075191B2 (en) Method for decoding bits-by varying LLR values in a solid-state drive, and solid-state drive implementing the method
CN112216334A (zh) 一种操作多状态存储器设备的方法和装置
US9722635B2 (en) Controller for a solid-state drive, and related solid-state
US9715430B2 (en) Controller for a solid-state drive, and related solid-state drive
CN107240419B (zh) 读取快闪存储器中所储存的数据的方法、存储器控制器与系统
US10061640B1 (en) Soft-decision input generation for data storage systems
TWI514404B (zh) 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統
US20210328597A1 (en) Recovering from hard decoding errors by remapping log likelihood ratio values read from nand memory cells
US9170881B2 (en) Solid state device coding architecture for chipkill and endurance improvement
TWI571885B (zh) 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統
CN113496752B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US11204831B2 (en) Memory system

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
TA01 Transfer of patent application right

Effective date of registration: 20211208

Address after: 215000, floor 3, room 101, building 1, No. 19, Yong'an Road, high tech Zone, Suzhou, Jiangsu

Applicant after: Benzheng information technology (Suzhou) Co.,Ltd.

Address before: 201203 room 206, building 2, no.1690, Cailun Road, Pudong New Area, Shanghai

Applicant before: Intrinsic Information Technology (Shanghai) Co.,Ltd.

TA01 Transfer of patent application right