Turns out, before I go full speed ahead shopping for controllers, I
need to know what I’m looking for (go figure). “SATA” apparently
doesn’t say it all, and “SATA II” doesn’t even refer to anything
concrete, supposedly.
I originally thought I was looking for “SATA II” drives for that
300MB/s throughput. Once I found out I’d never hit that on a single
drive, I was more interested in the features that supposedly accompany
SATA II. Then I read stuff like “Dispelling the Confusion: SATA II
does not mean 3Gb/s” and
“SATA II still on rocky
road”.
The long and short of it: SATA II was the name of the consortium (or
working group, or whatever) that was supposed to come up with
enhancements to SATA. Somehow their name started getting used as if
it were a standard—but it doesn’t refer to any such thing. The SATA
II group is now known as SATA-IO, I believe.
SATA can be 150MB/s or 300MB/s. It can support things such as native
command queuing (NCQ), port mulipliers (PM), hot swap, and staggered
spin-up. So look real close at any drive you buy to see if these
features are supported.
For my purposes, either 150MB/s or 300MB/s is fine, since I don’t
expect more than 70MB/s from a drive. In fact, I might enjoy using a
port multiplier to put several drives on the same SATA channel, but
port multipliers sound very hit-and-miss WRT driver, firmware, and
hardware support; so I’m avoiding those. In the future sticking three
or four drives on a 300MB/s SATA bus would be a nice way to get a
whole bunch of drives in a system. (Just make sure the bus your
controller is connected to can actually carry that kind of throughput
to the machine!) Still, a controller that supports port multipliers is
a plus; at least I’ll have the option for using them in the future.
I desire NCQ support, since a few benchmarks I’ve seen here and there
seem to indicate it can provide a significant, if not quite
substantial, speed increase. (Check out the MaxLine NCQ vs. no NCQ
benchmarks on
StorageReview.net for
an example, I think.) There’s also tagged command queuing (TCQ)
support I’ve seen on some controllers. I don’t think I’ve seen a
drive advertise this feature yet, but I haven’t really looked. I seem
to recall TCQ from SCSI. I don’t know if TCQ offers a performance
boost, if TCQ is implicit in every SATA implementation, if TCQ and NCQ
can be used together, etc. I know nothing about TCQ. I like
acronyms, and I don’t think it’s a bad thing.
Hot swap support is nice, but not a requirement. Honestly I’m not
sure I’d ever use it. I’m likely too afraid to pull a failed disk out
a live RAID 5 array.
This brings up a side note: how afraid should I be of a two disk
failure? Losing 2TB of information because of some odd power problem,
for example, would piss me right off. On one hand I think about RAID
6. But I couldn’t get a full 2TB—and we all know how important that
is—even with 300GB drives, since I’d lose two to parity. I’m
actually thinking more of keeping actual backups. Maybe on DVD media.
What might be fun is a system that pops out your DVD writer tray and
lets you toss in a DVD whenever you think about it. When you put in a
DVD, it keeps the disc in the drive and backs up as much new/changed
(since the last disc) information as it can fit on the disc, then it
pops it out. Later, you stow that disc away, pop in a new one, and
the process keeps repeating itself. If you ever actually catch up
with all the data on your disc, it just keeps the DVD in the writer.
If I actually wanted to use a DVD writer more frequently in that
system, it might be a problem that the backup software could
theoretically always be using it; but I don’t predict I’ll be burning
DVDs from my file server. One problem might be keeping an index of
files: how does it know that a file on disc 14 was superseded by a
newer version on disc 49? Maybe you could fit an index on a USB thumb
drive, or just another hard disk, or a copy on every hard disk, or
something like that. (Mirrored USB flash drives!) Just an idea. I
wonder if anyone has made something like this.
Done with that tangent now. The summary: don’t say “SATA II—that’s
good enough!” Look closely at exactly what the device (controller or
drive) supports.
I’ll add a bit more about SATA physical interfaces.
COOLDrives has a nice visual
introduction to all of the different types of SATA
connectors.
(COOLDrives also seems to have a good selection of all things SATA,
such as enclosures, controllers, cables, etc. I haven’t bought from
them, haven’t comparison shopped their prices, but their selection is
great and their web site is more or less clean enough to be usable.
Lots of pictures helps. Kudos.) There’s your typical SATA connector,
which I think of as an “internal SATA connector.” Then there’s your
eSATA connector, for external connections. There’s also such a thing
as multi-lane eSATA, which is really four SATA cables (that can do
300MB/s a second, each, so as to set your mind at ease) in one. You
lose nothing, you gain fewer cables hanging around outside your box,
less connectors, and maybe even a more sturdy connection from the
looks of it. On the other hand, I haven’t seen many SATA controllers
with eSATA multi-lane connections available. I have seen a few with,
say, four eSATA (not multi-lane, but, er, “single-lane”) connectors on
them. Now, perhaps you’ve got an enclosure that has these same eSATA
connectors on it; in that case, no problem, you just buy a bunch of
eSATA cables. Some enclosures I’ve seen at COOLDrives have the option
of either multi-lane connectors or “single-lane” eSATA connections on
them. What I am interested in finding is a cable that breaks a
multi-lane connection, such as you find on an enclosure, into four
eSATA connectors, such as you might find on a
controller.
(P.S.: sorry for the bad example, since I have no idea what they’re
talking about with that “eSATA - SATA converter cable” in there. I
just wanted to illustrate four “single-lane” eSATA ports. I think
those are eSATA ports. Next stop, confusion central. All aboard!)
(P.P.S: After doing some more reading, Areca controllers document
something called internal
multi-lane
on their ARC-1130ML/1160ML controllers. So I guess multi-lane can be
internal or external.)
Update: OK, I didn’t want to go to P.P.P.S., but Areca confuses
me. They’ve got external
“Infinband”
or
“Infiniband”
connectors, depending on what day you catch them on. It looks like
the Infiniband connector is also known as
SFF-8470.
Searching around on this term led me to a list of cables sold by
Adaptec
where it looks like they have an internal multi-lane to 4 SATA “fan
out” cable. Are internal and external multi-lane cables different?
That connector on the COOLDrives SATA connectors
page sure looks
bigger, and has screws on it. COOLDrives also has a internal 4 port
to external multi-lane
adapter. They mention Infiniband here.
So here’s what I’m going to say: first of all, instead of Multi-lane
I’m going to write multi-lane. Second, Infiniband is, as far as I
know, a new high speed serial bus; it is a competitor to PCIe. I’m
going to guess there are specifications for external Infiniband
connections, and it just so happens that the SATA multi-lane
connections use the same Infiniband connectors and cabling. I’ll go
totally wild and further speculate (A.K.A. pull out of my ass) that
they do this because Infiniband was very high speed, faster than SATA,
and they had already figured out a design for these things that
minimized interference/crosstalk/hamsters. It was a good, workable
design that someone had already spent time on, and even developed
equipment for, so they just went ahead and used it. By “they” I’m
probably talking about AMCC/3ware, for starters, from everything I’ve
read. Oh, and you can have Infiniband SATA internally or externally.
I somehow doubt the connectors are 100% compatible. The internal ones
seem to be described as “clicking” whereas the external seem to have
the screws, as shown on COOLDrives. I should really just mail them
and ask how you’d get from internal Infiniband to external Infiniband.
The only way I can see is those fanout cables from Adaptec to the
little converter linked above, and that seems dorky to “fan out” just
to consolidate them back in on the other side of the face place, but
with a different connector.
Now someone just figure out if I need to write “single lane” or
“single-lane.” I actually think it’s the former.
Some links:
- Serial ATA (SATA) Linux status
report has good
information on the status of support for a particular
controller/chipset in Linux, but it also has details on controller
capabilities. I used this to find out the Promise SATAII150 SX8
(why do you think I started looking into the definition of SATA
terms? That confusing name) supports NCQ, hot swap, PM, etc.
- The “TechTarget network,” despite sounding like a branch of a
well-known chain of discount stores in the US, has several articles
with potentially useful information about SATA (see also article
linked at beginning of this entry from them):
- What’s in a name? SATA II
Misconceptions
- COOLDrives has an SATA multi-lane
FAQ
with a little more information on that connector type.
For my future reference, a list of SATA controller manufacturers
(taken from handwritten notes in a margin, so don’t trust this to be
correct, let alone complete): Proximity Data, LSI, Promise,
Areca/Tecram, Adaptec, Highpoint, Sonnet, Addonics, Supermicro, Intel,
Newcell.