Arbitrating direct memory access channel requests

US10169256B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10169256-B2
Application numberUS-201414169527-A
CountryUS
Kind codeB2
Filing dateJan 31, 2014
Priority dateJan 31, 2014
Publication dateJan 1, 2019
Grant dateJan 1, 2019

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.

A method includes receiving a plurality of requests to perform accesses for associated DMA channels and arbitrating the requests. The arbitration includes selectively granting a given request of the plurality of requests based at least in part on an associated fixed priority of the request and an associated priority weighting of the request. The priority weighting regulates which request or requests of the plurality of requests are considered at a given time.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving a plurality of requests to perform accesses for associated DMA channels, each request being associated with a fixed priority and each request being associated with a priority weighting, wherein at least a first priority weighting of the associated priority weightings is different from a second priority weighting of the priority weightings; and arbitrating the requests, the arbitrating comprising, for a given request of the plurality of requests: identifying a number of arbitration slots in an arbitration cycle based at least in part on the priority weighting assigned to the given request; assigning at least one arbitration slot in the arbitration cycle to the given request such that the identified number of arbitration slots is or are assigned to the given request, wherein the at least one arbitration slot comprises an arbitration slot concurrently assigned to both the given request and to another request of the plurality of requests; and sequencing through the slots in the arbitration cycle, comprising for the arbitration slot concurrently assigned to both the given request and to the another request, selectively granting the given request based at least in part on the associated fixed priority of the given request and the associated fixed priority of the another request. 2. The method of claim 1 , wherein arbitrating the requests comprises: selecting a priority weighting; and selecting the given request from at least one request of the plurality of requests having the associated priority weighting. 3. The method of claim 2 , wherein a group of at least two of the requests each have the selected associated priority weighting, the requests of the group having different associated fixed priorities, and selecting the granted request comprises selecting the request of the group having the higher associated fixed priority. 4. The method of claim 1 , wherein the fixed priorities are set by priority assignments for the associated DMA channels. 5. The method of claim 1 , wherein the arbitrating comprises arbitrating based at least in part on arbitration slots associated with the priority weightings. 6. An apparatus comprising: a plurality of direct memory access (DMA) engines associated with DMA channels, each DMA channel being associated with a fixed priority and a priority weighting, wherein at least a first priority weighting of the associated priority weightings is different from a second priority weighting of the priority weightings; and an arbiter to arbitrate requests from the DMA engines to perform DMA accesses for the associated DMA channels, wherein: the arbiter is adapted to arrange the requests for consideration in a sequence of arbitration slots based at least in part on the priority weightings; a given DMA channel of the DMA channels is associated with a given request of the requests from the DMA engines; the arbiter is adapted to assign a number of the arbitration slots to the given request based on the priority weighting of the DMA channel associated with the given request; a given arbitration slot of the number of arbitration slots assigned to the given request is concurrently assigned to another request of the requests; and the arbiter is adapted to traverse the sequence of arbitration slots in an arbitration cycle that considers the request or requests in each arbitration slot to selectively grant the requests, wherein the selectively granting of the requests comprises selectively granting the request associated with the given arbitration slot based on the fixed priority associated with the another request and the fixed priority associated with the given request. 7. The apparatus of claim 6 , wherein the arbiter is adapted to cycle through the sequence of arbitration slots and restrict updating the sequence to occur one time per cycle. 8. The apparatus of claim 6 , wherein the arbiter is adapted to cycle through the sequence of arbitration slots and allow the sequence to be updated more than one time per cycle. 9. The apparatus of claim 6 , further comprising: at least one register to store the priority weightings for the DMA channels. 10. The apparatus of claim 6 , wherein the priority weightings comprises a first priority weighting associated with a first number of the slots and a second priority weighting associated with a second priority weighting associated with a second number of the slots different from the first number of slots. 11. The apparatus of claim 6 , wherein the arbitration cycle comprises a round robin arbitration cycle. 12. The apparatus of claim 6 , wherein each priority weighting identifies a number of arbitration slots processed by the arbiter in the arbitration cycle. 13. The apparatus of claim 6 , wherein all of the fixed priorities are different from each other. 14. The apparatus of claim 6 , wherein the fixed priorities are assigned based on DMA channel numbers. 15. An apparatus comprising: an integrated circuit (IC) comprising direct memory access (DMA) channels and a DMA channel arbiter, wherein the arbiter is adapted to: receive requests for use of the DMA channels, each request being associated with a priority weighting and a priority, wherein at least a first priority weighting of the associated priority weightings is different from a second priority weighting of the priority weightings; assign the requests in arbitration slots based on the associated priority weightings such that a number of the arbitration slots assigned to a given request of the requests is based on the associated priority weighting for the given request; traverse the sequence of arbitration slots to select an arbitration winner for each arbitration slot of the arbitration slots; and in response to a given slot of the arbitration slots being concurrently assigned to multiple requests, select the arbitration winner for the given slot based on the priorities of the multiple requests. 16. The apparatus of claim 15 , wherein the priority weightings comprises a first priority weighting associated with a first number of the slots and a second priority weighting associated with a second priority weighting associated with a second number of the slots different from the first number of slots. 17. The apparatus of claim 15 , wherein each priority weighting identifies a number of assigned arbitration slots. 18. The apparatus of claim 15 , wherein the arbiter is adapted to consider the requests in the arbitration slots based on the associated priority weightings such that the arbiter is adapted to consider multiple pending requests having the same priority weighting. 19. The apparatus of claim 15 , wherein the arbiter is adapted to traverse the arbitration slots in a circular sequence. 20. The method of claim 1 , wherein a set of requests of the plurality of requests are associated with a given priority weighting of the associated priority weightings, and the requests of the set of requests are associated with different fixed priorities. 21. The apparatus of claim 6 , wherein a set of requests of the requests from the DMA engines are associated with a given priority weighting of the associated priority weightings, and the requests of the set of requests are associated with different fixed priorities.

Assignees

Inventors

Classifications

  • with priority control · CPC title

  • by maintaining request order · 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 US10169256B2 cover?
A method includes receiving a plurality of requests to perform accesses for associated DMA channels and arbitrating the requests. The arbitration includes selectively granting a given request of the plurality of requests based at least in part on an associated fixed priority of the request and an associated priority weighting of the request. The priority weighting regulates which request or req…
Who is the assignee on this patent?
Silicon Lab Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/1621. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 01 2019 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).