Arbitrated access to resources among multiple devices

US10002099B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10002099-B2
Application numberUS-201414540436-A
CountryUS
Kind codeB2
Filing dateNov 13, 2014
Priority dateNov 13, 2014
Publication dateJun 19, 2018
Grant dateJun 19, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An arbiter circuit manages and enforces arbitration and quality of service (QOS) among multiple devices accessing a resource, such as a memory. The arbiter circuit receives requests from a number of devices to use resources of a bridge connecting to a memory, and maintains a count of bridge resources available on a per-device and per-bus basis. The arbiter circuit operates to select a next one of the requests to grant a bridge resource based on the device originating the request, a count of the per-device resources available, and a count of the resources available to the bus connecting the device to the bridge.

First claim

Opening claim text (preview).

What is claimed is: 1. A circuit comprising: a device interface for receiving requests from a plurality of devices to access a memory via a bridge, each of the requests including a device identifier; a per-device counter configured to maintain a device resource count allocated to each device, the device resource count indicating a quantity of resources available at the bridge for processing the requests from the device; a bus counter configured to maintain a bus resource count for forwarding the requests to the bridge via a bus, the bus resource count indicating a quantity of resources available at the bridge for processing the requests from the bus; and an arbiter circuit configured to select a next one of the plurality of requests to forward to the bridge based on 1) the device identifier of the request, 2) the device resource count corresponding to the device identifier, and 3) the bus resource count associated with the device identifier. 2. The circuit of claim 1 , wherein the per-device counter is further configured to limit a maximum resource count to a first of the plurality of devices relative to a second of the plurality of devices. 3. The circuit of claim 1 , wherein the arbiter circuit is further configured to suspend requests having a given device identifier in response to detecting that the per-device counter for the given device identifier indicates a count that is less than a threshold value. 4. The circuit of claim 1 , wherein the arbiter circuit is further configured to suspend requests in response to detecting that the bus counter indicates a count that is less than a threshold value. 5. The circuit of claim 1 , wherein the arbiter circuit is further configured to suspend one of the requests based on a) an indication of a resource count required by the request, and b) a predetermined threshold for per-request resources. 6. The circuit of claim 1 , further comprising a plurality of buffers each configured to store the requests received from a respective device at the device interface. 7. The circuit of claim 6 , wherein each of the plurality of buffers generates a backpressure command in response to reaching a threshold storage value. 8. The circuit of claim 1 , wherein the per-device counter is further configured to increment in response to receiving an indication that an additional resource associated with a given device identifier is available. 9. The circuit of claim 1 , wherein the bus counter is further configured to increment in response to receiving an indication that an additional resource associated with the circuit is available. 10. The circuit of claim 1 , further comprising a bridge control circuit, the bridge control circuit configured to control a count of the bus counter. 11. The circuit of claim 10 , wherein the bridge control circuit is further configured to prevent return of an initial given count of resources to the bus counter. 12. A method comprising: receiving requests from a plurality of devices to access a memory via a bridge, each of the requests including a device identifier; maintaining a per-device resource count allocated to each device, the per-device resource count indicating a quantity of resources available at the bridge for processing the requests from the device; maintaining a bus resource count for forwarding the requests to the bridge via a bus, the bus resource count indicating a quantity of resources available at the bridge for processing the requests to the bridge via the bus; and selecting a next one of the plurality of requests to forward to the bridge based on a) the device identifier of the request, b) the per-device resource count corresponding to the device identifier, and c) the bus resource count associated with the device identifier. 13. The method of claim 12 , further comprising limiting, via the per-device resource count, a maximum resource count to a first of the plurality of devices relative to a second of the plurality of devices. 14. The method of claim 12 , further comprising suspending requests having a given device identifier in response to detecting that the per-device resource count for the given device identifier indicates a count that is less than a threshold value. 15. The method of claim 12 , further comprising suspending requests in response to detecting that the bus resource count indicates a count that is less than a threshold value. 16. The method of claim 12 , further comprising suspend one of the requests based on a) an indication of a resource count required by the request, and b) a predetermined threshold for per-request resources. 17. The method of claim 12 , further comprising storing the requests received from a respective device at a device interface. 18. The method of claim 17 , further comprising generating a backpressure command in response to reaching a threshold storage value. 19. The method of claim 12 , further comprising incrementing the per-device resource count in response to receiving an indication that an additional resource associated with a given device identifier is available. 20. The method of claim 12 , further comprising incrementing the bus resource count in response to receiving an indication that an additional resource associated with the circuit is available. 21. The method of claim 12 , further comprising controlling the bus resource count via a signal from the bridge. 22. The method of claim 21 , further comprising preventing return of an initial given count of resources to the bus resource count.

Assignees

Inventors

Classifications

  • with centralised access control · CPC title

  • with request queuing · CPC title

  • using independent requests or grants, e.g. using separated request and grant lines · CPC title

  • with arbitration · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10002099B2 cover?
An arbiter circuit manages and enforces arbitration and quality of service (QOS) among multiple devices accessing a resource, such as a memory. The arbiter circuit receives requests from a number of devices to use resources of a bridge connecting to a memory, and maintains a count of bridge resources available on a per-device and per-bus basis. The arbiter circuit operates to select a next one …
Who is the assignee on this patent?
Cavium Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/4031. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 19 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).