Requests and data handling in a bus architecture
US-9529751-B2 · Dec 27, 2016 · US
US10169256B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10169256-B2 |
| Application number | US-201414169527-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 31, 2014 |
| Priority date | Jan 31, 2014 |
| Publication date | Jan 1, 2019 |
| Grant date | Jan 1, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
with priority control · CPC title
by maintaining request order · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.