AT SCSI Intelligent Caching Disk Controllers
Cliff C Heyer
cliffhanger at cup.portal.com
Mon Nov 27 08:06:56 AEST 1989
AT SCSI Intelligent Caching Disk Controllers.
Current SCSI "host adaptors" such as WD1007 (not "disk
controllers") are advanced as far as typical PC host
adaptors go, but are not advanced when compared to
"intelligent caching controller" technology. A
incremental amount of intelligence is incorporated while
still maintaining a "PC price". This intelligence,
mainly a benefit to UNIX or OS/2, is as follows:
A) Faster "burst DMA" to keep the bus clear for
multitasking (benefits UNIX, OS/2);
B) 128 Byte buffer to dynamically balance bus rates
(SCSI, AT) for 1:1 interleave (a benefit to DOS
also);
C) "mailbox" system to facilitate multiple tasks making
multiple disk access requests (benefits UNIX,
OS/2);
D) High level SCSI command processing to offload
device-specific commands from the CPU (through use
of WD FAAST SDLP driver software) (a benefit to DOS
also if appropriate driver used).
The following "state of the art" CONTROLLER features
need also be addressed in a SINGLE AT bus host adaptor
product:
(NOTE: that some of this technology may be included in
a SCSI IDE (Integrated Drive Electronics) controller on
the SCSI drive.)
On Host Adaptor or Controller:
A) Cache, 4-16MB.
B) Concurrent Host/Disk transfers. This means cache is
dual-ported so that transfers to memory can happen
at the same time as disk reads/writes.
C) Write-back cache. This means that the CPU need write
to the cache and disconnect, and the controller's
CPU takes care of actually writing the data to disk
instead of forcing DOS to wait until the task is
done.
D) Fully Associative Cache. This means each new byte
read from disk can have any spot in the cache,
rather than only a section of the cache which may
be full and force an undesired flush.
E) Replacement Algorithm. Cache entries are "flushed"
or replaced after they have not been used for some
time, based on an adaptive algorithm rather than
randomly.
F) Seek reordering. This means that that each disk
access is sorted by it's track/cylinder and
position on the track. The disk head need only a
single stroke, and disk need spin only once for all
reads/writes to occur. (elevator/sawtooth
algorithms)
G) Overlapping seeks. This means after a seek is
initiated on one drive, the controller switches to
another drive to initiate a seek. When the seek is
completed on the first drive, the controller
switches back to it and does the read/write. Dumb
controllers sit an wait for seeks to complete.
H) Scatter/Gather. Data transfers (DMA) can occur to
non-contiguous blocks (scatter) and from non-
contiguous blocks (gather).
I) Command Fragmentation and Command Queuing. Commands
are sorted, grouped or combined to maximize
efficiency. (Driver Command Optimization. The
software driver can also perform (J) to maximize
efficiency but this has CPU overhead.)
J) Programmable Look-Ahead read. Beneficial assuming
the disk is not fragmented, meaning that the file
is not stored in contiguous sectors on the disk.
K) Statistical Recording. This means the controller
records the number of reads/writes, cache hits and
misses, and other important information which can
be used to tune the software.
On Controller Only
L) Track Fragmentation (format skewing). Reads can
cross automatically track and head boundaries, when
a cylinder change occurs seeks are initiated on
other drives to make use of that seek period.
M) Defect Management (ECC, flawed sector/track
replacement on the fly, defect skipping)
N) RPS (Rotational Position Sensing), zero-latency
read/write. This means that reads/writes will begin
from closest data to any head on any track; the
controller need not wait until the disk spins to
track 0 to start the read/write.
Unfortunately all the AT bus "intelligent caching
controllers" I've looked at so far (except the Mylex) do
not appear to show SCSI is the primary design effort -
they seem to include SCSI as an afterthought "add on"
board to an ESDI-type controller. This happened because
with ESDI the "disk drive controller" is plugged into
the AT bus, and the manufacturers tacked SCSI onto their
ESDI controller so they would have SCSI compatibility.
It is not yet clear whether the aforementioned
"intelligent" features (even on the Mylex) should be
implemented on the "disk drive controller" rather than
the "SCSI host adaptor" plugged into the AT bus. Clearly
the cache on the host adaptor would give faster
response, but some features can only be implemented on a
controller.
With SCSI, the "disk drive controller" is on the disk
drive and called an "IDE" (Integrated Drive
Electronics). The best overall performance may come from
an IDE that implements the aforementioned intelligent
features. In this setup we would use a WD1007-type "host
adaptor" to extend the SCSI bus to an "intelligent IDE
cache" disk drive. The new Quantum ProDrives implement
some of this technology, but not enough. For the moment,
the only "clean" caching SCSI appears to be the Mylex
board (which requires the AT/32 slot), with PSI's
HyperSTORE 1600 coming in second.
The big questions:
WHY have Adaptec, Western Digital, etc., IGNORED this
market so far by not offering an AT bus "intelligent
cache" product? I guess until 33MHz 386s and 486s
abound, people arn't really going to care enough about
the disk bottleneck to pop $1200 for a controller...
Why have the established minicomputer intelligent
controller makers such as DILOG, Andromeda Systems, and
Emulex not thought to offer a AT bus controller? They
have been making $1200 SMD/ESDI controllers with the
aforementioned features for 5 years for minicomputers.
Since minicomputer sales have been dropping due to PCs
you'd think they'd wake up.
I guess established companies don't innovate, but rather
they let small start-ups test the waters and if things
look good they jump in take things over if possible.
Cliff Heyer (cliffhanger at cup.portal.com)
More information about the Comp.unix.xenix
mailing list