Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 May 1997 16:38:12 -0500
From:      Bob Willcox <bob@luke.pmr.com>
To:        Joshua Fielden <shag@concentric.net>
Cc:        Stephen McKay <syssgm@dtir.qld.gov.au>, freebsd-chat@FreeBSD.ORG
Subject:   Re: IDE or Ultra SCSI
Message-ID:  <19970530163812.44978@luke.pmr.com>
In-Reply-To: <338F2F83.55301D85@concentric.net>; from Joshua Fielden on Fri, May 30, 1997 at 01:50:27PM -0600
References:  <199705300343.XAA01738@federation.addy.com> <19970530092929.CP11088@uriah.heep.sax.de> <199705301207.WAA15894@ogre.dtir.qld.gov.au> <338F2F83.55301D85@concentric.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, May 30, 1997 at 01:50:27PM -0600, Joshua Fielden wrote:
> 
> SCSI can still only access two devices at any given time, one initiator
> <usually, but not always the host adapter> and one target. SCSI II
> allows for "disconnect" which means a drive can aquire a queue of
> commands, remove itself from the bus, and reattatch when finished
> processing those commands, but it obviously is no help for read/write
> operations. :-) It does speed things up, but not quite to the extent I
> believe you are thinking of.

This is not exactly true.  All modern drives (all drives that I
have worked with -- I pretty much do SCSI device drivers for a
living) will acquire the SCSI command (be it a read, write, inquiry,
etc.) and then immetiately disconnect from the bus while they
prepare to process it (even if not command tag queuing).  For reads
they won't reconnect to the SCSI bus till they have data ready to
transfer (i.e., they have seeked to the proper spot on the disk
and read the data into their cache).  For writes they will reconnect,
transfer the data to their cache then disconnect while the write
is actually done (from the cache to the disk), reconnecting once
again at command completion to transfer status.  Given this, it is
quite easy to get many drives "running" at once, with them all
sharing the bus as necessary to transfer their data.

As I understand IDE, the controller will remain busy from the time
the command is initiated till it completes.  This effectively
prevents any overlap of commands on a single IDE controller.

-- 
Bob Willcox	       Anyone who is capable of getting themselves made
bob@luke.pmr.com       President should on no account be allowed to do the job.
Austin, TX              -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970530163812.44978>