Method and apparatus for controlling packet flow for corresponding bandwidths of ports
AssigneeSamsung Electronics Co., Ltd.
InventorKyu-Wook Han
Life of this patent
Estimating the term…
Abstract
An apparatus and method for controlling a packet flow according to the bandwidth of corresponding ports, including a plurality of ports configured to compare a first packet number and a second packet number, and generate a packet flow control signal based on the comparison result, the packet flow control signal being used to control the packet flow.
Claims53
A method of controlling a packet flow in accordance with bandwidths of a corresponding plurality of ports comprising:
- accumulating packets transmitted from a first port of the plurality of ports for a specific time interval;
- counting a length of the accumulated packets in units of M, M being an integer bytes M≧64, for calculating a first packet number, the first packet number being—a second packet number+a third packet number—, the second packet number corresponding to a length of previously accumulated packets, and the third packet number corresponding to a length of a present packet;
- calculating a fourth packet number corresponding to a first bandwidth assigned to a second port;
- comparing the first packet number with the fourth packet number;
- and
- generating a packet flow control signal based on the comparison result.
A method of controlling a packet flow in accordance with bandwidths of a corresponding plurality of ports comprising:
- generating a look-up table based on packets received from a first port of the plurality of ports;
- monitoring a condition of a packet memory;
- generating packet transmission information based on information in the look-up table;
- generating information representing the condition of the packet memory;
- reading packets from the packet memory using the look-up table information, the packet transmission information and the information representing the condition of the packet memory;
- counting a length of the packets read in units of M bytes to calculate a first packet number, M being an integer≧64 bytes, the first packet number being—a second packet number+a third packet number—, the second packet number corresponding to a length of previously accumulated packets, and the third packet number corresponding to a length of a present packet;
- calculating a fourth packet number corresponding to a bandwidth assigned to a second port;
- comparing the first packet number with the fourth packet number;
- and generating a packet flow control signal based on the comparison result.
An apparatus for controlling a packet flow in accordance with bandwidths of a corresponding plurality of ports, the apparatus comprising:
- a plurality of port controllers configured to receive a first set of packets and compare a first packet number with a second packet number and generate a packet flow control signal based on the comparison result, where the first packet number is calculated in units of M bytes, M being an integer≧64 bytes, the first packet number being—a third packet number+a fourth packet number—, the third packet number corresponding to a length of previously accumulated packets, and the fourth packet number corresponding to a length of a present packet;
- a packet memory configured to store the first set of packets;
- a look-up section configured to receive the first set of packets from the plurality of port controllers and generate a look-up table containing at least one source address and destination address from the first set of packets;
- and
- a queue manager that is configured to monitor a condition of the packet memory and generate packet transmission information based on the look-up table, and transmit information representing the condition of the packet memory to port controllers.
An Ethernet switch comprising:
- a plurality of port controllers configured to receive a first set of packets and compare a first packet number with a second packet number, and generate a packet flow control signal based on the comparison result, where the first packet number is calculated in units of M bytes, M being an integer≧64 bytes, the first packet number being—a third packet number+a fourth packet number—, the third packet number corresponding to a length of previously accumulated packets, and the fourth packet number corresponding to a length of a present packet;
- a packet memory that is configured to store the first set of packets;
- a look-up section that is configured to receive the first set of packets from the plurality of port controllers, and generate a look-up table containing at least one source address, destination address, and medium access control (MAC) address information based on the first set of packets;
- and
- a queue manager configured to monitor a condition of the packet memory, and generate packet transmission information based on the look-up table, and transmit information representing the condition of the packet memory to at least one of said plurality of port controllers.
A flow controller comprising:
- a bandwidth calculator configured to count at least one set of packets and calculate at least a first packet number, the first packet number being—a second packet number+a third packet number—, the second packet number corresponding to a length of previously accumulated packets, and the third packet number corresponding to a length of a present packet;
- a comparator configured to compare the first packet number with a fourth packet number;
- and
- a flow control signal generator which receives the comparison result of the comparator and generates a packet flow control signal corresponding to the comparison result.
A method for controlling a flow of data comprising:
- counting at least one set of packets received;
- calculating a first packet number from the at least one set of packets counted, the first packet number being—a second packet number+a third packet number—, the second packet number corresponding to a length of previously accumulated packets, and the third packet number corresponding to a length of a present packet;
- comparing the first packet number to a fourth packet number;
- and
- generating a packet flow control signal corresponding to the comparison result.
A bandwidth calculator comprising:
- a transmission receipt bandwidth calculator, which calculates a first packet number corresponding to a length of a set of packets, the first packet number being—a second packet number+a third packet number—, the second packet number corresponding to a length of previously accumulated packets, and the third packet number corresponding to a length of a present packet;
- and
- a port bandwidth calculator, which calculates a fourth packet number corresponding to a bandwidth assigned to at least one port.
A flow control signal generator comprising:
- a transmission flow control signal generator, which generates a packet flow control signal when a first packet number is greater than a second packet number, the first packet number being—a third packet number+a fourth packet number—, the third packet number corresponding to a length of previously accumulated packets, and the fourth packet number corresponding to a length of a present packet;
- and
- a receipt flow control signal generator, which generates a pseudo packet to prevent packets from being transmitted if the first packet number is greater than the second packet number.
A method for controlling a flow control signal generator comprising:
- generating a packet flow control signal when a first packet number is greater than a second packet number, the first packet number being—a third packet number+a fourth packet number—, the third packet number corresponding to a length of previously accumulated packets, the fourth packet number corresponding to a length of a present packet;
- and
- generating a pseudo packet to prevent packets from being transmitted from the port if the first packet number is greater than the second packet number.
Dependencies are inferred from the claim text.