Performance Difference SAS vs. SATA?

Solution 1:

Yes, the extensive command set of the SCSI is a big bonus of using it over SATA. from SAS' Wiki:

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[2] for devices such as CD/DVD drives.

The error recovery commands and block reclamation commands are pivotal in data integrity, S.M.A.R.T. is really for consumer grade equipment.

Also, SAS uses a higher signaling voltage, which enables longer cables compared to that of SATA. That's important when trying to cable up additional storage to an existing SAN.

You menitoned NCQ, but SCSI uses TCQ instead, which can be used in three different modes, however the bigger bonus imo with regard to parallelized setups is the ability to send up to 2^64 commands before filling the queue. Protocols like iSCSI and Fibre Channel limit this right now but the ability is there for future use.

I can only answer that portion, because I don't know if going with SAS for a couple of new disk will give you the same benefit of a purely SAS setup.

Solution 2:

This is a late answer, but I would like to add my opinion.

From a pure speed standpoint, a nearline drive (as the ones OP considered) will performs practically the same both using the SATA interface or SAS interface. Despite the much lower-depth NCQ (31 entries rather than TCQ 64K), this limited hardware queue is sufficient, when augmented with the much deeper software-based IO queue, to extract almost the same IOPS which can be obtained using SAS-based TCQ.

Anyway, this does not means that SAS has no practical advantages:

  • much better support for expanders
  • support for double-link interface
  • full-duplex operation
  • much faster maximum signaling rate (12 Gb/s vs 6 Gb/s)

However, when considering performance alone, the sad reality is that mechanical disk's random IOPS values are so low that the interface has almost no impact, excluding huge disk arrays where is can sometime limit your sequential IO transfer rate. Due to how they take rotational delay (which is hidden from the OS) into account, the killer performance-enhancing feature is NCQ/TCQ, and the SATA implementation is sufficiently good at that.

Some more significant differences appear when considering higher end SAS disks, which not only offer higher-RPM disks (10K and 15K), but have some interesting write-coalescing technologies (ie: HGST media cache tech) which, by the way, are slowly spilling into enterprise-SATA drives also.

1 https://ata.wiki.kernel.org/index.php/Libata_FAQ:

However, the ATA standard has a design flaw. The NCQ tag is presumed to be a 32-bit bitmap (32-bit dword). If all 32 tags are asserted, this produces a value (0xffffffff) that is the same value returned by reading a hardware register after the hardware has been hot-unplugged, or suffers a major failure. Thus, to distinguish this condition, libata artificially limits all NCQ configurations to 31 tags rather than 32.

Tags:

Storage

Sas

Sata