Product Code Decoding with Iterative C1/C2 Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current error correction codes in data storage, such as product codes, struggle to achieve further reduction in user error rates beyond 1×10−17 to 1×10−20, especially in power-efficient manners, necessitating enhanced decoding algorithms for improved error rate performance and robustness in channel conditions.

Innovation Solution

An iterative decoding process involving C1 and C2 decoding methods, where data subsets are decoded multiple times using different methods within each iteration, and the decoding process continues until successful decoding or a predetermined number of iterations is reached, utilizing error-only and error-and-erasure decoding techniques to maximize data recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional product error correction code decoding is used, then user bit error rates can be reduced to less than 1×10−17 to 1×10−20, but further error reduction beyond this level cannot be achieved

Engineering Contradiction:
Improveuser bit error rateVSAvoiddecoding algorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic decoding by allowing the iterative process to adaptively adjust the number of iterations and switching between different decoding methods (C1 decoding, C2 decoding, and information set propagation) based on convergence criteria. The decoder dynamically determines when to stop iterating based on whether the decoded data matches the encoded data, providing flexibility to achieve lower error rates without unnecessarily increasing complexity for already-decoded portions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs continuous iterative decoding where the decoding process repeatedly applies C1 and C2 decoding operations along with information set propagation until convergence is achieved. This continuous application of decoding operations ensures that error correction is persistently applied across multiple passes, enabling further error rate reduction below 1×10−20 by continuously refining the decoded output until no further improvements are possible.

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If enhanced decoding algorithms are implemented to reduce error rates further, then user error rate performance improves, but power consumption increases

Engineering Contradiction:
Improveerror rate performanceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by selectively performing enhanced decoding operations only when necessary. The iterative process includes optional information set propagation that is applied based on convergence criteria rather than unconditionally. The decoder performs C1 and C2 decoding operations a specific number of times (e.g., 2-3 times) rather than indefinitely, and only continues to subsequent iterations if convergence is not achieved, thereby reducing unnecessary power consumption while still achieving the target error rates.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements periodic action through its structured iterative decoding process that cycles through C1 decoding, C2 decoding, and information set propagation in repeated periods. Each iteration follows a periodic pattern of applying decoding operations in sequence, allowing the system to achieve error rate improvements through regular application of enhancement techniques while maintaining power efficiency by stopping when convergence criteria are met, thus avoiding continuous unnecessary operations.

Inventive Principle:
Principle #19Periodic action

3Reliability

If multiple C2-decoding methods are applied repeatedly to each second subset, then decoding success rate increases, but decoding time increases

Engineering Contradiction:
Improvedecoding success rateVSAvoiddecoding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing C1 decoding on first subsets before attempting C2 decoding on second subsets. This preliminary C1 decoding step prepares the data by correcting errors in the first dimension, which significantly improves the likelihood of successful C2 decoding in subsequent steps. By preparing the data in advance through C1 decoding, the system reduces the number of repeated C2 decoding attempts needed, thereby decreasing overall decoding time while maintaining high success rates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the decoding process into distinct phases: C1 decoding of first subsets, C2 decoding of second subsets, and information set propagation. By dividing the overall decoding task into these separate segments that can be applied independently and iteratively, the system can apply multiple C2 decoding methods to specific second subsets that need correction without unnecessarily processing all data, thus improving decoding success rate for problematic portions while minimizing overall decoding time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9985658B2Decoding of product codes
Publication Date: 2018.05.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9985658B2 patent drawing
  • US9985658B2 patent drawing
  • US9985658B2 patent drawing

AI summary

In one embodiment, a method includes receiving data and in an iterative process until decoded data is output or a predetermined number of full iterations have occurred: C1 decoding all first subsets of the data, determining whether to stop decoding the data after the C1 decoding, incrementing a half iteration counter to indicate completion of a half iteration, C2 decoding all second subsets of the data two or more times in each half iteration using two or more C2-decoding methods in response to a determination that a second subset is not decoded successfully using a first C2-decoding method, determining whether to stop decoding the data after the C2 decoding, incrementing the half iteration counter to indicate completion of another half iteration, and outputting the set of decoded data in response to a determination that all subsets of the data are decoded successfully.