Serial attached SCSI
SAS
Serial
attached SCSI
SAS
connector
Width in
bits 1
Number of
devices 65,535
Speed 3.0 Gbit/s at introduction, 6.0
Gbit/s available Feb 2009, 12.0 Gbit/s available Mar 2013
Style Serial
Serial
Attached SCSI (SAS) is a point-to-point serial protocol that moves data to and
from computer storage devices such as hard drivesand tape drives. SAS replaces
the older Parallel SCSI (Small ComputerSystem Interface, pronounced
"scuzzy") bus technology that first appeared in the mid-1980s. SAS,
like its predecessor, uses the standardSCSI command set. SAS offers backward
compatibility with SATA, versions 2 and later. This allows for SATA drives to
be connected to SASbackplanes. The reverse, connecting SAS drives to SATA
backplanes, is not possible.[1]
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
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 managementrequests
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.
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. It is assigned by the device manufacturer, like
an Ethernet device'sMAC address, and is typically world-wide 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
or 6 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.[2]
• SAS controllers may connect to SATA
devices, either directly connected using native SATA protocol or through SAS
expanders using SATA Tunneled Protocol (STP).
• Both SAS and parallel SCSI use the
SCSI command-set.
Comparison
with SATA
There is
little physical difference between SAS and SATA.[3]
• Systems identify SATA devices by their
port number connected to the host bus adapter or by their universally unique
identifier (UUID), while SAS devices are uniquely identified by their World
Wide Name (WWN).
• SAS protocol provides for multiple
initiators in a SAS domain, while SATA has no analogous provision.[3]
• Most SAS drives provide tagged command
queuing, while most newer SATA drives provide native command queuing,[3] each
of which has its pros and cons.
• 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[3]
for devices such as CD/DVD drives.
• SAS hardware allows multipath I/O to
devices while SATA (prior to SATA 2.0) does not.[3] 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 ATASMART commands
used by SATA drives.[3]
• 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.[3]
• 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.[3]
• 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 a SAS link must be dedicated to an
individual command at a time, this is generally not an advantage.[4]
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 present 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/SAS-1.1 adopted the physical signaling characteristics of SATA at the
1.5 Gbit/s and 3 Gbit/s rates, SAS-2.0 development of a 6 Gbit/s physical rate
led the development of an equivalent SATA speed. According to the SCSI Trade
Association, 12 Gbit/s is slated to follow 6 Gbit/s in a 2013 SAS-3.0
specification.[5][6][7] Additionally, SCSI Express takes advantage of PCI
Express infrastructure to directly connect SCSI devices over the more universal
interface.[8]
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:
• 8b/10b data encoding
• Link initialization, speed negotiation
and reset sequences
• Link capabilities negotiation (SAS-2)
• 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
The SAS
connector is much smaller than traditional parallel SCSI connectors, allowing
for the small 2.5-inch (64 mm) drives. Commonly, SAS provides for point data
transfer speeds up to 6 Gbit/s, but 12 Gbit/s products have begun shipping in
2013.[9]
The physical
SAS connector comes in several different variants:[10]
Image Codename Other names Ext./int. Pins No
of devices Comment
SFF-8086 Internal mini-SAS, internal mSAS Internal 26 4 This is a less common implementation
of SFF-8087 than the 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 with future 10
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 with future 10 Gbit/s
capability.
SFF-8470 InfiniBandCX4 connector, Molex LaneLink External 32 4 High-density
external connector (also used as an internal connector).
SFF-8482 Internal 29 1 This form factor is designed for
compatibility with SATA. The socket is compatible with SATA drives; however,
the SATA socket is not compatible with SFF-8482 (SAS) drives. The pictured
connector is a drive-side connector.
SFF-8484 Internal 32 (19) 4
(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-8643 Internal 4/8 Mini-SAS HD (introduced with SAS 12 Gbit/s)
SFF-8644 External 4/8 Mini-SAS HD (introduced with SAS 12 Gbit/s)
SFF-8680 Internal 1
(2 ports) SAS 12 Gbit/s backplane
connector

No comments:
Post a Comment