Enhancements to 802.3 media access control and associated signaling schemes for ethernet switching
AssigneeAdvanced Micro Devices, Inc.
InventorIan Crayford
Life of this patent
Estimating the term…
Abstract
A flow control enabled Ethernet switch that applies backpressure to input ports that attempt to transmit a data packet to a busy destination port. The backpressure is a phantom packet that activates to abort transmission of the data packet. When the destination port is available, the phantom packets control retransmission, permitting standard retransmission of the data packet. The switch may include prioritization mechanisms to use when awarding priority to a port having backpressure applied.
Claims39
A method of switching an input data packet received at a first port of a network switch to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- applying a full-duplex backpressure indicator to the first port when blocking is desired;
- responding, by a transmitter coupled to the input of the first port that is transmitting the input data packet, to said backpressure indicator to abort transmission of the input data packet;
- and thereafter
- receiving a retransmitted input data packet at the first port when the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port.
A method of switching an input data packet received at a first port of a network switch to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- applying a full-duplex backpressure indicator to the first port when blocking is desired;
- responding, by a transceiver coupled to the input of the first port that is transmitting the input data packet, to said backpressure indicator to cause said transceiver to invalidate the input data packet;
- and thereafter
- receiving a retransmitted input data packet at the first port when the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port.
A method of switching an input data packet received at an input of a first port of a full-duplex network switch to an output of a second port of the switch having an communication channel established between the output of the second port and an input of a third port of the switch while an output data packet is transmitted from an output of the first port, the method comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- transmitting a backpressure indicator from the first port when blocking is desired;
- aborting transmission of the input data packet by a transceiver coupled to the first port in response to said backpressure indicator;
- thereafter
- receiving the input data packet at the first port when the output of the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port.
A transceiver comprising:
- means for receiving a flow control message within a specified first time period;
- means for passing said flow control message across an MII-type interface immediately, but on receiving said flow control message after said specified first time period;
- means for delaying transfer of said flow control message across the MII-type interface.
A method of switching a second input data packet received at a first port of a network switch, after a first input data packet, to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining, during transmission of the first input data packet, whether to block the second input data packet;
- thereafter
- applying a full-duplex backpressure indicator, during transmission of the first input data packet, to the first port when blocking is desired;
- responding, by a transmitter coupled to the input of the first port that is transmitting the input data packets, to said backpressure indicator to invalidate and suspend transmission of the second input data packet;
- and thereafter
- receiving a retransmitted second input data packet at the first port when the second port is available;
- and thereafter
- routing the second input data packet from the first port to the second port.
A method of switching a second input data packet received at a first port of a network switch, after a first input data packet, to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining, during transmission of the first input data packet, whether to block the second input data packet;
- thereafter
- applying a full-duplex backpressure indicator, after transmission of the first input data packet but prior to transmission of the second input data packet, to the first port when blocking is desired;
- responding, by a transmitter coupled to the input of the first port that is transmitting the input data packets, to said backpressure indicator to suspend transmission of the second input data packet;
- and thereafter
- receiving the second input data packet at the first port when the second port is available;
- and thereafter
- routing the second input data packet from the first port to the second port.
A full duplex capable Ethernet device, comprising:
- means for producing flow control information;
- and
- means for transmitting flow control information to a remote device using an Ethernet packet format conforming to the IEEE 802.3 standard.
A full duplex capable Ethernet device, comprising:
- means for producing flow control information;
- and
- means for transmitting flow control information to, or receiving flow control information from, a remote device using a unique encoded pattern.
A full duplex Ethernet compatible controller operating method for transmitting and receiving data packets concurrently, comprising the steps
- transmitting a packet while simultaneously receiving a packet;
- detecting assertion of a flow control indication;
- and
- aborting the transmission attempt and re-scheduling the attempt after a random computed value.
A method of switching an input data packet received at a first port of a network switch to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- applying a full-duplex backpressure indicator to the first port when blocking is desired, including the step of transmitting said indicator in an inter-packet gap following an output data packet transmitted from the first port concurrently with receipt of the input data packet;
- responding, by a transceiver coupled to the input of the first port that is transmitting the input data packet, to said backpressure indicator to cause said transceiver to invalidate the input data packet;
- and thereafter
- receiving a retransmitted input data packet at the first port when the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port.
A method of switching an input data packet received at a first port of a network switch to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- applying a full-duplex backpressure indicator to the first port when blocking is desired;
- responding, by a transceiver coupled to the input of the first port that is transmitting the input data packet, to said backpressure indicator to cause said transceiver to invalidate the input data packet;
- and thereafter
- receiving a retransmitted input data packet at the first port when the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port;
- wherein said backpressure indicator includes a backoff duration, the method further comprising the steps of:
- extracting said backoff duration from said backpressure indicator;
- and thereafter
- retransmitting the input data packet after said backoff duration.
A method of switching an input data packet received at a first port of a network switch to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- applying a full-duplex backpressure indicator to the first port when blocking is desired;
- responding, by a transceiver coupled to the input of the first port that is transmitting the input data packet, to said backpressure indicator to cause said transceiver to invalidate the input data packet;
- and thereafter
- receiving a retransmitted input data packet at the first port when the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port;
- wherein the method further comprises the steps of:
- transmitting, from the first port to said transceiver, a resume signal;
- and thereafter
- responding, by said transceiver, to retransmit the input data packet to the first port.
A method of switching an input data packet received at an input of a first port of a full-duplex network switch to an output of a second port of the switch having an communication channel established between the output of the second port and an input of a third port of the switch while an output data packet is transmitted from an output of the first port, the method comprising the steps of:
- determining whether to block the input data packet;
- thereafter
- transmitting a backpressure indicator from the first port when blocking is desired;
- aborting transmission of the input data packet by a transceiver coupled to the first port in response to said backpressure indicator;
- thereafter
- receiving the input data packet at the first port when the output of the second port is available;
- and thereafter
- routing the input data packet from the first port to the second port;
- wherein said backpressure transmitting step transmits said backpressure indicator after the output data packet transmitted from the first port to said transceiver.
A method of switching a second input data packet received at a first port of a network switch, after a first input data packet, to a second port of the switch having an communication channel established between the second port and a third port of the switch, comprising the steps of:
- determining, during transmission of the first input data packet, whether to block the second input data packet;
- thereafter
- applying a full-duplex backpressure indicator, after transmission of the first input data packet but prior to transmission of the second input data packet, to the first port when blocking is desired;
- responding, by a transmitter coupled to the input of the first port that is transmitting the input data packets, to said backpressure indicator to suspend transmission of the second input data packet;
- and thereafter
- receiving the second input data packet at the first port when the second port is available;
- and thereafter
- routing the second input data packet from the first port to the second port
- wherein said back-pressure indicator includes a SA/DA field that defines a particular packet to be retransmitted.
A method for operating a full duplex Ethernet compatible controller that transmits and receives data packets concurrently, comprising the steps of:
- transmitting a first packet while simultaneously receiving a second packet;
- detecting assertion of a flow control indication;
- and thereafter
- aborting transmission of the first packet in response to the flow control indication and rescheduling transmission of the first packet after a defined period.
Dependencies are inferred from the claim text.