Soft Decoding of Error Correcting Codes With Limited Bit Flips

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Turbo product codes (TPC) face a performance gap in soft decision decoding compared to LDPC codes, with Chase decoding's complexity increasing exponentially with the number of least reliable bits used for flipping, necessitating a method to enhance TPC decoding performance with minimal hardware complexity increase.

Innovation Solution

The proposed method involves generating flipped messages by flipping a limited number of least reliable bits in the codeword, using a hard decoder to produce candidate codewords, and selecting the decoded message based on Euclidean distance, with adaptive parameter adjustment for subsequent codewords, implementing a modified Chase(L,S) decoding algorithm to limit the maximum allowable flips.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Chase decoding with larger L is used to improve TPC soft decoding performance, then decoding performance is improved, but hardware complexity increases exponentially

Engineering Contradiction:
Improvedecoding performanceVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by limiting the number of bit flips to a maximum value S (where S < L) instead of flipping all 2^L combinations. This partial exploration of the solution space achieves good decoding performance while avoiding exponential complexity growth, as the decoder only needs to handle combinations up to S flips rather than all possible L-flip combinations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent introduces adaptive parameter adjustment where the first parameter L and second parameter S are dynamically adjusted based on channel conditions and decoding progress. This allows the system to optimize the balance between performance and complexity in real-time, using larger L when performance is critical and smaller S when complexity needs to be controlled.

Inventive Principle:
Principle #15Dynamics

2Reliability

If conventional Chase decoding is used to achieve good decoding performance, then reliability is improved, but decoding complexity increases

Engineering Contradiction:
Improvedecoding performanceVSAvoiddecoding efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By limiting the maximum number of flips to S (less than L), the patent reduces the number of decoding procedures from exponential 2^L to a manageable number of combinations. This partial action approach maintains reliability by still exploring sufficient error patterns while dramatically improving decoding efficiency through reduced computational burden.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary identification of the L least reliable bits before generating flipped messages. This preliminary action focuses the decoding effort on the most critical error-prone positions, allowing the subsequent limited flipping (up to S flips) to be more effective and efficient, thereby improving overall decoding productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10090865B2Performance optimization in soft decoding of error correcting codes
Publication Date: 2018.10.02 SK HYNIX INC
  • US10090865B2 patent drawing
  • US10090865B2 patent drawing
  • US10090865B2 patent drawing

AI summary

Techniques are described for decoding a codeword. In one example, the techniques include obtaining a first message comprising reliability information corresponding to each bit in the first codeword, determining a plurality of least reliable bits in the first codeword, and generating a plurality of flipped messages by flipping one or more of the plurality of least reliable bits in the first codeword. A number of the plurality of least reliable bits is equal to a first parameter and a number of flipped bits in each of the plurality of flipped messages is less than or equal to a second parameter. The method further includes decoding one or more of the plurality of flipped messages using a hard decoder to generate one or more candidate codewords.