CN113764029A - 用于并行生成校正子和部分系数信息的设备和方法 - Google Patents
用于并行生成校正子和部分系数信息的设备和方法 Download PDFInfo
- Publication number
- CN113764029A CN113764029A CN202110614942.9A CN202110614942A CN113764029A CN 113764029 A CN113764029 A CN 113764029A CN 202110614942 A CN202110614942 A CN 202110614942A CN 113764029 A CN113764029 A CN 113764029A
- Authority
- CN
- China
- Prior art keywords
- error
- syndrome
- partial coefficient
- data
- syndromes
- 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/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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- 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/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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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
-
- 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/1525—Determination and particular use of error location polynomials
-
- 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/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
根据本公开的技术构思的错误校正设备包括:校正子生成电路,被配置为接收数据并针对数据生成多个校正子;部分系数生成电路,被配置为在生成多个校正子的同时,通过使用数据来生成与错误位置多项式的系数的一部分有关的部分系数信息;错误位置确定电路,被配置为基于多个校正子和部分系数信息来确定错误位置多项式的系数,并通过使用错误位置多项式来获得数据中的错误的位置;以及错误校正电路,被配置为根据错误的位置来校正数据中的错误。
Description
相关申请的交叉引用
本申请要求于2020年6月3日在韩国知识产权局提交的韩国专 利申请No.10-2020-0067163的权益,其公开内容通过引用全部合并于 此。
技术领域
这里的本公开涉及一种用于并行地生成校正子和部分系数信息 的错误校正设备和错误校正方法。
背景技术
错误校正解码器可以执行错误校正编码(ECC)以纠正信息数据 中的错误比特。
随着通信速度的增加和数据吞吐量的增加,信息数据中的错误比 特的数量可能增加。由于错误比特的增加,从当错误校正解码器接收 信息数据直到错误校正解码器输出校正数据所需的错误校正时延可 能被延长。
发明内容
由本公开的技术思想解决的问题是通过并行地生成部分系数和 错误位置方程的校正子来减少错误校正时延。
根据本公开的方面的错误校正设备包括:校正子生成电路,被配 置为接收数据并针对数据生成多个校正子;部分系数生成电路,被配 置为在生成多个校正子的同时,通过使用数据来生成与错误位置多项 式的系数的一部分有关的部分系数信息;错误位置确定电路,被配置 为基于多个校正子和部分系数信息来确定错误位置多项式的系数,并 通过使用错误位置多项式来获得数据中的错误的位置;以及错误校正 电路,被配置为根据错误的位置来校正数据中的错误。
根据本公开的方面的错误校正方法包括:从存储单元阵列读取数 据;针对数据生成多个校正子;在生成多个校正子的同时使用数据生 成与错误位置多项式的系数的一部分有关的部分系数信息;基于多个 校正子和部分系数信息来确定错误位置多项式的系数;并通过使用错 误位置多项式来获得数据中的错误的位置;以及基于错误的位置来校 正数据中的错误。
根据本公开的方面的易失性存储器件包括:存储单元阵列,包括 多个存储单元;以及错误校正引擎,被配置为对从存储单元阵列读取 的数据进行校正,其中,错误校正引擎包括:校正子生成电路,被配 置为使用从存储单元阵列读取的数据来生成多个校正子;部分系数生 成电路,被配置为在生成多个校正子的同时生成与错误位置多项式的 系数的一部分有关的部分系数信息;错误位置确定电路,被配置为基 于多个校正子和部分系数信息来确定错误位置多项式的系数,并通过 使用错误位置多项式来获得数据中的错误的位置;以及错误校正电路, 被配置为基于错误的位置来校正数据中的错误。
附图说明
根据以下结合附图进行的详细描述,将更清楚地理解本发明构思 的实施例,在附图中,相似的附图标记表示相似的元件。在附图中:
图1是示出根据本公开的示例性实施例的错误校正设备的框图;
图2是示出根据本公开的示例性实施例的错误校正方法的流程 图;
图3是根据本公开的示例性实施例的用于说明错误校正的时延 的图;
图4是根据本公开的示例性实施例的用于说明校正子生成电路 的图;
图5是根据本公开的示例性实施例的用于描述错误校正多项式 生成电路的图;
图6是示出根据本公开的示例性实施例的部分系数生成电路的 图;
图7是根据本公开的示例性实施例的用于描述错误校正设备的 图;
图8是示出根据本公开的示例性实施例的部分系数生成电路的 图;
图9是示出根据本公开的示例性实施例的错误校正多项式生成 电路的图;
图10是示出根据本公开的示例性实施例的包括并行地执行校正 子生成和部分系数生成的ECC引擎在内的存储器件的框图;
图11是示出图10的ECC编码电路的框图;
图12是示出图10的ECC解码电路的框图;
图13是示出根据本发明的示例性实施例的半导体存储器件的图;
图14是示出将根据本发明的示例性实施例的并行地生成部分系 数和校正子的半导体存储器件应用于移动系统的示例的框图;以及
图15是示出将根据本发明的示例性实施例的并行地生成部分系 数和校正子的半导体存储器件应用于计算系统的示例的框图。
具体实施方式
在下文中,参考附图公开了本发明的各个实施例。
图1是示出根据本公开的示例性实施例的错误校正设备的框图。
参考图1,错误校正设备100-1可以包括校正子生成电路200、 部分系数生成电路300-1、错误位置多项式生成电路400-2、错误位 置确定电路500、错误校正电路600和数据缓冲器700。
错误校正设备100-1可以接收数据多项式R(x)并校正数据多项 式R(x)中的错误。错误校正设备100-1可以输出其中校正了错误的校 正数据多项式C(x)。数据多项式R(x)可以是被配置为在错误校正设 备100-1中执行错误校正功能的源数据。例如,数据多项式R(x)可以 与读取数据RData[0:63]和奇偶校验比特ECCP[0:7]的向量表示相对 应,稍后将参考图10进行描述。
数据缓冲器700可以临时存储所接收的数据多项式R(x),并将 数据多项式R(x)提供给错误校正电路600。
校正子生成电路200可以接收数据多项式R(x)并生成校正子多 项式S(x)。校正子多项式S(x)可以是指示在数据多项式R(x)中是否存 在错误的多项式。当校正子多项式S(x)为0时,在数据多项式R(x) 中可能不存在错误。当校正子多项式S(x)不为0时,在数据多项式 R(x)中可能存在错误。
当校正子多项式S(x)为0时,可以将临时存储在数据缓冲器700 中的数据多项式R(x)输出到错误校正设备100-1的外部,而无需附加 的错误校正。
当校正子多项式S(x)不为0时,可以将校正子多项式S(x)发送给 错误位置多项式生成电路400-2。
部分系数生成电路300-1可以生成与错误位置多项式的系数的 一部分有关的部分系数信息Partial_Coef_info。可以将部分系数信息 Partial_Coef_info发送给错误位置多项式生成电路400-2。部分系数生 成电路300-1与校正子生成电路200生成校正子多项式S(x)并行地生 成部分系数信息Partial_Coef_info,从而可以减少对数据多项式R(x)中的错误进行校正所需的时延。
错误位置多项式生成电路400-2可以基于校正子多项式S(x)和部 分系数信息Partial_Coef_info来生成用于搜索在数据多项式R(x)中的 错误的位置的错误位置多项式Λ(x)。错误位置多项式生成电路400-2 可以通过一起使用校正子多项式S(x)和部分系数信息 Partial_Coef_info来减少生成错误位置多项式Λ(x)的系数所需的时延。
错误位置多项式生成电路400-2可以被称为密钥方程求解器 (Key EquationSolver)。错误位置多项式生成电路400-2可以使用 Berlekamp-Massey算法、逐步(SBS)算法、欧几里得算法、修改的 欧几里得算法等来生成错误位置多项式Λ(x)。错误位置多项式生成 电路400-2可以将错误位置多项式Λ(x)发送给错误位置确定电路500。
错误位置确定电路500可以基于错误位置多项式Λ(x)来计算错 误位置,并根据计算结果来生成错误多项式E(x)。错误位置确定电路 500可以将生成的错误多项式E(x)发送给错误校正电路600。
错误校正电路600可以基于错误多项式E(x)来校正从数据缓冲 器700接收的数据多项式R(x)的错误,并且输出经错误校正的校正数 据多项式C(x)。
图2是示出根据本公开的示例性实施例的错误校正方法的流程 图。
参考图2,在操作S201中,可以从存储单元阵列读取数据。该 数据可以包括信息数据和奇偶校验数据。奇偶校验数据可以是用于校 正信息数据的数据。
在操作S203中,校正子生成电路200可以针对读取的数据来生 成多个校正子。校正子可以是指示数据中是否存在错误的数据。如果 校正子为0,则数据中可能不存在错误。如果校正子不为0,则数据 中可能存在错误。
在操作S205中,部分系数生成电路300-1可以通过使用所读取 的数据与多个校正子的生成并行地生成部分系数信息,该部分系数信 息是与错误位置多项式的系数的一部分有关的信息。错误位置多项式 可以是将读取数据中的错误的位置作为根或根的倒数的多项式。部分 系数信息可以是与错误位置多项式的系数中的包括非线性运算在内 的系数有关的信息。部分系数信息可以是与错误位置多项式的系数中 的包括任一校正子的幂值在内的系数有关的信息。可以通过执行用于 计算校正子的幂值的双重求和运算中的第一求和运算来生成部分系 数信息。
在操作S207中,错误位置多项式生成电路400-2可以基于校正 子和部分系数信息来确定错误位置多项式,并且错误位置确定电路 500可以获得错误位置。可以通过获取错误位置多项式的根的倒数来 获得错误位置。
在操作S209中,错误校正电路600可以通过翻转与数据中的错 误位置相对应的比特来校正错误。
图3是根据本公开的示例性实施例的用于解释错误校正的时延 的图。
参考图3中的图片(a),校正子生成电路200可以在校正子生成 时间Ts期间针对数据生成多个校正子。错误位置多项式生成电路 400-1可以从校正子生成电路200接收多个校正子,并且在系数生成 时间1Tc1期间生成错误位置多项式的系数。
参考图3中的图片(b),部分系数生成电路300-1可以在部分系 数生成时间Tp期间生成用于错误位置多项式的系数的一部分的部分 系数。部分系数生成时间Tp可以与校正子生成时间Ts重叠。例如, 部分系数生成电路300-1可以与校正子生成电路200的校正子生成操 作并行地生成部分系数。尽管描述了校正子生成时间Ts比部分系数 生成时间Tp长,但是部分系数生成时间Tp可以取决于部分系数生 成电路300-1是否生成错误位置多项式的系数的一部分而增加。换句 话说,在一些示例实施例中,部分系数生成时间Tp可以比校正子生 成时间Ts长。
错误位置多项式生成电路400-2可以在系数生成时间2Tc2期间 生成错误位置多项式的系数。因为已经生成了错误位置多项式的系数 中的部分系数,所以可以减少生成错误位置多项式的系数所需的时延。 例如,系数生成时间2Tc2可以比系数生成时间1Tc1短。结果,当 并行生成部分系数和校正子时,可以减少错误校正所需的时延。
图4是用于说明校正子生成电路的图。
参考图4,校正子生成电路200可以包括第0校正子生成电路210 至第(2t-1)校正子生成电路230。
校正子生成电路200可以接收数据多项式R(x)并生成校正子多 项式S(x)。当所接收的向量为[r0 r1 r2 ... rN-1]时,数据多项式R(x)可以 表示为【等式1】,作为校正子多项式S(x)的系数的校正子Sk可以表 示为【等式2】,并且校正子多项式S(x)可以表示为【等式3】。
【等式1】
在此,N可以是所接收的向量中的比特数量。
【等式2】
在此,α可以是伽罗瓦域的原始元素。例如,α可以是伽罗瓦域 GF(23)的原始元素。伽罗瓦域GF((23)={0,1,α1,...,α6}。例 如,GF(23)可以包括23个元素。
【等式3】
在此,t可以是错误校正设备的错误校正可用比特的数量。
第0校正子生成电路210可以生成第0校正子S0。第1校正子生 成电路220可以生成第一校正子S1。第(2t-1)校正子生成电路230可以 生成第(2t-1)校正子S2t-1。校正子生成电路200可以并行地生成第0 校正子S0至第(2t-1)校正子S2t-1。
第0校正子生成电路210至第(2t-1)校正子生成电路230可以 各自包括与(AND)运算单元240、异或(XOR)运算单元250和移 位寄存器260。AND运算单元240可以是对所接收的向量的元素和 Galois域的元素执行AND运算的伽罗瓦乘法器。XOR运算单元250 可以对AND运算值和所接收的向量的下一元素执行XOR运算。移 位寄存器260可以移位从XOR运算单元250接收的值,并临时存储 经移位的值。
图5是用于描述错误校正多项式生成电路的图。
参考图5,当所接收的向量中的错误比特为2或更大时,错误位 置多项式生成电路400-1可以使用第一校正子S1和第三校正子S3来生 成错误位置多项式。具体地,当所接收的向量具有2个或更多个错误 比特时,错误校正多项式Λ(x)可以表示为【等式4】。
【等式4】
Λ(x)=Λ2x2+Λ1x+Λ0=(S1 3+S3)x2+S1 2x+S1
错误校正多项式Λ(x)的常数项Λ0是第一校正子S1;第一阶项的 系数Λ1是S1 2,其是第一校正子的平方;以及第二阶项的系数Λ2是作 为第一校正子的立方的S1 3与第三校正子S3之和。
错误位置多项式生成电路400-1可以包括2次幂运算单元401和 3次幂运算单元402。2次幂运算单元401可以包括AND门和XOR 门,以接收第一校正子S1并计算S1 2。3次幂运算单元402可以包括 AND门和XOR门,以接收第一校正子S1并计算S1 3。
当生成错误位置多项式Λ(x)时,可能需要大的时延来计算校正 子的幂。例如,s1 3可以表示为【等式5】。
【等式5】
因此,根据本公开的错误校正设备与校正子计算并行地执行用于 计算校正子的幂的双重求和运算的一部分,从而减少了生成错误位置 多项式Λ(x)所需的时延。在本公开中,双重求和运算的一部分可以 是部分系数。
根据本公开的错误校正设备可以与校正子计算并行地执行双重 求和运算中的运算。例如,通过与校正子生成并行地根据 所接收的向量[r0 r1 r2 ... rN-1]计算作为部分系数的可以减 少计算校正子的幂所需的时间。
图6是示出根据本公开的示例性实施例的部分系数生成电路的 图。
参考图6,部分系数生成电路300-1可以接收所接收的向量 [r0 r1 r2 ... rN-1]并生成部分系数信息Partial_Coef_info。部分系数生成 电路300-1可以包括根据索引i的值执行运算的多个部分 求和电路。例如,第0部分求和电路301-1可以执行当i为0时的 运算,以及第(N-2)部分求和电路301-2可以执行当i 为N-2时的运算。部分系数生成电路300-1可以通过将 多个部分求和电路的所有输出进行相加来生成部分系数信息 Partial_Coef_info。
图7是根据本公开的另一示例性实施例的用于描述错误校正设 备的图。
参考图7,错误校正设备100-2可以包括校正子生成电路200、 部分系数生成电路300-2、错误位置多项式生成电路400-2、错误位 置确定电路500、错误校正电路600和数据缓冲器700。已经参考图 1描述了错误位置多项式生成电路400-2、错误位置确定电路500、错 误校正电路600和数据缓冲器700,因此将省略其描述。
部分系数生成电路300-2可以从校正子生成电路200接收校正子 项S_term。校正子项S_term可以是当计算校正子Sk时所需的求和运 算的项。具体地,参考【等式2】,校正子项S_term可以是riαik。 在此,i可以是0至N-1,并且k可以是0至2t-1。N是所接收的向 量的长度,并且t可以是能够被校正的比特数量。
校正子生成电路200可以在生成校正子的过程中将校正子项 S_term存储在数据寄存器260中。校正子生成电路200可以在生成校 正子多项式的同时将校正子项S_term发送给部分系数生成电路300-2。 部分系数生成电路300-2可以使用校正子项S_term来生成部分系数 信息Partial_Coef_info。
通过使用由校正子生成电路200生成的校正子项S_term来生成 部分系数信息Partial_Coef_info,可以减小部分系数生成电路300-2 的大小。
图8是示出根据本公开的另一示例性实施例的部分系数生成电 路的图。
参考图8,部分系数生成电路300-2可以从校正子生成电路200 接收校正子项S_term,并生成部分系数信息Partial_Coef_info。
与图6的部分系数生成电路300-1不同,部分系数生成电路300-2 可以包括多个部分求和电路,其根据索引i的值执行运 算。例如,由于执行了对校正子项进行反复求和的操作,因此可以使 用从校正子生成电路200接收到的校正子项来生成部分系数信息 Partial_Coef_info。第0部分求和电路302-1可以执行当i为0时的运算,并且第(N-2)部分求和电路302-2可以执行当i 为N-2时的运算。部分系数生成电路300-2可以通过 将多个部分求和电路的所有输出进行相加来生成部分系数信息 Partial_Coef_info。
通过使用由校正子生成电路200生成的校正子项S_term来生成 部分系数信息Partial_Coef_info,部分系数生成电路300-2的大小可 以小于图6的部分系数生成电路300-1的大小。
具体地,在图6的部分系数生成电路300-1中,在多个部分求和 电路中,第0部分求和电路301-1分别执行XOR运算和AND运算N 次,并且第(N-2)部分求和电路301-2分别执行XOR运算和AND 运算一次。因此,多个部分求和电路执行全部N(N+1)次运算。
与此相比,在图8的部分系数生成电路300-2中,在多个部分求 和电路中,第0部分求和电路302-1执行N次XOR运算,并且第(N-2) 部分求和电路301-2执行一次XOR运算。因此,多个部分求和电路 执行全部次运算。因此,部分系数生成电路300-2的大小可以小于图6的部分系数生成电路300-1的大小。
图9是示出根据本公开的示例性实施例的错误校正多项式生成 电路的图。
参考图9,错误位置多项式生成电路400-2可以从校正子生成电 路200接收校正子,从部分系数生成电路300-1或300-2接收部分系 数信息Partial_Coef_info,以及生成错误校正多项式的系数。
错误校正多项式生成电路400-2可以包括2次幂运算单元401和 3次幂运算单元402-1。2次幂运算单元401可以包括AND门和XOR 门,以接收第一校正子S1并计算S1 2。3次幂运算单元402-1可以使用 部分系数信息Partial_Coef_info来计算S1 3。
图10是示出根据示例性实施例的包括并行地执行校正子生成和 部分系数生成的错误校正码(ECC)引擎在内的半导体存储器件的框 图。
参考图10,半导体存储器件900可以包括存储单元阵列1100和 ECC引擎1000。存储单元阵列1100可以包括普通单元阵列1110和 ECC单元阵列1120。普通单元阵列1110可以是其中存储写入数据 WData[0:63]的存储单元阵列,而ECC单元阵列1120可以是其中存 储奇偶校验比特ECCP[0:7]的存储单元阵列。
ECC引擎1000包括ECC编码电路1010和ECC解码电路1020。 ECC编码电路1010可以生成用于要写入普通单元阵列1110的存储单 元中的写入数据WData[0:63]的奇偶校验比特ECCP[0:7]。奇偶校验 比特ECCP[0:7]可以存储在ECC单元阵列1120中。
ECC解码电路1020可以使用从普通单元阵列1110的存储单元 读出的读取数据RData[0:63]和从ECC单元阵列1120读出的奇偶校 验比特ECCP[0:7]来校正错误比特数据,并输出经错误校正的数据 (Data[0:63])。
ECC解码电路1020可以与部分系数并行地生成校正子,以校正 读取数据RData[0:63]中的错误。部分系数可以是错误位置多项式的 系数的一部分。ECC解码电路1020可以通过与部分系数并行地生成 校正子来减少生成错误位置多项式所需的时延。
图11是示出根据示例性实施例的图10的ECC编码电路的图。
参考图11,ECC编码电路1010可以包括奇偶校验生成器712, 该奇偶校验生成器712接收64比特写入数据WData[0:63]和基本比特B[0:7],并且使用XOR阵列运算生成奇偶校验比特ECCP[0:7]。基本 比特B[0:7]是用于生成针对64比特写入数据WData[0:63]的奇偶校验 比特ECCP[0:7]的比特,并且例如可以由b'00000000比特组成。基本 比特B[0:7]可以使用其他特定比特代替b'00000000比特。
图12是示出根据示例性实施例的图10的ECC解码电路的图。
参考图12,ECC解码电路1020包括校正子生成电路802、部分 系数生成电路803、错误位置多项式生成电路804、错误位置确定电 路806和错误校正电路808。校正子生成电路802可以接收64比特 读取数据RData[0:63]和8比特奇偶校验比特ECCP[0:7],并且使用XOR阵列运算来生成校正子数据S[0:7]。读取数据RData[0:63]和奇 偶校验比特ECCP[0:7]可以是数据多项式R(x)的向量表示。校正子数 据S[0:7]可以是校正子多项式S(x)的向量表示。部分系数生成电路803 可以接收读取数据RData[0:63]和奇偶校验比特ECCP[0:7],并且使用 XOR运算和AND运算来生成部分系数信息Partial_Coef_info。错误 位置多项式生成电路804可以使用校正子数据S[0:7]和部分系数信息 Partial_Coef_info来计算错误位置方程的系数。错误位置方程是使用 错误比特的倒数作为根的方程。错误位置确定电路806可以通过使用 计算出的错误位置方程来计算比特错误的位置。错误校正电路808可 以接收64比特读取数据RData[0:63],通过根据比特错误位置信息对 64比特读取数据RData[0:63]中发生错误的比特的逻辑值进行取反 (invert)来校正错误,并输出经错误校正的64比特数据Data[0:63]。 64比特数据Data[0:63]可以是校正数据多项式C(x)的向量表示。
图13是示出根据本发明的示例性实施例的半导体存储器件的图。
参考图13,半导体存储器件900可以包括控制逻辑910、刷新地 址生成器915、地址缓冲器920、存储体控制逻辑930、行地址多路 复用器940、列地址(CA)锁存器950、行解码器、存储单元阵列、 列解码器、读出放大器、输入/输出(I/O)选通电路990、数据输入/ 输出(I/O)缓冲器995和ECC引擎1000。
存储单元阵列可以包括第一存储体阵列至第四存储体阵列980a、 980b、980c和980d。行解码器可以包括分别与第一存储体阵列至第 四存储体阵列980a、980b、980c和980d连接的第一存储体行解码器 至第四存储体行解码器960a、960b、960c和960d。列解码器可以包 括分别与第一存储体阵列至第四存储体阵列980a、980b、980c和980d 连接的第一存储体列解码器至第四存储体列解码器970a、970b、970c 和970d。读出放大器可以包括分别与第一存储体阵列至第四存储体 阵列980a、980b、980c和980d连接的第一存储体读出放大器至第四 存储体读出放大器985a、985b、985c和985d。第一存储体阵列至第 四存储体阵列980a、980b、980c和980d、第一存储体行解码器至第 四存储体行解码器960a、960b、960c和960d、第一存储体列解码器 至第四存储体列解码器970a、970b、970c和970d以及第一存储体读 出放大器至第四存储体读出放大器985a、985b、985c和985d分别可 以构成第一存储体至第四存储体。图9示出了包括四个存储体的半导 体存储器件900的示例,但是,根据实施例,半导体存储器件900可 以包括任何数量的存储体。
另外,根据示例实施例,半导体存储器件900可以是动态随机存 取存储器,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率(LPDDR)SDRAM、图形双倍数据 速率(GDDR)SDRAM、Rambus动态随机存取存储器(RDRAM) 等,或者可以是需要刷新操作的任何易失性存储器件。
控制逻辑910可以控制半导体存储器件900的操作。例如,控制 逻辑910可以生成控制信号,使得半导体存储器件900执行写入操作 或读取操作。控制逻辑910可以包括:对从存储器控制器接收的命令 CMD进行解码的命令解码器911;以及用于设置半导体存储器件900 的操作模式的模式寄存器912。例如,命令解码器911可以对写入使 能信号(/WE)、行地址选通信号(/RAS)、列地址选通信号(/CAS)、芯 片选择信号(/CS)等进行解码,以生成与命令CMD相对应的控制信号。
控制逻辑910还可以接收时钟信号(CLK)和时钟使能信号 (CKE),用于以同步方式驱动半导体存储器件900。控制逻辑910 可以响应于刷新命令而控制刷新地址生成器915执行自动刷新操作, 或者响应于自身刷新条目命令来控制刷新地址生成器915执行自刷 新操作。
刷新地址生成器915可以生成与要执行刷新操作的存储单元行 相对应的刷新地址REF_ADDR。因此,可以减小半导体存储器件900 的刷新电流和刷新功率。
地址缓冲器920可以从存储器控制器接收包括存储体地址 BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR在内的 地址ADDR。此外,地址缓冲器920可以将接收的存储体地址 BANK_ADDR提供给存储体控制逻辑930,将接收的行地址 ROW_ADDR提供给行地址多路复用器940,并且将接收的列地址 COL_ADDR提供给列地址锁存器950。
存储体控制逻辑930可以响应于存储体地址BANK_ADDR生成 存储体控制信号。响应于存储体控制信号,可以激活第一存储体行解 码器至第四存储体行解码器960a、960b、960c和960d中的与存储体 地址BANK_ADDR相对应的存储体行解码器,并且可以激活第一存储体列解码器至第四存储体列解码器970a、970b、970c和970d中的 与存储体地址BANK_ADDR相对应的存储体列解码器。
存储体控制逻辑930可以响应于确定存储体组的存储体地址 BANK_ADDR来生成存储体组控制信号。响应于存储体组控制信号, 可以激活第一存储体行解码器至第四存储体行解码器960a、960b、 960c和960d中的与存储体地址BANK_ADDR相对应的存储体组的 行解码器,并且可以激活第一存储体列解码器至第四存储体列解码器 970a、970b、970c和970d中的与存储体地址BANK_ADDR相对应 的存储体组的列解码器。
行地址多路复用器940可以从地址缓冲器920接收行地址 ROW_ADDR,并且可以从刷新地址生成器915接收刷新行地址 REF_ADDR。行地址多路复用器940可以选择性地输出行地址 ROW_ADDR或刷新行地址REF_ADDR。从行地址多路复用器940 输出的行地址可以分别应用于第一存储体行解码器至第四存储体行 解码器960a、960b、960c和960d。
在第一存储体行解码器至第四存储体行解码器960a、960b、960c 和960d中的由存储体控制逻辑930激活的存储体行解码器可以对从 行地址多路复用器940输出的行地址进行解码,以激活与该行地址相 对应的字线。例如,所激活的存储体行解码器可以将字线驱动电压施 加到与行地址相对应的字线。
列地址锁存器950可以从地址缓冲器920接收列地址 COL_ADDR,并且可以临时存储所接收的列地址COL_ADDR。列地 址锁存器950可以逐渐增加在突发模式下接收的列地址COL_ADDR。 列地址锁存器950可以将临时存储或逐渐增加的列地址COL_ADDR 分别应用于第一存储体列解码器至第四存储体列解码器970a、970b、 970c和970d。
在第一存储体列解码器至第四存储体列解码器970a、970b、970c 和970d中,由存储体控制逻辑930激活的存储体列解码器可以通过 输入/输出选通电路990激活与存储体地址BANK_ADDR和列地址 COL_ADDR相对应的读出放大器。
输入/输出选通电路990除了包括用于选通输入和输出数据的电 路之外,还可以包括输入数据掩模逻辑、用于存储从第一存储体阵列 至第四存储体阵列980a、980b、980c和980d输出的数据的读取数据 锁存器、以及用于将数据写入到第一存储体阵列至第四存储体阵列 980a、980b、980c和980d的写入驱动器。
从第一存储体阵列至第四存储体阵列980a、980b、980c和980d 之一读取的数据可以由感测放大器感测并放大,并存储在读取数据锁 存器中。存储在读取数据锁存器中的数据DQ可以通过数据输入/输 出缓冲器995提供给存储器控制器。可以将要写入第一存储体阵列至 第四存储体阵列980a、980b、980c和980d之一的数据DQ从存储器 控制器提供给数据输入/输出缓冲器995。提供给数据输入/输出缓冲 器995的数据DQ可以通过写入驱动器被写到一个存储体阵列。
图14是示出将根据本发明的示例性实施例的并行地生成部分系 数和校正子的半导体存储器件应用于移动系统的示例的框图。
参考图14,移动系统1400包括通过总线1402相互连接的应用 处理器1410、连接单元1420、第一存储器件1430、第二存储器件1440、 用户接口1450和电源1460。第一存储器件1430可以被设置为易失 性存储(VM)器件,第二存储器件1440可以被设置为非易失性存储(NVM)器件。根据实施例,移动系统1400可以是任何移动系统, 例如,移动电话、智能电话、个人数字助理(PDA)、便携式多媒体 播放器(PMP)、数码相机、音乐播放器、便携式游戏机、导航系统 等。
应用处理器1410可以执行提供互联网浏览、游戏、视频等的应 用。根据实施例,应用处理器1410可以包括一个处理器核(单核) 或可以包括多个处理器核(多核)。例如,应用处理器1410可以包括 双核、四核或六核等。此外,根据实施例,应用处理器1410还可以 包括位于内部或外部的高速缓存存储器。
连接单元1420可以执行与外部设备的无线通信或有线通信。例 如,连接单元1420可以执行以太网通信、近场通信(NFC)、射频识 别(RFID)通信、移动电信、存储卡通信、通用串行总线(USB) 通信等。例如,连接单元1420可以包括基带芯片组并且可以支持以 下通信:例如,全球移动通信系统(GSM)、通用分组无线电服务 (GPRS)、宽带码分多址(WCDMA)、高速分组接入(HSPA)等。
作为易失性存储器件的第一存储器件1430可以存储由应用处理 器1410处理的数据或可以用作工作存储器。第一存储器件1430可以 包括:包括多个存储单元的存储单元阵列;以及对从存储单元读取的 数据执行ECC操作的ECC引擎。ECC引擎可以包括部分系数生成电 路,该部分系数生成电路用于在针对读取数据来生成多个校正子的同 时并行地生成与错误位置多项式的系数的一部分有关的部分系数信 息。第一存储器件1430可以通过并行地生成部分系数和校正子来减 少生成错误校正多项式所需的时延。
第一存储器件1430可以输出错误信号,使得移动系统1400识别 当在移动系统1400中安装和使用时发生的错误发生情况。因此,考 虑到错误信号和ECC操作的数量,当确定第一存储器件1430不适用 于移动系统操作时,移动系统1400可以替换第一存储器件1430。因 此,移动系统1400可以在由于第一存储器件1430引起的系统故障之 前替换第一存储器件1430,从而确保稳定的系统操作。
作为非易失性存储器件的第二存储器件1440可以存储用于引导 移动系统1400的引导图像。例如,第二存储器件1440可以用以下项 来实现:电可擦除可编程只读存储器(EEPROM)、闪存、相变随机 存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁随机存取存 储器(MRAM)、铁电随机存取存储器(FRAM)或与其类似的存储 器。
用户接口1450可以包括一个或多个输入设备(例如,键区或触 摸屏)和/或一个或多个输出设备(例如,扬声器和显示器设备)。电 源1460可以供应操作电压。此外,根据实施例,移动系统1400还可 以包括相机图像处理器(CIP),并且还可以包括存储器件,例如存储卡、固态驱动器(SSD)、硬盘驱动器(HDD)和CD-ROM。
图15是示出将根据本发明的示例性实施例的并行地生成部分系 数和校正子的半导体存储器件应用于计算系统的示例的框图。
参考图15,计算系统1500包括处理器1510、输入/输出集线器 1520、输入/输出控制器集线器1530、存储器模块1540和图形卡1550。 根据实施例,计算系统1500可以是任意计算系统,例如,个人计算 机(PC)、服务器计算机、工作站、膝上型计算机、移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相 机、数字电视、机顶盒、音乐播放器、便携式游戏机、导航系统等。
处理器1510可以执行各种计算功能,例如,特定的计算或任务。 例如,处理器1510可以是微处理器或中央处理单元(CPU)。根据实 施例,处理器1510可以包括一个处理器核(单核)或可以包括多个 处理器核(多核)。例如,处理器1510可以包括双核、四核、六核等。另外,虽然图15示出了包括一个处理器1510的计算系统1500,但 是根据实施例,计算系统1500可以包括多个处理器。此外,根据实 施例,处理器1510还可以包括位于内部或外部的高速缓存存储器。
处理器1510可以包括控制存储器模块1540的操作的存储器控制 器1500。处理器1510中的存储器控制器1511可以被称为集成存储 器控制器(IMC)。根据实施例,存储器控制器1511可以在输入/输出 集线器1520中。包括存储器控制器1511的输入/输出集线器1520可 以被称为存储器控制器集线器(MCH)。
存储器模块1540可以包括:存储单元阵列,包括多个存储单元; ECC引擎,对存储单元执行ECC操作,并且输出与通过ECC操作校 正的错误比特相对应的错误地址;以及错误通知单元,将错误地址与 现有的坏单元信息进行比较,并且当错误地址与现有的坏单元信息不 匹配时输出错误信号。
存储器模块1540可以包括:包括多个存储单元的存储单元阵列; 以及对存储单元执行ECC操作的ECC引擎。ECC引擎可以包括部分 系数生成电路,该部分系数生成电路用于在针对读取数据生成多个校 正子的同时并行地生成与错误位置多项式的系数的一部分有关的部 分系数信息。存储器模块1540可以通过并行地生成部分系数和校正 子来减少生成错误校正多项式所需的时延。
存储器模块1540可以输出错误信号,使得计算系统1500可以识 别当在计算系统1500中安装和使用时发生的错误发生情况。因此, 考虑到错误信号和ECC操作的数量,当确定存储器模块1540不适用 于系统操作时,计算系统1500可以替换存储器模块1540。因此,计 算系统1500可以在由于存储器模块1540引起的系统故障之前替换存 储器模块1540,从而确保稳定的系统操作。
输入/输出集线器1520可以管理诸如图形卡1550和处理器1510 的设备之间的数据传输。输入/输出集线器1520可以通过各种类型的 接口连接到处理器1510。例如,输入/输出集线器1520和处理器1510 可以通过各种标准接口彼此连接,例如,前端总线(FSB)、系统总 线、超传输、照明数据传输(LDT)、QuickPath互连(QPI)、通用系 统接口、外围组件接口-Express(PCIe)等。尽管在图15中示出了包 括一个输入/输出集线器1520的计算系统1500,但是根据实施例,计 算系统1500可以包括多个输入/输出集线器。
输入/输出集线器1520可以提供与设备连接的各种接口。例如, 输入/输出集线器1520可以提供加速图形端口(AGP)接口、PCIe 接口、通信流架构(CSA)接口等。
图形卡1550可以通过AGP或PCIe连接到输入/输出集线器1520。 图形卡1550可以控制用于显示图像的显示器设备(未示出)。图形卡 1550可以包括用于处理图像数据的内部处理器以及内部半导体存储 器件。根据实施例,输入/输出集线器1520可以包括位于输入/输出集 线器1520内部的图形设备以及位于输入/输出集线器1520外部的图 形卡1550,或者包括替代图形卡1550的该图形设备。输入/输出集线 器1520中的图形设备可以被称为集成图形。此外,包括存储器控制 器和图形设备的输入/输出集线器1520可以被称为图形和存储器控制 器集线器(GMCH)。
输入/输出控制器集线器1530可以执行数据缓冲和接口仲裁,使 得各种系统接口有效地操作。输入/输出控制器集线器1530可以通过 内部总线连接到输入/输出集线器1520。例如,输入/输出集线器1520 和输入/输出控制器集线器1530可以通过直接媒体接口(DMI)、集 线器接口、企业南桥接口(ESI)、PCIe接口等进行连接。
输入/输出控制器集线器1530可以提供与外围设备连接的各种 接口。例如,输入/输出控制器集线器1530可以提供通用串行总线 (USB)端口、串行高级技术附件(ATA)端口、通用输入/输出(GPIO)、 低引脚数(LPC)总线、串行外设接口(SPI)、PCI、PCIe等。
根据实施例,处理器1510、输入/输出集线器1520或输入/输出 控制器集线器1530中的两个或更多个组件可以被实现为单个芯片组。
尽管已经参考本发明构思的实施例具体示出和描述了本发明构 思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可 以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种错误校正设备,包括:
校正子生成电路,被配置为接收数据并针对所述数据生成多个校正子;
部分系数生成电路,被配置为在生成所述多个校正子的同时,通过使用所述数据来生成与错误位置多项式的系数的一部分有关的部分系数信息;
错误位置确定电路,被配置为基于所述多个校正子和所述部分系数信息来确定所述错误位置多项式的系数,并通过使用所述错误位置多项式来获得所述数据中的错误的位置;以及
错误校正电路,被配置为根据所述错误的位置来校正所述数据中的所述错误。
2.根据权利要求1所述的错误校正设备,其中,所述部分系数生成电路在生成所述多个校正子的同时生成与所述错误位置多项式的系数中的包括非线性运算在内的系数有关的信息,作为所述部分系数信息。
3.根据权利要求2所述的错误校正设备,其中,所述部分系数生成电路在生成所述多个校正子的同时生成与所述错误位置多项式的系数中的包括目标校正子的幂值在内的系数有关的信息,作为所述部分系数信息。
4.根据权利要求3所述的错误校正设备,其中,所述部分系数生成电路在生成所述多个校正子的同时,通过执行用于计算所述目标校正子的幂值的双重求和运算中的第一求和运算来生成所述部分系数信息。
5.根据权利要求4所述的错误校正设备,其中,所述错误位置确定电路通过使用所述部分系数信息执行所述双重求和运算中的第二求和运算来计算所述目标校正子的幂值。
6.根据权利要求1所述的错误校正设备,其中,所述部分系数生成电路在生成所述多个校正子的同时使用目标校正子内的多个校正子项中的已经生成的校正子项,来生成所述部分系数信息。
7.根据权利要求6所述的错误校正设备,其中,所述校正子生成电路将目标校正子内的多个校正子项中的所生成的校正子项发送给所述部分系数生成电路,其中所述目标校正子是所述多个校正子中的校正子。
8.一种错误校正方法,包括:
从存储单元阵列读取数据;
针对所述数据生成多个校正子;
在生成所述多个校正子的同时使用所述数据生成与错误位置多项式的系数的一部分有关的部分系数信息;
基于所述多个校正子和所述部分系数信息来确定所述错误位置多项式的系数,并通过使用所述错误位置多项式来获得所述数据中的错误的位置;以及
基于所述错误的位置来校正所述数据中的所述错误。
9.根据权利要求8所述的错误校正方法,其中,在生成所述多个校正子的同时使用所述数据生成与所述错误位置多项式的系数的一部分有关的部分系数信息包括:
生成与所述错误位置多项式的系数中的包括非线性运算在内的系数有关的信息,作为所述部分系数信息。
10.根据权利要求9所述的错误校正方法,其中,所述部分系数信息是与所述错误位置多项式的系数中的包括目标校正子的幂值在内的系数有关的信息。
11.根据权利要求10所述的错误校正方法,其中,通过用于计算所述目标校正子的幂值的双重求和运算中的第一求和运算来生成所述部分系数信息。
12.根据权利要求11所述的错误校正方法,其中,基于所述多个校正子和所述部分系数信息来确定所述错误位置多项式的系数,并且通过使用所述错误位置多项式来获得所述数据中的所述错误的位置包括:
通过使用所述部分系数信息执行所述双重求和运算中的第二求和运算来计算所述目标校正子的幂值。
13.根据权利要求8所述的错误校正方法,其中,在生成所述多个校正子的同时使用所述数据生成与所述错误位置多项式的系数的一部分有关的部分系数信息包括:
在生成所述多个校正子的同时使用目标校正子内的多个校正子项中的已经生成的校正子项来生成所述部分系数信息。
14.一种易失性存储器件,包括:
存储单元阵列,包括多个存储单元;以及
错误校正引擎,被配置为对从所述存储单元阵列读取的数据进行校正,
其中,所述错误校正引擎包括:
校正子生成电路,被配置为使用从所述存储单元阵列读取的数据来生成多个校正子;
部分系数生成电路,被配置为在生成所述多个校正子的同时生成与错误位置多项式的系数的一部分有关的部分系数信息;
错误位置确定电路,被配置为基于所述多个校正子和所述部分系数信息来确定所述错误位置多项式的系数,并通过使用所述错误位置多项式来获得所述数据中的错误的位置;以及
错误校正电路,被配置为基于所述错误的位置来校正所述数据中的所述错误。
15.根据权利要求14所述的易失性存储器件,其中,所述部分系数生成电路在生成所述多个校正子的同时生成与所述错误位置多项式的系数中的包括非线性运算在内的系数有关的信息,作为所述部分系数信息。
16.根据权利要求15所述的易失性存储器件,其中,所述部分系数生成电路在生成所述多个校正子的同时生成与所述错误位置多项式的系数中的包括目标校正子的幂值在内的系数有关的信息,作为所述部分系数信息。
17.根据权利要求16所述的易失性存储器件,其中,所述部分系数生成电路在生成所述多个校正子的同时,通过执行用于计算所述目标校正子的幂值的双重求和运算中的第一求和运算来生成所述部分系数信息。
18.根据权利要求17所述的易失性存储器件,其中,所述错误位置确定电路通过使用所述部分系数信息执行所述双重求和运算中的第二求和运算来计算所述目标校正子的幂值。
19.根据权利要求14所述的易失性存储器件,其中,所述部分系数生成电路在生成所述多个校正子的同时使用目标校正子内的多个校正子项中的已经生成的校正子项,来生成所述部分系数信息。
20.根据权利要求19所述的易失性存储器件,其中,所述校正子生成电路将目标校正子内的多个校正子项中的所生成的校正子项发送给所述部分系数生成电路,其中所述目标校正子是所述多个校正子中的校正子。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200067163A KR20210150149A (ko) | 2020-06-03 | 2020-06-03 | 신드롬과 부분 계수 정보를 병렬적으로 생성하는 에러 정정 장치 및 방법 |
KR10-2020-0067163 | 2020-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113764029A true CN113764029A (zh) | 2021-12-07 |
Family
ID=78787383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110614942.9A Pending CN113764029A (zh) | 2020-06-03 | 2021-06-02 | 用于并行生成校正子和部分系数信息的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11689224B2 (zh) |
KR (1) | KR20210150149A (zh) |
CN (1) | CN113764029A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11838033B1 (en) | 2022-09-20 | 2023-12-05 | Western Digital Technologies, Inc. | Partial speed changes to improve in-order transfer |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3051364A (en) | 1961-06-08 | 1962-08-28 | Du Pont | Fluid yarn-transfer device |
US5483236A (en) | 1993-12-20 | 1996-01-09 | At&T Corp. | Method and apparatus for a reduced iteration decoder |
US5699368A (en) | 1994-03-25 | 1997-12-16 | Mitsubishi Denki Kabushiki Kaisha | Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes |
US6279137B1 (en) * | 1998-12-08 | 2001-08-21 | Lsi Logic Corporation | System and method for a storage-efficient parallel Chien Search |
TW441195B (en) | 1999-07-16 | 2001-06-16 | Via Tech Inc | Signal decoding method |
US6643819B1 (en) * | 2000-01-26 | 2003-11-04 | Maxtor Corporation | Hybrid root-finding technique |
US20030140302A1 (en) * | 2002-01-23 | 2003-07-24 | Litwin, Louis Robert | Chien search cell for an error-correcting decoder |
US7237183B2 (en) | 2003-03-04 | 2007-06-26 | Broadcom Corporation | Parallel decoding of a BCH encoded signal |
US7454690B1 (en) * | 2004-10-27 | 2008-11-18 | Marvell International Ltd. | Architecture and control of reed-solomon list decoding |
JP4313391B2 (ja) * | 2006-12-13 | 2009-08-12 | 株式会社日立コミュニケーションテクノロジー | 光集線装置および光加入者装置 |
KR20080112583A (ko) | 2007-06-21 | 2008-12-26 | 주식회사 코아로직 | 리드 솔로몬 디코더 및 그 방법 |
US7827439B2 (en) * | 2007-09-28 | 2010-11-02 | Symantec Corporation | System and method of redundantly storing and retrieving data with cooperating storage devices |
US8201058B2 (en) * | 2008-07-09 | 2012-06-12 | Cadence Design Systems, Inc. | Method and apparatus for parallel ECC error location |
US8332731B1 (en) * | 2009-11-05 | 2012-12-11 | Micron Technology, Inc. | Error-correcting code and process for fast read-error correction |
US8433985B2 (en) * | 2010-03-29 | 2013-04-30 | Intel Corporation | Error correction mechanisms for flash memories |
US8392807B2 (en) * | 2010-07-23 | 2013-03-05 | Sandisk Technologies Inc. | System and method of distributive ECC processing |
US9317352B2 (en) * | 2012-09-12 | 2016-04-19 | Samsung Electronics Co., Ltd. | Galois field arithmetic operation circuit and memory device |
JP2014082574A (ja) * | 2012-10-15 | 2014-05-08 | Samsung Electronics Co Ltd | 誤り検出訂正回路、及びメモリ装置 |
US8977938B2 (en) * | 2013-02-08 | 2015-03-10 | Altera Corporation | Parallel decomposition of Reed Solomon umbrella codes |
US9344117B2 (en) | 2013-03-15 | 2016-05-17 | Mellanox Technologies, Ltd. | Methods and systems for error-correction decoding |
-
2020
- 2020-06-03 KR KR1020200067163A patent/KR20210150149A/ko unknown
-
2021
- 2021-03-12 US US17/199,803 patent/US11689224B2/en active Active
- 2021-06-02 CN CN202110614942.9A patent/CN113764029A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210384919A1 (en) | 2021-12-09 |
US11689224B2 (en) | 2023-06-27 |
KR20210150149A (ko) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102193682B1 (ko) | 선택적 ecc 기능을 갖는 반도체 메모리 장치 | |
US9483348B2 (en) | Memory module, memory system having the same, and methods of reading therefrom and writing thereto | |
US9727412B2 (en) | Memory device having error notification function | |
US9859022B2 (en) | Memory device having a shareable error correction code cell array | |
US9164834B2 (en) | Semiconductor memory devices, memory systems including the same and method of writing data in the same | |
US10521293B2 (en) | Memory device for performing parallel read-modify-write operation | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US20150089310A1 (en) | Use of error correction pointers to handle errors in memory | |
US10824523B2 (en) | Data storage device and operating method thereof | |
US10121532B2 (en) | Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory | |
KR20170059219A (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 복구 검증 방법 | |
CN111726121B (zh) | 错误校正解码器和具有该错误校正解码器的存储器系统 | |
US8990667B2 (en) | Error check and correction circuit, method, and memory device | |
US10318469B2 (en) | Semiconductor memory device, memory system, and method using bus-invert encoding | |
KR20130027138A (ko) | 에러 정정 방법 및 이를 이용하는 메모리 장치 | |
KR20170112630A (ko) | 반도체장치 및 반도체시스템 | |
KR20180086816A (ko) | 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법 | |
KR20120077521A (ko) | Ecc를 이용하는 메모리 장치 및 그 시스템 | |
TW201921245A (zh) | 用於支持錯誤更正碼的裝置及其測試方法 | |
US11689224B2 (en) | Error correction device and method for generating syndromes and partial coefficient information in a parallel | |
US8423865B2 (en) | Apparatus and method for storing data using non-volatile buffer | |
US20170116060A1 (en) | Error location pointers for nvm | |
KR20140018095A (ko) | 에러 검출 정정 회로 및 메모리 장치 | |
KR20170096079A (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 |