Browse Prior Art Database

Enhanced Fixed Disk Performance Through Programmed I/O

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

Publishing Venue

IBM

Related People

Fuller, RL: AUTHOR

Abstract

A method is described which allows a 1:1 interleave to be used with a fixed disk on a PS/2* Model 30 286. An interleave of 2:1 or 3:1 (depending on the file model) is the best that can be achieved with current systems.

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

Enhanced Fixed Disk Performance Through Programmed I/O

       A method is described which allows a 1:1 interleave to be
used with a fixed disk on a PS/2* Model 30 286.  An interleave of 2:1
or 3:1 (depending on the file model) is the best that can be achieved
with current systems.

      The fixed disk BIOS (Basic I/O System) on this system uses DMA
(Direct Memory Access) to transfer data between the system and the
file adapter.  This method is limited by the speed with which the DMA
on that system transfers data.

      Faster data transfer is achieved by using 80286 PIO (programmed
I/O) instructions rather than DMA to transfer the data.  In
particular, the "string I/O instructions" INSB and OUTSB are used.
These are standard instructions which are part of the 80286
instruction set, and they are used here with the REP instruction to
transfer 512 bytes (the size of a disk sector) between system memory
and the fixed disk adapter.

      These instructions are effective for high speed data transfer
because several functions are combined in a REP INSB (or REP OUTSB)
operation:
      -    The I/O port address, the number of bytes to transfer, and
the memory location specifying the start of the block are all
specified prior to executing the REP INSB or REP OUTSB pair.
      -    A count of the remaining number of bytes to transfer is
automatically decremented each time a byte is transferred, and when
the count reaches 0, the operation stops.  This is done by the REP
function which repeats the instruction which follows it a specified
number of times.
      -    For each repetition, the byte of data received from the
I/O port on a read (or sent to the I/O port on a write) is
transferred to (or from) memory, and the memory pointer is
automatically adjusted to point to the next location.

      The system software that determines which data transfer method...