Parallel SCSI in trouble

Just like P-ATA, which was limited to 133 MB/s, all kinds of skew and crosstalk problems kept parallel SCSI from using a 160 MHz clock. That 160 MHz clock was necessary to reach the 640 MB/s for the next evolution of parallel SCSI, SCSI-640. The result is that SCSI-640 died a silent death.

As you can use up to 14 disk drives on one shared SCSI bus, and with the fastest SCSI hard disk reaching up to 100 MB/s, the 320 MB/s transfer rate was starting to become a bottleneck in many fileserver related applications. By design, SCSI is not very efficient when it comes to raw bandwidth. Tests show that 2 Gb/s or 200 MB/s FC offers more raw bandwidth than SCSI 320. Of course, fourteen SCSI disk still do not need to transfer several hundreds of megabytes per second when running a transactional OLTP database workload, but maximum wire speed wasn't the only concern with parallel SCSI.

As SCSI-320 was still backwards compatible with the early SCSI versions, commands were sent at a "back to the eighties" pace: 5 MB/s. This slow rate of sending commands wastes up to 30% of the performance of the SCSI bus. Another big problem was the fact that you could only attach 14 devices on one host bus adapter. This limited the possibilities to expand your storage in directly attached storage configurations.


The SAS/SATA revolution

SAS is much more than a serialized version of SCSI-320. Instead of writing a - probably boring - essay about the new features in the SAS protocol, let us see what new functionality is available by just looking at real SAS implementations and products. First, we take a look at the LSI Logic SAS3442X-R.



LSI Logic SAS3442X-R: a 8-port 3Gb/s SAS, PCI-X HBA

The first things that you will notice is that you can attach two cables to the internal SAS connector: one for SATA and one for SAS drives. The male connector on our SAS HBA card can connect to both the "female" connectors of SATA and the SAS cables which are slightly different. As you can see below, it is not possible to use the SAS male connector (the lower drawing in blue and green) of the disk with SATA cables. Basically, SAS HBA supports both SAS and SATA drives whereas SATA HBA only support SATA drives.



The connector on top enables the ability to connect - internally - a SATA drive to our HBA, and the connector at the bottom allows us to connect SAS drives.

SAS is just like TCP/IP or Fibre Channel in that it's a layered protocol. There are three transport protocols that use the same SAS underlying physical and link-layer protocols:
  • The Serial SCSI Protocol (SSP), which transports the SCSI commands over the link layer (similar to the Fibre Channel Protocol)
  • The Serial ATA Tunnelling Protocol (STP), which transports the SATA frames to the SATA drives
  • The Serial Management Protocol (SMP), the protocol which makes it possible to use expanders and to get diagnostic information (does the disk work, is it plugged in?)
Below you can see the whole layered model.


The Serial Management Protocol supports expanders, which give SAS a very high degree of flexibility and scalability. The "Port layer" allows wide port which enables much more bandwidth than would have been possible with SCSI-320 and 640. Notice that the SCSI Protocol (SSP) and the Serial ATA Tunnelling Protocol use the same link and physical layers. This allows SATA and SAS drives on the same expander. Let us bring the theory into actual practice....

Enterprise Disks: all about SCSI SAS layers in the real world
Comments Locked

21 Comments

View All Comments

  • slashbinslashbash - Thursday, October 19, 2006 - link

    Sounds great, thanks. If possible it'd be great to see full schematics of the setup, pics of everything, etc. This is obviously outside the realm of your "everyday PC" stuff where we all know what's going on. I administer 6 servers at a colo facility and our servers (like 90% of the other servers that I see) are basically PC hardware stuck in a rackmount box (and a lot of the small-shop webhosting companies at the colo facility use plain towers! In the rack across from ours, there are 4 Shuttle XPC's! Unbelievable!).

    We use workstation motherboards with ECC RAM, Raptor drives, etc. but still it's basically just a PC. These external enclosures, SAS, etc. are a whole new realm. I know that it'd be better than the ad-hoc storage situation we have now, but I'm kind of scared because I don't know how it works and I don't know how much it would cost. So now I know more about how it works, but the cost is still scary. ;)

    I guess the last thing I'd want to know is the OS support situation. Linux support is obviously crucial.

Log in

Don't have an account? Sign up now