August 20, 2005

SATA

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.

Comments (1)

  1. August 28, 2005
    leonard said...

    Hey, it sounds like we’re doing some similar research right now…

    If you’re going RAID-5, I definitely recommending still doing backups to a separate unit / archival storage. I just had two drives die on my old 0.7TB RAID-5 system, which makes it pretty much a total loss (I’m considering paying for data recovery…).

    My new setup will be all RAID 1, with a separate RAID 1 backup unit, and spending some time writing a good backup solution (surprisingly I haven’t been able to find a good program that will do good rsyncing, diffing/incrementals, aging/pruning, and archival/cataloguing).

    I’m going w/ eSATA not multilane (as you mentioned, those are rather finicky right now). I’m not worried about SATA II as things are way too much in flux until the real 2.5 spec gets finalized.

    As far as drives, I’m looking most closely at the WD WD4000YR for its high MTBF, but will probably mix and match with some Seagate 7200.8′s (I’ll be using SW RAID so I can have different drive brands – that whole trying to avoid simultaneous spontaneous failure thing).