All Topics  
SCSI

 

 

 

 

 

SCSI


 
 



Small Computer System Interface, or SCSI (pronounced skuh-zee), is a set of standards for physically connecting and transferring data between computers and peripheral devicePeripheral device Overview

In computer hardware, a peripheral device is any device attached to a computer in order to expand its functionality....
s. The SCSI standards define commandsSCSI command

In SCSI computer storage, a command is the basic unit of communication....
, protocols, and electrical and optical interfacesInterface (computer science)

An interface defines the communication boundary between two entities, such as a piece of software, a hardware device, or a u...
. SCSI is most commonly used for hard disks and tape drives, but it can connect a wide range of other devices, including scanners and CDCD-ROM

CD-ROM is a compact disc that contains data accessible by a computer....
 drives. The SCSI standard defines command sets for specific peripheral device typesSCSI Peripheral Device Type

A SCSI Peripheral Device Type is a way of describing what capabilities are provided by a SCSI device....
; 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 interface: it hides the complexity of physical format. Every device attaches to the SCSI bus in a similar manner.


  • SCSI is a peripheral interface: 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 is a buffered interface: it 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 is error checked by a CRC32Cyclic redundancy check

    A cyclic redundancy check is a type of hash function used to produce a checksum a small, fixed number of bits against a b...
     checksum.


  • SCSI is a peer to peer interface: 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 targetSCSI target

    In SCSI computer storage, a target is the storage-device side endpoint of a SCSI session....
    s, incapable of acting as SCSI initiatorSCSI initiator

    In SCSI computer storage, an initiator is the host-side endpoint of a SCSI session....
    s—unable to initiate SCSI transactions themselves. Therefore peripheral-to-peripheral communications are uncommon, but possible in most SCSI applications. The NCRNCR Corporation Summary

    NCR Corporation is a technology company specializing in solutions for the retail and financial industries....
     53C810 chip is an example of a PCIPeripheral Component Interconnect

    The Peripheral Component Interconnect, or PCI Standard , specifies a computer bus for attaching peripheral devices to ...
     host interface that can act as a SCSI target.

History

SCSI was derived from "SASI", the "Shugart AssociatesShugart Associates

Shugart Associates was a computer peripheral manufacturer that dominated the floppy disk drive market in the late 1970s and ...
 System Interface", introduced by that company in 1981. 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 usually mounted on top of them. SASI, which was used in mini- and microcomputers, defined the interface as using a 50-pin flat ribbon connector which was adopted as the SCSI-1 connector. Many, if not all, of the then existing SASI controllers were SCSI-1 compatible

Larry Boucher is considered to be the "father" of SASI and SCSI due to his pioneering work first at Shugart AssociatesShugart Associates

Shugart Associates was a computer peripheral manufacturer that dominated the floppy disk drive market in the late 1970s and ...
 and then at AdaptecAdaptec

Adaptec is a computer hardware company based in Milpitas, California that primarily produces host adapters for connecting st...
.

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, 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 AmigaAmiga

The Amiga is a family of home/personal computers originally developed by Amiga Corporation as an advanced home entertainment...
, Apple MacintoshMacintosh

The Macintosh, or Mac, is a line of personal computers designed, developed, manufactured, and marketed by Apple Comput...
 and Sun MicrosystemsSun Microsystems

company_name = Sun Microsystems | company_type = Public |...
 computer lines and PC server systems. Apple started using IDEAT Attachment Summary

AT Attachment is a standard interface for connecting storage devices such as hard disks and CD-ROM drives inside personal c...
 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 FireWireFireWire

FireWire is the name given to the external wired interface specified by the IEEE standard 1394....
) with the Blue & White G3 in 1999. Sun has switched its lower end range to Serial ATASerial ATA

In computer hardware, Serial ATA is a computer bus technology primarily designed for transfer of data to and from a hard dis...
 (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 RAIDRAID

In computing, the acronym RAID refers to a data storage scheme using multiple hard drives to share or replicate data among ...
s 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

SCSI is available in a variety of interfaces. The first, still very common, was parallel SCSIParallel SCSI

Parallel SCSI is a computer term used to describe one of the physical implementations of SCSI communications....
 (now also called SPI), which uses a parallelParallel communications

In telecommunications and computer science, parallel communications is the process of sending data several bits at one time ...
 electrical busElectrical bus

An electrical bus is a physical electrical interface where many devices share the same electric connection....
 design. As of 2008, SPI is being replaced by Serial Attached SCSISerial Attached SCSI

In computer hardware, Serial Attached SCSI is a computer bus technology primarily designed for transfer of data to and from ...
 (SAS), which uses a serialSerial communications

In telecommunications and computer science, serial communications is the process of sending data one bit at one time, sequen...
 point-to-pointPoint-to-point

Point-to-point may refer to:* point-to-point telecommunications...
 design but retains other aspects of the technology. iSCSIISCSI

Internet SCSI is an official standard ratified on 2003-02-11 by the Internet Engineering Task Force that allows the use of t...
 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 WindowsMicrosoft Windows

Microsoft Windows is a family of operating systems by Microsoft....
, Apple Macintosh, UnixUnix

Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs e...
 and LinuxLinux

Linux is a Unix-like computer operating system....
 operating systems, either implemented on the motherboardMotherboard

A motherboard, also known as a mainboard, system board, or logic boards on Apple Computers, and sometimes ...
 or by the means of plug-in adaptors. With the advent of SASSerial Attached SCSI

In computer hardware, Serial Attached SCSI is a computer bus technology primarily designed for transfer of data to and from ...
 and SATASerial ATA

In computer hardware, Serial ATA is a computer bus technology primarily designed for transfer of data to and from a hard dis...
 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 connectorSCSI connector

There have been a large variety of SCSI connectors in use at one time or another in the computer industry....

Parallel SCSI

Interface Alternative
names
Specification
document
Connector Width
(bits)
Clock Maximum
Throughput Length
(single ended)
Length LVD Length HVDDifferential signaling

Differential signaling is a method of transmitting information over pairs of wires....
Devices Impedance [OOHM

Sorry, no overview for this topic
]
Voltage [VVolt

The volt is the SI derived unit of electric potential difference or electromotive force ....
]
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 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 16 40 MHz DDRDouble data rate

In computing, a computer bus operating with double data rate transfers data on both the rising and falling edges of the cloc...
160 MB/s NA 12m NA 16 
Ultra-320 SCSI Ultra4 SCSI (2002) 68-pin; 80-pin 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  

Other SCSI interfaces

Interface Alternative
names
Specification
document
Connector Width
(bits)
Clock Maximum
Throughput Length Devices
SSASerial Storage Architecture

Serial Storage Architecture is serial transport protocol used to attach disk drives to servers....
    1 200 MHz 40 MB/s 25 m 96
SSA 40    1 400 MHz 80 MB/s 25 m 96
FC-ALFibre Channel

Fibre Channel is a gigabit-speed network technology primarily used for storage networking....
 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
SASSerial Attached SCSI

In computer hardware, Serial Attached SCSI is a computer bus technology primarily designed for transfer of data to and from ...
    1 3 GHz 300 MB/s 6 m 16,256
iSCSIISCSI

Internet SCSI is an official standard ratified on 2003-02-11 by the Internet Engineering Task Force that allows the use of t...
    Implementation- and network-dependent

SCSI cabling

Internal SCSI cables are usually ribbon cables that have multiple 68 pin or 50 pin connectors. External cables are shielded and only have connectors on the ends.

iSCSI

iSCSIISCSI

Internet SCSI is an official standard ratified on 2003-02-11 by the Internet Engineering Task Force that allows the use of t...
preserves the basic SCSI paradigmParadigm

Since the late 1960s, the word paradigm has referred to a thought pattern in any scientific discipline or other epistemologi...
, especially the command set, almost unchanged. iSCSI advocates project the iSCSI standard, an embedding of SCSI-3 over TCP/IP, as displacing Fibre ChannelFibre Channel

Fibre Channel is a gigabit-speed network technology primarily used for storage networking....
 in the long run, arguing that EthernetEthernet

Ethernet is a large and diverse family of frame-based computer networking technologies for local area networks ....
 data rates are currently increasing faster than data rates for Fibre Channel and similar disk-attachment technologiesTechnology

Despite its cultural pervasiveness, technology is an elusive concept....
. iSCSI could thus address both the low-end and high-end markets with a single commodityCommodity

The word commodity is a term with distinct meanings in business and in Marxian political economy....
-based technology.

Serial SCSI

Three recent versions of SCSI—SSASerial Storage Architecture Overview

Serial Storage Architecture is serial transport protocol used to attach disk drives to servers....
, FC-ALFibre Channel

Fibre Channel is a gigabit-speed network technology primarily used for storage networking....
, and Serial Attached SCSISerial Attached SCSI

In computer hardware, Serial Attached SCSI is a computer bus technology primarily designed for transfer of data to and from ...
 (SAS)—break from the traditional parallel SCSIParallel SCSI

Parallel SCSI is a computer term used to describe one of the physical implementations of SCSI communications....
 standards and perform data transfer via serial communications. Although much of the documentation of SCSI talks about the parallel interfaceParallel SCSI

Parallel SCSI is a computer term used to describe one of the physical implementations of SCSI communications....
, most contemporary development effort is on serial SCSI. Serial SCSI has a number of advantages over parallel SCSI: faster data rates, hot swappingHot swapping

Hot swapping or hot plugging is the ability to remove and replace components of a machine, usually a computer, while i...
 (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 skewClock skew

In circuit designIn circuit design, clock skew is a phenomenon in synchronous circuits in which the clock signal arrives at...
 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.

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 SCSIParallel SCSI

Parallel SCSI is a computer term used to describe one of the physical implementations of SCSI communications....
 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 classUSB mass storage device class

The USB mass storage device class is a set of computing communications protocols defined by the USB Implementers Forum that ...
 and FireWire SBP-2Serial Bus Protocol 2

Serial Bus Protocol 2 standard is a transport protocol within Serial Bus, IEEE Std 1394-1995 , developed by T10....
.

In SCSI terminology, communication takes place between an initiatorSCSI initiator

In SCSI computer storage, an initiator is the host-side endpoint of a SCSI session....
 and a targetSCSI target

In SCSI computer storage, a target is the storage-device side endpoint of a SCSI session....
. The initiator sends a commandSCSI command

In SCSI computer storage, a command is the basic unit of communication....
 to the target which then responds. SCSI commands are sent in a Command Descriptor Block. 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 CodeSCSI Status Code Summary

A SCSI Status Code is used to determine the success or failure of a SCSI command....
 byte which is usually 00h for success, 02h for an error (called a Check ConditionSCSI check condition Summary

In computer terminology, a Check Condition occurs when a SCSI device needs to report an error....
), 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 commandSCSI Request Sense Command

The SCSI Request Sense command is used to obtain sense data from a target device....
 in order to obtain a Key Code Qualifier from the target. The Check Condition and Request Sense sequence involves a special SCSI protocol called a Contingent Allegiance ConditionSCSI contingent allegiance condition Summary

In computer terminology, a contingent allegiance condition occurs when a SCSI device needs to report an error....
.

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 commandFacts About SCSI command

In SCSI computer storage, a command is the basic unit of communication....
s in total, with the most common being:

  • Test unit readySCSI Test Unit Ready Command

    The SCSI Test Unit Ready command is used to determine if a device is ready to transfer data, i.e....
    : Queries device to see if it is ready for data transfers (disk spun up, media loaded, etc.).
  • InquirySCSI Inquiry Command

    The SCSI Inquiry command is used to obtain basic information from a target device....
    : Returns basic device information, also used to "ping" the device since it does not modify sense data.
  • Request senseFacts About SCSI Request Sense Command

    The SCSI Request Sense command is used to obtain sense data from a target device....
    : Returns any error codes from the previous command that returned an error status.
  • Send diagnosticSCSI Send Diagnostic Command Summary

    The SCSI Send Diagnostic command is used to instruct a target device to perform a self-test on a specific LUN....
     and Receive diagnostic resultsSCSI Receive Diagnostic Results Command

    The SCSI Receive Diagnostic Results command is used to interrogate the results of a self-test....
    : runs a simple self-test, or a specialised test defined in a diagnostic pageSCSI diagnostic pages

    SCSI target devices provide a number of SCSI diagnostic pages....
    .
  • Start/Stop unitSCSI Start Stop Unit Command Overview

    The SCSI Start/Stop Unit command is used to control the motor in a rotary device such as a SCSI disk-drive....
    : Spins disks up and down, load/unload media.
  • Read capacitySCSI Read Capacity Command

    The SCSI Read Capacity command is used to obtain data capacity information from a target device....
    : Returns storage capacity.
  • Format unitSCSI Format Unit Command

    The SCSI Format Unit command is used to format a SCSI target device into LBAs....
    : Sets all sectors to all zeroes, also allocates logical blocks avoiding defective sectors.
  • SCSI Read format capacities: Retrieve the data capacity of the device.
  • ReadSCSI Read Commands

    There are four different SCSI Read commands defined....
     (four variants): Reads data from a device.
  • WriteSCSI Write Commands Overview

    There are four different SCSI Write commands defined....
     (four variants): Writes data to a device.
  • Log senseSCSI Log Sense Command

    The SCSI Log Sense command is used to obtain current data from log pages in a SCSI target device....
    : Returns current information from log pagesSCSI log pages

    SCSI target devices provide a number of SCSI log pages....
    .
  • Mode senseSCSI Mode Sense Command

    The SCSI Mode Sense command is used to obtain current device information from mode pages in a SCSI target device....
    : Returns current device parameters from mode pagesSCSI mode pages

    SCSI target devices provide a number of SCSI mode pages....
    .
  • Mode selectSCSI Mode Select Command

    The SCSI Mode Select command is used to modify device information contained in mode pages in a SCSI target device....
    : 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. 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)SCSI Read Commands Summary

There are four different SCSI Read commands defined....
 and Write(6)SCSI Write Commands

There are four different SCSI Write commands defined....
 commands contain a 21-bit LBA address. The Read(10)SCSI Read Commands

There are four different SCSI Read commands defined....
, Read(12)SCSI Read Commands

There are four different SCSI Read commands defined....
, Read LongSCSI Read Commands

There are four different SCSI Read commands defined....
, Write(10)SCSI Write Commands

There are four different SCSI Write commands defined....
, Write(12)SCSI Write Commands

There are four different SCSI Write commands defined....
, and Write LongSCSI Write Commands

There are four different SCSI Write commands defined....
 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 tapeIBM 9 Track

IBM's System/360, released in 1964, introduced what is now generally known as 9 track tape....
, DDSDigital Data Storage

Digital Data Storage is a format for storing and backing up computer data on magnetic tape that evolved from Digital Audio T...
 (4mm tapes physically similar to DATDigital Audio Tape

[Image:WrapGun.png|thumb|Electrical wire wrap tool.]]Wire wrap is a technique for constructing small numbers of complex elec...
), ExabyteExabyte (company)

Exabyte Corporation is headquarted in Boulder, Colorado....
, 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:

  • BUS FREE
  • ARBITRATION
  • SELECTION
  • MESSAGE OUT
  • COMMAND OUT
  • DATA OUT/IN
  • STATUS IN
  • MESSAGE IN
  • RESELECTION


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

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. 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. 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.

SCSI enclosure services

In larger SCSI servers, the disk-drive devices are housed in an intelligent enclosure that supports SCSI Enclosure Services (SES)SCSI Enclosure Services

Most recent SCSI enclosure products support a protocol called SCSI Enclosure Services....
. The initiator can communicate with the enclosure using a specialised set of SCSI commands to access power, cooling, and other non-data characteristics.

See also

  • List of device bandwidthsList of device bandwidths Summary

    This is a list of device bandwidths: the channel capacity of some computer devices employing methods of data transport is li...


Bibliography


External links

  • (SCSI standards)