Duplex mismatch detection
AssigneeMarvell International Ltd.
InventorsDonald Pannell, Ozdal Barkan
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention provide techniques for both ends of a link suffering from duplex mismatch to correct the duplex mismatch. According to some embodiments, the half-duplex end of the link can detect that the other end of the link is in full-duplex mode by detecting late and/or very late collisions, and can correct the duplex mismatch by changing to full-duplex mode. According to some embodiments, the full-duplex end of the link can detect that the other end of the link is in half-duplex mode by one or more techniques including detecting cyclic redundancy check (CRC) errors and frame fragments, and can correct the duplex mismatch by changing to half-duplex mode.
Claims47
An apparatus comprising:
- at least one port to transmit first frames of data in half-duplex mode, and to receive second frames of the data, over a communication channel, wherein the at least one port comprises
- a collision detect circuit to detect collisions on the communication channel between the first frames of the data and the second frames of the data;
- and
- a duplex mismatch circuit to declare a duplex mismatch when
- the collision detect circuit detects a predetermined number of late collisions involving the first frames of the data, wherein each of the late collisions occurs after a first predetermined amount of the data has been transmitted in the respective first frame of the data;
- or
- the collision detect circuit detects a very late collision involving one of the first frames of the data, wherein the very late collision occurs after a second predetermined amount of the data has been transmitted in the one of the first frames of the data, wherein the second predetermined amount of the data is greater than the first predetermined amount of the data;
- and
- wherein the duplex mismatch indicates that a full-duplex mode is used with respect to the second frames of the data.
An apparatus comprising:
- at least one port means for transmitting first frames of data in half-duplex mode, and for receiving second frames of the data, over a communication channel, wherein the at least one port means comprises
- collision detect means for detecting collisions on the communication channel between the first frames of the data and the second frames of the data;
- and
- duplex mismatch means for declaring a duplex mismatch when
- the collision detect means detects a predetermined number of late collisions involving the first frames of the data, wherein each of the late collisions occurs after a first predetermined amount of the data has been transmitted in the respective first frame of the data;
- or
- the collision detect means detects a very late collision involving one of the first frames of the data, wherein the very late collision occurs after a second predetermined amount of the data has been transmitted in the one of the first frames of the data, wherein the second predetermined amount of the data is greater than the first predetermined amount of the data;
- and
- wherein the duplex mismatch indicates that a full-duplex mode is used with respect to the second frames of the data.
A method comprising:
- transmitting first frames of data in half-duplex mode, and receiving second frames of the data, over a communication channel;
- detecting collisions on the communication channel between the first frames of the data and the second frames of the data;
- and
- declaring a duplex mismatch when
- a predetermined number of late collisions involving the first frames of the data are detected, wherein each of the late collisions occurs after a first predetermined amount of the data has been transmitted in the respective one of the first frames of the data;
- or
- a very late collision involving one of the first frames of the data is detected, wherein the very late collision occurs after a second predetermined amount of the data has been transmitted in the one of the first frames of the data, wherein the second predetermined amount of the data is greater than the first predetermined amount of the data;
- and
- wherein the duplex mismatch indicates that a full-duplex mode is used with respect to the second frames of the data.
A computer program executable on a processor, comprising:
- instructions for detecting collisions on a communication channel between first frames of data transmitted in half-duplex mode over the communication channel and second frames of the data received over the communication channel;
- and
- instructions for declaring a duplex mismatch when
- a predetermined number of late collisions involving the first frames of the data are detected, wherein each of the late collisions occurs after a first predetermined amount of the data has been transmitted in the respective one of the first frames of the data;
- or
- a very late collision involving one of the first frames of the data is detected, wherein the very late collision occurs after a second predetermined amount of the data has been transmitted in the one of the first frames of the data, wherein the second predetermined amount of the data is greater than the first predetermined amount of the data;
- and
- wherein the duplex mismatch indicates that a full-duplex mode is used with respect to the second frames of the data.
An apparatus comprising:
- at least one port to transmit first frames of data in full-duplex mode, and to receive second frames of the data, over a communication channel, wherein the at least one port comprises one or both of
- a cyclic redundancy check (CRC) error detect circuit to detect CRC errors in the second frames of the data, and
- a fragment detect circuit to detect fragments of the second frames of the data;
- and
- a duplex mismatch circuit to declare a duplex mismatch when
- the CRC error detect circuit detects a CRC error in one of the second frames of the data when the at least one port is transmitting one of the first frames of the data, or
- the fragment detect circuit detects a fragment of one of the second frames of the data, or both;
- and
- wherein the duplex mismatch indicates that a half-duplex mode is used with respect to the second frames of the data.
An apparatus comprising:
- at least one port means for transmitting first frames of data in full-duplex mode, and for receiving second frames of the data, over a communication channel, wherein the at least one port means comprises one or both of
- cyclic redundancy check (CRC) error detect means for detecting CRC errors in the second frames of the data, and
- fragment detect means for detecting fragments of the second frames of the data;
- and
- duplex mismatch means for declaring a duplex mismatch when
- the CRC error detect means detects a CRC error in one of the second frames of the data when the at least one port means is transmitting one of the first frames of the data, or
- the fragment detect means detects a fragment of one of the second frames of the data, or both;
- and
- wherein the duplex mismatch indicates that a half-duplex mode is used with respect to the second frames of the data.
A method comprising:
- transmitting first frames of data in full-duplex mode, and receiving second frames of the data, over a communication channel;
- declaring a duplex mismatch when
- a CRC error is detected in one of the second frames of the data when transmitting one of the first frames of the data, or
- a fragment of one of the second frames of the data is received, or both;
- and
- wherein the duplex mismatch indicates that a half-duplex mode is used with respect to the second frames of the data.
A computer program executable on a processor, comprising:
- instructions for causing first frames of data to be transmitted in full-duplex mode over a communication channel, wherein second frames of the data are received over the communication channel;
- and
- instructions for declaring a duplex mismatch when
- a CRC error is detected in one of the second frames of the data when one of the first frames of the data is being transmitted, or
- a fragment of one of the second frames of the data is received, or both;
- and
- wherein the duplex mismatch indicates that a half-duplex mode is used with respect to the second frames of the data.
Dependencies are inferred from the claim text.