Serial Attached SCSI explained

Serial Attached SCSI (SAS) is a computer bus technology primarily designed for transfer of data to and from computer data storage devices such as hard drives, CD-ROM, DVD, tape drives and similar devices. SAS is a serial communication protocol for direct attached storage (DAS) devices. It is designed for the corporate and enterprise market as a replacement for parallel SCSI, allowing for much higher speed data transfers than previously available, and is backwards-compatible with SATA drives. SATA drives may be connected to SAS controllers, but SAS drives may not be connected to SATA controllers. Though SAS uses serial communication instead of the parallel method found in traditional SCSI devices, it still uses SCSI commands for interacting with SAS End devices.

The SAS protocol is developed and maintained by the T10 technical committee of the International Committee for Information Technology Standards (INCITS) and promoted by the SCSI Trade Association (SCSITA).

Introduction

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

  1. An Initiator is a device that originates device service and task management requests to be processed 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 is 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 is 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 are devices that are part of a service delivery subsystem and facilitate communication between SAS devices. It facilitates connection of multiple SAS End devices to a single initiator port.

SAS Domain & WWN (World Wide Name)

A "SAS Domain" is an I/O system consisting of a set of SAS devices that communicate with one another by means of a service delivery subsystem. Each SAS device in a SAS domain has a globally unique identifier assigned by the device manufacturer (similar to an Ethernet device's MAC address) called a World Wide Name (aka SAS address). The WWN uniquely identifies the device in the SAS domain just as a SCSI ID identifies a device in a parallel SCSI bus. A SAS domain may contain up to a total of 16,256 devices.

SAS (Serial Attached SCSI) vs parallel SCSI

SAS vs SATA

Characteristics

Technical details

The Serial Attached SCSI standard defines several layers (in order from highest to lowest):

Serial Attached SCSI is composed of 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. Although not identical, the physical characteristics of the SAS wiring and signaling are so similar to SATA that it is unlikely that one technology will be faster than the other. SAS and SATA will probably both progress at the same rate to 3.0 Gbps, 6.0 Gbps, and 12.0 Gbps.

Architecture

SAS architecture consists of five layers:

Topology

An initiator may be directly connected 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

A Serial Attached SCSI Expander (SAS Expander) is a component used to 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 an SAS initiator and target but, if connected, helps a single initiator to communicate with more SAS/SATA targets. A useful analogy: an expander can be considered akin to a network hub in a network which allows multiple systems to be connected using a single switch port.

There are two different types of expander: Edge Expanders and Fanout Expanders.

Direct routing allows a device to identify devices directly connected to it. Table routing is for identifying 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 will pass 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.

There exists one root (most 'upstream') node in a SAS domain. This 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 knows about all end devices connected to the domain.

Connectors

The SAS connector is much smaller than traditional parallel SCSI connectors allowing for the small 2.5 inch drives. SAS supports point data transfer speeds up to 3 Gbit/s, but is expected to reach 12 Gbit/s by the year 2012.

The physical SAS connector is available in several different variants:

ImageCodenameAlso known asExt/int
  1. of pins
  1. of devices
Comment
SFF 8482SATA connectorInternal1Form factor compatible with SATA: allows for SATA drives to connect to a SAS backplane, which obviates the need to install an additional SATA controller just to attach a DVD-writer, for example. Note that SAS drives are not usable on a SATA bus and have their physical connector keyed to prevent any plugging into a SATA backplane. The pictured connector is a drive side connector.
SFF 8484Internal32 (19)4 (2)Hi-density internal connector, 2 and 4 lane versions are defined by the SFF standard
SFF 8485Defines SGPIO (extension of SFF 8484) - a serial link protocol used usually for LED indicators
SFF 8470Infiniband connectorExternal324Hi-density external connector (also used as an internal connector)
SFF 8087Internal mini-SASInternal4Molex iPASS reduced width internal 4x connector with future 10 Gbit/s support
SFF 8088External mini-SASExternal324Molex iPASS reduced width external 4x connector with future 10 Gbit/s support

See also

External references