IP Library Granted Patent US 8,601,342
Granted Patent B2
US 8,601,342 · App. 12/384,127 · Granted Dec 3, 2013

Efficient, programmable and scalable low density parity check decoder

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 8,601,342
App. No.
12/384,127
Granted
Dec 3, 2013
Kind
B2
Abstract

In exemplary embodiments of the present invention, methods and apparatus allowing for an efficient design of an LDPC decoder suitable for a range of code-block sizes and bit-rates, which is also suitable for both ASIC and FPGA implementations, are provided. In exemplary embodiments of the present invention, the overhead associated with correction data sent along the transmission channel can be minimized. In exemplary embodiments of the present invention, an LDPC decoder is suitable for both ASIC and FPGA implementations. Method and apparatus allowing for an efficient design of an LDPC decoder suitable for a range of code-block sizes and bit-rates are presented. In exemplary embodiments of the present invention, such an LDPC decoder can be implemented in both ASIC and FPGA implementations. In exemplary embodiments of the present invention such an LDPC decoder can be optimized for either eIRA based H matrices or for general H matrices, as may be desirable. In exemplary embodiments of the present invention, an H parity matrix can be constructed and/or manipulated to arrange the bit-node message “columns” to facilitate mapping to MPB “columns” and corresponding access via LUT pointer tables to minimize processing cycles so as to, for example: (i) minimize address conflicts within the same MPB that will take multiple access cycles to resolve; (ii) minimize splitting of bit-node messages across MPB “columns” that will take multiple access cycles to resolve; and (iii) balance the bit-node computations across all the MPB/LUT “columns” so that they will complete their computations at nearly the same time.

Claims (44)

1. A low density parity check decoder comprising:

a plurality of message processing blocks arranged in a logical array;

a plurality of information bit processors, one for each column of said message processing blocks (“MPBs”) in said logical array;

a plurality of lookup table memories, one for each column of said message processing blocks in said logical array; and

a plurality of check message processors, one for each row of said message processing blocks in said logical array,

wherein said decoder iteratively operates to decode a data signal, and

wherein the array of message processing blocks provides distributed storage of parity check message memory and distributed computation of check-node and bit-node messages, so as to facilitate highly parallel access of message storage and message computation for high-throughput LDPC processing.

2. The decoder of claim 1 wherein said message processing blocks, information bit processors, and lookup table memories are implemented in an ASIC.

3. The decoder of claim 1 wherein said message processing blocks, information bit processors, and lookup table memories are implemented in a FPGA.

4. The decoder of claim 1 , wherein said check message processors collect check messages from the MPBs and distribute final check-node message sums back to the MPBs to complete their check message computation.

5. The decoder of claim 1 , wherein the info bit message processor blocks collect bit-node messages from the MPBs and distribute final bit-node message sums back to the MPBs to complete their bit-node message computation.

6. The decoder of claim 1 , wherein the check message processors and the information bit processors respectively contain soft symbol buffers, and information bit buffers so that a next codeword can be loaded, and a previous codeword's computed information bits can be output while a current codeword is being decoded.

7. The decoder of claim 1 , further comprising signal busses interconnecting the check message processors and bit information processors, said busses having multiplexed functionality for inter-block communication and soft symbol/information bit input/output functions.

8. The decoder of claim 1 , wherein the lookup table memories hold bit-node message memory access pointers required for computing bit messages on a column basis.

9. The decoder of claim 8 , wherein said bit-node message memory access pointers specify, for a given bit message column computation, which message location within a particular MPB is involved in the bit-node message summation.

10. The decoder of claim 9 , wherein if no location within the MPB is required, then a null pointer location can be specified and the MPB contributes zero to the sum.

11. The decoder of claim 1 , further comprising an address conflict resolution and crossbar block, arranged to allow bit message computation requiring contributions from more that one MPB “column.”

12. A low density parity check decoder optimized for a parity check matrix in eIRA format comprising:

a plurality of message processing blocks arranged in a logical array;

a plurality of information bit processors, one for all but two columns of said message processing blocks in said logical array;

a plurality of lookup table memories, one for all but two columns of said message processing blocks in said logical array; and

a plurality of check message processors, one for each row of said message processing blocks in said logical array;

wherein said decoder iteratively operates to decode an original data signal, and

wherein the array of message processing blocks provides distributed storage of parity check message memory and distributed computation of check-node and bit-node messages, so as to facilitate highly parallel access of message storage and message computation for high-throughput LDPC processing.

13. The decoder of claim 12 , wherein said message processing blocks, information bit processors, and lookup table memories are in an ASIC.

14. The decoder of claim 12 , wherein said message processing blocks, information bit processors, and lookup table memories are implemented in a FPGA.

15. The decoder of claim 12 , wherein said check message processors collect check messages from the MPBs and distribute final check-node message sums back to the MPBs to complete their check message computation.

16. The decoder of claim 12 , wherein the info bit message processor blocks collect bit-node messages from the MPBs and distribute final bit-node message sums back to the MPBs to complete their bit-node message computation.

17. The decoder of claim 12 , wherein the check message processors and the information bit processors respectively contain soft symbol buffers, and information bit buffers so that a next codeword can be loaded, and a previous codeword's computed information bits can be output while a current codeword is being decoded.

18. The decoder of claim 12 , further comprising signal busses interconnecting the check message processors and bit information processors, said busses having multiplexed functionality for inter-block communication and soft symbol/information bit input/output functions.

19. The decoder of claim 12 , wherein the lookup table memories hold bit-node message memory access pointers required for computing bit messages on a column basis.

20. The decoder of claim 19 , wherein said bit-node message memory access pointers specify, for a given bit message column computation, which message location within a particular MPB is involved in the bit-node message summation.

21. The decoder of claim 20 , wherein if no location within the MPB is required, then a null pointer location can be specified and the MPB contributes zero to the sum.

22. A method of increasing processing efficiency in an LDPC decoder, comprising:

providing a plurality of message processing blocks arranged in a logical array;

providing a plurality of information bit processors, one for each column of said message processing blocks (“MPBs”) in said logical array;

providing a plurality of lookup table memories, one for each column of said message processing blocks in said logical array; and

providing a plurality of check message processors, one for each row of said message processing blocks in said logical array,

operating the decoder iteratively to decode a data signal, wherein the array of message processing blocks provides distributed storage of parity check message memory and distributed computation of check-node and bit-node messages.

23. The method of claim 22 ,

further comprising at least one of:

(i) the check message processors and the information bit processors are respectively provided with soft symbol buffers and information bit buffers so that a next codeword can be loaded, and a previous codeword's computed information bits can be output while a current codeword is being decoded,

(ii) the check message processors collect check messages from the MPBs and distribute final check-node message sums back to the MPBs to complete their check message computation, and

(iii) the info bit message processor blocks collect bit-node messages from the MPBs and distribute final bit-node message sums back to the MPBs to complete their bit-node message computation.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Sep 1, 2017
From: U.S. BANK NATIONAL ASSOCIATION
To: SIRIUS XM RADIO INC.; SIRIUS XM CONNECTED VEHICLE SERVICES INC.
Reel/Frame 043747/0091 →
PATENT SECURITY AGREEMENT Recorded Apr 11, 2014
From: SIRIUS XM RADIO INC.; SIRIUS XM CONNECTED VEHICLE SERVICES INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 032660/0603 →
SECURITY AGREEMENT Recorded Dec 5, 2012
From: SIRIUS XM RADIO INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029408/0767 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 11, 2012
From: U.S. BANK NATIONAL ASSOCIATION
To: SIRIUS XM RADIO INC.
Reel/Frame 028938/0704 →
SECURITY AGREEMENT Recorded Jan 14, 2011
From: SIRIUS XM RADIO INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 025643/0502 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2009
From: BRANCO, RICHARD GERALD; SCHELL, EDWARD
To: SIRIUS XM RADIO INC.
Reel/Frame 023550/0274 →
PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Aug 24, 2009
From: SIRIUS XM RADIO INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 023134/0459 →