Columns
Technolog:
After recounting my adventures with glacially awful boot-up times last month, I received some emails informing me that - impossibly - I was wrong, and the speed of CPUs has nothing to do with it. "It's all about the bottleneck," said one. "It's the mass-storage subsystem," said another. "A RAID array is what you need," said a third.
Now I never like it to be said that I dismiss criticism. I'm also heartily sick of being able to wander to the coffee maker, clean it out, fill it up, watch the coffee dribble into the jug, fill my cup and wander back to my desk and find Outlook still hasn't started up. And so, after warning my colleagues of unclean procedures soon to be happening nearby, I started mucking about with RAID. It's worse than it sounds. Much worse. Let me explain.
The idea of RAID is that you use lots of disks together to widen the bottleneck, so those nice people at Hitachi sent me five of their Deskstar P7K300 drives. Each of them is fast by itself, but five running in parallel would do the same work in a fifth of the time. In theory.
RAID stands for "redundant array of inexpensive [or independent] disks". Take note of the square parentheses there. For lo! the holy war surrounding this discrepancy - despite having no practical bearing on anything - has reached such fever pitch that the Wikipedia article on RAID has actually been locked against further editing. This fact alone should have warned me what was ahead.
In fact, I think RAID wins my all-time grand prize for the technology that's done most to ignore the fundamental logic of language, maths and common sense
ADVERTISEMENT |
|
To summarise, once you've got yourself at least three identical disks, you're faced with the choice between RAID0, 1, 2, 3, 4, 5 or 6. Except for 2, which exists but doesn't. And then you can mix and match your schemes for extra befuddlement. This is where it starts to get really chewily abstract.
Hark back now to your school days and the idea of commutation. Commutation says 2 - 3 + 1 is the same as -3 + 1 + 2. No matter which way around you put the figures, addition and subtraction are commutative -the same numbers any way around give the same overall result.
"But that makes perfect sense!" cried the inventors of RAID. "Thus, we shall adopt the symbols but distort their meaning!" And they went away and did just that. The result being that not only is RAID0+1 a valid option for your array, but RAID1+0 is a different valid option. Maths teachers everywhere should turn in their graves (the dead ones, at least).
Oh, and I forgot. There's also RAID10, which isn't "RAID ten", but also isn't quite RAID1+0 or (heaven forfend!) 0+1. But it's similar. Sort of.
And that isn't the half of it. This is all theory: we haven't even started with the practical business of installing a RAID system. Not only do you have a total of 11 standard non-commutative mix-and-match options for your RAID setup (and about a dozen more specialist ones, but please let's not even go there), it turns out that hardware RAID isn't necessarily hardware RAID at all. It's sort of semi-hardware RAID. Not entirely firmware; not quite hardware; not exactly software.
What happens with most motherboards is that when the system starts, an extension to the BIOS temporarily handles the RAID in firmware. Once the PC has booted, the operating system has to take over by loading the necessary drivers, and control passes from hardware to software. Put another way, it isn't hardware RAID at all; it's more hardware-assisted RAID until such time as the operating system has booted, and all the dirty business of keeping track of your parity and redundancy when you're actually using the system is done with a driver.
