Small Computer System Interface (SCSI, ) is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced in the 1980s and has seen widespread use on servers and high-end workstations, with new SCSI standards being published as recently as SAS-4 in 2017.

The SCSI standards define commands, protocols, electrical, optical and logical interfaces. The SCSI standard defines command sets for specific peripheral device types. The initial Parallel SCSI was most commonly used for hard disk drives and tape drives, but it can connect a wide range of other devices, including scanners and optical disc drives, although not all controllers can handle all devices.

The first SCSI standard, X3.131-1986, generally referred to as SCSI-1, was published by the X3T9 technical committee of the American National Standards Institute (ANSI) in 1986. SCSI-2 was published in August 1990 as X3.T9.2/86-109, with further revisions in 1994 and subsequent adoption of a multitude of interfaces. Further refinements have resulted in improvements in performance and support for ever-increasing data storage capacity.

History

Parallel interface

SCSI is derived from the Shugart Associates System Interface (SASI), developed beginning 1979 and publicly disclosed in 1981.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)." Larry Boucher is considered to be the "father" of SASI and ultimately SCSI due to his pioneering work first at Shugart Associates and then at Adaptec, which he founded 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.ANSI SCSI Standard, X3.131-1986, June 23, 1986, 2nd, foreword.

In around 1980, NCR Corporation had been developing a competing interface standard by the name of BYSE. In the summer of 1981, NCR abandoned its in-house efforts in favor of pursuing SASI and improving on its design for their own computer systems. Fearing that their extension of the SASI standard would induce market confusion, however, NCR briefly cancelled their contract with Shugart. NCR's proposed improvements to the design of SCSI piqued the interest of Optimem, a subsidiary of Shugart, which requested that NCR and Shugart collaborate on a unified standard. In October 1981, the two companies agreed to co-develop SASI and present their standard jointly with ANSI.

Until at least February 1982, ANSI developed the specification as "SASI" and "Shugart Associates System Interface".Working document for ANSI meeting on March 3, 1982, "SASI SHUGART ASSOCIATES SYSTEM INTERFACE, Revision D, February 17, 1982" 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.

The NCR facility in Wichita, Kansas developed the industry's first SCSI controller chip, the NCR 5385, released in 1983. According to its developers, the chip worked the first time it was tested. A number of companies, such as Adaptec and Optimem, were early supporters of SCSI. By late 1990 at least 45 manufactures offered 251 models of parallel SCSI host adapters Today, such host adapters have largely been displaced by the faster serial SCSI (SAS) host adapters.

The "small" reference in "small computer system interface" 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, Atari, Apple Macintosh and Sun Microsystems computer lines and PC server systems. Apple started using the less-expensive parallel ATA (PATA, 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, while still offering a PCI SCSI host adapter as an option on up to the Power Macintosh G4 (AGP Graphics) models. Sun switched its lower-end range to Parallel ATA (PATA) with introduction of their Ultra 5 and 10 low end workstations using CMD640 IDE controller and continued this trend with the later Blade 100 and 150 entry level systems and did not switch to contemporary SATA interface even with the introduction of the Blade 1500 in 2003 while the higher end Blade 2500 released at the same time used Ultra320 Parallel SCSI-3. Sun moved to SATA and SAS interfaces with their last UltraSPARC-III-based workstations in 2006 with the entry-level Ultra 25 and mid-range Ultra 45. Commodore included SCSI 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. Atari included SCSI as standard in its Atari MEGA STE, Atari TT and Atari Falcon computer models. SCSI has never been popular in the low-priced IBM PC world, owing to the lower cost and adequate performance of the ATA hard disk standard. However, SCSI drives and even SCSI RAIDs became common in PC workstations for video or audio production.

Modern SCSI Recent physical versions of SCSISerial Attached SCSI (SAS), SCSI-over-Fibre Channel Protocol (FCP), and USB Attached SCSI (UAS)break from the traditional parallel SCSI bus and perform data transfer via serial communications using point-to-point links. Although much of the SCSI documentation talks about the parallel interface, all modern development efforts use serial interfaces. Serial interfaces have a number of advantages over parallel SCSI, including higher data rates, simplified cabling, longer reach, improved fault isolation and full-duplex capability. 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.

The non-physical iSCSI preserves the basic SCSI paradigm, especially the command set, almost unchanged, through embedding of SCSI-3 over TCP/IP. Therefore, iSCSI uses logical connections instead of physical links and can run on top of any network supporting IP. The actual physical links are realized on lower network layers, independently of iSCSI. Predominantly, Ethernet is used, which is also of a serial nature.

SCSI is popular on high-performance workstations, servers, and storage appliances. Almost all RAID subsystems on servers have used some kind of SCSI hard disk drives for decades (initially Parallel SCSI, interim Fibre Channel, recently SAS), though a number of manufacturers offer SATA-based RAID subsystems as a cheaper option. Moreover, SAS offers compatibility with SATA devices, creating a much broader range of options for RAID subsystems together with the existence of nearline SAS (NL-SAS) drives. Instead of SCSI, modern desktop computers and notebooks typically use SATA interfaces for internal hard disk drives, with NVMe over PCIe gaining popularity as SATA can bottleneck modern solid-state drives.

Interfaces

SCSI is available in a variety of interfaces. The first was parallel SCSI (also called SCSI Parallel Interface or SPI), which uses a parallel bus design. Since 2005, SPI has been gradually replaced by Serial Attached SCSI (SAS), which uses a serial design but retains other aspects of the technology. Many other interfaces that do not rely on complete SCSI standards still implement the SCSI command protocol; others drop physical implementation entirely while retaining the SCSI architectural model. iSCSI, for example, uses TCP/IP as a transport mechanism, which is most often transported over Gigabit Ethernet or faster network links.

SCSI interfaces have often been included on computers from various manufacturers for use under Microsoft Windows, classic Mac OS, Unix, Amiga and Linux operating systems, either implemented on the motherboard or by means of plug-in adaptors. With the advent of SAS and SATA drives, provision for parallel SCSI on motherboards was discontinued.

Parallel SCSI

Initially, the SCSI Parallel Interface (SPI) was the only interface using the SCSI protocol. Its standardization started as a single-ended 8-bit bus in 1986, transferring up to , and evolved into a low-voltage differential 16-bit bus capable of up to . The last SPI-5 standard from 2003 also defined a speed, which failed to be realized.

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

SCSI interfaces Interface Alternativenames Specificationbody / document Width(bits) Clock Line code Maximum Throughput Length Devices Ultra-320 SCSI Ultra-4; Fast-160 SPI-5 (INCITS 367-2003) 16 80 MHz DDR none (2560 Mbit/s) 12 m 16 SSA Serial Storage Architecture T10 / INCITS 309-1997 serial 200 Mbit/s 8b10b (160 Mbit/s) 25 m 96 SSA 40 T10 / INCITS 309-1997 serial 400 Mbit/s (320 Mbit/s) 25 m 96 Fibre Channel 1 Gbit 1GFC T11 / X3T11/94-175v0 FC-PH Draft, Revision 4.3 serial 1.0625 Gbit/s 8b10b (850 Mbit/s) 500 m / 10 km 127 (FC-AL)224 (FC-SW) Fibre Channel 2 Gbit 2GFC T11 / X3T11/96-402v0 FC-PH-2, Rev 7.4 serial 2.125 Gbit/s (1,700 Mbit/s) 500 m / 10 km 127/224 Fibre Channel 4 Gbit 4GFC T11 / INCITS Project 2118-D / Rev 6.10 serial 4.25 Gbit/s (3,400 Mbit/s) 500 m / 10 km 127/224 Fibre Channel 8 Gbit 8GFC T11 / INCITS Project 2118-D / Rev 6.10 serial 8.5 Gbit/s (6,800 Mbit/s) 500 m / 10 km 127/224 Fibre Channel 16 Gbit 16GFC T11 / INCITS Project 2118-D / Rev 6.10 serial 14.025 Gbit/s 64b66b 1,575 MB/s (13,600 Mbit/s) 500 m / 10 km 127/224 SAS 1.1 Serial attached SCSI T10 / INCITS 417-2006 serial 3 Gbit/s 8b10b (2,400 Mbit/s) 6 m 16,256 SAS 2.1 T10 / INCITS 478-2011 serial 6 Gbit/s (4,800 Mbit/s) 6 m 16,256 SAS 3.0 T10 / INCITS 519 serial 12 Gbit/s 1,200 MB/s (9,600 Mbit/s) 6 m 16,256 SAS 4.0 T10 / INCITS 534 (draft) serial 22.5 Gbit/s 128b150b 2,400 MB/s (19,200 Mbit/s) tbd 16,256 IEEE 1394-2008 Firewire S3200, i.Link, Serial Bus Protocol (SBP) IEEE Std. 1394-2008 serial 3.145728 Gbit/s 8b10b (2,517 Mbit/s) 4.5 m 63 SCSI Express SCSI over PCIe (SOP) T10 / INCITS 489 serial 8 GT/s (PCIe 3.0) 128b130b (7,877 Mbit/s) short, backplane only 258 USB Attached SCSI 2 UAS-2 T10 / INCITS 520 serial 10 Gbit/s (USB 3.1) 128b132b ~1,200 MB/s (~9,500 Mbit/s) 3 m 127 ATAPI over Parallel ATA ATA Packet Interface T13 / 16 33 MHz DDR none (1,064 Mbit/s) 2 ATAPI over Serial ATA serial 6 Gbit/s 8b10b (4,800 Mbit/s) 1 m 1 (15 with port multiplier) iSCSI Internet Small Computer System Interface, SCSI over IP IETF / RFC 7143 mostly serial implementation- and network-dependent 1,187 MB/s or 1,239 MB/s implementation- and network-dependent 280 (IPv6 ULA) SRP SCSI RDMA Protocol (SCSI over InfiniBand and similar) T10 / INCITS 365-2002 implementation- and network-dependent

Cabling

SCSI Parallel Interface