Small Computer System Interface, or SCSI (pronounced skuh-zee), is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it can connect a wide range of other devices, including scanners and CD drives. The SCSI standard defines command sets for specific peripheral device types; the presence of "unknown" as one of these types means that in theory it can be used as an interface to almost any device, but the standard is highly pragmatic and addressed toward commercial requirements.
The ANSI committee documenting the standard would not allow it to be named after a company. Almost a full day was devoted to agreeing to name the standard "Small Computer System Interface," which Boucher intended to be pronounced "sexy"; however, ENDL's Dal Allan pronounced the new acronym as "scuzzy" and that stuck.
The "small" part in SCSI is historical; since the mid-1990s, SCSI has been available on even the largest of computer systems.
Since its standardization in 1986, SCSI has been commonly used in the Amiga, Apple Macintosh and Sun Microsystems computer lines and PC server systems. Apple started using IDE for its low-end machines with the Macintosh Quadra 630 in 1994, and added it to its high-end desktops starting with the Power Macintosh G3 in 1997. Apple dropped on-board SCSI completely (in favor of IDE and FireWire) with the Blue & White G3 in 1999. Sun has switched its lower end range to Serial ATA (SATA). SCSI has never been popular in the low-priced IBM PC world, owing to the lower cost and adequate performance of its ATA hard disk standard. SCSI drives and even SCSI RAIDs became common in PC workstations for video or audio production, but the appearance of large cheap SATA drives means that SATA is rapidly taking over this market.
Currently, SCSI is popular on high-performance workstations and servers. RAIDs on servers almost always use SCSI hard disks, though a number of manufacturers offer SATA-based RAID systems as a cheaper option. Desktop computers and notebooks more typically use the ATA/IDE or the newer SATA interfaces for hard disks, and USB, e-sata, and FireWire connections for external devices.
SCSI interfaces have often been included on computers from various manufacturers for use under Microsoft Windows, Apple Macintosh, Unix and Linux operating systems, either implemented on the motherboard or by the means of plug-in adaptors. With the advent of SAS and SATA drives, provision for SCSI on motherboards is being discontinued. A few companies still market SCSI interfaces for motherboards supporting PCIe and PCI-X.
Connector information: See SCSI connector
|Interface|| Alternative |
| Specification |
|Connector|| Width |
|Throughput|| Length |
|Length LVD||Length HVD||Devices||Impedance [Ω]||Voltage [V]|
|SCSI-1||Narrow SCSI||SCSI-1 (1986)||IDC50; Centronics C50||8||5 MHz||5 MB/s||6 m||NA||25m||8||5|
|Fast SCSI||SCSI-2 (1994)||IDC50; Centronics C50||8||10 MHz||10 MB/s||1.5-3 m||NA||25m||8||5|
|Fast-Wide SCSI|| SCSI-2;|
SCSI-3 SPI (1996)
| 2 x 50-pin (SCSI-2);|
1 x 68-pin (SCSI-3)
|16||10 MHz||20 MB/s||1.5-3 m||NA||25m||16||5|
|Ultra SCSI||Fast-20||SCSI-3 SPI||IDC50||8||20 MHz||20 MB/s||1.5-3 m||NA||25m||8||5|
|Ultra Wide SCSI||SCSI-3 SPI||68-pin||16||20 MHz||40 MB/s||1.5-3 m||NA||25m||16||5|
|Ultra2 SCSI||Fast-40||SCSI-3 SPI-2 (1997)||50-pin||8||40 MHz||40 MB/s||NA||12m||25m||8|
|Ultra2 Wide SCSI||SCSI-3 SPI-2||68-pin; 80-pin (SCA/SCA-2)||16||40 MHz||80 MB/s||NA||12m||25m||16|
|Ultra3 SCSI||Ultra-160; Fast-80 wide||SCSI-3 SPI-3 (1999)||68-pin; 80-pin (SCA/SCA-2)||16||40 MHz DDR||160 MB/s||NA||12m||NA||16|
|Ultra-320 SCSI||Ultra4 SCSI||(2002)||68-pin; 80-pin (SCA/SCA-2)||16||80 MHz DDR||320 MB/s||NA||12m||NA||16|
|Ultra-640 SCSI||(2003)||68-pin; 80-pin||16||160 MHz DDR||640 MB/s||??||16|
|Interface|| Alternative |
| Specification |
|Connector|| Width |
|SSA||1||200 MHz||40 MB/s||25 m||96|
|SSA 40||1||400 MHz||80 MB/s||25 m||96|
|FC-AL 1Gb||1||1 GHz||100 MB/s||500m/3km||127|
|FC-AL 2Gb||1||2 GHz||200 MB/s||500m/3km||127|
|FC-AL 4Gb||1||4 GHz||400 MB/s||500m/3km||127|
|SAS||1||3 GHz||300 MB/s||6 m||16,256|
|iSCSI||Implementation- and network-dependent|
In SCSI terminology, communication takes place between an initiator and a target. The initiator sends a command to the target which then responds. SCSI commands are sent in a Command Descriptor Block (CDB). The CDB consists of a one byte operation code followed by five or more bytes containing command-specific parameters.
At the end of the command sequence the target returns a Status Code byte which is usually 00h for success, 02h for an error (called a Check Condition), or 08h for busy. When the target returns a Check Condition in response to a command, the initiator usually then issues a SCSI Request Sense command in order to obtain a Key Code Qualifier (KCQ) from the target. The Check Condition and Request Sense sequence involves a special SCSI protocol called a Contingent Allegiance Condition.
There are 4 categories of SCSI commands: N (non-data), W (writing data from initiator to target), R (reading data), and B (bidirectional). There are about 60 different SCSI commands in total, with the most common being:
Each device on the SCSI bus is assigned at least one Logical Unit Number (LUN). Simple devices have just one LUN, more complex devices may have multiple LUNs. A "direct access" (i.e. disk type) storage device consists of a number of logical blocks, usually referred to by the term Logical Block Address (LBA). A typical LBA equates to 512 bytes of storage. The usage of LBAs has evolved over time and so four different command variants are provided for reading and writing data. The Read(6) and Write(6) commands contain a 21-bit LBA address. The Read(10), Read(12), Read Long, Write(10), Write(12), and Write Long commands all contain a 32-bit LBA address plus various other parameter options.
A "sequential access" (i.e. tape-type) device does not have a specific capacity because it typically depends on the length of the tape, which is not known exactly. Reads and writes on a sequential access device happen at the current position, not at a specific LBA. The block size on sequential access devices can either be fixed or variable, depending on the specific device. Tape devices such as half-inch 9-track tape, DDS (4mm tapes physically similar to DAT), Exabyte, etc.., support variable block sizes.
The SCSI bus can be in only one phase at a given time.
On a parallel SCSI bus, a device (e.g. host adapter, disk drive) is identified by a "SCSI ID", which is a number in the range 0-7 on a narrow bus and in the range 0–15 on a wide bus. On earlier models a physical jumper or switch controls the SCSI ID of the initiator (host adapter). On modern host adapters (since about 1997), doing I/O to the adapter sets the SCSI ID; for example, the adapter often contains a BIOS program that runs when the computer boots up and that program has menus that let the operator choose the SCSI ID of the host adapter. Alternatively, the host adapter may come with software that must be installed on the host computer to configure the SCSI ID. The traditional SCSI ID for a host adapter is 7, as that ID has the highest priority during bus arbitration (even on a 16 bit bus).
The SCSI ID of a device in a drive enclosure that has a backplane is set either by jumpers or by the slot in the enclosure the device is installed into, depending on the model of the enclosure. In the latter case, each slot on the enclosure's back plane delivers control signals to the drive to select a unique SCSI ID. A SCSI enclosure without a backplane often has a switch for each drive to choose the drive's SCSI ID. The enclosure is packaged with connectors that must be plugged into the drive where the jumpers are typically located; the switch emulates the necessary jumpers. While there is no standard that makes this work, drive designers typically set up their jumper headers in a consistent format that matches the way that these switches implement.
Note that a SCSI target device (which can be called a "physical unit") is often divided into smaller "logical units." For example, a high-end disk subsystem may be a single SCSI device but contain dozens of individual disk drives, each of which is a logical unit (more commonly, it is not that simple—virtual disk devices are generated by the subystem based on the storage in those physical drives, and each virtual disk device is a logical unit). The SCSI ID, WWN, etc. in this case identifies the whole subsystem, and a second number, the logical unit number (LUN) identifies a disk device within the subsystem.
It is quite common, though incorrect, to refer to the logical unit itself as a "LUN." Accordingly, the actual LUN may be called a "LUN number" or "LUN id".
Setting the bootable (or first) hard disk to SCSI ID 0 is an accepted IT community recommendation. SCSI ID 2 is usually set aside for the floppy disk drive while SCSI ID 3 is typically for a CD-ROM drive.