Current Articles
Aug31

Written by:D. Glen Cardenas
Thursday, August 31, 2000 6:00 PM 

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 nevertheless become the de facto 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 now the norm among SCSI systems, 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.
SCSI Implementation
Bus Width (bits)
Burst Speed (MB/sec)
SCSI-1
8
5
Fast SCSI
8
10
Fast Wide SCSI
16
20
Ultra SCSI
8
20
Wide Ultra SCSI
16
40
Ultra 2 SCSI LVD
8
40
Wide Ultra 2 SCSI LVD
16
80
Wide Ultra 3 SCSI LVD
16
160

Something to keep in mind before you run right out and snag an LVD drive: in the past, you could not mix normal SCSI and LVD SCSI drives on the same bus. You needed a host adapter that specifically supported LVD and unless you were ready to accept 2 SCSI adapters in your DAW or upgrade to an adapter that had both a normal and a LVD connector, you either had to dump all of your current SCSI devices and replace them with LVD devices, or close your jaw and not worry about that side of the cutting edge.

However, many modern SCSI LVD drives can be switched to run on a single-ended bus and some even auto-switch from single to LVD depending on how they sense the bus they're connected to. Before you buy, be sure of what you're getting. Many "super fast" SCSI drives are LVD and may not be switchable. Mixing the two bus formats can result in a lot of smoke and no SCSI!

Setting Up SCSI

There's really no point in installing a SCSI host adapter that is not:

1) A PCI card. Trying to get DAW performance from an ISA SCSI card is like trying to pull an elephant through a toilet seat. Don't bother!

2) Configured for bus mastering. Although it is possible to still buy a PIO-only SCSI adapter, and at not exactly a modest price either, don't even think about it. If you're going to be spending the extra money to go SCSI, do it right.

3) Ultra SCSI. There is no point in going all the way to the ocean with your bathing suit on and not jumping into the water. If you want to implement SCSI on your system, do so with an eye to the future. Besides, the entry level for an Ultra SCSI host adapter is no more than $80 or so with Ultra 2 Wide running about $180. Take a look at the price comparison charts on the COMPARING DRIVES page.

Perhaps if you are thinking of building a DAW from the ground up, the wise choice for implementing SCSI is to do it at the motherboard level. Several good motherboards support SCSI right on the board much the same way motherboards support IDE. Just plug your SCSI controller cable into the SCSI port on the motherboard and then run the other end to your drive(s).

Don't forget to terminate the cable at your last SCSI device. All signals on the bus must be terminated with resistors at the bus ends to avoid electrical reflections. This is achieved either by a switch on the device (not always present) or by placing an external terminator block on the connector of the first and last devices on the bus. Often, the first device will be the host adapter itself.

Installing the SCSI drivers is best left up to Windows, which will see the SCSI controller and set up the drivers for you through Plug And Play. SCSI adapters are either PIO, DMA, or bus mastering, and the user can't choose the mode. If you have a bus mastering SCSI adapter, the driver only works in bus mastering mode. SCSI configuration is somewhat more complex, as there are many configurable options such as disconnect strategy, SCAM, LUN, BIOS emulation, etc. All of this should be explained in the adapter installation guide.

It should be noted that some users have reported problems using some host adapters with some motherboards and chip sets. MVP3 and Aladdin V chipsets have fallen into question, although there seems to be no problem using a motherboard with the workhorse Intel BX chip set. There have also been comments made about some AGP cards being so power hungry that on some motherboards they rob the PCI bus of the needed juice to reliably run high-end host adapters. Not-so-high-end adapters may not complain about the chip set or video card's appetite.

Tags:

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment  Cancel 
by Date
Ads
by Author