Adaptive flow control method and apparatus
AssigneeBroadcom Corporation
InventorYi-Hsien Hao
Life of this patent
Estimating the term…
Abstract
The present invention provides a method of controlling data flow within a network device. The method includes the steps of snooping a data packet before the data packet is stored in a memory buffer of the network device to determine a packet size, aggregating the packet size to generate a total number of data packets within a burst if the packet size exceeds a predetermined packet size. The method also includes the steps of lowering a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets and activating a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the network device.
Claims25
A method of controlling data flow within a network device, said method comprising the steps of:
- receiving a data packet into the network device;
- snooping the data packet before the data packet is stored in a memory buffer of the network device to determine a packet size based upon a number of bits per bytes within the data packet;
- aggregating the packet size to generate a total number of data packets within a burst if the packet size exceeds a predetermined packet size;
- lowering a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets;
- and
- activating a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the network device.
A device for controlling data flow within a network device, said device comprising:
- a snooping module contained within the network device and configured to snoop a data packet before the data packet is stored in a memory buffer of the network device to determine a packet size based upon the bits per byte of the data packet;
- a counter connected to the snooping module, wherein the counter adds the packet size to generate a total number of data packets within a burst if the packet size exceeds a predetermined packet size;
- a threshold lowering module connected to receive instructions from the snooping module and configured to lower a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets;
- and
- a pause activation module configured to receive instructions from the threshold lowering module in order to trigger a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the network device.
A device for controlling data flow within a network device, wherein the network device comprises a multiple-linked chip device.
A device for controlling data flow within a network device, said device comprising:
- receiving a data packet into the network device;
- snooping means contained within the network device for snooping a data packet before the data packet is stored in a memory buffer of the network device to determine a packet size based upon a number of bits/bytes of the data packet;
- aggregating means included within the snooping module for aggregating the packet size to generate a total number of data packets within a burst if the packet size exceeds a predetermined packet size;
- threshold reset means connected to receive instructions from the snooping module for lowering a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets;
- and
- pause frame activation means connected to receive instructions from the threshold lowering module for activating a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the network device.
A method of controlling data flow within a multiple-linked chip device, said method comprising the steps of:
- receiving the data packet into the multiple-linked chip device;
- snooping data packets before the data packets are stored in a memory buffer of the multiple-linked chip device to determine a packet size based upon the bits per bytes of the data packets;
- snooping the data packets received at both an input port and an expansion port connected to the multiple-linked chip to determine a packet size;
- aggregating the packet size of the data packets to generate a total number of data packets within a burst if the data packet size exceed a predetermined packet size;
- lowering a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets;
- and activating a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the multiple-linked chip.
A device for controlling data flow within a multiple-linked chip device, said device comprising:
- a receiving module for receiving the data flow within the multiple linked chip device;
- a snooping module contained within the multiple-linked chip device and configured to snoop data packets before the data packets are stored in a memory buffer of the network device to determine a packet size based upon the bits per bytes of the data packets;
- a counter included within the snooping module, wherein the counter adds packet size of the data packets to generate a total number of data packets within a burst if the packet size exceeds a predetermined packet size;
- a threshold lowering module connected to receive instructions from the snooping module and configured to lower a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets;
- and
- a pause activation module configured to receive instructions from the threshold lowering module in order to trigger a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the multiple-linked chip device.
A device for controlling data flow within a multiple-linked chip device, said device comprising:
- snooping means contained within the multiple-linked chip device for snooping data packets before the data packets are stored in a memory buffer of the multiple-linked chip device to determine a packet size, wherein the snooping means snoops the data packets received at both an input port and an expansion port connected to the multiple-linked chip to determine a packet size of the data packets received at the input port and the expansion port;
- aggregating means included within the snooping module for aggregating the packet size of the data packets to generate a total number of data packets within a burst if the data packet size exceed a predetermined packet size;
- threshold reset means connected to receive instructions from the snooping module for lowering a threshold of the memory buffer to a reset threshold if the total number of data packets exceeds a predetermined number of consecutive data packets;
- and
- pause frame activation means connected to receive instructions from the threshold lowering module for activating a pause frame based upon the reset threshold to temporarily suspend transmission of incoming data packets to the multiple-linked chip.
A method of controlling data flow within a network device, said method comprising:
- predicting a future flow of a chip located within the network device based upon a current flow within another chip and the current flow within the chip;
- and
- determining whether the future flow will cause a memory buffer of the chip to become saturated.
Dependencies are inferred from the claim text.