Browse Prior Art Database

Method of Using Scatter/Gather Indirect List in Micro Channel Computer Systems

IP.com Disclosure Number: IPCOM000120078D
Original Publication Date: 1991-Mar-01
Included in the Prior Art Database: 2005-Apr-02
Document File: 5 page(s) / 204K

Publishing Venue

IBM

Related People

Bonevento, FM: AUTHOR [+4]

Abstract

Described is a method of utilizing Scatter/Gather indirect list (IL) techniques in MICRO CHANNEL* computer systems to enable a device to scatter or gather data to or from non-contiguous storage locations. The method uses a descriptor list that contains pairs of data transfer addresses and counts.

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

Method of Using Scatter/Gather Indirect List in Micro Channel Computer
Systems

      Described is a method of utilizing Scatter/Gather
indirect list (IL) techniques in MICRO CHANNEL* computer systems to
enable a device to scatter or gather data to or from non-contiguous
storage locations.  The method uses a descriptor list that contains
pairs of data transfer addresses and counts.

      The implementation of a descriptor list allows a single
subsystem control block (SCB) command to scatter (Write) the data or
gather (Read) data from non-contiguous data areas (buffers) in
memory.  The maximum amount of elements, pairs of addresses and
counts, is limited only by implementation. The use of IL techniques
is useful for software systems which are running user programs in a
protected paging mode. In this case, a user request to read or write
from a contiguous area of virtual space may require the input/output
(I/O) to a set of non-contiguous real memory pages.  Also, the
indirect buffer list would describe the physical pages which map the
contiguous virtual area.  The start of such an area might fall on an
arbitrary byte boundary.

      The architecture does not require that a device write the
elements of an IL as a single physical block.  However, if the device
is capable of being written and later read, the architecture does
require that the same IL used on the Write be capable of retrieving
the same data blocks on the Read.  Fig. 1 shows a general format of
the scatter/gather list with Fig. 1a, the SCB direct case, and Fig.
1b, the SCB indirect case.

      The SCB command is delivered to the subsystem or device using
the SCB command delivery protocol.  Once the command is accepted, the
subsystem or device fetches the control block from memory and decodes
the command.  If the command is decoded as an IL command, the
following will occur:
      -    The Storage Address is used as a pointer to the IL list
and the Byte Count field is used to determine the length of the list.
      -    The data transfer begins using Buffer 1 address and Buffer
1 length.
      -    When the Byte count Buffer 1 length is exhausted, the
subsystem then uses Buffer 2 address and Buffer 2 length.
      -    When the byte count of Buffer 2 length is exhausted, the
subsystem then uses the next Buffer address and the next Buffer
length.
      -    The data transfers continue until all the elements in the
IL are used or an exception condition arises.

      Bytes are transmitted using buffer descriptions.  When a read
operation is in progress, bytes are moved from the device to the
storage area located by the buffer description using ascending
storage addresses.  A buffer description is a term used to denote the
starting of the main processor storage address and length in bytes of
an area to be used as the target of a read operation.  If no IL
is used, then the starting address of the buffer area will b...