Server Hardware Explained (Part 8)

by [Published on 26 April 2012 / Last Updated on 26 April 2012]

This article continues the discussion of server hardware by explaining how SATA drives can be used on an SAS backplane. The article then goes on to discuss SAS expanders.

If you would like to read the other parts in this article series please go to:

Introduction

In my previous article, I explained that SAS is essentially a modernization of the legacy SCSI architecture. SAS is compatible with the legacy SCSI commands, but the physical layer is based on a point to point switched topology rather than on the legacy bus topology. Being that SAS is a next generation SCSI implementation, you might be surprised to learn that SAS and SATA drives can be mixed on the same bus.

The reason why it is possible to mix SAS and SATA on the same bus has to do with the fact that SAS is a newer technology than SATA. In fact, SAS borrows heavily from the SATA design. Both SAS and SATA use low level serial interconnects and both use the same 1.5, 3.0, or 6.0 gigabit transfer speeds.

Physical Connectivity

The SAS connector is designed to be compatible with both SAS and SATA drives. It is worth noting however, that even though SATA drives can be attached to a SAS connector, SAS drives cannot be connected to SATA ports. SATA cables are keyed in a way that makes it impossible to attach a SAS drive.

SCSI Compatibility

So if the SAS architecture is truly an extension of SCSI, then you might be wondering how it is that SATA drives can function on a SAS backplane. After all, SATA drives are based on the legacy ATA architecture and are more closely related to IDE drives than to SCSI drives.

Besides the physical connectivity, the reason why it is possible to use SAS and SATA drives together has to do with the fact that the SAS backplane makes use of three different protocols. As you might expect, one of these protocols is the Serial SCSI Protocol (SSP). The Serial SCSI protocol is used to send SCSI commands to SAS devices.

The second protocol that is used on the SAS backplane is the SATA Tunneling Protocol (which is sometimes called the SATA Tunneled Protocol). The SATA Tunneling Protocol (STP) allows serial ATA commands to be transmitted across the SAS backplane.

The third protocol that is used is the SCSI Management Protocol (SMP). This protocol allows management information to be sent to expanders.

Which Should You Choose?

Since SAS and SATA drives can each be plugged into the SAS backplane, the obvious question becomes whether it is better to use SAS drives, SATA drives, or a mixture of the two. In order to answer this question, it is necessary to consider the nature of SAS and SATA drives.

Comparing SAS and SATA is kind of like comparing an economy car to a Ferrari. Either car will get you where you are going. The difference is that while the economy car will save you a few bucks, the Ferrari will get you to your destination more quickly and with more noise and flash.

In this analogy, the SATA drive is like the economy car. SATA drives have a low cost per gigabyte and you can use SATA drives to store massive amounts of data without spending a lot of money (relatively speaking). On the other hand, SAS drives are more expensive than SATA drives, but offer better performance. They are also arguably more reliable than SATA drives.

One of the main reasons why SAS was designed to be backward compatible with SATA was to give systems integrators and network administrators the option to choose between price and performance. Servers running light workloads are often able to make use of commodity hardware without suffering any ill effects. On the other hand, high demand servers such as virtualization hosts or database servers usually require better performing hardware.

Not only does SAS’s backward compatibility with SATA give administrators a choice between price and performance, but it also makes upgrading a breeze if the need should ever arise. Prior to the introduction of SAS, upgrading to SCSI meant either purchasing a SCSI controller (initiator) or in extreme cases, replacing the entire server. In contrast, if you are using SATA drives on a SAS backplane and you want to upgrade to SAS, all you have to do is replace the drives.

A Word About Expanders

Earlier in this article series, I mentioned that even though early SCSI architectures only supported either eight or sixteen devices, SAS uses a serial bus and supports up to 65,535 devices if port expanders are used. Since I never really got the chance to elaborate on this point, I wanted to take the opportunity to talk a little bit about SAS expanders.

Larger organizations often require servers to connect to large numbers of disks. Sometimes this is done for performance reasons. The more disks that data is stripped across, the better the performance (within reason). Another reason why a server might require a large number of disks is because of storage capacity requirements. Whatever the reason, a SAS initiator alone may be insufficient.

The physical dimensions of a SAS initiator mean that it can only accommodate a finite number of ports. Typically for example, an SAS initiator can accommodate a maximum of 16 drives (without the use of expanders). Expanders make it possible for a SAS initiator to control many more drives than what would otherwise be capable of.

Some have compared SAS expanders to network switches. A single port network adapter should theoretically only be able to connect to a single network device. However, if you plug the network adapter into a network switch, the switch facilitates communications with any number of network devices. SAS expanders work in a similar way. They overcome a SAS initiator’s physical cable limitations.

There are two types of SAS expanders that you need to be aware of. The first type is an edge expander. An edge expander can accommodate up to 255 SAS drives. You also have the option of using two edge expanders to support up to 510 drives.

Of course 510 drives is a far cry from the 65,535 devices that I mentioned earlier. Support for such a staggering number of devices is only possible through the use of fanout expanders. Fanout expanders sit between the SAS initiator and the edge expanders. A single fanout expander can accommodate up to 255 edge expanders, each of which can accommodate 255 drives.

It is important to keep in mind that these are the theoretical limits to the SAS architecture. I have yet to see a hardware vendor offer a server with 65,000+ drives. SAS deployments are limited more by practicality than by limits of the architecture itself. For example, just imagine what it would take to provide electricity to that many drives.

One last thing that I want to quickly mention about SAS expanders is that even though expanders make use of routing protocols, they are backward compatible with SATA drives.

Conclusion

Now that I have talked about SAS and SATA compatibility and about the role of SAS port expanders, I want to turn my attention to something different. In my next article in this series, I will begin talking about server processors.

If you would like to read the other parts in this article series please go to:

Advertisement

Featured Links