CN112527549A - 存储器控制器和包括该存储器控制器的存储器系统 - Google Patents
存储器控制器和包括该存储器控制器的存储器系统 Download PDFInfo
- Publication number
- CN112527549A CN112527549A CN202010489243.1A CN202010489243A CN112527549A CN 112527549 A CN112527549 A CN 112527549A CN 202010489243 A CN202010489243 A CN 202010489243A CN 112527549 A CN112527549 A CN 112527549A
- Authority
- CN
- China
- Prior art keywords
- sub
- syndrome
- parity
- error
- matrices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1168—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
公开了存储器控制器和包括该存储器控制器的存储器系统。所述存储器控制器被配置为控制存储器模块,所述存储器控制器包括:处理电路,被配置为:使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行ECC解码,以生成第一校正子和第二校正子;基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及输出指示错误的类型的解码状态标志。
Description
本申请要求于2019年9月17日提交的第10-2019-0114283号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开的一些示例实施例涉及存储器,更具体地,涉及存储器控制器和包括该存储器控制器的存储器系统。
背景技术
存储器装置可使用包括例如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等的半导体来实现。存储器装置通常被划分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置表示当电源被关闭时存储的数据丢失的存储器装置。另一方面,非易失性存储器装置表示当电源被关闭时保持存储的数据的存储器装置。因为作为一种易失性存储器装置的动态随机存取存储器(DRAM)具有高存取速度,所以DRAM被广泛用作计算系统的工作存储器、缓冲器存储器、主存储器等。
发明内容
一些示例实施例提供了一种能够高效地确定在存储器模块中发生的错误的类型的存储器控制器。
一些示例实施例提供了一种存储器系统,所述存储器系统包括能够高效地确定在存储器模块中发生的错误的存储器控制器。
根据一些示例实施例,提供了一种存储器控制器,所述存储器控制器被配置为控制存储器模块,所述存储器控制器包括:处理电路,被配置为:使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行ECC解码,以生成第一校正子和第二校正子;基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及输出指示错误的类型的解码状态标志。
根据一些示例实施例,提供了一种存储器系统,所述存储器系统包括:存储器模块;以及存储器控制器,包括处理电路,处理电路被配置为:使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行ECC解码,以生成第一校正子和第二校正子;基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及输出指示错误的类型的解码状态标志。
根据一些示例实施例,提供了一种存储器控制器,所述存储器控制器被配置为控制存储器模块,所述存储器控制器包括:处理电路,被配置为:使用奇偶校验生成矩阵对用户数据集和元数据执行ECC编码,以生成错误定位奇偶校验数据、第一错误大小奇偶校验数据和第二错误大小奇偶校验数据;将输出码字输出到存储器模块,输出码字包括用户数据集、元数据、错误定位奇偶校验数据、第一错误大小奇偶校验数据以及第二错误大小奇偶校验数据;使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行ECC解码,以生成第一校正子和第二校正子;基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及输出指示错误的类型的解码状态标志。
根据一些示例实施例,存储器控制器可使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行ECC解码,以生成第一校正子和第二校正子;可基于第二校正子以及与第一校正子和第二校正子之和对应的判定校正子来选择性地确定码字中的错误的类型。因此,存储器控制器可提高错误确定的速度和效率。
附图说明
通过参照附图详细描述本公开的一些示例实施例,本公开的以上和其它特征将变得更加清楚。
图1是示出根据一些示例实施例的存储器系统的框图。
图2是示出根据一些示例实施例的图1的存储器系统中的存储器控制器的框图。
图3示出根据一些示例实施例的与图1的存储器系统中的多个突发长度(burstlengths)对应的数据集。
图4是示出根据一些示例实施例的图1的存储器模块中的数据芯片之一的框图。
图5示出根据一些示例实施例的图4的数据芯片的第一存储体阵列。
图6是示出根据一些示例实施例的图2中的ECC引擎的示例的框图。
图7示出存储在图6的ECC引擎中的存储器中的奇偶校验生成矩阵。
图8示出用于生成第一奇偶校验子矩阵中的偏移子矩阵的基本偏移子矩阵。
图9示出图7中的奇偶校验生成矩阵中的零子矩阵。
图10示出图7中的奇偶校验生成矩阵中的单位子矩阵。
图11示出根据一些示例实施例的图6的ECC引擎中的ECC编码器的示例。
图12示出存储在图6的ECC引擎中的存储器中的奇偶校验矩阵。
图13示出偏移子矩阵。
图14示出根据一些示例实施例的图6的ECC引擎中的ECC解码器的示例。
图15示出图14的ECC解码器中的错误大小校正子(syndrome)生成器的操作。
图16示出图14的ECC解码器中的移位错误大小校正子生成器和加法器的操作。
图17示出对应于一个数据芯片的读取字、判定(decision)校正子的相关联的子校正子以及第二校正子的相关联的子校正子的示例。
图18示出图14中的ECC解码器基于判定校正子和第二校正子来确定错误的类型。
图19是示出根据一些示例实施例的在存储器控制器中确定错误的类型的方法的流程图。
图20是示出根据一些示例实施例的操作包括存储器模块和用于控制存储器模块的存储器控制器的存储器系统的方法的流程图。
图21是示出根据一些示例实施例的可被存储器系统采用的存储器模块的框图。
图22是示出根据一些示例实施例的具有四列(rank)存储器模块的存储器系统的框图。
图23是示出根据一些示例实施例的包括存储器模块的移动系统900的框图。
具体实施方式
在下文中将参照附图更全面地描述本公开的一些示例实施例。贯穿附图,相同的参考标号可表示相同的元件。
图1是示出根据一些示例实施例的存储器系统的框图。
参照图1,存储器系统20可包括存储器控制器100和/或存储器模块MM。存储器模块MM可包括多个存储器芯片200a至200k、200pa和/或200pb。多个存储器芯片200a至200k、200pa和/或200pb可包括多个数据芯片200a至200k、第一奇偶校验芯片200pa和/或第二奇偶校验芯片200pb。
存储器控制器100可控制存储器系统20的总体操作。存储器控制器100可控制主机与多个存储器芯片200a至200k、200pa和/或200pb之间的总体数据交换。例如,存储器控制器100可响应于来自主机的请求而将数据写入多个存储器芯片200a至200k、200pa和/或200pb,和/或从多个存储器芯片200a至200k、200pa和/或200pb读取数据。另外,存储器控制器100可向多个存储器芯片200a至200k、200pa和/或200pb发出操作命令,以控制多个存储器芯片200a至200k、200pa和/或200pb。
在一些示例实施例中,多个存储器芯片200a至200k、200pa和/或200pb中的每个存储器芯片可包括易失性存储器单元。例如,多个存储器芯片200a至200k、200pa和/或200pb中的每个存储器芯片可被实现为动态随机存取存储器(DRAM)。
在一些示例实施例中,数据芯片200a至200k的数量可以是16。然而,数据芯片200a至200k的数量不限于此。在一些示例实施例中,数据芯片200a至200k中的每个数据芯片可被称为数据存储器,奇偶校验芯片200pa和200pb中的每个奇偶校验芯片可被称为纠错码(ECC)存储器或冗余存储器。
存储器控制器100可向存储器模块MM发送地址ADDR和/或命令CMD,和/或可与存储器模块MM交换码字CW。
存储器控制器100可包括纠错码(ECC)引擎130,并且ECC引擎130可对用户数据集和/或元数据执行ECC编码(“执行ECC编码”也可被称为“ECC编码”)以生成奇偶校验数据集,和/或可在存储器系统20的写入操作中向存储器模块MM提供包括用户数据集、元数据和/或奇偶校验数据集的码字。用户数据集可被存储在数据芯片200a至200k中,奇偶校验数据集的第一部分和/或元数据可被存储在第一奇偶校验芯片200pa中,和/或奇偶校验数据集的第二部分可被存储在第二奇偶校验芯片200pb中。
另外,ECC引擎130可使用奇偶校验矩阵的第一部分来对从存储器模块MM读取的码字CW执行ECC解码(“执行ECC解码”也可被称为“ECC解码”)以生成第一校正子(syndrome)和第二校正子,可基于第二校正子以及与第一校正子和第二校正子之和对应的判定校正子(decision syndrome)来确定错误的类型(可表示单个错误或多个错误,也可被称为“错误类型”),和/或可输出指示确定的结果的解码状态标志。
ECC引擎130可响应于判定校正子具有非零逻辑电平而输出指示码字CW的用户数据集包括可纠正的错误的解码状态标志,可基于奇偶校验矩阵的第二部分和码字CW来生成指示可纠正的错误的位置的第三校正子,和/或可纠正用户数据集中的可纠正的错误以输出纠正的用户数据集。根据一些示例实施例,在此描述为由存储器控制器100和/或ECC引擎130执行的操作可由处理电路执行。如本公开中所使用的术语“处理电路”可表示例如包括逻辑电路的硬件、硬件/软件组合(诸如,执行软件的处理器)或它们的组合。例如,处理电路更具体地可包括但不限于中央处理器(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
由于码字CW不包括错误或者码字CW包括不可纠正的错误的概率比码字CW包括可纠正的错误的概率高得多,因此与码字CW包括可纠正的错误的情况相比,ECC引擎130可基于判定校正子更快且用更少的计算来确定码字CW不包括错误或者码字CW包括不可纠正的错误的情况。因此,ECC引擎130可提高错误确定的速度和/或效率。
图2是示出根据一些示例实施例的图1的存储器系统中的存储器控制器的框图。
参照图2,存储器控制器100可包括处理电路(例如,中央处理器(CPU))110(在下文中被称为CPU 110)、主机接口120、数据寄存器125、ECC引擎130、命令缓冲器190和/或地址缓冲器195。ECC引擎130可包括ECC编码器140、ECC解码器150和/或存储器180。
主机接口120可从主机接收请求REQ和/或用户数据集SDQ,生成与用户数据集SDQ相关联的元数据MDT,将用户数据集SDQ提供给数据寄存器125,和/或将元数据MDT提供给ECC编码器140。数据寄存器125可连续地(或顺序地)将用户数据集SDQ输出到ECC引擎130。
ECC编码器140可使用奇偶校验生成矩阵对用户数据集SDQ和元数据MDT执行ECC编码,以生成第一码字CW1。ECC解码器150可使用奇偶校验矩阵的一部分将解码状态标志DSF输出到CPU 110,和/或使用奇偶校验矩阵将用户数据集SDQ和/或纠正的用户数据集C_SDQ提供给CPU 110。存储器180可存储奇偶校验生成矩阵和奇偶校验矩阵。
CPU 110可接收用户数据集SDQ或纠正的用户数据集C_SDQ,和/或控制主机接口120、数据寄存器125、ECC引擎130、命令缓冲器190和/或地址缓冲器195。命令缓冲器190可存储与请求REQ对应的命令CMD,并且在CPU 110的控制下向存储器模块MM发送命令CMD。地址缓冲器195可存储地址ADDR,并且在CPU 110的控制下向存储器模块MM发送地址ADDR。
图3示出根据一些示例实施例的与图1的存储器系统中的多个突发(burst)长度对应的数据集。
参照图3,数据芯片200a至200k以及奇偶校验芯片200pa和200pb中的每个芯片可执行突发操作。在此,突发操作表示通过顺序地增加或减少从存储器控制器100提供的初始地址来写入或读取大量数据的操作。突发操作的基本单位可被称为突发长度BL。
参照图3,与多个突发长度对应的数据集DQ_BL1至DQ_BLk中的每个数据集可分别被输入到数据芯片200a至200k中的每个数据芯片/从数据芯片200a至200k中的每个数据芯片分别被输出。
数据集DQ_BL1至DQ_BLk中的每个数据集可包括与多个突发长度中的每个突发长度对应的数据段DQ_BL_SG11至DQ_BL_SG14和DQ_BL_SG21至DQ_BL_SG24。在一个示例中,每个数据段可包括数据DQ1、DQ2、DQ3和DQ4。数据集DQ_BL1至DQ_BLK可对应于用户数据集SDQ。在图3中假定突发长度是4,并且假定突发操作被执行两次。当在数据芯片200a至200k中的每个数据芯片中执行两次突发操作时,与多个突发长度对应的元数据MDT和错误定位奇偶校验数据(error locating parity data)PRTL可被输入到第一奇偶校验芯片200pa/从第一奇偶校验芯片200pa被输出,并且与多个突发长度对应的第一错误大小奇偶校验数据(error magnitude parity data)PRTM1和第二错误大小奇偶校验数据PRTM2可被输入到第二奇偶校验芯片200pb/从第二奇偶校验芯片200pb被输出。
图4是示出根据一些示例实施例的图1的存储器模块中的数据芯片之一的框图。
参照图4,数据芯片200a可包括控制逻辑电路210、地址寄存器220、存储体(bank)控制逻辑电路230、行地址复用器240、列地址锁存器250、行解码器260、列解码器270、存储器单元阵列300、感测放大器单元285、输入/输出(I/O)选通电路290、数据输入/输出(I/O)缓冲器295和/或刷新计数器245。
存储器单元阵列300可包括第一存储体阵列310至第八存储体阵列380(例如,第一存储体阵列至第八存储体阵列310、320、330、340、350、360、370以及380)。
行解码器260可包括分别连接到第一存储体阵列310至第八存储体阵列380的第一存储体行解码器260a至第八存储体行解码器260h,列解码器270可包括分别连接到第一存储体阵列310至第八存储体阵列380的第一存储体列解码器270a至第八存储体列解码器270h,并且感测放大器单元285可包括分别连接到第一存储体阵列310至第八存储体阵列380的第一存储体感测放大器285a至第八存储体感测放大器285h。
第一存储体阵列310至第八存储体阵列380、第一存储体行解码器260a至第八存储体行解码器260h、第一存储体列解码器270a至第八存储体列解码器270h以及第一存储体感测放大器285a至第八存储体感测放大器285h可形成第一存储体至第八存储体。第一存储体阵列310至第八存储体阵列380中的每个存储体阵列可包括多条字线WL、多条位线BTL以及形成在字线WL和位线BTL的交叉点处的多个存储器单元MC。
尽管在图4中数据芯片200a被示出为包括八个存储体,但是数据芯片200a可包括任何数量的存储体。
地址寄存器220可从存储器控制器100接收包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR。地址寄存器220可将接收到的存储体地址BANK_ADDR提供给存储体控制逻辑电路230,可将接收到的行地址ROW_ADDR提供给行地址复用器240,并且可将接收到的列地址COL_ADDR提供给列地址锁存器250。
存储体控制逻辑电路230可响应于存储体地址BANK_ADDR而生成存储体控制信号。第一存储体行解码器260a至第八存储体行解码器260h中的与存储体地址BANK_ADDR对应的一个存储体行解码器可响应于存储体控制信号而被激活,第一存储体列解码器270a至第八存储体列解码器270h中的与存储体地址BANK_ADDR对应的一个存储体列解码器可响应于存储体控制信号而被激活。
行地址复用器240可从地址寄存器220接收行地址ROW_ADDR,并且可从刷新计数器245接收刷新行地址REF_ADDR。行地址复用器240可选择性地输出行地址ROW_ADDR或刷新行地址REF_ADDR作为行地址RA。从行地址复用器240输出的行地址RA可被施加到第一存储体行解码器260a至第八存储体行解码器260h。
第一存储体行解码器260a至第八存储体行解码器260h中的激活的存储体行解码器可对从行地址复用器240输出的行地址RA进行解码,并且可激活与行地址RA对应的字线WL。例如,激活的存储体行解码器可生成字线驱动电压,并且可将字线驱动电压施加到与行地址RA对应的字线WL。
列地址锁存器250可从地址寄存器220接收列地址COL_ADDR,并且可临时地存储接收到的列地址COL_ADDR。在一些示例实施例中,在突发模式下,列地址锁存器250可生成从接收到的列地址COL_ADDR递增的列地址。列地址锁存器250可将临时地存储或生成的列地址施加到第一存储体列解码器270a至第八存储体列解码器270h。
第一存储体列解码器270a至第八存储体列解码器270h中的激活的存储体列解码器可对从列地址锁存器250输出的列地址COL_ADDR进行解码,并且可控制I/O选通电路290输出与列地址COL_ADDR对应的数据。
I/O选通电路290可包括用于对输入/输出数据进行选通的电路。I/O选通电路290还可包括用于存储从第一存储体阵列310至第八存储体阵列380输出的数据的读取数据锁存器、以及用于将数据写入到第一存储体阵列310至第八存储体阵列380的写入控制装置。
将从第一存储体阵列310至第八存储体阵列380中的一个存储体阵列读取的数据可由连接到将从其读取数据的一个存储体阵列的感测放大器感测,并且可被存储在读取数据锁存器中。
在ECC引擎130对数据(例如,码字CW)执行ECC解码之后,存储在读取数据锁存器中的数据可经由数据I/O缓冲器295被提供给存储器控制器100。将被写入第一存储体阵列310至第八存储体阵列380中的一个存储体阵列中的数据集DQ_BL可从存储器控制器100被提供给数据I/O缓冲器295。数据I/O缓冲器295可将数据集DQ_BL提供给I/O选通电路290。
控制逻辑电路210可控制数据芯片200a的操作。例如,控制逻辑电路210可生成用于数据芯片200a的控制信号以执行写入操作和/或读取操作。控制逻辑电路210可包括对从存储器控制器100接收的命令CMD进行解码的命令解码器211和设置数据芯片200a的操作模式的模式寄存器212。根据一些示例实施例,在此描述为由控制逻辑电路210执行的操作可由处理电路执行。
奇偶校验芯片200pa和200pb中的每个奇偶校验芯片可具有与数据芯片200a的配置相同或基本相同的配置。奇偶校验芯片200pa和200pb中的每个奇偶校验芯片可输入/输出对应的奇偶校验数据。
图5示出根据一些示例实施例的图4的数据芯片的第一存储体阵列。
参照图5,第一存储体阵列310包括多条字线WL1至WL2m(其中,m是大于2的自然数)、多条位线BTL1至BTL2n(其中,n是大于2的自然数)、以及设置在字线WL1至WL2m与位线BTL1至BTL2n之间的交叉点附近的多个存储器单元MC。在一些示例实施例中,多个存储器单元MC中的每个存储器单元可包括DRAM单元结构。多个存储器单元MC连接到的多条字线WL1至WL2m可被称为第一存储体阵列310的行,并且多个存储器单元MC连接到的多条位线BL1至BL2n可被称为第一存储体阵列310的列。
图6是示出根据一些示例实施例的图2中的ECC引擎的示例的框图。
参照图6,ECC引擎130包括ECC编码器140、ECC解码器150和/或存储器180。存储器180可被称为ECC存储器180。
存储器180连接到ECC编码器140和/或ECC解码器150,并且可存储奇偶校验生成矩阵PGM和/或奇偶校验矩阵PCM。
ECC编码器140可通过使用奇偶校验生成矩阵PGM对用户数据集SDQ和元数据MDT执行ECC编码,以生成包括错误定位奇偶校验数据PRTL、第一错误大小奇偶校验数据PRTM1以及第二错误大小奇偶校验数据PRTM2的奇偶校验数据集SPRT,并且可输出包括用户数据集SDQ、元数据MDT以及奇偶校验数据集SPRT的码字CW1。
ECC解码器150可从存储器模块MM接收包括用户数据集SDQ、元数据MDT和奇偶校验数据集SPRT的读取码字CW2。ECC解码器150可通过使用奇偶校验矩阵PCM的第一部分来对读取码字CW2执行ECC解码,以在输出用户数据集SDQ的同时生成指示用户数据集SDQ包括可纠正的错误的解码状态标志DSF。
ECC解码器150可响应于指示用户数据集SDQ包括可纠正的错误的解码状态标志DSF,通过使用奇偶校验矩阵PCM的第二部分来纠正用户数据集SDQ中的错误,并且可输出纠正的用户数据集C_SDQ。
图7示出存储在图6的ECC引擎中的存储器中的奇偶校验生成矩阵。
参照图7,奇偶校验生成矩阵PGM可包括第一奇偶校验子矩阵HS11、第二奇偶校验子矩阵HS12和/或第三奇偶校验子矩阵HS13。
第一奇偶校验子矩阵HS11包括与数据芯片200a至200k对应的多个偏移子矩阵(offset sub matrix)OSM1至OSM2k以及与奇偶校验芯片200pa和200pb对应的两个零子矩阵(zero sub matrix)ZSM1和ZSM2。偏移子矩阵OSM1至OSM2k以及零子矩阵ZSM1和ZSM2中的每个子矩阵包括p×p个元素(p是大于1的自然数)。
第二奇偶校验子矩阵HS12包括多个单位子矩阵ISM1,1至ISM1,(k+1)和多个零子矩阵ZSM1,1至ZSM1,(k+1)。单位子矩阵ISM1,1至ISM1,(k+1)和零子矩阵ZSM1,1至ZSM1,(k+1)中的每个子矩阵包括p×p个元素。另外,单位子矩阵ISM1,1至ISM1,(k+1)和零子矩阵ZSM1,1至ZSM1,(k+1)交替布置(例如,以交替顺序布置或放置)。
第三奇偶校验子矩阵HS13包括多个零子矩阵ZSM2,1至ZSM2,(k+1)和多个单位子矩阵ISM2,1至ISM2,(k+1)。零子矩阵ZSM2,1至ZSM2,(k+1)和单位子矩阵ISM2,1至ISM2,(k+1)中的每个子矩阵包括p×p个元素。此外,零子矩阵ZSM2,1至ZSM2,(k+1)和单位子矩阵ISM2,1至ISM2,(k+1)交替布置。
图8示出可用于生成第一奇偶校验子矩阵中的偏移子矩阵的基本偏移子矩阵。
参照图8,基本偏移子矩阵OSMb可包括(p+3)个高电平元素。基本偏移子矩阵OSMb可基于本原多项式(诸如,x16+x12+x3+x+1)来获得。如果第p阶本原多项式变化,则偏移子矩阵OSM1至OSM2k中的每个的元素可变化。
偏移子矩阵OSM1至OSM2k中的偏移子矩阵OSM1可通过基本偏移子矩阵OSMb的幂来获得。偏移子矩阵OSM1至OSM2k中的偏移子矩阵OSM2可通过将“偏移子矩阵OSM1”和“通过基本偏移子矩阵OSMb的偏移次幂而获得的子矩阵”相乘来获得。
另外,偏移子矩阵OSM1至OSM2k中的与一个(存储器)芯片相关联的两个偏移子矩阵OSM(2i-1)和OSM(2i)之间的间隙(gap)可以是规则的。这里,i是一至八中的一个。也就是说,偏移子矩阵OSM4可通过将“偏移子矩阵OSM3”和“通过基本偏移子矩阵OSMb的偏移次幂而获得的子矩阵”相乘来获得。
图9示出图7中的奇偶校验生成矩阵中的零子矩阵。
参照图9,在与零子矩阵ZSM1和ZSM2、零子矩阵ZSM1,1至ZSM1,(k+1)以及零子矩阵ZSM2,1至ZSM2,(k+1)中的每个零子矩阵对应的零子矩阵ZSM中,每个元素都是零。
图10示出图7中的奇偶校验生成矩阵中的单位子矩阵。
参照图10,与单位子矩阵ISM1,1至ISM1,(k+1)和ISM2,1至ISM2,(k+1)中的每个单位子矩阵对应的单位子矩阵ISM包括沿对角线方向设置的p个高电平元素。除了高电平元素之外的其它元素中的每个都是零。
在图7至图10中,p可对应于16,并且可对应于在一个突发操作期间输入到数据芯片200a至200k中的每个数据芯片/从数据芯片200a至200k中的每个数据芯片输出的数据集DQ_BL的位数。另外,第一奇偶校验子矩阵HS11中的非零元素的数量可大于第二奇偶校验子矩阵HS12中的非零元素的数量或第三奇偶校验子矩阵HS13中的非零元素的数量。
图11示出根据一些示例实施例的图6的ECC引擎中的ECC编码器的示例。
参照图11,ECC编码器140包括错误定位奇偶校验生成器141、第一错误大小奇偶校验生成器143、第二错误大小奇偶校验生成器145和/或缓冲器147。根据一些示例实施例,在此描述为由ECC编码器140、错误定位奇偶校验生成器141、第一错误大小奇偶校验生成器143、第二错误大小奇偶校验生成器145和/或缓冲器147执行的操作(例如,将码字CW1提供给存储器模块MM)可由处理电路执行。
错误定位奇偶校验生成器141可通过使用第一奇偶校验子矩阵HS11对用户数据集SDQ和元数据MDT执行ECC编码,以生成可用于确定错误的位置的错误定位奇偶校验数据PRTL,并且将错误定位奇偶校验数据PRTL提供给缓冲器147。
错误定位奇偶校验生成器141可通过用第一奇偶校验子矩阵HS11对用户数据集SDQ和元数据MDT执行矩阵乘法运算,来生成错误定位奇偶校验数据PRTL。如果用户数据集SDQ和元数据MDT的向量表示对应于ms,并且错误定位奇偶校验数据PRTL的向量表示对应于pL,则pL=HS11[ms 0]T。这里,T表示转置矩阵,0表示零矩阵。
第一错误大小奇偶校验生成器143可通过使用第二奇偶校验子矩阵HS12对用户数据集SDQ、元数据MDT和错误定位奇偶校验数据PRTL执行ECC编码,以生成可用于确定错误的数量的第一错误大小奇偶校验数据PRTM1,并且将第一错误大小奇偶校验数据PRTM1提供给缓冲器147。
第一错误大小奇偶校验生成器143可通过用第二奇偶校验子矩阵HS12对用户数据集SDQ、元数据MDT和错误定位奇偶校验数据PRTL执行矩阵乘法运算,来生成第一错误大小奇偶校验数据PRTM1。如果第一错误大小奇偶校验数据PRTM1的向量表示对应于pM1,则pM1=HS12[ms pL 0]T。
第二错误大小奇偶校验生成器145可通过使用第三奇偶校验子矩阵HS13对用户数据集SDQ、元数据MDT和错误定位奇偶校验数据PRTL执行ECC编码,以生成可用于确定错误的数量的第二错误大小奇偶校验数据PRTM2,并且将第二错误大小奇偶校验数据PRTM2提供给缓冲器147。
第二错误大小奇偶校验生成器145可通过用第三奇偶校验子矩阵HS13对用户数据集SDQ、元数据MDT和错误定位奇偶校验数据PRTL执行矩阵乘法运算,来生成第二错误大小奇偶校验数据PRTM2。如果第二错误大小奇偶校验数据PRTM2的向量表示对应于pM2,则pM2=HS13[ms pL 0]T。
缓冲器147可接收用户数据集SDQ、元数据MDT、错误定位奇偶校验数据PRTL、第一错误大小奇偶校验数据PRTM1以及第二错误大小奇偶校验数据PRTM2,并且将包括用户数据集SDQ、元数据MDT、错误定位奇偶校验数据PRTL、第一错误大小奇偶校验数据PRTM1以及第二错误大小奇偶校验数据PRTM2的码字CW1(也被称为输出码字CW1或写入码字CW1)提供给存储器模块MM。
图12示出存储在图6的ECC引擎中的存储器中的奇偶校验矩阵。
参照图12,奇偶校验矩阵PCM可包括第一奇偶校验子矩阵HS21、第二奇偶校验子矩阵HS22和第三奇偶校验子矩阵HS23。
第一奇偶校验子矩阵HS21包括与数据芯片200a至200k对应的多个偏移子矩阵OSM1至OSM2k、以及与奇偶校验芯片200pa和200pb对应的两个零子矩阵ZSM1和ZSM2。偏移子矩阵OSM1至OSM2k以及零子矩阵ZSM1和ZSM2中的每个子矩阵包括p×p个元素。
第二奇偶校验子矩阵HS22包括多个单位子矩阵ISM1,1至ISM1,(k+1)和多个零子矩阵ZSM1,1至ZSM1,(k+1)。单位子矩阵ISM1,1至ISM1,(k+1)和零子矩阵ZSM1,1至ZSM1,(k+1)中的每个子矩阵包括p×p个元素。另外,单位子矩阵ISM1,1至ISM1,(k+1)和零子矩阵ZSM1,1至ZSM1,(k+1)交替布置。
第三奇偶校验子矩阵HS23包括多个零子矩阵ZSM2,1至ZSM2,(k+1)和多个偏移子矩阵OSM。零子矩阵ZSM2,1至ZSM2,(k+1)和偏移子矩阵OSM中的每个子矩阵包括p×p个元素。另外,零子矩阵ZSM2,1至ZSM2,(k+1)和偏移子矩阵OSM交替布置。
参照图7和图12,第一奇偶校验子矩阵HS21可与第一奇偶校验子矩阵HS11相同或相似,第二奇偶校验子矩阵HS22可与第二奇偶校验子矩阵HS12相同或相似。第三奇偶校验子矩阵HS23可通过对奇偶校验生成矩阵PGM的第一奇偶校验子矩阵HS11、第二奇偶校验子矩阵HS12和第三奇偶校验子矩阵HS13进行线性组合运算来获得。由于对矩阵的行中的元素的线性组合运算不改变ECC架构,因此第三奇偶校验子矩阵HS23可用作校正子。另外,图6中的ECC编码器140和ECC解码器150可共享奇偶校验生成矩阵PGM,并且分别执行ECC编码和ECC解码。根据一些示例实施例,奇偶校验矩阵PCM可等效于或类似于图6中的奇偶校验生成矩阵PGM。
图13示出图12中的偏移子矩阵。
参照图13,偏移子矩阵OSM可通过基本偏移子矩阵OSMb的偏移ofs次幂来获得。
参照图12和图13,第一奇偶校验子矩阵HS21中的非零元素的数量可大于第二奇偶校验子矩阵HS22中的非零元素的数量或第三奇偶校验子矩阵HS23中的非零元素的数量。因此,图6中的ECC解码器150可通过使用第二奇偶校验子矩阵HS22和第三奇偶校验子矩阵HS23来生成第一校正子和第二校正子,并且在确定码字的错误位置之前基于第一校正子和第二校正子来确定码字是否包括可纠正的错误。因此,ECC解码器150可以以更高的速度和/或效率确定错误。
图14示出根据一些示例实施例的图6的ECC引擎中的ECC解码器的示例。
参照图14,ECC解码器150包括错误大小校正子生成器151、移位错误大小校正子生成器152、错误定位校正子生成器153、数据纠正器155、加法器156和/或解码状态标志生成器154。根据一些示例实施例,在此描述为由ECC解码器150、错误大小校正子生成器151、移位错误大小校正子生成器152、错误定位校正子生成器153、数据纠正器155、加法器156和/或解码状态标志生成器154执行的操作可由处理电路执行。
错误大小校正子生成器151可通过对读取码字CW2和第二奇偶校验子矩阵HS22执行矩阵乘法运算来生成指示错误的数量的第一校正子SDR_M。如果读取码字CW2的向量表示对应于rT,第一校正子SDR_M的向量表示对应于SM0,则SM0=HS22rT。
移位错误大小校正子生成器152可通过对读取码字CW2和第三奇偶校验子矩阵HS23执行矩阵乘法运算来生成指示错误的数量的第二校正子SDR_MS。如果第二校正子SDR_MS的向量表示对应于SMS,则SMS=HS23rT。加法器156可对第一校正子SDR_M和第二校正子SDR_MS求和以生成判定校正子SDR_D。如果判定校正子SDR_D的向量表示对应于SD,则SD=SM0+SMS。
解码状态标志生成器154可基于第二校正子SDR_MS和判定校正子SDR_D的逻辑电平,来生成指示读取码字CW2中的用户数据集是否包括可纠正的错误的使能信号EN和解码状态标志DSF。
解码状态标志生成器154可响应于判定校正子SDR_D具有非零逻辑电平而启用使能信号EN,并且可生成指示读取码字CW2的用户数据集包括可纠正的错误的解码状态标志DSF。
解码状态标志生成器154可响应于判定校正子SDR_D具有零逻辑电平而禁用使能信号EN,并且可生成指示读取码字CW2的用户数据集包括不可纠正的错误或者不包括错误的解码状态标志DSF。
解码状态标志生成器154可响应于判定校正子SDR_D具有零逻辑电平且第二校正子SDR_MS具有非零逻辑电平,而输出指示读取码字CW2的用户数据集包括不可纠正的错误的解码状态标志DSF。
错误定位校正子生成器153可响应于启用的使能信号EN而被激活,可生成指示读取码字CW2中的可纠正的错误的位置的第三校正子SDR_L,并且可将第三校正子SDR_L提供给数据纠正器155。如果第三校正子SDR_L的向量表示对应于SL,则SL=HS21rT。
数据纠正器155可选择性地纠正读取码字CW2的用户数据集中的可纠正的错误,以输出纠正的用户数据集C_SDQ或用户数据集SDQ(例如,将纠正的用户数据集C_SDQ或用户数据集SDQ输出到存储器控制器(例如,存储器控制器100)和/或存储器系统(例如,存储器系统20)外部的装置和/或主机)。
传统ECC解码器执行用于确定在码字中检测的错误的位置的计算,而不管在码字中检测的错误的类型。由于码字包含可纠正的错误的概率低于码字不包含错误或包含不可纠正的错误的概率,所以由传统ECC解码器执行以确定错误的位置的许多计算是不必要的,导致过度的资源消耗(例如,功耗、处理器使用等)和延迟。然而,根据一些示例实施例,仅当用户数据集SDQ包括可纠正的错误时,错误定位校正子生成器153才可被激活以通过生成第三校正子SDR_L来计算错误的位置。因此,避免了由传统ECC解码器执行的不必要的计算,从而减少了资源消耗(例如,功耗、处理器使用等)和延迟。因此,ECC解码器150可以以更高的速度和/或效率确定和/或纠正错误。
图15示出图14的ECC解码器中的错误大小校正子生成器的操作。
参照图14和图15,错误大小校正子生成器151可通过对读取码字CW2和第二奇偶校验子矩阵HS22执行矩阵乘法运算,来生成指示错误的数量的第一校正子SDR_M。也就是说,第一校正子SDR_M可通过SM0=HS22rT被生成。由于第二奇偶校验子矩阵HS22包括多个单位子矩阵ISM1,1至ISM1,(k+1)和多个零子矩阵ZSM1,1至ZSM1,(k+1),单位子矩阵ISM1,1至ISM1,(k+1)和零子矩阵ZSM1,1至ZSM1,(k+1)中的每个子矩阵包括p×p个元素,并且单位子矩阵ISM1,1至ISM1,(k+1)和零子矩阵ZSM1,1至ZSM1,(k+1)交替布置,因此可减少用于生成第一校正子SDR_M的异或(XOR)运算的数量。因此,可降低用于生成解码状态标志DSF的计算的复杂度。
图16示出图14的ECC解码器中的移位错误大小校正子生成器和加法器的操作。
参照图14和图16,移位错误大小校正子生成器152可通过对读取码字CW2和第三奇偶校验子矩阵HS23执行矩阵乘法运算,来生成第二校正子SDR_MS。第二校正子SDR_MS可通过SMS=HS23rT获得。加法器156可对第一校正子SDR_M和第二校正子SDR_MS求和以生成判定校正子SDR_D。也就是说,判定校正子SDR_D可通过SD=SM0+SMS来获得。
图17示出对应于一个数据芯片的读取字、判定校正子的相关联的子校正子以及第二校正子的相关联的子校正子的示例。
参照图17,判定校正子SD的相关联的子校正子SD_sub可通过对与一个数据芯片对应的读取码字CW2中的32位读取字RWORD SMS、第二奇偶校验子矩阵HS22的单位子矩阵ISM(例如,单位子矩阵ISM1,1)以及第三奇偶校验子矩阵HS23的偏移子矩阵OSM执行矩阵乘法运算来获得,并且第二校正子SMS的相关联的子校正子SMS_sub可通过对读取码字CW2中的32位读取字RWORD SMS、第三奇偶校验子矩阵HS23的零子矩阵ZSM(例如,零子矩阵ZSM2,1)以及偏移子矩阵OSM执行矩阵乘法运算来获得。
图18示出图14中的ECC解码器可基于判定校正子和第二校正子来确定错误的类型。
参照图18,ECC解码器150可基于与数据芯片对应的判定校正子SD的子校正子SD_sub是否具有零值(即,零逻辑电平),来确定从数据芯片读取的数据集是否包括可纠正的错误。
判定校正子SD的子校正子SD_sub具有零值并且第二校正子SMS的子校正子SMS_sub具有零值指示从对应的数据芯片读取的数据集不包括错误,这被表示为“NE”。判定校正子SD的子校正子SD_sub具有零值并且第二校正子SMS的子校正子SMS_sub具有非零值(即,非零逻辑电平)指示从对应的数据芯片读取的数据集包括不可纠正的错误,这被表示为“UE”。判定校正子SD的子校正子SD_sub具有非零值指示从对应的数据芯片读取的数据集包括可纠正的错误,这被表示为“CE”。
图19是示出根据一些示例实施例的在存储器控制器中确定错误的类型的方法的流程图。
参照图1至图19,提供了一种在存储器控制器100中确定错误的类型的方法,存储器控制器100控制包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片的存储器模块MM。根据该方法,存储器控制器100可从多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片读取包括用户数据集、元数据和奇偶校验数据集的读取码字CW2(操作S110)。
存储器控制器100中的ECC引擎130的ECC解码器150可通过对读取码字CW2和第二奇偶校验子矩阵HS22执行矩阵乘法运算来生成第一校正子SDR_M(操作S120)。
ECC解码器150可通过对读取码字CW2和第三奇偶校验子矩阵HS23执行矩阵乘法运算来生成第二校正子SDR_MS(操作S130)。
ECC解码器150可通过对第一校正子SDR_M和第二校正子SDR_MS求和来生成判定校正子SDR_D(操作S140)。
ECC解码器150可以以数据芯片为单位(例如,针对每个数据芯片)基于判定校正子SDR_D和第二校正子SDR_MS的逻辑电平,来确定读取码字CW2中的用户数据集的错误的类型(操作S150)。
ECC解码器150可响应于判定校正子SDR_D具有零逻辑电平而将指示读取码字CW2的用户数据集包括不可纠正的错误或者不包括错误的解码状态标志DSF输出到CPU 110。ECC解码器150可响应于判定校正子SDR_D具有非零逻辑电平而将指示读取码字CW2的用户数据集包括可纠正的错误的解码状态标志DSF输出到CPU 110,并且纠正用户数据集的错误并输出纠正的用户数据集。
图20是示出根据一些示例实施例的操作包括存储器模块和用于控制存储器模块的存储器控制器的存储器系统的方法的流程图。
参照图1至图18和图20,提供了一种操作包括存储器模块MM和存储器控制器100的存储器系统20的方法,存储器模块MM包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片,存储器控制器100可控制存储器模块MM。根据该方法,存储器控制器100中的ECC引擎130的ECC编码器140可基于奇偶校验生成矩阵对用户数据集和元数据执行ECC编码,以生成包括第一奇偶校验数据(例如,错误定位奇偶校验数据PRTL)、第二奇偶校验数据(例如,第一错误大小奇偶校验数据PRTM1)和第三奇偶校验数据(例如,第二错误大小奇偶校验数据PRTM2)的奇偶校验数据集(操作S210)。
存储器控制器100可将包括用户数据集、元数据和奇偶校验数据集的码字CW1存储在多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片中(操作S220)。
存储器控制器100可从多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片读取包括用户数据集、元数据和奇偶校验数据集的读取码字CW2(操作S230)。
ECC引擎130的ECC解码器150可通过对读取码字CW2和第二奇偶校验子矩阵HS22执行矩阵乘法运算来生成第一校正子SDR_M(操作S240)。
ECC解码器150可通过对读取码字CW2和第三奇偶校验子矩阵HS23执行矩阵乘法运算来生成第二校正子SDR_MS(操作S250)。
ECC解码器150可通过对第一校正子SDR_M和第二校正子SDR_MS求和来生成判定校正子SDR_D(操作S260)。
ECC解码器150可以以数据芯片为单位基于判定校正子SDR_D和第二校正子SDR_MS的逻辑电平来确定读取码字CW2中用户数据集的错误的类型(操作S270)。
图21是示出根据一些示例实施例的可被存储器系统采用的存储器模块的框图。
参照图21,存储器模块500包括设置在电路板501中或安装在电路板501上的控制装置590(RCD,注册时钟驱动器)、多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d、多个数据缓冲器(DB)541至545和551至554、模块电阻单元560和570、串行存在检测(SPD)芯片580和/或电源管理集成电路(PMIC)585。
控制装置590可在存储器控制器100的控制下控制半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d以及PMIC 585。例如,控制装置590可从存储器控制器100接收地址ADDR、命令CMD和/或时钟信号CK。
SPD芯片580可以是可编程只读存储器(PROM)(例如,电可擦除PROM(EEPROM))。SPD芯片580可包括存储器模块500的初始信息和/或装置信息DI。在一些示例实施例中,SPD芯片580可包括存储器模块500的初始信息和/或装置信息DI(诸如,模块形式、模块配置、存储容量、模块类型和/或执行环境等)。
当包括存储器模块500的存储器系统被启动时,存储器控制器100可从SPD芯片580读取装置信息DI,并且可基于装置信息DI来识别存储器模块500。存储器控制器100可基于来自SPD芯片580的装置信息DI来控制存储器模块500。例如,存储器控制器100可基于来自SPD芯片580的装置信息DI来识别包括在存储器模块500中的半导体存储器装置的类型。
这里,作为印刷电路板的电路板501可在垂直于第一方向D1的第二方向D2上在第一边缘部分503与第二边缘部分505之间延伸。第一边缘部分503和第二边缘部分505可在第一方向D1上延伸。
控制装置590可设置在电路板501的中心上。多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d可在控制装置590与第一边缘部分503之间以及在控制装置590与第二边缘部分505之间以多个行被布置。根据一些示例实施例,在此描述为由控制装置590执行的操作可由处理电路执行。
在这种情况下,半导体存储器装置601a至601e和602a至602e可在控制装置590与第一边缘部分503之间沿着多个行被布置。半导体存储器装置603a至603d和604a至604d可在控制装置590与第二边缘部分505之间沿着多个行被布置。半导体存储器装置601a至601d、602a至602d、603a至603d和604a至604d可被称为数据芯片,并且半导体存储器装置601e和602e可分别被称为第一奇偶校验芯片和第二奇偶校验芯片。
多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d中的每个半导体存储器装置可通过用于接收/发送数据信号DQ和数据选通信号DQS的数据传输线连接到数据缓冲器541至545和551至554中的对应的数据缓冲器。
控制装置590可通过命令/地址传输线561将命令/地址信号(例如,CA)提供给半导体存储器装置601a至601e,并且可通过命令/地址传输线563将命令/地址信号提供给半导体存储器装置602a至602e。
另外,控制装置590可通过命令/地址传输线571将命令/地址信号提供给半导体存储器装置603a至603d,并且可通过命令/地址传输线573将命令/地址信号提供给半导体存储器装置604a至604d。
命令/地址传输线561和563可共同连接到设置为与第一边缘部分503邻近的模块电阻单元560,并且命令/地址传输线571和573可共同连接到设置为与第二边缘部分505邻近的模块电阻单元570。
模块电阻单元560和570中的每个模块电阻单元可包括连接到端电压(termination voltage)Vtt的端电阻器(termination resistor)Rtt/2。在这种情况下,模块电阻单元560和570的布置可减少模块电阻单元的数量,从而减少设置端电阻器的面积。
另外,多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d中的每个半导体存储器装置可以是DRAM装置。
SPD芯片580设置为与控制装置590邻近,并且PMIC 585可设置在半导体存储器装置603d与第二边缘部分505之间。PMIC 585可基于输入电压VIN生成电源电压VDD,并且可将电源电压VDD提供给半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d。
尽管在图21中示出为PMIC 585设置为与第二边缘部分505邻近,但是在一些示例实施例中,PMIC 585可设置在电路板501的中心部分中以与控制装置590邻近。
图22是示出根据一些示例实施例的具有四列存储器模块的存储器系统的框图。
参照图22,存储器系统700可包括存储器控制器710和/或存储器模块720和730。虽然在图22中描绘了两个存储器模块,但是根据一些示例实施例,更多或更少的存储器模块可包括在存储器系统700中。
存储器控制器710可控制存储器模块720和/或730以便执行从处理器和/或主机供应的命令。存储器控制器710可使用处理电路(例如,处理器)来实现,和/或可用主机、应用处理器或片上系统(SoC)来实现。
为了信号完整性,源端子可用存储器控制器710的总线740上的电阻器RTT来实现。电阻器RTT可连接到电源电压VDDQ。存储器控制器710可包括发送器711和接收器713,发送器711可向存储器模块720和730中的至少一个存储器模块发送信号,接收器713可从存储器模块720和730中的至少一个存储器模块接收信号。存储器控制器710可包括ECC引擎715,并且ECC引擎715可采用图6的ECC引擎130。
因此,ECC引擎715包括ECC编码器和ECC解码器,并且ECC解码器可使用奇偶校验矩阵的第一部分对来自存储器模块720和730中的至少一个存储器模块的读取码字执行ECC解码以生成第一校正子和第二校正子,可基于第二校正子以及与第一校正子和第二校正子之和对应的判定校正子来确定读取码字中的错误的类型。
如果读取码字包括可纠正的错误,则ECC解码器可基于奇偶校验矩阵的第二部分来生成指示可纠正的错误的位置的第三校正子,并且可基于第三校正子来纠正可纠正的错误。因此,ECC解码器可提高错误确定的速度和效率。
存储器模块720和730可被称为第一存储器模块720和第二存储器模块730。第一存储器模块720和第二存储器模块730可通过总线740连接到存储器控制器710。第一存储器模块720和第二存储器模块730中的每个存储器模块可对应于图1中的存储器模块MM。第一存储器模块720可包括存储器列RK1和RK2,并且第二存储器模块730可包括存储器列RK3和RK4。虽然在图22中每个存储器模块描绘为包括两个存储器列,但是根据一些示例实施例,每个存储器模块可包括更多或更少的存储器列。
第一存储器模块720和第二存储器模块730中的每个存储器模块可包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片。
图23是示出根据一些示例实施例的包括存储器模块的移动系统900的框图。
参照图23,移动系统900可包括处理电路910(例如,应用处理器、存储器控制器(MCT)和/或包括MCT 911的应用处理器)、连接模块920、存储器模块950、非易失性存储器装置940、用户接口930和/或电源970。
处理电路910可执行应用(诸如,网络浏览器、游戏应用、视频播放器等)。连接模块920可执行与外部装置的有线和/或无线通信。
存储器模块(MM)950可存储由处理电路910处理的数据,和/或作为工作存储器进行操作。存储器模块950可包括多个半导体存储器装置(MD)951、952、953至95q(其中,q是大于三的正整数)和/或控制装置961。根据一些示例实施例,在此描述为由控制装置961执行的操作可由处理电路执行。
半导体存储器装置951、952、953至95q可包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片。因此,处理电路(例如,MCT)可使用奇偶校验矩阵的第一部分对来自存储器模块950的读取码字执行ECC解码以生成第一校正子和第二校正子,可基于第二校正子以及与第一校正子和第二校正子之和对应的判定校正子来选择性地确定码字中的错误的类型。
移动系统900或移动系统900的组件可使用各种类型的封装来安装。
一些示例实施例可被应用于包括存储器模块和包含ECC引擎的存储器控制器的各种系统。
以上描述的方法的各种操作可由能够执行操作的任何合适的装置(诸如,处理电路)来执行。例如,以上描述的方法的操作可由各种硬件和/或以某种形式的硬件(例如,处理器、ASIC等)实施的软件来执行。
软件可包括用于实现逻辑功能的可执行指令的有序列表,并且可以以任何“处理器可读介质”来实现,以被指令执行系统、设备或装置(诸如,单核或多核处理器或包含处理器的系统)使用或者结合指令执行系统、设备或装置(诸如,单核或多核处理器或包含处理器的系统)来使用。
结合在此公开的一些示例实施例描述的方法或算法和功能的块或操作可直接以硬件、以由处理器执行的软件模块、或以两者的组合来实现。如果以软件来实现,则功能可作为一个或多个指令或代码被存储在有形的非暂时性计算机可读介质上或通过有形的非暂时性计算机可读介质传输。软件模块可驻留在随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CDROM或本领域已知的任何其它形式的存储介质中。
虽然已经参照本公开的一些示例实施例具体示出并描述了本公开,但是本领域普通技术人员将理解,在不脱离由权利要求限定的本公开的精神或范围的情况下,可在其中做出形式上和细节上的各种改变。
Claims (20)
1.一种被配置为控制存储器模块的存储器控制器,所述存储器控制器包括:
处理电路,被配置为:
使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行纠错码解码,以生成第一校正子和第二校正子;
基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及
输出指示错误的类型的解码状态标志。
2.根据权利要求1所述的存储器控制器,其中,处理电路被配置为:
响应于判定校正子具有非零逻辑电平,输出指示读取码字的用户数据集包括可纠正的错误的解码状态标志;
基于奇偶校验矩阵的第二部分和读取码字来生成指示可纠正的错误的位置的第三校正子;以及
使用第三校正子来纠正可纠正的错误以获得纠正的用户数据集。
3.根据权利要求1所述的存储器控制器,其中,处理电路被配置为:响应于判定校正子具有零逻辑电平并且第二校正子具有零逻辑电平,输出指示读取码字的用户数据集不包括错误的解码状态标志。
4.根据权利要求1所述的存储器控制器,其中,处理电路被配置为:响应于判定校正子具有零逻辑电平并且第二校正子具有非零逻辑电平,输出指示读取码字的用户数据集包括不可纠正的错误的解码状态标志。
5.根据权利要求1所述的存储器控制器,其中,读取码字包括用户数据集、与用户数据集相关联的元数据、错误定位奇偶校验数据、第一错误大小奇偶校验数据以及第二错误大小奇偶校验数据。
6.根据权利要求5所述的存储器控制器,其中:
存储器模块包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片;
用户数据集从所述多个数据芯片被读取;
元数据和错误定位奇偶校验数据从第一奇偶校验芯片被读取;以及
第一错误大小奇偶校验数据和第二错误大小奇偶校验数据从第二奇偶校验芯片被读取。
7.根据权利要求1所述的存储器控制器,其中,奇偶校验矩阵包括第一奇偶校验子矩阵、第二奇偶校验子矩阵和第三奇偶校验子矩阵。
8.根据权利要求7所述的存储器控制器,其中:
第二奇偶校验子矩阵包括多个单位子矩阵和多个第一零子矩阵,所述多个单位子矩阵和所述多个第一零子矩阵中的每个子矩阵具有p×p个元素,所述多个单位子矩阵和所述多个第一零子矩阵交替布置,并且p是大于1的自然数;
第三奇偶校验子矩阵包括多个第二零子矩阵和多个第一偏移子矩阵,所述多个第二零子矩阵和所述多个第一偏移子矩阵中的每个子矩阵具有p×p个元素,所述多个第二零子矩阵和所述多个第一偏移子矩阵交替布置;
第一奇偶校验子矩阵包括多个第二偏移子矩阵和两个第三零子矩阵,所述多个第二偏移子矩阵彼此不同并与包括在存储器模块中的多个数据芯片对应;并且
奇偶校验矩阵的第一部分包括第二奇偶校验子矩阵和第三奇偶校验子矩阵。
9.根据权利要求8所述的存储器控制器,其中,处理电路被配置为:
通过对读取码字和第二奇偶校验子矩阵执行矩阵乘法运算来生成第一校正子;
通过对读取码字和第三奇偶校验子矩阵执行矩阵乘法运算来生成第二校正子;以及
通过对第一校正子和第二校正子求和来生成判定校正子。
10.根据权利要求9所述的存储器控制器,其中,处理电路被配置为:响应于判定校正子具有非零逻辑电平,通过对读取码字和第一奇偶校验子矩阵执行矩阵乘法运算来生成指示可纠正的错误的位置的第三校正子。
11.根据权利要求1所述的存储器控制器,其中,处理电路被配置为:
使用奇偶校验生成矩阵对用户数据集和元数据执行纠错码编码,以生成错误定位奇偶校验数据、第一错误大小奇偶校验数据和第二错误大小奇偶校验数据;以及
将输出码字输出到存储器模块,输出码字包括用户数据集、元数据、错误定位奇偶校验数据、第一错误大小奇偶校验数据以及第二错误大小奇偶校验数据。
12.根据权利要求11所述的存储器控制器,其中,奇偶校验生成矩阵包括第一奇偶校验子矩阵、第二奇偶校验子矩阵和第三奇偶校验子矩阵。
13.根据权利要求12所述的存储器控制器,其中,处理电路被配置为:
通过使用第一奇偶校验子矩阵对用户数据集和元数据执行纠错码编码,生成错误定位奇偶校验数据;
通过对第二奇偶校验子矩阵与用户数据集、元数据和错误定位奇偶校验数据执行矩阵乘法运算,生成第一错误大小奇偶校验数据;以及
通过对第三奇偶校验子矩阵与用户数据集、元数据和错误定位奇偶校验数据执行矩阵乘法运算,生成第二错误大小奇偶校验数据。
14.根据权利要求12所述的存储器控制器,其中:
第二奇偶校验子矩阵包括多个第一单位子矩阵和多个第一零子矩阵,所述多个第一单位子矩阵和所述多个第一零子矩阵中的每个子矩阵具有p×p个元素,所述多个第一单位子矩阵和所述多个第一零子矩阵交替布置,并且p是大于1的自然数;
第三奇偶校验子矩阵包括多个第二零子矩阵和多个第二单位子矩阵,所述多个第二零子矩阵和所述多个第二单位子矩阵中的每个子矩阵具有p×p个元素,所述多个第二零子矩阵和所述多个第二单位子矩阵交替布置;以及
第一奇偶校验子矩阵包括多个偏移子矩阵和两个第三零子矩阵,所述多个偏移子矩阵彼此不同并与包括在存储器模块中的多个数据芯片对应。
15.一种存储器系统,包括:
存储器模块;以及
存储器控制器,包括处理电路,处理电路被配置为:
使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行纠错码解码,以生成第一校正子和第二校正子;
基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及
输出指示错误的类型的解码状态标志。
16.根据权利要求15所述的存储器系统,其中,处理电路被配置为:
响应于判定校正子具有非零逻辑电平,输出指示读取码字的用户数据集包括可纠正的错误的解码状态标志;
基于奇偶校验矩阵的第二部分和读取码字来生成指示可纠正的错误的位置的第三校正子;以及
使用第三校正子来纠正可纠正的错误以获得纠正的用户数据集。
17.根据权利要求15所述的存储器系统,其中,处理电路被配置为:响应于判定校正子具有零逻辑电平并且第二校正子具有零逻辑电平,输出指示读取码字的用户数据集不包括错误的解码状态标志。
18.根据权利要求15所述的存储器系统,其中,处理电路被配置为:响应于判定校正子具有零逻辑电平并且第二校正子具有非零逻辑电平,输出指示读取码字的用户数据集包括不可纠正的错误的解码状态标志。
19.根据权利要求15所述的存储器系统,其中:
奇偶校验矩阵包括第一奇偶校验子矩阵、第二奇偶校验子矩阵和第三奇偶校验子矩阵;
第二奇偶校验子矩阵包括多个单位子矩阵和多个第一零子矩阵,所述多个单位子矩阵和所述多个第一零子矩阵中的每个子矩阵具有p×p个元素,所述多个单位子矩阵和所述多个第一零子矩阵交替布置,并且p是大于1的自然数;
第三奇偶校验子矩阵包括多个第二零子矩阵和多个第一偏移子矩阵,所述多个第二零子矩阵和所述多个第一偏移子矩阵中的每个子矩阵具有p×p个元素,所述多个第二零子矩阵和所述多个第一偏移子矩阵交替布置;
第一奇偶校验子矩阵包括多个第二偏移子矩阵和两个第三零子矩阵,所述多个第二偏移子矩阵彼此不同并且与包括在存储器模块中的多个数据芯片对应;以及
奇偶校验矩阵的第一部分包括第二奇偶校验子矩阵和第三奇偶校验子矩阵。
20.一种被配置为控制存储器模块的存储器控制器,所述存储器控制器包括:
处理电路,被配置为:
使用奇偶校验生成矩阵对用户数据集和元数据执行纠错码编码,以生成错误定位奇偶校验数据、第一错误大小奇偶校验数据和第二错误大小奇偶校验数据;
将输出码字输出到存储器模块,输出码字包括用户数据集、元数据、错误定位奇偶校验数据、第一错误大小奇偶校验数据以及第二错误大小奇偶校验数据;
使用奇偶校验矩阵的第一部分对来自存储器模块的读取码字执行纠错码解码,以生成第一校正子和第二校正子;
基于第二校正子和判定校正子来确定读取码字中的错误的类型,判定校正子与第一校正子和第二校正子之和对应;以及
输出指示错误的类型的解码状态标志。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190114283A KR20210032810A (ko) | 2019-09-17 | 2019-09-17 | 메모리 컨트롤러 및 메모리 시스템 |
KR10-2019-0114283 | 2019-09-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527549A true CN112527549A (zh) | 2021-03-19 |
Family
ID=74868793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010489243.1A Pending CN112527549A (zh) | 2019-09-17 | 2020-06-02 | 存储器控制器和包括该存储器控制器的存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11088710B2 (zh) |
KR (1) | KR20210032810A (zh) |
CN (1) | CN112527549A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595560A (zh) * | 2021-06-29 | 2021-11-02 | 浪潮电子信息产业股份有限公司 | 一种信息纠错方法、装置、设备及存储介质 |
CN115273956A (zh) * | 2021-04-30 | 2022-11-01 | 美光科技公司 | 在存储器装置中通过校正子计算进行错误校正 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210045875A (ko) * | 2019-10-17 | 2021-04-27 | 에스케이하이닉스 주식회사 | 복수의 에러 정정 레벨들을 위한 패리티 생성 로직, 이를 포함하는 메모리 컨트로러 및 메모리 모듈, 및 패리티 생성 방법 |
US20230368860A1 (en) * | 2020-06-22 | 2023-11-16 | SK Hynix Inc. | Memory and operation method of memory |
US12095478B2 (en) * | 2020-06-22 | 2024-09-17 | SK Hynix Inc. | Memory and operation method of memory |
US11157359B2 (en) * | 2020-09-24 | 2021-10-26 | Intel Corporation | Techniques to implement a hybrid error correction code scheme |
US11416331B2 (en) * | 2020-12-09 | 2022-08-16 | Micron Technology, Inc. | Modified checksum using a poison data pattern |
KR20230003766A (ko) | 2021-06-30 | 2023-01-06 | 삼성전자주식회사 | 메모리 컨트롤러의 구동 방법, 이를 수행하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20240009222A (ko) * | 2022-07-13 | 2024-01-22 | 에스케이하이닉스 주식회사 | 에러 정정 코드 회로 및 이를 포함하는 반도체 장치 |
US12099411B2 (en) | 2022-10-14 | 2024-09-24 | SK Hynix Inc. | Error processing circuit, memory and operation method of the memory |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7028245B2 (en) | 2001-08-21 | 2006-04-11 | Equator Technologies, Inc. | Even-load software Reed-Solomon decoder |
US6915478B2 (en) | 2001-12-21 | 2005-07-05 | Texas Instruments Incorporated | Method and apparatus for computing Reed-Solomon error magnitudes |
US7103830B1 (en) | 2002-12-18 | 2006-09-05 | Applied Micro Circuits Corporation | DC balanced error correction coding |
US7900122B2 (en) | 2007-01-04 | 2011-03-01 | Broadcom Corporation | Simplified RS (Reed-Solomon) code decoder that obviates error value polynomial calculation |
US8296634B2 (en) | 2010-02-27 | 2012-10-23 | I Shou University | Error correction decoder, error correction value generator, and error correction system |
US8522122B2 (en) * | 2011-01-29 | 2013-08-27 | International Business Machines Corporation | Correcting memory device and memory channel failures in the presence of known memory device failures |
GB2514970B (en) | 2012-03-29 | 2020-09-09 | Intel Corp | Enhanced storage of metadata utilizing improved error detection and correction in computer memory |
US9043674B2 (en) * | 2012-12-26 | 2015-05-26 | Intel Corporation | Error detection and correction apparatus and method |
US10853163B2 (en) | 2017-04-28 | 2020-12-01 | Qualcomm Incorporated | Optimized error-correcting code (ECC) for data protection |
US10236913B2 (en) | 2017-05-11 | 2019-03-19 | Winbond Electronics Corp. | Error checking and correcting decoder |
-
2019
- 2019-09-17 KR KR1020190114283A patent/KR20210032810A/ko unknown
-
2020
- 2020-03-05 US US16/809,949 patent/US11088710B2/en active Active
- 2020-06-02 CN CN202010489243.1A patent/CN112527549A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115273956A (zh) * | 2021-04-30 | 2022-11-01 | 美光科技公司 | 在存储器装置中通过校正子计算进行错误校正 |
US12032444B2 (en) | 2021-04-30 | 2024-07-09 | Micron Technology, Inc. | Error correction with syndrome computation in a memory device |
CN115273956B (zh) * | 2021-04-30 | 2024-09-06 | 美光科技公司 | 在存储器装置中通过校正子计算进行错误校正 |
CN113595560A (zh) * | 2021-06-29 | 2021-11-02 | 浪潮电子信息产业股份有限公司 | 一种信息纠错方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210083687A1 (en) | 2021-03-18 |
US11088710B2 (en) | 2021-08-10 |
KR20210032810A (ko) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11239960B2 (en) | Characterization of in-chip error correction circuits and related semiconductor memory devices/memory systems | |
US11088710B2 (en) | Memory controllers and memory systems including the same | |
US10846171B2 (en) | Error correction code decoders, semiconductor memory devices and memory systems | |
CN113157201B (zh) | 存储器控制器及包括存储器控制器的存储器系统 | |
US10922171B2 (en) | Error correction code circuits, semiconductor memory devices and memory systems | |
US10191805B2 (en) | Semiconductor memory devices and memory systems including the same | |
US11392454B2 (en) | Memory controllers, memory systems and memory modules | |
US11463110B2 (en) | Memory controllers and memory systems including the same | |
US11068347B2 (en) | Memory controllers, memory systems including the same and memory modules | |
US11726670B2 (en) | Methods of operating memory controllers, memory controllers performing the methods and memory systems including the memory controllers | |
US11841763B2 (en) | Semiconductor memory devices with ECC engine defect determination based on test syndrome, test parity, expected decoding status and received decoding status | |
EP4180960A1 (en) | Error correction circuit, memory system, and error correction method | |
US20240097709A1 (en) | Error correction code decoder using constacyclic code, and memory device and memory system including the same | |
CN116107798A (zh) | 存储器控制器、存储器系统和存储器模块 | |
KR20230068265A (ko) | 에러 정정 회로, 메모리 시스템 및 에러 정정 방법 | |
KR20230068235A (ko) | 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈 | |
CN116206666A (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 |