SCSI is an entirely different interface than the more popular IDE. It is more of a system level interface, meaning that it does not only deal with disk drives. It is not a controller, like IDE, but a separate bus that is hooked to the system bus via a host adapter. A single SCSI bus can hold up to eight units, each with a different SCSI ID, ranging from 0 to 7. The host adapter takes up one ID, leaving 7 ID’s for other hardware. SCSI hardware typically consists of hard drives, tape drives, CD-ROMs and scanners.
SCSI’s popularity is increasing. Speed seems to be the main reason for this, although it will be show further down that this really isn’t anything to get excited about. One advantage is that there are a multitude of hardware types that can use a SCSI bus. The interface is very expandable, whereas IDE is pretty much limited to hard drives and CD-ROMs.
The reason for the slow taking of SCSI is the lack of standard. Each company seems to have its own idea of how SCSI should work. While the connections themselves have been standardized, the actual driver specs used for communication have not been. The end result is that each piece of SCSI hardware has its own host adapter, and the software drivers for the device cannot work with an adapter made by someone else. So, due to the lack of an adapter standard, a standardized software interface, and a standard BIOS for hard drives attached to the SCSI adapter, SCSI is pretty much a mess for the end-user.
SCSI has come a long way. In the beginning, one couldn’t even use a hard drive on the bus. This was mainly because the BIOS in those systems were designed to use the ST506/412 controller. With the IDE, the BIOS was easily changed because of the similarity to ST506/412 on the WD1003 controller. At the register level, though, SCSI was very different, and would have required an entirely new set of BIOS in the PC.
When this feature first started, though, hard drives could only be used with DOS. Later, Adaptec and Future Domain designed adapters that could be used with non-DOS OSes.
Many high-end systems have built-in SCSI support. There is usually an adapter card or an adapter built in to the motherboard. This native support for SCSI was set in motion by IBM. Their example was followed by many manufacturers. As a result, SCSI integration is becoming very easy to work with and will get easier as technology progresses.
SCSI-1 was standardized by ANSI in 1986. While this outlined the physical and electrical traits of SCSI, it failed to outline a common set of commands so that all manufacturer’s hardware would work together. The industry, then, decided to agree on a minimum set of 18 basic commands. This command set was called the Common Command Set (CCS). All SCSI hardware supported the CCS.
CCS became the basis for SCSI-2, a more advanced version of the original SCSI that provided extra commands for other types of devices. SCSI-2 also provided extra speed with options called Fast SCSI and a 16-bit version called Wide SCSI. A feature called command queuing gave the SCSI device the ability to execute command in an order that would be most efficient. This is most useful on hard drives using OSes that are multitasking.
The standard for SCSI-1 and SCSI-2 is somewhat clouded. Almost all features and commands of SCSI-1 are supported in SCSI-2, and most SCSI-1 hardware is called SCSI-2. Many manufacturers boast that their equipment is SCSI-2. This makes it seem better, but in reality, it may not support the extra features that were included in the true SCSI-2 revision.
This also means that SCSI-1 adapters will work with SCSI-2 hardware. SCSI-1 and SCSI-2 compliant hardware is the same.
A SCSI-3 standard is being worked on, although features of this new standard are already in use by some manufacturers. Such drives run in Fast-20 mode or an Ultra-SCSI mode. These speed rates are defined below.
Data Transfer Rates
Below is a quick table describing the data transfer rates.
Fast SCSI delivers a 10 MB/sec transfer rate. When combined with the 16-bit bus, this doubles to 20 MB/sec. This is called Fast-Wide SCSI.
Ultra SCSI, also called Fast-20 SCSI, is twice as fast as Fast SCSI. It is part of the SCSI-3 setup, which has not been standardized but is still being sold in high-speed drives. Ultra SCSI delivers 20MB/sec over the 8-bit bus. Ultra-Wide SCSI incorporates the 16-bit bus, and the speed raises to 40MB/sec.
SCSI-2 is an improved version of SCSI-1. SCSI-1 and SCSI-2 work the same: just one has more features than the other. SCSI-2 hardware will work over a SCSI-1 adapter just fine, but the extra features won’t be able to be used.
What are the extra features?
- Termination. SCSI-1 was very stringent in its requirements in termination. It used a 132ohm passive terminator. This was not conducive to the higher speed data transfers used today and sometimes caused data errors when more than one device was added to the chain. SCSI-2 uses an active terminator, or voltage-regulated. It lowers the impedance of the termination and improves reliability.
- New Commands. SCSI-2 made the CCS part of the standard. It also rewrote some old commands and added several new ones. These new commands were designed for hardware other than hard drives.
- Command Queuing. While SCSI-1 adapters could only send one command at a time, SCSI-2 adapters could send 256 to one device. The device, in turn, could store the commands, process them, and reorder them separate from the bus.
As said above, elements of SCSI-3 are in use today in the forms of Ultra-Wide and Ultra SCSI drives, but the SCSI-3 standard has not yet been agreed upon.
There are many interesting advances with SCSI-3. For example, while SCSI-2 can support up to 8 devices on a single chain, SCSI-3 will support 32.
SCSI-3 also hold promising developments such as Serial SCSI. This feature will allow data transfer up to 100MB/sec through a six-conductor coaxial cable. It will solve many of the termination and delay problems of older SCSI versions. It may also ease SCSI installation woes by being more plug-and-play in nature, such as automatic SCSI ID assigning and termination.
The SCSI bus operates on a chain, and like all other interfaces, it must be properly terminated at the end of the chain. There are three types of terminating devices.
- Passive This is basically a bunch of resistors. It does the job, but higher performance drives can’t use it and it only works on distances of 2 or 3 feet.
- Active This terminator has a voltage regulator that ensure the correct termination voltage. Many have a LED showing the termination level.
- Forced Perfect Termination (FPT) Even better than Active termination.
SCSI drives aren’t that hard to configure.
Each device must have a SCSI ID, 0-7. The host adapter takes one ID. Most are usually factory-set to ID 7, which is the highest-priority ID. Many adapters require that any SCSI boot drive be configured to a certain ID. With the newer ones, it doesn’t usually matter.
The ID is configured by some type of switch or jumper on the drive, much like the master-slave jumper on an IDE setup. There are three jumpers used to describe the SCSI ID. Instead of making this simple, manufacturers decided to make the ID # a result of a binary representation of the jumpers. For example, setting all three jumpers off gives a binary of 000, meaning SCSI ID 0. Below is a table of jumper settings:
Depending on the manufacturer, the order of these jumpers may have been reversed. In this case, just flip the order of the jumper settings around. For example, ID 4 above is on-off-off. On a reversed setup, it would be off-off-on.
Besides configuring the proper ID, proper termination must be ensured. If the adapter is at the end of the chain, enable its termination. If it is in the middle, disable its termination and install termination at each end of the bus. Use the best-terminators possible. Passive are bad, Active is better, but FPT is best. Stick with high-quality terminators and you will avoid most termination problems.
There are a few other settings available:
- Start-on Delay. Controlled by jumper. This delays the start up of the drive. When you turn on the system, you can overload the power supply if all drives try to start spinning at the same time. To avoid this, enable this setting. This keeps the drive from starting until it gets a Start command1. Most adapters send this command in succession, from 7 down to 0.
- SCSI Parity. This ensures data integrity. It should be enabled on every device. It is only an option because older adapters didn’t support it.
- Add one device at a time.
- Use good termination. Use the best available terminator.
- Document your settings. All of them.
- Use high-quality cables. The cables should be rated for SCSI and all be the same make. Also, don’t use more cable length than the bus allows.