Serial Attached SCSI


In computing, Serial Attached SCSI is a point-to-point serial protocol that moves data to and from computer-storage devices such as hard drives and tape drives. SAS replaces the older Parallel SCSI 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, 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.
The T10 technical committee of the International Committee for Information Technology Standards develops and maintains the SAS protocol; the SCSI Trade Association promotes the technology.

Introduction

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 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 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.

    History

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

There is little physical difference between SAS and SATA.

Technical details

The Serial Attached SCSI standard defines several layers : application, transport, port, link, PHY and physical. Serial Attached SCSI comprises three transport protocols:
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. 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.
Additionally, SCSI Express takes advantage of the PCI Express infrastructure to directly connect SCSI devices over a more universal interface.

Architecture

SAS architecture consists of six layers:
An initiator may connect directly to a target via one or more PHYs.

SAS expanders

The components known as Serial Attached SCSI 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:
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 end-devices. They may locate an end-device either directly, via a routing table, 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.
The physical SAS connector comes in several different variants:
CodenameOther namesext./int.PinsNo of devices
/ lanes
CommentImage
SFF-8086Internal mini-SAS,
internal mSAS
internal264This 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-8087Internal mini-SAS,
internal mSAS,
internal iSAS,
internal iPass
internal364Unshielded 36-circuit implementation of SFF-8086.
Molex iPass reduced width internal 4× connector; 12 Gbit/s capability.
SFF-8088External mini-SAS,
external mSAS,
external iSAS,
external iPass
external264Shielded 26-circuit implementation of SFF-8086.
Molex iPass reduced width external 4× connector; 12 Gbit/s capability.
SFF-8436QSFP+,
Quad SFP+
external384Commonly used with many NetApp storage systems.
Often seen with SFF-8088 or SFF-8644 on the other end; 6 Gbit/s capability.
SFF-8470InfiniBand CX4
connector,
Molex LaneLink
external344High-density external connector.
SFF-8482internal292 lanesThis 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.
SFF-8484internal32 or
19
4 or 2High-density internal connector, 2 and 4 lane versions are defined by the SFF standard.
SFF-8485Defines SGPIO,
a serial link protocol used usually for LED indicators.
SFF-8613
internal364 or 8 with
dual connector
Mini-SAS HD
Also known as a U.2 port along with SFF-8639.
SFF-8614
external4 or 8 with
dual connector
Mini-SAS HD
Sideband
connector
internalOften 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 backplane and optionally, to the status LEDs.
SFF-8680internalSAS 12 Gbit/s backplane connector
SFF-8639internal68
SFF-8638
SFF-8640
SFF-8681

Nearline SAS

Nearline 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: