Method for congestion control and associated switch controller
First Claim
1. A method of congestion control, in an Ethernet switch comprising a buffer, a plurality of ports and a plurality of queues corresponding to said plurality of ports, the method comprising:
- receiving a packet by one of said ports, storing said packet in said buffer, and establishing a link in a corresponding queue of said queues corresponding to a destination port for said packet;
examining if remaining space of said buffer is smaller than a predetermined threshold of system congestion;
examining if a length of said corresponding queue exceeds a predetermined threshold of queue congestion when the remaining space of said buffer is smaller than said predetermined threshold of system congestion; and
performing a proper congestion control based on the examining results.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method for congestion control and an associated switch controller. The switch controller performs either a shared memory architecture or an equal memory partition structure which limits the length of a queue corresponding to each port in response to buffer space. When exceeding a predetermined length, the queue will enter into a congested state. Preferrably, if a source port requests to establish a link in the queue, flow control is performed, and the length of the queue will be limited since there are no more packets to be received in. After escaping congestion, the switch controller returns to the shared memory architecture. Thus, the unfairness problem is improved when the network congests while network performance is enhanced.
41 Citations
20 Claims
-
1. A method of congestion control, in an Ethernet switch comprising a buffer, a plurality of ports and a plurality of queues corresponding to said plurality of ports, the method comprising:
-
receiving a packet by one of said ports, storing said packet in said buffer, and establishing a link in a corresponding queue of said queues corresponding to a destination port for said packet;
examining if remaining space of said buffer is smaller than a predetermined threshold of system congestion;
examining if a length of said corresponding queue exceeds a predetermined threshold of queue congestion when the remaining space of said buffer is smaller than said predetermined threshold of system congestion; and
performing a proper congestion control based on the examining results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An Ethernet switch controller comprising:
-
a buffer control device, coupled to a buffer, for allocating and freeing space of said buffer;
a plurality of port control devices, coupled to said buffer and a plurality of PHY devices, for receiving a plurality of packets from a plurality of ports via said plurality of PHY devices and requesting a space of said buffer to store said plurality of packets;
a forwarding control device, coupled to said plurality of port control devices, for determining a destination port for each of said packets;
a queue control device, coupled to said plurality of port control devices, said buffer control device and said forwarding control device, said queue control device comprising a plurality of queues corresponding to said plurality of ports and establishing a link in a corresponding queue of said queues corresponding to said destination port based on requests issued by said plurality of port control devices; and
wherein said switch controller examines if remaining space of said buffer is less than a predetermined threshold of system congestion, if the remaining space of said buffer is less than said threshold of system congestion, then examine if a length of said corresponding queue exceeds a predetermined threshold of queue congestion and perform a proper congestion control based on said examining results. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of congestion control, which is used in an Ethernet switch, said switch comprising a buffer, a plurality of PHY devices and a plurality of ports, said switch receiving a plurality of packets via said plurality of ports and said buffer temporarily storing said plurality of packets, said method of congestion control comprising:
-
performing a shared memory architecture for said buffer when said switch enters a normal state (XON);
performing an equal memory partition structure for said buffer when said switch enters a state of system congestion (XOFF); and
performing congestion control for all said plurality of ports when said switch enters a state of serious system congestion (ALL XOFF). - View Dependent Claims (18, 19, 20)
-
Specification