Legal claims defining the scope of protection, as filed with the USPTO.
1. An apparatus comprising: a plurality of queues, wherein the plurality of queues includes two or more queues configured to store information for transactions associated with a real time virtual channel and one or more queues configured to store transactions for corresponding non-real time channels; an arbitration unit configured to arbitrate between transactions received from two or more of the plurality of queues; and control logic configured to select transactions to be presented to the arbitration unit, wherein the control logic is configured to select transactions at a head of each queue from which transactions are selected, wherein a transaction at the head of each queue is an oldest transaction stored in that queue, and wherein the control logic is further configured to inhibit lower priority real time transactions from being presented from one of the queues associated with the real time virtual channel to the arbitration unit responsive to determining that a higher priority real time transaction is at the head of another one of the queues associated with the real time virtual channel, wherein the control logic is configured to reduce a priority level of a real time transaction at the head of a first one of the plurality of queues from a high priority to a medium priority responsive to determining the presence of a low latency transaction at the head of the second one of the plurality of queues and the presence of one or more real time high priority transactions in the second one of the plurality of queues.
2. The apparatus as recited in claim 1 , wherein the control logic is configured to inhibit real time medium priority transaction and real time low priority transactions from being provided to the arbitration unit responsive to determining that information associated with a real time high priority transaction is at the head of one of the queues associated with the real time virtual channel.
3. The apparatus as recited in claim 2 , wherein the control logic is configured to inhibit real time low priority transactions from being provided to the arbitration unit responsive to determining that information associated with a real time medium priority transaction is at a head of one of the queues associated with the real time virtual channel.
4. The apparatus as recited in claim 3 , wherein the control logic is configured to cause information corresponding to the real time medium priority transaction to be presented to the arbitration unit from one of the queues associated with the real time virtual channel responsive to determining that no information corresponding to a real time high priority transaction is at a head of another one of the queues associated with the real time virtual channel.
5. The apparatus as recited in claim 4 , wherein the arbitration unit is configured to cause a real time high priority transaction to be advanced when arbitrated against another transaction that is not a real time high priority transaction, and wherein the arbitration unit is further configured to: arbitrate between a transaction that is a real time medium priority transaction and a transaction designated as a low latency transaction; and arbitrate between a transaction that is a real time low priority transaction and a transaction designated as a bulk transaction.
6. The apparatus as recited in claim 1 , wherein the plurality of queues includes a first queue associated with a first non-real time channel and a second queue associated with a second non-real time channel.
7. The apparatus as recited in claim 6 , wherein the first non-real time channel is a low latency channel configured to convey low latency transactions, and wherein the second non-real time channel is a bulk channel configured to convey bulk transactions.
8. The apparatus as recited in claim 7 , wherein the low latency transactions have a greater priority than the bulk transactions.
9. The apparatus as recited in claim 7 , wherein the arbitration unit is configured to: forward a real time high priority transactions over all other transactions; arbitrate between real time medium priority transactions and low latency transactions; arbitrate between real time low priority transactions and bulk transactions.
10. A method comprising: storing, in a first queue, transactions associated with a real time virtual channel; storing, in a second queue, transactions associated with the real time virtual channel; storing, in a third queue, transactions associated with a non-real time virtual channel; and selecting transactions from the first second, and third queues to be presented to an arbitration unit, wherein said selecting includes selecting oldest transaction stored in each of the queues from which transactions are selected, and wherein said selecting further includes inhibiting a real time transaction having a first priority from being presented to the arbitration unit from one of the first and second queues responsive to determining that a real time transaction having a second priority is an oldest transaction in the other one of the first and second queues, wherein the second priority is higher than the first priority; wherein the method further comprises reducing a priority level of a real time transaction at the head of the first queue from a high priority to a medium priority responsive to determining the presence of a low latency transaction at the head of the second queue and the presence of one or more real time high priority transactions in the second queue.
11. The method as recited in claim 10 , further comprising arbitrating transactions in the arbitration unit, wherein said arbitrating includes arbitrating between transactions received from at least two of the first, second, and third queues.
12. The method as recited in claim 10 , wherein the second priority is a high priority, wherein the first priority is a medium priority, and wherein a third priority is a low priority, and wherein the method further comprises advancing real time transactions having a high priority over real time transactions have a low priority or a medium priority.
13. The method as recited in claim 12 , further comprising: arbitrating between a medium real time transaction and a non-real time transaction designated as a low latency transaction; and arbitrating between a low priority real time transaction and a non-real time transaction designated as a bulk transaction.
14. The method as recited in claim 13 , wherein said selecting further comprises inhibiting a low priority real time transaction responsive to determining that at least one real time transaction of the high or medium priority is present at the head of at least one of the first and second queues.
15. An apparatus comprising: a first queue configured to store information for transactions of a first plurality of transactions; a second queue configured to store information for transactions of a second plurality of transactions, wherein the first and second pluralities of transactions include real time transaction and non-real time transactions; an arbitration unit configured to arbitrate between transactions presented from the first queue and the second queue; and control logic configured to select transactions to be presented to the arbitration unit, wherein the control logic is configured to select which of the first and second pluralities of transactions are presented to the arbitration unit including selecting a first transaction from a head of the first queue and a second transaction from a head of the second queue, and further configured to reduce a priority of the first transaction at a head of the first queue responsive to determining that a high priority transaction is blocked by a lower priority transaction at a head of the second queue, wherein reducing the priority includes reducing a priority level of a real time transaction at the head of the first queue from a high priority to a medium priority responsive to determining the presence of a low latency transaction at the head of the second queue and the presence of one or more real time high priority transactions in the second queue.
16. The apparatus as recited in claim 15 , wherein each of the first and second queues are configured to store real time transactions and non-real time transactions.
17. The apparatus as recited in claim 15 , wherein the control logic is configured to reduce a priority level of a real time transaction at the head of the first queue to a low priority responsive to determining the presence of a bulk transaction at the head of the second queue and one or more real time high or medium transactions in the second queue.
18. The apparatus as recited in claim 15 , wherein each of the first and second queues is configured to store real time transactions, low latency transactions, and bulk transactions, and wherein the arbitration unit is configured to: arbitrate between a transaction that is a real time medium priority transaction and a transaction designated as a low latency transaction; and arbitrate between a transaction that is a real time low priority transaction and a transaction designated as a bulk transaction.
Unknown
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.