CIS 107a: Introduction to Hardware Concepts

Appendix C: Supporting SCSI and Legacy Devices



This chapter introduces SCSI and ISA hardware. Objectives important to this chapter are:

  1. Basics of SCSI technology
  2. Comparing SCSI and IDE hard drives
  3. Installing SCSI devices
  4. Troubleshooting SCSI

Small Computer System Interface (SCSI) drives are a special case. SCSI is actually a kind of bus, and devices that attach to a SCSI bus can be daisy-chained, providing you have the proper cables, and providing your devices have SCSI input and output ports. A device that only has one port on it can only go on the end of a chain. Since SCSI is a bus, devices that are attached to it must be addressed (numbered). If your SCSI bus will accommodate 8 devices, they are addressed from 0 to 7. If your SCSI bus will accommodate 16 devices, they are addressed from 0 to 15.

The actual SCSI card that plugs into your PC gets one of these addresses, and so does each device in the chain. Because the controller card must have one of the addresses, this means that you can only attach 7 or 15 other devices to the chain, instead of 8 or 16. The controller card is called a host adapter, or it can be part of the motherboard of your computer. The host adapter is usually assigned the highest address on the SCSI bus, 7 or 15.

There is an exception to this rule: some SCSI devices contain several logical devices. The text give the example of a CD-ROM changer with several trays. In this case, the device (the jukebox) is assigned a SCSI address, and each sub-device is assigned a logical unit number (LUN). Each unit in the device can be referred to with the form SCSI Address:LUN.

An advantage to SCSI devices is that, since they are on their own bus, they can pass data to each other with passing through the processor. Of course, this is only an advantage if you need these devices to talk directly to each other. You might consider the information flow shown on page 579 a disadvantage. When a CPU communicates with an IDE drive, the communication flows from the CPU to the system bus, to the hard drive controller, to the hard drive. When this communication flows to a SCSI drive, it flows from the CPU to the system bus, to the SCSI host adapter, across the SCSI bus, to the SCSI interface controller on the device, to the hard drive controller on the device, and finally to the hard drive.

Installing a SCSI host adapter involves assigning several system resources. It has its own BIOS, but needs a DMA channel, an IRQ, and I/O addresses. Host adapters come in several bus styles: ISA, 16-bit PCI, 32-bit PCI, and 64-bit PCI-X.

Some host adapters support bus mastering, which allows the SCSI devices to access memory and other devices on the system bus without accessing the CPU. If your host adapter uses bus mastering, you do not have to assign a DMA channel to it.

Most SCSI devices must have their SCSI bus address set manually. Some have dials to choose a setting, some use jumpers. Some others use the SCAM (SCSI Configuration Automatically) system to comply with Plug and Play standards. SCAM level 1 assigns an address to SCSI devices (but not the host adapter) on system startup. SCAM level 2 assigns an address to the host adapter as well.

It is also common to need a device driver to enable a SCSI system on a Windows computer.

SCSI has evolved several varieties:

  • A narrow SCSI bus is 8 bits wide, and can daisy-chain up to 8 devices (including the host adapter). Narrow SCSI channels typically use a 25 or 50 pin connector on an A cable.
  • A wide SCSI bus is 16 bits wide and can daisy-chain up to 16 devices (including the host adapter). Wide SCSI channels typically use a 68 pin connector on a P cable.
  • SCSI devices can also use can also be 80 pin SCA (Single Connector Attachment) connectors. Several styles of connectors are used on different types of devices. A rule about them is that if you use any SCSI device that requires a wide SCSI channel, the host adapter must have a wide channel connector as well, regardless of the width of the other devices.
  • SCSI cables for internal devices can resemble the data cables used for IDE drives, however, they are likely to have several connection points, unlike IDE cables. The text recommends attaching one end of the data cable to the host adapter, and one device to the last connector. Other devices can be attached to any of the other connectors on the cable.
  • Three variations of SCSI exist, each of which can be narrow or wide:
    • SCSI-1 (Regular)
    • SCSI-2 (Fast)
    • SCSI-3 (Ultra)
    • SCSI cables come in two types: single-ended and differential (which can be longer)
  • SCSI chains must be terminated with an electrical resistor. Some SCSI bus adapters have a built-in terminator, which can be turned on or off. Why? Because sometimes the card is the end of a chain, and sometimes it is only in the middle. Internal devices can be connected to the card. If they are, they form one end of the chain. External devices can also be connected to the card, and if so, they lead to a different end of the chain. If the card is only a link in the chain, no terminator is used on it. The last device on each end of the chain must have a resistor on it, except when the last device is in a special external cabinet that takes the resistor itself.

The text discusses when you might choose SCSI or IDE. In general, a workstation may be better off with IDE devices. A server may need many drives, and may need in increase in performance across those drives, which a SCSI system may provide.

A general set of installation steps is offered. The technician performing the installation should note any specific instructions for a host adapter or SCSI device that deviate from these steps, and should follow the instructions provided with their specific hardware:

  1. Set jumpers or DIP switches on the host adapter, install it in a slot of the correct bit width, and install drivers for the host adapter.
  2. Set jumpers or dials on SCSI devices that need to have addresses configured this way.
  3. Install SCSI cables from the host adapter to the devices.
  4. Terminate the ends of the SCSI bus. (This may be set by software for some devices.)
  5. Power up devices one at a time, testing each one in turn.
  6. Install drivers required by the operating system.