Tensor Product Coding for Flash With Low-Complexity LDPC Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed decoders for mobile devices using Low Density Parity Check (LDPC) error correction techniques face challenges due to high complexity and power consumption, and flash memory devices often employ 'hard decision' block codes that lack the necessary soft data for LDPC decoding.

Innovation Solution

A multi-stage encoding and decoding system that includes a first coder for Hamming codes and a second coder for LDPC codes, with a combiner producing encoded data for storage, and a multi-stage decoder that generates and recovers data using iterative decoding processes, enabling effective error correction in flash memory devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If LDPC error correction technique is used for high-speed decoding in mobile devices, then error correction performance is improved, but device complexity and power consumption increase

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

Solution Approach 1:

The patent divides the error correction process into two independent stages: a first decoder that processes only the code part to generate a recovered code, and a second decoder that processes the data part using the recovered code. This segmentation allows each decoder to be simpler and less power-consuming while maintaining overall LDPC error correction performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a recovered code as an intermediary element that bridges the two decoding stages. The first decoder generates this intermediate recovered code from the code part, which then serves as input for the second decoder to process the data part, enabling distributed error correction without requiring a single complex decoder.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If LDPC error correction technique is used for high-speed decoding in mobile devices, then error correction performance is improved, but power consumption increases

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

Solution Approach 1:

The patent segments the power-consuming decoding operation into two separate decoders that operate independently on different parts of the data. The first decoder processes only the code part while the second decoder processes the data part, distributing the power consumption across two simpler units rather than one complex unit, thereby reducing overall power consumption while maintaining LDPC performance.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If hard decision block codes are used in flash memory devices, then implementation is simpler, but soft data required for LDPC decoding is not available

Engineering Contradiction:
Improveimplementation complexityVSAvoidsoft data availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent performs preliminary decoding action in the first decoder to generate the recovered code before the second decoder needs it. This preliminary processing of the code part using hard decision block code principles enables the second decoder to receive the necessary recovered code without requiring soft data from the flash memory read operation, thus bridging the gap between hard decision simplicity and LDPC requirements.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8732543B1Tensor product codes for flash
Publication Date: 2014.05.20 MARVELL ASIA PTE LTD
  • US8732543B1 patent drawing
  • US8732543B1 patent drawing
  • US8732543B1 patent drawing

AI summary

In embodiments, data may be encoded based on a tensor product code by encoding incoming data to produce first codewords, and encoding the first codewords to produce second codewords. The incoming data may be combined with the second codewords to produce messages, which can then be transmitted and/or stored. Decoding a received message may include encoding a data portion to produce an intermediate code, and decoding the intermediate code using a codeword portion of the message to produce a corrected codeword. The data portion may then be decoded using the corrected codeword to recover data from the message.