Page 3
(Part 2)
SCSI vs. IDE Bus Mastering for DAWs, Part 2
by D. Glen Cardenas and Jose M. Catena
Cont. from Page 2; Back to TOC

 

About SCSI

The SCSI interface is an old timer. Before there was IDE, there was SCSI. It was used not only for disk drives, but scanners, printers and even to interface the PC with synthesizers and automated sound and light boards. For a long time, SCSI was the only really high performance disk interface, and in early versions, high performance was a whopping 5 MBytes/sec. WOW! Remember, that was in the time before the PC based DAW, before Windows and before a person could buy a PC with more than 1 meg or RAM. Here's a quick rundown on SCSI.

The History of SCSI
In 1980, SCSI amounted to a proposed interface whose specifications occupied little more than 20 pages. Compare that with the more than 600 pages used to describe the interface standard today. In 1985, a group of manufacturers got together and started pressing for ANSI to define SCSI. This came to pass in 1986 with the publishing of the first SCSI standard, now referred to as SCSI-1. This new interface standard consisted of a controller card, often called a host adapter, that interfaced the PC to a bus capable of driving up to 7 devices with a combined throughput of 5 Mbytes/sec.

Not far behind SCSI-1 came SCSI-2. This new standard removed some of the instructions from SCSI-1 and replaced them with an enhanced set of instructions as well as many low level enhancements. At this point, the concept of the "Wide" SCSI bus was introduced allowing for 16 and 32 bit data paths between the host adapter and the expanded array of now up to 15 devices. Along with the wide bus, the "Fast" SCSI allowed for bus speeds of up to 20 MBytes/sec using the 32 bit bus. The addition of active termination made for better data integrity. The SCSI-2 standard was rounded off by the addition of Command Queuing. This feature allows up to 256 separate commands to be stored in the controller. The host adapter can then send several requests to the same device before it processes the first one. Command queuing is defined in SCSI at the device level. That is, each device will support command queuing only as far as the designers want to take it for that device and the maximum number of queued commands is optional for each device in the bus (4 is a very common number). At a different level, the host adapter can queue commands to be sent later when the device can accept new ones (also optional). In both levels of command queuing, one thing that advanced devices or controllers can do is "out of order" processing of queued commands, optimizing overall times by reducing head movements.

Ultra SCSI, although not a new standard, has never the less become the defacto state of the current art. Ultra SCSI is seen as a stepping stone between the current generation of parallel bus devices and the new proposed SCSI-3 standard designed to, among other thing, introduce a high speed serial SCSI protocol such as the Fibre Channel. In fact, SCSI-3 amounts to a sum of separate standards as defined by different interested parties. As a result, the direction of SCSI seems to be the breaking up of the standard into smaller packets designed to address various individual projects while keeping the efforts coordinated under the general umbrella of SCSI. It is intended that this aspect of SCSI-3 will accelerate the development of future SCSI implementations. Another place SCSI-3 is hoping to go is the removal of the current 15 device limit imposed on wide SCSI. The plan is to offer a "2 phase" addressing system that sends the higher order selection bits in the first phase and then the final selection bits in a second addressing phase. As a result, up to 255 devices on a narrow SCSI bus or 1023 on a wide bus could be accessed.

The SCSI Standard
Because Ultra 2 SCSI is the current state of the art, we will focus on its implementation for the balance of this discussion. Ultra 2 SCSI currently allows transfer speeds of up to 80 MBytes/sec over a 16 bit bus with 160 Mbytes/sec becoming popular on high-end systems. The new higher speeds available in Ultra SCSI are due, in large part, to improvements in the processing speeds of the controller's chips. Ultra SCSI calls for a doubling of internal clock speeds for the controller electronics and thus the data transfer cycle times are now much shorter. Add this to the quicker execution of SCSI commands and the throughput has become impressive, even for multiple drive server implementations.

That's not even the best part. The best part is that in order to take advantage of these higher burst transfer rates, there need be no change in the operating system or the SCSI drivers that command the controller. From a system point of view, the enhanced throughput is free! In fact, there is little change needed in either hardware or firmware of the peripherals themselves to become Ultra 2 SCSI compliant. How this will pan out as SCSI reaches for the 160 Mbytes/sec grail is uncertain, almost surely requiring some sort of major change in the hardware. Still, the impact on the system designer is promised to be minimal.

There is a price to be paid for these higher data transfer speeds. That price is data integrity. In order to prevent the higher data speeds from being consumed by transfer retries, the SCSI cable must be kept to a length limit of 1.5 meters. This doesn't offer any real obstacle in the average PC implementation, including DAW implementations. The place where this really starts to hurt is in large server arrays, RAID arrays and video-on-demand systems. Under these conditions, it isn't convenient to cram 15 drives into a single tower. The use of outboard drive bays can often tax the cable length specification to the point of non-compliance. In order to address this issue, a type of SCSI bus called "Low Voltage Differential" or LVD has been introduced. A differential bus provides a second set of data lines being driven with the opposite electrical polarity as the original lines. If a "one" bit is represented by +5 volts in the standard data line, that same "one" bit is echoed on the supplemental data line as -5 volts. Thus, there is a higher overall voltage swing to represent the data, there is redundancy in the transmission paths and any outside noise that might enter the lines will be canceled out at the receiving end. The result is a boost in cable lengths to 25 meters. Another feature being offered by the new generation of Adaptec Ultra160 LVD host adapters is both CRC (Cyclic Redundancy Checking) and Domain Validation which scans the system for proper configuration. These adapters limit cable length to 12 meters.


Go to Page 4 (Part 2); Back to TOC