Browse Prior Art Database

Scatter/Gather Optimization of Queued Operations

IP.com Disclosure Number: IPCOM000108585D
Original Publication Date: 1992-Jun-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 1 page(s) / 51K

Publishing Venue

IBM

Related People

Sotomayor Jr, GG: AUTHOR

Abstract

This article describes a technique which allows a device driver to internally perform a scatter/gather function and gain many of the benefits without having to have the operating system (OS) create a new interface.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 62% of the total text.

Scatter/Gather Optimization of Queued Operations

       This article describes a technique which allows a device
driver to internally perform a scatter/gather function and gain many
of the benefits without having to have the operating system (OS)
create a new interface.

      In OSs that provide virtual memory in the form of pages, the
view of memory from an application is always contiguous, but,
physically, the pages may be scattered through the physical memory
map.  Some adapters for personal computer systems provide the ability
to not only give the adapter the address of memory to be
read/written, but a list of addresses can also be provided.  This
list is referred to as a scatter/ gather list because the adapter
gathers pages on a write (read from memory, write to the adapter) or
scatters pages on a read (read from the adapter, write to memory).

      By using a scatter/gather list, substantial performance gains
can be achieved because only one command has to be issued for the
list rather than one command for each element in the list.  Few of
the existing OSs have the capability for using this potential
provided for by these adapters.  In order for the OS to take
advantage of this feature, it must devise a new interface for this
function.

      However, there is a way that scatter/gather may be taken
advantage of without the OS's direct involvement. Typically, the
device driver maintains a queue of requests from the OS that are
waiting service fo...