Back to results
US 2006/0069854 A1Published application
Method and apparatus providing efficient queue descriptor memory access
OwnerSanjeev Jain, Gilbert Wolrichinventors
Life of this patent
Estimating the term…
Abstract
A system having queue control structures includes a conflict avoidance mechanism to prevent memory bank conflicts for queue descriptor access. In one embodiment, a queue descriptor bank table contains information including in which memory bank each queue descriptor is stored.
Claims20
A method of managing a queue, comprising:
- receiving a request to place data in a queue;
- examining cache memory to determine if a queue descriptor associated with the queue is present in the cache;
- fetching the queue descriptor from a first one of a plurality of memory banks if the queue descriptor was not in the cache;
- and
- evicting a different queue descriptor from the cache and placing the evicted queue descriptor in a second one of the plurality of memory banks that is different from the first one of the memory banks to avoid memory conflicts.
2 more elements
A processor system, comprising:
- a queue manager to receive and transmit data, the queue manager having cache memory;
- a bank controller coupled to the queue manager;
- a plurality of memory banks coupled to the bank controller;
- a queue descriptor bank info module coupled to the bank controller such that the system is enabled to fetch a queue descriptor from a first one of the plurality of memory banks if the queue descriptor was not in the cache, and evict a different queue descriptor from the cache and place the evicted queue descriptor in a second one of the plurality of memory banks that is different from the first one of the memory banks based upon information in the bank info module to avoid memory conflicts.
1 more element
An article, comprising:
- a storage medium having stored thereon instructions that when executed by a machine result in the following:
- receiving a request to place data in a queue;
- examining cache memory to determine if a queue descriptor associated with the queue is present in the cache;
- fetching the queue descriptor from a first one of a plurality of memory banks if the queue descriptor was not in the cache;
- and
- evicting a different queue descriptor from the cache and placing the evicted queue descriptor in a second one of the plurality of memory banks that is different from the first one of the memory banks to avoid memory conflicts.
3 more elements
A network forwarding device, comprising:
- at least one line card to forward data to ports of a switching fabric, the at least one line card including a network processor having
- a queue manager to receive and transmit data, the queue manager having cache memory;
- a bank controller coupled to the queue manager;
- a plurality of memory banks coupled to the bank controller;
- a queue descriptor bank info module coupled to the bank controller such that the system is enabled to fetch a queue descriptor from a first one of the plurality of memory banks if the queue descriptor was not in the cache, and evict a different queue descriptor from the cache and place the evicted queue descriptor in a second one of the plurality of memory banks that is different from the first one of the memory banks based upon information in the bank info module to avoid memory conflicts.
2 more elements
Dependencies are inferred from the claim text.