LDPC Memory Controller Using Column-Layered Parity Check Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current error correction systems in memory systems face inefficiencies due to high computational complexity in storing and processing parity check matrices for LDPC codes, which affects the performance of error correction encoding and decoding.

Innovation Solution

The implementation of an error correction circuit and memory controller that perform error correction encoding and decoding using a parity check matrix configured with sub-matrices, specifically utilizing a column-layered scheme where rows are grouped into row groups and cyclic permutation matrices are used to reduce memory requirements and computational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If LDPC coding scheme is used to improve error correction capability, then error correction capability per bit is improved, but computational complexity and memory storage requirements increase

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

Solution Approach 1:

The parity check matrix is divided into multiple column layers, where each column layer contains a subset of columns. The decoder processes these column layers sequentially rather than all at once, breaking down the complex decoding operation into manageable segments that reduce computational complexity while maintaining error correction capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects and processes column layers in sequence based on the current decoding state. The check node processor accesses memory areas corresponding to cyclic permutation matrices in the currently selected column layer, updating check node values dynamically as each layer is processed, rather than using a static all-at-once approach.

Inventive Principle:
Principle #15Dynamics

2Reliability

If code length is increased to improve error correction capability, then error correction capability per bit is improved, but memory storage requirements for parity check matrices increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidmemory storage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The parity check matrix is segmented into multiple column layers, with each layer containing a portion of the columns. This segmentation allows the memory to store and process only the relevant subset of matrix elements at each decoding step, reducing the amount of memory required compared to storing the entire large-scale parity check matrix simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a temporal dimension to the decoding process by processing column layers sequentially over time. This transforms the memory storage requirement from needing to hold all matrix elements simultaneously in space to loading and processing subsets sequentially, effectively trading space for time and reducing memory bandwidth requirements.

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

3Reliability

If conventional error correction decoding is used, then error correction can be performed, but processing speed and conversion rates are limited due to high computational complexity

Engineering Contradiction:
Improveerror correction functionVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The decoding process is segmented into multiple stages corresponding to different column layers. Each stage processes a subset of check nodes and variable nodes, allowing for parallel processing within each layer and reducing the overall computational burden per stage, thereby improving processing speed while maintaining error correction functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system prepares and organizes the parity check matrix into pre-defined column layers with cyclic permutation matrices before decoding begins. This preliminary organization allows the check node processor to efficiently access and update memory areas during decoding without requiring complex real-time matrix manipulation, improving processing speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11309916B2Error correction circuit and memory controller having the same
Publication Date: 2022.04.19 MIMIRIP LLC
  • US11309916B2 patent drawing
  • US11309916B2 patent drawing
  • US11309916B2 patent drawing

AI summary

Disclosed are devices, systems and methods for error correction encoding and decoding. A memory controller includes an error correction encoder for generating a codeword by performing error correction encoding, using a parity check matrix including a plurality of sub-matrices; and an error correction decoder for performing error correction decoding on a read vector corresponding to the codeword on a column layer basis while sequentially selecting column layers of the parity check matrix used for the error correction encoding, in the error correction decoding, the column layer including a set of columns of the parity check matrix. Rows included in the parity check matrix are grouped into a plurality of row groups, and at most one cyclic permutation matrix (CPM) is included for each column layer in each of the row groups.