cliffhanger@cup.portal.com (Cliff C Heyer) (11/27/89)
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@cup.portal.com)