US2007140282A1PendingUtilityA1

Managing on-chip queues in switched fabric networks

Assignee: LAKSHMANAMURTHY SRIDHARPriority: Dec 21, 2005Filed: Dec 21, 2005Published: Jun 21, 2007
Est. expiryDec 21, 2025(expired)· nominal 20-yr term from priority
H04L 49/90H04L 47/6215H04L 47/562H04L 49/9084H04L 47/6255H04L 49/3036
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatus, including computer program products, implementing techniques for monitoring a state of a device of a switched fabric network, the device including on-chip queues to store queue descriptors and a data buffer to store data packets, each queue descriptor having a corresponding data packet; detecting a first trigger condition to transition the device from a first state to a second state; and recovering space in the data buffer in response to the first trigger condition detecting, the recovering comprising selecting one or more of the on-chip queues for discard, and removing the data packets corresponding to queue descriptors in the selected one or more on-chip queues from the data buffer.

Claims

exact text as granted — not AI-modified
1 . A method comprising: 
 monitoring a state of a device of a switched fabric network, the device comprising on-chip queues to store queue descriptors and a data buffer to store data packets, each queue descriptor having a corresponding data packet;    detecting a first trigger condition to transition the device from a first state to a second state; and    recovering space in the data buffer in response to the first trigger condition detecting, the recovering comprising selecting one or more of the on-chip queues for discard, and removing the data packets corresponding to queue descriptors in the selected one or more on-chip queues from the data buffer.    
   
   
       2 . The method of  claim 1 , wherein the monitoring comprises monitoring an amount of data buffer space that is occupied by data packets.  
   
   
       3 . The method of  claim 1 , wherein the monitoring comprises maintaining a counter that identifies a number of on-chip queues that are flow controlled.  
   
   
       4 . The method of  claim 1 , wherein the monitoring comprises identifying, for each on-chip queue, an amount of data buffer space occupied by data packets corresponding to queue descriptors on the on-chip queue.  
   
   
       5 . The method of  claim 1 , wherein the monitoring comprises maintaining a bit vector that indicates a flow control status for each on-chip queue.  
   
   
       6 . The method of  claim 1 , wherein the monitoring comprises maintaining, for each on-chip queue, a time-stamp that indicates an enqueue time associated with the queue descriptor at a head of the on-chip queue.  
   
   
       7 . The method of  claim 1 , wherein the first trigger condition indicates that an amount of data buffer space occupied by data packets exceeds a predetermined threshold.  
   
   
       8 . The method of  claim 1 , wherein the first trigger condition indicates that a number of on-chip queues that are flow controlled exceeds a predetermined threshold.  
   
   
       9 . The method of  claim 1 , wherein the first trigger condition indicates that an amount of data buffer spaced occupied by data packets corresponding to queue descriptors of an on-chip queue exceeds a predetermined threshold.  
   
   
       10 . The method of  claim 1 , wherein the first trigger condition indicates that a number of on-chip queues that are flow controlled exceeds a predetermined threshold.  
   
   
       11 . The method of  claim 1 , wherein the selecting comprises minimizing a number of on-chip queues selected for discard while maximizing an amount of space recovered from the data buffer.  
   
   
       12 . The method of  claim 1 , wherein the selecting comprises determining which flow controlled on-chip queue is associated with data packets that occupy the largest amount of buffer space, and selecting for discard a flow controlled on-chip queue based on the determination.  
   
   
       13 . The method of  claim 1 , wherein the selecting comprises determining which flow controlled on-chip queue has the oldest head queue descriptor, and selecting for discard a flow controlled on-chip queue based on the determination.  
   
   
       14 . The method of  claim 1 , wherein the selecting comprises determine which flow controlled on-chip queue has the newest head queue descriptor, and selecting for discard a flow controlled on-chip queue based on the determination.  
   
   
       15 . The method of  claim 1 , further comprising: 
 repeating the performing until a second trigger condition to transition the device from the second state to the first state is detected.    
   
   
       16 . The method of  claim 15 , wherein the second trigger condition indicates that an amount of data buffer space occupied by data packets is below a predetermined threshold.  
   
   
       17 . The method of  claim 1 , wherein the switched fabric network comprises an Advanced Switching Interconnect (ASI) fabric, the device comprises an ASI endpoint or an ASI switch element, and each on-chip queue comprises an ASI connection queue.  
   
   
       18 . The method of  claim 1 , wherein the device comprises a network processor unit, the network processor unit including an Advanced Switching Interconnect (ASI) interface.  
   
   
       19 . The method of  claim 1 , wherein the device comprises a fabric interface chip that connects to a network processor unit through a first Advanced Switching Interconnect (ASI) interface and connects to an ASI fabric through a second ASI interface.  
   
   
       20 . The method of  claim 1 , wherein the device comprises a network processor unit and an Advanced Switching Interconnect (ASI) interface.  
   
   
       21 . At a switched fabric device comprising on-chip queues and buffer elements each designated as to its availability state, a method comprising: 
 upon detection of a first triggering condition, recovering space in one or more of the buffer elements until a second triggering condition is detected, the recovering comprising selecting one of the on-chip queues for discard, and designating the elements allocated to the selected on-chip queue as being available.    
   
   
       22 . The method of  claim 21 , wherein a buffer element designated as occupied stores a data packet.  
   
   
       23 . A machine-accessible medium comprising content, which, when executed by a machine causes the machine to: 
 detect a first trigger condition to transition a switched fabric device from a first state to a second state, the device comprising on-chip queues to store queue descriptors and a data buffer to store data packets, each queue descriptor having a corresponding data packet; and    recover space in the data buffer in response to the first trigger condition detection, wherein the content, which, when executed by the machine causes the machine to recover space in the data buffer comprises content to select one or more of the on-chip queues for discard, and content to remove the data packets corresponding to queue descriptors in the selected one or more on-chip queues from the data buffer.    
   
   
       24 . The machine-accessible medium of  claim 23 , further comprising content, which, when executed by the machine causes the machine to: 
 recover space in the data buffer until a second trigger condition to transition the device from the second state to the first state is detected.    
   
   
       25 . The machine-accessible medium of  claim 24 , wherein the second trigger condition indicates that an amount of data buffer space occupied by data packets is below a predetermined threshold.  
   
   
       26 . A switched fabric device comprising: 
 a processor;    on-chip queues to store queue descriptors;    a first memory to store data packets corresponding to the queue descriptors;    a second memory including buffer management software to provide instructions to the processor to: 
 detect a first trigger condition to transition the device from a first state to a second state; and  
 in response to the first trigger condition detection, perform a first memory space recovery process that comprises selecting one or more of the on-chip queues for discard, and removing the data packets corresponding to queue descriptors in the selected one or more on-chip queues from the first memory.  
   
   
   
       27 . The switched fabric device of  claim 26 , wherein the first memory comprises a plurality of buffer elements, each buffer element being designated as available or occupied depending on whether a data packet is stored in the buffer element.  
   
   
       28 . The switched fabric device of  claim 27 , wherein the buffer management software further to provide instructions to the processor to designate the buffer elements allocated to the selected one or more on-chip queues as being available.  
   
   
       29 . The switched fabric device of  claim 26 , wherein the switched fabric network comprises an Advanced Switching Interconnect (ASI) fabric, the device comprises an ASI endpoint or an ASI switch element, and each on-chip queue comprises an ASI connection queue.  
   
   
       30 . A system comprising: 
 switched fabric devices interconnected by links of a fabric, at least one of the switched fabric devices including: 
 a source of protocol data units; and  
 a network processor unit comprising: 
 a processor;  
 on-chip queues to store queue descriptors;  
 a first memory to store data packets corresponding to the queue descriptors, each data packet comprising a protocol data unit or a segment of a protocol data unit; and  
 a second memory including buffer management software to provide instructions to the processor to detect a first trigger condition to transition the device from a first state to a second state, and in response to the first trigger condition detection, perform a first memory space recovery process that comprises selecting one or more of the on-chip queues for discard, and removing the data packets corresponding to queue descriptors in the selected one or more on-chip queues from the first memory.  
 
   
   
   
       31 . The system of  claim 30 , wherein the source of protocol data units comprises a line card.  
   
   
       32 . The system of  claim 30 , wherein the fabric comprises an Advanced Switching Interconnect (ASI) fabric, the at least one switched fabric device comprises an ASI endpoint, and each on-chip queue comprises an ASI connection queue.

Join the waitlist — get patent alerts

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

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