Browse Prior Art Database

Dynamic Reformatting And Merging of Data Streams

IP.com Disclosure Number: IPCOM000099762D
Original Publication Date: 1990-Feb-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 7 page(s) / 226K

Publishing Venue

IBM

Related People

Christianson, MD: AUTHOR [+5]

Abstract

Device attachment (DA) hardware dynamically merges or separates two data streams as data are transferred to or from an I/O device including interconnected, multiple-buffer addressing hardware necessary for that function.

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

Dynamic Reformatting And Merging of Data Streams

       Device attachment (DA) hardware dynamically merges or
separates two data streams as data are transferred to or from an I/O
device including interconnected, multiple-buffer addressing hardware
necessary for that function.

      The DA hardware accomplishes dynamic reformatting and merging
of data streams by use of separate header and data address and byte
count registers, transfer mode register, and associated logic.

      A small computer system interface (SCSI) data buffer is
subdivided into seven partitions providing a unique header, data,
pointer, status, message, and command area for each device attached
to the SCSI.  This is illustrated in Fig. 1. This structure allows
seven simultaneous logical threads to be active on the SCSI at a
given time.  A logical thread is established when a read, write, or
similar command is transferred to an attached device.  Only one
logical thread is connected to the DMA channel at any one time. The
above assignment of partition addresses for the header, data, status,
and command area is only an example and is not fixed by the hardware.
 The actual assignment is controlled by the values specified in the
pointer buffer.  The pointer area for each device is fixed by the
hardware.

      A 512-byte header buffer is provided for each logical device.
This allows a maximum of 64 headers to be stored for each device,
limiting the maximum transfer length to 32K bytes.  During a write
operation, an operating system transfers the data headers to a
direct- access storage device (DASD) subsystem as a separate block in
advance of actual data.  The SCSI control logic merges the headers
with the data as they are transferred to the DASD.

      The SCSI control logic separates the headers from the data as
they are transferred from the DASD during read operations.  The DASD
subsystem transfers the data headers to the operating system as a
separate block after the actual data are transferred.  The header
buffer areas are aligned on 1K-byte boundaries.

      A 2K-byte data buffer is provided for each logical device to
facilitate the transfer of the data records.  When connected to the
DMA channel, each acts as a first-in, first-out wrap-around data
buffer.  The data buffer areas are aligned on 2K-byte boundaries.

      A 512-byte device buffer is reserved for each logical device.
As illustrated in Fig. 2, 26 bytes are allocated for pointers, 1 byte
for device status, 1 byte for device message, and 12 bytes for
command block.  An overview of each buffer is provided below.

      POINTER BUFFER--This area is reserved for the device pointers.
Each pointer buffer contains the following information:
        OFFSET
        000000 Command Address
        000002 Command Length
        000004 Mag Media Data Address
        000006 Mag Media Data Byte Count
        000008 SCSI Data Address
 ...