Switch having flow control management
AssigneeAltima Communications, Inc.
InventorJiann-Jyh (James) Lay
Life of this patent
Estimating the term…
Abstract
A method of flow control management of data packets in a switch. The method has the steps of determining each time data is being written to memory in order to calculate a memory used amount; determining each time data is being freed from memory in order to calculate a memory freed amount; and calculating how much total memory is being used using the memory freed amount and the memory used amount. A comparison is made comparing the total memory being used to a first predetermined threshold. When the first predetermined threshold is reached a first threshold command is issued indicating that the first predetermined threshold has been reached.
Claims23
A method of flow control management of data packets, said method comprising the steps of:
- determining each time data is being written to memory in order to calculate a memory used amount;
- determining each time data is being freed from memory in order to calculate a memory freed amount;
- calculating how much total memory is being used using said memory freed amount and said memory used amount;
- comparing the total memory being used to a first predetermined threshold, wherein when said first predetermined threshold is reached a first threshold command is issued indicating that said first predetermined threshold has been reached.
A method of flow control management of data packets, said method comprising the steps of:
- determining a memory address to which a start pointer is pointing, wherein said start pointer points to a next memory location in a linked list to be read from memory;
- determining a memory address to which an end of list pointer is pointing, wherein said end of list pointer points to a last memory location in said linked list;
- calculating from said start pointer and said end of list pointer a number of memory addresses which are being used by said linked list to determine a total amount of memory being used;
- comparing said total amount of memory being used to a first predetermined threshold, wherein when said first predetermined threshold is reached a first threshold command is issued indicating that said first predetermined threshold has been reached.
A switch, comprising:
- a bus;
- a memory interface connected to said bus and to a memory;
- a receive port connected to said bus, said receive port receiving data packets for transmission to said memory through said bus and said memory interface;
- a transmit port connected to said bus, said transmit port transmitting data packets from said memory through said transmit port out of said switch;
- and
- a flow control manager connected to said bus, said flow control manager comprising,
- a bus monitor that determines when said data packets are being transmitted to said memory and when said data packets are being transmitted from said memory to said transmit port;
- a counter that is incremented each time data packets are transmitted to said memory and decremented each time data packets are transmitted from said memory to said transmit port, wherein said counter indicates a memory being used value;
- and
- a first comparator that compares said counter to a first predetermined threshold, wherein when said counter meets said first predetermined threshold a first threshold command is transmitted across said bus.
A switch, comprising:
- a bus;
- a memory interface connected to said bus and to a memory;
- a receive port connected to said bus, said receive port receiving data packets for transmission to said memory through said bus and said memory interface;
- a transmit port connected to said bus, said transmit port transmitting data packets from said memory through said transmit port out of said switch;
- and
- a flow control manager connected to said bus, said flow control manager comprising:
- a start pointer determiner that determines a memory address to which a start pointer is pointing to, wherein said start pointer points to the next memory location in a linked list to be read from memory;
- a end of list pointer determiner that determines a memory address to which an end of list pointer is pointing, wherein said end of list pointer points to the last memory location in said linked list;
- a memory used calculator that determines how many memory addresses are being used by said link list to determine a total amount of memory being used;
- and
- a first comparator that compares said total amount of memory being used to a first predetermined threshold, wherein when said total amount of memory being used meets said first predetermined threshold a first threshold command is transmitted across said bus.
Dependencies are inferred from the claim text.