Introduction

SCSI is a system level interface, meaning that it's not limited to just disk and CDROM drives the way IDE is. In fact, SCSI is a bus, whereas IDE is a bus and controller. This makes SCSI quite general. SCSI hardware typically consists of hard drives, tape drives, CD-ROMs and scanners among other things.

SCSI's popularity is increasing. Speed and flexibility are the main reason for this, although as far as drives go, the difference between SCSI and IDE may not really be what most people think it is.

Standards

SCSI-1

The 8-bit SCSI interface took shape in 1982 and became an ANSI standard in 1985. The Apple Mac Plus was the first computer to ship with a SCSI interface as a standard feature in 1986.

The standard gave the electrical and physical outline of SCSI, it made no mention of comment set of commands so that hall hardware can work together. This was a disaster as far as standards go.

To correct the situation, the industry decided to agree on a minimum set of 18 basic commands. This command set was called the Common Command Set (CCS). All SCSI hardware supports the CCS.

SCSI-2

CCS became the basis for SCSI-2, which has a number of improvements over SCSI-1:

  1. Extra CCS commands for other types of devices.
  2. Extra speed with options: "Fast SCSI" and a 16-bit version called "Wide SCSI".
  3. Command queuing: gives the SCSI device the ability to execute in the most efficient order (as opposed to the order in which the commands are given). This is most useful on hard drives using multitasking operating systems.

SCSI ID

A single SCSI bus can hold up to eight peripherals. Each device on a single bus needs a unique SCSI ID, ranging from 0 to 7. The host adapter itself also needs an ID (and by convention is usually given ID 7). This leaves 7 ID's for other hardware. Hard drives are usually given ID 0 and 1.

SCAM Protocol

The SCAM protocol assigns SCSI ID numbers dynamically and resolves any SCSI ID conflicts when you start your computer. If all the devices on your SCSI bus support the SCAM protocol, you don't need to manually assign unique SCSI ID numbers.

SCSI 2.5 MB/s  
Synchronous SCSI5.0 MB/s  
Fast SCSI 10.0 MB/s  
Fast Wide SCSI 20.0 MB/s  
Ultra SCSI 20.0 MB/s  
Ultra Wide SCSI 40.0 MB/s 
Ultra2 SCSI 80.0 MB/s 
Ultra 3 160.0 MB/sUnder development
USB 1.1 15.0 MB/s 
USB 2.0 480.0 MB/sUnder development
Serial Port .022 MB/s 
Enhanced Parallel Port.25 MB/s 
Modern Parallel Port: ECP1.0 MB/sVery few ECP devices.
Firewire 50.0 MB/s 

Max Devices / CableMax Cable Length
SCSI 2 16 devices 12 meters
SCSI 3 32 devices  
USB 1.1127 devices 5 meters
Firewire63 devices  



Firewire and USB

Firewire and USB both support plug-n-play (assigning of IRQ, DMA and I/O addresses at boot time) and hot-swapping of devices. In addition, both USB and Firewire buses will provide power to the devices, so you don't need external power cords for them.

The firewire standard is also known as IEEE 1394, and the specifications can be found all over the net. Apple's IEEE 1394 product is known by the trademarked name "Firewire", while other hardware manufacturers will call their IEEE 1394 product "i.link" and "Lynx". The maximum burst transfer rate is 400 Mbits/sec = 50MB/sec, but this is done isochronously, which means that you are guaranteed to get data at this rate (this is the major difference between the IEEE 1394 bus and USB). Isochronous data transfer makes Firewire a more appropriate for streaming video and audio than USB.

USB stands for "Universal Serial Bus". It can sustain data transfer bursts of 480 Mbits/sec (15MB/sec). It's lower cost than Firewire, and is expected to someday replace serial and parallel ports on the x86 architecture. The data transfer rate is not guaranteed to be sustainable over long periods of time, unlike the IEEE 1394 bus.

Connectors

In general, all SCSI-1 and SCSI-2 connectors are 50-pin. Any SCSI with the word "wide" in its name is 68-pin. All SCSI-3 connectors are 68-pin. Unfortunately, each connector is different from the rest, even if they have the same number of pins.

Termination

To ensure reliable communication on a SCSI bus, terminators must be installed (or enabled) on the devices at the physical ends of the SCSI bus. The peripherals between the ends of each cable must have their terminator removed or disabled.

Most SCSI devices come from the factory with termination enabled.


Host or Host Adapter Diagram Male Female
Centronics C50: Also called CN50 and Cent50. Used as external connectors on SCSI-1 and some SCSI-2 controllers. The controller and peripheral connectors should be female. The cables will be male. Has 50 pins.
IDC50: Used on SCSI-1, SCSI-2, Ultra SCSI "narrow". All internal 50-conductor "8-bit" SCSI uses these connectors. Resembles the IDE connector (but had the wrong number of pins).  
DB25: Used with older Macs, Zip drives, many scanners, and older Sun 8-bit workstations.
DB37: Used with SCSI-1  
DB-50: Usually used on old Sun Sparcstations for SCSI-1.
HD50: This 50 pin connector is used as an external 8-bit SCSI-2/SCSI-3 connector. You can tell the difference between an HD50 and an HD68 (other than counting those tiny little pins) is to measure them. HPDB50 is about 1 3/8 (36mm), and the HPDB68 is about 1 7/8 (47mm)
HD68: This 68 pin connector is used in both internal and external 16-bit Ultra wide SCSI-3/Ultra2 LVD SCSI/wide Differential SCSI. The internal and external connectors appear to be different, but they're the same basic connector. Also used for old DEC single-ended SCSI.
VHDCI: Used for SCSI-5. Very popular with RAID cards.  
New SCA 80-pin    
HDI-30: Used for Apple Macintosh Powerbooks    
HPCN50: This rare connector is used in Japan on several digital cameras among other things.    
HDCN60: Mini Centronics 60 used by old IBM RS6000 servers    


Premium SCSI Devices

The best cdrom drive available is the UltraPlex Wide, which is a wide ultra SCSI-2 cdrom made by Plextor. It's been called "the ripper's dream" because of it's superior audio cd ripping capabilities.

One of the best cdrw's on the market is the Plexwriter 12/4/32 (12 record, 4 rewrite, 32 read), put out by Plextor. It is an Ultra SCSI device.



Thanks

Thanks to Will McKee for pointing out a mistake in my math! :-)