Data error detection and correction in non-volatile memory devices
First Claim
1. A system for performing data error correction in a non-volatile memory device comprising:
- a plurality of data error detectors each containing an odd-syndrome calculator, wherein the odd-syndrome calculator is configured for calculating odd terms of syndrome polynomial of a codeword;
at least one data encoder configured for encoding a chunk of data based on a predetermined coding scheme of (Bose, Ray-Chaudhuri, Hocquenghem) BCH (4200, 4096,
8) code including a 4200-bit codeword with 4096-bit information data and up to eight (8) random correctible data errors;
a multiplexer coupling to the plurality of data error detectors; and
a data error corrector, coupling to the multiplexer, comprising an even-syndrome calculator, a key-solver and an error locator, wherein the even-syndrome calculator is configured for calculating even terms of the syndrome polynomial, wherein the key solver is configured for determining coefficients of error polynomial based on the odd and even terms of the syndrome polynomial, and wherein the error locator is configured for finding one or more locations of random data error using the coefficients of error location polynomial.
2 Assignments
0 Petitions
Accused Products
Abstract
Data error detection and correction in non-volatile memory devices are disclosed. Data error detection and correction can be performed with software, hardware or a combination of both. Generally an error corrector is referred to as an ECC (error correction code). One of the most relevant codes using in non-volatile memory devices is based on BCH (Bose, Ray-Chaudhuri, Hocquenghem) code. In order to correct reasonable number (e.g., up to 8-bit (eight-bit)) of random errors in a chunk of data (e.g., a codeword of 4200-bit with 4096-bit information data), a BCH(4200,4096,8) is used in GF(213). ECC comprises encoder and decoder. The decoder further comprises a plurality of error detectors and one error corrector. The plurality of error decoders is configured for calculating odd terms of syndrome polynomial for multiple channels in parallel, while the error corrector is configured for sequentially calculating even terms of syndrome polynomial, key solver and error location.
-
Citations
16 Claims
-
1. A system for performing data error correction in a non-volatile memory device comprising:
-
a plurality of data error detectors each containing an odd-syndrome calculator, wherein the odd-syndrome calculator is configured for calculating odd terms of syndrome polynomial of a codeword; at least one data encoder configured for encoding a chunk of data based on a predetermined coding scheme of (Bose, Ray-Chaudhuri, Hocquenghem) BCH (4200, 4096,
8) code including a 4200-bit codeword with 4096-bit information data and up to eight (8) random correctible data errors;a multiplexer coupling to the plurality of data error detectors; and a data error corrector, coupling to the multiplexer, comprising an even-syndrome calculator, a key-solver and an error locator, wherein the even-syndrome calculator is configured for calculating even terms of the syndrome polynomial, wherein the key solver is configured for determining coefficients of error polynomial based on the odd and even terms of the syndrome polynomial, and wherein the error locator is configured for finding one or more locations of random data error using the coefficients of error location polynomial. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of performing data error correction in a non-volatile memory device comprising:
-
receiving a plurality of codewords each encoded with a predetermined coding scheme of (Bose, Ray-Chaudhuri, Hocquenghem) BCH (4200, 4096,
8) code including a 4200-bit codeword with 4096-bit information data and up to eight (8) random correctible data errors;calculating odd terms of syndrome polynomial of each of the codewords in parallel; determining whether said each of the codewords contains any data error; when said data error is found, sequentially calculating even terms of the syndrome polynomial corresponding to the odd terms of those of the codewords containing said data error; iteratively obtaining coefficients of error polynomial using the odd and even terms of the syndrome polynomial; locating at least one random error location in each of said those of the codewords containing said data error using Chien search logic; and correcting data error at the at least one random error location accordingly. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification