Method and apparatus for establishing a quality of service model
First Claim
Patent Images
1. A method for satisfying a Quality of Service (QoS) contract with an initiator in an Integrated Circuit, comprising:
- receiving a request from the initiator in the Integrated Circuit in a first time less than or equal to an ordinal number times an arrival interval to satisfy an arrival model, wherein the ordinal number signifies a position of the request among a group of requests;
returning the request from the initiator that has been serviced by a target to the initiator in a second time less than or equal to a constant term plus the ordinal number times a service interval to satisfy a service model; and
measuring the first and second time at a boundary between the initiator and an interconnect in the Integrated Circuit.
5 Assignments
0 Petitions
Accused Products
Abstract
In general, methods and apparatus for implementing a Quality of Service (QoS) model are disclosed. A Quality of Service (QoS) contract with an initiating network device may be satisfied. A request may be received from the initiating network device in a first time less than or equal to an ordinal number times an arrival interval. The ordinal number signifies a position of the request among a group of requests. The request that has been serviced may be returned to the initiator in a second time less than or equal to a constant term plus the ordinal number times a service interval.
87 Citations
27 Claims
-
1. A method for satisfying a Quality of Service (QoS) contract with an initiator in an Integrated Circuit, comprising:
-
receiving a request from the initiator in the Integrated Circuit in a first time less than or equal to an ordinal number times an arrival interval to satisfy an arrival model, wherein the ordinal number signifies a position of the request among a group of requests; returning the request from the initiator that has been serviced by a target to the initiator in a second time less than or equal to a constant term plus the ordinal number times a service interval to satisfy a service model; and measuring the first and second time at a boundary between the initiator and an interconnect in the Integrated Circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
an interconnect coupled between an initiator and a target, wherein an arrival model is satisfied by the initiator if a request arrives before a first time less than or equal to an ordinal number times an arrival interval, wherein the ordinal number signifies a position of the request among a group of requests; a Quality of Service (QoS) logic unit coupled to the interconnect and is configured to satisfy a service model if the initiator satisfies the arrival model, wherein the logic unit satisfies the service model if the request is serviced before a second time less than or equal to a constant term plus the ordinal number times a service interval; and wherein the Quality of Service (QoS) logic unit is configured to satisfy a QoS contract and is located at a boundary between the initiator and the interconnect and the QoS contract is based on the arrival model and the service model being satisfied. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for tracking service for two or more threads in an Integrated Circuit, comprising:
-
maintaining a first allocation count for a first thread to track whether the first thread is being serviced by a target in the Integrated Circuit, wherein the first thread is a bandwidth allocation thread; establishing an adjustable positive limit having a first value for the first allocation count that establishes an initial maximum amount the first allocation count may go up to; raising the adjustable positive limit for the first allocation count to a second value when the first value for the first allocation count has been reached and the first thread has yet to have a request fulfilled from the target during a regular interval of time; satisfying a service model if an arrival model is satisfied by an initiator if a request arrives before a first time less than or equal to an ordinal number times an arrival interval, wherein the ordinal number signifies a position of the request among a group of requests; and wherein the service model is satisfied if the request is serviced before a second time less than or equal to a constant term plus the ordinal number times a service interval. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system, comprising:
-
an interconnect coupled to an initiator and a target; a first logic coupled to the interconnect, and configured to maintain a first allocation count for a first thread from the initiator to track bandwidth usage by the first thread; a second logic coupled to the first logic, and configured to establish an adjustable positive limit having a first value for the first allocation count that establishes an initial maximum amount the first allocation count may go up to; and a third logic coupled to the second logic, and configured to raise the adjustable positive limit from the first value to a second value when the first value for the first allocation count has been reached, then the first thread has not been service during a predetermined interval of time, and the first thread has one or more requests waiting to be serviced from the target, wherein the first thread is a bandwidth allocation thread; an arrival model logic coupled to the interconnect and the first logic, the an arrival model logic is configured to satisfy a service model if an arrival model is satisfied by the initiator if a request arrives before a first time less than or equal to an ordinal number times an arrival interval, wherein the ordinal number signifies a position of the request among a group of requests; and wherein the service model is satisfied if the request is serviced before a second time less than or equal to a constant term plus the ordinal number times a service interval. - View Dependent Claims (26, 27)
-
Specification