IP Library Granted Patent US 8,151,160
Granted Patent B1
US 8,151,160 · App. 12/117,840 · Granted Apr 3, 2012

Configurable low-density parity-check decoder for LDPC codes of arbitrary block size and method of configuring the same

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,151,160
App. No.
12/117,840
Granted
Apr 3, 2012
Kind
B1
Abstract

A configurable low-density parity check code (LDPC) decoder and a method of configuring the decoder. In one embodiment, the configurable LDPC decoder includes: (1) pluralities of parity check units and bit node units, (2) direct and reverse multi-size barrel shifters coupled to the pluralities of parity check units and bit node units and (3) a control circuit, coupled to the pluralities of parity check units and bit node units and the direct and reverse multi-size barrel shifters and configured to configure sizes of the direct and reverse multi-size barrel shifters and numbers of the pluralities of parity check units and bit node units to cooperate therewith based on a block size of a particular LDPC code.

Claims (201)

1. A configurable low-density parity check code (LDPC) decoder, comprising:

pluralities of parity check units and bit node units;

direct and reverse multi-size barrel shifters coupled to said pluralities of parity check units and bit node units; and

a control circuit, coupled to said pluralities of parity check units and bit node units and said direct and reverse multi-size barrel shifters and configured to configure sizes of said direct and reverse multi-size barrel shifters and numbers of said pluralities of parity check units and bit node units to cooperate therewith based on a block size of a particular LDPC code.

2. The configurable LDPC decoder as recited in claim 1 wherein said direct and reverse multi-size barrel shifters are (m,n) barrel-shifters, each comprising two n-barrel shifters and control circuitry configured to shift chunks of data therein and select said chunks for output thereby.

3. The configurable LDPC decoder as recited in claim 1 wherein said control circuit is configured to define chunk sizes and normal chunks of data based on said block size.

4. The configurable LDPC decoder as recited in claim 1 wherein said control circuit configures said sizes based on a number of block columns to be executed during one clock cycle.

5. The configurable LDPC decoder as recited in claim 2 wherein said control circuit shifts said chunks according to:

SHIFT

=

{

(

shift

+

i

·

chunk_size

[

0

]

)

(

modblock_size

)

,

i

<

norm_chunks

(

shift

+

norm_chunks

·

chunk_size

[

0

]

+

(

i

-

norm_chunks

)

·

(

chunk_size

[

0

]

-

1

)

)

(

modblock_size

)

,

i

norm_chunks

,

where shift is an original shift, and i is a starting chunk index.

6. The configurable LDPC decoder as recited in claim 1 wherein said numbers are equal and said sizes are equal.

7. The configurable LDPC decoder as recited in claim 1 wherein said numbers are such that said LDPC decoder achieves λ-min decoding.

8. A method of configuring a configurable low-density parity check code (LDPC) decoder having pluralities of parity check units and bit node units and direct and reverse multi-size barrel shifters coupled to said pluralities of parity check units and bit node units, comprising:

configuring sizes of said direct and reverse multi-size barrel shifters based on a block size of a particular LDPC code; and

configuring numbers of said pluralities of parity check units and bit node units to cooperate therewith based on said block size.

9. The method as recited in claim 8 wherein said direct and reverse multi-size barrel shifters are (m,n) barrel-shifters, each comprising two n-barrel shifters and control circuitry configured to shift chunks of data therein and select said chunks for output thereby.

10. The method as recited in claim 8 wherein said configuring said sizes comprises defining chunk sizes and normal chunks of data based on said block size.

11. The method as recited in claim 8 wherein said configuring said sizes comprises configuring said sizes based on a number of block columns to be executed during one clock cycle.

12. The method as recited in claim 9 further comprising shifting said chunks according to:

SHIFT

=

{

(

shift

+

i

·

chunk_size

[

0

]

)

(

modblock_size

)

,

i

<

norm_chunks

(

shift

+

norm_chunks

·

chunk_size

[

0

]

+

(

i

-

norm_chunks

)

·

(

chunk_size

[

0

]

-

1

)

)

(

modblock_size

)

,

i

norm_chunks

,

where shift is an original shift, and i is a starting chunk index.

13. The method as recited in claim 8 wherein said numbers are equal and said sizes are equal.

14. The method as recited in claim 8 wherein said numbers are such that said LDPC decoder achieves λ-min decoding.

15. A configurable low-density parity check code (LDPC) decoder, comprising:

pluralities of parity check units and bit node units;

direct and reverse multi-size (m,n) barrel-shifters coupled to said pluralities of parity check units and bit node units, each of said direct and reverse multi-size (m,n) barrel-shifters including two n-barrel shifters and control circuitry configured to shift chunks of data therein and select said chunks for output thereby; and

a control circuit, coupled to said pluralities of parity check units and bit node units and said direct and reverse multi-size (m,n) barrel-shifters and configured to configure sizes of said direct and reverse multi-size (m,n) barrel-shifters and numbers of said pluralities of parity check units and bit node units to cooperate therewith based on a block size of a particular LDPC code such that said LDPC decoder achieves λ-min decoding.

16. The configurable LDPC decoder as recited in claim 15 wherein said control circuit is configured to define chunk sizes and normal chunks of data based on said block size.

17. The configurable LDPC decoder as recited in claim 15 wherein said control circuit configures said sizes based on a number of block columns to be executed during one clock cycle.

18. The configurable LDPC decoder as recited in claim 15 wherein said control circuit shifts said chunks according to:

SHIFT

=

{

(

shift

+

i

·

chunk_size

[

0

]

)

(

modblock_size

)

,

i

<

norm_chunks

(

shift

+

norm_chunks

·

chunk_size

[

0

]

+

(

i

-

norm_chunks

)

·

(

chunk_size

[

0

]

-

1

)

)

(

modblock_size

)

,

i

norm_chunks

,

where shift is an original shift, and i is a starting chunk index.

19. The configurable LDPC decoder as recited in claim 15 wherein said numbers are equal and said sizes are equal.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 09/05/2018 PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0133. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0456 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0133 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2008
From: ANDREEV, ALEXANDER E.; VIKHLIANTSEV, IGOR A.
To: LSI CORPORATION
Reel/Frame 020929/0598 →