Browse Prior Art Database

Data Transfer Optimization Algorithm

IP.com Disclosure Number: IPCOM000122105D
Original Publication Date: 1991-Nov-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 67K

Publishing Venue

IBM

Related People

Ruzek, GL: AUTHOR [+2]

Abstract

Disclosed is an algorithm for handling SCSI (Small Computer System Interface) I/O requests in a manner which optimizes the data transfer request of an initiator to or from a target device. When discussing data transfers, one is primarily concerned with the the SCSI commands for reading and writing, as they are usually the commands associated with large data transfers.

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

Data Transfer Optimization Algorithm

      Disclosed is an algorithm for handling SCSI (Small
Computer System Interface) I/O requests in a manner which optimizes
the data transfer request of an initiator to or from a target device.
When discussing data transfers, one is primarily concerned with the
the SCSI commands for reading and writing, as they are usually the
commands associated with large data transfers.

      Since the SCSI controller microcode dictates how many bytes
will be moved between devices, the value that the controller picks
affects the performance of a SCSI system. If the byte count picked is
too low, extra bus phases are required to finish the command.  When
the byte count is too high, a phase mismatch will occur which
requires handling by an interrupt handler.  This interrupt handling
also changes the performance of the SCSI system.

      This algorithm is designed to deduce the target device's cache
size for use in certain circumstances to reduce the number of bus
phases required to complete an SCSI read or write command.  First, a
cache limit variable associated with each device is initiated to zero
when the target is opened.  Second, whenever a read or write command
passes through the SCSI controller the microcode examines the number
of bytes requested by the SCSI command.  If the cache limit variable
for the device is zero, the microcode uses the byte request of the
SCSI command. When the device cache limit is non-zero, the smaller of
the two is picked to be the transfer counter used by the SCSI
controller.  The setting o...