scsi rll trade off questions?

Tatu Yl|nen ylo at sauna.HUT.FI
Mon Jul 10 04:52:30 AEST 1989


In article <14978 at ut-emx.UUCP> allred at ut-emx.UUCP (Kevin L. Allred) writes:
   I'm putting together a low end workstation for my personal use at home.
   It will have a 386SX, 4MB memory and monochrome VGA graphics.
   Initially I plan to just run MSDOS, but soon I would like to run UNIX.
   I currently am considering hard drives in the range of 65 to 80 MB.  I
   was only considering an RLL drive with 1:1 interleve controller until
   I had pointed out to me that Segate has recently started marketing a
   low cost SCSI addaptor (ST01 and ST02) suitable for use with its
   ST296N 80MB hard disk.  This combination reportedly offeres about 750
   KB/sec transfer rate, which is comparable to the 1:1 interleve RLL
   transfer rate, and it is more cost effective.  Apparently the SCSI
   addaptor works fine under DOS, but I have already had related to me
   that it probably won't work with UNIX because of lack of drivers (I
   heard that was a problem common to most SCSI boards even the expensive
   intelligent ones like the WD7000).  Are the various UNIX vendors
   developing drivers, so that I don't need to worry about this, or
   should I stick with the RLL controller and disks?

I have used a Priam 738 SCSI disk (337 MB, 20ms) with the Seagate
ST-01 controller for about one and a half years now.  For the first
half an year I used it under msdos in a slow 16-MHz 386 machine.
Coretest and others reported transfer rates in the range of 750 KB/sec.
(Check that you have the 0WS jumper installed - without it I only got
something like 500 KB/sec).

About an year ago I purchased Microport Unix System V/386, and wrote
a device driver for the controller and the disk.  I posted the driver
here about two weeks ago.  The driver has been in use on my system and
a couple of other systems for over an year.  The driver has proved to be
very reliable (some problems were reported with Seagate ST227N when
using 1KB sectors, but those disappeared by formatting the drive to
use 512 byte sectors).  The driver supports multiple drives and partitions.
My disk is partitioned in three partitions: 10 MB /tmp, 20 MB /u2 and
307 MB /u.  (BTW, I have never had any problems with large partitions.
Some people have reported problems in the news.)

I cannot give exact transfer rates under unix.  With my original driver
I only got something like 160 KB/sec while reading a large (10-20 MB)
file with dd -bs 64k.  That with an interleave of 9 and 1 KB sectors (sic!).
I have since optimized the data transfer routines by writing them
in assembly language.  This should probably allow interleaves in the
range 1-3.  I have not yet been able to test any other interleaves, as I have
not wanted to reformat the entire disk (it takes quite a while to copy
300 megabytes to floppies and back...)  Note that when formatting the disk,
it can be helpful to explicitly specify that mkfs does no interleaving
on the file system level as that is already handled by the drive.

As a reference, measured the same way my 40ms 42MB MFM drive gives 
40 kB/sec (sic!).  I was not able to improve it from that.
The scsi disk was actually so much faster that I copied /bin and /usr/bin
to the scsi disk (/u/bin & /u/usr/bin) and put those in PATH before
/bin and /usr/bin.  The difference is very significant.

The biggest problem with the driver is that during heavy disk activity
the serial lines lose incoming characters.  But then I hear this is a
general problem with Microport...

BTW, my driver cannot be used to boot from the scsi disk.  I use the
42 MB disk that came with the system for booting and swap (luckily I have
10 MB of ram, so the machine hardly ever swaps).


    Tatu Ylonen      ylo at sauna.hut.fi



More information about the Comp.unix.microport mailing list