Patent ID: 7120117

Claim:
A shared memory packet switching device having a plurality of receive ports for receiving data packets, and a plurality of transmit ports for transmitting data packets, comprising: a shared memory providing a shared memory space for temporary storage of data packets received via the receive ports; a plurality of input logic units with each of the input logic units being associated with one of the receive ports, and with each of the input logic units being operative to determine whether said associated receive port is saturated by determining whether a number of packets received via said associated receive port and currently stored in said shared memory exceeds a predetermined drop threshold value; a packet routing control unit communicatively coupled with said input logic units, and being operative to determine a destination one of the transmit ports for each of the received data packets; and at least one output logic unit associated with at least one of the transmit ports, said at least one output logic unit being communicatively coupled with said packet routing control unit, and being operative to determine whether said associated transmit port is congested by determining whether a number of packets currently stored in said shared memory that are to be transmitted via said associated transit port exceeds a predetermined congestion threshold value, and also being operative to generate an associated output full signal indicative of whether said associated transmit port is congested; said input logic units being responsive at least in part to each of said output full signals, and being further operative to cause a selected packet received via said associated receive port to be dropped if said associated receive port is currently saturated and said output full signals indicate that a destination transmit port associated with said selected packet is currently congested wherein said at least one output logic unit further includes a transmit port control unit responsive to an associated pause signal, and operative to assert back pressure on an associated network link that is communicatively coupled with said associated receive port.