Browse Prior Art Database

Multiple ordered streams from a single stream request queue

IP.com Disclosure Number: IPCOM000029461D
Original Publication Date: 2004-Jun-29
Included in the Prior Art Database: 2004-Jun-29
Document File: 2 page(s) / 64K

Publishing Venue

IBM

Abstract

There are many ways in which to empty out a request queue. If a single stream of requests has multiple requestors muxed into it, it may be beneficial to empty it out in an efficient manner for each stream. This is one possibility.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Multiple ordered streams from a single stream request queue

Using multiple ordered streams from a single stream request (MO3SR) queue, request queues can be emptied at a much faster and more efficient pace. Current solutions include executing each command in the order in which it comes in a first-in first-out (FIFO) fashion. Using a FIFO solution, no command can be executed until the previous command has been executed regardless of requestor. This impacts performance and the multiple ordered streams solution gives a boost to that performance. Today the I/O interfaces are getting much faster. PCI 2.2 runs up to 66MHz. PCI-X 2.0 runs at 266MHz and the fabric interconnects are running even faster, in the order of GigaHz. The trend is moving faster and more performance is needed to keep up. The MO3SR solution can help in keeping up with that trend by increasing the number of commands being executed simultaneously. FIFO's have been implemented previously because the commands were delivered in a single ordered stream but using the MO3SR solution would gain much needed performance.

     Multiple ordered streams from a single stream request queue uses a selector and counter to determine which stream each MO3SR state machine executes. For example, if REQa, REQb and REQc are both feeding a single stream interface to an ordered queue, then the MO3SR solution will have three state machines executing commands out of the ordered queue instead of one in the FIFO solution. The commands get executed as though REQa, REQb and REQc each have their own FIFO solved ordered queue. Each command requires a tag and counter. The tag identifies which requestor initiated each command. The counter is part of...