IDE RAID
This was a tough one. After my ATA/100 article was published (ATA/100 – Real Performance or Marketing Hype?) there were a number of questions from readers asking about IDE RAID 0 (Striping) performance and whether there is any advantage of ATA/100 over ATA/66 when using RAID 0. I suspect that some readers felt that due to two drives being able to burst small amounts of data at high speed, you would see a difference with the higher ATA mode when two or more ATA/100 drives were combined into an array. What made it tough was not only figuring out what to test and how to test it, but at the same time I had to make sure I didn’t fall into a trap. What ‘trap’ you ask? One that anyone testing system performance can fall into: picking the benchmark(s) to prove your point (and that point can be either something that does or does not give a gain). It also took a fair amount of time because every time the drive mode was changed I had to re-install Windows.
I also had, as much as I hate to admit it, a pre-conception of what the results would be, so I had to be careful not to just prove my point, but to get a fair idea what RAID 0 had to offer. I guess you can call me ‘old fashioned’, because to me RAID is used for data security, I/O performance on a server or linking multiple drives together as one. It would never occur to me to use it (or even look at it) for speed. Since RAID 0 is pretty much what a ‘home’ user looking for performance would use, that was the only mode I tested.
What is RAID?
For those of you that are not familiar with RAID, it is a way of combining 2 or more drives in an array as a ‘combination’ of drives seen as one by the system. This can be used for data security (keeping two constantly up to date copies of the data), speed (spreading the load over more then one drive and using the maximum sustained data transfer rate from each drive to give a higher total rate) or just to combine multiple drives in to ‘one’ drive larger drive. There are a number of different RAID modes, and not all controllers support all modes. I’ll briefly cover three of what I think would be the more common for home or small business use below:
RAID 0 (Striping) interleaves sectors of data between the drives in the array. So if you have two 20GB hard disks, data is written alternating between the drives on the array. Neither drive holds all the data (just every other piece) and your total drive space is twice the size of the smallest drive (40GB). This can give you more data throughput, since you are essentially using two drives as one and your data throughput could be close to double that of a single drive. The problem is, if one drive fails you lose all the data. But if you were running just one drive as most users do normally, you’d be in the same position, so that may be a non-issue. More than 2 drives can be used and performance should improve with more drives.
RAID 1 (Mirroring) is the one I think of most when using RAID. It gives data security by writing the data to both drives and some speed by reading from whichever drive head is closest to the data. If one drive fails you still have all your data on the other drive. Great for a business or server installation where loss of data and down time reloading from a backup is something you can’t put up with.
RAID 0+1 (Mirroring and Striping) can be used to combine the best of RAID 0 and 1, though it needs three drives to do so. It will allow for reading and writing in parallel along with data duplication.
You can also change the block size, so in RAID 0 it would write X amount of data on one drive, then the same on the other(s), constantly switching back and forth between the drives. The HPT 370 I used defaulted to 64K, but I also tested at 16K. You could ‘tune’ your system by testing with different sizes finding the optimum size for your particular use (sounds like a lot of work to me).
Be the first to discuss this article!