Shared-credit arbitration circuit
First Claim
1. An apparatus for providing access by a plurality of virtual channels to a shared resource, the apparatus comprising:
- a shared resource;
at least one packet interface providing the plurality of virtual channels; and
an arbiter configured to logically divide the shared resource into a plurality of dedicated resource pools and a shared resource pool with each dedicated resource pool associated with a distinct virtual channel, allocate credits to each virtual channel, receive from a source associated with a virtual channel a packet for the virtual channel, determine whether to use the dedicated resource pool associated with the virtual channel or the shared resource pool for the packet, and when the shared resource pool is used for the packet, return a credit back to the source without waiting for the shared resource used for the packet to be freed.
2 Assignments
0 Petitions
Accused Products
Abstract
This patent application relates generally to a shared-credit arbitration circuit for use in arbitrating access by a number of virtual channels to a shared resource managed by a destination (arbiter) based on credits allotted to each virtual channel, in which only the destination is aware of the availability of a shared pool of resources, and the destination selectively provides access to the shared pool by the virtual channels and returns credits to the source(s) associated with the virtual channels when shared resources are used so that the source(s) are unaware of the destination'"'"'s use of the shared resources and are unhindered by the destination'"'"'s use of shared resources. Among other things, this can significantly reduce the complexity of the source(s) and the required handshaking between the source(s) and the destination.
-
Citations
21 Claims
-
1. An apparatus for providing access by a plurality of virtual channels to a shared resource, the apparatus comprising:
-
a shared resource; at least one packet interface providing the plurality of virtual channels; and an arbiter configured to logically divide the shared resource into a plurality of dedicated resource pools and a shared resource pool with each dedicated resource pool associated with a distinct virtual channel, allocate credits to each virtual channel, receive from a source associated with a virtual channel a packet for the virtual channel, determine whether to use the dedicated resource pool associated with the virtual channel or the shared resource pool for the packet, and when the shared resource pool is used for the packet, return a credit back to the source without waiting for the shared resource used for the packet to be freed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An arbiter for arbitrating access by a plurality of virtual channels to a shared resource, the arbiter comprising:
-
at least one packet interface providing the plurality of virtual channels; and a shared-credit arbitration circuit configured to logically divide the shared resource into a plurality of dedicated resource pools and a shared resource pool with each dedicated resource pool associated with a distinct virtual channel, allocate credits to each virtual channel, receive from a source associated with a virtual channel a packet for the virtual channel, determine whether to use the dedicated resource pool associated with the virtual channel or the shared resource pool for the packet, and when the shared resource pool is used for the packet, return a credit back to the source without waiting for the packet to be freed from the shared resource pool. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for providing access by a plurality of virtual channels to a shared resource, the method comprising:
-
logically dividing a shared resource into a plurality of dedicated resource pools and a shared resource pool with each dedicated resource pool associated with a distinct virtual channel; allocating credits to each virtual channel; receiving from a source associated with a virtual channel a packet for the virtual channel; determining whether to use the dedicated resource pool associated with the virtual channel or the shared resource pool for the packet; and when the shared resource pool is used for the packet, returning a credit back to the source without waiting for the packet to be freed from the shared resource pool. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification