IP Library Granted Patent US 10,331,361
Granted Patent B2
US 10,331,361 · App. 15/397,107 · Granted Jun 25, 2019

Self-addressing memory

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,331,361
App. No.
15/397,107
Granted
Jun 25, 2019
Kind
B2
Abstract

Techniques are disclosed relating to self-addressing memory. In one embodiment, an apparatus includes a memory and addressing circuitry coupled to or comprised in the memory. In this embodiment, the addressing circuitry is configured to receive memory access requests corresponding to a specified sequence of memory accesses. In this embodiment, the memory access requests do not include address information. In this embodiment, the addressing circuitry is further configured to assign addresses to the memory access requests for the specified sequence of memory accesses. In some embodiments, the apparatus is configured to perform the memory access requests using the assigned addresses.

Claims (40)

1. A method, comprising:

receiving, by addressing circuitry during an execution of a program, memory access requests specified by instructions of the program, wherein the memory access requests correspond to a specified sequence of memory accesses from the program, wherein the memory access requests do not include address information; and

assigning, by the addressing circuitry, addresses to be accessed by ones of the memory access requests for the specified sequence of memory accesses, wherein the addressing circuitry is pre-configured with the addresses for the specified sequence of memory accesses prior to an apparatus that includes the addressing circuitry executing any instruction in the program; and

performing the memory access requests based on the assigned addresses.

2. The method of claim 1 , wherein the specified sequence of memory accesses is determined during compilation of the program by executing portions of the program to determine the sequence of memory accesses.

3. The method of claim 1 , further comprising storing addresses for the specified sequence of memory accesses.

4. The method of claim 1 , further comprising configuring the addressing circuitry with information specifying addresses for a second sequence of memory accesses.

5. The method of claim 1 , further comprising:

maintaining, by the addressing circuitry, a read counter for read accesses and a write counter for write accesses;

wherein the assigning is based on the read counter and the write counter.

6. The method of claim 1 , wherein the specified sequence of memory accesses is based on a parity check matrix for a low-density parity-check (LDPC) decoder.

7. An apparatus, comprising:

a memory; and

addressing circuitry coupled to or comprised in the memory, wherein the addressing circuitry is configured to:

receive, during an execution of a program, memory access requests specified by instructions of the program, wherein the memory access requests correspond to a specified sequence of memory accesses from the program, wherein the memory access requests do not include address information; and

assign addresses to be accessed by ones of the memory access requests for the specified sequence of memory accesses, wherein the addressing circuitry is pre-configured with the addresses for the specified sequence of memory accesses prior to the apparatus executing any instruction in the program;

wherein the apparatus is configured to perform the memory access requests based on the assigned addresses.

8. The apparatus of claim 7 , wherein the specified sequence of memory accesses is determined during compilation of the program by executing portions of the program to determine the sequence of memory accesses.

9. The apparatus of claim 7 , wherein the addressing circuitry is configured to assign addresses to memory access requests for a second, different specified sequence of a second program where the requests in the second specified sequence do not include address information, based on an indication that the second program is being executed.

10. The apparatus of claim 7 , wherein the addressing circuitry is further configured to:

maintain a read counter for read accesses to the memory and a write counter for write accesses to the memory; and

assign the addresses based on the read counter and the write counter.

11. The apparatus of claim 7 , wherein the specified sequence of memory accesses includes non-sequential addresses and is based on a parity check matrix for a low-density parity-check (LDPC) decoder.

12. The apparatus of claim 7 , wherein the memory is multi-ported and is configured to initiate a plurality of memory accesses in a given cycle.

13. An apparatus, comprising:

low density parity check code (LDPC) circuitry configured to perform LDPC decoding;

a memory configured to store data being decoded by the LDPC circuitry; and

addressing circuitry coupled to or comprised in the memory, wherein the addressing circuitry is configured to:

receive memory access requests specified by instructions of an LDPC decoding program, wherein the memory access requests correspond to a specified sequence of memory accesses for the LDPC decoding, wherein the memory access requests do not include address information; and

assign addresses to be accessed by ones of the memory access requests for the specified sequence of memory accesses, wherein the addressing circuitry is pre-configured with the addresses for the specified sequence of memory accesses prior to the apparatus executing any instruction in the LDPC program;

wherein the apparatus is configured to perform the memory access requests based on the assigned addresses.

14. The apparatus of claim 13 , wherein the addressing circuitry is configured with the specified sequence of memory accesses by transferring information that specifies the specified sequence of memory accesses to a table.

15. The apparatus of claim 13 , wherein the addressing circuitry includes one or more programmable hardware elements that are configurable to assign addresses to different sequences of memory accesses for different LDPC codes.

16. The apparatus of claim 13 , wherein the specified sequence of memory accesses for the LDPC decoding is determined, prior to the LDPC decoding, during compilation of an LDPC decoding program.

17. The apparatus of claim 16 , wherein the specified sequence of memory accesses for the LDPC decoding is determined by execution portions of the LDPC decoding program during compilation.

18. The apparatus of claim 13 , wherein the addressing circuitry is configured to:

receive second memory access requests corresponding to a second specified sequence of memory accesses for the LDPC decoding, wherein the second memory access requests do not include address information; and

assign addresses to the second memory access requests for the second specified sequence of memory accesses, wherein the second specified sequence of memory accesses is determined and used to configure the addressing circuitry prior to the LDPC decoding.

19. The apparatus of claim 13 , wherein the apparatus is configured to maintain a read counter for read accesses to the memory and a write counter for write accesses to the memory and is configured to assign the addresses based on the read counter and the write counter.

20. The apparatus of claim 13 , wherein the memory access requests correspond to operations for rows of an LDPC parity check matrix.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2017
From: LY, TAI A.; MHASKE, SWAPNIL D.; KEE, HOJIN; ARNESEN, ADAM T.; ULIANA, DAVID C.; PETERSEN, NEWTON G.
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 040826/0763 →