CN110858169A - 错误校正装置和包括该错误校正装置的电子装置 - Google Patents

错误校正装置和包括该错误校正装置的电子装置 Download PDF

Info

Publication number
CN110858169A
CN110858169A CN201811643133.5A CN201811643133A CN110858169A CN 110858169 A CN110858169 A CN 110858169A CN 201811643133 A CN201811643133 A CN 201811643133A CN 110858169 A CN110858169 A CN 110858169A
Authority
CN
China
Prior art keywords
check
reliability value
variable node
unit
values
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
CN201811643133.5A
Other languages
English (en)
Other versions
CN110858169B (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110858169A publication Critical patent/CN110858169A/zh
Application granted granted Critical
Publication of CN110858169B publication Critical patent/CN110858169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明涉及一种错误校正装置,该错误校正装置包括:多个变量节点单元;多个校验节点单元:在迭代期间从多个变量节点单元之中联接到该校验节点单元的一个或多个变量节点单元接收具有第二位精度的一个或多个参考可靠性值;并且基于一个或多个参考可靠性值,将具有第二位精度的一个或多个校验可靠性值传输到与该校验节点单元联接的一个或多个变量节点单元,其中在迭代期间,多个变量节点单元中的每一个进一步从联接到该变量节点单元的一个或多个校验节点单元接收一个或多个第一校验可靠性值;并且通过放大通道可靠性值的第一位精度和一个或多个第一校验可靠性值的第二位精度,参考通道可靠性值和一个或多个第一校验可靠性值来更新硬判决位。

Description

错误校正装置和包括该错误校正装置的电子装置
相关申请的交叉引用
本申请要求于2018年8月22日向韩国知识产权局提交的申请号为10-2018-0097884的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种错误校正装置,且更具体地,涉及一种以预定的位精度进行操作的错误校正装置。
背景技术
错误校正装置可应用于处理数据的各种电子系统,例如通信系统和数据存储系统,并且用于校正数据中生成的错误。
错误校正装置可接收待进行错误校正的数据和指示数据可靠性的可靠性数据,并且基于可靠性数据校正数据的错误。
错误校正装置可在预定的位精度的限制下进行操作,这可限制内部计算节点之间的传输能力或计算能力。位精度的限制可能妨碍准确的可靠性信息反映到解码操作中,并因此降低错误校正性能。随着错误校正装置的位精度增加,通常可增强错误校正性能。然而,位精度的扩展可能伴随着硬件复杂性和功耗的增加。
发明内容
在实施例中,错误校正装置可包括:多个变量节点单元,每一个变量节点单元被配置成:接收硬判决位和具有第一位精度的通道可靠性值;并且基于通道可靠性值对硬判决位执行解码操作的迭代;多个校验节点单元,每一个校验节点单元被配置成:在迭代期间从多个变量节点单元之中联接到该校验节点单元的一个或多个变量节点单元接收具有第二位精度的一个或多个参考可靠性值;并且基于一个或多个参考可靠性值,将具有第二位精度的一个或多个校验可靠性值传输到与该校验节点单元联接的一个或多个变量节点单元,其中,在迭代期间,多个变量节点单元中的每一个进一步:从多个校验节点单元之中联接到该变量节点单元的一个或多个校验节点单元接收一个或多个第一校验可靠性值;并且通过放大通道可靠性值的第一位精度和一个或多个第一校验可靠性值的第二位精度,参考通道可靠性值和一个或多个第一校验可靠性值来更新硬判决位。
在实施例中,电子装置可包括:存储器装置,包括多个存储器单元,并且被配置成:通过向多个存储器单元施加硬读取电压,从多个存储器单元中读取各个硬判决位;以及通过向多个存储器单元施加多个软读取电压来从多个存储器单元中读取各个软判决位组,其中通过向硬读取电压添加预定偏移值或从硬读取电压减去预定偏移值来生成软读取电压,并且软判决位组中的每一个包括与相应存储器单元的阈值电压和硬读取电压之间的差相关的信息;通道可靠性值确定单元,被配置成基于软判决位组确定具有第一位精度的通道可靠性值;以及解码器,被配置成接收硬判决位和通道可靠性值,并且基于通道可靠性值对硬判决位执行解码操作,其中解码器包括:多个变量节点单元,每一个变量节点单元被配置成:接收硬判决位的相应的硬判决位和通道可靠性值的相应的通道可靠性值;并且基于相应的通道可靠性值对相应的硬判决位执行解码操作的迭代;以及多个校验节点单元,每一个校验节点单元被配置成在迭代期间:分别从多个变量节点单元之中联接到该校验节点单元的一个或多个变量节点单元接收具有第二位精度的一个或多个参考可靠性值;并且基于一个或多个参考可靠性值,将具有第二位精度的一个或多个校验可靠性值传输到联接到该校验节点单元的一个或多个变量节点单元,其中,在迭代期间,多个变量节点单元中的每一个进一步:分别从多个校验节点单元之中联接到该变量节点单元的一个或多个校验节点单元接收一个或多个第一校验可靠性值;并且通过放大通道可靠性值的第一位精度和一个或多个第一校验可靠性值的第二位精度,参考通道可靠性值和一个或多个第一校验可靠性值来更新硬判决位。
在实施例中,一种具有迭代错误校正码的解码方法,其中由包括变量节点和校验节点的二部图表示该迭代错误校正码,变量节点和校验节点根据由迭代错误校正码定义的校验矩阵互连,该解码方法可包括:生成一个或多个变量消息,该变量消息包括硬判决位的对数似然比(LLR);通过放大LLR和校验消息的位分辨率,基于硬判决位的可靠性值来更新硬判决位,其中基于LLR和一个或多个校验消息生成该硬判决位的可靠性值,基于变量消息生成该校验消息;通过恢复变量消息的位分辨率,基于LLR和经放大的位分辨率的校验消息来更新变量消息;并且执行更新硬判决位和更新变量消息的迭代,直到通过校验矩阵确定经更新的硬判决位正确。
附图说明
图1是示意性地示出根据实施例的错误校正装置的框图。
图2是示出根据实施例的包括在解码器中的变量节点单元和校验节点单元的框图。
图3是更详细地示出根据实施例的图1的错误校正装置的框图。
图4是详细示出根据实施例的图3的变量节点单元的框图。
图5是示出根据实施例的图3的通道可靠性值确定单元所参考的通道可靠性值表的示图。
图6A至图6C是示出根据实施例的由图4的变量节点单元的初始处理单元开始解码操作的初始迭代的方法的示图。
图7A和图7B是示出根据实施例的由图4的变量节点单元执行解码操作的方法的示图。
图8A至图8C是示出根据实施例的由图4的变量节点单元执行解码操作的方法的示图。
图9是示出根据实施例的操作图1的错误校正装置的方法的流程图。
图10是示出根据实施例的操作图3的变量节点单元的方法的流程图。
图11A和图11B是示出根据实施例的操作图6A和图6B的变量节点单元的方法的流程图。
图12是示出根据实施例的操作图7的变量节点单元的方法的流程图。
图13A和图13B是示出根据实施例的操作图8A和图8C的变量节点单元的方法的流程图。
图14A是示出根据实施例的错误校正装置20的框图。
图14B是示出根据实施例的图14A的通道可靠性值确定单元所参考的通道可靠性值表的示图。
图15A是详细示出根据实施例的图14A的变量节点单元的框图。
图15B是示出根据实施例的图15A的预放大单元所参考的预放大表的示图。
图16是示出根据实施例的由图3的变量节点单元在重复迭代的同时使用不同的放大表和/或不同的缩小表的方法的示图。
图17是示出根据实施例的由变量节点单元的放大单元使用不同的放大表的方法的示图。
图18是示出根据实施例的由变量节点单元的放大单元使用不同的放大表的方法的示图。
图19是示出根据实施例的由变量节点单元的缩小单元使用不同的缩小表的方法的示图。
图20是示出根据实施例的由变量节点单元使用不同的放大表和不同的缩小表的方法的示图。
图21是示出根据实施例的存储器系统的框图。
图22是用于描述根据实施例的从图19的存储器区域的存储器单元中读取硬判决位和软判决位组的方法的示图。
图23是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图24是示出根据实施例的包括存储器系统的数据处理系统的示图。
图25是示出根据实施例的包括存储器系统的数据处理系统的示图。
图26是示出根据实施例的包括存储器系统的网络系统的示图。
图27是示出根据实施例的包括在存储器系统中的非易失性存储器装置的框图。
具体实施方式
将通过参照附图描述的以下实施例来描述本公开的优点和特征及其实施方法。然而,本公开可以不同的形式实现,并且不应被解释为限于本文阐述的实施例。提供本实施例仅仅是为了详细描述本公开,使得本公开所属领域的技术人员可容易地实现本公开的技术理念。
在附图中,本公开的示例性实施例不限于所示的特定形式,而是可出于清楚的目的而进行夸大。在本说明书中使用了特定的术语。然而,这些术语用于描述本公开的目的,并且不用于限制在所附权利要求中公开的本公开的含义或范围的目的。在说明书中,诸如“和/或”的表述表示在该表述之前/之后列出的部件中的至少一个。将理解的是,当元件被称为“连接”或“联接”至另一元件时,它可以直接连接或联接至其它元件,或可以存在中间元件。除非特别提及,否则单数形式的术语可包括复数形式。将进一步理解的是,本说明书中使用的术语“包括或包含”和/或“包括有或包含有”指明存在所陈述的部件、步骤、操作和元件,但不排除存在或添加一个或多个其它部件、步骤、操作和元件。
在下文中,将参照附图详细描述实施例。
图1是示意性示出根据实施例的错误校正装置10的框图。
参照图1,错误校正装置10可校正包括在硬判决位HDD中的错误位,以输出经错误校正的位CHDD。错误校正装置10还可接收与各个硬判决位HDD相对应的软判决位组SDD,并且参考软判决位组SDD以校正包括在硬判决位HDD中的错误位。例如,如稍后参照图3所述,单个硬判决位HD可对应于单个软判决位组SD。每一个软判决位组SD可指示相应的硬判决位HD的可靠度。如稍后参照图3所述,每一个软判决位组SD可由一个或多个软判决位形成。
详细地,错误校正装置10可包括通道可靠性值确定单元11和解码器12。
通道可靠性值确定单元11可从错误校正装置10的外部接收硬判决位HDD和软判决位组SDD。通道可靠性值确定单元11可基于硬判决位HDD和软判决位组SDD来确定硬判决位HDD的通道可靠性值CNVD,并且将确定的通道可靠性值CNVD传输到解码器12。因为图3的每一个通道可靠性值CNV基于相应的软判决位组SD生成,所以通道可靠性值CNV可指示相应的硬判决位HD的可靠度。然而,如下面将描述的,根据解码器12的内部单元的处理能力,可确定通道可靠性值CNVD具有预定的位精度。
解码器12可从通道可靠性值确定单元11接收硬判决位HDD和通道可靠性值CNVD,并且基于通道可靠性值CNVD对硬判决位HDD执行解码操作。如果解码操作已成功,则解码器12可输出经错误校正的位CHDD。虽然未示出,但如果解码操作已失败,则解码器12可输出例如解码失败报告。
虽然作为示例性实施例,图1示出了解码器12从通道可靠性值确定单元11接收硬判决位HDD,但在一些实施例中,解码器12可直接从错误校正装置10的外部接收硬判决位HDD,而不经过通道可靠性值确定单元11。
解码器12可执行解码操作,例如,基于二进制低密度奇偶校验(LDPC)码、非二进制LDPC码或turbo乘积码。然而,本公开的实施例不限于此。
如下文将详细描述的,虽然通道可靠性值CNVD的位精度根据解码器12的内部单元的处理能力而受到限制,但解码器12可临时放大通道可靠性值CNVD的位精度,并且基于通道可靠性值CNVD的经放大的位精度来执行解码操作。如果放大了位精度,则通道可靠性值CNVD可更准确地反映硬判决位HDD的概率特性。因此,可增强解码器12的解码操作的性能。
图2是示出根据实施例的包括在解码器12中的变量节点单元VN和校验节点单元CN的框图。
参照图2,解码器12可包括多个变量节点单元VN和多个校验节点单元CN。
校验节点单元CN和变量节点单元VN可根据应用于解码器12的错误校正算法或奇偶校验矩阵通过连接器CNT来联接。变量节点单元VN中的每一个可基于应用于解码器12的错误校正算法或奇偶校验矩阵来与一个或多个校验节点单元CN联接。连接器CNT可包括解码器12的变量节点单元VN与校验节点单元CN之间的所有连接。
变量节点单元VN可分别接收和处理输入到解码器12的图1的硬判决位HDD,并且可输出经错误校正的位CHDD。详细地,变量节点单元VN中的每一个可接收输入到解码器12的硬判决位HDD之中相应的硬判决位HD。变量节点单元VN中的每一个可通过与联接到该变量节点单元的校验节点单元CN交换硬判决位HD的可靠性值来校正硬判决位HD,并且输出图3的经错误校正的位CHD。
图3是更详细地示出根据实施例的图1的错误校正装置10的框图。为了简化说明,图3详细示出了关于一个硬判决位HD进行操作的错误校正装置10的配置。硬判决位HD可以是输入到错误校正装置10的多个硬判决位HDD中的一个。错误校正装置10可以与处理图3中的硬判决位HD的方法相同的方式处理多个硬判决位HDD中的每一个。例如,错误校正装置10可根据处理图3中的硬判决位HD的方法同时处理多个硬判决位HDD。
参照图3,错误校正装置10可包括图1的通道可靠性值确定单元11和解码器12。
通道可靠性值确定单元11可从错误校正装置10的外部接收硬判决位HD和软判决位组SDD(参见图1)之中相应的软判决位组SD。软判决位组SD可指示硬判决位HD的可靠度。软判决位组SDD可由一个或多个软判决位形成。
通道可靠性值确定单元11可基于软判决位组SD确定硬判决位HD的通道可靠性值CNV,并且将硬判决位HD和通道可靠性值CNV传输到解码器12。通道可靠性值CNV可以是参照图1描述的通道可靠性值CNVD之中与硬判决位HD相对应的值。通道可靠性值确定单元11可参考通道可靠性值表CNVTB来确定映射到软判决位组SD的通道可靠性值CNV。
通道可靠性值表CNVTB可包括与作为输入值的软判决位组SD的值相对应的作为输出值的通道可靠性值CNV。通道可靠性值表CNVTB可包括软判决位组SD的多个可能值,其每一个映射到相应的通道可靠性值CNV。因此,通道可靠性值确定单元11可基于通道可靠性值表CNVTB来确定与软判决位组SD的输入值相对应的通道可靠性值CNV。
如上所述,包括在通道可靠性值表CNVTB中的通道可靠性值CNV可具有预定的位精度。将参照图5详细描述通道可靠性值表CNVTB和通道可靠性值确定单元11的操作方法。
解码器12可接收硬判决位HD和通道可靠性值CNV,并且通过基于通道可靠性值CNV对硬判决位HD执行解码操作来输出经错误校正的位CHD。如果硬判决位HD是错误位,则解码器12可翻转硬判决位HD并输出翻转后的硬判决位HD作为经错误校正的位CHD。如果硬判决位HD不是错误位,则解码器12可输出硬判决位HD作为经错误校正的位CHD。
虽然作为示例性实施例,图3示出了解码器12从通道可靠性值确定单元11接收硬判决位HD,但在一些实施例中,解码器12可直接从错误校正装置10的外部接收硬判决位HD,而不经过通道可靠性值确定单元11。
解码器12可包括变量节点单元VN1、校验节点单元CN1和CN2以及校正子(syndrome)校验单元SDRU。校验节点单元CN1和CN2以及校正子校验单元SDRU可联接到变量节点单元VN1。图3示出了变量节点单元VN1与两个校验节点单元CN1和CN2联接作为示例。在一些实施例中,变量节点单元VN1可基于应用于解码器12的错误校正算法或奇偶校验矩阵来与一个或多个校验节点单元联接。
变量节点单元VN1可接收硬判决位HD和通道可靠性值CNV,并且通过执行解码操作来输出经错误校正的位CHD。
变量节点单元VN1可在解码操作中执行一次或多次迭代。每次迭代可包括:基于在变量节点单元VN1与校验节点单元CN1和CN2之间交换的通道可靠性值CNV、参考可靠性值RFV1和RFV2以及校验可靠性值CKV1和CKV2来更新硬判决位HD的步骤,以及通过将更新后的硬判决位UDHD传输到校正子校验单元SDRU来确定对更新后的硬判决位UDHD的解码操作是否成功的步骤。
如果解码操作已成功,则变量节点单元VN1可输出更新后的硬判决位UDHD作为经错误校正的位CHD,并且终止解码操作而不再执行迭代。另一方面,如果解码操作已失败,则变量节点单元VN1可执行新的迭代。直到解码操作成功之前,变量节点单元VN1可执行迭代直到达到预定的最大迭代计数。如果即使迭代已经被重复达到预定的最大迭代计数,解码操作仍然失败,则变量节点单元VN1可终止解码操作并输出解码失败报告。
在每一次迭代期间,变量节点单元VN1可在与校验节点单元CN1和CN2交换参考可靠性值RFV1和RFV2以及校验可靠性值CKV1和CKV2的同时,通过预定的计算操作来更新硬判决位HD。可确定参考可靠性值RFV1和RFV2以及校验可靠性值CKV1和CKV2具有取决于校验节点单元CN1和CN2的处理能力的位精度。然而,变量节点单元VN1可临时放大校验可靠性值CKV1和CKV2的位精度,并且基于校验可靠性值CKV1和CKV2的经放大的位精度来执行解码操作。将参照图4详细描述变量节点单元VN1的配置及其操作方法。
在每一次迭代期间,校验节点单元CN1和CN2可分别从变量节点单元VN1接收参考可靠性值RFV1和RFV2,并且分别将校验可靠性值CKV1和CKV2传输到变量节点单元VN1。虽然未示出,但在每一次迭代期间,校验节点单元CN1和CN2中的每一个可进一步从联接到该校验节点单元的、包括变量节点单元VN1的一个或多个变量节点单元接收参考可靠性值。在这种情况下,校验节点单元CN1和CN2中的每一个可基于接收的参考可靠性值来确定校验可靠性值,并且将确定的校验可靠性值传输到变量节点单元VN1。更具体地,校验节点单元CN1和CN2中的每一个可基于接收的参考可靠性值来确定与一个或多个变量节点单元中的每一个相对应的校验可靠性值,并且将确定的校验可靠性值传输到一个或多个变量节点单元之中相应的变量节点单元。详细地,基于接收的参考可靠性值,校验节点单元CN1和CN2中的每一个可确定校验可靠性值作为硬判决位HD的新可靠性值。
例如,在解码器12根据最小和算法进行操作的情况下,校验节点单元CN1和CN2中的每一个可通过以下来确定变量节点单元VN1的校验可靠性值:确定接收的参考可靠性值中的、除从变量节点单元VN1传输的参考可靠性值之外的最小值作为校验可靠性值的大小,并且确定校验可靠性值的符号,使得联接到其的变量节点单元的硬判决位的二进制和为“0”。校验节点单元的操作方法可遵循常规技术。因此,将省略对其的详细说明。
在每一次迭代期间,校正子校验单元SDRU可从变量节点单元VN1接收更新的硬判决位UDHD。另外,在每一次迭代期间,校正子校验单元SDRU可从包括在解码器12中的多个变量节点单元接收各个更新的硬判决位。校正子校验单元SDRU可通过基于应用于解码器12的错误校正算法或奇偶校验矩阵对更新的硬判决位执行校正子校验操作来计算校正子矢量。当校正子矢量仅包括“0”时,校正子校验单元SDRU可确定解码操作已成功。当校正子矢量包括至少一个“1”时,校正子校验单元SDRU可确定解码操作已失败。校正子校验单元SDRU可将解码操作的结果传输到变量节点单元VN1。校正子校验单元SDRU的操作方法可遵循常规技术。因此,将省略对其的详细说明。
图4是详细示出根据实施例的图3的变量节点单元VN1的框图。
参照图4,变量节点单元VN1可包括初始处理单元INTU、放大单元UPSU、计算单元CALU和缩小单元DWSU。
初始处理单元INTU可从图3的通道可靠性值确定单元11接收通道可靠性值CNV,并且开始解码操作的初始迭代。在初始迭代期间,初始处理单元INTU可基于通道可靠性值CNV来确定参考可靠性值RFV1和RFV2,并且将确定的参考可靠性值RFV1和RFV2分别传输到图3的校验节点单元CN1和CN2。
在实施例中,初始处理单元INTU可将通道可靠性值CNV确定为参考可靠性值RFV1和RFV2。在实施例中,初始处理单元INTU可参考初始表INTTB来确定参考可靠性值RFV1和RFV2。将参照图6A和图6B详细描述初始处理单元INTU的操作方法。
放大单元UPSU可在初始迭代和/或每一次后续迭代期间从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2。放大单元UPSU可基于放大表UPSTB确定映射到通道可靠性值CNV的经放大通道可靠性值UCNV,以及映射到校验可靠性值CKV1和CKV2的经放大校验可靠性值UCKV1和UCKV2,并且可将它们传输到计算单元CALU。放大单元UPSU可基于放大表UPSTB来放大通道可靠性值CNV的位精度和校验可靠性值CKV1和CKV2的位精度。
放大单元UPSU可在执行初始迭代时接收并存储通道可靠性值CNV,然后在每一次后续迭代期间使用存储的通道可靠性值CNV。将参照图7详细描述放大单元UPSU的操作方法。
在初始迭代和/或每一次后续迭代期间,计算单元CALU可基于经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2来更新硬判决位HD,并且将更新后的硬判决位UDHD传输到图3的校正子校验单元SDRU。如果计算单元CALU从校正子校验单元SDRU接收到解码操作已成功的报告,则计算单元CALU可输出更新的硬判决位UDHD作为经错误校正的位CHD,并且终止解码操作。将参照图7详细描述计算单元CALU的这种操作方法。
另一方面,如果计算单元CALU从校正子校验单元SDRU接收到解码操作已失败的报告,则计算单元CALU可将当前迭代计数与最大迭代计数进行比较并开始后续迭代。在后续迭代期间,计算单元CALU可基于在在前迭代期间已确定的经放大通道可靠性值UCNV以及经放大校验可靠性值UCKV1和UCKV2,确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2,并且将确定的经放大参考可靠性值URFV1和URFV2传输到缩小单元DWSU。将参照图8A和图8B详细描述计算单元CALU的这种操作方法。
缩小单元DWSU可在除初始迭代之外的每一次后续迭代期间从计算单元CALU接收分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2。缩小单元DWSU可基于缩小表DWSTB确定映射到经放大参考可靠性值URFV1和URFV2的参考可靠性值RFV1和RFV2,并且将确定的参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。换言之,缩小单元DWSU可基于缩小表DWSTB来缩小经放大参考可靠性值URFV1和URFV2的位精度。将参照图8A和图8B详细描述缩小单元DWSU的操作方法。
可从错误校正装置10的外部提供图3的通道可靠性值表CNVTB和图4的初始表INTTB、放大表UPSTB及缩小表DWSTB并将其存储在错误校正装置10的内部存储器中,或者可存储在错误校正装置10的内部非易失性表存储器中并且通过从非易失性表存储器中读取来进行使用。
图5是示出根据实施例的图3的通道可靠性值确定单元11所参考的通道可靠性值表CNVTB的示图。在下文中,将参照图5描述通道可靠性值表CNVTB的配置和由通道可靠性值确定单元11参考通道可靠性值表CNVTB确定通道可靠性值CNV的方法。
参照图5,通道可靠性值表CNVTB可包括与作为输入值的软判决位组SD的值相对应的、作为输出值的通道可靠性值CNV。软判决位组SD可对应于硬判决位HD。通道可靠性值表CNVTB可包括软判决位组SD的多个可能值SD1至SD8,多个可能值SD1至SD8中的每一个映射到相应的通道可靠性值CNV。
软判决位组SD的输入值SD1至SD8可以是可作为软判决位组SD输入到通道可靠性值确定单元11的所有值。
可根据软判决位组SD的值将通道可靠性值CNV确定为输出值。通道可靠性值CNV可具有范围从0到3的大小以及“-”或“+”的符号。通道可靠性值CNV的大小可指示硬判决位HD的可靠性,并且其符号可指示硬判决位HD是为1还是为0。
因此,通道可靠性值确定单元11可确定在通道可靠性值表CNVTB中映射到软判决位组SD的输入值(即,值SD1至SD8中的一个)的输出值或硬判决位HD的通道可靠性值CNV。例如,当硬判决位HD为1且软判决位组SD具有输入值SD3时,通道可靠性值确定单元11可根据通道可靠性值表CNVTB确定映射到输入值SD3的输出值或通道可靠性值CNV为-1。
包括在通道可靠性值表CNVTB中的通道可靠性值CNV可以是以下[等式1]的对数似然比(下文中,称为“LLR”)的估计值。在[等式1]中,x可表示输入到通道的值,y可表示从通道到解码器12接收的值。换言之,y可指示硬判决位HD,并且x可指示硬判决位HD的校正值(即,经错误校正的位CHD)。
[等式1]LLR=log(P(y|x=0)/P(y|x=1))。
根据[等式1]难以计算实际的LLR,并且如果实际的LLR作为通道可靠性值CNV输入到解码器12,则解码器12的计算可能过于复杂。因此,为简化解码器12的计算,可将代替实际LLR的预定整数,例如如图5所示的范围从-3到3的整数,设置为通道可靠性值CNV。此处,可选择通道可靠性值CNV以具有预定的位精度。
位精度可表示图2的解码器12中的变量节点单元中的每一个与校验节点单元中的每一个之间的信息传输能力。可根据校验节点单元的处理/计算能力来确定位精度。当校验节点单元的处理/计算能力增加时,可增加位精度。校验节点单元的处理/计算能力与解码性能直接相关。因此,随着位精度的增加,解码器12的性能可增强。
换言之,解码器12的位精度可指示在每一次迭代期间能够在每一个变量节点单元和每一个校验节点单元之间传输的位的数量。当解码器12的位精度是p位并且通道可靠性值CNV的位精度也被确定为p位时,包括在通道可靠性值表CNVTB中的通道可靠性值CNV中的每一个可具有范围从0到(2^(p-1))-1的大小。例如,当位精度为3位时,如图5所示,可使用2位将通道可靠性值CNV限制为具有范围从0到3的大小。换言之,位精度的3位中的2位可用于指示通道可靠性值CNV的大小信息。换言之,位精度的3位中的1位可用于指示与通道可靠性值CNV的符号是为“+”还是为“-”相关的符号信息。
图6A至图6C是示出根据实施例的由图4的变量节点单元VN1的初始处理单元INTU开始解码操作的初始迭代的方法的示图。
参照图6A,初始处理单元INTU可从图3的通道可靠性值确定单元11接收通道可靠性值CNV,并且基于通道可靠性值CNV开始对硬判决位HD的解码操作的初始迭代。
在初始迭代期间,初始处理单元INTU可将通道可靠性值CNV作为参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。换言之,在解码操作的初始迭代期间,因为包括在变量节点单元VN1中的信息仅是通道可靠性值CNV,所以初始处理单元INTU可将通道可靠性值CNV传输到校验节点单元CN1和CN2。
在实施例中,参照图6B,初始处理单元INTU可从通道可靠性值确定单元11接收通道可靠性值CNV,参考初始表INTTB确定映射到通道可靠性值CNV的参考可靠性值RFV1和RFV2,并且将确定的参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。
图6C示出了初始处理单元INTU所参考的初始表INTTB。初始表INTTB可包括分别映射到通道可靠性值CNV的输入值IN的输出值OUT。如参照图5所述,初始表INTTB的输入值IN可以是从通道可靠性值确定单元11提供的通道可靠性值CNV。可根据输入值IN或通道可靠性值CNV来选择初始表INTTB的输出值OUT作为参考可靠性值RFV1和REV2。例如,通道可靠性值CNV的输入值IN和输出值OUT可分别彼此相同。例如,当通道可靠性值CNV为-2时,初始处理单元INTU可确定输出值OUT-2作为参考可靠性值RFV1和RFV2中的每一个。
然后,校验节点单元CN1和CN2可基于参考可靠性值RFV1和RFV2来确定图4的校验可靠性值CKV1和CKV2,并且将确定的校验可靠性值CKV1和CKV2分别传输到变量节点单元VN1。以下描述涉及在初始迭代和/或每一次后续迭代期间,在变量节点单元VN1已从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2之后操作变量节点单元VN1的方法。
图7A和图7B是示出根据实施例的由图4的变量节点单元VN1执行解码操作的方法的示图。
参照图7A,放大单元UPSU可在初始迭代和/或每一次后续迭代期间从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2。虽然图7A示出了变量节点单元VN1还接收通道可靠性值CNV和硬判决位HD,但变量节点单元VN1可能不总是在每一次迭代期间接收通道可靠性值CNV和硬判决位HD。例如,变量节点单元VN1可在初始迭代开始时接收并存储通道可靠性值CNV和硬判决位HD,以便在每一次迭代期间使用它们。
基于放大表UPSTB,放大单元UPSU可确定映射到通道可靠性值CNV的经放大通道可靠性值UCNV,以及映射到校验可靠性值CKV1和CKV2的经放大校验可靠性值UCKV1和UCKV2。放大单元UPSU可将经放大通道可靠性值UCNV以及经放大校验可靠性值UCKV1和UCKV2传输到计算单元CALU。
图7B示出了放大表UPSTB。放大表UPSTB可包括分别映射到输入值IN的输出值OUT。放大表UPSTB的输入值IN可以是通道可靠性值CNV与校验可靠性值CKV1和CKV2之中的一个。对应于放大表UPSTB的输入值IN的输出值OUT可以是对应于输入值IN的经放大通道可靠性值UCNV以及经放大校验可靠性值UCKV1和UCKV2之中的一个。
例如,当通道可靠性值CNV为-2时,放大单元UPSU可参考放大表UPSTB,确定映射到输入值IN-2的输出值OUT-9为经放大通道可靠性值UCNV。可以类似的方式确定经放大校验可靠性值UCKV1和UCKV2。因为通道可靠性值CNV与校验可靠性值CKV1和CKV2都被确定为具有相同的位精度,所以放大表UPSTB的输入值IN可以是通道可靠性值CNV与校验可靠性值CKV1和CKV2之中的一个。
放大表UPSTB的输出值OUT可以是作为[等式1]的LLR的倍数的整数。换言之,放大表UPSTB的输出值OUT的比率可与LLR的比率相同。基于放大表UPSTB,将通道可靠性值CNV与校验可靠性值CKV1和CKV2转换成经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2可临时放大通道可靠性值CNV与校验可靠性值CKV1和CKV2的位精度,以保持LLR的比率。
返回参照图7A,计算单元CALU可基于经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2来确定最终可靠性值FV。例如,当解码器12根据最小和算法进行操作时,计算单元CALU可通过对经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2进行求和来确定最终可靠性值FV。
因此,计算单元CALU可在保持实际LLR的比率而不限制位精度的同时确定最终可靠性值FV,从而防止在确定限于预定位精度的最终可靠性值FV时出现失真。换言之,根据本公开的最终可靠性值FV可更准确地指示硬判决位HD的可靠性。此外,根据本公开,因为放大单元UPSU和缩小单元DWSU被包括在变量节点单元VN1中而不改变现有校验节点单元CN的结构,因此可增强解码操作的性能。
此后,计算单元CALU可基于最终可靠性值FV来更新硬判决位HD,以生成更新后的硬判决位UDHD。例如,当解码器12根据最小和算法进行操作时,计算单元CALU可基于最终可靠性值FV的符号来更新硬判决位HD。详细地,当最终可靠性值FV的符号为负时,计算单元CALU可将硬判决位HD更新为1。当最终可靠性值FV的符号为正时,计算单元CALU可将硬判决位HD更新为0。
计算单元CALU可将更新后的硬判决位UDHD传输到校正子校验单元SDRU。
校正子校验单元SDRU不仅可从变量节点单元VN1接收更新后的硬判决位UDHD,还可从包括在解码器12中的多个变量节点单元接收更新后的硬判决位。校正子校验单元SDRU可对更新后的硬判决位执行校正子校验操作。校正子校验单元SDRU可基于校正子校验操作将解码操作的结果传输到计算单元CALU。
当解码操作已成功时,计算单元CALU可输出更新后的硬判决位UDHD作为经错误校正的位CHD。另一方面,如下文将描述的,当解码操作已失败时,如果当前迭代计数小于最大迭代计数,则计算单元CALU可开始后续迭代。以下描述涉及由变量节点单元VN1开始除初始迭代之外的每一次后续迭代的方法。
图8A至图8C是示出根据实施例的由图4的变量节点单元VN1执行解码操作的方法的示图。
参照图8A,在每一次迭代期间,计算单元CALU可从校正子校验单元SDRU接收解码操作已失败的报告,并且开始后续迭代。计算单元CALU可基于在在前迭代期间已确定的经放大通道可靠性值UCNV以及经放大校验可靠性值UCKV1和UCKV2,确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2,并且将确定的经放大参考可靠性值URFV1和URFV2传输到缩小单元DWSU。
例如,当解码器12根据最小和算法进行操作时,计算单元CALU可通过对在在前迭代期间关于各个校验节点单元CN1和CN2接收的外部信息进行放大和求和,来确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2。通常,每一个校验节点单元的外部信息可包括通道可靠性值CNV和在在前迭代期间传输到变量节点单元VN1的校验可靠性值之中、除从该校验节点单元传输的校验可靠性值之外的校验可靠性值。例如,参照图7,校验节点单元CN1的外部信息可包括通道可靠性值CNV和校验节点单元CN2的校验可靠性值CKV2,校验节点单元CN2的外部信息可包括通道可靠性值CNV和校验节点单元CN1的校验可靠性值CKV1。
返回参照图8A,计算单元CALU可将关于校验节点单元CN1和CN2中的每一个的经放大外部信息的总和确定为对应于校验节点单元的经放大参考可靠性值。
详细地,校验节点单元CN1的经放大外部信息可包括经放大通道可靠性值UCNV和经放大校验可靠性值UCKV2。因此,计算单元CALU可通过对经放大通道可靠性值UCNV与经放大校验可靠性值UCKV2求和来确定对应于校验节点单元CN1的经放大参考可靠性值URFV1。
此外,校验节点单元CN2的经放大外部信息可包括经放大通道可靠性值UCNV和经放大校验可靠性值UCKV1。因此,计算单元CALU可通过对经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1求和来确定对应于校验节点单元CN2的经放大参考可靠性值URFV2。
在实施例中,计算单元CALU可通过选择性地将经放大通道可靠性值UCNV和/或经放大校验可靠性值UCKV1和UCKV2缩放/乘以常数,并且选择性地将它们的总和值缩放/乘以常数来确定经放大参考可靠性值URFV1和URFV2。
随后,缩小单元DWSU可基于缩小表DWSTB确定映射到经放大参考可靠性值URFV1和URFV2的参考可靠性值RFV1和RFV2,并且将确定的参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。
图8B示出了缩小表DWSTB。缩小表DWSTB可包括分别映射到输入值IN的范围的输出值OUT。缩小表DWSTB的输入值IN可以是经放大参考可靠性值URFV1和URFV2之间的任意一个。根据作为经放大参考可靠性值URFV1和URFV2之间的输入值IN的相应的一个,缩小表DWSTB的输出值OUT可以是参考可靠性值RFV1和RFV2之间的任意一个。
例如,当输入值IN或经放大参考可靠性值URFV1为-5时,缩小单元DWSU可参考缩小表DWSTB,将映射到包括输入值IN-5的从-6到-3的范围的输出值OUT-1确定为参考可靠性值RFV1。
在实施例中,缩小表DWSTB的输入值IN的范围可分别包括图7B的放大表UPSTB的输出值。
因为缩小表DWSTB的输出值OUT是将被传输到校验节点单元CN1和CN2的参考可靠性值RFV1和RFV2,所以可确定输出值OUT具有校验节点单元CN1和CN2的位精度。换言之,缩小表DWSTB的输出值OUT可以具有与图5的通道可靠性值表CNVTB的通道可靠性值CNV的输出值OUT的大小范围相同的大小范围。
返回参照图8A,计算单元CALU可在保持LLR的比率而不限制位精度的同时确定经放大参考可靠性值URFV1和URFV2。缩小单元DWSU可缩小经放大参考可靠性值URFV1和URFV2,使得它们具有校验节点单元CN1和CN2的位精度。因此,当在预定位精度的限制下确定参考可靠性值RFV1和RFV2时,可防止出现失真。
此后,校验节点单元CN1和CN2可基于参考可靠性值RFV1和RFV2来确定图4的校验可靠性值CKV1和CKV2,并且将确定的校验可靠性值CKV1和CKV2分别传输到变量节点单元VN1。变量节点单元VN1可从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2,并且执行图7A的操作。
当比较图8C和图8A时,计算单元CALU的计算方法存在差异。首先参照图8C描述与图8A的差异。计算单元CALU可通过从最终可靠性值FV中分别减去校验节点单元CN1和CN2的经放大校验可靠性值UCKV1和UCKV2来确定与校验节点单元CN1和CN2相对应的经放大参考可靠性值URFV1和URFV2。换言之,因为最终可靠性值FV是经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2的总和,所以由图8C的计算单元CALU确定的经放大参考可靠性值URFV1和URFV2可与由图8A的计算单元CALU确定的经放大参考可靠性值URFV1和URFV2相同。图8C中的其它操作与图8A的操作基本相同。因此,将省略对其的详细说明。
图9是示出根据实施例的操作图1的错误校正装置10的方法的流程图。
参照图9,在步骤S110中,通道可靠性值确定单元11可接收硬判决位HDD和软判决位组SDD。软判决位组SDD可分别对应于硬判决位HDD。每一个软判决位组SD可指示相应的硬判决位HD的可靠度。
在步骤S120中,通道可靠性值确定单元11可基于硬判决位HDD和软判决位组SDD来确定硬判决位HDD的通道可靠性值CNVD。通道可靠性值CNVD可分别对应于软判决位组SDD。如参照图5所述,可基于相应的软判决位组SD和硬判决位HD来确定每一个通道可靠性值CNV。通道可靠性值确定单元11可将硬判决位HDD和通道可靠性值CNVD传输到解码器12。
在步骤S130中,解码器12可接收硬判决位HDD和通道可靠性值CNVD,并且基于通道可靠性值CNVD对硬判决位HDD执行解码操作。
在步骤S140中,解码器12可根据解码操作的结果输出经错误校正的位CHDD。详细地,如果解码操作已成功,则解码器12可输出经错误校正的位CHDD。另一方面,如果解码操作已失败,则解码器12可输出解码失败报告。
图10是示出根据实施例的操作图3的变量节点单元VN1的方法的流程图。图10的进程可被包括在图9的对硬判决位HDD执行解码操作的步骤S130中。当执行解码操作时,图2的多个变量节点单元中的每一个,代表性地,图3的变量节点单元VN1可根据图10的进程进行操作。
参照图10,在步骤S210中,变量节点单元VN1可接收硬判决位HD和通道可靠性值CNV。
在步骤S220中,变量节点单元VN1可将迭代计数“i”设置为1。
在步骤S230中,如参照图6A至图6C所述,变量节点单元VN1可基于通道可靠性值CNV来确定参考可靠性值RFV1和RFV2,并且将确定的参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。校验节点单元CN1和CN2中的每一个可从联接到该校验节点单元的一个或多个变量节点单元接收参考可靠性值,并且基于参考可靠性值来确定校验可靠性值。
在步骤S240中,如参照图7A和图7B所述,变量节点单元VN1可从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2,并且通过放大和计算通道可靠性值CNV与校验可靠性值CKV1和CKV2的位精度来更新硬判决位HD。详细地,变量节点单元VN1可通过放大和计算通道可靠性值CNV与校验可靠性值CKV1和CKV2的位精度来确定最终可靠性值FV,并且根据最终可靠性值FV来更新硬判决位HD。
在步骤S250中,如参照图3、图4和图7A所述,变量节点单元VN1可将更新后的硬判决位UDHD传输到校正子校验单元SDRU。校正子校验单元SDRU可从包括在解码器12中的变量节点单元接收更新后的硬判决位,通过对更新后的硬判决位执行校正子校验操作来确定解码操作的结果,并且将解码操作的结果传输到变量节点单元。
在步骤S260中,如参照图3、图4和图7A所述,变量节点单元VN1可确定解码操作是否已成功。如果解码操作已成功,则进程继续进行到步骤S270。然而,如果解码操作已失败,则进程可继续进行到步骤S280。
在步骤S270中,如果解码操作已成功,则变量节点单元VN1可输出更新后的硬判决位UDHD作为经错误校正的位CHD。因此,可终止该进程。
在步骤S280中,如果解码操作已失败,则变量节点单元VN1可确定迭代计数“i”是否已达到最大迭代计数。在迭代计数“i”已达到最大迭代计数的情况下,可终止该进程。在这种情况下,解码器12可输出解码失败报告。在迭代计数“i”尚未达到最大迭代计数的情况下,进程可继续进行到步骤S290。
在步骤S290中,变量节点单元VN1可增加迭代计数“i”。换言之,可开始解码操作的新迭代。
在步骤S300中,如参照图8A至8C所述,变量节点单元VN1可通过放大和计算在前迭代的通道可靠性值CNV与校验可靠性值CKV1和CKV2的位精度来确定分别对应于校验节点单元CN1和CN2的参考可靠性值RFV1和RFV2,并且将确定的参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。校验节点单元CN1和CN2中的每一个可从联接到该校验节点单元的一个或多个变量节点单元接收参考可靠性值,并且基于参考可靠性值来确定校验可靠性值CKV1、CKV2。然后,进程可继续进行到步骤S240。换言之,变量节点单元VN1可在新迭代期间重复步骤S240至S290。
为了在步骤S300中获得经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2,变量节点单元VN1可在在前迭代中基于放大表UPSTB来分别放大步骤S210和S230中的通道可靠性值CNV与校验可靠性值CKV1和CKV2的位精度,或者可在在前迭代中重新使用步骤S240中的经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2。
图11A和图11B是示出根据实施例的操作图6A至图6C的变量节点单元VN1的方法的流程图。图11A和图11B的进程可以是图10的步骤S230的详细实施例。图11A和图11B的进程可随变量节点单元VN1开始解码操作的初始迭代而进行。
参照图11A,在步骤S311中,变量节点单元VN1的初始处理单元INTU可将通道可靠性值CNV作为参考可靠性值RFV1和RFV2中的每一个传输到校验节点单元CN1和CN2。
参照图11B,在步骤S321中,初始处理单元INTU可基于初始表INTTB来确定映射到通道可靠性值CNV的参考可靠性值RFV1和RFV2。
在步骤S322中,初始处理单元INTU可将参考可靠性值RFV1和RFV2传输到校验节点单元CN1和CN2。
图12是示出根据实施例的操作图7A和图7B的变量节点单元VN1的方法的流程图。图12的进程可以是图10的步骤S240的详细实施例。当变量节点单元VN1在初始迭代和/或每一次后续迭代期间从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2时,可执行图12的进程。
参照图12,在步骤S410中,放大单元UPSU可从校验节点单元CN1和CN2接收校验可靠性值CKV1和CKV2。
在步骤S420中,放大单元UPSU可基于放大表UPSTB来确定分别映射到通道可靠性值CNV与校验可靠性值CKV1和CKV2的经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2。
在步骤S430中,计算单元CALU可基于经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2来确定最终可靠性值FV。例如,当解码器12根据最小和算法进行操作时,计算单元CALU可通过对经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2进行求和来确定最终可靠性值FV。
在步骤S440中,计算单元CALU可基于最终可靠性值FV来更新硬判决位HD。例如,当解码器12根据最小和算法进行操作时,计算单元CALU可基于最终可靠性值FV的符号来更新硬判决位HD。
图13A和图13B是示出根据实施例的操作图8A至图8C的变量节点单元VN1的方法的流程图。图13A和图13B的进程可以是图10的步骤S300的详细实施例。图13A和图13B的进程可在变量节点单元VN1开始除初始迭代之外的每一次后续迭代时继续进行。
参照图13A,在步骤S511中,计算单元CALU可基于在前迭代的经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2来确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2。计算单元CALU可使用在图12的步骤S420中由放大单元UPSU确定的值作为在前迭代的经放大通道可靠性值UCNV与经放大校验可靠性值UCKV1和UCKV2。计算单元CALU可对校验节点单元CN1和CN2中的每一个的外部信息求和,从而确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2。
在步骤S512中,缩小单元DWSU可基于缩小表DWSTB来确定映射到经放大参考可靠性值URFV1和URFV2的参考可靠性值RFV1和RFV2。
在步骤S513中,缩小单元DWSU可将参考可靠性值RFV1和RFV2分别传输到校验节点单元CN1和CN2。
参照图13B,在步骤S521中,计算单元CALU可基于在前迭代的最终可靠性值FV和经放大校验可靠性值UCKV1和UCKV2来确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2。计算单元CALU可使用在图12的步骤S430中由计算单元CALU确定的值作为在前迭代的最终可靠性值FV。计算单元CALU可使用在图12的步骤S420中由放大单元UPSU确定的值作为在前迭代的经放大校验可靠性值UCKV1和UCKV2。计算单元CALU可从相应的校验节点单元的最终可靠性值FV中减去校验节点单元CN1和CN2的经放大校验可靠性值UCKV1和UCKV2中的每一个,从而确定分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2。
在步骤S522中,缩小单元DWSU可基于缩小表DWSTB来确定映射到经放大参考可靠性值URFV1和URFV2的参考可靠性值RFV1和RFV2。
在步骤S523中,缩小单元DWSU可将参考可靠性值RFV1和RFV2分别传输到校验节点单元CN1和CN2。
图14A是示出根据实施例的错误校正装置20的框图。
参照图14A,错误校正装置20可包括通道可靠性值确定单元21和解码器22。
通道可靠性值确定单元21可基于相应的软判决位组SD来确定硬判决位HD的外部通道可靠性值SCNV,并且将硬判决位HD和外部通道可靠性值SCNV传输到解码器22。通道可靠性值确定单元21可参考通道可靠性值表SCNVTB来确定映射到软判决位组SD的外部通道可靠性值SCNV。
从通道可靠性值确定单元21输出的外部通道可靠性值SCNV的位精度(在下文中,称为通道位精度)可能低于根据校验节点单元CN1和CN2的计算/处理能力所确定的位精度(在下文中,称为解码器位精度)。通道可靠性值确定单元21的这种配置不同于图3的通道可靠性值确定单元11的配置,在图3的通道可靠性值确定单元11的配置中,通过通道可靠性值确定单元11确定通道位精度与解码器位精度相同。除通道可靠性值确定单元21的配置之外,错误校正装置20可类似于图3的错误校正装置10。在下文中,将描述错误校正装置20的特性,着重于描述与错误校正装置10的差异。
图14B是示出根据实施例的图14A的通道可靠性值确定单元21所参考的通道可靠性值表SCNVTB的示图。
参照图14B,以类似于图5的通道可靠性值表CNVTB的方式,通道可靠性值表SCNVTB可包括与作为输入值的软判决位组SD的值相对应的、作为输出值的外部通道可靠性值SCNV。软判决位组SD可对应于硬判决位HD。通道可靠性值表SCNVTB可包括软判决位组SD的多个可能值SD11至SD14,可能值SD11至SD14中的每一个映射到相应的外部通道可靠性值SCNV。外部通道可靠性值SCNV可具有范围从0到1的大小以及“-”或“+”的符号。换言之,外部通道可靠性值SCNV可具有2位的位精度。此处,解码器12的解码器位精度可以是例如3位。也就是说,在错误校正装置20中,通道位精度可低于解码器位精度。
返回参照图14A,解码器22可接收硬判决位HD和外部通道可靠性值SCNV,并且通过基于外部通道可靠性值SCNV对硬判决位HD执行解码操作来输出经错误校正的位CHD。
解码器22可包括变量节点单元VN21、校验节点单元CN1和CN2以及校正子校验单元SDRU。图14A的校验节点单元CN1和CN2以及校正子校验单元SDRU可以与图3的校验节点单元CN1和CN2以及校正子校验单元SDRU相同的方式进行操作。
变量节点单元VN21可接收硬判决位HD和外部通道可靠性值SCNV,并且通过执行解码操作输出经错误校正的位CHD。具体地,如下文将描述的,变量节点单元VN21可首先将外部通道可靠性值SCNV的通道位精度放大到解码器位精度。
图15A是详细示出根据实施例的图14A的变量节点单元VN21的框图。
参照图15A,变量节点单元VN21可包括预放大单元PREU、初始处理单元INTU、放大单元UPSU、计算单元CALU和缩小单元DWSU。
预放大单元PREU可从图14A的通道可靠性值确定单元21接收外部通道可靠性值SCNV,基于预放大表PRETB确定映射到外部通道可靠性值SCNV的通道可靠性值CNV,并且将确定的通道可靠性值CNV传输到初始处理单元INTU和放大单元UPSU。预放大单元PREU可基于预放大表PRETB将外部通道可靠性值SCNV的通道位精度放大到解码器位精度。
图15B是示出根据实施例的图15A的预放大单元PREU所参考的预放大表PRETB的示图。
参照图15B,预放大表PRETB可包括与作为输入值的外部通道可靠性值SCNV相对应的、作为输出值的通道可靠性值CNV。预放大单元PREU或预放大表PRETB的输入值IN可具有范围从0到1的大小以及“-”或“+”的符号。根据相应的输入值,通道可靠性值CNV或预放大表PRETB的输出值OUT可具有范围从0到3的大小以及“-”或“+”的符号。
如上所述,外部通道可靠性值SCNV的通道位精度可以是2位,分别表示范围从0到1的大小和符号,并且解码器位精度可以是3位,其中2位表示范围从0到3的大小,1位表示符号。因此,为了将2位的通道位精度放大到3位,可从具有3位的位精度的值之中选择预放大表PRETB的输出值OUT。换言之,预放大表PRETB的输出值OUT中的每一个的大小可在0到3的范围内进行选择。虽然图15B示出了输出值OUT中的每一个的大小是1或3,但在一些实施例中,大小可以是0或2。
返回参照图15A,因为外部通道可靠性值SCNV的通道位精度已经放大到解码器位精度,然后转换成通道可靠性值CNV,所以图15A的初始处理单元INTU、放大单元UPSU、计算单元CALU和缩小单元DWSU可以与图4的初始处理单元INTU、放大单元UPSU、计算单元CALU和缩小单元DWSU相同的方式进行操作。
在上述实施例中,当重复迭代时,图4的变量节点单元VN1可连续地使用相同的放大表UPSTB和相同的缩小表DWSTB。此外,在每一次迭代期间,包括在图2的解码器12中的多个变量节点单元VN可使用相同的放大表UPSTB和相同的缩小表DWSTB。
根据下面将描述的实施例,变量节点单元VN1可使用多个放大表和/或多个缩小表。
图16是示出根据实施例的在执行迭代ITR1和ITR2的同时由图3的变量节点单元VN1使用不同的放大表UPSTB1和UPSTB2和/或不同的缩小表DWSTB1和DWSTB2的方法的示图。
参照图16,当执行迭代ITR1和ITR2时,变量节点单元VN1的放大单元UPSU可在第一迭代ITR1期间使用第一放大表UPSTB1,并且在第二迭代ITR2期间使用不同于第一放大表UPSTB1的第二放大表UPSTB2。当执行迭代ITR1和ITR2时,变量节点单元VN1的缩小单元DWSU可在第一迭代ITR1期间使用第一缩小表DWSTB1,并且在第二迭代ITR2期间使用不同于第一缩小表DWSTB1的第二缩小表DWSTB2。
在实施例中,当执行迭代ITR1和ITR2时,可改变放大表UPSTB和缩小表DWSTB两者或其任意一个。
可从错误校正装置10的外部提供第一和第二放大表UPSTB1和UPSTB2以及第一和第二缩小表DWSTB1和DWSTB2,或者可将第一和第二放大表UPSTB1和UPSTB2以及第一和第二缩小表DWSTB1和DWSTB2存储在错误校正装置10的内部表存储器中。
在实施例中,变量节点单元VN1可进一步包括表选择单元(未示出)。表选择单元可选择将在每一次迭代期间使用的放大表UPSTB和缩小表DWSTB。表选择单元可从错误校正装置10的外部请求所选择的放大表UPSTB和所选择的缩小表DWSTB,或者从错误校正装置10的内部表存储器中读取它们。
在实施例中,表选择单元可通过向基本放大表和基本缩小表中添加预定调整值或从基本放大表和基本缩小表中减去预定调整值来生成第一和第二放大表UPSTB1和UPSTB2以及第一和第二缩小表DWSTB1和DWSTB2。可从错误校正装置10的外部提供基本放大表、基本缩小表和调整值,或者将基本放大表、基本缩小表和调整值存储在错误校正装置10的内部表存储器中。
在实施例中,当重复迭代ITR1和ITR2时,应用第一和第二放大表UPSTB1和UPSTB2以及第一和第二缩小表DWSTB1和DWSTB2的顺序可遵循预设顺序。在实施例中,可预设多个放大表的顺序和/或多个缩小表的顺序,并且可从相应的顺序中顺序地选择在每一次迭代期间使用的放大表和/或缩小表。
随着包括在待传输到校正子校验单元SDRU的更新后的硬判决位中的错误位的数量增加,通常可增加由校正子校验单元SDRU计算的校正子矢量中包括的“1”的数量。在实施例中,根据在在前迭代期间计算的校正子矢量中的“1”的数量,可选择在后续迭代期间将使用的第二放大表UPSTB2和/或第二缩小表DWSTB2。根据在在前迭代期间计算的校正子矢量中包括的“1”的数量,可预设选择待在后续迭代期间使用的放大表和/或缩小表的方案。
图17是示出根据实施例的由变量节点单元VN1的放大单元UPSU使用不同的放大表UPSTB1和UPSTB2的方法的示图。
参照图17,在解码操作的特定迭代期间,放大单元UPSU可关于通道可靠性值CNV与校验可靠性值CKV1和CKV2使用不同的放大表UPSTB1和UPSTB2。例如,放大单元UPSU可使用第一放大表UPSTB1来确定针对通道可靠性值CNV的经放大通道可靠性值UCNV。放大单元UPSU可使用第二放大表UPSTB2来确定针对校验可靠性值CKV1和CKV2的经放大校验可靠性值UCKV1和UCKV2。
如果三个或更多个校验节点单元联接到变量节点单元VN1,则放大单元UPSU可关于从相应的校验节点单元传输的校验可靠性值来使用第二放大表UPSTB2。
图18是示出根据实施例的由变量节点单元VN1的放大单元UPSU使用不同的放大表UPSTB1至UPSTB3的方法的示图。
参照图18,在解码操作的特定迭代期间,放大单元UPSU可关于所有通道可靠性值CNV与校验可靠性值CKV1和CKV2来使用不同的放大表UPSTB1至UPSTB3。例如,放大单元UPSU可使用第一放大表UPSTB1来确定针对通道可靠性值CNV的经放大通道可靠性值UCNV。放大单元UPSU可使用第二放大表UPSTB2来确定针对校验可靠性值CKV1的经放大校验可靠性值UCKV1。放大单元UPSU可使用第三放大表UPSTB3来确定针对校验可靠性值CKV2的经放大校验可靠性值UCKV2。
如果三个或更多个校验节点单元联接到变量节点单元VN1,则放大单元UPSU可针对从相应的校验节点单元传输的校验可靠性值中的至少一个使用第二放大表UPSTB2,并且针对该校验可靠性值中的至少另一个使用第三放大表UPSTB3。
图19是示出根据实施例的由变量节点单元VN1的缩小单元DWSU使用不同的缩小表DWSTB1和DWSTB2的方法的示图。
参照图19,缩小单元DWSU可在解码操作的特定迭代期间,针对分别对应于校验节点单元CN1和CN2的经放大参考可靠性值URFV1和URFV2使用不同的缩小表DWSTB1和DWSTB2。换言之,缩小单元DWSU可针对各个校验节点单元使用不同的缩小表DWSTB1和DWSTB2。例如,缩小单元DWSU可使用第一缩小表DWSTB1来确定对应于校验节点单元CN1的经放大参考可靠性值URFV1的参考可靠性值RFV1。此外,缩小单元DWSU可使用第二缩小表DWSTB2来确定对应于校验节点单元CN2的经放大参考可靠性值URFV2的参考可靠性值RFV2。
如果三个或更多个校验节点单元联接到变量节点单元VN1,则缩小单元DWSU可针对分别对应于相关联校验节点单元的经放大参考可靠性值URFV1和URFV2中的至少一个使用第一缩小表DWSTB1,并且针对该经放大参考可靠性值中的至少另一个使用第二缩小表DWSTB2。
图20是示出根据实施例的由变量节点单元使用不同的放大表UPSTB1和UPSTB2以及不同的缩小表DWSTB1和DWSTB2的方法的示图。
参照图20,解码器12可包括第一变量节点单元VN1和第二变量节点单元VN2。第一变量节点单元VN1和第二变量节点单元VN2可在解码操作的特定迭代期间使用不同的放大表UPSTB1和UPSTB2和/或不同的缩小表DWSTB1和DWSTB2。例如,第一变量节点单元VN1可使用第一放大表UPSTB1和第一缩小表DWSTB1,并且第二变量节点单元VN2可使用第二放大表UPSTB2和第二缩小表DWSTB2。
当解码器12包括多个变量节点单元VN时,第一组至少一个变量节点单元VN可使用第一放大表UPSTB1和第一缩小表DWSTB1,并且第二组至少另一个变量节点单元VN可使用第二放大表UPSTB2和第二缩小表DWSTB2。在实施例中,可随机确定第一组和第二组。在实施例中,可通过联接到每一个变量节点单元的校验节点单元的数量来划分第一组和第二组。例如,包括在第一组中的每一个变量节点单元可与一个校验节点单元联接。包括在第二组中的每一个变量节点单元可与两个校验节点单元联接。
在实施例中,使用图16至图20的多个放大表和/或多个缩小表的方法可彼此组合。
图21是示出根据实施例的存储器系统100的框图。
参照图21,存储器系统100可被配置成响应于来自外部主机装置的写入请求,存储从主机装置提供的数据。此外,存储器系统100可被配置成响应于主机装置的读取请求,向主机装置提供存储的数据。
存储器系统100可被配置成个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(诸如MMC、eMMC、RS-MMC或微型-MMC)、安全数字卡(诸如SD、迷你-SD或微型-SD)、通用闪存(UFS)、固态驱动器(SSD)等。
存储器系统100可包括控制器110和存储器装置120。
控制器110可控制存储器系统100的整体操作。控制器110可访问存储器装置120以处理主机装置的请求。此外,无论主机装置的请求如何,控制器110可访问存储器装置120以执行存储器系统100的内部管理操作或后台操作。对存储器装置120的访问可包括写入访问和读取访问。
控制器110可包括错误校正电路111。错误校正电路111可对从存储器装置120的存储器区域121中读取的硬判决位HDD和软判决位组SDD执行错误校正操作,并且可输出经错误校正的位CHDD。错误校正电路111可包括图1的错误校正装置10或图14A的错误校正装置20。
在控制器110的控制下,存储器装置120可存储从控制器110传输的数据,或者读取存储的数据并将其传输到控制器110。存储器装置120可包括存储器区域121。存储器区域121可包括多个存储器单元(未示出)。
存储器装置120可包括非易失性存储器装置和易失性存储器装置。非易失性存储器装置可包括诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。易失性存储器装置可包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
图22是用于描述根据实施例的从图21的存储器区域121的存储器单元中读取硬判决位HD和相应的软判决位组SD的方法的示图。
参照图22,包括在存储器区域121中的多个存储器单元可根据存储的数据而形成阈值电压分布DST1和DST2。水平轴Vth可表示存储器单元的阈值电压,垂直轴单元#可表示关于阈值电压的存储器单元的数量。阈值电压分布DST1可指示存储数据1的存储器单元。阈值电压分布DST2可指示存储数据0的存储器单元。
当通过相应的字线向每一个存储器单元施加预定的读取电压时,可根据每一个存储器单元自身的阈值电压来接通/断开该存储器单元。详细地,当向存储器单元施加高于其自身阈值电压的读取电压时,可接通该存储器单元,并且当向存储器单元施加低于其自身阈值电压的读取电压时,可断开该存储器单元。
在这种情况下,存储器装置120可将硬读取电压HV施加到存储器单元以感测在存储器单元接通/断开时形成的电流,并因此确定存储器单元的阈值电压是否高于或低于硬读取电压HV。如果将处于阈值电压分布DST1和DST2之间的硬读取电压HV施加到存储器单元,则存储器装置120可确定该存储器单元的阈值电压是否高于或低于硬读取电压HV。换言之,存储器装置120可使用硬读取电压HV来确定存储器单元的阈值电压,并因此可读取存储在存储器单元中的数据作为硬判决位HD。
此处,如图22所示,在初始阶段,阈值电压分布DST1和DST2彼此分开形成,但可随着时间的推移因种种原因而移位并部分地彼此重叠。因此,具有处于阈值电压分布DST1和DST2之间的重叠区域中的阈值电压的存储器单元,或者具有接近硬读取电压HV的阈值电压的存储器单元可能不能使用硬读取电压HV精确地读取,而是生成错误位。
因此,存储器装置120可进一步通过将软读取电压V1至V6施加到存储器单元来从存储器单元读取软判决位组SD。当将软读取电压V1至V6施加到存储器单元时,可根据存储器单元的阈值电压和软读取电压V1至V6中的每一个的电平来读取软判决位组SD。此外,软判决位组SD可包括与存储器单元的阈值电压和硬读取电压HV之间的差相关的信息。
例如,当存储器单元具有在软读取电压V3和V4之间的阈值电压时,如果将软读取电压V1至V6施加到相应的存储器单元,则可从相应的存储器单元中读取软判决位组SD123。换言之,基于软判决位组SD 123,可以理解的是,相应的存储器单元具有在软读取电压V3和V4之间或在阈值电压分布DST1和DST2之间的重叠区域中的阈值电压,并且存储器单元的阈值电压接近硬读取电压HV。因此,可确定从相应的存储器单元中读取的硬判决位HD具有较低的可靠性。
图22进一步示出了关于软判决位组SD的值的通道可靠性值表CNVTB。通道可靠性值表CNVTB可包括分别映射到软判决位组SD的值的通道可靠性值CNV。如上所述,通道可靠性值CNV的大小可指示硬判决位HD的可靠性,并且其符号可指示硬判决位HD是为1还是0。换言之,随着通道可靠性值CNV的大小减小,硬判决位HD的可靠性可降低。因此,可配置通道可靠性值表CNVTB,使得软判决位组SD 123被映射到具有大小为0的通道可靠性值CNV。
图23是示出根据实施例的包括固态驱动器(SSD)1200的数据处理系统1000的示图。参照图23,数据处理系统1000可包括主机装置1100和SSD 1200。
SSD 1200可包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可控制SSD 1200的一般操作。控制器1210可包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可包括命令、地址、数据等。主机接口单元1211可根据主机装置1100的协议来对主机装置1100和SSD 1200进行接口连接。例如,主机接口单元1211可通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e)和通用闪存(UFS)。
控制单元1212可分析和处理从主机装置1100接收的信号SGL。控制单元1212可根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作驱动这种固件或软件的工作存储器。
ECC单元1214可生成待被传输到非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。所生成的奇偶校验数据可与该数据一起被存储在非易失性存储器装置1231至123n中。ECC单元1214可基于奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个读取的数据的错误。如果检测到的错误在可校正范围内,则ECC单元1214可校正检测到的错误。
ECC单元1214可包括图1所示的错误校正装置10或图14A所示的错误校正装置20。
存储器接口单元1215可根据控制单元1212的控制,将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n中的至少一个。此外,存储器接口单元1215可根据控制单元1212的控制,与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口单元1215可将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n中的至少一个,或者将从非易失性存储器装置1231至123n中的至少一个读取的数据提供给缓冲存储器装置1220。
缓冲存储器装置1220可临时存储待存储在非易失性存储器装置1231至123n中的至少一个中的数据。进一步地,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。被临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。
非易失性存储器装置1231至123n可用作SSD 1200的存储介质。非易失性存储器装置1231至123n可分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到每一个通道的非易失性存储器装置可联接到相同的信号总线和数据总线。
电源1240可将通过电源连接器1260输入的电力PWR提供至SSD 1200的内部。电源1240可包括辅助电源1241。当发生突然断电时,辅助电源1241可供应电力以使SSD 1200能够正常地结束。辅助电源1241可包括大容量电容器。
信号连接器1250可根据主机装置1100和SSD 1200之间的接口连接方案而通过各种类型的连接器配置。
电源连接器1260可根据主机装置1100的供电方案而通过各种类型的连接器配置。
图24是示出根据实施例的包括存储器系统2200的数据处理系统2000的示图。参照图24,数据处理系统2000可包括主机装置2100和存储器系统2200。
主机装置2100可以诸如印制电路板的板的形式来配置。虽然未示出,但主机装置2100可包括用于执行主机装置的功能的内部功能块。
主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可被安装到连接端子2110。
存储器系统2200可以诸如印制电路板的板的形式来配置。存储器系统2200可指存储器模块或存储卡。存储器系统2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可控制存储器系统2200的一般操作。控制器2210可以与图23所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读取的数据。被临时存储在缓冲存储器装置2220中的数据可根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可用作存储器系统2200的存储介质。
PMIC 2240可将通过连接端子2250输入的电力提供到存储器系统2200的内部。PMIC 2240可根据控制器2210的控制来管理存储器系统2200的电力。
连接端子2250可联接到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据等的信号和电力可在主机装置2100与存储器系统2200之间传输。根据主机装置2100和存储器系统2200之间的接口方案,连接端子2250可被配置成各种类型。连接端子2250可被设置在存储器系统2200的任意一侧上。
图25是示出根据实施例的包括存储器系统3200的数据处理系统3000的示图。参照图25,数据处理系统3000可包括主机装置3100和存储器系统3200。
主机装置3100可以诸如印制电路板的板的形式来配置。虽然未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。
存储器系统3200可以表面安装型封装的形式来配置。存储器系统3200可通过焊球3250安装到主机装置3100。存储器系统3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图23所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读取的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可用作存储器系统3200的存储介质。
图26是示出根据实施例的包括存储器系统4200的网络系统4000的框图。参照图26,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。再例如,服务器系统4300可将数据提供给多个客户端系统4410至4430。
服务器系统4300可包括主机装置4100和存储器系统4200。存储器系统4200可由图21所示的存储器系统100、图23所示的存储器系统1200、图24所示的存储器系统2200或图25所示的存储器系统3200来配置。
图27是示出根据实施例的包括在存储器系统中的非易失性存储器装置300的框图。参照图27,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可包括设置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域的存储器单元MC。
行解码器320可通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可根据控制逻辑360的控制来操作。行解码器320可对从外部装置(未示出)提供的地址进行解码。行解码器320可基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可将从电压发生器350提供的字线电压提供至字线WL1至WLm。
数据读取/写入块330可通过位线BL1至BLn而与存储器单元阵列310联接。数据读取/写入块330可包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可根据控制逻辑360的控制来操作。数据读取/写入块330可根据操作模式作为写入驱动器或读出放大器来操作。例如,在写入操作中,数据读取/写入块330可作为写入驱动器来操作,该写入驱动器存储将从外部装置提供的数据存储在存储器单元阵列310中。又例如,在读取操作中,数据读取/写入块330可作为读出放大器来操作,该读出放大器从存储器单元阵列310读出数据。
列解码器340可根据控制逻辑360的控制来进行操作。列解码器340可对从外部装置提供的地址进行解码。列解码器340可基于解码结果,将分别对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压发生器350可生成待用于非易失性存储器装置300的内部操作的电压。通过电压发生器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,可将在编程操作中生成的编程电压施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区域。又例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。
控制逻辑360可基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
尽管上面已经描述了各个实施例,但是本领域技术人员将理解,所描述的实施例仅是作为示例。因此,不应基于所描述的实施例来限制本文所描述的错误校正装置和包括该错误校正装置的电子装置。相反,本文所描述的错误校正装置和包括该错误校正装置的电子装置应当仅按照结合以上描述和附图的所附权利要求进行限制。

Claims (24)

1.一种错误校正装置,包括:
多个变量节点单元,所述多个变量节点单元中的每一个:
接收硬判决位和具有第一位精度的通道可靠性值;并且
基于所述通道可靠性值对所述硬判决位执行解码操作的迭代;
多个校验节点单元,所述多个校验节点单元中的每一个:
在所述迭代期间从所述多个变量节点单元之中联接到所述校验节点单元的一个或多个变量节点单元接收具有第二位精度的一个或多个参考可靠性值;并且
基于所述一个或多个参考可靠性值,将具有所述第二位精度的一个或多个校验可靠性值传输到联接到所述校验节点单元的所述一个或多个变量节点单元,
其中在所述迭代期间,所述多个变量节点单元中的每一个进一步:
从所述多个校验节点单元之中联接到所述变量节点单元的一个或多个校验节点单元接收一个或多个第一校验可靠性值;并且
通过放大所述通道可靠性值的第一位精度和所述一个或多个第一校验可靠性值的第二位精度,参考所述通道可靠性值和所述一个或多个第一校验可靠性值来更新所述硬判决位。
2.根据权利要求1所述的错误校正装置,
进一步包括存储器,所述存储器存储至少一个放大表,所述放大表包括分别映射到多个输入值的多个输出值,
其中,在所述迭代期间,参考所述至少一个放大表,所述多个变量节点单元中的每一个进一步确定映射到所述通道可靠性值的输入值的输出值为经放大通道可靠性值,并且确定映射到所述一个或多个第一校验可靠性值的输入值的输出值为经放大校验可靠性值,
其中,在所述迭代期间,所述多个变量节点单元中的每一个通过计算所述经放大通道可靠性值和所述经放大校验可靠性值来更新所述硬判决位。
3.根据权利要求2所述的错误校正装置,其中与所述第一位精度和所述第二位精度相比,所述多个输出值具有经放大的位精度。
4.根据权利要求2所述的错误校正装置,其中所述多个输出值是所述硬判决位的对数似然比即LLR的常数倍。
5.根据权利要求2所述的错误校正装置,其中,在所述迭代期间,所述多个变量节点单元中的每一个:
参考所述至少一个放大表中的第一放大表来确定所述经放大通道可靠性值;并且
参考所述至少一个放大表中的第二放大表来确定所述经放大校验可靠性值。
6.根据权利要求2所述的错误校正装置,其中,在所述迭代期间,所述多个变量节点单元中的每一个:
参考所述至少一个放大表中的第一放大表来确定所述经放大通道可靠性值;
参考所述至少一个放大表中的第二放大表来确定所述经放大校验可靠性值中的至少一个经放大校验可靠性值;并且
参考所述至少一个放大表中的第三放大表来确定所述经放大校验可靠性值中的另一经放大校验可靠性值。
7.根据权利要求2所述的错误校正装置,
其中,在所述迭代期间,所述多个变量节点单元中的每一个进一步通过对所述经放大通道可靠性值和所述经放大校验可靠性值进行求和来确定最终可靠性值,并且
其中,在所述迭代期间,所述多个变量节点单元中的每一个基于最终可靠性值的符号来更新所述硬判决位。
8.根据权利要求7所述的错误校正装置,其中,在所述迭代的后续迭代期间,所述多个变量节点单元中的每一个进一步:
基于所述经放大通道可靠性值和所述经放大校验可靠性值,将联接到所述变量节点单元的所述一个或多个校验节点单元中的第一校验节点单元的经放大外部信息的总和确定为经放大参考可靠性值;
通过缩小所述经放大参考可靠性值的位精度来确定参考可靠性值;并且
将所述参考可靠性值传输到所述第一校验节点单元。
9.根据权利要求8所述的错误校正装置,其中,在所述后续迭代期间,所述多个变量节点单元中的每一个通过对所述经放大通道可靠性值与除从所述第一校验节点单元传输的第一校验可靠性值的经放大校验可靠性值之外的所述经放大校验可靠性值进行求和来确定所述第一校验节点单元的经放大外部信息的总和。
10.根据权利要求8所述的错误校正装置,其中,在所述后续迭代期间,所述多个变量节点单元中的每一个通过从所述最终可靠性值中减去从所述第一校验节点单元传输的第一校验可靠性值的经放大校验可靠性值来确定所述经放大外部信息的总和。
11.根据权利要求8所述的错误校正装置,
进一步包括校正子校验单元,所述校正子校验单元:
从所述多个变量节点单元接收在所述迭代期间更新的各个硬判决位;并且
对更新后的硬判决位执行校正子校验操作以确定所述解码操作是否已成功,
其中当从所述校正子校验单元接收所述解码操作失败的报告时,所述变量节点单元中的每一个执行后续迭代。
12.根据权利要求8所述的错误校正装置,
其中所述存储器进一步存储至少一个缩小表,所述缩小表包括分别映射到输入值的多个范围的多个输出值,并且
其中,在所述后续迭代期间,所述多个变量节点单元中的每一个进一步参考所述缩小表,将映射到所述多个范围之中的所述经放大参考可靠性值所落入的范围的输出值确定为所述参考可靠性值。
13.根据权利要求12所述的错误校正装置,其中包括在所述缩小表中的所述多个范围各自包括所述放大表中包括的输出值。
14.根据权利要求12所述的错误校正装置,其中包括在所述缩小表中的所述输出值与包括在所述放大表中的输入值相同。
15.根据权利要求12所述的错误校正装置,其中包括在所述缩小表中的所述输出值具有第二位精度。
16.根据权利要求12所述的错误校正装置,
其中,在后续迭代期间,所述多个变量节点单元中的每一个参考所述至少一个缩小表中的第一缩小表来确定待传输到所述第一校验节点单元的所述参考可靠性值,并且
其中,在后续迭代期间,所述多个变量节点单元中的每一个进一步参考所述至少一个缩小表中的第二缩小表来确定待传输到联接到所述变量节点单元的所述校验节点单元中的第二校验节点单元的参考可靠性值。
17.根据权利要求12所述的错误校正装置,其中所述多个变量节点单元中的每一个在迭代期间参考所述至少一个放大表中的第一放大表,并且在后续迭代期间参考所述至少一个放大表中的第二放大表。
18.根据权利要求12所述的错误校正装置,其中所述多个变量节点单元中的每一个在迭代期间参考所述至少一个缩小表中的第一缩小表,并且在后续迭代期间参考所述至少一个缩小表中的第二缩小表。
19.根据权利要求12所述的错误校正装置,其中,在迭代期间,所述多个变量节点单元中的第一变量节点单元和第二变量节点单元分别参考存储在所述存储器中的不同的放大表和/或不同的缩小表。
20.根据权利要求2所述的错误校正装置,其中,当所述第一位精度低于所述第二位精度时,在迭代期间,所述多个变量节点单元中的每一个在确定所述输出值之前放大所述通道可靠性值的第一位精度,使得所述通道可靠性值具有所述第二位精度。
21.根据权利要求1所述的错误校正装置,进一步包括:
存储器,存储至少一个通道可靠性值表,所述通道可靠性值表包括分别映射到多个输入值的多个输出值,所述多个输出值具有所述第一位精度;以及
通道可靠性值确定单元:
接收软判决位组,所述软判决位组包括所述硬判决位的可靠性信息并由多个软判决位形成;并且
参考所述通道可靠性值表,将映射到所述软判决位组的输入值的输出值确定为所述通道可靠性值。
22.根据权利要求1所述的错误校正装置,其中所述变量节点单元中的每一个通过将所述通道可靠性值确定为第一参考可靠性值并将所述第一参考可靠性值传输到联接到所述变量节点单元的所述校验节点单元中的每一个来执行所述解码操作的初始迭代。
23.一种电子装置,包括:
存储器装置,包括多个存储器单元,并且所述存储器装置:
通过向所述多个存储器单元施加硬读取电压,从所述多个存储器单元中读取各个硬判决位;并且
通过向所述多个存储器单元施加多个软读取电压来从所述多个存储器单元中读取各个软判决位组,其中通过向所述硬读取电压添加预定偏移值或从所述硬读取电压减去预定偏移值来生成所述软读取电压,并且所述软判决位组中的每一个包括与相应存储器单元的阈值电压和所述硬读取电压之间的差相关的信息;
通道可靠性值确定单元,基于所述软判决位组确定具有第一位精度的通道可靠性值;以及
解码器,接收所述硬判决位和所述通道可靠性值,并且基于所述通道可靠性值对所述硬判决位执行解码操作,
其中所述解码器包括:
多个变量节点单元,所述多个变量节点单元中的每一个:
接收所述硬判决位中的相应硬判决位和所述通道可靠性值中的相应通道可靠性值;并且
基于所述相应通道可靠性值对所述相应硬判决位执行所述解码操作的迭代;以及
多个校验节点单元,所述多个校验节点单元中的每一个在迭代期间:
分别从所述多个变量节点单元之中联接到所述校验节点单元的一个或多个变量节点单元接收具有第二位精度的一个或多个参考可靠性值;并且
基于所述一个或多个参考可靠性值,将具有所述第二位精度的一个或多个校验可靠性值传输到联接到所述校验节点单元的所述一个或多个变量节点单元,
其中,在迭代期间,所述多个变量节点单元中的每一个进一步:
分别从所述多个校验节点单元之中联接到所述变量节点单元的一个或多个校验节点单元接收一个或多个第一校验可靠性值;并且
通过放大所述通道可靠性值的第一位精度和所述一个或多个第一校验可靠性值的第二位精度,参考所述通道可靠性值和所述一个或多个第一校验可靠性值来更新所述硬判决位。
24.一种解码方法,所述解码方法利用迭代错误校正码,所述迭代错误校正码由包括变量节点和校验节点的二部图表示,所述变量节点和所述校验节点根据由所述迭代错误校正码定义的校验矩阵互连,所述方法包括:
生成一个或多个变量消息,所述变量消息包括硬判决位的对数似然比即LLR;
通过放大校验消息和LLR的位分辨率,基于所述硬判决位的可靠性值来更新所述硬判决位,其中基于所述LLR和一个或多个校验消息生成所述硬判决位的可靠性值,基于所述变量消息生成所述校验消息;
通过恢复所述变量消息的位分辨率,基于所述LLR和经放大的位分辨率的校验消息来更新所述变量消息;并且
执行对更新所述硬判决位和更新所述变量消息的迭代,直到通过所述校验矩阵确定更新后的硬判决位正确。
CN201811643133.5A 2018-08-22 2018-12-29 错误校正装置和包括该错误校正装置的电子装置 Active CN110858169B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180097884A KR20200022136A (ko) 2018-08-22 2018-08-22 에러 정정 장치 및 그것을 포함하는 전자 장치
KR10-2018-0097884 2018-08-22

Publications (2)

Publication Number Publication Date
CN110858169A true CN110858169A (zh) 2020-03-03
CN110858169B CN110858169B (zh) 2023-03-21

Family

ID=69230307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811643133.5A Active CN110858169B (zh) 2018-08-22 2018-12-29 错误校正装置和包括该错误校正装置的电子装置

Country Status (3)

Country Link
US (1) US10554228B1 (zh)
KR (1) KR20200022136A (zh)
CN (1) CN110858169B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200020535A (ko) * 2018-08-17 2020-02-26 에스케이하이닉스 주식회사 에러 정정 장치, 그것의 동작 방법 및 그것을 포함하는 전자 장치
DE102020106501A1 (de) * 2020-03-10 2021-09-16 Tesat-Spacecom Gmbh & Co. Kg Fehlerkorrektur für LDPC-Dekodierer

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262420A1 (en) * 2004-05-21 2005-11-24 Samsung Electronics Co., Ltd. Apparatus and method for decoding low density parity check codes
CN1838542A (zh) * 2005-02-07 2006-09-27 索尼株式会社 解码设备和方法以及程序
CN103971751A (zh) * 2013-01-31 2014-08-06 Lsi公司 以选择性二进制及非二进制解码在闪存中进行检测和解码
CN104521177A (zh) * 2011-12-06 2015-04-15 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正
US20170279468A1 (en) * 2016-03-23 2017-09-28 SK Hynix Inc. Soft decoder for generalized product codes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3545726B2 (ja) * 2001-02-27 2004-07-21 松下電器産業株式会社 受信側装置
KR100842583B1 (ko) 2005-11-21 2008-07-01 삼성전자주식회사 통신 시스템에서 데이터 수신 방법 및 장치
JP6446730B2 (ja) * 2013-03-07 2019-01-09 マーベル ワールド トレード リミテッド データをデコードするための方法およびデコーダ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262420A1 (en) * 2004-05-21 2005-11-24 Samsung Electronics Co., Ltd. Apparatus and method for decoding low density parity check codes
CN1838542A (zh) * 2005-02-07 2006-09-27 索尼株式会社 解码设备和方法以及程序
CN104521177A (zh) * 2011-12-06 2015-04-15 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正
CN103971751A (zh) * 2013-01-31 2014-08-06 Lsi公司 以选择性二进制及非二进制解码在闪存中进行检测和解码
US20170279468A1 (en) * 2016-03-23 2017-09-28 SK Hynix Inc. Soft decoder for generalized product codes

Also Published As

Publication number Publication date
CN110858169B (zh) 2023-03-21
KR20200022136A (ko) 2020-03-03
US20200067538A1 (en) 2020-02-27
US10554228B1 (en) 2020-02-04

Similar Documents

Publication Publication Date Title
US10581458B2 (en) Data storage apparatus and operating method thereof
US10122382B2 (en) VSS LDPC decoder with improved throughput for hard decoding
US10067824B2 (en) Error processing method, memory storage device and memory controlling circuit unit
US9875035B2 (en) Memory system having a read and copy-back operation and method for the same
US10824523B2 (en) Data storage device and operating method thereof
US10148287B2 (en) Bit-flipping LDPC decoding algorithm with hard channel information
US20190088349A1 (en) Device for supporting error correction code and test method thereof
US10579472B2 (en) Semiconductor devices
US20170286219A1 (en) Data storage device and operating method thereof
CN110858169B (zh) 错误校正装置和包括该错误校正装置的电子装置
US10431324B2 (en) Data storage device for performing decoding operation and operating method thereof
US10917111B2 (en) Error correction code unit and error correction method
US10606695B2 (en) Error correction circuit and memory system including the same
US10720943B2 (en) Data storage device, operation method thereof and storage system having the same
US10460826B2 (en) Test methods of semiconductor devices and semiconductor systems used therein
US11515898B2 (en) Error correction decoder, error correction circuit having the same, and method of operating the same
US10922025B2 (en) Nonvolatile memory bad row management
US11513888B2 (en) Data processing device
US20230214151A1 (en) Memory system and operating method thereof
KR20180027656A (ko) 반도체장치 및 반도체시스템
CN113129968A (zh) 数据存取方法、存储器控制电路单元以及存储器存储装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant