SCSI, (P)ATA, SAS, NL-SAS and SATA, what’s the difference? (part 2)

So what else is there that differentiates SCSI, (P)ATA, SAS, NL-SAS and SATA?

Size matters

In part 1 we talked about Rotations Per Minute and Command Queuing, but what else is there that makes a certain drive a better choice than any other? Other differences are the size of the platters. Commonly used are 3.5 inch and 2.5 inch. Although it makes sense that smaller platters can rotate faster than larger platters in the end only the size of the drive cage matters. It’s in fact somewhat weird that most 2.5 inch drives now rotate at 10k RPM and the 3.5 inch drives at 15k. Being able to cool the device is probably the main reason why a 10k drive only spins at 10k RPM. If it would rotate any faster, it would heat up more and heat dissipation could become a serious problem. So if you need a high GB per square meter density and performance doesn’t really matter, then the 2.5 inch drives make sense, but if performance is the key differentiator, the more IOps you can squeeze out of each drive, the better. And since we’re not discussing data center designs here, only quality / performance counts.

Nowadays we only have a handful of drive interfaces:

  1. SAS
  2. NL-SAS
  3. SATA
  4. Fibe Channel

SAS and NL-SAS even share the same interface, in fact they’re the same drives, but the NL-SAS just rotates at 7200 RPM instead of 10k or 15k. FC drives still exist, but newer storage systems show that SAS is on the move and for FC it seems as if “the end is near”. So in fact only 2 species of drives remain:

  1. (NL-)SAS
  2. SATA

Since SAS is Serial Attached SCSI it uses TCQ and SATA uses NCQ. We already discussed both reordering mechanisms and TCQ has the advantage over NCQ.

Commonly available drive sizes (GB) are:

  • SAS: 300, 600, 900 GB
  • NL-SAS and SATA: 1, 2, 3 and 4 TB

Some additional sizes exist as well, but it’s the general idea that I am trying to point out here.

Speed of the interface

Since SAS and SATA are related, speeds of both interfaces are 1.5GBps, 3GBps or 6GBps. I even remember seeing Hitachi having a 12GBps drive already. But that’s just the speed of the interface. So data which comes in over the cable, entering the interface and the drive’s buffers will run at these speeds, but the rotating drives behind the interface become the limiting factor and these enormous speeds won’t be reached at all when large amounts of data are being transported. But short bursts of data will actually flow at speeds like this.

Single port / dual port

The SATA interface is half duplex and single ported, so there’s only 1 path from a controller to the drive. SAS is full duplex by design and can have dual ports as well. I say “can”, since it also requires 2 controllers to connect each drive and only the high end server controllers or storage arrays have this capability. So SAS drives with only a single port are being sold as well. In general you’ll find single ported drives in servers and dual ported drives in storage arrays.

So SAS drives offer higher speeds, although the drives spindels can only handle so many IOps, making them equally fast as SATA drives. Having dual ports does actually make SAS drives higher available, so in fact more reliable, since if one path goes down, the other could still be functional.

Durability / quality

So if only RPM differentiates SAS and SATA, having NL-SAS rotating at 7200 RPM and SATA rotating at 7200 RPM should make no difference, right? The only thing I can actually think of that might make sense is the quality of the drives.

  • SATA/NL-SAS drives have a MTBF (Mean Time Between Failure) of 1.2 million hours. SAS drives have a MTBF of 1.6 million hours. SAS drives are more reliable than SATA when looking at MTBF.
  • SATA drives have a BER (Bit Error Rate) of 1 read error in 10^15 bits read. SAS drives have a BER of 1 read error in 10^16 bits read. SAS drives are 10x more reliable for read errors. Keep in mind a read error is data loss without other mechanisms (RAID or Network RAID) in place to recover the data.

Conclusion

  • If you want super performance, as well as quality, go for SAS running at 10k or 15k RPM
  • If you want good quality and high capacity, go for NL-SAS running at 7200 RPM
  • If you want cheap, mainstream high capacity storage, choose SATA running at 7200 RPM (or even lower speeds)
  1. Storage Technologies |   Nuno Paixão - pingback on May 14, 2013 at 12:50
  2. I do not agree with the “Conclusion”
    use IBM XIV with 7.2k rpm drives and get super performance!!
    Comparing to other storage systems with 10k/15k drives it should be easy ( :

    • I’m not saying an XIV can’t work for you, but in general high performance needs are better handled by high performance arrays. If your environment is large enough (or the performance needs are high enough) a small and cheap array won’t do it anymore. There is no way that “slower” drives can fully replace “faster” drives. At the same footprint (energy, heat dissipation) less drives can be better for you. I agree that if you have 3 drives at 7k2, they will outperform a single 15k drive, but at what cost? 3 Times the physical disk space (room for drives), maybe twice the energy (maybe even the same). If you have the environment to host that much more spindels, I’d be the last to say to not do it, but eventually blocks of data will come from individual drives and a 15k drive is faster than an individual 7k2 drive.
      There’s always the comparison between apples and pears. Lots of cache can work for you with cheaper hardware, but than again: cache costs money too. It all depends on your needs.

Would you like to comment on this post?

Trackbacks and Pingbacks: