Doubling Theoretical Performance: RAID-0

For those of you who are already familiar with RAID and how it works, go ahead and skip to the benchmarks; these next two pages are designed to serve as brief introductions to the two most common forms of RAID on the desktop: RAID-0 and RAID-1.

Otherwise known as striping, RAID-0 is the only performance-enhancing form of RAID that we'll be talking about in this article. The premise behind striping is simple. Data being written to a drive is split into "stripes", generally 16 - 256KB in size, with each stripe being written to a different drive in the array. For example, say we were dealing with a 2-drive RAID-0 array with a stripe size of 128KB and we wanted to write 256KB of data; drive 0 would get the first 128KB of data written to it, and drive 1 would get the remaining 128KB.




Writing to a single hard disk




Writing to a two-disk RAID-0 array


Here, you can see that the write performance of RAID-0 can be almost double that of a single drive, since twice as much data gets written at the same time. The higher write performance is obtained at the expense of some controller overhead, since the RAID controller has to handle splitting up data into stripes before sending it to the drives themselves - but with modern day microprocessors being as fast as they are, the overhead is usually thought of as negligible.

Reading works the exact same way, but in reverse. Say that we want to read that same 256KB of data back; we pull one stripe from drive 0 and the other stripe from drive 1. The read is now completed in half the time, theoretically doubling performance.

We are careful to use the word "theoretical" because the performance advantages of RAID-0 disappear quickly if we're not dealing in ideal situations like the ones we just described. If too large of a stripe size is used, then the performance advantages of RAID-0 can be lost, while too small of a stripe size could result in excess overhead, reducing the performance improvement of the striped array.

We have seen in the past that for most desktop applications, the largest stripe size that a desktop RAID controller will offer is usually the best choice for performance. With Intel's ICH5/6, that translates into a 128KB stripe size, which for our comparison is what we decided to go with. The other stripe size options didn't offer any better performance for our desktop test suite.

The main downside to RAID-0, other than cost, is reliability. The size of a RAID-0 array is the sum of all of its members; so, two 100GB drives in a RAID-0 array will give you one array with a 200GB total capacity. Unfortunately, if you lose any one of the drives in the array, all of your data is lost and isn't recoverable. Since two drives are working in tandem and are both necessary to hold your data, you effectively halve the mean time between failure by moving to a two-drive RAID-0 array.

Index Putting the Redundancy in RAID: RAID-1
POST A COMMENT

126 Comments

View All Comments

  • ciwell - Thursday, July 01, 2004 - link

    Excellent article...and for those who think it is faster experientially: it is all in your head. ;) Reply
  • SilverBack - Thursday, July 01, 2004 - link

    I'm using two RAID 0 arrays.
    A8V mobo with a promise 378 controller and the onboard VIA as well.

    I prefer the system this way. It just makes the whole windows experience faster.

    Reply
  • RebolMan - Thursday, July 01, 2004 - link

    Any subjective comments on whether the system using RAID-0 feels any smoother? A lot of people comment that P4s with Hyperthreading produce a system that just feels more responsive regardless of whether it's really any faster.

    I find the best thing to do (under Windows) when you've got two drives hooked up is to move your Virtual memory onto the one which you use less. There's all sorts of tricks you can use to distribute your system load without necessarilly using RAID.
    Reply
  • wanosd - Wednesday, August 04, 2010 - link

    I recently did a test by copying a few GB of data from a WD 160 GB drive to another WD 160 GB drive. It took about 4 mins.

    I then renamed the folder that I just copied and then copied it back to the original drive, and again got about the same time, with only a few seconds difference.

    I timed my boot from Windows from the time the OS takes over, all the way to the desktop, and it took about 35 seconds. I do NOT have any bloatware or junk on my system.

    Finally, I enabled RAID 0 for these two drives. Now the same version of Windows boots up in about 25 seconds (not as fast as you'd think). Also, copying the same folder from my 3rd hard drive to my RAID 0 drives is taking 1 minute and 45 seconds. The seek time itself may be still slow, but once you get the data going, it'll definitely help out.
    Reply
  • qepsilonp - Monday, October 31, 2011 - link

    I play eve online and i can be running at any given time 3 clients of eve a music player / video / or a text to speech program a browsing client with usually 5 - 7 tabs and sometimes i even want to be able to extract files at the same time I think for that kind of usage RAID 0 would be very worth it, did you even consider a lot of users do multiple demanding tasks at once? Reply
  • qepsilonp - Saturday, November 05, 2011 - link

    while yes when running one application RAID 0 is usually useless but when like me most of the time you are using 2-3 clients of a heavily HDD relent game where sometimes it takes a while to get the files for the 3D images and sometimes because of that your they wont show up on the screen for sometimes 5 seconds and i know its not anything else but the HDD because i have a new computer and the only piece of hardware that hasn't been updated is the HDD and im still getting it.

    if i was able i would also be running a HD movie or have my computer read a book to me with a text to speech program or be playing music and also maybe extracting something with Winrar you cant tell me that with all those IO's that RAID 0 wouldn't help at all, considering the game im playing is eve online and when i jump in and a gate can have 1000 ships on it thats maybe 32 different ships types which have to be gotten from the HD which is probably something like 100mb times 2 - 3 thats 64 to 96 IO's thats if theres isnt multiple files that need to be called up for 1 ship type so yeah I think in the deck top for power users there is a place for RAID 0
    Reply

Log in

Don't have an account? Sign up now