AT SCSI Intelligent Cache Controllers

Cliff C Heyer cliffhanger at cup.portal.com
Mon Nov 27 07:22:29 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.

Please post,
Cliff Heyer (Cliffhanger at cup.portal.com)



More information about the Comp.unix.i386 mailing list