Browse Prior Art Database

More Efficient Isochronous Data Transfer for Multi-Media Device Support

IP.com Disclosure Number: IPCOM000105738D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 4 page(s) / 102K

Publishing Venue

IBM

Related People

Gregg, LE: AUTHOR [+2]

Abstract

A method of more efficiently handling isochronous data transfer to an AS/400* is described. This method eliminates some of the overhead associated with the normal I/O data transfer.

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

More Efficient Isochronous Data Transfer for Multi-Media Device Support

      A method of more efficiently handling isochronous data transfer
to an AS/400* is described.  This method eliminates some of the
overhead associated with the normal I/O data transfer.

      In the AS/400, to transfer data from main memory to an I/O
processor, several steps are required.  First, the data buffer in the
main virtual memory must be "pinned", that is, made resident and not
eligible for paging.  Next, the I/O request must be sent across the
bus to the I/O device.  At some later time, the data is transferred
to main memory.  Then a response is sent across the bus from the I/O
device which indicates that the data transfer request has completed.
And finally, the data buffer can be "unpinned" or made eligible for
paging again.

      With isochronous data transfer requirements, it is necessary to
use a buffer in main memory larger than the size which might
otherwise be required.  The extra buffer space is required to
compensate for variations in the actual data transfer rate to or from
the device.  The buffer pinning, command transfer, response transfer,
and buffer unpinning are all required operations which unfortunately
detract from overall data transfer performance.   To minimize this
overhead and stabilize the data transfer rate, the following actions
are taken.

      The isochronous data transfer will receive special handling in
both the host and IOP.  First, before beginning the isochronous data
transfer, a command is sent to the IOP (I/O Processor) identifying
the next data transfer as isochronous.  This initiates the special
handling by the IOP;  then, in the AS/400, the main memory buffer
area is pinned as in any "normal" I/O request.  And next, the data
transfer request is sent to the IOP.

      Now, for this special constant-rate data transfer, the overhead
of pinning, sending requests, getting responses, and unpinning is
simply eliminated.  Both the host and IOP essentially go to
"time-based" data handling.

      In this mode, there is an implicit assumption that one data
transfer is completed at each specified time interval.  To verify
that the data has indeed been transferred, the data buffer has one
"extra" data area associated with it.  This area is 32 bits initially
set to zero.  Before each data transfer across the bus, this count
area is incremented.  When the data receiver begins processing the
data, the count ca...