Serial link buffer fill-level compensation using multi-purpose start of protocol data unit timing characters
First Claim
1. A first circuit card for communicating protocol data units (PDUs) over a bidirectional serial link that includes a first unidirectional serial link for communicating PDUs from the first circuit card to a second circuit card and a second unidirectional serial link for communicating PDUs from the second circuit card to the first circuit card, the first circuit card comprising:
- a transmitter module for transmitting PDUs over the first unidirectional serial link at a first rate for at least one read transaction;
a receiver module for receiving PDUs from the second unidirectional serial link at a second rate for at least one write transaction and for detecting a fill level of a receiver buffer;
and a control link coupling the receiver module to the transmitter module for conveying control indications from the receiver module to the transmitter module, wherein said control indications comprises a first Start of PDU (SOP) character sequence and a second Start of PDU (SOP) character sequence;
wherein the first Start of PDU (SOP) character sequence is sent if the fill level of the receiver buffer is at or below a threshold and the second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention provide improved timing compensation for a bidirectional serial link in order to relax accuracy requirements of clock sources used for the link. When forming a Protocol Data Unit (PDU) for transmission over the link, fill levels of receiver buffers at either ends of the link are used to determine a particular type of start of PDU (SOP) character sequence to use. When a given type of SOP character sequence is present in a PDU received at one end of the link, a next PDU to be transmitted from the same end of the link is delayed by a predetermined amount of time to allow the receiver buffer at the other end of the link to decrease its fill level before receiving the next PDU.
33 Citations
20 Claims
-
1. A first circuit card for communicating protocol data units (PDUs) over a bidirectional serial link that includes a first unidirectional serial link for communicating PDUs from the first circuit card to a second circuit card and a second unidirectional serial link for communicating PDUs from the second circuit card to the first circuit card, the first circuit card comprising:
-
a transmitter module for transmitting PDUs over the first unidirectional serial link at a first rate for at least one read transaction; a receiver module for receiving PDUs from the second unidirectional serial link at a second rate for at least one write transaction and for detecting a fill level of a receiver buffer; and a control link coupling the receiver module to the transmitter module for conveying control indications from the receiver module to the transmitter module, wherein said control indications comprises a first Start of PDU (SOP) character sequence and a second Start of PDU (SOP) character sequence; wherein the first Start of PDU (SOP) character sequence is sent if the fill level of the receiver buffer is at or below a threshold and the second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A receiver module for receiving protocol data units (PDUs) from a unidirectional serial link, comprising:
-
an input for connecting to the unidirectional serial link at a first rate for at least one write transaction; an output for coupling to a transmitter module at a second rate for at least one read transaction; and a receiver buffer for storing PDUs received from the unidirectional serial link, wherein the receiver module is operable to determine and sends a plurality of control indications to the transmitter module, wherein said plurality of control indications comprises a first Start of PDU (SOP) character sequence and a second Start of PDU (SOP) character sequence, each control indication based upon a relationship between a fill level of the receiver buffer and a threshold; wherein the first start of PDU (SOP) character sequence is sent if the fill level of the receiver buffer is at or below the threshold and the second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold. - View Dependent Claims (11)
-
-
12. A transmitter module for transmitting protocol data units (PDUs) on a unidirectional serial link, comprising:
-
an output for connecting to the unidirectional serial link at a first rate for at least one read transaction; and an input for coupling to a receiver module at a second rate for at least one write transaction, wherein the transmitter module is operable to determine and use a particular start of PDU (SOP) character sequence to form a next PDU to be transmitted over the unidirectional serial link, based upon a particular control indication received from the receiver module, wherein a first SOP character sequence is sent if the fill level of a receiver buffer is at or below a threshold and a second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold. - View Dependent Claims (13)
-
-
14. A transceiver module for transmitting and receiving protocol data units (PDUs) over a bidirectional serial link that includes a first unidirectional serial link for communicating PDUs from a first circuit card to a second circuit card and a second unidirectional serial link for communicating PDUs from the second circuit card to the first circuit card, the transceiver module comprising:
-
an output for connecting to the first unidirectional serial link at a first rate for at least one read transaction; an input for connecting to the second unidirectional serial link at a second rate for at least one write transaction; and a receiver buffer for storing PDUs received from the second unidirectional serial link, wherein the transceiver module is operable to determine and use a particular start of PDU (SOP) character sequence to form a next PDU to be transmitted over the first unidirectional serial link, based upon a relationship between a fill level of the receiver buffer and a threshold, wherein a first SOP character sequence is sent if the fill level of the receiver buffer is at or below the threshold and a second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold. - View Dependent Claims (15)
-
-
16. A first circuit card for transmitting and receiving protocol data units (PDUs) over a bidirectional serial link that includes a first unidirectional serial link for communicating PDUs from the first circuit card to a second circuit card and a second unidirectional serial link for communicating PDUs from the second circuit card to the first circuit card, the first circuit card comprising:
-
an output for connecting to the first unidirectional serial link at a first rate for at least one read transaction; an input for connecting to the second unidirectional serial link at a second rate for at least one write transaction; and a receiver buffer for storing PDUs received from the second unidirectional serial link, wherein the first circuit card is operable to determine and use a particular start of PDU (SOP) character sequence to form a next PDU to be transmitted over the first unidirectional serial link, based upon a relationship between a fill level of the receiver buffer and a threshold, wherein a first SOP character sequence is sent if the fill level of the receiver buffer is at or below a threshold and a second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold. - View Dependent Claims (17)
-
-
18. A method of performing timing compensation on a bidirectional serial link that includes a first unidirectional serial link for communicating protocol data units (PDUs) from a first circuit card to a second circuit card at a first rate for at least one read transaction and a second unidirectional serial link for communicating PDUs from the second circuit card to the first circuit card at a second rate for at least one write transaction, the method comprising:
-
receiving a first PDU from the second unidirectional serial link; storing the first PDU in a receiver buffer; detecting a fill level of the receiver buffer; comparing the fill level to a threshold; determining a particular start of PDU (SOP) character sequence depending upon a relationship between the fill level and the threshold; forming a second PDU using the particular SOP character sequence; and transmitting the second PDU onto the first unidirectional serial link, wherein a first SOP character sequence is sent if the fill level of the receiver buffer is at or below a threshold and a second SOP character sequence, different from the first SOP character sequence, is sent if the fill level of the receiver buffer is above the threshold. - View Dependent Claims (19, 20)
-
Specification