IP Library Granted Patent US 10,168,938
Granted Patent B2
US 10,168,938 · App. 15/361,227 · Granted Jan 1, 2019

LDPC decoder design to significantly increase throughput in ASIC by utilizing pseudo two port memory structure

Inventors: Liping Chen (Germantown, MD); Mustafa Eroz (Germantown, MD); Yanlai Liu (Germantown, MD); Sri Bhat (Germantown, MD)
Assignee: HUGHES NETWORK SYSTEMS, LLC
G06F3/0634G06F3/0613G06F3/0659G06F3/0679G06F12/0607G11C7/1039G11C7/222G11C8/10H03M13/1111G06F2212/1024G06F2212/202G06F2212/657
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,168,938
App. No.
15/361,227
Granted
Jan 1, 2019
Kind
B2
Abstract

A method and apparatus allows single port memory devices to be accessed as pseudo two port memory devices. An access table is created to map the single port memory device to a single port even bank and a single port odd bank. The single port memory device is then accessed based on the mapping. An initial number of entries from the access table are retrieved in order to read addresses in the memory device until a predetermined delay expires. Simultaneous operations are then performed to read from rows in the memory device and write to rows in the memory device. Once all memory addresses have been read, write operations are sequentially performed in rows of the memory device based on the remaining entries of the access table.

Claims (46)

1. A method comprising:

generating an access table for mapping a single port memory device to a pseudo two port memory device including a single port even bank and a single port odd bank;

sequentially retrieving entries from the access table;

reading from addresses in the single port memory device corresponding to n entries of the retrieved entries, where n corresponds to pipeline delay measured in CPU clock cycles;

conducting simultaneous operations for reading from addresses in the single port memory device corresponding to remaining entries from the access table and for writing to addresses in the single port memory device corresponding to entries from the access table, starting from the first retrieved entry and delayed by n clock cycles, until all addresses in the single port memory device corresponding to the retrieved entries have been read; and

writing to addresses in the single port memory device corresponding to any remaining entries from the access table.

2. The method of claim 1 , wherein each entry of the access table specifies, in part, alternating k*odd/k*even row addresses to be accessed in the single port memory device, where:

1≤ k≤M/ 2

k is an integer, and

M is the total number of entries in the access table.

3. The method of claim 1 , wherein the access table is a channel memory access table for a Low Density Parity Check (LDPC) decoder.

4. The method of claim 3 , wherein a number of columns in each row of the access table is determined based, at least in part, on a check node degree of the LDPC decoder.

5. The method of claim 4 , wherein the check node degree is based on a code design and parallelism of processing engine for the LDPC decoder.

6. The method of claim 4 , wherein a sum of the processing delay plus the check node degree results in an even value, and further comprising waiting one clock cycle prior to performing the step of conducting simultaneous operations.

7. The method of claim 1 , wherein conducting simultaneous operations is performed only when Read_address[ 0 ] XOR Write_address[ 0 ] equals 1, where

Read_address[ 0 ] is a last bit of the address in the memory location being read, and

Write_address[ 0 ] is a last bit of the address in the memory location being written.

8. The method of claim 1 , further comprising:

determining if a convergence criteria or iteration criteria has been satisfied; and

repeating the sequentially retrieving, reading from addresses in the single port memory device corresponding to n entries, conducting simultaneous operations, and writing to addresses, if the convergence criteria or iteration criteria has not been satisfied.

9. An apparatus comprising:

a single port memory device;

a pseudo two port memory device including a single port even bank and a single port odd bank; and

a controller, including microcode containing one or more instructions for configuring the controller to:

generate an access table for mapping the single port memory device to the pseudo two port memory device,

sequentially retrieve entries from the access table,

read from addresses in the single port memory device corresponding to n entries of the retrieved entries, where n corresponds to a pipeline delay measured in controller clock cycles,

conduct simultaneous operations for reading from addresses in the single port memory device corresponding to remaining entries from the access table and for writing to addresses in the single port memory device corresponding to entries from the access table, starting from the first retrieved entry and delayed by n clock cycles, until all addresses in the single port memory device corresponding to the retrieved entries have been read, and

write to addresses in the single port memory device corresponding to any remaining entries from the access table,

wherein reading and writing operations to the single port memory device are performed via the pseudo two port memory device.

10. The apparatus of claim 9 , wherein each entry of the access specifies, in part, alternating k*odd/k*even row addresses to be accessed in the single port memory device, where:

1≤ k≤M/ 2

k is an integer, and

M is the total number of entries in the access table.

11. The apparatus of claim 9 , further comprising:

a Low Density Parity Check (LDPC) computation engine,

wherein the access table is a channel memory access table for the LDPC computation engine.

12. The apparatus of claim 11 , wherein a number of columns in each row of the access table is determined based, at least in part, on a check node degree of the LDPC decoder.

13. The apparatus of claim 12 , wherein the check node degree is based on a code design and parallelism of processing engine for the LDPC decoder.

14. The apparatus of claim 12 , wherein a sum of the processing delay plus a check node degree results in an even value, and further comprising waiting one clock cycle prior to performing the step of conducting simultaneous operations.

15. The apparatus of claim 9 , wherein conducting simultaneous operations is performed only when Read_address[ 0 ] XOR Write_address[ 0 ] equals 1, where

Read_address[ 0 ] is a last bit of the address in the memory location being read, and

Write_address[ 0 ] is a last bit of the address in the memory location being written.

16. The apparatus of claim 9 , wherein the controller is further configured to:

determine if a convergence criteria or iteration criteria has been satisfied; and

repeat the following: sequentially retrieve, read from addresses in the single port memory device corresponding to n entries, conduct simultaneous operations, and write to addresses, if the convergence criteria or iteration criteria das not been satisfied.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 050600 FRAME 0314. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF PATENT SECURITY AGREEMENTS. Recorded Sep 3, 2020
From: WELLS FARGO, NATIONAL BANK ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053703/0367 →
ASSIGNMENT OF PATENT SECURITY AGREEMENTS Recorded Oct 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050600/0314 →
SECURITY INTEREST Recorded May 21, 2019
From: HUGHES NETWORK SYSTEMS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION - AS COLLATERAL AGENT
Reel/Frame 049239/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2016
From: CHEN, LIPING; EROZ, MUSTAFA; LIU, YANLAI; BHAT, SRI
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 040495/0247 →
Continuity (1)
Related Publication 20180150253A1 · May 31, 2018