US2005073957A1PendingUtilityA1

Switch having flow control management

Assignee: BROADCOM CORPPriority: Oct 3, 2000Filed: Oct 18, 2004Published: Apr 7, 2005
Est. expiryOct 3, 2020(expired)· nominal 20-yr term from priority
H04L 49/90H04L 47/10H04L 47/29H04L 49/254H04L 2012/5682H04L 2012/5665H04L 49/351H04J 3/062H04L 49/103H04L 49/205H04L 2012/5681H04L 47/32H04L 49/9078H04L 47/30H04L 12/4633H04L 49/901
41
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 . A method of flow control management of data packets, said method comprising the steps of: 
 determining a memory used amount and a memory freed amount upon memory access;    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; and    wherein the memory is implemented as a linked list, with pointers pointing to next memory locations in the linked list and the determining step is performed when at least one of the pointers is moved.    
   
   
       2 . The method as recited in  claim 1  wherein said determining step comprises determining when a command indicating that memory has successfully received a data packet is transmitted over a bus.  
   
   
       3 . The method as recited in  claim 2  wherein said command is a reception complete command.  
   
   
       4 . The method as recited in  claim 1 , wherein said determining step comprises determining when a command indicating that a data packet in memory is no longer needed is transmitted over a bus.  
   
   
       5 . The method as recited in  claim 4  wherein said command is a memory free command.  
   
   
       6 . The method as recited in  claim 1 , wherein said step of calculating how much total memory is being used by said switch comprises the steps of: 
 incrementing a counter each time data is being written to memory; and    decrementing said counter each time data is being freed from memory, wherein said counter indicates the total memory being used.    
   
   
       7 . The method as recited in  claim 1 , wherein said determining step comprises: 
 determining when a reception complete command indicating that memory has successfully received a data packet is transmitted over a bus, and    determining when a memory free command indicating that a data packet in memory is no longer needed is transmitted over a bus; and    wherein said step of calculating how much total memory is being used by said memory comprises the steps of,    incrementing a counter each time a reception complete command is transmitted over said bus; and    decrementing said counter each time a memory free command is transmitted over said bus, wherein said counter indicates how much total memory is being used.    
   
   
       8 . The method as recited in  claim 1 , wherein said first threshold command indicates that memory is becoming full.  
   
   
       9 . The method as recited in  claim 1 , further comprising the step of comparing the total memory being used by said switch to a second predetermined threshold, wherein when said second predetermined threshold is reached a second threshold command is issued indicating that said second predetermined threshold has been reached.  
   
   
       10 . The method as recited in  claim 9 , wherein said second threshold command indicates that data packets will be dropped.  
   
   
       11 . 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 value related to memory usage;    comparing said value with a first predetermined threshold, wherein when said first predetermined threshold matches said value, a first threshold command is issued.    
   
   
       12 . The method as recited in  claim 11 , wherein said first threshold command indicates that memory is becoming full.  
   
   
       13 . The method as recited in  claim 11 , further comprising the step of comparing said value with a second predetermined threshold, wherein when said second predetermined threshold matches said value, a second threshold command is issued.  
   
   
       14 . The method as recited in  claim 13 , wherein said second threshold command indicates that data packets will be dropped.  
   
   
       15 . A network device, comprising: 
 a bus;    a memory interface connected to said bus and to a memory; and    a flow control manager connected to said bus, said flow control manager comprising, 
 a bus monitor that determines when data are being transmitted to said memory and when said data are being transmitted from said memory;  
 a counter that is incremented each time data are transmitted to said memory and decremented each time data are transmitted from said memory, 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; and    wherein the memory is implemented as a linked list, with pointers pointing to next memory locations in the linked list.    
   
   
       16 . The network device as recited in  claim 15 , wherein said bus monitor is configured to determine that said data are being transmitted to said memory when a reception complete command is transmitted over said bus; 
 wherein said bus monitor determines that said data are being transmitted from said memory to said transmit port when a memory free command is transmitted over said bus; and    wherein said counter is incremented each time said reception complete command is transmitted over said bus and said counter is decremented each time a memory free command is transmitted over said bus.    
   
   
       17 . The network device as recited in  claim 15 , wherein said first threshold command indicates that memory is becoming too full.  
   
   
       18 . The network device as recited in  claim 15 , further comprising a second comparator that compares said counter to a second predetermined threshold, wherein when said counter meets said second predetermined threshold a second threshold command is transmitted across said bus indicating that said second predetermined threshold has been reached.  
   
   
       19 . The network device as recited in  claim 15 , wherein said second threshold command indicates that data packets will be dropped.  
   
   
       20 . A network device, comprising: 
 a bus;    a memory interface connected to said bus and to a memory; 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.  
   
   
   
       21 . The network device as recited in  claim 20  wherein said first threshold command indicates that said memory is becoming full.  
   
   
       22 . The network device as recited in  claim 20  further comprising a second comparator that compares said total amount of memory being used to a second predetermined threshold, wherein when said second predetermined threshold is reached a second threshold command is issued indicating that said second predetermined threshold has been reached.  
   
   
       23 . The network device as recited in  claim 22  wherein said second threshold command indicates that data packets will be dropped.

Join the waitlist — get patent alerts

Track US2005073957A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.