General input/output architecture, protocol and related methods to implement flow control
First Claim
Patent Images
1. An apparatus, comprising:
- a protocol stack including layers to communicate data over a point to point interconnect, wherein the protocol stack including layers comprises a physical layer, a data link layer, and at least one layer higher than the physical layer and data link layer to generate packets corresponding to transactions over the interconnect;
a transmitter block to transmit data on the interconnect;
a first register associated with the transmitter block to store a value comprising a number of credits allocated to the transmitter by a remote receiver;
a second register is to store a value comprising a number of the allocated credits used by the transmitter block;
a receiver block to receive data from a remote transmitter; and
a third register associated with the receiver block to hold a value to represent a total number of credits allocated to the remote transmitter by the receiver block,wherein the data link layer provides flow control based on the credits and provides error detection based on a checksum added to packets generated in the other layer.
0 Assignments
0 Petitions
Accused Products
Abstract
An enhanced general input/output communication architecture, protocol and related methods are presented.
188 Citations
15 Claims
-
1. An apparatus, comprising:
-
a protocol stack including layers to communicate data over a point to point interconnect, wherein the protocol stack including layers comprises a physical layer, a data link layer, and at least one layer higher than the physical layer and data link layer to generate packets corresponding to transactions over the interconnect; a transmitter block to transmit data on the interconnect; a first register associated with the transmitter block to store a value comprising a number of credits allocated to the transmitter by a remote receiver; a second register is to store a value comprising a number of the allocated credits used by the transmitter block; a receiver block to receive data from a remote transmitter; and a third register associated with the receiver block to hold a value to represent a total number of credits allocated to the remote transmitter by the receiver block, wherein the data link layer provides flow control based on the credits and provides error detection based on a checksum added to packets generated in the other layer. - View Dependent Claims (2, 3, 4)
-
- 5. The apparatus of 1, wherein the data link layer data comprises a data link layer message.
-
7. A method, comprising:
-
utilizing a protocol stack including layers to communicate over a point to point interconnect, wherein the protocol stack includes layers comprising a physical layer, a data link layer, and at least one layer higher than the physical layer and data link layer to generate packets corresponding to transactions over the interconnect; sending data link layer data to a remote transmitter indicating an amount of credits allocated to the remote transmitter; utilizing a first register associated with a local transmitter to store a value indicating a number of credits allocated to the local transmitter by a remote; utilizing a second register associated with the local transmitter to store a value indicating a total number of the allocated credits used by the local transmitter; utilizing the local transmitter to transmit data on the point to point interconnect to the remote receiver; and utilizing a third register to hold a value to represent a total number of credits allocated to the remote transmitter by a local receiver, wherein the data link layer provides flow control based on the credits and provides error detection based on a checksum added to packets generated in the other layer. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A non-transitory computer readable medium storing computer readable instructions for machine execution of a method comprising:
-
utilizing a protocol stack including layers to communicate data over a point to point interconnect, wherein the protocol stack including layers comprises a physical layer, a data link layer, and at least one layer higher than the physical layer and data link layer to generate packets corresponding to transactions over the interconnect; utilizing a transmitter to transmit data on the point to point interconnect; utilizing a first register associated with the transmitter to store a value comprising a number of credits allocated to the transmitter by a remote receiver; utilizing a second register to store a value comprising a number of the allocated credits used by the transmitter; utilizing a receiver to receive data from a remote transmitter; utilizing a third register associated with the receiver to hold a value to represent a total number of credits allocated to the remote transmitter by the receiver; utilizing the data link layer to provide flow control for the interconnect based on the credits; and utilizing the data link layer to provide error detection based on a checksum added to packets generated in the other layer. - View Dependent Claims (13)
-
-
14. A system-on-a-chip (SoC) embedded within a mobile device, comprising:
-
a protocol stack including layers to communicate data over a point to point interconnect, wherein the protocol stack including layers comprises a physical layer, a data link layer, and at least one layer higher than the physical layer and data link layer to generate packets corresponding to transactions over the interconnect; a first device to receive data link layer data from a second device indicating a number of credits allocated to a transmitter of the first device by the second device, wherein the first device has a first register and a second register associated with the transmitter, the transmitter is to transmit data on the interconnect, the first register is to store a number of credits allocated to the transmitter by the second device, and the second register is to store a total number of the allocated credits used by the transmitter; and the second device comprising a receiver having at least one register, wherein the at least one register of the receiver is to store a total number of credits allocated to the transmitter by the receiver, wherein the data link layer provides flow control based on the credits and provides error detection based on error correction codes added to packets generated in the other layer. - View Dependent Claims (15)
-
Specification