IP Library Granted Patent US 9,431,105
Granted Patent B2
US 9,431,105 · App. 14/191,163 · Granted Aug 30, 2016

Method and apparatus for memory access management

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 9,431,105
App. No.
14/191,163
Granted
Aug 30, 2016
Kind
B2
Abstract

In an embodiment, a method for managing access to memory includes receiving requests for access to a memory from one or more devices, each particular request associated with one of a plurality of virtual channels. A tag is assigned to each request received. Each tag assigned is added to a linked list associated with the corresponding virtual channel. Each request received with the assigned tag is transmitted to the memory. Responses to the requests are received from the memory, each response having an associated tag, and the responses received are sent to the one or more devices based on the corresponding linked list and the corresponding tag.

Claims (18)

1. A method comprising:

receiving requests for access to a memory from one or more devices, each particular request associated with one of a plurality of virtual channels;

for each one of the plurality of virtual channels, maintaining a corresponding linked list;

for each particular request received, assigning a tag and adding the assigned tag to the linked list corresponding to the virtual channel associated with the particular request received;

transmitting each request received with the assigned tag to the memory;

receiving responses to the requests from the memory, each response having an associated tag; and

transmitting the responses received to the one or more devices including comparing the tags of the responses received with a top of lists state indicating which tags are at the top of the corresponding linked lists and transmitting those responses received for which the comparison indicates a match.

2. The method of claim 1 wherein each request received includes a virtual channel identifier and wherein adding the assigned tag to the linked list corresponding to the virtual channel associated with the particular request received includes accessing a content addressable memory (CAM) with the virtual channel identifier of the request received to determine which linked list to add the tag.

3. The method of claim 1 further comprising, upon transmitting those responses received for which the comparison indicates a match, retiring the tags associated with those responses.

4. The method of claim 1 further comprising updating the top of lists state to replace the tags corresponding to responses transmitted with tags corresponding to the next entry in the corresponding linked lists.

5. The method of claim 1 wherein requests received are transmitted to the memory in order of receipt.

6. Apparatus comprising:

a request parser configured to receive requests for access to a memory from one or more devices, each particular request associated with one of a plurality of virtual channels, and to assign a tag to each request received;

a content addressable memory configured to maintain a corresponding linked list for each one of the plurality of virtual channels, to add each tag assigned to the linked list corresponding to the virtual channel associated with the particular request received and to transmit each request received with the assigned tag to the memory; and

a response parser configured to receive responses to the requests from the memory, each response having an associated tag and to transmit the responses received to the one or more devices including comparing the tags of the responses received with a top of lists state indicating which tags are at the top of the corresponding linked lists and transmitting those responses received for which the comparison indicates a match.

7. The apparatus of claim 6 wherein each request received includes a virtual channel identifier and wherein adding the assigned tag to the linked list corresponding to the virtual channel associated with the particular request received includes accessing the linked list with the virtual channel identifier of the request received to determine which linked list to add the tag.

8. The apparatus of claim 6 wherein the content addressable memory is further configured to update the top of lists state to replace the tags corresponding to responses transmitted with tags corresponding to the next entry in the corresponding linked lists.

9. The apparatus of claim 6 wherein requests received are transmitted to the memory in order of receipt.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2014
From: SANZONE, ROBERT A.; SNYDER, WILSON P., II
To: CAVIUM, INC.
Reel/Frame 032844/0339 →