Tuesday, December 1, 2009


Small Computer System Interface, or SCSI (pronounced scuzzy), 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. 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.
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.
Until at least February 1982, ANSI developed the specification as "SASI" and "Shugart Associates System Interface;" 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.
A number of companies such as NCR Corporation, Adaptec and Optimem were early supporters of the SCSI standard. The NCR facility in Wichita, Kansas is widely thought to have developed the industry's first SCSI chip; it worked the first time.
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.
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. Serial SCSI devices are more expensive than the equivalent parallel SCSI devices, but this is likely to change soon.
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.