General input/output architecture, protocol and related methods to implement flow control
First Claim
Patent Images
1. An apparatus comprising:
- a storage device to;
maintain a value of flow control credits allocated for a device on a particular one of a plurality of virtual channels, wherein each of the plurality of virtual channels has a corresponding virtual channel type and the virtual channel types comprise a request-type virtual channel and a response-type virtual channel; and
flow control logic to;
receive a flow control signal over a link of an interconnect, wherein the flow control signal indicates flow control credits allocated for the device on the particular virtual channels, wherein respective flow control credits are to be allocated for each of the plurality of virtual channels, and the interconnect comprises a cache coherent interconnect; and
update the value of flow control credits based on activity of the device on the particular virtual channel.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage device is provided to maintain a value of flow control credits allocated for a device on a channel and flow control logic is provided to receive a flow control signal over a link of an interconnect, the flow control signal indicating flow control credits allocated for the device on the channel. The flow control logic is further to update the value of flow control credits based on activity of the device on the channel.
185 Citations
21 Claims
-
1. An apparatus comprising:
-
a storage device to; maintain a value of flow control credits allocated for a device on a particular one of a plurality of virtual channels, wherein each of the plurality of virtual channels has a corresponding virtual channel type and the virtual channel types comprise a request-type virtual channel and a response-type virtual channel; and flow control logic to; receive a flow control signal over a link of an interconnect, wherein the flow control signal indicates flow control credits allocated for the device on the particular virtual channels, wherein respective flow control credits are to be allocated for each of the plurality of virtual channels, and the interconnect comprises a cache coherent interconnect; and update the value of flow control credits based on activity of the device on the particular virtual channel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
a storage medium to maintain a value to indicate a count of allocated flow control credits that remain for a device on a particular one of a plurality of virtual channels, wherein the value is to be updated based on activity of the device on the particular virtual channel, the activity includes data sent on the particular virtual channel by the device, each of the plurality of virtual channels has a corresponding virtual channel type, and the virtual channel types comprise a request-type virtual channel and a response-type virtual channel; and flow control logic to; receive a flow control signal over a link of a cache coherent interconnect, wherein the flow control signal is to indicate the flow control credits allocated for the device on the particular virtual channel, the flow control credits are to be allocated following a reset of the link, and respective flow control credits are to be allocated for each of the plurality of virtual channels, and cause data sent on the virtual channel to be retried based on an indication that insufficient flow control credits are allocated for the device on the virtual channel.
-
-
13. A method comprising:
-
receiving a flow control signal over a link of a cache coherent interconnect, wherein the flow control signal indicates flow control credits allocated for a device on a particular one of a plurality of virtual channels, wherein each of the plurality of virtual channels has a corresponding virtual channel type and the virtual channel types comprise a request-type virtual channel and a response-type virtual channel; maintaining a value of flow control credits allocated for the device on the particular virtual channel, wherein respective flow control credits are to be allocated for each of the plurality of virtual channels; identifying data transmitted on the particular virtual channel by the device; and updating the value of flow control credits based on the data transmitted on the particular virtual channel. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising:
-
an interconnect; a first device; and a second device communicatively coupled to the first device using the interconnect, the second device comprising logic to; receive a flow control signal over a link of a cache coherent interconnect, wherein the flow control signal indicates flow control credits allocated for a device on a particular one of a plurality of virtual channels, wherein each of the plurality of virtual channels has a corresponding virtual channel type and the virtual channel types comprise a request-type virtual channel and a response-type virtual channel; maintain a value of flow control credits allocated for the device on the particular virtual channel, wherein respective flow control credits are to be allocated for each of the plurality of virtual channels; and update the value of flow control credits based on activity of the device on the particular virtual channel. - View Dependent Claims (18, 19, 20, 21)
-
Specification