US2006059316A1PendingUtilityA1

Method and apparatus for managing write back cache

49
Assignee: CAVIUM NETWORKSPriority: Sep 10, 2004Filed: Jan 5, 2005Published: Mar 16, 2006
Est. expirySep 10, 2024(expired)· nominal 20-yr term from priority
G06F 9/30014G06F 12/0891G06F 9/3824G06F 9/30138G06F 9/30043G06F 13/24G06F 12/0815G06F 12/0835G06F 2212/6022G06F 9/383G06F 12/0875G06F 2212/6012G06F 12/0813G06F 11/3632G06F 12/084G06F 12/0804
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A network services processor includes an input/output bridge that avoids unnecessary updates to memory when cache blocks storing processed packet data are no longer required. The input/output bridge monitors requests to free buffers in memory received from cores and 10 units in the network services processor. Instead of writing the cache block back to the buffer in memory that will be freed, the input/output bridge issues don't write back commands to a cache controller to clear the dirty bit for the selected cache block, thus avoiding wasteful write-backs from cache to memory. After the dirty bit is cleared, the buffer in memory is freed, that is, made available for allocation to store data for another packet.

Claims

exact text as granted — not AI-modified
1 . A network services processor comprising: 
 a plurality of processors;    a coherent shared memory including a cache and a memory, the coherent shared memory shared by the plurality of processors; and    an input/output bridge coupled to the plurality of processors and the cache, the input/output bridge monitoring requests to free a buffer in memory to avoid writing a modified cache block in the cache back to the buffer.    
     
     
         2 . The network services processor of  claim 1 , wherein upon detecting a request to free the buffer, the input/output bridge issues a command to clear a dirty bit associated with the cache block.  
     
     
         3 . The network services processor of  claim 2  further comprising: 
 a cache controller coupled to the plurality of processors, the cache and the input/output bridge, the cache controller storing the dirty bit associated with the block and clearing the dirty bit upon receiving the command from the input/output bridge.    
     
     
         4 . The network services processor of  claim 3  wherein the input/output bridge further comprises: 
 a don't write back queue which stores commands to be issued to the cache controller.    
     
     
         5 . The network services processor of  claim 4  wherein the input/output bridge further comprises: 
 a free queue that stores requests to free blocks to be added to a free pool.    
     
     
         6 . The network services processor of  claim 5  further comprising: 
 a plurality of processing units coupled to the input/output bridge, the input/output bridge storing packets to be transferred between processing units and the coherent shared memory in which packets are stored for processing by the processors.    
     
     
         7 . The network services processor of  claim 1 , further comprising: 
 a memory allocator which provides free lists of buffers in memory for storing received packets.    
     
     
         8 . The network services processor of  claim 1 , wherein the coherent shared memory is coupled to the processors and input/output bridge by a coherent memory bus that includes a commit bus, a store bus, a fill bus and an add bus.  
     
     
         9 . A method for increasing memory bandwidth comprising: 
 sharing a coherent shared memory among a plurality of processors, the coherent shared memory including a cache and a memory; and    monitoring requests to free a buffer in memory to avoid writing a modified cache block in the cache back to the buffer.    
     
     
         10 . The method of  claim 9  further comprising: 
 upon detecting a request to free the buffer, issuing a command to clear a dirty bit associated with the cache block.    
     
     
         11 . The method of  claim 10  further comprising: 
 storing commands to be issued to the cache controller in a don't write back queue.    
     
     
         12 . The method of  claim 10  further comprising: 
 storing requests to free blocks to be added to a free pool in a free queue.    
     
     
         13 . The method of  claim 10  further comprising: 
 storing packets to be transferred between a plurality of processing units and the coherent shared memory in which packets are stored for processing by the processors.    
     
     
         14 . The method of  claim 9 , further comprising: 
 providing a list of free buffers in memory for storing received packets.    
     
     
         15 . The method of  claim 9 , wherein the coherent shared memory is coupled to the processors and input/output bridge by a coherent memory bus that includes a commit bus, a store bus, a fill bus and an add bus.  
     
     
         16 . A network services processor comprising: 
 means for sharing, by a plurality of processors a coherent shared memory, the coherent shared memory including a cache and a memory; and    means for monitoring requests to free a buffer in memory to avoid writing a modified cache block in the cache back to the buffer.    
     
     
         17 . A system for managing a write back cache comprising: 
 a memory; and    logic which issues a don't write back command in response to a request to free a buffer in the memory, the don't write back command issued to clear a dirty bit in a cache block associated with the buffer to avoid writing the modified cache block back to the buffer.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.