The Full Wiki

SCSI: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

The icon/logo used for SCSI.

Small Computer System Interface, or SCSI (pronounced scuzzy[1]), 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.

SCSI is an intelligent, peripheral, buffered, peer to peer interface. It hides the complexity of physical format. Every device attaches to the SCSI bus in a similar manner. Up to 8 or 16 devices can be attached to a single bus. There can be any number of hosts and peripheral devices but there should be at least one host. SCSI uses hand shake signals between devices, SCSI-1, SCSI-2 have the option of parity error checking. Starting with SCSI-U160 (part of SCSI-3) all commands and data are error checked by a CRC32 checksum. The SCSI protocol defines communication from host to host, host to a peripheral device, peripheral device to a peripheral device. However most peripheral devices are exclusively SCSI targets, incapable of acting as SCSI initiators—unable to initiate SCSI transactions themselves. Therefore peripheral-to-peripheral communications are uncommon, but possible in most SCSI applications. The Symbios Logic 53C810 chip is an example of a PCI host interface that can act as a SCSI target.



SCSI was derived from "SASI", the "Shugart Associates System Interface", developed c. 1978 and publicly disclosed in 1981.[2] A SASI controller provided a bridge between a hard disk drive's low-level interface and a host computer, which needed to read blocks of data. SASI controller boards were typically the size of a hard disk drive and were usually physically mounted to the drive's chassis. SASI, which was used in mini- and early microcomputers, defined the interface as using a 50-pin flat ribbon connector which was adopted as the SCSI-1 connector. SASI is a fully compliant subset of SCSI-1 so that many, if not all, of the then existing SASI controllers were SCSI-1 compatible[3].

Larry Boucher is considered to be the "father" of SASI and SCSI due to his pioneering work first at Shugart Associates and then at Adaptec.[4]

Until at least February 1982, ANSI developed the specification as "SASI" and "Shugart Associates System Interface;"[5] however, the 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", but ENDL's Dal Allan pronounced the new acronym as "scuzzy" and that stuck.[4]

A number of companies such as NCR Corporation, Adaptec and Optimem were early supporters of the SCSI standard [5]. The NCR facility in Wichita, Kansas may have developed the industry's first SCSI chip; it worked the first time.[6]

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 Parallel ATA (also known as 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) Power Mac 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 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[citation needed].

Three recent versions of SCSI—Serial Storage Architecture (SSA), SCSI-over-Fibre Channel Protocol (FCP), and Serial Attached SCSI (SAS)—break from the traditional parallel SCSI standards and perform data transfer via serial communications. Although much of the documentation of SCSI talks about the parallel interface, most contemporary development effort is on serial SCSI. Serial SCSI has a number of advantages over parallel SCSI: faster data rates, hot swapping (some but not all parallel SCSI interfaces support it), and improved fault isolation. The primary reason for the shift to serial interfaces is the clock skew issue of high speed parallel interfaces, which makes the faster variants of parallel SCSI susceptible to problems caused by cabling and termination. Serial SCSI devices are more expensive than the equivalent parallel SCSI devices, but this is likely to change soon[citation needed].

iSCSI preserves the basic SCSI paradigm, especially the command set, almost unchanged, through embedding of SCSI-3 over TCP/IP.

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, eSATA, and FireWire connections for external devices.

SCSI interfaces

Two SCSI connectors.

SCSI is available in a variety of interfaces. The first, still very common, was parallel SCSI (now also called SPI), which uses a parallel electrical bus design. As of 2008, SPI is being replaced by Serial Attached SCSI (SAS), which uses a serial design but retains other aspects of the technology. iSCSI drops physical implementation entirely, and instead uses TCP/IP as a transport mechanism. Many other interfaces which do not rely on complete SCSI standards still implement the SCSI command protocol.

SCSI interfaces have often been included on computers from various manufacturers for use under Microsoft Windows, Mac OS, 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.


Parallel SCSI

Interface Alternative
document [7]
Connector Width
Clock[8] Maximum Electrical
Bandwidth (MB/s) [9] Bandwidth (Mbit/s) [10] Length
(single ended)[11]
Length LVD [12] Length HVD Devices [13] Impedance [Ω] Voltage [V]
SCSI-1 Narrow SCSI SCSI-1 (1986) [14] IDC50; Centronics C50 8 5 MHz 5 MB/s 40 Mbit/s 6 m NA 25m 8 SE 90 ± 6 Ω [15] 5
Fast SCSI SCSI-2 (1994) IDC50; Centronics C50 8 10 MHz 10 MB/s 80 Mbit/s 1.5–3 m NA 25m 8 SE 90 ± 6 Ω [15] 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 160 Mbit/s 1.5–3 m NA 25m 16 SE 90 ± 6 Ω [15] 5
Ultra SCSI Fast-20 SCSI-3 SPI [16] IDC50 8 20 MHz 20 MB/s 160 Mbit/s 1.5 m NA 25m 8 SE 90 ± 6 Ω [15] 5
3 m NA NA 4
Ultra Wide SCSI SCSI-3 SPI [16] 68-pin 16 20 MHz 40 MB/s 320 Mbit/s NA NA 25m 16 SE 90 ± 6 Ω [15] 5
1.5 m NA NA 8
3 m NA NA 4
Ultra2 SCSI Fast-40 SCSI-3 SPI-2 (1997) 50-pin 8 40 MHz 40 MB/s 320 Mbit/s NA 12m 25m 8 LVD 125 ± 10 Ω [15]
Ultra2 Wide SCSI SCSI-3 SPI-2 68-pin; 80-pin (SCA/SCA-2) 16 40 MHz 80 MB/s 640 Mbit/s NA 12m 25m 16 LVD 125 ± 10 Ω [15]
Ultra3 SCSI Ultra-160; Fast-80 wide SCSI-3 SPI-3 (1999) [17] 68-pin; 80-pin (SCA/SCA-2) 16 40 MHz DDR 160 MB/s 1280 Mbit/s NA 12m NA 16 LVD 125 ± 10 Ω [15]
Ultra-320 SCSI Ultra-4; Fast-160 SCSI-3 SPI-4 (2002) [17] 68-pin; 80-pin (SCA/SCA-2) 16 80 MHz DDR 320 MB/s 2560 Mbit/s NA 12m NA 16 LVD 125 ± 10 Ω [15]
Ultra-640 SCSI Ultra-5 SCSI-3 SPI-5 (2003) 68-pin; 80-pin 16 160 MHz DDR 640 MB/s 5120 Mbit/s 16

Other SCSI interfaces

Interface Alternative
Connector Width
Clock[8] Maximum
Throughput (MB/s)[9] Throughput (Mbit/s)[10] Length[11] Devices[13]
SSA 1 200 MHz 40 MB/s[18][19] 320 Mbit/s 25 m 96
SSA 40 1 400 MHz 80 MB/s[18][19] 640 Mbit/s 25 m 96
FC-AL 1Gb 1 1 GHz 100 MB/s[19][20] 800 Mbit/s 500m/3 km[21] 127
FC-AL 2Gb 1 2 GHz 200 MB/s[19][20] 1600 Mbit/s 500m/3 km[21] 127
FC-AL 4Gb 1 4 GHz 400 MB/s[19][20] 3200 Mbit/s 500m/3 km[21] 127
SAS 1 3 GHz 300 MB/s[19][20] 2400 Mbit/s 6 m 16,256[22]
iSCSI Implementation- and network-dependent

SCSI cabling

Bus terminator with top cover removed.

Traditional (Parallel) SCSI

Internal SCSI cables are usually ribbon cables that have two or more 68 pin or 50 pin connectors. External cables are typically shielded (but can be unshielded) and only have connectors on the ends with either 50 or 68 pins depending upon the specific SCSI type [23].

Serial attached SCSI

Serial attached SCSI uses a modified Serial ATA data and power cable.


iSCSI (Internet Small Computer System Interface) usually uses Ethernet connectors and cables as its physical transport, but can run over any physical transport capable of transporting IP.

USB Attached SCSI

USB Attached SCSI allows SCSI devices to use the Universal serial bus.

SCSI command protocol

In addition to many different hardware implementations, the SCSI standards also include a complex set of command protocol definitions. The SCSI command architecture was originally defined for parallel SCSI buses but has been carried forward with minimal change for use with iSCSI and serial SCSI. Other technologies which use the SCSI command set include the ATA Packet Interface, USB Mass Storage class and FireWire SBP-2.

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:

  • Test unit ready: Queries device to see if it is ready for data transfers (disk spun up, media loaded, etc.).
  • Inquiry: Returns basic device information, also used to "ping" the device since it does not modify sense data.
  • Request sense: Returns any error codes from the previous command that returned an error status.
  • Send diagnostic and Receive diagnostic results: runs a simple self-test, or a specialised test defined in a diagnostic page.
  • Start/Stop unit: Spins disks up and down, load/unload media.
  • Read capacity: Returns storage capacity.
  • Format unit: Sets all sectors to all zeroes, also allocates logical blocks avoiding defective sectors.
  • SCSI Read format capacities: Retrieve the data capacity of the device.
  • Read (four variants): Reads data from a device.
  • Write (four variants): Writes data to a device.
  • Log sense: Returns current information from log pages.
  • Mode sense: Returns current device parameters from mode pages.
  • Mode select: Sets device parameters in a mode page.

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 (4 mm tapes physically similar to DAT), Exabyte, etc.., support variable block sizes.

How SCSI works

SCSI uses a protocol method to transfer data between devices on the bus. It is a circular process which starts and ends up in the same layer. From the first layer, all additional layers of protocol must be executed before any data is transferred to or from another device and the layers of protocol must be completed after the data has been transferred to the end of the process. The protocol layers are referred to as "SCSI bus phases". These phases are:


The SCSI bus can be in only one phase at a given time.

It should be noted that not all controllers use all the phases and a well written driver will not assume that phases will occur but rather command an operation then read status to determine the phase that the device wants to do next. This technique allows a single driver to work with a variety of controllers that may vary in whether they drop unneeded phases or not. In early implementations of SCSI, writing a single driver to work with Xebec and DTC required this approach developed by Douglas Goodall while adding SCSI support to the Ampro Little Board Z80.

SCSI device identification

In the modern SCSI transport protocols, there is an automated process of "discovery" of the IDs. SSA initiators "walk the loop" to determine what devices are there and then assign each one a 7-bit "hop-count" value. FC-AL initiators use the LIP (Loop Initialization Protocol) to interrogate each device port for its WWN (World Wide Name). For iSCSI, because of the unlimited scope of the (IP) network, the process is quite complicated. These discovery processes occur at power-on/initialization time and also if the bus topology changes later, for example if an extra device is added.

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 back plane 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 subsystem 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.[24]

SCSI enclosure services

In larger SCSI servers, the disk-drive devices are housed in an intelligent enclosure that supports SCSI Enclosure Services (SES). The initiator can communicate with the enclosure using a specialized set of SCSI commands to access power, cooling, and other non-data characteristics.

See also


  1. ^ Field. The Book of SCSI. pp. 1. 
  2. ^ ANSI Draft SASI Standard, Rev D, February 17, 1982, pg. ii states, "9/15/81 first presentation to ANSI committee X3T9-3 (2 weeks following announcement in Electronic Design)."
  3. ^ ANSI SCSI Standard, X3.131-1986, June 23, 1986, 2nd, foreword.
  4. ^ a b "How Computer Storage Became a Modern Business," Computer History Museum, March 9, 2005
  5. ^ a b Working document for ANSI meeting on March 3, 1982, "SASI SHUGART ASSOCIATES SYSTEM INTERFACE, Revision D, February 17, 1982"
  6. ^ NCR Collection (LSI Logic)at Smithsonian Museum
  7. ^ Specifications are maintained by the T10 subcommittee of the International Committee for Information Technology Standards.
  8. ^ a b Clock rate in MHz for SPI, or bitrate (per second) for serial interfaces
  9. ^ a b In megabytes per second, not megabits per second
  10. ^ a b In megabits per second, not megabytes per second
  11. ^ a b For daisy-chain designs, length of bus, from end to end; for point-to-point, length of a single link
  12. ^ LVD cabling may be up to 25m when only a single device is attached to the host adapter
  13. ^ a b Including any host adapters (i.e., computers count as a device)
  14. ^ Specification has been withdrawn and is superseded by SCSI-2. "T10 Withdrawn Standards and Technical Reports". Retrieved March 18, 2010. 
  15. ^ a b c d e f g h i "Random Problems Encountered When Mixing SE and LVD SCSI Standards". Retrieved 2008-05-07. 
  16. ^ a b Specification has been withdrawn and is superseded by SPI-2. "T10 Withdrawn Standards and Technical Reports". Retrieved March 18, 2010. 
  17. ^ a b Specification has been withdrawn and is superseded by SPI-5. "T10 Withdrawn Standards and Technical Reports". Retrieved March 18, 2010. 
  18. ^ a b spatial reuse
  19. ^ a b c d e f full duplex
  20. ^ a b c d per direction
  21. ^ a b c 500 meters for multi-mode, 3 kilometers for single-mode
  22. ^ 128 per expander
  23. ^ SCSI Standards & Cables for the "normal"* person
  24. ^ Groth, David; Dan Newland (January 2001). A+ Complete Study Guide (2nd Edition). Alameda, CA, USA: Sybex. pp. 183. ISBN 0782142443. 


External links


Up to date as of January 15, 2010

Definition from Wiktionary, a free dictionary




  • Pronounced skuzzy



  1. Small Computer Systems Interface


Simple English

SCSI is a set of standards for physically connecting and transferring data between computers and peripheral devices, such as a CD or DVD drive.


Physical Structure

SCSI is realized by a bus slot on the motherboard. Just to put a card called host adapter to the motherboard. From this card is a managed data cable. This cable connects individual SCSI peripherals. Each of this peripherals has its own sequencer which is functional independent. Operation on data cable (bus SCSI) is controlled by the host adapter. There is also a possibility to install internal or external components. Transferring data on the SCSI bus is managed by the host adapter. The CPU is not loaded by transferring data.


Each peripheral has its own sequencer and host adapter. They can be used for communication with devices by a defined "computer" language. They could also cooperate with arbitrary peripherals of SCSI. At present there are hard disks, optical drives, tape adapter units, ZIP drives, scanners and printers using SCSI.

SCSI is not restricted by conditions (for example: by data capacity). One of the main advantages of SCSI is a possibility to daisy-chain devices. There is some device on the bus SCSI which controls this.

For example, hard disk defines “head's of operations” etc. At the same moment the other device could send data to other devices, (scanner). Operations of other device are not cancelled with origin connection. After transferring data to scanner device could continues with transferring data to hard disk. SCSI is faster because of this fact even maximal speed of transferring is not so different to EIDE.

Configured rules

Each peripheral of SCSI has to be identified. That is the reason why every peripheral must have a unique ID. This number is set by bond or shunt located on the case of components. In terms of a bus is enumerate from 0, hostname has as a rule ID 7. There cannot be two devices on the same bus with the same ID.

Buses have to be finished with resistances, in terminology called terminators. On the last devices is necessary to install terminators.

Host adapter has to be in connection with to assign system resources (addresses I/O, IRQ, DMA, reserved memory).


SCSI has a long progression. That is why there are many kind of SCSI in the present day. They are different in data width (8 or 16 bits) and working frequency (from 5 MHz to 80 MHz). With 8 bit data width, the parallel SCSI bus can be connected to 8 devices (used a 50 pin connector); with 16 bits, the SCSI bus can be connected to 16 devices.

Other pages

Other websites


Got something to say? Make a comment.
Your name
Your email address