AllExperts > Encyclopedia 
Search      
Find out about volunteering to AllExperts

SCSI: Encyclopedia BETA


Free Encyclopedia
 Home · Index · Browse A-Z  · Questions and Answers ·
Encyclopedia

Browse A-Z
ABCDEFGHIJKLMNOPQRSTUVWXYZNum


License
Disclaimer

 
 
 
 
Free Online Courses
12 Weeks to Weight Loss
Take Charge of Stress
Learn How to Bake
Budgeting 101
Deeper Faith
DIY Fashion Makeover

       MORE E-COURSES
 
   

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Misc

SCSI

SCSI stands for "Small Computer System Interface", and is a standard interface and command set for transferring data between devices on both internal and external computer buses. It is pronounced "scuzzy".(2000), American Heritage Dictionary, 4th edition[1]: pronunciation. The name is historical; since the mid-90's SCSI has been used on even the largest of computer systems and for some things, including tape and disk storage, there is now no other standard more associated with large computer systems.

Single-ended SCSI Logo

SCSI is most commonly used for hard disks and tape storage devices, but also connects a wide range of other devices, including scanners, printers, CD-ROM drives, CD recorders, and DVD drives. In fact, the entire SCSI standard promotes device independence, which means that theoretically SCSI can be used with any type of computer hardware.

Since its standardization in 1986, SCSI has been commonly used in the Apple Macintosh and Sun Microsystems computer lines. SCSI has never been popular in the IBM PC world, due to the lower cost and adequate performance of its ATA hard disk standard.

At this time, SCSI is popular on high-performance workstations, servers, high-end peripherals, and in the consumer market by use of IEEE1394. RAID arrays on servers almost always use SCSI hard disks. Desktop computers and notebooks more typically use the ATA/IDE or the newer SATA interfaces for hard disks, and USB connections for external devices.

SCSI DB25 Cable (25 Pin)

Old Macintosh SCSI port

SCSI Terminator (Centronics connector)

History

In 1979, Shugart Associates introduced an interface called SASI (Shugart Associates System Interface). In the same time period, NCR Corporation's Peripherals division in Wichita, Kansas (now Engenio), was developing a more sophisticated product called BYSE (for Byte Serial), and was developing an ASIC to implement it. NCR management decided it could not support a proprietary interface so it abandoned BYSE in favor of an improved SASI. In late 1981, NCR and Shugart agreed to jointly promote the concept as an ANSI standard. After several committee meetings and after a number of other companies decided to adopt the combined standard, it received the new name "SCSI." In 1986, with SCSI already in widespread use, ANSI approved the SCSI spec (as X3.131-1986). Since then, SCSI has developed as an industry-wide standard, capable of being applied to virtually any computer system (there were even SCSI implementations for the venerable Commodore 64 and Apple II home computers). The first working SCSI ASIC was donated by NCR to the Smithsonian Museum.

Standards

Parallel SCSI is not a single standard, but a suite of closely related standards which, unfortunately, have confusing names. There are a dozen SCSI interface names, most with ambiguous wording (Like Fast SCSI, Fast Wide SCSI, Ultra SCSI, and Ultra Wide SCSI); three SCSI standards, each of which has a collection of modular, optional features; several different connector types; and three different types of voltage signalling. The leading SCSI card manufacturer, Adaptec, has manufactured over 100 varieties of SCSI cards over the years. In actual practice, many experienced technicians simply refer to SCSI devices by their bus bandwidth (i.e. SCSI 320 or SCSI 160) in Megabytes per second.

SCSI has evolved since its introduction. Before summarizing the evolution, a distinction should be made between the terminology used in the SCSI standard itself, as promulgated by the T10 committee of INCITS, and common parlance, as codified by the SCSI trade association, SCSITA.

As of 2003, there have only been three SCSI standards: SCSI-1, SCSI-2, and SCSI-3. All SCSI standards have been modular, defining various capabilities which manufacturers can include or not. Individual vendors and SCSITA have given names to specific combinations of capabilities. For example, the term "Ultra SCSI" is not defined anywhere in the standard, but is used to refer to SCSI implementations that signal at twice the rate of "Fast SCSI." Such a signalling rate is not compliant with SCSI-2 but is one option allowed by SCSI-3. Similarly, no version of the standard requires low-voltage-differential (LVD) signalling, but products called Ultra-2 SCSI include this capability. This terminology is helpful to consumers, because "Ultra-2 SCSI" device has a better-defined set of capabilities than simply identifying it as "SCSI-3."

Starting with SCSI-3, the SCSI standard has been maintained as a loose collection of standards, each defining a certain piece of the SCSI architecture, and bound together by the SCSI Architectural Model. This change divorces SCSI's various interfaces from the command set, allowing devices that support SCSI commands to use any interface (including ones not otherwise specified by T10), and also allowing the interfaces that are defined by T10 to develop on their own terms. This change is also why there is no "SCSI-4".

No version of the standard has ever specified what kind of connector should be used. See "Connectors," below.

The mainstream implementations of SCSI (in chronological order) are as follows, using common parlance:

SCSI interface overview

|-
InterfaceBus widthClock speedMax. throughputMax. cable lengthMax. number of devices
SCSI8-bit5 MHz5 MB/s6 m8
Fast SCSI8-bit10 MHz10 MB/s1.5-3 m8
Fast-Wide SCSI16-bit10 MHz20 MB/s1.5-3 m16
Ultra SCSI8-bit20 MHz20 MB/s1.5-3 m5-8
Ultra Wide SCSI16-bit20 MHz40 MB/s1.5-3 m5-8
Ultra2 SCSI8-bit40 MHz40 MB/s12 m8
Ultra2 Wide SCSI16-bit40 MHz80 MB/s12 m16
Ultra3 SCSI16-bit40 MHz DDR160 MB/s12 m16
Ultra-320 SCSI16-bit80 MHz DDR320 MB/s12 m16
SSA1 bit200 Mbit40 MB/s spatial reuse; full duplex25 m96
SSA 401 bit400 Mbit80 MB/s spatial reuse; full duplex25 m96
FC-AL 1Gb1 bit1 Gbit100 MB/s
per direction; full duplex
?127
FC-AL 2Gb1 bit2 Gbit200 MB/s
per direction; full duplex
?127
FC-AL 4Gb1 bit4 Gbit400 MB/s
per direction; full duplex
?127
iSCSI Dependent upon IP network??
SAS 3 Gbit/s1 bitN/A300 MB/s
per direction; full duplex
6 m16,256 (128 per expander)

SCSI-1

The original standard that was derived from SCSI and formally adopted in 1986 by ANSI. SCSI-1 features an 8-bit parallel bus (with parity), running asynchronously at 3.5 MB/s or 5 MB/s in synchronous mode, and a maximum bus cable length of 6 meters (just under 20 feet -- compare that to the 18 inch (0.45 meter) limit of the ATA interface). A variation on the original standard included a high-voltage differential (HVD) implementation whose maximum cable length was 25 meters.

SCSI-2

This standard was introduced in 1989 and gave rise to the Fast SCSI and Wide SCSI variants. Fast SCSI doubled the maximum transfer rate to 10 MB/s and Wide SCSI doubled the bus width to 16 bits on top of that (to reach 20 MB/s). However, these improvements came at the minor cost of a reduced maximum cable length to 3 meters. SCSI-2 also specified a 32-bit version of Wide SCSI, which used 2 16-bit cables per bus; this was largely ignored by SCSI device makers because it was expensive and unnecessary, and was officially retired in SCSI-3.

SCSI-3

Before Adaptec and later SCSITA codified the terminology, the first parallel SCSI devices that exceeded the SCSI-2 capabilities were simply designated SCSI-3. These devices, also known as Ultra SCSI and fast-20 SCSI, were introduced in 1992. The bus speed doubled again to 20 MB/s for narrow (8 bit) systems and 40 MB/s for wide (16-bit). The maximum cable length stayed at 3 meters but single-ended Ultra SCSI developed an undeserved reputation for extreme sensitivity to cable length and condition (faulty cables, connectors or terminators were often to blame for instability problems).

Ultra-2

This standard was introduced c. 1997 and featured a low-voltage differential (LVD) bus. For this reason ultra-2 is sometimes referred to as LVD SCSI. LVD's greater immunity to noise allowed a maximum bus cable length of 12 meters. At the same time, the data transfer rate was increased to 80 MB/s. Ultra-2 SCSI actually had a relatively short lifespan, as it was soon superseded by Ultra-3 (Ultra-160) SCSI.

Ultra-3

Also known as Ultra-160 SCSI and introduced toward the end of 1999, this version was basically an improvement on the ultra-2 standard, in that the transfer rate was doubled once more to 160 MB/s by the use of double transition clocking. Ultra-160 SCSI offered new features like cyclic redundancy check (CRC), an error correcting process, and domain validation.

Ultra-320

This is the ultra-160 standard with the data transfer rate doubled to 320 MB/s. Nearly all new SCSI hard drives being manufactured at the time of this writing (October 2003) are actually Ultra-320 devices.

Ultra-640

Ultra-640 (otherwise known as Fast-320) was promulgated as a standard (INCITS 367-2003 or SPI-5) in early 2003. Ultra-640 doubles the interface speed yet again, this time to 640 MB/s. Ultra-640 pushes the limits of LVD signaling; the speed limits cable lengths drastically, making it impractical for more than one or two devices. Because of this, most manufacturers have skipped over Ultra640 and are developing for Serial Attached SCSI instead.

iSCSI

iSCSI preserves the basic SCSI paradigm, especially the command set, almost unchanged. iSCSI advocates project the iSCSI standard, an embedding of SCSI-3 over TCP/IP, as displacing Fibre Channel in the long run, arguing that Ethernet data rates are currently increasing faster than data rates for Fibre Channel and similar disk-attachment technologies. iSCSI could thus address both the low-end and high-end markets with a single commodity-based technology.

Serial SCSI

Four recent versions of SCSI, SSA, FC-AL, IEEE1394, 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 number of advantages over parallel SCSI - faster data rates, hot swapping, and improved fault isolation. Serial SCSI devices are more expensive than the equivalent parallel SCSI devices but this is likely to change soon.

Connectors

Centronics 50 SCSI plug

IDC 50 SCSI plug

Centronics 50 SCSI sockets

No version of the standard has ever specified what kind of connector should be used. Connectors for parallel SCSI devices were evolved by vendors over time. Connectors for serial SCSI devices have diversified into different families for each type of serial SCSI protocol. This is a brief summary, but see the SCSI connector article for a more detailed description.

Parallel SCSI connectors

Although parallel SCSI-1 devices typically used bulky Blue Ribbon Centronics connectors, and SCSI-2 devices typically used Mini-D connectors, it is not correct to refer to these as "SCSI-1" and "SCSI-2" connectors. One valid rule is that connectors for wide SCSI buses have more pins and wires than those for narrow SCSI buses. A Centronics-50 or HD-50 connector is for narrow SCSI, while a Centronics-68 or HD-68 connector is for wide SCSI. On some early devices, wide parallel SCSI busses used two or four connectors and cables while narrow SCSI busses used only one.

The first parallel SCSI connectors were the Centronics type. They then evolved through two main stages, High-Density (HD) and most recently SCA.

With the HD connectors, a cable normally has male connectors while a SCSI device (e.g. host adapter, disk drive) has female. A female connector on a cable is meant to connect to another cable (for additional length or additional device connections).

Serial SCSI connectors

Most modern server-class SCSI devices use some form of serial SCSI. This could be SSA, FC-AL, iSCSI or SAS. This has led to a diversity of cables and disk-drive connectors. See the SCSI connector article for a more detailed description.

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.

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 - "ping" the device to see if it responds
*Inquiry - return basic device information
*Request sense - give any error codes from the previous command
*Send diagnostic and Receive diagnostic results - run a simple self-test, or a specialised test defined in a diagnostic page
*Start/Stop unit
*Read capacity - return storage capacity
*Format unit
*Read (4 variants)
*Write (4 variants)
*Log sense - return current information from log pages
*Mode sense - return current device parameters from mode pages
*Mode select - set 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 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.

Compatibility

For purposes of discussing compatibility, remember that SCSI devices include both host adapters and peripherals such as disk drives. When you ask whether you can cable a certain host adapter to a certain disk drive, you are asking whether you can attach those two SCSI devices to the same SCSI bus.

Different SCSI transports, which are not compatible with each other, usually have unique connectorsto avoid accidental mis-plugging of incompatible devices. For example it is not possible to plug a parallel SCSI disk into an FC-AL backplane, nor to connect a cable between an SSA initiator and an FC-AL enclosure.

SCSI devices in the same SCSI transport family are generally backward-compatible. Within the parallel SCSI family, for example, it is possible to connect an ultra-3 SCSI hard disk to an ultra-2 SCSI controller and use it (though with reduced speed and feature set). However there are some compatibility issues with parallel SCSI busses which are described in the rest of this section.

Ultra-2, ultra-160 and ultra-320 devices may be freely mixed on the parallel LVD bus with no compromise in performance, as the host adapter will negotiate the operating speed and bus management requirements for each device. You can attach Single-ended and LVDS devices to the same bus, but all devices will run at the slower single-ended speed. The SPI-5 standard (which describes Ultra-640) deprecates single-ended devices, so future devices may not be electrically backward compatible.

You can attach both narrow and wide SCSI devices to the same parallel bus.To do this, you must put all the narrow SCSI devices at one end and all the wide SCSI devices at the other end, and terminate the high half of the bus in between (because the high half of the bus ends with the last wide SCSI device). You can get a cable designed to connect the wide part of the bus to the narrow part which either provides a place to plug in a terminator for the high half or includes the terminator itself. This is sometimes referred to as a cable with high-9 termination. Specific commands allow the devices to determine whether their partners are using the whole wide bus or just the lower half and drive the bus accordingly.

As an example of a mixed bus, consider a SCSI wide host adapter with a HD-68 male connector connected to a SCSI narrow disk drive with a HD-50 female connector. You might make this connection with a cable that has an HD-68 female connector on one end and an HD-50 male connector on the other. Inside the cable's HD-68 connector, there is termination for the high half of the bus and the cable contains wires for only the low half. The host adapter determines that the disk drive uses only the low half of the bus, so talks to it using only the lower half. The converse example -- a SCSI narrow host adapter and SCSI wide disk drive also works.

Modern Single Connector Attachment (SCA) parallel SCSI devices may be connected to older controller/drive chains by using SCA adapters. Although these adapters often have auxiliary power connectors, use caution: it is possible to destroy the drive by connecting external power. Always try the drive without auxiliary power first.

Each parallel SCSI device (including the computer's host adapter) must be configured to have a unique SCSI ID on the bus. Also, any parallel SCSI bus must be terminated at both ends with the correct type of terminator. Both active and passive terminators are in common use, with the active type much preferred (and required on LVD buses). Improper termination is a common problem with parallel SCSI installations. In early SCSI buses, one had to attach a physical terminator to each end, but modern SCSI devices often have terminators built in, and you just have to switch termination on somehow on the devices at either end of the bus. Advanced SCSI devices actually detect whether they are last on the bus and switch termination on or off automatically.

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.

You usually set the SCSI ID of the initiator (host adapter) with a physical jumper or switch on early models. On modern (since about 1997) host adapters, you set the SCSI ID by doing I/O to the adapter; for example, the adapter often contains a BIOS program that runs when the computer boots up and that program has menus that let you choose the SCSI ID of the host adapter. Or the host adapter may come with software you can install on the computer to do this. The conventional SCSI ID for a host adapter is the highest ID on the bus (7 on a narrow bus; 15 on a wide bus).

You set the SCSI ID for a target (e.g. disk drive) either with physical jumpers or by your choice of the slot in which you install the drive in a drive enclosure (each connector 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 in the enclosure to choose the drive's SCSI ID. The way this works is that the enclosure has a connector that you plug into the drive where jumpers are supposed to go; the switch emulates the necessary jumpers. While there is no standard that makes this work, drive designers typically set up their jumper headers in 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 isn't 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, WWNN, 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, you may see the actual LUN called a "LUN number" or "LUN id."

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 specialised set of SCSI commands to access power, cooling, and other non-data characteristics.

References

External links

* All About SCSI
* SCSI Technology
* SCSI Help: Identifying SCSI HDs and Connectors
* T10 Technical Committee (SCSI standards)
* SCSITA terminology
* "Storage Cornucopia" SCSI links, maintained by a consultant
* SCSI/iSCSI/RAID/SAS Information Sheet
* SCSI basics
* WWW Virtual Library for SCSI
* SCSI and ATA pinouts



Email this page
About Us | Advertise on This Site | User Agreement | Privacy Policy | Kids' Privacy Policy | Help
About and About.com are registered trademarks of About, Inc. The About logo is a trademark of About, Inc. All rights reserved.
This is the "GNU Free Documentation License" reference article from the English Wikipedia. All text is available under the terms of the GNU Free Documentation License. See also our Disclaimer.