[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN103971751A - 以选择性二进制及非二进制解码在闪存中进行检测和解码 - Google Patents

以选择性二进制及非二进制解码在闪存中进行检测和解码 Download PDF

Info

Publication number
CN103971751A
CN103971751A CN201410042712.XA CN201410042712A CN103971751A CN 103971751 A CN103971751 A CN 103971751A CN 201410042712 A CN201410042712 A CN 201410042712A CN 103971751 A CN103971751 A CN 103971751A
Authority
CN
China
Prior art keywords
page
nonbinary
decoding
llr
pattern
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
CN201410042712.XA
Other languages
English (en)
Other versions
CN103971751B (zh
Inventor
A·H·S·阿赫西恩
李宗旺
E·F·哈拉特什
L·丹简
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.)
Seagate Technology LLC
Original Assignee
Infineon Technologies North America Corp
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
Priority claimed from US13/755,717 external-priority patent/US9086984B2/en
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN103971751A publication Critical patent/CN103971751A/zh
Application granted granted Critical
Publication of CN103971751B publication Critical patent/CN103971751B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • 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
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/612Aspects specific to channel or signal-to-noise ratio estimation
    • 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/63Joint error correction and other techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明提供用于以选择性的二进制及非二进制解码在闪存中进行检测和解码的方法和装置。来自闪存器件的数据这样来处理:从闪存器件的一个或多个页中获得多个位的一个或多个读出值;基于给定的数据模式在特定的模式被从该多个位中读出时被写入该多个位的概率而将该多个位的一个或多个读出值转换成非二进制对数似然比;并且使用非二进制对数似然比来联合解码该多个位,其中页被独立地编码。

Description

以选择性二进制及非二进制解码在闪存中进行检测和解码
相关申请的交叉引用
本申请是在2010年8月31日提交的,题目为“Methods andApparatus for Storing Data in a Multi-Level Cell Flash Memory DeviceWith Cross-Page Sectors,Multi-Page Coding And Per-Page Coding”的美国专利申请No.12/920,407的;在2011年3月14日提交的,题目为“Methods and Apparatus for Soft Data Generation in FlashMemories”的美国专利申请No.13/063,888的;在2011年3月14日提交的,题目为“Methods and Apparatus for Soft Data Generation forMemory Devices Using Reference Cells”的美国专利申请No.13/063,895的;在2011年3月14日提交的,题目为“Methods and Apparatus forSoft Data Generation for Memory Devices Using Decoder PerformanceFeedback”的美国专利申请No.13/063,899的;在2011年3月14日提交的,题目为“Methods and Apparatus for Soft Data Generation forMemory Devices Based on Performance Factor Adjustment”的美国专利申请No.13/063,874的;以及在2012年12月31日提交的,题目为“Multi-Tier Detection and Decoding in Flash Memories”的美国专利申请No.13/731,551的部分继续专利申请,每个专利申请均并入本文,以作参考。
技术领域
本发明一般地涉及闪存器件,并且更特别地涉及用于在此类总体处理延迟小的闪存器件中减轻噪声、单元间干扰(ICI)和其它失真的影响的改进技术。
背景技术
众多存储器件,例如,闪存器件,使用模拟存储单元来存储数据。每个存储单元存储模拟值,也称为存储值,例如,电荷或电压。存储值表示存储于单元内的信息。例如,在闪存器件内,每个模拟存储单元典型地存储一定的电压。每个单元的可能模拟值的范围典型地被划分成阈值区,每个区对应于一个或多个数据位值。数据通过写入与所期望的一个或多个位对应的标称模拟值来写入模拟存储单元。
存储于存储单元内的模拟值通常会失真。失真典型地由于,例如,后模式依赖性(back pattern dependency)(BPD)、噪声和单元间干扰(ICI)。已经提出或建议许多技术,用于通过减小单元间的电容耦合来减轻ICI的影响。虽然存在可用的方法来减小ICI的影响,但是重要的是此类ICI减轻技术不会不必要地损害闪速读通道的写读速度。因而,应避免会引入显著的固有处理延迟的许多有效的信号处理和解码技术。但是,上述此类复杂的信号处理技术随着闪速器件的几何形状缩小会降低读通道设计者的能力以保持足够的解码准确度。
在闪速存储器件中的最小可写数据单元称为页。页能够包含读通道错误校正码(ECC)的几个代码字,代码字是最小的可读数据单元。依据页位到存储单元电压的映射,在映射到同一字线的页内的错误当中通常存在显著的统计相关。因而,已经意识到在多个页之间进行编码是有益的。但是,为了在闪存器件内保持高的写速度和读速度,页典型地在传输过程中写入和解码,独立于其它页。因此需要这样的ECC设计:页被独立地编码,并且页在正常操作模式中于传输过程中解码,同时如果发生页失效,还支持包括多个页的字线的解码以提高恢复失效页的概率。
发明内容
一般地,提供了方法和装置用于以选择性的二进制及非二进制解码在闪存中进行检测和解码。根据本发明的一种实施例,来自闪存器件的数据这样来处理:从闪存器件的一个或多个页中获得多个位的一个或多个读出值;将该多个位的一个或多个读出值转换成基于给定的数据图形在特定的图形被从该多个位中读出时被写入该多个位的概率的非二进制对数似然比;并且使用非二进制对数似然比来联合解码该多个位,其中页被独立地编码。
根据本发明的一个方面的实施例,提供一种用于处理来自闪存器件的数据的方法,包括:从所述闪存器件的一个或多个页中获得多个位的一个或多个读出值;基于在特定的模式被从所述多个位中读出时给定的数据模式被写入所述多个位的概率,将所述多个位的所述一个或多个读出值转换成非二进制对数似然比;以及使用所述非二进制对数似然比来联合解码所述多个位,其中所述页被独立地编码。
根据本发明的上述方法的一个实施例,其中所述可靠性值包括对数似然比、对数似然比的近似以及用于度量位判决的可靠性的可靠性值中的一个或多个。
根据本发明的上述方法的一个实施例,其中所述页使用相同的二进制生成矩阵被独立地编码。
根据本发明的上述方法的一个实施例,其中联合解码所述多个位的步骤使用具有由单位伽罗华域元素构成的非零元素的单一非二进制奇偶校验矩阵。
根据本发明的上述方法的一个实施例,其中所述单一非二进制奇偶校验矩阵是基于所述二进制生成矩阵。
根据本发明的上述方法的一个实施例,其中所述非二进制对数似然比包括用于采集单元内相关性的基于存储单元的伽罗华域值。
根据本发明的上述方法的一个实施例,其中所述联合解码包括伽罗华域非二进制字线匹配的消息传递解码技术。
根据本发明的上述方法的一个实施例,其中所述方法包括恢复模式,所述恢复模式在如果正常操作模式没有成功地解码给定页的所述多个位中的一个或多个时启动。
根据本发明的上述方法的一个实施例,其中所述正常操作模式独立于其它页来解码每一页。
根据本发明的上述方法的一个实施例,其中所述多个页来自给定的字线。
根据本发明的上述方法的一个实施例,其中所述多个页来自不同的字线。
根据本发明的上述方法的一个实施例,其中在所述特定模式被从所述多个位中读出时所述给定的数据模式被写入所述多个位的所述概率是下列项中的一项或多项:从一个或多个表中获得,基于一个或多个参考单元,基于一个或多个先前解码的判决,以及基于所述闪存器件的一个或多个性能因素。
根据本发明的上述方法的一个实施例,其中在所述特定模式被从所述多个位中读出时所述给定的数据模式被写入所述多个位的所述概率从一个或多个表中获得。
根据本发明的上述方法的一个实施例,其中所述给定的数据模式包括在给定的存储单元中的多个位。
根据本发明的上述方法的一个实施例,其中所述非二进制对数似然比按如下计算,假定特定的模式被从单元中读出:
λ(aibi=00|00)=log[p(00/00)]-C,λ(aibi=01|00)=log[p(01/00)]–C;
λ(aibi=10|00)=log[p(10/00)]–C,λ(aibi=11|00)=log[p(11/00)]-C。
根据本发明的上述方法的一个实施例,其中在所述特定模式被从所述多个位中读出时所述给定的数据模式被写入所述多个位的所述概率是基于一个或多个参考单元。
根据本发明的上述方法的一个实施例,其中在所述特定模式被从所述多个位中读出时所述给定的数据模式被写入所述多个位的所述概率是基于一个或多个先前解码的判据。
根据本发明的上述方法的一个实施例,其中在所述特定模式被从所述多个位中读出时所述给定的数据模式被写入所述多个位的所述概率是基于所述闪存器件的一个或多个性能因素。
根据本发明的上述方法的一个实施例,其中所述方法通过用于在正常模式中执行个体页的二进制解码以及在恢复模式中执行字线内的所述页的所述非二进制联合解码的混合检测和解码系统来执行。
根据本发明的上述方法的一个实施例,其中所述非二进制对数似然比是基于固定的均匀LLR映射或固定的非均匀LLR映射中的一种或多种计算出。
根据本发明的上述方法的一个实施例,其中所述非二进制对数似然比是基于在多个参考电压下使用多个电压读取重试获得的软判决和量化软判决中的一种或多种计算出。
根据本发明的另一个方面的实施例,提供一种可触摸的机器可读可记录存储媒体,用于处理来自闪存器件的数据,其中一个或多个软件程序当被一个或多个处理设备执行时,执行根据上述方法的步骤。
根据本发明的又一个方面的实施例,提供一种闪存系统,包括:可靠性单元,用于基于在特定的模式被从所述多个位中读出时给定的数据模式被写入所述多个位的概率,将来自闪存器件的一个或多个页的多个位的一个或多个读出值转换成非二进制对数似然比;以及非二进制解码器,用于使用所述非二进制对数似然比来联合解码所述多个位,其中所述页被独立地编码。
根据本发明的上述闪存系统的一个实施例,还包括一个或多个二进制LDPC解码器,用于基于一个或多个二进制LLR来生成一个或多个被恢复的页。
根据本发明的上述闪存系统的一个实施例,其中所述一个或多个二进制LDPC解码器共用具有所述非二进制解码器的一个或多个硬件元件
根据本发明的上述闪存系统的一个实施例,其中所述非二进制解码器联合处理字线的多个页以生成一个或多个恢复的页。
根据本发明的上述闪存系统的一个实施例,还包括一个或多个二进制编码器,所述二进制编码器应用一个或多个非二进制码来生成一个或多个符号。
根据本发明的上述闪存系统的一个实施例,还包括多个二进制编码器,所述多个二进制编码器相互共用一个或多个硬件元件。
关于本发明,以及本发明的更多特征、方面、实施例和优点的更全面理解可参考下面的具体实施方式、权利要求书和附图来获得。
附图说明
图1是结合了根据本发明的检测和解码技术的示例性闪存系统的示意性框图;
图2更详细地示出了在多级单元(MLC)的闪存器件中的示例性闪存单元阵列;
图3示出了由于众多示例性入侵单元(aggressor cell)的寄生电容而存在于目标单元的ICI;
图4是结合了根据本发明的各方面的检测和解码技术的闪存系统的示例性实现方式的示意性框图;
图5是描述示例性的正常模式的检测和解码过程的流程图;
图6是描述示例性的二进制恢复模式的检测和解码过程的流程图;
图7是描述示例性的可替换的非二进制恢复模式的检测和解码过程的流程图;
图8是结合了本发明的各方面的示例性的混合检测和解码系统的框图;
图9是结合了本发明的各方面的示例性的混合编码和解码系统的简化框图;
图10示出了在每个字线内具有示例性的LSB和MSB页的示例性的两级单元的存储器件;
图11示出了用于记录指示给定单元值的转移概率的已校正的字线内统计信息的示例性位转移概率表;以及
图12A和12B示出了在映射LLR中使用的符号独立映射和符号依赖映射。
具体实施方式
本发明的各个方面涉及信号处理技术,并且更特别地涉及用于在存储器件(例如,单级单元或多级单元(MLC)的NAND闪存器件)中减轻ICI和其它失真的检测和编码技术。如同本文所使用的,多级单元闪存包括其中每个存储单元存储两个或更多个位的存储器。典型地,存储于一个闪存单元内的多个位属于不同的页。虽然本文示出了使用用于将模拟值存储为电压的存储单元的本发明,但是本发明能够结合用于闪存的任何存储机制(例如,使用电压或电流来表示所存储的数据)来使用,这应是本领域技术人员所清楚的。
本发明的某些方面提供了具有不会不必要地损害闪速读通道的读速度的错误处理的检测和解码技术。根据本发明的一个方面,本发明提供了考虑到在相邻位之间的错误校正的检测和解码技术。给定位的对数似然比(LLR)在正常模式下基于给定的数据模式在特定的模式被读出时被写入一个或多个位的概率来生成。A对数似然比在正常模式下基于给定的数据模式在特定的模式被从该多个位中读出时被写入多个位的概率来生成。如同本文所使用的,术语“ICI减轻”包括ICI及其它失真的减轻。同样地,术语“LLR”还包括LLR、可靠性值或者可靠性的其它度量的近似。
根据本发明的一个方面,即使个体页被独立地编码,在闪存器件中的失效页也能够通过在给定的字线中的多个页的联合解码来恢复。本发明的某些方面确认:只要页使用相同的二进制生成矩阵来编码,用于解码的相应个体奇偶校验矩阵能够联结成单个非二进制的奇偶校验矩阵,假定所有其非零元素都是单位伽罗华域(Galois field)的元素,如同下文所进一步讨论的。而且,尽管实例在此仅针对每个字线两个页的情形而给出,但是本领域技术人员能够通过复制二进制LDPC解码器而将相同的方法应用于每个字线任意多个页的情形,使得解码器的数量等于页的数量。此外,同样的方法能够应用于在不同字线中以任何可测量的方式来关联的任意多个页。
在一种示例性的实施例中,给定的页在正常操作模式期间于传输过程中使用与给定页对应的奇偶校验矩阵来独立解码。如果页在正常模式期间未能被解码,则在同一字线中的另外页也被读出,并且字线的符号可靠性被生成并被传递给LDPC解码器。在另一种实施例中,当页在正常模式中未能被解码时,在当前字线中导致ICI的在其它字线中的另外页同样被读出,并且符号概率被传递给LDPC解码器。根据本发明的另一方面,LDPC解码器是由于所公开的非二进制奇偶校验矩阵的结构而支持个体页解码和联合字线解码两种解码的混合解码器。
图1是结合了根据本发明的某些方面的噪声和ICI减轻技术的示例性闪存系统100的示意性框图。如图1所示,示例性的闪存系统100包括通过接口150连接的闪存控制系统110和闪存区块160。示例性的闪存控制系统110包括闪存控制器120和读通道125。而且,读通道125还包括编码器/解码器140、缓存区145和LLR生成块130。最后,LLR生成块130还包括ICI减轻块135。
如同下文将结合图4进一步讨论的,示例性的闪存控制器120实现并入本发明的某些方面的一个或多个检测和解码过程(将在下文结合图5-7进一步讨论)。
示例性读通道125包括编码器/解码器块140和一个或多个缓存区145。应当注意,术语“读通道”同样能够包含写通道。在可替换的实施例中,编码器/解码器块140和某些缓存区145可以实现于闪存控制器120之内。编码器/解码器块140和缓存区145可以使用例如已知的市场上可购得的技术和/或产品来实现,这些技术和/或产品在此被调整以提供本发明的特征和功能。
一般地,如同下文将结合图4-7进一步讨论的,示例性的LLR生成块130处理来自闪存160的一个或多个读出值,例如,单个位的硬值(hard value)和/或量化的多个位的软值(soft value),并且生成应用于解码器140的LLR值,例如,示例性的低密度奇偶校验(LPDC)解码器。
一般地,如同下文将结合图4-7进一步讨论的,示例性的ICI减轻块135是在LLR生成块130中对在生成LLR序列时于物理相邻的单元之间的干扰予以考虑的专业化功能。
示例性的闪存区块160包括各自可以使用已知的市场上可购得的技术和/或产品来实现的存储器阵列170和一个或多个缓存区180。
在所公开的检测和解码技术的各种实施例中,示例性的接口150可能需要传递与常规闪存系统相关的附加信息,例如,表示与入侵单元相关的信息的值。因而,接口150可能需要具有比常规闪存系统中的接口更高的容量或更快的速度。另一方面,在其它实施例中,该附加信息按照会招致附加延迟的顺序方式传递给闪存控制器120。但是,那些附加延迟并没有由于它们罕见的发生而显著地增加总体延迟。当想要得到附加的容量时,接口150可以根据例如在2009年6月30日提交的、题目为“Methods and Apparatus for Interfacing Between a Flash MemoryController and a Flash Memory Array”的国际PCT专利申请No.PCT/US09/49328的教导任选地实现,该专利申请No.PCT/US09/49328全文并入本文,以作参考,这使用例如双倍数据率(DDR)技术来增加接口150的信息传递能力。
在写操作期间,接口150传输程序值以将其存储于目标单元内,典型地使用页或字线级访问技术。对于示例性的页或字线级访问技术的更详细讨论,请参见例如在2009年3月11日提交的、题目为“Methodsand Apparatus for Storing Data in a Multi-Level Cell Flash MemoryDevice with Cross-Page Sectors,Multi-Page Coding and Per-PageCoding”的国际专利申请No.PCT/US09/36110,该专利申请No.PCT/US09/36110全文并入本文,以作参考。
在读操作期间,接口150为目标和/或入侵单元传输已经从存储器阵列170中获得的硬和/或软读出值。例如,除了具有目标单元的页的读出值之外,在相邻的字线或者相邻的偶数或奇数位线中的一个或多个相邻页的读出值也经由接口150来传输。在图1的实施例中,所公开的检测和解码技术在闪存160之外实现,典型地在为了获得最小面积而针对逻辑电路优化的处理技术中。但是,这是以必须在接口150上传输的附加入侵单元的数据为代价的。
图2更详细地示出了在多级单元(MLC)的闪存器件160中的示例性闪存单元阵列200。如图2所示,示例性的闪存单元阵列200每个闪存单元ci存储三个位。图2示出了一个区块的闪存单元阵列的架构,其中每个示例性单元典型地对应于存储三个位的浮栅晶体管。示例性的单元阵列200包括m个字线和n个位线。典型地,在当前的多页单元闪存中,在单个单元内的位属于不同的页。在图2的实例中,每个单元的三个位对应于三个不同的页,并且每个字线存储三个页。在下面的讨论中,页0、1和2被称为在字线内的下页层级、中页层级和上页层级。
如上所述,闪存单元阵列能够被进一步划分成偶数页和奇数页,其中例如具有偶数编号的单元(例如,在图2中的单元2和4)对应于偶数页,而具有奇数编号的单元(例如,在图2中的单元1和3)对应于奇数页。在这种情况下,页(例如,页0)将含有在偶数单元中的偶数页(偶数页0)以及在奇数单元中的奇数页(奇数页0)。
例如,在双级单元中,每个单元存储两个位。在一种示例性的实现方式中,采用其中在单元中的位术语两个不同的页的格雷(Gray)映射{11,01,00,10}。在每个单元中的两个页的位通常称为最低有效位(LSB)和最高有效位(MSB)。例如,对于存储于每个单元两个位的闪存单元中的模式01,“1”指的是LSB或下页,而“0”指的是MSB或上页。闪存器件的实验研究指出:错误事件“01”→“10”在器件寿命末期具有相当大的发生概率。此外,基于加性高斯白噪声(AWGN)模型,MSB页与LSB页相比通常展现出较高的比特误码率(BER)。因而,已经发现读取一个页会提高另一个页的BER。
因而,已知:相对于新的闪存器件,MSB和LSB错误在器件寿命末期具有统计相关性。因而,本发明的某些方面在恢复模式中提供在给定字线的LSB和MSB页的非二进制域上的联合解码,同时还能够在正常模式中于二进制域上独立地解码LSB和MSB页。
单元间干扰
ICI是在单元之间的寄生电容的结果,并且一般地被认为是最突出的失真源之一。图3示出了由于众多示例性的入侵单元320的寄生电容而存在于目标单元310的ICI。在图3中采用下列符号:
WL:字线;
BL:位线;
BLo:奇数位线;
BLe:偶数位线;以及
C:电容。
本发明的某些方面认识到ICI是由在目标单元310已经被编程之后被编程的入侵单元320导致的。ICI改变了目标单元310的电压Vt。在一种示例性的实施例中,假定了“自下而上(bottom up)”的编程方案,并且在字线i和i+1中的相邻入侵单元导致目标单元310的ICI。在区块这样的自上而上编程的情况下,来自下字线i-1的ICI被去除,并且高达5个相邻单元作为入侵单元320对ICI有贡献,如图3所示。但是,应当注意,本文所公开的技术能够泛化为其中来自其它字线(例如,字线i-1)的入侵单元同样对ICI有贡献的情形,这是本领域技术人员所清楚的。如果来自字线i-1、i和i+1的入侵单元对ICI有贡献,则要考虑高达8个最近的相邻单元。如果离目标单元更远的其它单元对ICI的贡献是可忽略的,则能够忽略它们。一般地,入侵单元320通过分析编程顺序方案(例如,自下而上的或者偶数/奇数技术)来识别,以识别在给定的目标单元310之后编程的入侵单元320。
由入侵单元320对目标单元310造成的ICI能够按照以下示例性的实施例来建模:
Δ V ICI ( i , j ) = k x Δ V t ( i , j - 1 ) + k x Δ V t ( i , j + 1 ) + k y Δ V t ( i + 1 , j ) + k xy Δ V t ( i + 1 , j - 1 ) + k xy Δ V t ( i + 1 , j + 1 ) - - - ( 1 )
其中是入侵单元(w,b)的电压Vt的变化,是因ICI所致的目标单元(i,j)的电压Vt的变化,以及kx、kx和kxy是x、y和xy方向的电容耦合系数。
一般地,Vt是表示存储于单元上的且在读操作期间获得的数据的电压。Vt能够通过读操作来获得,例如,作为在字线中的全部页都被读取时具有比每单元存储的位数更高的精度的,或者在只有字线中的一个页被读取时具有两个或更多个位的软电压值,或者作为在字线中的全部页都被读取时具有与每单元存储的位数(例如,3位/单元闪存的3个位)相同的分辨率的量化成硬电压电平的值,或者在只有字线中的一个页被读取时量化成一个硬位的值。
关于闪存器件内的失真的更详细讨论,请参见例如J.D.Lee等的“Effects of Floating-Gate Interference on NAND Flash Memory CellOperation”(IEEE Electron Device Letters,264-266(2002年5月))或者Ki-Tae Park等的“A Zeroing Cell-to-Cell Interference PageArchitecture With Temporary LSB Storing and Parallel MSB ProgramScheme for MLC NAND Flash Memories”(IEEE J.of Solid StateCircuits,Vol.43,No.4,919-928(2008年4月)),每篇文献均并入本文,以作参考。
图4是结合了根据本发明的各方面的检测和解码技术的闪存系统400的示例性实现方式的示意性框图。如图4所示,一个或多个读出值由闪存160的存储器阵列170获得。读出值可以是例如硬值或软值。在正常模式中,例如读出值是针对给定页中的至少一个位而获得的。
在给定的处理模式(例如,正常模式或恢复模式)中,示例性的LLR生成块420处理来自闪存160的读出值,例如,单个位的硬编码值和/或量化的多个位的软编码值,并且生成应用于示例性的LPDC解码器430的LLR值。由示例性的LLR生成块420执行的用于每种示例性的检测和解码模式的LLR生成将在后面的标题为“LLR生成”的部分进一步讨论。
示例性的闪存控制器425实现了被并入本发明的某些方面的一个或多个检测和解码过程(将在下文结合图5-7进一步讨论)。此外,如同下文将进一步讨论的,示例性的LDPC解码器430处理由示例性的LLR生成块420生成的LLR,并且提供存储于硬判决缓存区440内的硬判决。
如同下文将进一步讨论的,示例性的LDPC解码器430能够反复地解码LLR值,直到例如读出值被成功地解码。在LDPC解码器430内的迭代称为局部迭代。在这些局部迭代中,LLR正使用消息传递算法的一次或多次迭代在LDPC解码器内部进行更新。此外,如同下文将进一步讨论的,在示例性的恢复模式中,示例性的LLR生成块420和示例性的LDPC解码器430能够进行全局迭代,直到读出值被成功地解码。在全局迭代中,LLR生成块420给LDPC解码器430提供LLR。在LDPC解码器430之内的局部迭代之后,LDPC解码器430然后给LLR生成块420提供已更新的LLR。LLR生成块420使用这些来自LDPC解码器430的LLR来计算所更新的LLR,这些更新的LLR被提供给LDPC解码器430。通过LLR生成块420和LDPC解码器430进行的LLR更新的一个循环称为一次全局迭代。在迭代的检测和解码系统中,若干局部和/或若干全局迭代正在被执行,直到与代码字对应的数据已经被成功地检测出并被解码。关于使用局部和全局迭代进行的迭代检测和解码的更详细讨论,请参见例如在2011年3月14日提交的、题目“Methods and Apparatus for Soft Data Generation in FlashMemories”的美国专利申请No.13/063,888,该专利申请全文并入本文,以作参考。
图5是描述结合本发明的某些方面的示例性二进制正常模式的检测和解码过程500的流程图。一般地,在正常模式期间,闪存160仅提供硬输出。如上所述,在正常模式期间采用逐页访问方案,使得在同一字线中的其它页上的附加信息不是必要的。此外,LDPC解码器430不采用全局迭代。因而,如同下文将讨论的,二进制LLR使用基于当前页的观察数据或错误统计信息的计算来获得。
如图5所示,示例性的正常模式检测和解码过程500最初在步骤510中获得来自存储器阵列170的用于第i页的硬输出。其后,该示例性的正常模式检测和解码过程500在步骤520中采用LLR生成块420来将用于第i页上的第j位的硬输出映射至LLR值。该映射操作使用查找表或数学运算来实现,其中LLR基于硬输出来计算。关于用于在正常模式期间进行LLR生成的合适技术的更详细讨论,请参见例如在2012年12月31日提交的、题目为“Multi-Tier Detection and Decodingin Flash Memories”的美国专利申请No.13/063,551;在2012年12月31日提交的、题目为“Detection and Decoding in Flash Memories UsingCorrelation of Neighboring Bits”的美国专利申请No.13/731,766;和/或在2011年3月14日提交的、题目为“Methods and Apparatus forSoft Data Generation in Flash Memories”的美国专利申请No.13/063,888,这些专利申请中的每个专利申请均并入本文,以作参考。
第i页的所生成的LLR值在步骤530中被应用于用于消息传递(MP)解码的LDPC解码器430。LDPC解码器430可任选地采用局部迭代560。
在步骤540中执行测试来确定解码是否成功。如果在步骤540中确定解码是成功的,则页计数i在步骤550中递增以处理下一页。但是,如果在步骤540中确定解码是不成功的,则示例性的正常模式的检测和解码过程500结束或者启动二进制恢复模式600(图6)或非二进制恢复模式700(图7)。
在闪存器件160的寿命周期的初期或者对于闪存器件160内的好区块,当错误一般较不严重时,二进制恢复模式600是较快的并且提供足够的误码率性能。但是,在闪存器件160的寿命周期的末期,或者对于闪存器件160内的坏区块,位错误更严重,并且在同一字线上的页之间存在更显著的相关性。因此,非二进制恢复模式700比二进制恢复模式600更可取,因为对于检测和非二进制解码都要考虑到错误相关性。而且,非二进制恢复模式700同时为同一字线上的所有页生成硬判决,这在顺序读取的操作模式中是有用的。对于某些情形,例如在闪存器件160的寿命周期的末期或者对于闪存器件内的坏区块,闪存控制系统可以直接进入非二进制恢复模式700,无需首先尝试正常模式的检测和解码过程500或者二进制恢复模式的检测和解码过程600。
如同下文将结合图6进一步讨论的,当恢复模式600、700结束时,程序控制返回至步骤550以处理下一页。
图6是描述结合了本发明的某些方面的示例性的二进制恢复模式的检测和解码过程600的流程图。一般地,在恢复模式期间,闪存160仅使用字线(单元)访问技术来提供硬输出,在该字线访问技术中,在字线中的其它页被读取。LLR基于来自当前页i以及在同一字线中的一个或多个别的页的硬输出来计算。这些LLR由示例性的二进制恢复模式的检测和解码过程600使用。此外,LDPC解码器430采用一次或多次全局迭代(任选为可编程的)。
如图6所示,示例性的二进制恢复模式的检测和解码过程600最初获得用于第i页(步骤605)的以及在同一字线中的一个或多个其它页(步骤607)的硬输出。用于第i页的硬输出仍然可以从步骤510中获得,并且因此可以被重新使用。然后,示例性的第一恢复模式的检测和解码过程600在步骤610中基于用于当前的第i页以及在同一字线中的一个或多个其它页的硬输出来计算用于在当前字线中的第i页的LLR。关于在二进制恢复模式中进行LLR生成的合适技术的更详细讨论,请参见例如在2012年12月31日提交的、题目为“Multi-Tier Detectionand Decoding in Flash Memories”的美国专利申请No.13/063,551;在2012年12月31日提交的、题目为“Detection and Decoding in FlashMemories Using Correlation of Neighboring Bits”的美国专利申请No.13/731,766;和/或在2011年3月14日提交的、题目为“Methods andApparatus for Soft Data Generation in Flash Memories”的美国专利申请No.13/063,888,这些专利申请中的每个专利申请均并入本文,以作参考。
第i页的LLR值在步骤620中被应用于LDPC解码器430,可任选地使用局部迭代650。
收敛测试在步骤630中执行以确定解码是否成功。如果在步骤630中确定解码是成功的,则页计数i在步骤640中递增以在正常模式500中处理下一页。但是,如果在步骤630中确定解码是不成功的,则在LLR生成块420与LDPC解码器430之间可任选地执行另外的全局迭代660。全局迭代660被执行,直到上述收敛测试指出解码现在是成功的或者已达到最大允许全局迭代次数。
然后,如果在步骤630中确定解码是不成功的并且全局迭代已经完成,则示例性的二进制恢复模式的检测和解码过程600在步骤670中声明当前页解码失败。程序控制则进到步骤640以在正常模式500中处理下一页。作为选择,示例性的二进制恢复模式的检测和解码过程600启动非二进制恢复模式700(图7)以恢复在过程600中产生解码失败的当前页。
图7是描述结合了本发明的某些方面的示例性的非二进制恢复模式的检测和解码过程700的流程图。一般地,在非二进制恢复模式中,闪存160使用字线(单元)访问技术来(例如,MSB页和LSB页)提供硬输出或软输出为字线中的所有页。此外,LDPC解码器430采用一个或多个全局迭代(任选为可编程的)。
如图7所示,对于示例性的两级单元,示例性的非二进制恢复模式的检测和解码过程700最初在步骤710中读取在当前字线中的两个页,从而获得硬读出值或软读出值。其后,过程700在步骤720中生成基于单元的伽罗华域GF(4)LLR,这将在后面标题为“用于恢复模式的非二进制LLR生成”的部分中进一步讨论。用于每个单元的示例性的GF(4)多级LLR采集单元内相关性,该单元内相关性然后被传递给字线的LPDC解码器。
应当注意,示例性的GF(4)代码被应用于每单元两个位的闪存(提供4个不同的符号),而GF(8)代码将被应用于每单元三个位的闪存(提供8个不同的符号)。更一般地,GF(2n)代码将被应用于每单元n个位的闪存(提供2n个不同的符号)。如上所述,本发明的某些方面在恢复模式中提供在给定字线的LSB和MSB页的非二进制域上的联合解码,同时还能够在正常模式中于二进制域上独立地解码LSB和MSB页。如同本文所使用的,术语“非二进制”将应用于其中不同符号的数量大于2的任何多级单元。在其它实施例中,在若干入侵及受害字线中的多个页的非二进制解码在更具侵略性的恢复模式中执行,其中如果除了当前字线外还读取m个入侵字线,则采用GF(2n×(m+1))解码器来减轻ICI导致的失真。
用于字线的LSB页和MSB页两者的联合LLR值在步骤730中被应用于LDPC解码器430,可任选地使用局部迭代770。如同下文将进一步讨论的,示例性的LDPC解码器430采用GF(4)的非二进制字线的消息传递(MP)解码,或者一般地,在L个页被联合解码时采用GF(2L)的MP解码。关于用于非二进制MP解码的合适技术的更详细讨论,请参见例如M.C.Davey和D.J.C MacKay的“Low DensityParity Check Codes over GF(q)”(IEEE Communications Letters,vol.2,165–167(1998年7月)),该文献全文并入本文,以作参考。
在步骤740中执行收敛测试以确定解码是否成功。如果在步骤740中确定解码是成功的,则页计数i在步骤760中递增以在正常模式500中处理下一页。但是,如果在步骤740中确定解码是不成功的,则在LLR生成块420与LDPC解码器430之间可任选地执行附加的全局迭代780。全局迭代780被执行直到上述收敛测试指出解码现在是成功的或者已达到最大允许全局迭代次数。
然后,如果在步骤740中确定解码是不成功的并且全局迭代已经完成,则示例性的非二进制恢复模式的检测和解码过程700在步骤750中声明当前页解码失败。程序控制则进到步骤760以在正常模式500中处理下一页。
图8是结合了本发明的某些方面的示例性的混合检测和解码系统800的框图。如同下文将讨论的,示例性的混合检测和解码系统800在正常模式中执行个体页的二进制解码,并且在恢复模式中执行在字线中的页的非二进制联合解码。
如图8所示,示例性的混合检测和解码系统800处理LSB页和MSB页的硬数据810-1、810-2。LSB页和MSB页的硬数据810-1、810-2由页/字线错误统计信息收集块820处理,以收集用于LLR生成的错误统计信息,以及用于检测和解码。关于对LLR生成和LDPC解码进行的错误统计信息收集的更详细讨论,请参见例如在2011年3月14日提交的、题目为“Methods and Apparatus for Soft DataGeneration in Flash Memories”的美国专利申请No.13/063,888,该专利申请全文并入本文,以作参考。
在正常模式中,LSB页和MSB页的硬数据810-1、810-2被独立处理。多路复用器830在闪存控制器425的控制之下每次选择LSB页和MSB页的硬数据810-1、810-2之一。二进制LSB/MSB LLR生成器840为正常模式处理硬值810-1、810-2以生成相应的二进制LLR。解复用器860在闪存控制器425的控制之下将LSB页和MSB页的二进制LLR分离开,并且将它们应用于生成恢复的LSB页的相应的LSB二进制LDPC解码器870-1或者生成恢复的MSB页的相应的MSB二进制LDPC解码器870-2。在可替换的实施例中,单个LDPC解码器被用来基于相应的二进制LLR而生成恢复的LSB或MSB页,也就是LSB页和MSB页共用LDPC解码器。
此外,在非二进制的恢复模式中,非二进制的字线LLR生成器850将LSB页和MSB页两者的硬值和/或软值联合进行处理LSB页和MSB页以生成非二进制LLR。非二进制LLR被应用于字线的非二进制LDPC解码器880,该非二进制LDPC解码器880将字线的两个页联合进行处理以生成恢复的LSB页和MSB页。在可替换的实施例中,二进制LDPC解码器870和非二进制LDPC解码器880可以共用处理功能或处理硬件。
如图8所示,全局迭代890在二进制LSB/MSB LLR生成器840和/或非二进制字线LLR生成器850与LSB/MSB二进制LDPC解码器870和/或字线非二进制LDPC解码器880之间执行。
图9是结合了本发明的某些方面的示例性的混合编码和解码系统900的简化框图。如同下文将讨论的,示例性的混合编码和解码系统900按照与图8类似的方式在恢复模式中执行(i)个体页的独立编码;以及(ii)在字线中的页的独立二进制解码和/或联合非二进制解码。
如图9所示,示例性的混合编码和解码系统900处理被应用于各自生成N个位的相应的二进制LDPC编码器910-1和910-2的K个LSB位和K个MSB位,其中LDPC编码器910-1和910-2使用完全相同的代码生成矩阵。所生成的2N个位被应用于生成N个符号的位-符号(B/S)转换器920。例如,在格雷编码方案之下,能够采用下列示例性的位映射:
00→0→5βV
01→1→3βV
10→2→βV
11→3→-βV
在非二进制恢复模式中,在闪存通道的等价通信模型内,该N个符号通过AWGN通道930来传输,并被量化以生成N个噪声符号(noisysymbol)。LLR生成器940将那些量化的N个符号映射成N个GF(4)LLR,该N个GF(4)LLR由用于处理该N个GF(4)LLR的非二进制LDPC解码器950解码以生成N估计的符号。
该N个估计的符号被应用于符号-位(S/B)转换器960,该符号-位(S/B)转换器960生成N估计的LSB位和N个估计的MSB位。
在图9中的示例性实施例使用两个二进制编码器将非二进制代码有效地应用于每单元两个位的闪存,并且每个符号含有2个位。对于每单元n个位的闪存,n个编码器应用非二进制代码,其中每个符号当在恢复模式700中解码时有效地含有n个位,然而如果正常模式500被应用,则该n个位中的每个位都被单独解码。
由于页由二进制LDPC编码器910-1和910-2独立写入,因而不需要会限制在页间应用错误校正码的竞争方案的可用性的较大的缓存区或附加的延迟。由于伽罗华域元素在LDPC代码构建期间的矩阵映射的方案(该方案将在下文进一步讨论),非二进制LDPC解码器同样能够与个体二进制LDPC解码器一起共用大多数硬件。最后,同样由于该硬件共用,解码器面积类似于二进制组成解码器。
为了说明非二进制LDPC码的伽罗华域元素是如何从写入闪存的二进制LDPC码产生的,图10示出了在每个字线内具有示例性的LSB或下页1010和MSB或上页1020的示例性的每单元两个位的存储器件1000。如图10所示,每个单元(例如,单元a、b和c)包括LSB位(例如,LSB位aL、bL和cL)和MSB位(例如,MSB位aM、bM和cM)。
如上所述,本发明的某些方面确认:假定所有其非零元素都是单位伽罗华域元素(unity Golois field element),则只要页通过相同的二进制生成矩阵来编码,用于解码的相应个体奇偶校验矩阵就能够联结成单个非二进制奇偶校验矩阵。
对于图10的LSB位和MSB位,二进制LSB的LDPC奇偶校验方程能够表示如下:
a L ⊕ b L = c L
并且二进制MSB的LDPC奇偶校验方程能够表示如下:
a M ⊕ b M = c M
此外,相应的非二进制单元奇偶校验方程能够表示如下:
a L a M ⊕ b L b M = c L c M ⇔ A ‾ ⊕ B ‾ = C ‾
其中每个向量,例如,(2×1阵列)包括GF元素。
对于图10的LSB位和MSB位,LSB页的二进制LDPC奇偶校验矩阵能够表示如下:
并且MSB页的二进制LDPC奇偶校验矩阵能够表示如下:
当LSB和MSB的LDPC码相同时,非二进制单元GF(4)的LDPC奇偶校验矩阵(全1矩阵)能够表示如下:
其中每个GF元素对应于下列的二进制元素的2×2阵列: 1 0 0 1 . 因此,如果LSB或MSB的LDPC码的奇偶校验矩阵的大小为K×N,则所产生的非二进制字线匹配的LDPC码的二进制图像为2K×2N。
以此方式,保护字线的非二进制LDPC码的奇偶校验矩阵很自然地从保护页的二进制码的奇偶校验矩阵中产生,不需要会浪费更多空闲面积的附加奇偶位。
用于恢复模式的非二进制LLR生成
图11示出了示例性位转移概率表1100,该表记录所收集的字线内统计信息指示表示在字线中的一个单元的给定的一对位aibi的转移概率。ai和bi指的是单元i的下(或LSB)页的和上(或MSB)页的位。转移概率表1100的大小随字线中的页的数量增加而呈指数关系增长,或者在一种实施例中,它随全部入侵字线(所考虑的)和当前字线中的页的总数量增加而呈指数关系增长。在示例性的位转移概率表1100中的错误统计信息被用来计算对应于闪存单元的4种可能状态的2位联合的GF(4)LLR。关于位转移概率表的更多信息,请参见在2012年12月31日提交的、题目为“Detection and Decoding in Flash MemoriesUsing Correlation of Neighboring Bits”的美国专利申请No.13/731,766,该专利申请全文并入本文,以作参考。
示例性的非二进制恢复模式的检测和解码过程700使用字线(单元)访问技术,在该字线访问技术中,在字线中的其它页被读出以生成相应的LLR。在该示例性的实施例中,LLR基于在相同字线中的相邻位的数据或错误统计信息,或者基于正被考虑的其它入侵字线的数据或错误统计信息来计算。数据或错误统计信息能够使用在字线中的页的参考单元或过去的LDPC判决来收集。关于合适的错误统计信息收集技术的讨论,请参见例如在2011年3月14日提交的、题目为“Methodsand Apparatus for Soft Data Generation for Memory Devices UsingReference Cells”的美国专利申请No.13/063,895;和/或在2011年3月14日提交的、题目为“Methods and Apparatus for Soft DataGeneration for Memory Devices Using Decoder PerformanceFeedback”的美国专利申请No.13/063,899,这些专利申请中的每个专利申请均并入本文,以作参考。
转移概率表1100记录假定每种可能模式都被读出的情况下,每种可能模式被写入单元i中的位aibi的概率(即,假定模式在正常模式500中被读出的情况下,作出模式被写入的判决的可靠性)。例如,术语“p(10/00)”指示假定模式“00”被读出的情况下,模式“10”被写入位aibi的概率(或者假定“00”在正常模式中被读出的情况下,作出判决“10”的可靠性)。该表同样能够用于其它单元(例如,单元i+1)中的位,这是本领域技术人员所清楚的。还应当注意,在字线中的两个页都在非二进制的恢复模式中被读出。
在转移概率表1100中的统计信息能够被用来按如下方式计算LLR。假定特定的模式被读出,例如,模式“00”,则相应的符号LLR能够被计算为(其中C是某归一化常数),
λ(aibi=00|00)=log[p(00/00)]-C,λ(aibi=01|00)=log[p(01/00)]–C;
λ(aibi=10|00)=log[p(10/00)]–C,λ(aibi=11|00)=log[p(11/00)]-C。
关于以若干指定的相邻位为条件的LLR生成的讨论,请参见在2012年12月31日提交的、题目为“Detection and Decoding in FlashMemories Using Correlation of Neighboring Bits”的美国专利申请No.13/731,766,该专利申请全文并入本文,以作参考。
在另一变型中,位转移概率表1100能够是一个或多个性能因素的函数,例如,耐久性、编程/擦除循环次数、读循环次数、保留时间、温度、温度变化、工艺角、ICI影响、在存储器阵列170内的位置、从其中获得读出值的字线和/或页的位置、页在从其中获得读出值的字线内的位置以及入侵单元的模式。这些性能因素中的一个或多个能够因在单元内的一个或多个不同位、在字线内的不同页、不同的位线或不同的硬读出数据值而变化。关于用于基于此类性能因素调整来计算存储器件的对数似然比的合适技术的更详细讨论,请参见例如在2009年9月30日提交的、题目为“Methods and Apparatus for Soft Data Generationfor Memory Device Based on Performance Factor Adjustment”的国际专利申请No.PCT/US09/59069,该专利申请全文并入本文,以作参考。
在另一变型中,2位联合的GF(4)LLR能够基于均匀固定的或非均匀固定的LLR映射来计算。一般地,LLR的映射遵循两种方案。LLR映射能够基于符号独立映射1200(图12A)或者符号依赖映射1250(图12B)。如上所述,在用于2位单元闪存的示例性格雷编码方案中,能够采用下列示例性的位到电压状态的映射:00→0;01→1;10→2;以及11→3。在图12A和12B中,对单元j的硬读取判决被表示为α是正常数,而a是状态标签(“11”、“01”、“00”或“10”),该状态标签同样能够表示为可替换的状态标签a(3、1、0或2)。
(图12A)的均匀映射在所有可能错误都为相等可能时使用,而(图12B)的非均匀映射对应于在错误更有可能处于相邻的单元状态之间且按照非对称的方式时的情形。本领域技术人员能够将这些固定的映射调整为最符合底层通道的错误行为的任意映射,以便提高作为一种可能度量的解码器的收敛概率。
单元j(或位aibi)的四个示例性的GF(4)LLR值(即,符号LLR)能够使用软判决,或者通过在不同的参考电压下的若干次电压读取重试来获得的量化软判决来获得(以获得存储于单元上的电压的量化估计值),如下:
λ j 11 = log P ( a = 11 | r j ) = - ( r j - μ 11 ) 2 2 σ 2 + K
λ j 00 = log P ( a = 00 | r j ) = - ( r j - μ 00 ) 2 2 σ 2 + K
λ j 01 = log P ( a = 01 | r j ) = - ( r j - μ 01 ) 2 2 σ 2 + K
λ j 10 = log P ( a = 10 | r j ) = - ( r j - μ 10 ) 2 2 σ 2 + K
其中j指示第j个单元;a指示状态(“11”、“01”、“00”或“10”);rj指示读取软判决(或量化估计);μa指示与状态a对应的高斯分布的均值;σ2指示与状态a对应的高斯分布的方差;K指示任意实常数,以及指示第j单元在状态a下的LLR值。关于如何使用在差分参考电压下的读取重试来获得量化的软判决的更详细讨论,请参见在2012年12月31日提交的、题目为“Multi-Tier Detection and Decodingin Flash Memories”的美国专利申请No.13/063,551,该专利申请全文并入本文,以作参考。
过程、系统和制造品细节
虽然众多流程图在此描述了示例性的步骤顺序,改变顺序的实施例同样是本发明的实施例。算法的各种置换被认为是本发明的可替换实施例。虽然本发明的示例性实施例已经关于软件程序中的处理步骤进行了描述,但是本领域技术人员应当清楚,各种功能在数字域内都可以实现为在软件程序中的、在借助于电路元件或状态机的硬件中的或者在软件和硬件两者的组合中的处理步骤。这样的软件可以用于例如数字信号处理器、专用集成电路、微控制器或通用计算机中。这样的硬件和软件可以实现于以集成电路实现的电路中。
因而,本发明的功能能够以方法以及用于实现那些方法的装置的形式来实现。一个或多个本发明的某些方面能够以程序代码的实现来实现,例如,是存储于存储介质内,装载到机器内和/或由机器执行,还是经由某种传输介质传输的,其中,当程序代码被装载到机器(例如,计算机)内并由其执行时,机器成为用于实施本发明的装置。当被实现于通用处理器上时,程序代码段与处理器结合以提供类似于特定的逻辑电路那样操作的器件。本发明还能够以集成电路、数字信号处理器、微处理器和微控制器中的一个或多个来实现。
如同本技术领域所已知的,本文所讨论的方法和装置可以作为自身包括具有实现于其上的计算机可读代码装置的计算机可读介质的制造品来分发。计算机可读程序代码装置连同计算机系统一起是可操作的,以执行用于执行本文所讨论的方法或者创造本文所讨论的装置的所有或某些步骤。计算机可读介质可以是有形的可记录介质(例如,软盘、硬盘、光盘、存储卡、半导体器件、芯片、专用集成电路(ASIC))或者可以是传输介质(例如,包括光纤的网络、万维网、线缆,或者使用时分多址、码分多址或其它射频通道的无线通道)。能够存储适用于结合计算机系统来使用的信息的任何已知的或已开发出的介质都可以使用。计算机可读代码装置是用于允许计算机读取指令和数据的任何机制,例如,在磁介质上的磁变化或者在光盘表面上的高度变化。
本文所描述的计算机系统和服务器每个都含有将配置关联的处理器以实现本文所公开的方法、步骤和功能的存储器。存储器能够是分布式的或本地的,以及处理器能够是分布式的或单个的。存储器能够被实现为电的、磁的或光学的存储器,或者这些或其它类型的存储器件的任意组合。而且,术语“存储器”应当作足够广泛的理解,以包含能够从在由关联的处理器访问的可寻址空间内的地址中读出的或者写入其中的任何信息。以此定义,在网络上的信息仍然处于存储器内,因为关联的处理器能够从网络中检索到信息。
应当理解,本文所示出的及所描述的实施例及其变型仅用于说明本发明的原理,并且在不脱离本发明的范围的情况下,本领域技术人员可以实现各种修改。

Claims (10)

1.一种用于处理来自闪存器件的数据的方法,包括:
从所述闪存器件的一个或多个页中获得多个位的一个或多个读出值;
基于在特定的模式被从所述多个位中读出时给定的数据模式被写入所述多个位的概率,将所述多个位的所述一个或多个读出值转换成非二进制对数似然比;以及
使用所述非二进制对数似然比来联合解码所述多个位,其中所述页被独立地编码。
2.根据权利要求1所述的方法,其中所述可靠性值包括对数似然比、对数似然比的近似以及用于度量位判决的可靠性的可靠性值中的一个或多个。
3.根据权利要求1所述的方法,其中所述页使用相同的二进制生成矩阵被独立地编码。
4.根据权利要求1所述的方法,其中所述非二进制对数似然比包括用于采集单元内相关性的基于存储单元的伽罗华域值。
5.根据权利要求1所述的方法,其中所述方法包括恢复模式,所述恢复模式在正常操作模式没有成功地解码给定页的所述多个位中的一个或多个时启动。
6.根据权利要求1所述的方法,其中在所述特定模式被从所述多个位中读出时所述给定的数据模式被写入所述多个位的所述概率是下列项中的一项或多项:从一个或多个表中获得,基于一个或多个参考单元,基于一个或多个先前解码的判决,以及基于所述闪存器件的一个或多个性能因素。
7.根据权利要求1所述的方法,其中所述方法通过用于在正常模式中执行个体页的二进制解码以及在恢复模式中执行字线内的所述页的所述非二进制联合解码的混合检测和解码系统来执行。
8.一种闪存系统,包括:
可靠性单元,用于基于在特定的模式被从所述多个位中读出时给定的数据模式被写入所述多个位的概率,将来自闪存器件的一个或多个页的多个位的一个或多个读出值转换成非二进制对数似然比;以及
非二进制解码器,用于使用所述非二进制对数似然比来联合解码所述多个位,其中所述页被独立地编码。
9.根据权利要求8所述的闪存系统,还包括一个或多个二进制LDPC解码器,用于基于一个或多个二进制LLR来生成一个或多个被恢复的页。
10.根据权利要求8所述的闪存系统,还包括多个二进制编码器,所述多个二进制编码器相互共用一个或多个硬件元件。
CN201410042712.XA 2013-01-31 2014-01-29 以选择性二进制及非二进制解码在闪存中进行检测和解码 Expired - Fee Related CN103971751B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/755,717 US9086984B2 (en) 2011-01-04 2013-01-31 Detection and decoding in flash memories with selective binary and non-binary decoding
US13/755,717 2013-01-31

Publications (2)

Publication Number Publication Date
CN103971751A true CN103971751A (zh) 2014-08-06
CN103971751B CN103971751B (zh) 2018-03-13

Family

ID=50064443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410042712.XA Expired - Fee Related CN103971751B (zh) 2013-01-31 2014-01-29 以选择性二进制及非二进制解码在闪存中进行检测和解码

Country Status (5)

Country Link
EP (1) EP2763042B1 (zh)
JP (1) JP6367562B2 (zh)
KR (1) KR102154789B1 (zh)
CN (1) CN103971751B (zh)
TW (1) TWI613674B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105304143A (zh) * 2014-07-21 2016-02-03 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置
CN108154902A (zh) * 2017-12-22 2018-06-12 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置
CN110858169A (zh) * 2018-08-22 2020-03-03 爱思开海力士有限公司 错误校正装置和包括该错误校正装置的电子装置
CN107017030B (zh) * 2015-10-13 2020-10-23 爱思开海力士有限公司 用于不规则代码的高效ldpc编码器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460783B2 (en) 2014-06-03 2016-10-04 Micron Technology, Inc. Determining soft data
US9613664B2 (en) * 2015-01-20 2017-04-04 Samsung Electronics Co., Ltd. Method of operating memory device including multi-level memory cells
US9564921B1 (en) 2015-02-04 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Method and system for forward error correction decoding based on a revised error channel estimate
JP2016184189A (ja) * 2015-03-25 2016-10-20 ルネサスエレクトロニクス株式会社 診断プログラム、診断方法および半導体装置
US9589655B1 (en) * 2015-10-02 2017-03-07 Seagate Technology Llc Fast soft data by detecting leakage current and sensing time
US9984752B2 (en) 2016-03-14 2018-05-29 Toshiba Memory Corporation Memory system and data encoding and decoding method to mitigate inter-cell interference
KR102564441B1 (ko) 2016-04-11 2023-08-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI634556B (zh) * 2017-10-12 2018-09-01 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN109697134B (zh) * 2017-10-20 2022-10-21 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
JP7039298B2 (ja) * 2018-01-16 2022-03-22 キオクシア株式会社 メモリシステム
KR20200019046A (ko) * 2018-08-13 2020-02-21 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
KR20200020535A (ko) 2018-08-17 2020-02-26 에스케이하이닉스 주식회사 에러 정정 장치, 그것의 동작 방법 및 그것을 포함하는 전자 장치
JP7309551B2 (ja) * 2019-09-19 2023-07-18 キオクシア株式会社 メモリシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814401B2 (en) * 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US8406048B2 (en) * 2008-08-08 2013-03-26 Marvell World Trade Ltd. Accessing memory using fractional reference voltages
WO2010039869A1 (en) * 2008-09-30 2010-04-08 Lsi Corporation Methods and apparatus for soft data generation for memory devices using reference cells
KR101633048B1 (ko) * 2010-02-25 2016-06-24 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
GB2481051B (en) * 2010-06-10 2016-06-01 Samsung Electronics Co Ltd Method for mapping and de-mapping of non-binary symbols in data communication systems
US8549380B2 (en) * 2011-07-01 2013-10-01 Intel Corporation Non-volatile memory error mitigation
US8566666B2 (en) * 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105304143A (zh) * 2014-07-21 2016-02-03 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置
CN105304143B (zh) * 2014-07-21 2018-10-02 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置
CN107017030B (zh) * 2015-10-13 2020-10-23 爱思开海力士有限公司 用于不规则代码的高效ldpc编码器
CN108154902A (zh) * 2017-12-22 2018-06-12 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置
CN108154902B (zh) * 2017-12-22 2020-11-13 联芸科技(杭州)有限公司 存储器的高可靠性错误检测方法、读取控制方法及装置
CN110858169A (zh) * 2018-08-22 2020-03-03 爱思开海力士有限公司 错误校正装置和包括该错误校正装置的电子装置
CN110858169B (zh) * 2018-08-22 2023-03-21 爱思开海力士有限公司 错误校正装置和包括该错误校正装置的电子装置

Also Published As

Publication number Publication date
EP2763042A1 (en) 2014-08-06
EP2763042A9 (en) 2014-12-03
JP6367562B2 (ja) 2018-08-01
KR20140098702A (ko) 2014-08-08
CN103971751B (zh) 2018-03-13
TW201443916A (zh) 2014-11-16
TWI613674B (zh) 2018-02-01
KR102154789B1 (ko) 2020-09-10
EP2763042B1 (en) 2015-09-09
JP2014150528A (ja) 2014-08-21

Similar Documents

Publication Publication Date Title
CN103971751A (zh) 以选择性二进制及非二进制解码在闪存中进行检测和解码
US9086984B2 (en) Detection and decoding in flash memories with selective binary and non-binary decoding
US10929221B2 (en) Multi-tier detection and decoding in flash memories utilizing data from additional pages or wordlines
CN107391026B (zh) 闪存装置及闪存存储管理方法
CN102203876B (zh) 用于存储器器件的软数据生成的方法和装置
CN107403646B (zh) 闪存装置及闪存存储管理方法
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
US9502117B2 (en) Cell-level statistics collection for detection and decoding in flash memories
US10103748B2 (en) Decoding method, memory control circuit unit and memory storage device
US20160062828A1 (en) Data accessing method, memory storage device and memory controlling circuit unit
US8990668B2 (en) Decoding data stored in solid-state memory
US10998920B1 (en) Overcoming saturated syndrome condition in estimating number of readout errors
US20150333776A1 (en) Decoding based on randomized hard decisions
KR20200046496A (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
CN107634764A (zh) 使用低密度奇偶校验码的解码器及存储控制器
CN109471808B (zh) 具有数据可靠性机制的存储系统及其操作方法
US9082480B2 (en) Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window
US9292377B2 (en) Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US10915396B1 (en) Soft-input soft-output component code decoder for generalized low-density parity-check codes
US11874736B2 (en) Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines
US11770133B1 (en) Exact ber reporting in the presence of CRC termination
US11550657B1 (en) Efficient programming schemes in a nonvolatile memory
CN108574495B (zh) 错误定位多项式解码器及方法
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
CN110391815B (zh) 解码方法及储存控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170301

Address after: California, USA

Applicant after: Seagate Technology LLC

Address before: California, USA

Applicant before: LSI Corp.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180313

Termination date: 20190129

CF01 Termination of patent right due to non-payment of annual fee