SCSI: assembling the pieces. (small computer systems interface) (Hardware Clinic) (Column)
by Mark Minasi
Because of SCSI-2, SCSI has been forced to become downright elegant.
Here are the six steps you should follow in putting together a SCSI system.
1. Choose and install a SCSI host adapter.
2. Choose a SCSI-compatible peripheral (or peripherals).
3. Select a unique SCSI ID for each peripheral that you're about to install.
4. Install the SCSI peripherals, being careful to terminate the SCSI chain properly.
5. Install the SCSI host adapter's device driver.
6. Install device drivers for each peripheral, taking care that the peripheral device drivers are all compatible with the SCSI host adapter's device driver.
The SCSI host adapter is the circuit board that acts as the intermediary between the CPU and all of the devices on the SCSI chain. As the host adapter spends much of its time playing messenger, you'd be wide to choose a swift, well-designed adapter.
The first question to ask is, "Is this adapter supported by a lot of software?" Ask the vendor if drivers for SCO UNIX, Solaris, OS/2 2.1, Windows NT 3.1, DOS, and Windows are currently being shipped. The answer should be "Of course," rather than "Soon." Even if you don't intend to use these operating systems--very few people will need all of them--you want to be sure that the vendor will provide drivers for future releases of DOS and Windows, particularly Windows 4.0, which will not require DOS.
Next, look for the architectural hallmarks associated with speed. You can buy SCSI host adapters that work with an 8-bit ISA bus, a 16-bit ISA bus, a Micro Channel bus in 16- or 32-bit modes, an EISA bus in 32-bit mode, and even a 32-bit VESA local bus. I highly recommend buying EISA-bus PCs these days, as the EISA bus no longer costs a $1,000 premium. If you have an EISA-bus PC, then get an EISA 32-bit SCSI host adapter; you'll see a startling difference in speed resulting in smoothness in animation.
A former colleague of mine, Rob Oreglia, once told me that when he purchased his multimedia system, he took along a copy of National Geographic's Mammals, an educational video that includes some motion scenes. As the program is DOS-based and runs on any VGA monitor, it was a snap to pop it into a test machine and run it. He said that he used it as a benchmark--if he saw any jerkness in the animation, he wouldn't buy the system.
Another feature to look for is bus mastering. You probably know of DMA (Direct Memory Access), whereby a circuit board an get data into RAM very quickly by simply bypassing the CPU. DMA has been around for quite some time, and many peripherals use it. But while DMA allows a peripheral to write data straight to RAM or read data straight from RAM, there is no way to move data directly from peripheral to peripheral. That's the value of bus mastering. Bus mastering is a kind of enhanced DMA, offering the ability not only to transfer data to and from RAM, but also to move data directly from peripheral to peripheral. For example, it would be nice to be able to do a backup from disk to tape in the background, without disturbing the CPU. If both the tape drive and the disk drive are on bus master controllers or--even better--if both are on the same SCSI host adapter, then it's a simple matter to move the data around without the CPU's being involved except in only the most indirect way.
Expect to pay more for higher speeds, as always. Looking at the Adaptec product line as an example, for about $125 (street price) you can buy a 16-bit ISA cared called the Adaptec AHA1522, which does normal DMA. For $250 you can move up to bus mastering with the AHA1542C. Is the 1542C worth twice the price of the 1522? In my experience it is, but if you can't afford a 1542C, then get a 1522, because a DMA-based SCSI is better than no SCSI at all. Besides, once you have a system set up on one SCSI host adapter, then it's relatively simple to change the system over to another host adapter card later. In fact, if your new SCSI host adapter supports the same software standards as your old SCSI host adapter, you won't have to get new drivers for any of the peripherals. You'll need a new driver only for the new host adapter.
Continuing up the price scale, the EISA offering from Adaptec, the AHA1742, will set you back $500. It's worth the money, assuming that you can afford to spend that much on a peripheral adapter board. You'll probably decide to stay with the 1542C for most workstations and put the 1742 on your servers or power workstations. The prices mentioned here include the optional software kit that includes the software for the host adapter and a suite of common SCSI peripheral types.
You may end up not using that software if you have tape drives or scanners--peripherals that not every suite of SCSI support software will control--on your SCSI bus. Consult with the host adapter's vendor before buying.
I'll cover software in a future column, but for the moment, it's worth emphasizing that you should make sure there are drivers for your peripherals. SCSI simplifies and unifies the whole business of peripheral drivers. But there are three different (and incompatible) groups of SCSI software. You'd do well to choose one to follow and stick with it.
The three groups are the Advanced SCSI Peripheral Interface (ASPI), the Common Access Method (CAM), and the Layered Device Driver Architecture (LADDR). Both ASPI and CAM are fairly strong standards, and you can probably choose either one without regret. However, I'd recommend that you stick to ASPI-compatible drivers, because ASPI is the more popular of the two. You must find out whether the host adapter you are considering supports either ASPI or CAM. If you prefer ASPI, confirm that the host adapter will support ASPI before you buy.
SCSI has evolved considered by in the past few years, leading to different generations of SCSI coexisting at the moment in the marketplace. The first generation, dubbed SCSI (or SCSI-1, though generally it isn't identifed by number) was a fairly loose set of electronic standards that failed to mandate simple things like connector types, leaving every vendor to build an interesting, creative, and incompatible incarnation of the SCSI standard.
SCSI-2 was cooked up for the obvious reason: More standardization was needed. Even though SCSI-2 is not a finished standard yet (where finished means "approved by governing bodies, printed up, and available for sale"), there is close enough agreement in the marketplace as to what SCSI-2 will look likt that you can buy a SCSI-2--compatible host adapter today--and that would be a good idea. SCSI-2 has some positive features, including less noise on its bus and a better-defined interface. SCSI-2 also has some options that are worth considering. For example, fast SCSI is a standard that allows a peripheral to transfer data at up to 10MB per second; the standard SCSI interface transfers data at only 5MB per second. This increase in speed is accomplished without any changes in cables. Another kind of SCSI, wide SCSI or differential SCSI, uses different cables and works only with peripherals designed specifically for wide SCSI. Don't buy wide SCSI unless you know that you need it. (SCSI-3 is in the works, by the way, but you needn't worry about it . . . yet.)
If you put together SCSI-2, bus mastering, a 32- or 16-bit data pathway, and good software support, you have a good host adapter. While many good SCSI products have arrived on the market, the ones that I buy are the Adaptec products. They may not be the least expensive, but with Adaptec products you'll have the drivers you need.
Next, consider your options for SCSI peripherals. From the SCSI interface's point of view, your selection is simple: Buy only SCSI-2--compliant peripherals. (It wouldn't hurt if they had the ability, as do many, to support SCSI-1 or SCSI-2 with a flip of a DIP switch.) Make sure that the peripherals you buy can enable or disable SCSI parity, an error-checking system built into SCSI, and that they can optionally provide something called active termination power next month, but I'll tell you now why it's so important. On some kinds of systems, like an Ethernet local area network, termination boils down to a resistor: Terminators provide just enough resistance to tune a circuit's impedance to some goal value.
On the other hand, SCSI parity is an error-checking system, much like the parity used in asynchronous data communications or in memory systems on most PCs. But not every peripheral supports SCSI parity, and this leads to a problem. All of the peripherals on the SCSI chain must support SCSI parity, or none can use it. If you have four SCSI devices that support SCSI parity and one that doesn't, you must disable SCSI parity for all of the other devices. SCSI parity is required for a peripheral to be SCSI-2 compliant.
Many old SCSI-1 devices, including a number of SCSI hard disks, were built to talk to one particular SCSI controller, and this brings up a side point: SCSI has been a standard--or near to a standard--only for the past two or three years. If you try to add an old 40MB SCSI drive from a Tandy computer built in 1988 to an existing SCSI system don't be surprised if you can't convince the drive and the SCSI system to talk to each other.
Next month, we'll continue assembling a SCSI system.
Speak Up!
Do you have a tough hardware problem you'd like Mark to tackle? Let him know about it by calling (900) 285-5239 (sponsored by Pure Entertainment, P.O. Box 186, Hollywood, California 90078). The call will cost 95 cents per minute, you must be 18 or older, and you must use a touch-tone telephone.