BCH ECC Decoder Using LUT Error Locator Polynomial

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As memory capacity increases, the time taken for Bose-Chaudhuri-Hocquenghem (BCH) decoding in non-volatile memory systems also increases, posing challenges for decoding efficiency and power consumption.

Innovation Solution

An error checking and correcting (ECC) decoder is designed with a syndrome generator circuit, an error locator polynomial circuit, and a decoding circuit, utilizing a lookup table (LUT) circuit to enhance speed and reduce power consumption by performing BCH decoding operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional BCH decoding is used to ensure data reliability, then error correction capability is maintained, but decoding time increases and power consumption increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The BCH decoding process is divided into multiple independent stages: syndrome generation, error location polynomial calculation, and error correction. Each stage processes specific portions of the decoding task separately, allowing for optimized resource allocation and parallel processing where applicable, thereby reducing overall decoding time while maintaining reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The syndrome generation is performed first as a preliminary step before error correction. By pre-calculating the syndromes and identifying error patterns early in the process, the system can quickly determine whether correction is needed and proceed directly to correction without redundant processing, reducing total decoding time

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional BCH decoding is used to ensure data reliability, then error correction capability is maintained, but power consumption increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The decoding circuit is segmented into specialized sub-circuits for syndrome generation, error location polynomial calculation, and error correction. Each segment is optimized for its specific function, reducing overall power consumption by avoiding the need for a single large, always-active decoding unit

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Traditional complex arithmetic operations are replaced with pre-computed lookup tables and simplified logic circuits. This substitution reduces the computational complexity and power consumption of the decoding process while maintaining the ability to correct errors effectively

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Quantity of substance

If memory capacity increases to meet storage demands, then storage capability is improved, but decoding time increases

Engineering Contradiction:
Improvememory capacityVSAvoiddecoding time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The decoding process is segmented into independent stages that can be processed efficiently regardless of codeword size. This modular approach allows the system to handle larger memory capacities without proportionally increasing decoding time, as each segment processes fixed-size data units through optimized operations

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10236913B2Error checking and correcting decoder
Publication Date: 2019.03.19 WINBOND ELECTRONICS CORP
  • US10236913B2 patent drawing
  • US10236913B2 patent drawing
  • US10236913B2 patent drawing

AI summary

An error checking and correcting (ECC) decoder is provided to perform a BCH decoding to decode codeword into decoded data. The ECC decoder includes a syndrome generator circuit, an error locator polynomial circuit, and a decoding circuit. The syndrome generator circuit generates a plurality of syndromes corresponding to the codeword. The error locator polynomial circuit performs an arithmetic operation by using the syndromes to generate a plurality of coefficients in an error locator polynomial. The arithmetic operation includes a plurality of operators, wherein at least one of the operators is a lookup table circuit. The decoding circuit obtains at least one solution to the error locator polynomial with the coefficients and corrects the codeword according to the solution to the error locator polynomial to generate the decoded data.