Subject: Re: Oooooh... IDE to Q-bus/Unibus adapters.
To: Allison J Parent <allisonp@world.std.com>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: port-vax
Date: 07/07/1999 16:27:22
On Wed, Jul 07, 1999 at 04:16:04PM -0400, Allison J Parent wrote:
> <That's as may be, but IDE _is_ missing a lot of the nice features of
> <SCSI that provide I/O concurrency.  No disconnection, no command queueing
> <(tagged or simple), etc.  And of course there's no good error reporting,
> <and no reliable way to flush the drive's cache when you're ready to turn
> <the power off!
> 
> Not all are needed and not all of the controlers for DEC systems can either.

You certainly do need disconnection if you want to run more than one drive
per bus.  On the other hand if you only want a few drives, it's not that big
a deal; all IDE controllers that can handle UltraDMA provide two buses per
chip anyway.

> <No disconnection and no queueing mean that you spend a lot more time
> <waiting for data to come back from the disks than you do with SCSI --
> <the "no disconnection" bit means that if you try to sidestep that with
> <multiple disks, you have to put each disk on its own *bus*...
> 
> Your talking protocal for the bus VS physical characteristics of the end 
> device.  If I ask for a block from either they will provide it in roughly
> (assuming the caches, seek time and spindle speeds are similar) the
> same amout of time.

That's true for *one block*.

When's the last time you saw a preponderance of single-block I/O requests
on a Unix machine?  Command queueing lets the drive -- which, with a modern
drive, is the only thing that really can -- accept N requests, sort them
into the most efficient order, and respond to you in the order the data
comes in.  If you ask for one block, yeah, it comes back in the same amount
of time.  If you ask for more than one block, that's not so.

And if you have multiple drives on the bus, that's even more true, since
with IDE when you ask one drive for a block, you *can't ask the other drive
anything at all until the first drive has finished* -- essentially halving
your available disk bandwidth.

If you only want to use a small number of drives, I think IDE is a good
choice.  It keeps cost and complexity down.  On the other hand, as a
general-purpose solution it's vastly inferior to SCSI -- you shouldn't
think that all SCSI host adapters are as braindamaged as a 5380 with no
DMA, certainly not if you're comparing them to brand-spanking-new PCI
IDE interface chips.  A more reasonable comparison would be the a 
53c[7,8]00 series SCSI host adapter.