Neural Network-Assisted Decoding for High-Error Codewords

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face challenges in decoding data due to high error rates, where traditional error correction codes may fail to recover data with excessive errors, and there is a need for enhanced robustness and efficiency in error correction processes.

Innovation Solution

The integration of a neural network with a decoder, where the neural network generates likelihood values based on previously decoded data blocks to assist the decoder in making informed decisions about decoding, thereby enhancing the error correction capabilities without increasing the complexity of the error correction codes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional error correction codes are used to decode data, then the decoding process is simple, but the error correction capability is insufficient for high error rates

Engineering Contradiction:
Improveerror correction capabilityVSAvoiddecoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A neural network is introduced as an intermediary component between the received codeword and the decoder. The neural network processes the input codeword and generates soft information (likelihood values) that guides the decoder's decision-making process, thereby enhancing error correction capability without requiring the decoder itself to become significantly more complex

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system combines two different approaches: traditional error correction coding theory and neural network machine learning. This composite approach leverages the mathematical guarantees of ECC while incorporating the pattern recognition and adaptability of neural networks, creating a hybrid decoder that achieves superior error correction performance

Inventive Principle:
Principle #40Composite materials

2Reliability

If neural network is integrated with decoder to enhance error correction, then the error correction capability improves, but the system complexity increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The decoding system is segmented into distinct functional components: a neural network module that processes input and generates soft information, and a decoder module that uses this information to make decoding decisions. This segmentation allows each component to be optimized independently and facilitates implementation using existing hardware or software modules

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If likelihood values from neural network are used to guide decoding, then the decoding accuracy improves, but the processing time increases

Engineering Contradiction:
Improvedecoding accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The neural network performs partial processing by generating only the essential soft information (likelihood values) needed to guide decoding, rather than performing complete decoding itself. This partial action approach achieves improved decoding accuracy while limiting the time overhead to only the neural network inference step

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10804938B2Decoding data using decoders and neural networks
Publication Date: 2020.10.13 SANDISK TECHNOLOGIES LLC
  • US10804938B2 patent drawing
  • US10804938B2 patent drawing
  • US10804938B2 patent drawing

AI summary

Systems and methods are disclosed for decoding data. A first block of data may be obtained from a storage medium or received from a computing device. The first block of data includes a first codeword generated based on an error correction code. A first set of likelihood values is obtained from a neural network. The first set of likelihood values indicates probabilities that the first codeword will be decoded into one of a plurality of decoded values. A second set of likelihood values is obtained from a decoder based on the first block of data. The second set of likelihood values indicates probabilities that the first codeword will be decoded into one of the plurality of decoded values. The first codeword is decoded to obtain a decoded value based on the first set of likelihood values and the second set of likelihood values.