Unlike SATA, SAS works on a full-duplex basis and provides full bandwidth in both directions. As mentioned earlier, SAS connections are always established through physical links using unique device addresses. In contrast, SATA can only address port numbers.
Each SAS address may consist of multiple PHYs to create wide links on InfiniBand (SFF-8470) or mini-SAS cables (SFF-8087 and -8088). Typically, four SAS links using one PHY each are routed through a wide SAS link to connect to SAS devices. Links can also flow through expanders, which act more like switches than SAS devices.
Features such as zoning now allow admins to assign specific SAS devices to initiators. This is where the increased SAS 6 6 Gb/s speed kicks in, as the four-way wide connection now offer twice the bandwidth. Finally, SAS devices may even have multiple SAS addresses. Since SAS drives can be dual-ported, with one PHY on each port, one drive can support two SAS address.
Links, Connectors, and Connections
SAS connections are addressed to SAS ports using SSP (Serial SCSI Protocol), but established from PHY to PHY using one or multiple links for bandwidth reasons. SAS uses 8/10-bit encoding to convert 8-bit of data into 10-bit characters for clock recovery, DC balance, and error detection. This results in an effective gross bandwidth of 300 MB/s for the 3 Gb/s transfer mode and 600 MB/s for 6 Gb/s connections. Fibre Channel, Gigabit Ethernet, FireWire, and other storage device technologies work on the same encoding scheme.
SAS and SATA power and data connectors are largely the same. While SAS merges power and data into one physical connector (SFF-8482 on the device side), SATA requires two separate cables. The notch between the data and the power pins (see image above) is filled in the case of SAS, preventing a SAS device from being connected to a SATA controller.
On the other hand, SATA devices can operate very well on SAS hardware through STP or natively, if no expander hardware is used. STP introduces extra latency, as dwords flow through expanders. The expander has to establish the connection, which is a slower process than SATA’s direct communication. Still, the latency is acceptably low.
SAS domains can be compared to tree-like structures similar to what you may know from Ethernet networks. SAS expanders can manage a large number of SAS devices, but they work based on link switching rather than the more common packet switching. Some expanders include SAS devices while others don’t.
SAS 1.1 recognizes edge expanders, which allow a SAS initiator to communicate with up to 128 additional SAS addresses. Only two edge expanders can be used in a SAS 1.1 domain. However, one fanout expander can connect up to 128 edge expanders, which dramatically increases the possible structure of your SAS solution.
Compared to SATA, SAS may seem complex, with different initiators accessing target devices through expanders, which take care of the appropriate routing. SAS 2.0 simplifies and improves how this routing is accomplished.
It is important to know that SAS prohibits loops or multiple paths. All connections have to be point-to-point and exclusive, but the link architecture itself is very scaleable.