World Library  
Flag as Inappropriate
Email this Article

Small Computer System Interface

Article Id: WHEBN0000611226
Reproduction Date:

Title: Small Computer System Interface  
Author: World Heritage Encyclopedia
Language: English
Subject: Hard disk drive, Fibre Channel, Macintosh IIfx, SuperDisk, List of acronyms: S, NEC PC-9801, Adaptec, Hard disk drive failure, Blancco
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Small Computer System Interface

"Scuzzy" redirects here. For the historic sternwheeler known by that name, see Skuzzy (sternwheeler).


Small Computer System Interface (SCSI, /ˈskʌzi/ )[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, although not all controllers can handle all devices. 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 handshake 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.

History

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[6] 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 is widely thought to have developed the industry's first SCSI chip; it worked the first time.[7]

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). Commodore included a SCSI interface on the Amiga 3000/3000T systems and it was an add-on to previous Amiga 500/2000 models. Starting with the Amiga 600/1200/4000 systems Commodore switched to the IDE interface. 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. However, SCSI drives and even SCSI RAIDs became common in PC workstations for video or audio production.

Recent versions of SCSI – Serial Storage Architecture (SSA), SCSI-over-Fibre Channel Protocol (FCP), Serial Attached SCSI (SAS), Automation/Drive Interface − Transport Protocol (ADT), and USB Attached SCSI (UAS) – 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.

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 have almost always used SCSI hard disks, though a number of manufacturers now offer SATA-based RAID systems as a cheaper option. Instead of SCSI, desktop computers and notebooks more typically use ATA interfaces for internal hard disk drives, and USB, eSATA, and FireWire connections for external devices.

As of 2012 SCSI interfaces had become impossible to find for laptop computers. Adaptec had years before produced PCMCIA SCSI interfaces, but when PCMCIA was superseded by the ExpressCard Adaptec discontinued their PCMCIA line without supporting ExpressCard. Ratoc produced USB and Firewire to SCSI adaptors, but ceased production when the integrated circuits required were discontinued. Drivers for existing PCMCIA interfaces were not produced for newer operating systems.

Interfaces


Main article: SCSI connector

SCSI is available in a variety of interfaces. The first, still very common, was parallel SCSI (now also called SPI), which uses a parallel 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. Many other interfaces which do not rely on complete SCSI standards still implement the SCSI command protocol; others (such as iSCSI) drop physical implementation entirely while retaining the SCSI architectural model. iSCSI, for example, uses TCP/IP as a transport mechanism.

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

Main article: Parallel SCSI

Development of the SCSI Parallel Interface ended with the publication of SPI-5 in 2003. All of the versions of the interface are defined in SPI-5, except for high-voltage differential (HVD), which is in SPI-2. All other versions of SPI have been withdrawn.

The SCSI specifications include several synchronous transfer modes for the parallel cable, but also an asynchronous mode. The asynchronous mode is a classic request/acknowledge protocol. It allows systems with a slow bus or simple systems to also use SCSI devices. More frequently the faster synchronous modes are used.


Interface Alternative
names
Specification
document[8]
Connector Width
(bits)
Clock[9] Maximum Electrical
Throughput (MB/s)[10] Throughput (Mbit/s)[11] Length
(single ended)[12]
Length LVD[13] Length HVD Devices[14] Impedance [Ω] Voltage [V]
SCSI-1 Narrow SCSI SCSI-1 (1986)[15] IDC50; Centronics C50 8 5 MHz 5 MB/s 40 Mbit/s 6 m NA 25 m 8 SE 90 ± 6 Ω[16] SE 5 HVD ≥5
Fast SCSI SCSI-2 (1994) IDC50; Centronics C50 8 10 MHz 10 MB/s 80 Mbit/s 3 m NA 25 m 8 SE 90 ± 6 Ω[16] SE 5 HVD ≥5
Fast-Wide SCSI SCSI-2;
SPI-5 (INCITS 367-2003)
2 x 50-pin (SCSI-2);
1 x 68-pin (SCSI-3)
16 10 MHz 20 MB/s 160 Mbit/s 3 m NA 25 m 16 SE 90 ± 6 Ω[16] SE 5 HVD ≥5
Ultra SCSI Fast-20 SPI-5 (INCITS 367-2003) IDC50 8 20 MHz 20 MB/s 160 Mbit/s 1.5 m NA 25 m 8 SE 90 ± 6 Ω[16] SE 5 HVD ≥5
3 m NA NA 4
Ultra Wide SCSI SPI-5 (INCITS 367-2003) 68-pin 16 20 MHz 40 MB/s 320 Mbit/s NA NA 25 m 16 SE 90 ± 6 Ω[16] SE 5 HVD ≥5
1.5 m NA NA 8
3 m NA NA 4
Ultra2 SCSI Fast-40 SPI-5 (INCITS 367-2003) 50-pin 8 40 MHz 40 MB/s 320 Mbit/s NA 12 m 25 m 8 LVD 125 ± 10 Ω[16] LVD 1.2 HVD ≥5
Ultra2 Wide SCSI SPI-5 (INCITS 367-2003) 68-pin; 80-pin (SCA/SCA-2) 16 40 MHz 80 MB/s 640 Mbit/s NA 12 m 25 m 16 LVD 125 ± 10 Ω[16] LVD 1.2 HVD ≥5
Ultra3 SCSI Ultra-160; Fast-80 wide SPI-5 (INCITS 367-2003) 68-pin; 80-pin (SCA/SCA-2) 16 40 MHz DDR 160 MB/s 1280 Mbit/s NA 12 m NA 16 LVD 125 ± 10 Ω[16] LVD 1.2
Ultra-320 SCSI Ultra-4; Fast-160 SPI-5 (INCITS 367-2003) 68-pin; 80-pin (SCA/SCA-2) 16 80 MHz DDR 320 MB/s 2560 Mbit/s NA 12 m NA 16 LVD 125 ± 10 Ω[16] LVD 1.2
Ultra-640 SCSI[17][18] Ultra-5; Fast-320 SPI-5 (INCITS 367-2003) 68-pin; 80-pin 16 160 MHz DDR 640 MB/s 5120 Mbit/s NA 10 m NA 16 LVD 125 ± 10 Ω LVD 1.2

Other SCSI interfaces

Interface Alternative
names
Specification
document
Connector Width
(bits)
Clock[9] Maximum
Throughput (MB/s)[10] Throughput (Mbit/s)[11] Length[12] Devices[14]
SSA Serial Storage Architecture 1 200 MHz 40 MB/s[19][20] 320 Mbit/s 25 m 96
SSA 40 1 400 MHz 80 MB/s[19][20] 640 Mbit/s 25 m 96
Fibre Channel 1Gbit 1GFC X3T11/94-175v0 FC-PH Draft, Revision 4.3 1 1 GHz 100 MB/s[20][21] 800 Mbit/s 500m/10 km[22] 127 (FC-AL)/224 (FC-SW)
Fibre Channel 2Gbit 2GFC X3T11/96-402v0 FC-PH-2, Rev 7.4 1 2 GHz 200 MB/s[20][21] 1600 Mbit/s 500m/10 km[22] 127/224
Fibre Channel 4Gbit 4GFC X3T11/96-402v0 FC-PH-2, Rev 7.4 1 4 GHz 400 MB/s[20][21] 3200 Mbit/s 500m/10 km[22] 127/224
Fibre Channel 8Gbit 8GFC 1 8 GHz 800 MB/s[20][21] 6400 Mbit/s 500m/10 km[22] 127/224
Fibre Channel 16Gbit 16GFC 1 16 GHz 1600 MB/s[20][21] 12.8 Gbit/s 500m/10 km[22] 127/224
SAS 1.1 Serial attached SCSI INCITS 417-2006 1 3 GHz 300 MB/s[20][21] 2400 Mbit/s 6 m 16,256[23]
SAS 2.1 INCITS 478-2011 1 6 GHz 600 MB/s[20][21] 4800 Mbit/s 6 m 16,256[23]
SAS 3.0 T10 Project 2212-D for approval 1 12 GHz 1200 MB/s[20][21] 9600 Mbit/s 6 m 16,256[23]
IEEE 1394 Serial Bus Protocol (SBP) IEEE Std. 1394-2008 1 400 MB/s 3200 Mbit/s 4.5 m 63
SCSI Express SCSI over PCIe (SOP) T10 Project 2239-D for approval 1 8 GT/s 985 MB/s[20][21] 7877 Mbit/s
USB Attached SCSI UAS INCITS 471-2010 1 5 Gbit/s ~400 MB/s ~3200 Mbit/s 127
ATAPI ATA Packet Interface NCITS 317-1998 16 33 MHz DDR 133 MB/s 457 mm (18 in) 2
iSCSI RFC 5048 implementation- and network-dependent 2128 (IPv6)
SRP SCSI RDMA Protocol (SCSI over InfiniBand and similar) INCITS 365-2002 implementation- and network-dependent

Cabling


SCSI Parallel Interface

Internal parallel SCSI cables are usually ribbons, with two or more 50–, 68–, or 80–pin connectors attached. External cables are typically shielded (but may not be), with 50– or 68–pin connectors at each end, depending upon the specific SCSI bus width supported.[24] The 80–pin Single Connector Attachment (SCA) is typically used for hot-pluggable devices

Fibre Channel

Fibre Channel can be used to transport SCSI information units, as defined by the Fibre Channel Protocol for SCSI (FCP). These connections are hot-pluggable and are usually implemented with optical fiber.

Serial attached SCSI

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

iSCSI

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.

SRP

The SCSI RDMA Protocol (SRP) is a protocol that specifies how to transport SCSI commands over a reliable RDMA connection. This protocol can run over any RDMA-capable physical transport, e.g. InfiniBand or Ethernet when using RoCE or iWARP.

USB Attached SCSI

USB Attached SCSI allows SCSI devices to use the Universal Serial Bus.

Automation/Drive Interface

The Automation/Drive Interface − Transport Protocol (ADT) is used to connect removable media devices, such as tape drives, with the controllers of the libraries (automation devices) in which they are installed. The ADI standard specifies the use of RS-422 for the physical connections. The second-generation ADT-2 standard defines iADT, use of the ADT protocol over IP (Internet Protocol) connections, such as over Ethernet. The Automation/Drive Interface − Commands standards (ADC, ADC-2, and ADC-3) define SCSI commands for these installations.

SCSI command protocol

Main article: SCSI command

In addition to many different hardware implementations, the SCSI standards also include an extensive set of command 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, such as 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 commonly used being:

Each device on the SCSI bus is assigned a unique SCSI identification number or ID. Devices may encompass multiple logical units, which are addressed by 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, addressed by 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.

The capacity of a "sequential access" (i.e. tape-type) device is not specified because it depends, amongst other things, on the length of the tape, which is not identified in a machine-readable way. Read and write operations on a sequential access device begin at the current tape 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.

Device identification

In modern SCSI transport protocols, there is an automated process for "discovery" of the IDs. SSA initiators "walk the loop" to determine what devices are connected and then assigns each one a 7-bit "hop-count" value. Fibre Channel – Arbitrated Loop (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. Further, a RAID array may be a single SCSI device, but may contain many logical units, each of which is a "virtual" disk—a stripe set or mirror set constructed from portions of real disk drives. 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 (real or virtual) within the subsystem.

It is quite common, though incorrect, to refer to the logical unit itself as a "LUN."[25] Accordingly, the actual LUN may be called a "LUN number" or "LUN id".[26]

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.[27]

Device Type

While all SCSI controllers can work with read/write storage devices, i.e. disk and tape, some will not work with some other device types; older controllers are likely to be more limited,[28] sometimes by their driver software, and more Device Types were added as SCSI evolved. Even CD-ROMs are not handled by all controllers. Device Type is a 5-bit field reported by a SCSI Inquiry Command; defined SCSI Peripheral Device Types include, in addition to many varieties of storage device, printer, scanner, communications device, and a catch-all "processor" type for devices not otherwise listed.

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

References

Bibliography

External links

  • Pacific Custom Cable: SCSI Tutorial
  • Internet Archive)
  • DataPro: All About SCSI
  • InterNational Committee for Information Technology Standards: T10 Technical Committee on SCSI Storage Interfaces (SCSI standards committee)
  • SCSI Trade Association: Terms and Terminology
  • Berg Software Design: Storage Cornucopia
  • David Woodsmall: Complete SCSI / iSCSI / RAID / SAS Reference
  • PC 911: How-To Guides: Nothing Scuzzy about SCSI
  • PINOUTS.RU: HDD connectors pinouts (has links to PINOUTS.RU pages about SCSI hard drives)
  • IBM: developerWorks: Anatomy of the Linux SCSI subsystem
  • SCSI4ME: Internal SCSI Connectors / External SCSI Connectors (visual aids for SCSI connectors)
  • WWW Virtual Library for SCSI, The Small Computer Systems Interface
  • IBM: SCSI connector photos, specifications, and options - Servers and IntelliStation
  • Usenet newsgroup)
  • SCSI terms explained by Adaptec
  • SCSI interface board for a 1 MHz 6502 computer
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.