Jump to content

Serial Attached SCSI: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Codename description expanded further by elaborating the server backplane connection.
Restore citation; Pronunciation should be mentioned in both articles; Undid revision 971962215 by JohnmgKing (talk)
Line 20: Line 20:
}}
}}


In [[computing]], '''Serial Attached SCSI''' ('''SAS''') is a point-to-point serial [[Communications protocol|protocol]] that moves data to and from [[Computer storage|computer-storage]] devices such as [[hard disk drive]]s and [[tape drive]]s. SAS replaces the older [[Parallel SCSI]] bus technology that first appeared in the mid-1980s. SAS, like its predecessor, uses the standard [[SCSI command|SCSI command set]]. SAS offers optional compatibility with [[Serial ATA]] (SATA), versions 2 and later. This allows the connection of SATA drives to most SAS [[backplane]]s or controllers. The reverse, connecting SAS drives to SATA backplanes, is not possible.<ref>
In [[computing]], '''Serial Attached SCSI''' ('''SAS''') is a point-to-point serial [[Communications protocol|protocol]] that moves data to and from [[Computer storage|computer-storage]] devices such as [[hard disk drive]]s and [[tape drive]]s. SAS replaces the older [[Parallel SCSI]] (Parallel Small Computer System Interface, usually pronounced "scuzzy" or "sexy"<ref name="ThompsonThompson2003">{{cite book |first1=Robert Bruce |last1=Thompson |first2=Barbara Fritchman |last2=Thompson|title=PC Hardware in a Nutshell: A Desktop Quick Reference|url=https://books.google.com/books?id=kG8LcWfruOAC&pg=PT308|date=24 July 2003|publisher="O'Reilly Media, Inc."|isbn=978-0-596-55234-3|page=422}}</ref><ref name="NCR1990">{{cite book|author=NCR Corporation|title=Scsi: understanding the small computer system interface|url=https://archive.org/details/scsiunderstandin00ncrc|url-access=registration|year=1990|publisher=Prentice Hall|location=University of Virginia|language=English|page=[https://archive.org/details/scsiunderstandin00ncrc/page/5 5]}}</ref>) bus technology that first appeared in the mid-1980s. SAS, like its predecessor, uses the standard [[SCSI command|SCSI command set]]. SAS offers optional compatibility with [[Serial ATA]] (SATA), versions 2 and later. This allows the connection of SATA drives to most SAS [[backplane]]s or controllers. The reverse, connecting SAS drives to SATA backplanes, is not possible.<ref>
{{cite web
{{cite web
| url = http://www.adaptec.com/en-us/_whitepapers/tech/sata/sas_sata_unprlcompat.htm
| url = http://www.adaptec.com/en-us/_whitepapers/tech/sata/sas_sata_unprlcompat.htm

Revision as of 20:38, 14 January 2021

SAS
Serial Attached SCSI
Four red cables lead into a wide black electrical connector
SAS connector
Width in bits1
No. of devices65,535
Speed
  • SAS-1: Full-duplex[1] 3 Gbit/s (2004)
  • SAS-2: Full-duplex 6 Gbit/s (2009)
  • SAS-3: Full-duplex 12 Gbit/s (2013)
  • SAS-4: Full-duplex 22.5 Gbit/s (2017)[2]
StyleSerial

In computing, Serial Attached SCSI (SAS) is a point-to-point serial protocol that moves data to and from computer-storage devices such as hard disk drives and tape drives. SAS replaces the older Parallel SCSI (Parallel Small Computer System Interface, usually pronounced "scuzzy" or "sexy"[3][4]) bus technology that first appeared in the mid-1980s. SAS, like its predecessor, uses the standard SCSI command set. SAS offers optional compatibility with Serial ATA (SATA), versions 2 and later. This allows the connection of SATA drives to most SAS backplanes or controllers. The reverse, connecting SAS drives to SATA backplanes, is not possible.[5]

The T10 technical committee of the International Committee for Information Technology Standards (INCITS) develops and maintains the SAS protocol; the SCSI Trade Association (SCSITA) promotes the technology.

Introduction

Storage servers housing 24 SAS hard disk drives per server

A typical Serial Attached SCSI system consists of the following basic components:

  1. An initiator: a device that originates device-service and task-management requests for processing by a target device and receives responses for the same requests from other target devices. Initiators may be provided as an on-board component on the motherboard (as is the case with many server-oriented motherboards) or as an add-on host bus adapter.
  2. A target: a device containing logical units and target ports that receives device service and task management requests for processing and sends responses for the same requests to initiator devices. A target device could be a hard disk drive or a disk array system.
  3. A service delivery subsystem: the part of an I/O system that transmits information between an initiator and a target. Typically cables connecting an initiator and target with or without expanders and backplanes constitute a service delivery subsystem.
  4. Expanders: devices that form part of a service delivery subsystem and facilitate communication between SAS devices. Expanders facilitate the connection of multiple SAS End devices to a single initiator port.[6]

History

  • SAS-1: 3.0 Gbit/s, introduced in 2004[7]
  • SAS-2: 6.0 Gbit/s, available since February 2009
  • SAS-3: 12.0 Gbit/s, available since March 2013
  • SAS-4: 22.5 Gbit/s called "24G",[8] standard completed in 2017[7][2]
  • SAS-5: 45 Gbit/s is being developed[9]

Identification and addressing

A SAS Domain is the SAS version of a SCSI domain—it consists of a set of SAS devices that communicate with one another by means of a service delivery subsystem. Each SAS port in a SAS domain has a SCSI port identifier that identifies the port uniquely within the SAS domain, the World Wide Name. It is assigned by the device manufacturer, like an Ethernet device's MAC address, and is typically worldwide unique as well. SAS devices use these port identifiers to address communications to each other.

In addition, every SAS device has a SCSI device name, which identifies the SAS device uniquely in the world. One doesn't often see these device names because the port identifiers tend to identify the device sufficiently.

For comparison, in parallel SCSI, the SCSI ID is the port identifier and device name. In Fibre Channel, the port identifier is a WWPN and the device name is a WWNN.

In SAS, both SCSI port identifiers and SCSI device names take the form of a SAS address, which is a 64 bit value, normally in the NAA IEEE Registered format. People sometimes refer to a SCSI port identifier as the SAS address of a device, out of confusion. People sometimes call a SAS address a World Wide Name or WWN, because it is essentially the same thing as a WWN in Fibre Channel. For a SAS expander device, the SCSI port identifier and SCSI device name are the same SAS address.

Comparison with parallel SCSI

  • The SAS "bus" operates point-to-point while the SCSI bus is multidrop. Each SAS device is connected by a dedicated link to the initiator, unless an expander is used. If one initiator is connected to one target, there is no opportunity for contention; with parallel SCSI, even this situation could cause contention.
  • SAS has no termination issues and does not require terminator packs like parallel SCSI.
  • SAS eliminates clock skew.
  • SAS allows up to 65,535 devices through the use of expanders, while Parallel SCSI has a limit of 8 or 16 devices on a single channel.
  • SAS allows a higher transfer speed (3, 6 or 12 Gbit/s) than most parallel SCSI standards. SAS achieves these speeds on each initiator-target connection, hence getting higher throughput, whereas parallel SCSI shares the speed across the entire multidrop bus.
  • SAS devices feature dual ports, allowing for redundant backplanes or multipath I/O; this feature is usually referred to as the dual-domain SAS.[10]
  • SAS controllers may connect to SATA devices, either directly connected using native SATA protocol or through SAS expanders using Serial ATA Tunneling Protocol (STP).
  • Both SAS and parallel SCSI use the SCSI command set.

Comparison with SATA

There is little physical difference between SAS and SATA.[11]

  • SAS protocol provides for multiple initiators in a SAS domain, while SATA has no analogous provision.[11]
  • Most SAS drives provide tagged command queuing, while most newer SATA drives provide native command queuing.[11]
  • SATA uses a command set that is based on the parallel ATA command set and then extended beyond that set to include features like native command queuing, hot-plugging, and TRIM. SAS uses the SCSI command set, which includes a wider range of features like error recovery, reservations and block reclamation. Basic ATA has commands only for direct-access storage. However SCSI commands may be tunneled through ATAPI[11] for devices such as CD/DVD drives.
  • SAS hardware allows multipath I/O to devices while SATA (prior to SATA 2.0) does not.[11] Per specification, SATA 2.0 makes use of port multipliers to achieve port expansion, and some port multiplier manufacturers have implemented multipath I/O using port multiplier hardware.
  • SATA is marketed as a general-purpose successor to parallel ATA and has become common in the consumer market, whereas the more-expensive SAS targets critical server applications.
  • SAS error-recovery and error-reporting uses SCSI commands, which have more functionality than the ATA SMART commands used by SATA drives.[11]
  • SAS uses higher signaling voltages (800–1,600 mV for transmit, and 275–1,600 mV for receive[clarification needed]) than SATA (400–600 mV for transmit, and 325–600 mV for receive[clarification needed]). The higher voltage offers (among other features) the ability to use SAS in server backplanes.[11]
  • Because of its higher signaling voltages, SAS can use cables up to 10 m (33 ft) long, whereas SATA has a cable-length limit of 1 m (3.3 ft) or 2 m (6.6 ft) for eSATA.[11]
  • SAS is full duplex, whereas SATA is half duplex. The SAS transport layer can transmit data at the full speed of the link in both directions at once, so a SCSI command executing over the link can transfer data to and from the device simultaneously. However, because SCSI commands that can do that are rare, and an SAS link must be dedicated to an individual command at a time, this is generally not an advantage.[12]

Characteristics

Technical details

The Serial Attached SCSI standard defines several layers (in order from highest to lowest): application, transport, port, link, PHY and physical. Serial Attached SCSI comprises three transport protocols:

  • Serial SCSI Protocol (SSP) – for command-level communication with SCSI devices.
  • Serial ATA Tunneling Protocol (STP) – for command-level communication with SATA devices.
  • Serial Management Protocol (SMP) – for managing the SAS fabric.

For the Link and PHY layers, SAS defines its own unique protocol.

At the physical layer, the SAS standard defines connectors and voltage levels. The physical characteristics of the SAS wiring and signaling are compatible with and have loosely tracked that of SATA up to the 6 Gbit/s rate, although SAS defines more rigorous physical signaling specifications as well as a wider allowable differential voltage swing intended to allow longer cabling. While SAS-1.0 and SAS-1.1 adopted the physical signaling characteristics of SATA at the 3 Gbit/s rate with 8b/10b encoding, SAS-2.0 development of a 6 Gbit/s physical rate led the development of an equivalent SATA speed. In 2013, 12 Gbit/s followed in the SAS-3 specification.[13] SAS-4 is slated to introduce 22.5 Gbit/s signaling with a more efficient 128b/150b encoding scheme to realize a usable data rate of 2,400 MB/s while retaining compatibility with 6 and 12 Gbit/s.[14]

Additionally, SCSI Express takes advantage of the PCI Express infrastructure to directly connect SCSI devices over a more universal interface.[15]

Architecture

The architecture of SAS layers

SAS architecture consists of six layers:

  • Physical layer:
    • defines electrical and physical characteristics
    • differential signaling transmission
    • Multiple connector types:
      • SFF-8482 – SATA compatible
      • Internal four-lane connectors: SFF-8484, SFF-8087, SFF-8643
      • External four-lane connectors: SFF-8470, SFF-8088, SFF-8644
  • PHY Layer:
  • Link layer:
    • Insertion and deletion of primitives for clock-speed disparity matching
    • Primitive encoding
    • Data scrambling for reduced EMI
    • Establish and tear down native connections between SAS targets and initiators
    • Establish and tear down tunneled connections between SAS initiators and SATA targets connected to SAS expanders
    • Power management (proposed for SAS-2.1)
  • Port layer:
    • Combining multiple PHYs with the same addresses into wide ports
  • Transport layer:
    • Contains three transport protocols:
      • Serial SCSI Protocol (SSP): for command-level communication with SCSI devices
      • Serial ATA Tunneled Protocol (STP): for command-level communication with SATA devices
      • Serial Management Protocol (SMP): for managing the SAS fabric
  • Application layer

Topology

An initiator may connect directly to a target via one or more PHYs (such a connection is called a port whether it uses one or more PHYs, although the term wide port is sometimes used for a multi-PHY connection).

SAS expanders

The components known as Serial Attached SCSI Expanders (SAS Expanders) facilitate communication between large numbers of SAS devices. Expanders contain two or more external expander-ports. Each expander device contains at least one SAS Management Protocol target port for management and may contain SAS devices itself. For example, an expander may include a Serial SCSI Protocol target port for access to a peripheral device. An expander is not necessary to interface a SAS initiator and target but allows a single initiator to communicate with more SAS/SATA targets. A useful analogy: one can regard an expander as akin to a network switch in a network, which connects multiple systems using a single switch port.

SAS 1 defined two types of expander; however, the SAS-2.0 standard has dropped the distinction between the two, as it created unnecessary topological limitations with no realized benefit:

  • An edge expander allows for communication with up to 255 SAS addresses, allowing the SAS initiator to communicate with these additional devices. Edge expanders can do direct table routing and subtractive routing. (For a brief discussion of these routing mechanisms, see below). Without a fanout expander, you can use at most two edge expanders in a delivery subsystem (because you connect the subtractive routing port of those edge expanders together, and you can't connect any more expanders). Fanout expanders solve this bottleneck.
  • A fanout expander can connect up to 255 sets of edge expanders, known as an edge expander device set, letting even more SAS devices be addressed. The subtractive routing port of each edge expanders connects to the phys of fanout expander. A fanout expander cannot do subtractive routing, it can only forward subtractive routing requests to the connected edge expanders.

Direct routing allows a device to identify devices directly connected to it. Table routing identifies devices connected to the expanders connected to a device's own PHY. Subtractive routing is used when you are not able to find the devices in the sub-branch you belong to. This passes the request to a different branch altogether.

Expanders exist to allow more complex interconnect topologies. Expanders assist in link-switching (as opposed to packet-switching) end-devices (initiators or targets). They may locate an end-device either directly (when the end-device is connected to it), via a routing table (a mapping of end-device IDs and the expander the link should be switched to downstream to route towards that ID), or when those methods fail, via subtractive routing: the link is routed to a single expander connected to a subtractive routing port. If there is no expander connected to a subtractive port, the end-device cannot be reached.

Expanders with no PHYs configured as subtractive act as fanout expanders and can connect to any number of other expanders. Expanders with subtractive PHYs may only connect to two other expanders at a maximum, and in that case they must connect to one expander via a subtractive port and the other via a non-subtractive port.

SAS-1.1 topologies built with expanders generally contain one root node in a SAS domain with the one exception case being topologies that contain two expanders connected via a subtractive-to-subtractive port. If it exists, the root node is the expander, which is not connected to another expander via a subtractive port. Therefore, if a fanout expander exists in the configuration, it must be the domain's root node. The root node contains routes for all end devices connected to the domain. Note that with the advent in SAS-2.0 of table-to-table routing and new rules for end-to-end zoning, more complex topologies built upon SAS-2.0 rules do not contain a single root node.

Connectors

SAS connectors are much smaller than traditional parallel SCSI connectors. Commonly, SAS provides for point data transfer speeds up to 12 Gbit/s.[17]

The physical SAS connector comes in several different variants:[18]

Codename Other names ext./int. Pins No of devices
/ lanes
Comment Image
SFF-8086 Internal mini-SAS,
internal mSAS
internal 26 4 This is a less common implementation of internal mSAS than SFF-8087's 36-circuit version.
The fewer positions is enabled by it not supporting sidebands.
SFF-8087 Internal mini-SAS,
internal mSAS,
internal iSAS,
internal iPass
internal 36 4 Unshielded 36-circuit implementation of SFF-8086.
Molex iPass reduced width internal 4× connector; 12 Gbit/s capability.
SFF-8088 External mini-SAS,
external mSAS,
external iSAS,
external iPass
external 26 4 Shielded 26-circuit implementation of SFF-8086.
Molex iPass reduced width external 4× connector; 12 Gbit/s capability.
SFF-8436 QSFP+,
Quad SFP+
external 38 4 Commonly used with many NetApp storage systems.
Often seen with SFF-8088 or SFF-8644 on the other end; 6 Gbit/s capability.
SFF-8470 InfiniBand CX4
connector,
Molex LaneLink
external 34 4 High-density external connector (also used as an internal connector).
SFF-8482 internal 29 2 lanes This form factor is designed for compatibility with SATA but can drive a SAS device.
A SAS controller can control SATA drives, but a SATA controller cannot control SAS drives.

The most common connection[19] for SAS drives connecting to backplanes in servers, i.e. PowerEdge[20] and ProLiant[21]

SFF-8484 internal 32 or
19
4 or 2 High-density internal connector, 2 and 4 lane versions are defined by the SFF standard.
SFF-8485 Defines SGPIO (extension of SFF 8484),
a serial link protocol used usually for LED indicators.
SFF-8613
(SFF-8643)
internal 36 4 or 8 with
dual connector
Mini-SAS HD (introduced with SAS 12 Gbit/s)


Also known as a U.2 port[22] along with SFF-8639.

SFF-8614
(SFF-8644)
external 4 or 8 with
dual connector
Mini-SAS HD (introduced with SAS 12 Gbit/s)
Sideband
connector
internal Often seen with 1× SFF-8643 or 1× SFF-8087 on the other end –
internal fan-out for 4× SATA drives.
Connects the controller to drives without backplane or
to the (SATA) backplane and optionally, to the status LEDs.
SFF-8680 internal
  • 1
  • (2 ports)
SAS 12 Gbit/s backplane connector
SFF-8639 internal 68
  • 1
  • (2 ports)
  • SAS 12 Gbit/s backplane connector;
  • revision of the SFF-8680.
  • Also known as "U.2".[23]
SFF-8638
  • Four 1x ports at up to 24 Gb/s each;
  • two 2x ports at up to 48 Gb/s each;
  • one 4x port at up to 96 Gb/s.
SFF-8640
  • Four 1x ports at up to 24 Gb/s each;
  • two 2x ports at up to 48 Gb/s each;
  • one 4x port at up to 96 Gb/s.[24]
SFF-8681
  • Two 1x ports at up to 24 Gb/s each;
  • one 2x ports at up to 48 Gb/s each.

Nearline SAS

Nearline SAS (abbreviated to NL-SAS, and sometimes called midline SAS) drives have a SAS interface, but head, media, and rotational speed of traditional enterprise-class SATA drives, so they cost less than other SAS drives. When compared to SATA, NL-SAS drives have the following benefits:[25]: 20 

  • Dual ports allowing redundant paths
  • Ability to connect a device to multiple computers
  • Full SCSI command set
  • No need for using Serial ATA Tunneling Protocol (STP), which is necessary for SATA HDDs to be connected to a SAS HBA.[25]: 16 
  • No need for SATA interposer cards, which are needed for pseudo–dual-port high availability of SATA HDDs.[25]: 17 
  • Larger depth of command queues

See also

References

  1. ^ "Differences between SAS and SATA".
  2. ^ a b "24G SAS Data Storage Specification Development Complete; SCSI Trade Association Spotlights Technology at 2017 Flash Memory Summit". SCSI Trade Association. 2017-08-07.
  3. ^ Thompson, Robert Bruce; Thompson, Barbara Fritchman (24 July 2003). PC Hardware in a Nutshell: A Desktop Quick Reference. "O'Reilly Media, Inc.". p. 422. ISBN 978-0-596-55234-3.
  4. ^ NCR Corporation (1990). Scsi: understanding the small computer system interface. University of Virginia: Prentice Hall. p. 5.
  5. ^ "SAS and SATA: Unparalleled Compatibility". Retrieved 2013-08-05.
  6. ^ "SAS architecture". ibm. Retrieved January 14, 2016.
  7. ^ a b "Serial Attached SCSI Master Roadmap". SCSI Trade Association. 2015-10-14. Retrieved 2016-02-26.
  8. ^ "Serial Attached SCSI - 4 (SAS-4) draft" (PDF). T10. 2016-05-11. Retrieved 2016-05-15.
  9. ^ http://www.t10.org/cgi-bin/ac.pl?t=f&f=sas5r01a.pdf
  10. ^ "Redundancy in enterprise storage networks using dual-domain SAS configurations". Hewlett-Packard Development Company. May 2008. Archived from the original (PDF) on 2016-01-10. Retrieved 2016-01-10.
  11. ^ a b c d e f g h "SATA vs SAS Hard Drives on Dedicated Servers". Steadfast.net. Steadfast. Retrieved 2013-08-05.
  12. ^ Schmid, Patrick; Roos, Achim (2009-08-31). "SAS Features And Basics - Next-Generation SAS: 6 Gb/s Storage Hits The Enterprise". Tom's Hardware. Retrieved 2014-07-15.
  13. ^ "Serial Attached SCSI - 3 (SAS-3)" (PDF). T10. 2013-11-07. Retrieved 2015-05-11.
  14. ^ "Serial Attached SCSI - 4 (SAS-4), 5.8.1 General electrical characteristics" (PDF). Retrieved 2015-05-11.
  15. ^ "Library » SCSI Express". SCSI Trade Association. Retrieved 2013-08-05.
  16. ^ "SAS Protocol Layer - 4 (SPL-4) draft, p." (PDF). T10. 2016-05-09. Retrieved 2016-05-15.
  17. ^ "LSI First to Ship New High-Performance 12Gb/s SAS Products". SCSITA.org. SCSI Trade Association. Retrieved 2013-12-03.
  18. ^ "SFF Committee specifications". ftp.Seagate.com. Seagate Technology. Retrieved 2013-08-05.
  19. ^ servethehome (2011-01-31). "SAS/ SATA SFF-8087, 8088, 8470, 8482, 8484 Connectors Guide". ServeTheHome. Retrieved 2021-01-12.
  20. ^ "Compatible Dell PowerEdge Server Hard Drives". Water Panther. Retrieved 2021-01-12.
  21. ^ "Compatible HPE ProLiant Server Hard Drives". Water Panther. Retrieved 2021-01-12.
  22. ^ "ICY TIPs_ICY DOCK manufacturer Removable enclosure, Screwless hard drive enclosure, SAS SATA Mobile Rack, DVR Surveillance Recording, Video Audio Editing, SATA portable hard drive enclosure". www.icydock.com. Retrieved 2020-06-29.
  23. ^ "SFF-8639 Review". PC Perspective. TekPerspective. Retrieved 2016-07-21.
  24. ^ "SAS Device to Mid-plane Interconnects Roadmap". SCSITA.org. SCSI Trade Association. 2015-08-15. Retrieved 2017-10-14.
  25. ^ a b c Willis Whittington (2007). "Desktop, Nearline & Enterprise Disk Drives" (PDF). Storage Networking Industry Association (SNIA). Retrieved 2014-09-22.