IP Library Patent Application 18985212
Patent Application
App. No. 18/985,212

VIRTUAL NETWORK PRE-ARBITRATION

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 None
App. No.
18/985,212
Abstract

A device includes a data path, a first interface configured to receive a first memory access request from a first peripheral device, and a second interface configured to receive a second memory access request from a second peripheral device. The device further includes an arbiter circuit configured to, in a first clock cycle, a pre-arbitration winner between a first memory access request and a second memory access request based on a first number of credits allocated to a first destination device and a second number of credits allocated to a second destination device. The arbiter circuit is further configured to, in a second clock cycle select a final arbitration winner from among the pre-arbitration winner and a subsequent memory access request based on a comparison of a priority of the pre-arbitration winner and a priority of the subsequent memory access request.

Claims (34)

1 . A device comprising:

a first set of communication interfaces configured to receive a set of transactions directed to a set of devices;

a second set of communication interfaces configured to couple to the set of devices; and

an arbitration circuit coupled to the first set of communication interfaces and to the second set of communication interfaces, wherein the arbitration circuit is configured to:

select a first transaction from among the set of transactions to provide to a first device of the set of devices, wherein the selection is based on a first property of the first transaction; and

prior to the providing of the first transaction to the first device, determine whether to preempt the first transaction based on a second property of the first transaction, wherein the first property and the second property are different.

2 . The device of claim 1 , wherein the first property is based on a credit cost of the first transaction.

3 . The device of claim 2 , wherein the first property is whether the first device is allocated sufficient credits to satisfy the credit cost of the first transaction.

4 . The device of claim 2 , wherein the credit cost is based on whether the first transaction is a read transaction or a write transaction.

5 . The device of claim 1 , wherein the second property is a priority of the first transaction.

6 . The device of claim 1 , wherein the second property is a source of the first transaction.

7 . The device of claim 1 , wherein the arbitration circuit is configured to determine whether to preempt the first transaction based on at least one of a fair-share algorithm or a round robin algorithm.

8 . The device of claim 1 , wherein:

the determination is whether to preempt the first transaction in favor of a second transaction; and

the first set of communication interfaces is configured to receive the second transaction after the set of transactions is received.

9 . The device of claim 1 , wherein the set of devices includes a set of banks of random-access memory.

10 . The device of claim 9 , wherein the banks of random-access memory are configurable to operate in a first mode as a level 2 cache memory and to operate in a second mode as a level 3 cache memory.

11 . The device of claim 1 further comprising a data path coupled to the first set of communication interfaces and the second set of communication interfaces, wherein:

the data path supports virtual channels; and

the selection of the first transaction includes assigning a virtual channel of the virtual channels to the first transaction.

12 . The device of claim 1 further comprising a set of processor circuits coupled to the first set of communication interfaces.

13 . The device of claim 12 , wherein each of the set of processor circuits includes a processor core and a cache memory.

14 . A method comprising:

receiving, by a memory controller, a set of transactions directed to a set of devices;

selecting, by an arbitration circuit of the memory controller, a first transaction from among the set of transactions to provide to a first device of the set of devices, wherein the selecting is based associated with a first property of the first transaction; and

prior to the providing of the first transaction to the first device, determining whether to preempt the first transaction based on a second property associated with the first transaction, wherein the first property and the second property are different.

15 . The method of claim 14 , wherein the first property is based on a credit cost of the first transaction.

16 . The method of claim 14 , wherein the second property is a priority of the first transaction.

17 . The method of claim 14 , wherein the determining of whether to preempt the first transaction includes applying at least one of a fair-share algorithm or a round robin algorithm.

18 . The method of claim 14 , wherein:

the determining is whether to preempt the first transaction in favor of a second transaction; and

the second transaction is received by the memory controller after the set of transactions is received.

19 . The method of claim 14 , wherein the set of devices includes a set of banks of random-access memory.

20 . The method of claim 14 , wherein the selecting of the first transaction includes assigning a virtual channel of a data path to the first transaction.