Parallel LDPC Encoder Recursion for Low-Latency Parity Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Low-density parity check (LDPC) encoders face challenges with high error floors and large memory and computational requirements, leading to increased latency, making it difficult to implement low error floor codes without lengthy code block lengths.

Innovation Solution

A parallel LDPC encoder calculates parity check values using a matrix-vector multiplication unit and parallel recursion to efficiently compute parity check values, reducing latency by calculating first and second sets of parity check values in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lengthy code block lengths are used to achieve low error floors, then reliability is improved, but latency increases

Engineering Contradiction:
Improveerror floorVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The parity check matrix H is divided into multiple sub-matrices (H1, H2, ..., Hm), and the encoding process is segmented into parallel recursive calculations for different portions of the code. This allows the encoder to process shorter segments in parallel rather than requiring a single lengthy code block, thereby maintaining low error floors while reducing latency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If large memory buffers are used to support lengthy LDPC codes, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveerror floorVSAvoidmemory buffer size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encoding process is divided into multiple independent recursive calculations that can be performed in parallel. Each calculation uses a portion of the parity check matrix and generates a corresponding portion of the codeword. This segmentation reduces the memory buffer size required at any given time, as the system only needs to store intermediate results for the current segment being processed rather than buffers for the entire lengthy code block.

Inventive Principle:
Principle #1Segmentation

3Reliability

If large computational power is allocated to process lengthy LDPC codes, then reliability is improved, but productivity decreases

Engineering Contradiction:
Improveerror floorVSAvoidencoding speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The computational task is divided into multiple independent segments that can be processed in parallel. Instead of sequentially processing a single lengthy code block requiring large computational resources, the system processes multiple shorter segments simultaneously using distributed computational power. This approach maintains the reliability benefits of thorough processing while significantly improving encoding speed and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encoder dynamically allocates computational resources across multiple parallel recursive calculation units. Each unit independently processes a portion of the parity check matrix and generates corresponding codeword portions. This dynamic parallel processing allows the system to utilize available computational power efficiently across multiple streams, improving overall encoding speed while maintaining the computational thoroughness needed for low error floors.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8539304B1Parallel encoder for low-density parity-check (LDPC) codes
Publication Date: 2013.09.17 NXP USA INC
  • US8539304B1 patent drawing
  • US8539304B1 patent drawing
  • US8539304B1 patent drawing

AI summary

A low-density parity check (LDPC) encoder that calculate parity check values for a message using an LDPC parity check matrix is provided. A matrix-vector multiplication unit is operative to multiply a portion of the LDPC parity check matrix and the message to obtain an intermediate vector. A parallel recursion unit is operative to recursively calculate a first plurality of parity check values for the message based on the intermediate vector and to recursively calculate a second plurality of parity check values for the message based on the intermediate vector. The first plurality of parity check values are calculated in parallel with the second plurality of parity check values.