Browse Prior Art Database

Interrupt Synchronized Descriptor Completion

IP.com Disclosure Number: IPCOM000022018D
Publication Date: 2004-Feb-18
Document File: 2 page(s) / 12K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that reduces bus activity associated with operation completion indications. Benefits include reducing peripheral bus overhead.

This text was extracted from a Microsoft Word document.
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.

Interrupt Synchronized Descriptor Completion

Disclosed is a method that reduces bus activity associated with operation completion indications. Benefits include reducing peripheral bus overhead.

Background

Currently, I/O controllers use scatter-gather descriptors to orchestrate I/O operations. To indicate that the operation is complete, the I/O controller writes a completion status into the descriptor. In the case of a queue pair (e.g. an execution queue and a completion queue), the corresponding completions indications are written to a separate queue, and by reference or index correspond to a given operation from the execution queue.

These completion indication operations are used to inform the device driver that the associated operation is complete, and that resources associated with the command can be freed or used for subsequent operations. Despite the utility of these indications, they often compete for bus access with the operations they manage.

With high-speed devices, the peripheral bus is often a performance limiting resource. Therefore, there is a need to restrict the bus bandwidth that completion indications use, thereby freeing bus cycles for the I/O operations.

General Description

Current device drivers do not search for completed operations in the same order that they are issued. Because of interrupt moderation and the I/O operation rate of a high-speed controller, there are likely to be several more completed operations than pending operations. By searching the operations in the proposed order, fewer descriptors are examined to determine which operations are complete. Figure 1 shows an example where descriptors I, H, G, and F are checked once descriptor F is complete, then the device driver processes descriptors A through F as complete.

The disclosed method optimizes the I/O controller device to reduce completion indication write back operations. Prior art controllers assumed that device drivers checked operation completeness starting with the oldest operation descriptor. With this method, the I/O controller takes advantage of the new device driver model.

The I/O controller uses interrupts to prompt the device driver to begin searching the descriptor queues for completed operations. In this way, the I/O controller can forgo completion write back operations until just prior to issuing an interrupt; only the descriptor for the most recently completed operation needs to...