Serial ATA, and the HighPoint RocketRAID 1520
Review date: 18 September 2002. Last modified 03-Dec-2011.
At first glance, it seems amazing that AT Attachment (ATA) has lasted this long.
ATA, also known as IDE (which stands for either Integrated Drive Electronics or Intelligent Drive Electronics, depending on who you ask), is a drive interface standard that's now sixteen years old. It grew out of ESDI, which wasn't very good but was still superior to the generally awful ST-506 (also known as ST-412, after the 5 and 10Mb Seagate drives that were first to use the interface). ATA is now firmly entrenched as the de facto standard storage interface for everyday computers.
The reason why ATA's still around is that it's been massively extended. In 1986, when ATA was announced, a 16MHz 80386 was a red hot PC CPU, and an 80286 with 640K RAM and a 20Mb ST506 hard drive cost $US4000. That's more than $US6500 in 2002 dollars.
Current PCs have hard drives that are a lot faster - the current ATA/133 ceiling speed is 16 times higher than the original ATA-1 standard could manage - and a few thousand times larger in capacity than 1986 drives. To handle all this, ATA's been revised several times.
ATA's backwards compatibility is quite good, though. Some very elderly ATA devices can still be used on modern controllers. But ATA still uses big awkward ribbon cables, with quite stringent length limits; no ATA cable is meant to be longer than 18 inches, and the current super-fast Ultra DMA ATA modes can be quite touchy about that.
There is, therefore, still room for improvement. And Serial ATA (SATA) is that improvement.
The arrival of SATA means that we're going to have to refer to the earlier ATA versions with the retronym "Parallel ATA" (PATA). The difference is summed up in the names - SATA sends data serially, with only one bit of data per clock, but a fast clock speed. PATA sends data, um, parallel-ly; 16 bits of data are moved at a time, and so the clock speed only needs to be 1/16th of SATA's clock, for the same bandwidth.
Parallel data transfer works well at lower speeds, but the faster you run it, the more difficult it becomes to keep all of the data wires synchronised and stop them interfering with each other. That's why Ultra DMA/66 and faster PATA drives need an 80-wire cable instead of the old-style 40-wire; the extra 40 conductors are all earths, interleaved between the other wires for interference reduction purposes.
SATA has a far slimmer data cable than PATA, and its standard cable length is an expansive one metre - about 39 inches.
From the point of view of the operating system and the end user who doesn't fiddle around inside his or her PC, there's pretty much nothing new about SATA at all. You don't need an operating system patch to use it, the drives work the same way, everything's transparent. And from a system builder's point of view, it's very straightforward; SATA is even more plug-and-go than PATA. If you can get the hardware, SATA really should be a doddle to use.
Well, now, that sounds simple enough, doesn't it? One can presumably just go out and buy a SATA drive-
Well, no, actually one can't. SATA drives don't exist in the consumer market yet. As far as sales and stock go, as I write this, PATA and SATA are in the same relative positions as cars with internal combustion engines, and cars powered by fuel cells.
There are, however, SATA adapter widgets that you can plug into the back of normal ATA drives, making them SATA-compatible. Get some of those and some normal drives, and then all you need is a SATA controller-
Um, sorry, but you can't, technically speaking, get those either. For all practical intents and purposes, you can; you can buy motherboards with SATA sockets on them right now, and there are separate controller cards as well; keep reading and you'll see one. But none of these first generation controllers are actually SATA-native. They're PATA controller chips with SATA translation hardware on top of them.
SATA was meant to be built into lots of motherboard chipsets by now, according to Intel anyway, but that hasn't quite happened. The first such chipsets are actually promised to arrive toward the end of this year.
So if you set up a "SATA" storage system today, you're actually using a PATA controller with a SATA translator on it, feeding SATA data through one of those nice long skinny cables to another translator, which is connected to a PATA drive.
This sounds as if it ought to be a performance disaster, since nothing gets faster when you translate it from one interface language to another. But, fortunately, it actually seems to work just fine. PATA and SATA are basically the same thing running over different physical interface layers; it's not like translating FireWire to and from ATA, as external FireWire drive boxes do (with varying degrees of success).
There are other issues with SATA that aren't quite as obvious as the nonexistent performance deficit. Before I return to being picky about the new standard, though, let's look at some hardware.
Rocketing ahead
This is HighPoint Technologies' RocketRAID 1520 Serial ATA controller card.
This controller supports RAID 0 (striping) and 1 (mirroring), plus a JBOD non-RAID mode. Since you can only connect two drives to it, though, I doubt many people are going to bother using the RAID functions.
RAID 0 interleaves data so that each drive in the "stripe set" shares the load, and that gives you better disk performance. But if any drive in a stripe-set fails, you lose all of your data - you're unlikely to be able to reconstruct anything worth bothering with from an incomplete stripe set.
JBOD just joins one drive's capacity to the end of the other one. You don't get the performance boost this way, and the failure of one drive will still be a Bad Thing, but you can connect drives of different sizes and use the full capacity of all of them. If you make a stripe set out of two dissimilar drives, its capacity will only be twice that of the smaller one.
RAID 1 mirrors data - one drive is an exact copy of the other. Which, again, means that the drives had best be the same size, and also means that you only get as much capacity from two drives as either of them would give you by itself. If either drive fails, though, you'll be able to reconstruct all of your data.
Most people don't need RAID 1 data security, though. It's handy for servers and other applications where you really don't want to have to spend time restoring backups, but a machine with mirrored drives still needs to be backed up (in case a power problem fries everything in the computer, or someone steals it, or the hot water system falls through the ceiling onto it, or the building burns down...), and drive failures are rare enough that a proper backup policy is all that most people need. If they're going to buy two drives, they'd rather just install them as two separate devices and enjoy the extra storage space, and the knowledge that if the controller dies, they can just plug the drives into any other controller, RAID or not, and still be able to see the data.
ATA RAID controllers are commonplace these days. Various motherboards have four ATA sockets on them, with the second two often running from one of HighPoint's controller chips, and capable of RAID operation. These setups let you plug in up to four drives, thanks to PATA's master/slave configuration system, which allows one or two drives per cable. That means you can use RAID 0+1, where a pair of two-drive stripe sets are mirrored onto each other.
The RocketRAID 1520 has two connectors too, but they're SATA connectors, which means you can only hook up one drive to each of them.
The Serial ATA Working Group insist that the one-drive-per-cable limitation is a feature, not a bug, because it "avoids master/slave, 'daisy-chaining', and termination issues".
Which, of course, it does, but it's not as if these were terrible problems with ATA in the first place. Master/slave configuration isn't exactly brain surgery to figure out, since that's all PATA supports; no more than two devices per cable, full stop, so you need fiddle with only one little jumper on the back of each drive, assuming it didn't come set the way you want it.
PATA doesn't have any daisy-chaining or termination issues; those are things SCSI users have to deal with. SCSI lets you string together up to seven or up to 15 devices (depending on the flavour of SCSI), and termination and address assignment can indeed then cause problems, although things aren't nearly as bad as they were. But the Serial ATA Working Group for some reason say that the one-drive-per-cable limit is one of the "compelling reasons why Serial ATA is a viable option for server and NAS networked storage", which doesn't make a whole lot of sense.
Serious storage applications like that are exactly where people want to use SCSI, because the servers are being assembled by people who aren't fazed by SCSI's quirks, and you want faster and more durable drives for these applications.
SCSI drives are a lot more expensive than ATA drives of the same capacity. That's partly because the market for ATA drives is much bigger, but it's also because the SCSI drives are generally higher performance (you still can't buy ATA drives that spin faster than 7200RPM), and better made.
Consumer ATA drives aren't expected to last for five years of continuous operation, because their duty cycle (ratio of on-time to off-time) is likely to be low enough that that sort of durability would be wasted; they're not likely to be on for that long before they're replaced by something newer.
You can use consumer drives for serious storage applications if you like; it's a very financially sensible decision, if you don't need top-flight performance. But if you do, it's prudent to buy new drives every couple of years, and retire the old and maybe-soon-dead ones to non-critical applications. Like, for instance boot drives for your favourite people.
SATA's single-drive limit is an advantage because of its simplicity, of course; it's pretty much impossible to go wrong. Newbies can get master/slave config wrong with PATA, and even more experienced users can forget that the 80-wire PATA modes want the master drive to be on the end of the cable and the slave drive in the middle. None of that applies with SATA, and the narrow cables are really nice to work with, even compared with rounded 80 wire leads.
But the Serial ATA Working Group's argument that the single-drive limit is nothing but advantageous is like saying that an unfurnished apartment is great because it's uncluttered and easy to find your way around.
The 1520 is not the only current SATA solution that only gives you two sockets. Buy yourself an Asus A7V8X or Abit IT7-MAX2, for instance, and you'll get Serial ATA connectivity as standard (there are versions of the Asus board with and without SATA sockets). But you only get a pair of connectors. The A7V8X apparently comes with an adapter that gives you another two SATA sockets from one of the 40-pin IDE connectors, but it's not mentioned in the manual.
Thus far, all motherboard SATA connectors seem to be sitting on the second IDE controller that fancier boards sport. The first IDE controller has two 40 pin sockets as standard, and the second one has one 40 pin and one pair of SATA sockets, or two 40 pins and two SATA sockets - you can use the SATA sockets or the second 40 pin socket.
HighPoint have now released a RocketRAID 1540, which is like the 1520 but has four connectors. Presumably more multi-connector options will turn up soon enough.
There's another putative advantage to having one drive per cable - speed. This initial v1.0 SATA standard has a ceiling bandwidth of 150 megabytes per second. With only one drive per cable, all of that bandwidth can be used by that one drive.
Well, some of it can, anyway. The real useable bandwidth for the various ATA flavours is always somewhat less than the theoretical ceiling. But that's not the problem.
The full 150Mb/s isn't quite all there on any SATA controller so far, either, because they're all based on PATA chips that can only do Ultra DMA/133 (133 megabytes per second, peak), at best. The RocketRAID 1520's based on HighPoint's HPT372A, a UDMA/133 controller. As far as operating systems are concerned, this card is exactly the same as HighPoint's PATA HPT372 boards. But that's not the problem either.
The problem is that the very fastest ATA drives you can buy these days can only deliver maximum read speeds of a bit less than 50Mb/s; write speeds are down around 30Mb/s. Put two such drives on a PATA cable and you can pretty much saturate UDMA/133 bandwidth. Don't, and all you're using the full interface bandwidth for is tiny little cache reads and writes, which amount to pretty much nothing for almost all real world tasks.
Commodity drive performance is steadily improving as capacity increases. The upcoming 250Gb 7200RPM and 320Gb 5400RPM super-behemoths (which will, of course, not seem big at all in a couple of years) should pretty much be able to saturate UDMA/133 by themselves, and will thus also be able to make use of a 12.5% faster SATA connection.
None of this matters much, though, because hard drive speed makes only a small contribution to system performance for ordinary desktop PC tasks. The standard rule of thumb, for systems that aren't starved for physical RAM and thus chugging miserably, is that the disk subsystem makes a 10% contribution to overall system speed. So if you double your disk speed, you get only a 10% system speed advantage. Which you probably won't even notice.
Yes, this means that home users who drop big bucks on fancy SCSI controllers and drives in pursuit of better performance are wasting their money.
You get a couple of cables with the 1520, of course. One metre long, and thus useable for external storage connection, though there's nothing to plug them into yet; no external SATA boxes, and no SATA controllers with external ports. Such products will presumably be along in due course.
PATA cables are no good for external storage at all. They're not long enough, and they're not flexible enough, and ribbon cables are easy to damage. Rounded PATA cables are pretty tough, but they're still short and stiff.
Because HighPoint do not have a cruel sense of humour...
... you also get these two amusingly named "RocketHead" adapter units, so you can connect the SATA cables to PATA drives.
The RocketHeads accept a SATA data cable and a floppy power plug, which is good, because PSUs don't have SATA power connectors yet. Your PSU probably won't have two spare floppy power plugs either, of course, but the RocketRAID 1520 package also includes a couple of passthrough standard-drive-power-plug-to-floppy-power-plug adapters. So you don't actually need any spare power connectors at all.
The real SATA power connector, as seen on the few native SATA drives that've been sighted in the wild, is a funny looking thing. It's of the same design as the SATA data connector, but much longer; the data connector's only got seven pins, but the power connector's more than twice as wide, with fifteen.
That's presumably because SATA uses the same contacts for power as for data, and they're not terribly low resistance, and can't handle enough current that one pair of them will suffice for each of the three supply rails that SATA supports.
So there are three pins each for the 3.3, 5 and 12 volt rails, five ground pins, and one "Reserved" pin.
The power connector's only fed by five wires (the three positive rails, plus two earths), and those five wires should make the power hook-up only marginally less convenient than that for standard drives. But there are still enough conductors on the whole SATA connector that you could be fooled into thinking that it was actually some new kind of parallel connector.
That's a quibble, though; the SATA data cables are very definitely more elegant than the old PATA ones.
And the odd combination data and power connector is also a standard item; all SATA drives should have the same connector in the same place, which means that you'll be able to do things like plug SATA laptop drives straight into PC hot-swap cradles.
This'll be particularly easy because the SATA connector isn't a high-friction or locking type; a gentle push to insert and a gentle tug to release are all you need. Apparently, some early SATA data connectors were unacceptably loose, but the RocketHead adaptors mate quite positively to the cable. You're not likely to knock the connector loose unless you've whacked your computer hard enough to break something else.
SATA supports hot plugging natively, by the way; you can apparently just yank the cables out of a SATA drive and swap in another one any time you like, and the interface will be perfectly happy. PATA, in the same situation, will not.
This isn't as good as it sounds, though, because Windows isn't going to support hot plugging until "the next version", according to Microsoft. Which is to say, whatever's coming after WinXP.
So you can do hot plugging with SATA at the moment, but only by using the kind of removable drive cradles and supporting software that'd let you do the same thing with PATA.
Most users don't care much about having to turn their computer off to swap a hard drive, anyway. Most PCs only have one hard drive in them, and it's got the OS on it; taking it away is going to zombify the computer, one way or another. If you want hot-swap storage, there's USB (which, now that we have USB 2.0, is fast enough for proper storage) and FireWire.
There are a couple of SATA advantages that the Working Group don't mention in their warm and fuzzy FAQ. One is that, unlike PATA, SATA has error correction for instructions, as well as for data. It's not easy to find any examples of data corruption caused by PATA instruction errors, but I presume it's possible.
More significantly for the tweaking community, native SATA controllers should have a clock speed that's not linked to the PCI clock. PATA controllers do share the PCI clock, which means that PCI overclocking (generally because of CPU Front Side Bus boosting, on motherboards that link FSB to PCI speed) winds up the ATA clock as well, which the drives may not appreciate. SATA's much faster clock is independent, which removes one more overclocking hurdle.
Overall
SATA isn't a bad thing, at the moment, but it's pretty much an irrelevant one. If you're hot for forward compatibility then getting SATA-capable hardware now isn't an awful idea, even though there aren't any native SATA drives around yet. The new cables are nice; they'll ornament any LAN party poseur's windowed case most effectively.
There's no generally compelling reason to bother with SATA yet, though. When it's commonplace - as it should, finally, be, some time in 2003 - then that'll be great; I won't miss cases so packed with awkward cables that they resemble overfilled suitcases.
It all ought to work together well enough, too. There was a Serial ATA "plugfest" at Intel's most recent Developer Forum (Acrobat format press release here), where the reported intercompatibility of SATA devices was "greater than 95 percent".
This makes me a little nervous, as it smacks of the antediluvian days when clone PCs were described as "90% IBM compatible". That other 10% could spoil your whole week. But it's entirely possible that all of the failed tests, however many there were, had to do with more exotic SATA gear, not plain old consumer controllers and drives.
The Working Group haven't released details of the tests, but since SATA has been coming RSN for quite a long time, I'm willing to give the manufacturers the benefit of the doubt and presume that basic SATA gear, at least, won't have teething troubles.
Until that basic SATA gear - controllers and drives - is on the shelves of your local PC store, though, you needn't bust yourself seeking it out; it's just not that exciting.
SATA is the future. But it ain't no flying car.
RocketRAID 1520 kindly provided by HighPoint Technologies.
Buy stuff!
Aus PC Market no longer sell the RocketRAID 1520, but they've got plenty
of
more modern controller cards!
(if you're not in Australia or New Zealand,
Aus PC Market won't deliver to you. If you're in the USA, try a price search
at
DealTime!)