IP Library Granted Patent US 10,958,288
Granted Patent B2
US 10,958,288 · App. 16/213,908 · Granted Mar 23, 2021

Decoder for low-density parity-check codes

Inventors: Christopher Owen (Stroud, GB); Adrian John Anderson (Chepstow, GB)
Assignee: Imagination Technologies Limited
H03M13/1111H03M13/114H03M13/1114H03M13/1137H03M13/1165H03M13/611H03M13/6516H03M13/6566
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,958,288
App. No.
16/213,908
Granted
Mar 23, 2021
Kind
B2
Abstract

Methods and apparatus for decoding LDPC code provide that an LDPC code may be represented as a Tanner graph comprising bit nodes and check nodes and connections between them. A configurable LDPC decoder supporting many different LDPC codes having any sub-matrix size includes several independently addressable memories which are used to store soft decision data for each bit node. The decoder further includes a number P of check node processing systems which generate updated soft decision data. The updated values are then passed back to the memories via a shuffling system. If the number of check nodes processed in parallel by the check node processing systems is P CNB (where P≥P CNB ) and the soft decision data for a bit node is of word size q bits, the total width of the independently addressable memories is larger than P CNB *q bits.

Claims (27)

1. A configurable LDPC decoder comprising:

one or more memories arranged collectively to store soft decision data for each bit node for use in decoding an LDPC code and each memory having a width, the width of a memory comprising an amount of data accessible from the memory in a single cycle;

a plurality of check node processing systems arranged to operate in parallel and generate updates to the bit node soft decision data;

a first shuffling system arranged to pass data from the one or more memories to the plurality of check node processing systems; and

a second shuffling system arranged to pass updates to the bit node soft decision data from the plurality of check node processing systems to the one or more memories;

wherein each check node processing system generates updates to soft decision data for a bit node using check-to-bit node messages for each check node connected to the bit node and wherein each check-to-bit node message is calculated using a min-sum algorithm and a variable offset, wherein the variable offset is calculated based on differences between lowest-valued bit-to-check message magnitudes.

2. The configurable LDPC decoder according to claim 1 , wherein the variable offset is subtracted from an initial bit-to check node message calculated using the min-sum algorithm.

3. The configurable LDPC decoder according to claim 1 , wherein the decoder is arranged to support multiple different LDPC code structures having any sub-matrix size.

4. The configurable LDPC decoder according to claim 3 , wherein a parity check matrix for the LDPC code comprises a plurality of sub-matrices, a check node block comprises a group of check nodes processed in parallel by the check node processing systems and a sub-matrix comprises a plurality of check node blocks.

5. The configurable LDPC decoder according to claim 3 , wherein the one or more memories comprises a plurality of independently addressable memories.

6. A method of decoding an LDPC code comprising:

accessing, in a single cycle, soft decision data for a plurality of bit nodes from one or more independently addressable memories;

providing the accessed soft decision data to a plurality of check node processing systems;

generating updates to the soft decision data for the plurality of bit nodes in parallel in the check node processing systems; and

storing updated soft decision data for the plurality of bit nodes in the one or more independently addressable memories,

wherein generating updates to the soft decision data for the plurality of bit nodes in parallel in the check node processing systems comprises, for each bit node: calculating initial check-to-bit node messages for each check node connected to the bit node using a min-sum algorithm;

generating final check-to-bit node messages for each check node connected to the bit node using a variable offset, wherein the variable offset is calculated based on differences between lowest-valued bit-to-check node messages; and

calculating an update to the soft decision data based on the final check-to-bit node messages for each bit node connected to the check node.

7. The method according to claim 6 , wherein generating final check-to-bit node messages for each check node connected to the bit node using a variable offset comprises:

subtracting the variable offset from each initial check-to-bit node message to generate the final check-to-bit node messages for each check node connected to the bit node.

8. The method according to claim 6 , wherein the soft decision data for a plurality of bit nodes is accessed, in a single cycle, from the one or more independently addressable memories.

9. A non-transitory computer readable storage medium having stored thereon computer readable program code for generating a processor comprising an LDPC decoder, the LDPC decoder comprising:

one or more memories arranged collectively to store soft decision data for each bit node for use in decoding an LDPC code and each memory having a width, the width of a memory comprising an amount of data accessible from the memory in a single cycle;

a plurality of check node processing systems arranged to operate in parallel and generate updates to the bit node soft decision data;

a first shuffling system arranged to pass data from the one or more memories to the plurality of check node processing systems; and

a second shuffling system arranged to pass updates to the bit node soft decision data from the plurality of check node processing systems to the one or more memories;

wherein each check node processing system generates updates to soft decision data for a bit node using check-to-bit node messages for each check node connected to the bit node and wherein each check-to-bit node message is calculated using a min-sum algorithm and a variable offset, wherein the variable offset is calculated based on differences between lowest-valued bit-to-check message magnitudes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: IMAGINATION TECHNOLOGIES LIMITED
To: NORDIC SEMICONDUCTOR ASA
Reel/Frame 055605/0038 →