Layered LDPC Decoder Pipeline for Faster Low-Power Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current communication systems at 60 GHz frequencies face challenges in power efficiency and error correction due to high-frequency dispersive conditions, such as multipath reflection and ISI, which affect data transmission rates and require advanced error correction techniques.

Innovation Solution

A fully-pipelined layered LDPC decoder architecture using a non-blocking check-node-update scheduling method, implemented with a pipeline of processors, which calculates log-likelihood ratios (LLRs) and corrects corrupted symbols efficiently, allowing for more iterations and improved bit error rate (BER) performance while dissipating low power.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If advanced error correction techniques are used to improve BER performance, then reliability is improved, but power consumption increases

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

Solution Approach 1:

The LDPC decoder is divided into multiple processing stages including check-node update units, log-likelihood ratio calculation units, and bit-node update units. Each stage processes a specific portion of the decoding task independently, allowing for optimized power management and reduced overall power consumption while maintaining decoding performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The decoder implements dynamic scheduling of check-node updates across multiple layers, where the processing order and timing are optimized based on the specific code structure and iteration requirements. This dynamic approach allows the system to achieve better BER performance with reduced computational overhead compared to static processing methods.

Inventive Principle:
Principle #15Dynamics

2Reliability

If more iterations are performed to improve BER performance, then reliability is improved, but processing time increases

Engineering Contradiction:
Improvebit error rate performanceVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The fully-pipelined architecture ensures continuous processing across multiple iterations by overlapping the execution of different decoding stages. While one layer is being processed in the check-node update stage, another layer simultaneously progresses through log-likelihood ratio calculation, and a third layer undergoes bit-node update. This continuous action allows multiple iterations to complete faster than sequential processing would permit.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent introduces a temporal dimension to the processing by implementing a pipeline structure where different iterations progress at different stages simultaneously. This transforms the traditionally sequential, one-dimensional processing flow into a multi-dimensional parallel execution model, effectively reducing the time required for multiple iterations while maintaining the necessary computational depth for reliable decoding.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If a fully-pipelined architecture is used to increase processing speed, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoiddecoder architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The complex decoding function is segmented into distinct modular units: check-node update modules, log-likelihood ratio computation modules, and bit-node update modules. Each module is independently designed and can be optimized separately, making the overall complex system more manageable and implementable despite the increased functionality required for high-speed processing.

Inventive Principle:
Principle #1Segmentation

4Productivity

If layered LDPC decoding is used to improve convergence speed, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveconvergence speedVSAvoiddecoder structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The LDPC code is divided into multiple layers, with each layer processed by dedicated check-node update units. This segmentation into layers allows the decoder to exploit the structured properties of layered LDPC codes, achieving faster convergence by processing information in an optimized sequence while keeping each individual layer's processing logic relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The decoder implements dynamic scheduling mechanisms that adapt the processing order and resource allocation based on the specific layer being processed and the current iteration state. This dynamic approach optimizes the convergence speed by focusing computational resources on the most critical layers and iterations, achieving better performance with manageable complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10250280B2Method and apparatus of a fully-pipelined layered LDPC decoder
Publication Date: 2019.04.02 TENSORCOM INC
  • US10250280B2 patent drawing
  • US10250280B2 patent drawing
  • US10250280B2 patent drawing

AI summary

Processors are arranged in a pipeline structure to operate on multiple layers of data, each layer comprising multiple groups of data. An input to a memory is coupled to an output of the last processor in the pipeline, and the memory's output is coupled to an input of the first processor in the pipeline. Multiplexing and de-multiplexing operations are performed in the pipeline. For each group in each layer, a stored result read from the memory is applied to the first processor in the pipeline structure. A calculated result of the stored result is output at the last processor and stored in the memory. Once processing for the last group of data in a first layer is completed, the corresponding processor is configured to process data in a next layer before the pipeline finishes processing the first layer. The stored result obtained from the next layer comprises a calculated result produced from a layer previous to the first layer.