Asynchronous transfer mode based service consolidation switch |
| From the foregoing, a need has arisen for a telecommunications switch that integrates a variety of ... |
|
High-speed data bus for network switching |
| The specification will be organized as follows: 1. BlazePath.TM./BlazeFire.TM. Architecture/Chip S... |
|
Method and apparatus for data buffer management in a communications switch |
| OF A PREFERRED EMBODIMENT OF THE INVENTION Generally, the present invention provides a method and ... |
|
Handling contiguous memory references in a multi-queue system |
| What is claimed is: 1. A controller for a random access memory comprises: control logic, including ... |
|
Communication between processors |
| Referring to FIG. 1, a computer system 26 includes two processors 1, 2. Each processor 1, 2 has a ... |
|
Optimizations to receive packet status from fifo bus |
| According to one aspect of the invention, a method is described of receiving bytes of data from a ... |
|
Storing frame modification information in a bank in memory |
| The present invention comprises a method and system for reserving frame modification information ... |
|
Scratchpad memory |
| According to one aspect, a integrated circuit includes a random-access memory (RAM) storage and a ... |
|
|
Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues
| Details |
Inventors: Harriman, David J.;
Assignee: Intel Corporation (Santa Clara, CA)
Primary Examiner: Sheikh; Ayaz R.
Assistant Examiner: Etienne; Ario
Attorney, Agent or Firm: Draeger; Jeffrey S.
A method and apparatus for queuing commands. An apparatus of the present invention utilizes one or more token queues and a storage block to avoid maintaining multiple separate queues and/or to facilitate reordering of queued elements. The apparatus includes at least one token queue and a token assignment circuit which queues a selected token in a token queue. A storage block stores an element in a slot corresponding to the selected token. One system employing the present invention includes a processor, a bus agent, a memory controller, and a main memory. The memory controller queues tokens representing received commands into appropriate command queues. |
|
DETAILED DESCRIPTION The present invention provides a method and apparatus for maintaining one or more queues of varying types of elements. In the following description, numerous specific details such as command types, command priorities, and queue implementations are set forth in order to provide a more thorough understanding of the present invention. It will be appreciated, however, by one skilled in the art that the invention may be practiced without such specific details. In other instances, control structures and gate level circuits have not been shown in detail in order not to obscure the invention. Those of ordinary skill in the art, with the included functional descriptions, will be able to implement the necessary logic circuits without undue experimentation. As will be further discussed below, the present invention provides a method and apparatus for maintaining multiple queues that may be advantageously applied in a variety of contexts. Through the use of representative tokens, individual queues of different types of elements may be maintained without bearing the hardware penalty associated with queuing the entire element in multiple separate queues. Instead, a storage block may be used to store all commands, with the representative tokens being used to access a selected element. The elements may be commands and/or data or data packets which may have different priorities or types. Additionally, even a single token queue may be used in a case where sorting or rearranging elements is desired. FIG. 1 illustrates one embodiment of the queuing logic of the present invention. A command input circuit 105 is coupled to receive incoming commands for this queuing logic. A command decode and token assignment circuit 110 receives enough command information from the command input circuit 105 to categorize incoming commands into one of a predetetermined number of categories. Commands may be separated into categories by command type, command priority, or some other characteristic. As incoming commands are received, the command decode and token assignment circuit 110 selects an empty slot in a command storage block 135 by consulting a free token queue 115 to locate available slots
|
|