Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
SCSI
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Set of computer and peripheral connection standards}} {{Redirect|Scuzzy|the historic sternwheeler known by that name|Skuzzy (sternwheeler)}} {{Use mdy dates|date=November 2011}} {{Infobox connector | name = SCSI<br />Small Computer System Interface | type = [[Bus (computing)|Bus]] | logo = [[File:Scsi logo.svg|class=skin-invert|100px]] | caption = Single-ended parallel SCSI icon | designer = Team led by Larry Boucher at [[Shugart Associates]] | design_date = {{start date and age|1981|9}}<ref name="draft" /> | production_date = Since 1983 | superseded_by = | standardization_date = [[ANSI]] X3.131-1986, June 1986 }} '''Small Computer System Interface''' ('''SCSI''', {{IPAc-en|Λ|s|k|Κ|z|i}} {{respell|SKUZ|ee}})<ref>{{cite book|title=The Book of SCSI|last=Field|page=1}}</ref> 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 drive]]s. 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 [[Serial Attached SCSI|SAS-4]] in 2017. The SCSI standards define [[SCSI command|commands]], protocols, electrical, optical and logical [[Interface (computing)|interfaces]]. 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. The initial [[Parallel SCSI]] was most commonly used for [[hard disk drive]]s and [[tape drive]]s, but it can connect a wide range of other devices, including scanners and [[optical disc drive]]s, although not all controllers can handle all devices. The ancestral 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.<ref>{{cite web|url=https://global.ihs.com/doc_detail.cfm?document_name=ANSI%20INCITS%20131&item_s_key=00009673&item_key_date=911231 |title=ANSI INCITS 131 94th Edition, 2004 |publisher=global.ihs.com |access-date=2017-04-25}}</ref> ==History== ===Parallel interface=== [[File:Adaptec ACB-4000A SASI card.jpg|thumb|Adaptec ACB-4000A SASI card from 1985]] SCSI is derived from the [[Shugart Associates]] System Interface (SASI),<ref name="glass198902">{{Cite magazine |last=Glass |first=Brett |date=February 1989 |title=Hard Disk Interfaces |url=https://archive.org/details/eu_BYTE-1989-02_OCR/page/n350/mode/1up?view=theater |access-date=2024-10-08 |magazine=BYTE |pages=293-297}}</ref> developed beginning 1979<ref>{{cite book |title=Data Technology Corporation Prospectus |date=May 27, 1987 |quote=In 1979 the Company developed the first controller using the SASI interface ... in conjunction with Shugart Associates}}</ref> and publicly disclosed in 1981.<ref name="draft">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)."</ref> [[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.<ref>{{cite book | last=Bahrami | first=Homa | author2=J. Stuart Evans | date=2005 | url=https://books.google.com/books?id=OlFUPUIcHoMC | title=Super-flexibility for Knowledge Enterprises | publisher=9783540205760 | page=59 | isbn=9783540205760 | via=Google Books}}</ref> 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.<ref>ANSI SCSI Standard, X3.131-1986, June 23, 1986, 2nd, foreword.</ref> In around 1980, [[NCR Corporation]] had been developing a competing interface standard by the name of BYSE. In the summer of 1981, NCR abandoned their 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, who 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.<ref name=spt>{{cite book | last=Musumeci | first=Gian-Paolo D. | author2=Michael Kosta Loukides | date=2002 | url=https://books.google.com/books?id=LqabAgAAQBAJ | title=System Performance Tuning | publisher=O'Reilly Media | page=147 | isbn=9780596002848 | via=Google Books}}</ref><ref>{{cite book | last=O'Reilly | first=James | date=2016 | url=https://books.google.com/books?id=Vop4CgAAQBAJ | title=Network Storage: Tools and Technologies for Storing Your Company's Data | publisher=Elsevier Science | page=255 | isbn=9780128038659 | via=Google Books}}</ref> Until at least February 1982, ANSI developed the specification as "SASI" and "Shugart Associates System Interface".<ref name="ANSI">Working document for ANSI meeting on March 3, 1982, "SASI SHUGART ASSOCIATES SYSTEM INTERFACE, Revision D, February 17, 1982"</ref> 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<ref>{{cite web|url=http://www.endl.com/ |title=ENDL Inc. Home Page |publisher=Endl.com |date=2014-04-27 |access-date=2014-05-11}}</ref> Dal Allan pronounced the new acronym as "scuzzy" and that stuck.<ref name="CHM">{{cite web|url=https://www.youtube.com/watch?v=OiLUIJ3ke-o | archive-url=https://ghostarchive.org/varchive/youtube/20211117/OiLUIJ3ke-o| archive-date=2021-11-17 | url-status=live|title="How Computer Storage Became a Modern Business", Computer History Museum, March 9, 2005 | date=December 7, 2007|publisher=Youtube.com |access-date=2014-05-11}}{{cbignore}}</ref> 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.<ref>{{cite web|url=http://smithsonianchips.si.edu/ncr/scsi-1.htm |title=NCR Collection (LSI Logic)at Smithsonian Museum |publisher=Smithsonianchips.si.edu |access-date=2014-05-11}}</ref><ref>{{cite journal | last=Bursky | first=D. | date=April 28, 1983 | url=https://link.gale.com/apps/doc/A536889/GPS?sid=wikipedia | title=Single-Chip Controller Handles SCSI | journal=Electronic Design | publisher=Endeavor Business Media | volume=31 | issue=9 | page=268 | via=Gale | quote=NCR Corp., Microelectronics Division has announced the release of its NCR 5385 single-chip controller. NCR is the first to use the Small Computer System Interface (SCSI) protocol.}}</ref> A number of companies, such as Adaptec and Optimem, were early supporters of SCSI.<ref name="ANSI"/> By late 1990 at least 45 manufactures offered 251 models of [[parallel SCSI]] host adapters<ref>{{cite report |title=SCSI Source Guide |date= Fourth Quarter 1990 |publisher= Technology Forums Inc |section=SCSI Products - Host Bus Adapters |pages=195β260}}</ref> Today, such host adapters have largely been displaced by the faster serial SCSI (SAS) host adapters.<ref>{{cite web |url=https://www.techtarget.com/searchstorage/definition/host-bus-adapter |title=host bus adapter (HBA) |last1=Sheldon |first1=Robert |last2=Sliwa |first2= Carol |publisher=TechTarget |access-date=April 18, 2024}}</ref> 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 Corporation|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 [[Conventional PCI|PCI]] SCSI host adapter as an option on up to the Power Macintosh G4 (AGP Graphics) models.<ref>{{cite web|url=http://support.apple.com/kb/HT3074?viewlocale=en_US |title=Power Macintosh G3, G4: Differences Between Available SCSI Cards |publisher=Apple, Inc.|date=2010-04-01 |access-date=2014-07-07}}</ref> Sun switched its lower-end range to [[Parallel ATA]] (PATA) with introduction of their [[Ultra 5/10|Ultra 5 and 10]] low end workstations using [[CMD640]] IDE controller and continued this trend with the later [[Sun Blade (workstation)|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 [[Serial Attached SCSI|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 ATA hard disk standard. However, SCSI drives and even SCSI [[RAID]]s became common in PC workstations for video or audio production. ==={{Anchor|SERIAL-VARIANTS}}Modern SCSI=== Recent physical versions of SCSI{{mdashb}}[[Serial Attached SCSI]] (SAS), SCSI-over-[[Fibre Channel Protocol]] (FCP), and [[USB Attached SCSI]] (UAS){{mdashb}}break from the traditional parallel SCSI bus and perform data transfer via serial communications using [[point-to-point (telecommunications)|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.<ref>{{Cite web |url=http://www.infostor.com/index/articles/display/232832/articles/infostor/volume-9/issue-7/features/special-report/the-benefits-of-serial-attached-scsi-sas.html |title=The benefits of Serial Attached SCSI (SAS) |author=David Allen |date=2005-07-01 |access-date=2015-02-06}}</ref> 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 [[OSI model|network layers]], independently from iSCSI. Predominantly, [[Ethernet]] is used which is also of 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 drive]]s. ==Interfaces== {{Main|SCSI connector}} SCSI is available in a variety of interfaces. The first was parallel SCSI (also called SCSI Parallel Interface or SPI), which uses a [[parallel communications|parallel]] [[Bus (computing)|bus]] design. Since 2005, SPI was gradually replaced by [[Serial Attached SCSI]] (SAS), which uses a [[Serial communications|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|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 [[computer network|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 the means of plug-in adaptors. With the advent of [[Serial Attached SCSI|SAS]] and [[SATA]] drives, provision for parallel SCSI on motherboards was discontinued.<ref>{{cite book|author1=Shuangbao Paul Wang|title=Computer Architecture and Security: Fundamentals of Designing Secure Computer Systems|isbn=978-1118168813|edition=1st|date=2013-01-10|publisher=John Wiley & Sons }}</ref> ===Parallel SCSI=== [[Image:Scsi-connectors.jpg|thumb|Assorted Parallel SCSI connectors]] {{Main|Parallel SCSI}} Initially, the ''SCSI Parallel Interface'' (SPI) was the only interface using the SCSI protocol. Its standardization started as a [[single-ended signaling|single-ended]] 8-bit [[system bus|bus]] in 1986, transferring up to {{nowrap|5 MB/s}}, and evolved into a low-voltage [[differential signaling|differential]] 16-bit bus capable of up to {{nowrap|320 MB/s}}. The last SPI-5 standard from 2003 also defined a {{nowrap|640 MB/s}} 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. ==={{Anchor|SCSI-EXPRESS}}SCSI interfaces=== {| class="wikitable" |- ! rowspan=2 | Interface ! rowspan=2 | Alternative<br />names ! rowspan=2 | Specification<br />body / document ! rowspan=2 | Width<br />(bits) ! rowspan=2 | Clock{{Efn|Clock rate in [[MHz]] for parallel, or [[bitrate]] (per second) for serial interfaces.}} ! rowspan=2 | [[Line code]] ! colspan=3 | Maximum |- ! Throughput ! Length{{Efn|For daisy-chain designs, length of bus, from end to end; for point-to-point, length of a single link}} ! Devices{{Efn|Including any host adapters (i.e., computers count as a device)}} |- | Ultra-320 SCSI | Ultra-4; Fast-160 | SPI-5 (INCITS 367-2003) | 16 | 80 MHz DDR | none | {{nowrap|320 MB/s}} (2560 Mbit/s) | 12 m | 16 |- | [[Serial Storage Architecture|SSA]] | rowspan=2 | Serial Storage Architecture | T10 / INCITS 309-1997 | serial | 200 Mbit/s | rowspan=2 | [[8b10b]] | {{nowrap|20 MB/s}}{{Efn|name="spatial_reuse"|spatial reuse}}{{Efn|name="fdx"|[[Duplex (telecommunications)|full duplex]]}}{{Efn|name="per_dir"}} (160 Mbit/s) | 25 m | 96 |- | SSA 40 | T10 / INCITS 309-1997 | serial | 400 Mbit/s | {{nowrap|40 MB/s}}{{Efn|name="spatial_reuse"}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (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 | rowspan=4 | 8b10b | {{nowrap|98.4 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"|per direction}} (850 Mbit/s) | 500 m / 10 km{{Efn|name="fcdist"|500 meters for [[Multi-mode optical fiber|multi-mode]], 10 kilometers for [[Single-mode optical fiber|single-mode]]}} | 127 ([[FC-AL]])<br />2<sup>24</sup> ([[switched fabric|FC-SW]]) |- | Fibre Channel 2 Gbit | 2GFC | T11 / X3T11/96-402v0 FC-PH-2, Rev 7.4 | serial | 2.125 Gbit/s | {{nowrap|197 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (1,700 Mbit/s) | 500 m / 10 km{{Efn|name="fcdist"}} | 127/2<sup>24</sup> |- | Fibre Channel 4 Gbit | 4GFC | T11 / INCITS Project 2118-D / Rev 6.10 | serial | 4.25 Gbit/s | {{nowrap|394 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (3,400 Mbit/s) | 500 m / 10 km{{Efn|name="fcdist"}} | 127/2<sup>24</sup> |- | Fibre Channel 8 Gbit | 8GFC | T11 / INCITS Project 2118-D / Rev 6.10 | serial | 8.5 Gbit/s | {{nowrap|788 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (6,800 Mbit/s) | 500 m / 10 km{{Efn|name="fcdist"}} | 127/2<sup>24</sup> |- | Fibre Channel 16 Gbit | 16GFC | T11 / INCITS Project 2118-D / Rev 6.10 | serial | 14.025 Gbit/s | [[64b/66b encoding|64b66b]] | 1,575 MB/s{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (13,600 Mbit/s) | 500 m / 10 km{{Efn|name="fcdist"}} | 127/2<sup>24</sup> |- | [[Serial attached SCSI|SAS]] 1.1 | rowspan=4 | Serial attached SCSI | T10 / [http://www.t10.org/drafts.htm#SCSI3_SAS INCITS 417-2006] | serial | 3 Gbit/s | rowspan=3 | 8b10b | {{nowrap|300 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (2,400 Mbit/s) | 6 m | 16,256{{Efn|name="128per"|128 per expander}} |- | SAS 2.1 | T10 / [http://www.t10.org/drafts.htm#SCSI3_SAS INCITS 478-2011] | serial | 6 Gbit/s | {{nowrap|600 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (4,800 Mbit/s) | 6 m | 16,256{{Efn|name="128per"}} |- | SAS 3.0 | T10 / [http://www.t10.org/cgi-bin/ac.pl?t=f&f=sas3r06.pdf INCITS 519] | serial | 12 Gbit/s | 1,200 MB/s{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (9,600 Mbit/s) | 6 m | 16,256{{Efn|name="128per"}} |- | SAS 4.0 | T10 / [http://www.t10.org/cgi-bin/ac.pl?t=f&f=sas4r01.pdf INCITS 534] (draft) | serial | 22.5 Gbit/s | [[128b/150b encoding|128b150b]] | 2,400 MB/s{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (19,200 Mbit/s) | tbd | 16,256{{Efn|name="128per"}} |- | [[IEEE 1394]]-2008 | Firewire S3200, i.Link, Serial Bus Protocol (SBP) | [https://ieeexplore.ieee.org/document/4659233 IEEE Std. 1394-2008] | serial | 3.145728 Gbit/s | 8b10b | {{nowrap|315 MB/s}} (2,517 Mbit/s) | 4.5 m | 63 |- | SCSI Express | SCSI over [[PCIe]] (SOP) | T10 / [http://www.t10.org/drafts.htm#SCSI3_PCI INCITS 489] | serial | 8 [[GT/s]] ([[PCIe]] 3.0) | [[128b/130b encoding|128b130b]] | {{nowrap|985 MB/s}}{{Efn|name="fdx"}}{{Efn|name="per_dir"}}{{Efn|per PCIe 3.0 lane}} (7,877 Mbit/s) | short, [[backplane]] only | 2<sup>58</sup> |- | [[USB Attached SCSI]] 2 | UAS-2 | T10 / [http://www.t10.org/drafts.htm#SCSI3_UAS INCITS 520] | serial | 10 Gbit/s ([[USB 3.1|USB 3.1]]) | [[128b/132b encoding|128b132b]] | ~1,200 MB/s{{Efn|name="fdx"}}{{Efn|name="per_dir"}} (~9,500 Mbit/s) | 3 m{{Efn|not specified, practical limitation of USB 3.1}} | 127 |- | [[ATAPI]] over [[Parallel ATA]] | rowspan=2 | ATA Packet Interface | rowspan=2 | T13 / {{webarchive |url=https://web.archive.org/web/20131215111345/http://www.t10.org/t13/project/d1153r18-ATA-ATAPI-4.pdf |title=NCITS 317-1998}} | 16 | 33 MHz [[double data rate|DDR]] | none | {{nowrap|133 MB/s}}{{Efn|half duplex}} (1,064 Mbit/s) | {{convert|457|mm|in|0|abbr=in}} | 2 |- | [[ATAPI]] over [[Serial ATA]] | serial | 6 Gbit/s | 8b10b | {{nowrap|600 MB/s}}{{Efn|half duplex}} (4,800 Mbit/s) | 1 m | 1 (15 with [[port multiplier]]) |- | [[iSCSI]] | Internet Small Computer System Interface, SCSI over [[TCP/IP|IP]] | [[IETF]] / RFC 7143 | mostly serial | colspan=2 style="text-align: center;" | implementation- and network-dependent | 1,187 MB/s{{Efn|over [[Ethernet]], per 10 Gbit/s, [[Maximum Transfer Unit|MTU]] 1500}} or 1,239 MB/s{{Efn|over Ethernet, per 10 Gbit/s, MTU 9000}} | style="text-align: center;" | implementation- and network-dependent | 2<sup>128</sup> ([[IPv6]]) |- | [[SCSI RDMA Protocol|SRP]] | SCSI RDMA Protocol (SCSI over [[InfiniBand]] and similar) | T10 / [http://www.t10.org/drafts.htm#SCSI3_SRP INCITS 365-2002] | colspan=5 style="text-align: center;" | implementation- and network-dependent | |} ==Cabling== [[File:SCSI-terminator-exposed-hdr-0a.jpg|thumb|right|[[electrical termination|Bus terminator]] with top cover removed]] ===SCSI Parallel Interface=== Internal parallel SCSI cables are usually [[ribbon cables|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. 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]] (SAS) uses a [[Serial Attached SCSI#Connectors|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 [[Internet Protocol|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 [[RDMA over Converged Ethernet|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== 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 device class|USB Mass Storage class]] and [[Serial Bus Protocol 2|FireWire SBP-2]]. In SCSI terminology, communication takes place between an [[SCSI initiator|initiator]] and a [[SCSI target|target]]. The initiator sends a [[SCSI command|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|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 four 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: *Test unit ready: Queries device to see if it is ready for data transfers (disk spun up, media loaded, etc.). *Inquiry: Returns basic device information. *Request sense: Returns any error codes from the previous command that returned an error status. *Send diagnostic and Receive diagnostic results: runs a simple self-test, or a specialised test defined in a diagnostic page. *Start/Stop unit: Spins disks up and down, or loads/unloads media (CD, tape, etc.). *Read capacity: Returns storage capacity. *Format unit: Prepares a storage medium for use. In a disk, a [[low level format]] will occur. Some tape drives will erase the tape in response to this command. *Read: (four variants): Reads data from a device. *Write: (four variants): Writes data to a device. *Log sense: Returns current information from log pages. *Mode sense: Returns current device parameters from [[SCSI mode pages|mode pages]]. *Mode select: Sets device parameters in a mode page. 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 ([[SCSI LBA|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]], [[Digital Data Storage|DDS]] (4 mm tapes physically similar to [[digital audio tape|DAT]]), [[Exabyte (company)|Exabyte]], etc., support variable block sizes. ==Device identification== ===Parallel interface=== {{Technical|section|date=June 2008}} 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 an [[Option ROM]] (SCSI 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 back plane 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. 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.<ref>{{cite book|last=Groth|first=David|author2=Dan Newland |title=A+ Complete Study Guide |url=http://www.bookfinder4u.com/IsbnSearch.aspx?isbn=0782128025&mode=direct|edition=2nd|date=January 2001|publisher=l Sybex|location=Alameda, CA, USA|isbn=978-0-7821-4244-0|page=183}}</ref> ===General=== Note that a SCSI target device (which can be called a "physical unit") is sometimes 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".<ref> {{cite web | title = na_lun(1) β Manual page for "lun" on NetApp DataONTAP | publisher = [[NetApp]] | date = July 7, 2009 | quote = The lun command is used to create and manage luns[...] | url = https://library.netapp.com/ecmdocs/ECMP1511537/html/man1/na_lun.1.html }} </ref> Sometimes, redundantly, the actual LUN may be called a "LUN number" or "LUN id".<ref> {{cite web | title = na_lun(1) β Manual page for "lun" on NetApp DataONTAP | publisher = [[NetApp]] | date = July 7, 2009 | quote = If a LUN ID is not specified, the smallest number [...] is automatically picked. | url = https://library.netapp.com/ecmdocs/ECMP1511537/html/man1/na_lun.1.html }} </ref> In modern SCSI transport protocols, there is an automated process for the "discovery" of the IDs. The SSA initiator (normally the host computer through the 'host adaptor') "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. SCSI has the CTL (Channel, Target or Physical Unit Number, Logical Unit Number) identification mechanism per [[host bus adapter]], or the HCTL (HBA, Channel, PUN, LUN) identification mechanism, one host adapter may have more than one channels.<ref>{{Cite web|title=SCSI Addressing|url=https://tldp.org/HOWTO/SCSI-2.4-HOWTO/scsiaddr.html|access-date=2021-03-04|website=tldp.org}}</ref> ==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,<ref>{{cite web|url=http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V40F_HTML/MAN/MAN7/0003____.HTM |title=An example of an old SCSI interface which supported only named mass storage devices |publisher=H30097.www3.hp.com |access-date=2014-05-11}}</ref> 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|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== *[[Fibre Channel]] *[[List of device bandwidths]] *[[Parallel SCSI]] *[[Serial Attached SCSI]] *[[Intelligent Peripheral Interface]] == Notes == {{Notelist|30em}} == References == {{Reflist|30em}} ==Bibliography== {{Refbegin}} *{{cite book|last=Field|first=Gary|author2=Peter Ridge|author3=John Lohmeyer|author4=Gerhard Islinger|author5=Stefan Groll|title=The Book of SCSI|edition=2nd|publisher=No Starch Press|year=2000|isbn=978-1-886411-10-4|url-access=registration|url=https://archive.org/details/isbn_9781886411104}} {{Refend}} ==External links== {{Commons category|SCSI}} {{Wiktionary|SCSI}} {{Refbegin}} * [http://www.t10.org/ InterNational Committee for Information Technology Standards: T10 Technical Committee on SCSI Storage Interfaces] (SCSI standards committee) {{Refend}} {{Computer bus}} {{Authority control}} {{DEFAULTSORT:Scsi}} [[Category:SCSI| ]] [[Category:Macintosh internals]] [[Category:Logical communication interfaces]] [[Category:Electrical communication interfaces]] [[Category:Computer storage buses]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Authority control
(
edit
)
Template:Cbignore
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite report
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:Computer bus
(
edit
)
Template:Convert
(
edit
)
Template:Efn
(
edit
)
Template:IPAc-en
(
edit
)
Template:Infobox connector
(
edit
)
Template:Main
(
edit
)
Template:Mdashb
(
edit
)
Template:Notelist
(
edit
)
Template:Nowrap
(
edit
)
Template:Redirect
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Respell
(
edit
)
Template:Short description
(
edit
)
Template:Technical
(
edit
)
Template:Use mdy dates
(
edit
)
Template:Webarchive
(
edit
)
Template:Wiktionary
(
edit
)