Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Aug 2017 09:59:13 -0600
From:      Alan Somers <asomers@freebsd.org>
To:        "Mikhail T." <mi+m@aldan.algebra.com>
Cc:        freebsd-hardware@freebsd.org, FreeBSD-scsi <freebsd-scsi@freebsd.org>
Subject:   Re: Do I need SAS drives?..
Message-ID:  <CAOtMX2jeUbSm535Zvd_7aHfQao-dMs5zbU0o3GRWk%2BcmW1Nq=g@mail.gmail.com>
In-Reply-To: <4DFBCE11-913A-4FC9-937D-463B4D49816C@aldan.algebra.com>
References:  <4DFBCE11-913A-4FC9-937D-463B4D49816C@aldan.algebra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Aug 9, 2017 at 8:27 AM, Mikhail T. <mi+m@aldan.algebra.com> wrote:
> My server has 8 "hot-plug" slots, that can accept both SATA and SAS drives. SATA ones tend to be cheaper for the same features (like cache-sizes), what am I getting for the extra money spent on SAS?
>
> Asking specifically about the protocol differences... It would seem, for example, SATA can not be as easily hot-plugged, but with camcontrol(8) that should not be a problem, right? What else? Thank you!
> --
> Sent from mobile device, please, pardon shorthand.

Good question.  First of all, hot-plugability has more to do with the
controller than the protocol.  Since you have a SAS controller, you
should have no problem hot plugging SATA drives.  But SAS drives still
have a few advantages:

1) When a SATA drive goes into error recovery, it can lock up the bus
indefinitely.  This won't matter if your drives are directly connected
to a SAS HBA.  But if you have an expander with say, 4 SAS lanes going
to the HBA, then a flaky SATA drive can reduce the bandwidth available
to the good drives.

2) Even with NCQ, the SATA protocol is limited to queueing one or more
write commands OR one or more read commands.  You can't queue a
mixture of reads and writes at the same time.  SAS does not have that
limitation.  In this sense, SAS is theoretically more performant.
However, I've never heard of anybody observing a performance problem
that can be definitely blamed on this effect.

3) SAS drives have a lot of fancy features that you may not need or
care about.  For example, they often have features that are useful in
multipath setups (dual ports, persistent reservations), their error
reporting capabilities are more sophisticated than SMART, their self
encrypting command set is more sophisticated, etc etc.

4) The SAS activity LED is the opposite of SATA's.  With SATA, the LED
is off for an idle drive or blinking for a busy drive.  With SAS, it's
on for an idle drive or blinking for a busy drive.  This makes it
easier to see at a glance how many SAS drives you have installed.  I
think some SATA drives have a way to change the LEDs behavior, though.

5) Desktop class SATA drives can spend an indefinite amount of time in
error recovery mode.  If your RAID stack doesn't timeout a command,
that can cause your array to hang.  But SAS drives and  RAID class
SATA drives will fail any command than spends too much time in error
recovery mode.

6) But the most important difference isn't something you'll find on
any datasheet or protocol manual.  SAS drives are built to a higher
standard of quality than SATA drives, and have accordingly lower
failure rates.

I'm guessing that you don't have an expander (since you only have 8
slots), so item 1 doesn't matter to you.  I'll guess that item 3
doesn't matter either, or you wouldn't have asked this question.  Item
5 can be dealt with simply by buying the higher end SATA drives.  So
item 6 is really the most important.  If this system needs to have
very high uptime and consistent bandwidth, or if it will be difficult
to access for maintenance, then you probably want to use SAS drives.
If not, then you can save some money by using SATA.  Hope that helps.

-Alan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2jeUbSm535Zvd_7aHfQao-dMs5zbU0o3GRWk%2BcmW1Nq=g>