CN110445495A - 用于转换奇偶校验矩阵的电路、错误校正电路及操作方法 - Google Patents

用于转换奇偶校验矩阵的电路、错误校正电路及操作方法 Download PDF

Info

Publication number
CN110445495A
CN110445495A CN201811525258.8A CN201811525258A CN110445495A CN 110445495 A CN110445495 A CN 110445495A CN 201811525258 A CN201811525258 A CN 201811525258A CN 110445495 A CN110445495 A CN 110445495A
Authority
CN
China
Prior art keywords
matrix
row
column
circular
parity
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
CN201811525258.8A
Other languages
English (en)
Other versions
CN110445495B (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
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110445495A publication Critical patent/CN110445495A/zh
Application granted granted Critical
Publication of CN110445495B publication Critical patent/CN110445495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Abstract

本发明提供一种用于转换准循环低密度奇偶校验(QC‑LDPC)码的奇偶校验矩阵的电路、具有该电路的错误校正电路及操作该电路的方法。用于转换包括循环矩阵的QC‑LDPC码的奇偶校验矩阵的电路可包括:确定部件、选择部件以及条目替换部件,其中确定部件被配置成确定外部输入的奇偶校验矩阵是否具有满秩,选择部件被配置成基于确定部件的确定结果检测奇偶校验矩阵的行或列之中的线性相关行或列,并从线性相关行或列之中选择任何一行或列,并且条目替换部件被配置成利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任何一个。

Description

用于转换奇偶校验矩阵的电路、错误校正电路及操作方法
相关申请的交叉引用
本申请要求于2018年5月4日提交的申请号为10-2018-0051975的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种用于转换准循环低密度奇偶校验(QC-LDPC)码的奇偶校验矩阵的电路、具有奇偶校验矩阵转换电路的错误校正电路以及操作该奇偶校验矩阵转换电路的方法。
背景技术
存储器系统可存储从外部装置接收的数据,并且可将存储的数据提供给外部装置。存储器系统可包括错误校正电路,以保证数据的可靠性。错误校正电路可使用错误校正码来执行错误校正编码和错误校正解码。
低密度奇偶校验(LDPC)码是强错误校正码。这归因于LDPC迭代解码方案的特性,其中随着码的长度增加,每一个位的错误校正能力得到提高,而每一个位的计算复杂度保持不变。将具有使用k×k个零矩阵或循环矩阵的阵列进行配置的奇偶校验矩阵的LDPC码称为“准循环低密度奇偶校验(QC-LDPC)码”。
发明内容
本公开的各个实施例涉及能够转换QC-LDPC码的奇偶校验矩阵的奇偶校验矩阵转换电路、具有该奇偶校验矩阵转换电路的错误校正电路以及操作该奇偶校验矩阵转换电路的方法。
本公开的实施例可提供一种用于转换包括循环矩阵的准循环低密度奇偶校验(QC-LDPC)码的奇偶校验矩阵的电路。该电路可包括:确定部件、选择部件以及条目替换部件,其中确定部件被配置成确定外部输入的奇偶校验矩阵是否具有满秩,选择部件被配置成基于确定部件的确定结果检测奇偶校验矩阵的行或列之中的线性相关行或列,并从线性相关的行或列之中选择任何一行或列,并且条目替换部件被配置成利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任何一个。
本公开的实施例可提供一种转换包括循环矩阵的准循环低密度奇偶校验(QC-LDPC)码的奇偶校验矩阵的方法。该方法可包括:确定外部输入的奇偶校验矩阵是否具有满秩,基于所确定的结果检测奇偶校验矩阵的行或列之中的线性相关行或列,并从线性相关的行或列之中选择任何一行或列,并且利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任何一个。
本公开的实施例可提供一种使用包括循环矩阵的准循环低密度奇偶校验(QC-LDPC)码的奇偶校验矩阵来执行错误校正解码的错误校正电路。错误校正电路可包括奇偶校验矩阵转换电路和错误校正解码器,其中奇偶校验矩阵转换电路被配置成确定外部输入的奇偶校验矩阵是否具有满秩、基于确定的结果检测奇偶校验矩阵的行或列之中的线性相关行或列、从线性相关的行或列之中选择任何一行或列、以及利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任何一个,并且错误校正解码器被配置成使用一个循环矩阵被零矩阵替换的奇偶校验矩阵来执行错误校正解码。
附图说明
图1A是示出根据本公开的实施例的用于转换QC-LDPC码的奇偶校验矩阵的电路的示图。
图1B是示出根据本公开的实施例的用于转换QC-LDPC码的奇偶校验矩阵的电路的示图。
图2A和图2B是用于说明QC-LDPC码的奇偶校验矩阵的示图。
图3是示出根据本公开的实施例的转换奇偶校验矩阵的方法的流程图。
图4是用于说明根据本公开的实施例的选择线性相关行中的任何一个的示例的示图。
图5是将图4的奇偶校验矩阵示出为Tanner图的示图。
图6和图7是用于说明利用零矩阵替换与图5的Tanner图中的边缘相对应的循环矩阵的示例的示图。
图8和图9是用于说明利用零矩阵替换与图5的Tanner图中的边缘相对应的循环矩阵的示例的示图。
图10是用于说明根据本公开的实施例的从包括线性相关行的组中的每一个中选择任何一行的示例的示图。
图11A、图11B和图12是示出利用零矩阵替换在图10所示的第一组和第二组中的每一个中包括的循环矩阵中的任何一个的示例的示图。
图13A是示出根据本公开的实施例的存储器系统的示图。
图13B是示出根据本公开的实施例的存储器系统的示图。
图14是示出根据本公开的实施例的存储器装置的示图。
图15是示出具有2D结构的存储块的示图。
图16是示出具有3D结构的存储块的示例的示图。
图17是示出具有3D结构的存储块的示例的示图。
图18至图21是示出包括图13A和图13B的存储器控制器的存储器系统的实施例的示图。
具体实施方式
参考稍后与附图一起详细描述的实施例,本公开的优点和特征及其实现方法将变得更为显而易见。本公开不限于以下实施例,而是可以其它形式实现。相反地,提供这些实施例以便使本公开彻底且充分,并且将本公开的技术实质全面地传达给本领域的技术人员。
将理解的是,虽然可在本文中使用术语“第一”和/或“第二”来描述各个元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不背离本公开的教导的情况下,以下描述的第一元件也可被称为第二元件。同样,第二元件也可被称为第一元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指定存在所陈述的特征、数量、步骤、操作、元件、部件和/或其组合,但并不排除存在或添加一个或多个其它特征、数量、步骤、操作、元件、部件和/或其组合。
还应注意的是,在本说明书中,“连接/联接”不仅指一个部件直接联接另一部件,而且还指通过中间部件间接联接另一部件。在说明书中,除非上下文另有明确表示,否则当元件被称为“包括”或“包含”部件时,并不排除其它部件,而是可进一步包括其它部件。
在下文中,将参照附图描述本公开的实施例。
图1A是示出根据本公开的实施例的用于转换QC-LDPC码的奇偶校验矩阵的电路100a的示图。
参照图1A,用于转换QC-LDPC码的奇偶校验矩阵的电路100a(下文中,也称为“奇偶校验矩阵转换电路100a”)可包括确定部件110a、选择部件120a、条目替换部件130a及矩阵存储部件140a。
奇偶校验矩阵转换电路100a可接收外部输入的QC-LDPC码的奇偶校验矩阵。在下文中,奇偶校验矩阵可指QC-LDPC码的奇偶校验矩阵。奇偶校验矩阵转换电路100a可转换输入的奇偶校验矩阵。例如,奇偶校验矩阵转换电路100a可改变输入的奇偶校验矩阵的至少一个条目。当输入的奇偶校验矩阵不具有满秩时,奇偶校验矩阵转换电路100a可通过改变输入的奇偶校验矩阵的条目来生成具有满秩的奇偶校验矩阵。外部输入的奇偶校验矩阵可以是被设计成具有预定的错误校正能力的奇偶校验矩阵。
确定部件110a可确定外部输入的奇偶校验矩阵是否具有满秩。可基于奇偶校验矩阵的行或列来执行确定奇偶校验矩阵是否具有满秩。也就是说,确定部件110a可通过基于奇偶校验矩阵的行计算秩来确定输入的奇偶校验矩阵是否具有满秩,或者可通过基于奇偶校验矩阵的列计算秩来确定输入的奇偶校验矩阵是否具有满秩。对于秩的计算,可使用诸如高斯-约旦消去(Gauss-Jordan elimination)的各种算法。当奇偶校验矩阵是方阵时,也可使用诸如奇异值分解(SVD)或QR分解的算法。用于计算秩的算法不限于上述示例。
当输入的奇偶校验矩阵具有满秩时,确定部件110a可将输入的奇偶校验矩阵存储在矩阵存储部件140a中。当输入的奇偶校验矩阵不具有满秩时,确定部件110a可向选择部件120a通知这种结果。
选择部件120a可基于确定部件110a的确定结果,从奇偶校验矩阵的行或列之中选择条目待被改变的目标行或列。例如,当确定部件110a基于奇偶校验矩阵的行确定奇偶校验矩阵不具有满秩时,选择部件120a可从奇偶校验矩阵的行之中选择条目待被改变的目标行。例如,当确定部件110a基于奇偶校验矩阵的列确定奇偶校验矩阵不具有满秩时,选择部件120a可从奇偶校验矩阵的列之中选择条目待被改变的目标列。
为了选择条目待被改变的目标行或列,选择部件120a可检测奇偶校验矩阵的行之中的线性相关行,或者可检测奇偶校验矩阵的列之中的线性相关列。为了检测线性相关行或线性相关列,可使用诸如高斯-约旦消去的各种算法。当奇偶校验矩阵是方阵时,也可使用诸如奇异值分解(SVD)或QR分解的算法。用于检测线性相关行或列的算法不限于上述示例。
选择部件120a可选择线性相关行中的任何一个作为目标行,或者可选择线性相关列中的任何一个作为目标列。例如,选择部件120a可从线性相关行中选择最后一行、第一行或处于第一行和最后一行之间的任何一行。类似地,选择部件120a可从线性相关列中选择最后一列、第一列或处于第一列和最后一列之间的任何一列。
例如,假设存在具有秩“4”的“5×10”奇偶校验矩阵。进一步地,假设第一行和第三行中的元素的总和等于第五行中的元素,则第一行、第三行和第五行可被认为是线性相关的。在这种情况下,选择部件120a可选择第一、第三和第五行中的任何一个作为目标行。例如,选择部件120a可从第一行、第三行和第五行中选择作为最后一行的第五行作为目标行。
在本公开的实施例中,当在奇偶校验矩阵的行之中存在线性相关行的多个组时,选择部件120a可从每一个组中选择目标行。可选地,当在奇偶校验矩阵的列之中存在线性相关列的多个组时,选择部件120a可从每一个组中选择目标列。
例如,假设存在具有秩“5”的“7×14”奇偶校验矩阵。进一步地,假设第一行、第三行和第五行线性相关,并且第二行、第四行和第六行线性相关。在这种情况下,选择部件120a可从包括第一、第三和第五行的第一组中选择任何一行,以及从包括第二、第四和第六行的第二组中选择任何一行作为条目待被改变的目标行。例如,选择部件120a可从第一组中选择第五行作为目标行,并且可从第二组中选择第六行作为目标行。
条目替换部件130a可从包括在目标行或列中的循环矩阵之中选择任何一个循环矩阵,并且可利用零矩阵来替换所选择的循环矩阵。其中任何一个循环矩阵被零矩阵替换的奇偶校验矩阵可以是具有满秩的奇偶校验矩阵。
在本公开的实施例中,条目替换部件130a可利用零矩阵替换包括在目标行或列中的循环矩阵之中的与预定循环(cycle)相对应的循环矩阵。根据实施例,可对预定循环进行不同地设置。
在本公开的实施例中,预定循环可以是奇偶校验矩阵的围长或偶数“6”或更大的偶数。也就是说,条目替换部件130a可利用零矩阵替换包括在目标行或列中的循环矩阵之中的对应于围长的循环矩阵,或者可利用零矩阵替换对应于特定循环的循环矩阵。
例如,假设存在具有围长“6”的奇偶校验矩阵。在这种情况下,当包括在目标行或列中的循环矩阵之中存在对应于循环6的循环矩阵时,条目替换部件130a可利用零矩阵替换对应于循环6的循环矩阵。
在本公开的实施例中,预定循环可以是与包括在目标行或列中的循环矩阵相对应的循环之中的最短循环。也就是说,条目替换部件130a可利用零矩阵替换与对应于包括在目标行或列中的循环矩阵的循环之中的最短循环相对应的循环矩阵。
例如,假设存在具有围长“6”的奇偶校验矩阵。此外,假设包括在目标行或列中的循环矩阵之中,不存在对应于循环6的循环矩阵,并且存在一个对应于循环8的循环矩阵。在这种情况下,条目替换部件130a可利用零矩阵替换对应于循环8的循环矩阵。
在本公开的实施例中,当包括在目标行或列中的循环矩阵之中的多个循环矩阵对应于预定循环时,条目替换部件130a可利用零矩阵替换多个循环矩阵中的任何一个。例如,条目替换部件130a可基于多个循环矩阵中的每一个对应于预定循环的次数,利用零矩阵来替换多个循环矩阵中的任何一个。例如,条目替换部件130a可利用零矩阵替换多个循环矩阵之中的最多次对应于(corresponding most to)预定循环的循环矩阵。
例如,假设与包括在目标行中的循环矩阵相对应的循环之中的最短循环为循环8。在这种情况下,当存在多个对应于循环8的循环矩阵时,条目替换部件130a可利用零矩阵替换多个循环矩阵之中的最多次对应于循环8的循环矩阵。
在本公开的实施例中,当包括在目标行或列中的循环矩阵之中存在多个最多次对应于预定循环的循环矩阵时,条目替换部件130a可利用零矩阵来替换多个循环矩阵之中的最多次对应于在预定循环之后的循环的循环矩阵。
例如,假设与包括在目标行中的循环矩阵相对应的循环之中的最短循环为循环8,并且第二最短循环为循环10。进一步地,假设两个循环矩阵对应于循环8的次数相同,并且两个循环矩阵对应于循环8的次数大于任何其他循环矩阵的次数,并且两个循环矩阵对应于循环10的次数不同。在这种情况下,条目替换部件130a可利用零矩阵替换两个循环矩阵中的更多次对应于循环10的循环矩阵。
矩阵存储部件140a可存储奇偶校验矩阵。存储在矩阵存储部件140a中的奇偶校验矩阵可以是外部输入的奇偶校验矩阵或外部输入的奇偶校验矩阵中的一些条目被改变的奇偶校验矩阵。例如,当外部输入的奇偶校验矩阵具有满秩时,矩阵存储部件140a可存储外部输入的奇偶校验矩阵。例如,当外部输入的奇偶校验矩阵不具有满秩时,矩阵存储部件140a可存储通过条目替换部件130a改变了至少一个条目的奇偶校验矩阵。其中通过条目替换部件130a改变了至少一个条目的奇偶校验矩阵可具有满秩。可将存储在矩阵存储部件140a中的奇偶校验矩阵提供给外部装置,然后可用于使用QC-LDPC码的错误校正解码。
图1B是示出根据本公开的实施例的用于转换QC-LDPC码的奇偶校验矩阵的电路的示图。
参照图1B,根据本公开的实施例的用于转换QC-LDPC码的奇偶校验矩阵的电路100b可包括确定部件110b、选择部件120b和条目替换部件130b。
奇偶校验矩阵转换电路100b可接收外部输入的QC-LDPC码的奇偶校验矩阵。奇偶校验矩阵转换电路100b可转换输入的奇偶校验矩阵。例如,奇偶校验矩阵转换电路100b可改变输入的奇偶校验矩阵的至少一个条目。当输入的奇偶校验矩阵不具有满秩时,奇偶校验矩阵转换电路100b可通过改变输入的奇偶校验矩阵的条目来生成具有满秩的奇偶校验矩阵。
确定部件110b可确定外部输入的奇偶校验矩阵是否具有满秩。确定部件110b的操作与上面参照图1A所述的确定部件110a的操作相同,因此将省略对其的详细描述。然而,与上面参照图1A所述的确定部件110a的操作不同,当输入的奇偶校验矩阵具有满秩时,确定部件110b可直接将输入的奇偶校验矩阵提供至执行错误校正解码的外部装置。
选择部件120b可基于确定部件110b的确定结果,从奇偶校验矩阵的行或列之中选择条目待被改变的目标行或列。为了选择条目待被改变的目标行或列,选择部件120b可检测奇偶校验矩阵的行之中的线性相关行,或者可检测奇偶校验矩阵的列之中的线性相关列。选择部件120b可选择线性相关行中的任何一个作为目标行,或者可选择线性相关列中的任何一个作为目标列。选择部件120b的操作与上面参照图1A所述的选择部件120a的操作相同,因此将省略对其的详细描述。
条目替换部件130b可从包括在目标行或列中的循环矩阵之中选择任何一个循环矩阵,并且可利用零矩阵来替换所选择的循环矩阵。条目替换部件130b的操作与上面参照图1A所述的条目替换部件130a的操作相同,因此将省略对其的详细描述。然而,与图1A中的将条目被改变的奇偶校验矩阵提供给矩阵存储部件140a的实施例不同,条目替换部件130b可直接将条目被改变的奇偶校验矩阵提供至外部装置。
图2A和图2B是用于说明QC-LDPC码的奇偶校验矩阵的示图。
在图2A中,示出了“M×N”奇偶校验矩阵。此处,“M”和“N”可各自是“2”或更大的整数。奇偶校验矩阵可包括多个子矩阵。也就是说,奇偶校验矩阵的每一个条目可以是子矩阵。奇偶校验矩阵的每一个条目可由“1”或“0”表示。“1”表示对应的条目是循环矩阵,“0”表示对应的条目是零矩阵。为便于描述,已将附图标记Am.n分配给第m行和第n列中的条目。也就是说,附图标记Am.n表示第m行和第n列中的条目。
在奇偶校验矩阵中,由“1”表示的条目可表示“k×k”循环矩阵。此处,“k”可以是“2”或更大的整数。循环矩阵可以是通过将单位矩阵循环地移位预定移位值而获得的矩阵,并且任何一个循环矩阵可具有与另一循环矩阵的移位值不同的移位值。例如,如图2B所示,由附图标记A1.1表示的条目可以是通过将单位矩阵向右循环移位“1”(即,移位值为“1”)而获得的循环矩阵,并且由附图标记AM,3表示的条目可以是通过将单位矩阵向右循环移位“2”(即,移位值为“2”)而获得的循环矩阵。
在奇偶校验矩阵中,由“0”表示的条目可表示“k×k”零矩阵。例如,如图2B所示,由附图标记A1.2表示的条目可以是零矩阵。奇偶校验矩阵中的所有条目,即所有循环矩阵和所有零矩阵,可以是具有相同大小的方阵。
图3是示出根据本公开的实施例的转换奇偶校验矩阵的方法的流程图。
将参照图3描述的实施例可被分别应用于上面参照图1A和图1B描述的奇偶校验矩阵转换电路100a和100b。在本公开的实施例中,可省略图3所示的步骤中的至少一个。
在步骤301中,确定部件(诸如分别在图1A和图1B中示出的确定部件110a和110b)可确定外部输入的奇偶校验矩阵是否具有满秩。例如,确定部件可通过基于奇偶校验矩阵的行计算秩来确定输入的奇偶校验矩阵是否具有满秩,或者可通过基于奇偶校验矩阵的列计算秩来确定输入的奇偶校验矩阵是否具有满秩。当输入的奇偶校验矩阵具有满秩(即,步骤301中为“是”)时,可执行步骤307。当输入的奇偶校验矩阵不具有满秩(即,步骤301中为“否”)时,可执行步骤303。
在步骤303中,当输入的奇偶校验矩阵不具有满秩时,选择部件(诸如分别在图1A和图1B中示出的选择部件120a和120b)可从奇偶校验矩阵的行或列之中选择条目待被改变的目标行或列。对于该操作,选择部件可检测奇偶校验矩阵的行或列之中的线性相关行或列。也就是说,选择部件可检测奇偶校验矩阵的行之中的线性相关行,或者可检测奇偶校验矩阵的列之中的线性相关列。下面,将分别描述基于行能够具有满秩“R”的奇偶校验矩阵的秩为“R-1”和“R-r”的情况。此处,“R”是等于或大于“2”的整数,“r”是等于或大于“2”并且小于或等于“R”的整数。
首先,下面将描述基于行能够具有满秩“R”的奇偶校验矩阵的秩为“R-1”的情况。基于行能够具有满秩R的奇偶校验矩阵的秩为“R-1”的事实表示线性相关行的组的数量为“1”。例如,在具有秩“4”的5×10奇偶校验矩阵的行之中,第一行、第三行和第五行是线性相关的,并且不存在除相应行之外的另外线性相关行的情况可以是线性相关行的组的数量为“1”的情况。在这种情况下,选择部件可选择线性相关行中的任何一个作为目标行。例如,选择部件可从线性相关行中选择作为最后一行的第五行、作为开始行的第一行、或者选择作为处于第一行和最后一行之间的行的第三行。
接下来,下面将描述基于行能够具有满秩“R”的奇偶校验矩阵的秩为“R-r”的情况。基于行能够具有满秩R的奇偶校验矩阵的秩为“R-r”的事实表示线性相关行的组的数量为“r”。在这种情况下,选择部件可从“r”个组中的每一个选择任何一行作为目标行。也就是说,当线性相关行的组的数量为“r”时,可通过从每一组中选择一个行的方式来选择总共“r”个行。
在步骤305中,条目替换部件(诸如分别在图1A和图1B示出的条目替换部件130a和130b)可从包括在由选择部件选择的目标行或列中的循环矩阵之中选择任何一个循环矩阵,并且可利用零矩阵替换所选择的循环矩阵。也就是说,条目替换部件可利用零矩阵替换包括在目标行中的循环矩阵中的任何一个,或者可利用零矩阵替换包括在目标列中的循环矩阵中的任何一个。其中任何一个循环矩阵被零矩阵替换的奇偶校验矩阵可以是具有满秩的奇偶校验矩阵。如上所述,条目待被改变的目标行的数量可以是多个。在这种情况下,条目替换部件可从目标行或列中的每一个中选择任何一个循环矩阵,并且可利用零矩阵替换所选择的循环矩阵。
条目替换部件可利用零矩阵来替换在每一个条目待被改变的目标行或列中包括的循环矩阵之中的与预定循环相对应的循环矩阵。例如,预定循环可以是奇偶校验矩阵的围长或偶数“6”或更大的偶数。例如,预定循环可以是与包括在目标行中的循环矩阵相对应的循环之中的最短循环。
当包括在目标行或列中的循环矩阵之中的多个循环矩阵对应于预定循环时,条目替换部件可利用零矩阵替换多个循环矩阵中的任何一个。例如,条目替换部件可基于多个循环矩阵中的每一个对应于预定循环的次数,利用零矩阵来替换多个循环矩阵中的任何一个。例如,条目替换部件可利用零矩阵替换多个循环矩阵之中的最多次对应于预定循环的循环矩阵。
当在条目待被改变的目标行或列中包括的循环矩阵之中,两个或更多个循环矩阵最多次对应于预定循环时,条目替换部件可利用零矩阵来替换两个或更多个循环矩阵之中的、最多次对应于在预定循环之后的循环的循环矩阵。
在步骤307中,可存储和/或输出奇偶校验矩阵。在步骤307中存储和/或输出的奇偶校验矩阵可以是其中改变了至少一个条目的奇偶校验矩阵或其中没有改变条目的奇偶校验矩阵。也就是说,在步骤307中存储和/或输出的奇偶校验矩阵可以是外部输入的奇偶校验矩阵或其中利用零矩阵替换了包括在外部输入的奇偶校验矩阵的行或列的任何一个中的循环矩阵的奇偶校验矩阵。
图4是用于说明根据本公开的实施例的选择线性相关行中的任何一个的示例的示图。
在图4中,示出了M×N奇偶校验矩阵。此处,M和N可各自是“2”或更大的整数。
如上所述,确定部件(诸如分别在图1A和图1B中示出的确定部件110a和110b)可计算奇偶校验矩阵的秩,并且选择部件(诸如分别在图1A和图1B中示出的选择部件120a和120b)可检查(或检测)奇偶校验矩阵的行之中的线性相关行。为了计算秩和检查线性相关行,可使用诸如高斯-约旦消去的各种算法。在将参照图4描述的实施例中,假设奇偶校验矩阵的秩被计算为“M-1”,并且找到第一行、第(M-1)行及第M行为线性相关的。
选择部件可选择线性相关的第一、第(M-1)和第M行中的任何一个作为条目待被改变的目标行。例如,选择部件可从线性相关行之中选择作为最后一行的第M行、作为开始行的第一行、或者选择处于第一行和第M行之间的第(M-1)行。
一旦选择了目标行,就应当从包括在所选择行中的循环矩阵之中选择待利用零矩阵替换的循环矩阵。下面,为便于描述,将描述通过使用奇偶校验矩阵的Tanner图来选择待利用零矩阵替换的循环矩阵的示例。然而,为了选择待利用零矩阵替换的循环矩阵,还可使用除使用Tanner图的方法之外的各种方法,并且本公开不限于使用Tanner图。
图5是将图4的奇偶校验矩阵示出为Tanner图的示图。
LDPC码可由表示等效二分图的Tanner图来表示。Tanner图可由校验节点CN1至CNM、变量节点VN1至VNN和边缘(由虚线和实线表示)来表示。此处,“M”和“N”可各自是“2”或更大的整数。校验节点CN1至CNM可表示奇偶校验矩阵的各个行,并且变量节点VN1至VNN可表示奇偶校验矩阵的各个列。每一个边缘将一个校验节点联接到一个变量节点并且表示奇偶校验矩阵中的由“1”表示的循环矩阵。
在上面参照图4描述的实施例中,假设选择第M行作为条目待被改变的目标行,图5中的对应于第M行的校验节点为校验节点CNM,并且第一至第四边缘表示包括在第M行中的循环矩阵。例如,第一边缘表示奇偶校验矩阵的第M行和第一列中的循环矩阵,第四边缘表示奇偶校验矩阵的第M行和第N列中的循环矩阵。第二边缘和第三边缘表示处于第M行和第一列与第M行和第N列之间的循环矩阵。
对于第一至第四边缘中的每一个,可计算边缘所对应的循环和每一个边缘对应于相关循环的次数。这表示可计算包括在奇偶校验矩阵中的各个循环矩阵所对应的循环和每一个循环矩阵对应于相关循环的次数。可使用各种传统方法来计算各个循环矩阵所对应的循环和每一个循环矩阵对应于相关循环的次数。例如,可计算Tanner图中的从任意节点出发并到达任意节点的所有可能路径,并且每一个所计算路径中包括的边缘的数量表示循环。因此,当检查到通过与任意节点联接的某个边缘的所有路径时,可计算与该某个边缘对应的循环和该某个边缘对应于循环的次数。
图6和图7是用于说明利用零矩阵替换与图5的Tanner图中的边缘相对应的循环矩阵的示例的示图。
在图6中,示出了图5所示的第一至第四边缘对应于循环6和循环8的次数。
如上所述,当存在多个对应于预定循环的循环矩阵时,条目替换部件(诸如分别在图1A和图1B示出的条目替换部件130a和130b)可利用零矩阵来替换多个循环矩阵之中的最多次对应于预定循环的循环矩阵。
假设预定循环为循环6,第一至第四边缘之中的最多次对应于循环6的边缘是第四边缘。因此,条目替换部件可选择对应于第四边缘的循环矩阵,并且可利用零矩阵替换所选择的循环矩阵。参照图4和图5,可看出的是,校验节点CNM的第四边缘是第M行和第N列中的循环矩阵。因此,条目替换部件可利用零矩阵替换第M行和第N列中的循环矩阵。参照图7,可看出的是,利用零矩阵替换了图4所示的第M行和第N列中的循环矩阵。
图8和图9是用于说明利用零矩阵替换与图5的Tanner图中的边缘相对应的循环矩阵的示例的示图。
图8示出了图5所示的第一至第四边缘对应于循环6和循环8的次数。
如上所述,当存在多个最多次对应于预定循环的循环矩阵时,条目替换部件可利用零矩阵替换该多个循环矩阵之中的最多次对应于在预定循环之后的循环的循环矩阵。
假设预定循环为循环6,第一至第四边缘之中最多次对应于循环6的边缘是第一边缘和第四边缘。因此,条目替换部件可检查第一边缘和第四边缘中的最多次对应于循环8的边缘,其中循环8为在循环6之后的循环。参照图8,可看出的是,第一边缘对应于循环8八次,第四边缘对应于循环8六次。因此,条目替换部件可选择对应于第一边缘的循环矩阵,并且可利用零矩阵替换所选择的循环矩阵。参照图4和图5,可看出的是,校验节点CNM的第一边缘是第M行和第一列中的循环矩阵。因此,条目替换部件可利用零矩阵替换第M行和第一列中的循环矩阵。参照图9,可看出的是,已经利用零矩阵替换了图4所示的第M行和第一列中的循环矩阵。
图10是用于说明根据本公开的实施例的从包括线性相关行的组中的每一个中选择任何一行的示例的示图。
在图10中,示出了“M×N”奇偶校验矩阵。此处,“M”和“N”可各自是“2”或更大的整数。
如上所述,确定部件可计算奇偶校验矩阵的秩,选择部件可检查(或检测)奇偶校验矩阵的行之中的线性相关行。为了计算秩和检查线性相关行,可使用诸如高斯-约旦消去的各种算法。在参照图10描述的实施例中,假设奇偶校验矩阵的秩被计算为“M-2”,并且找到线性相关行的组的数量为“2”。而且,假设第一组包括第一行、第(M-1)行和第M行,并且第二组包括第三行、第四行和第五行。
选择部件可从每一个组中选择条目待被改变的行。也就是说,选择部件可选择包括在第一组中的第一、第(M-1)和第M行中的任何一个作为条目待被改变的目标行,并且可选择包括在第二组中的第三、第四和第五行中的任何一个作为条目待被改变的目标行。
例如,选择部件可从包括在第一组中的行之中选择作为最后一行的第M行,并且可从包括在第二组中的行之中选择作为最后一行的第五行。
图11A、图11B和图12是示出利用零矩阵替换在图10所示的第一组和第二组中的每一个中包括的循环矩阵中的任何一个的示例的示图。
在将参照图11A描述的实施例中,假设选择了在图10所示的第二组中包括的行之中的作为最后一行的第五行的情况。图11A示出了包括在第五行中的循环矩阵对应于循环6和循环8的次数。
如上所述,条目替换部件可选择对应于预定循环的循环矩阵,并且可利用零矩阵替换所选择的循环矩阵。
假设预定循环是循环6,并且在包括在第五行中的循环矩阵之中,仅存在循环矩阵A5.N-1作为对应于循环6的循环矩阵,则条目替换部件可利用零矩阵替换循环矩阵A5.N-1
在将参照图11B描述的实施例中,假设选择了在图10所示的第一组中包括的行之中的作为最后一行的第M行的情况。在图11B中,示出了包括在第M行中的循环矩阵对应于循环6和循环8的次数。
如上所述,当存在多个最多次对应于预定循环的循环矩阵时,条目替换部件可利用零矩阵替换该多个循环矩阵之中的最多次对应于在预定循环之后的循环的循环矩阵。
假设预定循环是循环6,在包括在第M行中的循环矩阵之中,最多次对应于循环6的循环矩阵是循环矩阵AM.1和循环矩阵AM.N。因此,条目替换组件可检查循环矩阵AM.1和AM.N中的最多次对应于循环8的循环矩阵,其中循环8为在循环6之后的循环。参照图11B,可看出的是,循环矩阵AM.1对应于循环8八次,循环矩阵AM.N对应于循环8六次。因此,条目替换部件可选择循环矩阵AM.1,并且可利用零矩阵替换所选择的循环矩阵AM.1
参照图12,可看出的是,利用零矩阵替换图10所示的循环矩阵A5.N-1和循环矩阵AM.1
图13A是示出根据本公开的实施例的存储器系统2000a的示图。
参照图13A,存储器系统2000a可包括存储数据的存储器装置2200a和在主机1000的控制下控制存储器装置2200a的存储器控制器2100a。
主机1000可使用诸如以下的接口协议与存储器系统2000a进行通信:高速外围组件互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串列SCSI(SAS)。主机1000与存储器系统2000a之间使用的接口协议不限于上述示例,并且可使用诸如以下的接口协议:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或电子集成驱动器(IDE)。
存储器控制器2100a可控制存储器系统2000a的全部操作,并且可控制主机1000与存储器装置2200a之间的数据交换。例如,存储器控制器2100a可转换接收的信息并存储或输出转换的信息,使得命令、地址和数据可在主机1000和存储器装置2200a之间传输。在编程操作期间,存储器控制器2100a可将命令、地址和数据传输到存储器装置2200a。
存储器控制器2100a可包括主机接口2110a、中央处理单元(CPU)2120a、存储器接口2130a、缓冲存储器2140a、错误校正电路2150a及内部存储器2160a。可由CPU 2120a控制主机接口2110a、存储器接口2130a、缓冲存储器2140a、错误校正电路2150a和内部存储器2160a。
主机接口2110a可使用通信协议来执行与主机1000的数据交换。
CPU 2120a可执行各种类型的计算或生成命令和地址,以便控制存储器装置2200a。例如,CPU 2120a可生成编程操作、读取操作、擦除操作、数据压缩操作和回拷贝(copy-back)操作所需的各种命令。
存储器接口2130a可使用通信协议与存储器装置2200a通信。
缓冲存储器2140a可在存储器控制器2100a控制存储器装置2200a的同时临时存储数据。例如,在完成编程操作之前,可将从主机接收的数据临时存储在缓冲存储器2140a中。进一步地,在读取操作期间,从存储器装置2200a读取的数据可被临时存储在缓冲存储器2140a中。
错误校正电路2150a可在编程操作期间执行错误校正编码,或者可在读取操作期间执行错误校正解码。错误校正电路2150a可包括奇偶校验矩阵转换电路2151a和错误校正解码器2157a。
奇偶校验矩阵转换电路2151a可包括确定部件2152a、选择部件2153a、条目替换部件2154a和矩阵存储部件2155a。奇偶校验矩阵转换电路2151a可执行与上面参照图1A描述的奇偶校验矩阵转换电路100a相同的操作。也就是说,图13A的确定部件2152a、选择部件2153a、条目替换部件2154a和矩阵存储部件2155a可执行分别对应于图1A的确定部件110a、选择部件120a、条目替换部件130a和矩阵存储部件140a的操作。
错误校正解码器2157a可使用奇偶校验矩阵对从存储器装置2200a读取的数据,即码字来执行错误校正解码。用于错误校正解码的奇偶校验矩阵可以是外部输入到错误校正电路2150a的奇偶校验矩阵,或者是外部输入到错误校正电路2150a的其中改变了一些条目的奇偶校验矩阵。当执行错误校正解码时,错误校正解码器2157a可检查读取数据中是否存在错误,并且可在检测到错误时使用奇偶校验矩阵来校正错误。例如,错误校正解码器2157a可基于奇偶校验矩阵计算对应于读取数据的校正子,并且可基于所计算的校正子来确定读取数据中是否包含错误。当包含在读取数据中的错误可校正时,错误校正解码器2157a可校正错误并输出错误校正后的数据。当包括在读取数据中的错误不可校正时,错误校正解码器2157a可向CPU 2120a报告错误校正解码失败。
内部存储器2160a可用作存储存储器控制器2100a的操作所需的各种类型信息的存储器。
存储器装置2200a可在存储器控制器2100a的控制下执行编程操作、读取操作、擦除操作、数据压缩操作和回拷贝操作。存储器装置2200a可被实施为当电源中断时丢失所存储的数据的易失性存储器装置,或者被实施为即使当电源中断时也保留所存储的数据的非易失性存储器装置。在下面将描述的实施例中,通过示例描述了包括在非易失性存储器装置中的闪速存储器。在编程操作期间,存储器装置2200a可基于命令和地址对数据进行编程或输出存储的数据。
图13B是示出根据本公开的实施例的存储器系统的示图。
在将参照图13B描述的实施例中,将省略以上参照图13A描述的与本公开的实施例有关的重复描述。
参照图13B,存储器系统2000b可包括存储数据的存储器装置2200b和在主机1000的控制下控制存储器装置2200b的存储器控制器2100b。
错误校正电路2150b可在编程操作期间执行错误校正编码,或者可在读取操作期间执行错误校正解码。错误校正电路2150b可包括奇偶校验矩阵转换电路2151b和错误校正解码器2157b。
奇偶校验矩阵转换电路2151b可包括确定部件2152b、选择部件2153b和条目替换部件2154b。奇偶校验矩阵转换电路2151b可执行与上面参照图1B描述的奇偶校验矩阵转换电路100b相同的操作。也就是说,图13B的确定部件2152b、选择部件2153b和条目替换部件2154b可执行分别对应于图1B的确定部件110b、选择部件120b和条目替换部件130b的操作。
错误校正解码器2157b可使用奇偶校验矩阵对从存储器装置2200b读取的数据,即码字来执行错误校正解码。
除了不包括矩阵存储部件(诸如图13A所示的矩阵存储部件2155a)之外,图13B的实施例的配置与参照图13A描述的实施例的配置相同。在图13B的实施例中,可从条目替换部件2154b直接将条目被改变的奇偶校验矩阵传输到错误校正解码器2157b。在本公开的实施例中,奇偶校验矩阵可被存储在错误校正电路2150b中存在的单独的存储空间中,然后当从错误校正解码器2157b接收到请求时可将奇偶校验矩阵传输到错误校正解码器2157b。
图14是示出根据本公开的实施例的存储器装置的示图。图14所示的存储器装置可被应用于图13A和图13B所示的存储器系统。
存储器装置2200可包括控制逻辑2210、外围电路2220和存储器单元阵列2240。外围电路2220可包括电压生成电路2222、行解码器2224、输入/输出电路2226、列解码器2228、页面缓冲器组2232和电流感测电路2234。
控制逻辑2210可在图13A的存储器控制器2100a或图13B的存储器控制器2100b的控制下控制外围电路2220。控制逻辑2210可响应于通过输入/输出电路2226从存储器控制器接收的命令CMD和地址ADD来控制外围电路2220。例如,控制逻辑2210可响应于命令CMD和地址ADD,输出操作信号OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和启用位VRY_BIT<#>。控制逻辑2210可响应于从电流感测电路2234接收的通过信号PASS或失败信号FAIL来确定验证操作已经通过还是失败。
外围电路2220可在控制逻辑2210的控制下执行将数据存储在存储器单元阵列2240中的编程操作、输出存储在存储器单元阵列2240中的数据的读取操作以及擦除存储在存储器单元阵列2240中的数据的擦除操作。进一步地,外围电路2220可执行使用奇偶校验数据来减少数据容量的数据压缩操作,或者执行将数据复制到另一存储块的回拷贝操作。
电压生成电路2222可响应于从控制逻辑2210接收的操作信号OP_CMD而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压生成电路2222可生成编程电压、验证电压、通过电压、补偿编程电压、读取电压、擦除电压和导通电压等。
行解码器2224可响应于从控制逻辑2210接收的行地址RADD,将操作电压Vop传输到局部线LL,该局部线LL联接到从包括在存储器单元阵列2240中的存储块中选择的存储块。局部线LL可包括局部字线、局部漏极选择线和局部源极选择线。另外,局部线LL可包括联接到存储块的各种线,诸如源极线。
输入/输出电路2226可通过输入/输出(IO)线将从存储器控制器接收的命令CMD和地址ADD传输到控制逻辑2210,或者可与列解码器2228交换数据。
列解码器2228可响应于从控制逻辑2210接收的列地址CADD,在输入/输出电路2226和页面缓冲器组2232之间传输数据。例如,列解码器2228可通过数据线DL与页面缓冲器PB1至PBI交换数据,或者可通过列线CL与输入/输出电路2226交换数据。
页面缓冲器组2232可联接到位线BL1至BLI,位线BL1至BLI共同联接到包括在存储器单元阵列2240中的存储块。页面缓冲器组2232可包括联接到位线BL1至BLI的多个页面缓冲器PB1至PBI。例如,单个页面缓冲器可联接到每一个位线。页面缓冲器PB1至PBI可响应于从控制逻辑2210接收的页面缓冲器控制信号PBSIGNALS进行操作。例如,在编程操作期间,页面缓冲器PB1至PBI可临时存储从存储器控制器接收的编程数据,并且可基于编程数据来控制待施加到位线BL1至BLI的电压。而且,在读取操作期间,页面缓冲器PB1至PBI可临时存储通过位线BL1至BLI接收的数据,或者可感测位线BL1至BLI的电压或电流。
在读取操作或验证操作期间,电流感测电路2234可响应于从控制逻辑2210接收的启用位VRY_BIT<#>而生成参考电流,并且可将由参考电流生成的参考电压与从页面缓冲器组2232接收的感测电压VPB进行比较,然后输出通过信号PASS或失效信号FAIL。
存储器单元阵列2240可包括存储数据的多个存储块MB1至MBk。在存储块MB1至MBk中,可存储用户数据和存储器装置2200的操作所需的各种类型的信息。存储块MB1至MBk可均被实施为二维(2D)结构或三维(3D)结构并且可进行等同地配置。
图15是示出具有2D结构的存储块的示图。
存储器单元阵列可包括多个存储块,并且为便于描述,在图15中示出了多个存储块中的任何一个存储块MBk。
存储块MBk可包括联接在位线BL1至BLI与源极线SL之间的多个单元串ST。单元串ST可分别联接到位线BL1至BLI,并且可共同联接到源极线SL。因为单元串ST可具有类似的结构,所以下面将通过示例的方式描述联接到第一位线BL1的单元串ST。
单元串ST可包括串联联接在源极线SL和第一位线BL1之间的源极选择晶体管SST、第一至第n存储器单元F1至Fn(其中n为正整数)以及漏极选择晶体管DST。源极选择晶体管SST的数量和漏极选择晶体管DST的数量不限于图15所示的特定数量。
源极选择晶体管SST可联接在源极线SL与第一存储器单元F1之间。第一至第n存储器单元F1至Fn可串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。漏极选择晶体管DST可联接在第n存储器单元Fn和第一位线BL1之间。虽然图中未示出,但虚设单元可进一步联接在存储器单元F1至Fn之间或者联接在源极选择晶体管SST和漏极选择晶体管DST之间。
包括在各个单元串ST中的源极选择晶体管SST的栅极可联接到源极选择线SSL。第一至第n存储器单元F1至Fn的栅极可分别联接到第一至第n字线WL1至WLn。漏极选择晶体管DST的栅极可联接到漏极选择线DSL。此处,联接到字线WL1至WLn中的每一个的一组存储器单元可被称为“物理页面(PPG)”。例如,包括在不同单元串ST中的存储器单元F1至Fn中联接到第一字线WL1的一组第一存储器单元F1可以是单个物理页面PPG。当使用多层单元(MLC)方案时,单个物理页面PPG中可包括多个逻辑页面。
图16是示出具有3D结构的存储块的示例的示图。
存储器单元阵列可包括多个存储块,并且为便于描述,在图16中示出了多个存储块中的任何一个存储块MBk。
参照图16,具有3D结构的存储块MBk可在垂直于衬底的方向(即,Z方向)上以I型形成在衬底上。存储块MBk可包括布置在位线BL与源极线SL之间的多个单元串ST。在本公开的实施例中,可形成阱区(well)而非源极线SL。这种结构可被称为“位成本可缩放”(BiCS)结构。例如,在源极线SL水平地形成在衬底上的情况下,具有BiCS结构的单元串ST可在垂直于衬底的方向(即,Z方向)上形成在源极线SL上。
详细地,可在第一方向(即,X方向)和第二方向(即,Y方向)上单独布置单元串ST。单元串ST可包括彼此间隔开进行堆叠的源极选择线SSL、字线WL和漏极选择线DSL。源极选择线SSL的数量、字线WL的数量和漏极选择线DSL的数量不限于图中所示的数量,并且可根据实施例而变化。单元串ST可包括垂直沟道层CH和位线BL。垂直沟道层CH可被形成为垂直穿过源极选择线SSL、字线WL和漏极选择线DSL。位线BL可与垂直沟道层CH的从漏极选择线DSL向上突出的顶部接触,并且可在第二方向(即,Y方向)上延伸。存储器单元可形成在字线WL和垂直通道层CH之间。接触插塞CT可进一步形成在位线BL和垂直通道层CH之间。
图17是示出具有3D结构的存储块的示例的示图。
存储器单元阵列可包括多个存储块,并且为便于描述,在图17中示出了多个存储块中的任何一个存储块MBk。
参照图17,具有3D结构的存储块MBk可在垂直于衬底的方向(即,Z方向)上以U型形成在衬底上。存储块MBk可包括源极串ST_S和漏极串ST_D,它们联接在位线BL和源极线SL之间并形成对。源极串ST_S中的每一个和对应的漏极串ST_D可通过管道栅极PG彼此联接以形成U型。管道栅极PG可形成在管线PL中。更详细地,源极串ST_S可被形成为垂直于源极线SL与管线PL之间的衬底,并且漏极串ST_D可被形成为垂直于位线BL与管线PL之间的衬底。这种结构可被称为管形位成本可缩放(P-BiCS)结构。
详细地,可在第一方向(即,X方向)和第二方向(即,Y方向)上单独布置漏极串ST_D和源极串ST_S。漏极串ST_D和源极串ST_S可沿第二方向(即,Y方向)交替布置。漏极串ST_D中的每一个可包括字线WL和漏极选择线DSL,它们在彼此间隔开的同时进行堆叠。漏极串ST_D中的每一个可包括被形成为垂直穿过字线WL和漏极选择线DSL的漏极垂直沟道层D_CH。源极串ST_S中的每一个可包括字线WL和源极选择线SSL,它们在彼此间隔开的同时进行堆叠。源极串ST_S中的每一个可包括被形成为垂直穿过字线WL和源极选择线SSL的源极垂直沟道层S_CH。漏极垂直沟道层D_CH和源极垂直沟道层S_CH可经由管线PL中的对应管道栅极PG而彼此联接。位线BL可与漏极垂直沟道层D_CH的从漏极选择线DSL向上突出的顶部接触,并且可在第二方向(即,Y方向)上延伸。
图18是示出包括图13A和图13B的存储器控制器的存储器系统的实施例的示图。
参照图18,存储器系统30000可被实施成移动电话、智能电话、平板个人计算机(PC)、个人数字助理(PDA)或无线通信装置。存储器系统30000可包括存储器装置2200和能够控制存储器装置2200的操作的存储器控制器2100。图18所示的存储器装置2200可对应于图13A所示的存储器装置2200a或图13B所示的存储器装置2200b。图18所示的存储器控制器2100可对应于图13A所示的存储器控制器2100a或图13B所示的存储器控制器2100b。
存储器控制器2100可在处理器3100的控制下控制存储器装置2200的数据存取操作,例如编程操作、擦除操作或读取操作。
编程在存储器装置2200中的数据可在存储器控制器2100的控制下通过显示器3200输出。
无线电收发器3300可通过天线ANT发送和接收无线电信号。例如,无线电收发器3300可将通过天线ANT接收的无线电信号改变为可由处理器3100处理的信号。因此,处理器3100可处理从无线电收发器3300输出的信号,并将处理后的信号传输到存储器控制器2100或显示器3200。存储器控制器2100可将由处理器3100处理的信号传输到存储器装置2200。此外,无线电收发器3300可将从处理器3100输出的信号改变为无线电信号,并且通过天线ANT将改变后的无线电信号输出到外部装置。输入装置3400可用于输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据。输入装置3400可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。处理器3100可控制显示器3200的操作,使得从存储器控制器2100输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
在本公开的实施例中,能够控制存储器装置2200的操作的存储器控制器2100可被实施为处理器3100的一部分或与处理器3100分开设置的芯片。
图19是示出包括图13A和图13B的存储器控制器的存储器系统的实施例的示图。
参照图19,存储器系统40000可被实现在个人计算机、平板电脑、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统40000可包括存储器装置2200和能够控制存储器装置2200的数据处理操作的存储器控制器2100。图19所示的存储器装置2200可对应于图13A所示的存储器装置2200a或图13B所示的存储器装置2200b。图19所示的存储器控制器2100可对应于图13A所示的存储器控制器2100a或图13B所示的存储器控制器2100b。
处理器4100可根据从输入装置4200输入的数据,通过显示器4300输出存储在存储器装置2200中的数据。例如,输入装置4200可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可控制存储器系统40000的全部操作,并且控制存储器控制器2100的操作。在本公开的实施例中,能够控制存储器装置2200的操作的存储器控制器2100可被实施为处理器4100的一部分或与处理器4100分开设置的芯片。
图20是示出包括图13A和图13B的存储器控制器的存储器系统的实施例的示图。
参照图20,存储器系统50000可被实现在图像处理装置中,例如数码相机、设置有数码相机的便携式电话、设置有数码相机的智能电话或设置有数码相机的平板电脑。
存储器系统50000可包括存储器装置2200和能够控制存储器装置2200的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器2100。图20所示的存储器装置2200可对应于图13A所示的存储器装置2200a或图13B所示的存储器装置2200b。图20所示的存储器控制器2100可对应于图13A所示的存储器控制器2100a或图13B所示的存储器控制器2100b。
存储器系统50000的图像传感器5200可将光学图像转换为数字信号。转换后的数字信号可被传输到处理器5100或存储器控制器2100。在处理器5100的控制下,转换后的数字信号可通过显示器5300输出,或通过存储器控制器2100而被存储在存储器装置2200中。存储在存储器装置2200中的数据可在处理器5100或存储器控制器2100的控制下通过显示器5300输出。
在本公开的实施例中,能够控制存储器装置2200的操作的存储器控制器2100可被实施为处理器5100的一部分或与处理器5100分开设置的芯片。
图21是示出包括图13A和图13B的存储器控制器的存储器系统的实施例的示图。
参照图21,存储器系统70000可被实施在存储卡或智能卡中。存储器系统70000可包括存储器控制器2100、存储器装置2200和卡接口7100。图21所示的存储器装置2200可对应于图13A所示的存储器装置2200a或图13B所示的存储器装置2200b。图21所示的存储器控制器2100可对应于图13A所示的存储器控制器2100a或图13B所示的存储器控制器2100b。
存储器控制器2100可控制存储器装置2200和卡接口7100之间的数据交换。在本公开的实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但不限于此。
卡接口7100可根据主机60000的协议来接口连接主机60000和存储器控制器2100以进行数据交换。在本公开的实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间USB(IC-USB)协议。此处,卡接口7100可指能够支持主机60000使用的协议的硬件、安装在硬件中的软件或者信号传输方法。
当存储器系统70000连接到诸如个人电脑、平板电脑、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器6100的控制下通过卡接口7100和存储器控制器2100与存储器装置2200进行数据通信。
根据本公开,可转换QC-LDPC码的奇偶校验矩阵。
根据本公开,可生成具有满秩的奇偶校验矩阵。
虽然为了说明的目的公开了本公开的示例性实施例,但本领域技术人员将理解的是,可进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求和权利要求的等同物来限定,而非由之前的描述来限定。

Claims (24)

1.一种用于转换准循环低密度奇偶校验码,即QC-LDPC码的奇偶校验矩阵的电路,所述奇偶校验矩阵包括循环矩阵,所述电路包括:
确定部件,确定外部输入的奇偶校验矩阵是否具有满秩;
选择部件,基于所述确定部件的确定结果,检测所述奇偶校验矩阵的行或列之中的线性相关行或列,并且从所述线性相关行或线性相关列中选择任意一行或列;以及
条目替换部件,利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任何一个。
2.根据权利要求1所述的电路,其中当检测到所述线性相关行或列的两个或更多个组时,所述选择部件从每个组中选择任意一行或列。
3.根据权利要求1所述的电路,进一步包括:
矩阵存储部件,存储具有满秩的外部输入的奇偶校验矩阵,或者存储包括被零矩阵替换的一个循环矩阵的奇偶校验矩阵。
4.根据权利要求1所述的电路,其中所述条目替换部件利用零矩阵替换包括在所述一行或列中的循环矩阵之中的与预定循环相对应的循环矩阵。
5.根据权利要求4所述的电路,其中所述条目替换部件利用零矩阵替换与包括在所述一行或列中的循环矩阵所对应的循环之中的最短循环相对应的循环矩阵。
6.根据权利要求4所述的电路,其中当包括在所述一行或列中的循环矩阵之中的多个循环矩阵对应于预定循环时,所述条目替换部件基于所述多个循环矩阵中的每个对应于所述预定循环的次数,来利用零矩阵替换所述多个循环矩阵中的任意一个。
7.根据权利要求6所述的电路,其中所述条目替换部件利用零矩阵替换所述多个循环矩阵之中的最多次对应于所述预定循环的循环矩阵。
8.根据权利要求7所述的电路,其中当所述多个循环矩阵之中的两个或更多个循环矩阵最多次对应于所述预定循环时,所述条目替换部件利用零矩阵来替换所述两个或更多个循环矩阵之中的最多次对应于在所述预定循环之后的循环的循环矩阵。
9.一种转换QC-LDPC码的奇偶校验矩阵的方法,所述奇偶校验矩阵包括循环矩阵,所述方法包括:
确定外部输入的奇偶校验矩阵是否具有满秩;
基于所确定的结果,检测所述奇偶校验矩阵的行或列之中的线性相关行或列,并且从所述线性相关行或列中选择任意一行或列;以及
利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任意一个。
10.根据权利要求9所述的方法,其中当检测到所述线性相关行或列的两个或更多个组时,从每个组中选择任意一行或列。
11.根据权利要求9所述的方法,进一步包括:存储具有满秩的外部输入的奇偶校验矩阵,或者存储包括被零矩阵替换的一个循环矩阵的奇偶校验矩阵。
12.根据权利要求9所述的方法,其中利用零矩阵替换包括在所述一行或列中的所述循环矩阵之中的与预定循环相对应的循环矩阵。
13.根据权利要求12所述的方法,其中利用零矩阵替换与包括在所述一行或列中的循环矩阵所对应的循环之中的最短循环相对应的循环矩阵。
14.根据权利要求12所述的方法,其中当包括在所述一行或列中的循环矩阵之中的多个循环矩阵对应于预定循环时,基于所述多个循环矩阵中的每个对应于所述预定循环的次数,来利用零矩阵替换所述多个循环矩阵中的任意一个。
15.根据权利要求14所述的方法,其中利用零矩阵替换所述多个循环矩阵之中的最多次对应于所述预定循环的循环矩阵。
16.根据权利要求15所述的方法,其中当所述多个循环矩阵之中的两个或更多个循环矩阵最多次对应于所述预定循环时,利用零矩阵来替换所述两个或更多个循环矩阵之中的最多次对应于在所述预定循环之后的循环的循环矩阵。
17.一种错误校正电路,用于使用QC-LDPC码的奇偶校验矩阵来执行错误校正解码,所述奇偶校验矩阵包括循环矩阵,所述错误校正电路包括:
奇偶校验矩阵转换电路,确定外部输入的奇偶校验矩阵是否具有满秩,基于所确定的结果检测所述奇偶校验矩阵的行或列之中的线性相关行或列,并且从所述线性相关行或列之中选择任意一行或列,并且利用零矩阵替换包括在所选择的一行或列中的循环矩阵中的任意一个,以及
错误校正解码器,使用一个循环矩阵被零矩阵替换的奇偶校验矩阵来执行错误校正解码。
18.根据权利要求17所述的错误校正电路,其中当检测到所述线性相关行或列的两个或更多个组时,所述奇偶校验矩阵转换电路从每个组中选择任意一行或列。
19.根据权利要求17所述的错误校正电路,其中所述奇偶校验矩阵转换电路存储具有满秩的外部输入的奇偶校验矩阵,或者存储包括被零矩阵替换的一个循环矩阵的奇偶校验矩阵。
20.根据权利要求17所述的错误校正电路,其中所述奇偶校验矩阵转换电路利用零矩阵替换包括在所述一行或列中的循环矩阵之中的与预定循环相对应的循环矩阵。
21.根据权利要求20所述的错误校正电路,其中所述奇偶校验矩阵转换电路利用零矩阵替换与包括在所述一行或列中的循环矩阵所对应的循环之中的最短循环相对应的循环矩阵。
22.根据权利要求20所述的错误校正电路,其中当包括在所述一行或列中的循环矩阵之中的多个循环矩阵对应于预定循环时,所述奇偶校验矩阵转换电路基于所述多个循环矩阵中的每个对应于所述预定循环的次数,来利用零矩阵替换所述多个循环矩阵中的任何一个。
23.根据权利要求22所述的错误校正电路,其中所述奇偶校验矩阵转换电路利用零矩阵替换所述多个循环矩阵之中的最多次对应于所述预定循环的循环矩阵。
24.根据权利要求23所述的错误校正电路,其中当所述多个循环矩阵之中的两个或更多个循环矩阵最多次对应于所述预定循环时,所述奇偶校验矩阵转换电路利用零矩阵来替换所述两个或多个循环矩阵之中的最多次对应于在所述预定循环之后的循环的循环矩阵。
CN201811525258.8A 2018-05-04 2018-12-13 用于转换奇偶校验矩阵的电路、错误校正电路及操作方法 Active CN110445495B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0051975 2018-05-04
KR1020180051975A KR102449782B1 (ko) 2018-05-04 2018-05-04 준순환 저밀도 패리티 체크 코드의 패리티 체크 행렬 변환 회로, 이를 포함하는 에러 정정 회로 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
CN110445495A true CN110445495A (zh) 2019-11-12
CN110445495B CN110445495B (zh) 2023-05-05

Family

ID=68385585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811525258.8A Active CN110445495B (zh) 2018-05-04 2018-12-13 用于转换奇偶校验矩阵的电路、错误校正电路及操作方法

Country Status (3)

Country Link
US (1) US10700707B2 (zh)
KR (1) KR102449782B1 (zh)
CN (1) CN110445495B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10944429B1 (en) * 2020-01-02 2021-03-09 Silicon Motion, Inc. Data accessing method using data protection with aid of parity check matrix having partial sequential information, and associated apparatus
US11755407B2 (en) 2021-05-26 2023-09-12 Western Digital Technologies, Inc. Multi-rate ECC parity for fast SLC read

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119118A (zh) * 2007-09-06 2008-02-06 上海交通大学 分层准循环扩展构造的ldpc码的编码器
CN101753149A (zh) * 2008-12-10 2010-06-23 国家广播电影电视总局广播科学研究院 一种准循环低密度奇偶校验码的构造方法
US20100169736A1 (en) * 2008-12-31 2010-07-01 Stmicroelectronics, Inc. Encoding apparatus, system, and method using Low Density Parity Check (LDPC) codes
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构
US20160028419A1 (en) * 2014-07-22 2016-01-28 Lsi Corporation Systems and Methods for Rank Independent Cyclic Data Encoding
US20160049959A1 (en) * 2014-08-14 2016-02-18 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101922990B1 (ko) * 2011-11-11 2018-11-28 삼성전자주식회사 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법
WO2017105270A1 (en) * 2015-12-15 2017-06-22 Huawei Technologies Co., Ltd. Determination of a quasi-cyclic low-density parity-check, qc-ldpc, code for channel coding in digital communication systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119118A (zh) * 2007-09-06 2008-02-06 上海交通大学 分层准循环扩展构造的ldpc码的编码器
CN101753149A (zh) * 2008-12-10 2010-06-23 国家广播电影电视总局广播科学研究院 一种准循环低密度奇偶校验码的构造方法
US20100169736A1 (en) * 2008-12-31 2010-07-01 Stmicroelectronics, Inc. Encoding apparatus, system, and method using Low Density Parity Check (LDPC) codes
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构
US20160028419A1 (en) * 2014-07-22 2016-01-28 Lsi Corporation Systems and Methods for Rank Independent Cyclic Data Encoding
US20160049959A1 (en) * 2014-08-14 2016-02-18 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same

Also Published As

Publication number Publication date
KR20190127395A (ko) 2019-11-13
US10700707B2 (en) 2020-06-30
KR102449782B1 (ko) 2022-10-04
CN110445495B (zh) 2023-05-05
US20190341935A1 (en) 2019-11-07

Similar Documents

Publication Publication Date Title
KR102102828B1 (ko) 메모리에서 에러 정정 코드(ecc) 연산
JP6181257B2 (ja) 誤り訂正符号の編成を含む装置および方法
CN110299176A (zh) 存储器控制器及具有该存储器控制器的存储器系统
CN106409344A (zh) 数据储存设备及其操作方法
US10097208B2 (en) Error locator polynomial decoder method
KR20130135938A (ko) 데이터 감지 방법, 디바이스 및 시스템
US10985780B2 (en) Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller
US20200142744A1 (en) Logical address distribution in multicore memory system
CN113051098A (zh) 使用机器学习控制非易失性存储器设备的操作的方法和存储系统
TWI806649B (zh) 快閃記憶體裝置及快閃記憶體儲存管理方法
US20170093433A1 (en) Error locator polynomial decoder and method
CN109671459A (zh) 存储器系统及其操作方法
CN109753375A (zh) 存储器系统及其操作方法
US20160104527A1 (en) Determining soft data for fractional digit memory cells
CN111354406A (zh) 存储器装置及其操作方法以及包括其的存储器系统
CN110415753A (zh) 错误校正电路及操作该错误校正电路的方法
CN110297786A (zh) 存储器控制器、具有该控制器的存储器系统及其操作方法
CN110445495A (zh) 用于转换奇偶校验矩阵的电路、错误校正电路及操作方法
US10439644B2 (en) Error locator polynomial decoder and method
CN107229570A (zh) 存储器装置及其操作方法
CN108665940B (zh) Ecc编码电路、解码电路以及存储器控制器
US11216363B2 (en) Controller to control semiconductor memory device to perform garbage collection operation and method of operating the same
CN115145476A (zh) 基于紧凑工作负载表示的存储器控制器及其方法
CN104364773B (zh) 存储器编程状态与数据模式之间的映射方法
KR20210078193A (ko) 랜더마이저를 포함하는 반도체 메모리 장치 및 메모리 컨트롤러

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