scsi rll trade off questions?

A. Lester Buck buck at siswat.UUCP
Thu Jul 13 11:06:05 AEST 1989


In article <2966 at cadre.dsl.PITTSBURGH.EDU>, km at cadre.dsl.PITTSBURGH.EDU (Ken Mitchum) writes:
> >Item 5 in the list above is the current biggest concern to me.  If the
> >ST0x is not a DMA device what happens when I try to run software like
> >zmodem downloads that want to do serial and disk I/O simultaneously?
> 
> The ST01 does support interrupts, so there is no need for the processor
> to "wait" for a transfer to take place. DMA was probably left off the
> card 1) to save money and 2) because there is no effective way in a DOS
> environment to take advantage of it.
> 
>  Ken Mitchum
>  km at cadre.dsl.pitt.edu

The ST01 supports an interrupt on exactly one condition, the assertion of
the SCSI SEL signal.  For the ST01 this means it is being reselected to
continue a transfer that the target (e.g., disk) previously suspended.  [It
also might mean that the ST01 is being selected as a target by another
initiator, but the VLSI protocol chip on the ST01 does not support the
inverse REQ/ACK sequence required for this mode.]  But during a transfer,
the ST01 definitely has a problem.  It is designed to allow a REP MOVSB
string move between the data buffer and the SCSI data port, for an efficient
CPU transfer at full bus bandwidth.  Unfortunately, the target runs
everything in the transfer, and can change the SCSI bus phase from data
in/out to anything, including bus free, whenever it likes.  It will do this
for unusual events like parity errors, or extremely common events like
variable length tape records when the actual length is less than the
requested length.  Unless you are SURE that the bus phase will never change
during the REP MOVSB (say, a block device with no errors), and thereby read
some SCSI message and status bytes into a user buffer (or worse, time out
and wake up in the bus free phase!), you need to monitor for bus phase
changes before every byte, which severely limits the tranfser rate.  The
ST01 disk driver for Microport recently posted calls these the "fast" and
"slow" modes, and it seems the "fast" mode is reasonably reliable for disks.
The ST01 also violates the SCSI standard in a minor way that again will
probably not ever show up in normal use.

Basically, the ST01 is a terrifically cost effective SCSI host adapter for
cheaper implementations.  But you would be crazy to spend thousands on a
fast, synchronous SCSI disk and hook it to a $50 asynchronous ST01 when only
$250 more will get you an Adaptec 1542A with synchronous transfers and first
party DMA.


-- 
A. Lester Buck		...!texbell!moray!siswat!buck



More information about the Comp.unix.wizards mailing list