Single-Bit Error-Correction Circuit Using Row-Column Parity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing forward error correction techniques require complex hardware or software for decoding, which is not feasible in restricted hardware environments like monolithic flash memory, where speed and compactness are essential for single-bit error correction.
Innovation Solution
A method that arranges data bits in a rectangular array to compute global parity vectors for rows and columns, using smaller lookup tables and minimizing circuitry, allowing for fast error location and correction with minimal hardware requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If robust error-correcting codes like BCH product code are used, then error correction capability is improved, but hardware complexity increases
Solution Approach 1:
The patent segments the data into a two-dimensional array structure with rows and columns, allowing separate parity computation for each dimension. This segmentation enables the use of simpler Hamming codes in each dimension while achieving robust two-dimensional error correction capability, thus maintaining reliability while reducing hardware complexity compared to implementing full BCH codes.
2Device complexity
If Meggitt decoder is used, then hardware circuit complexity is reduced, but decoding time increases
Solution Approach 1:
The patent pre-computes and stores syndrome-to-error-location mappings in lookup tables during system initialization or fabrication. During actual decoding operations, the system simply performs a table lookup based on the computed syndrome, achieving O(1) decoding time. This preliminary action eliminates the need for iterative syndrome computation and comparison that plagues the Meggitt decoder, thus dramatically reducing decoding time while keeping the runtime hardware simple.
3Speed
If lookup table approach is used, then decoding speed is improved, but storage space requirement increases
Solution Approach 1:
The patent divides the lookup table into two separate smaller tables: one for row syndromes and one for column syndromes. Each table only needs to store mappings for one dimension's syndrome space. This segmentation reduces the total storage requirement from needing to store all possible two-dimensional error patterns to storing only the product of the square roots, i.e., sqrt(M*N) instead of M*N entries, thus achieving fast decoding with reduced storage.
4Reliability
If software decoding is used, then error correction capability is improved, but device startup capability deteriorates
Solution Approach 1:
The patent implements a self-service bootstrapping mechanism where a simple hardware error correction circuit using the two-dimensional array method provides basic error correction during device startup and software loading. Once the software is loaded into memory, the system transitions to using the more capable software-based BCH decoder for subsequent operations. This self-service approach allows the device to be fully functional from power-on without external assistance, while still achieving robust error correction.
Data Source
AI summary
A compact high-speed data encoder/decoder for single-bit forward error-correction, and methods for same. This is especially useful in situations where hardware and software complexity is restricted, such as in a monolithic flash memory controller during initial startup and software loading, where robust hardware and software error correction is not feasible, and where rapid decoding is important. The present invention arranges the data to be protected into a rectangular array and determines the location of a single bit error in terms of row and column positions. So doing greatly reduces the size of lookup tables for converting error syndromes to error locations, and allows fast error correction by a simple circuit with minimal hardware allocation. Use of square arrays reduces the hardware requirements even further.


