1 Reply Latest reply on Jan 6, 2010 9:02 AM by Chinch

    RAID 5 and RAID 0 Performance

      My mainboard has the IntelICH9R RAID controller. I was wondering if I will see a file read performance difference between these two configurations:

      Option 1]     RAID 5(4 HDD): C:\OS - D:\MEDIA_PLAYBACK - E:\SWAP




      Option 2]     RAID 5(3 HDD): C:\OS, D:\SWAP - RAID 0(2 HDD): D:\MEDIA_PLAYBACK.

      Since both configurations are controlled by the mainboard, is one going to be faster than the other?

      (I want to see how fast I can make this setup before buying a hardware based controller)

        • 1. Re: RAID 5 and RAID 0 Performance

          well... we can assume a couple of things, i suppose.


          we know that swap performance is optimal when it is on a physically separate disk/array of disks from the OS. that pretty basic system tweaking knowledge. so keep that in mind. you want the swap/page file on physically different disks, not just different partitions or arrays (that are on the same physical disks).


          when you are considering media playback, i don't think speed is a problem there at all. if you consider the Blu-ray standards, from what I can tell, the maximum bitrate for a Blu-ray movie, in real-time, is 54Mbps. Real-life and moreso current encodings seem to be lower, but even considering a Blu-ray, at full capacity, will only be requesting 54Mbps (simplified)...


          Then, take into consideration that your average SATA hard drive these days has a peak transfer rate of 3Gbps.


          Even at worst conditions (highest bitrate Blu-ray streaming from a single SATA HD with high-overhead/bus)... you're not even going to get close to maxing out even a single hard drive for "media streaming" purposes. As far as stuff like MP3's and DVD's or other encoded stuff... disk speed is negligible.


          The reason I picked Blu-ray BTW, is because that is just what I could think of as a worst case scenario... streaming/playing back a Blu-ray movie from the hard drive, as far as "media" goes.



          And we know that in general, to a point, in RAID-5 arrays... generally speaking, the more disks we add, the faster speeds we get... since we are reading/writing in parallel.


          So I would say this is the ultimate answer --- media can be kept on a normal, non-RAID drive (unless you simply must have it)... your OS should go on the RAID-5 with as many disks as you have, for speed.


          Keep in mind, several important points:


          • For every disk you add, you increase the chance of RAID failure. Two disks in a RAID-0, you have a 200%/2x greater chance of data loss/RAID failure than a single disk. Add a third, you're now at 300%/3x the chance of failure of a single disk.
          • In RAID-0 (stripe), there is no fault-protection/redundancy; you lose 1 disk out of the array, all of the data on that array is gone.
          • In RAID-5, your chances are better, since you have parity, and can stand to lose *1* drive and still save your data. That is assuming that a second drive does not fail at the same time, or before the array can finish rebuilding on a new drive/hotspare drive.
          • Another problem you're facing is that Intel's Matrix RAID technology is basically software RAID, with a little bit of hardware BIOS support. In a RAID-5, you are going to be doing parity calculations with much greater overhead than a hardware-based RAID solution. That being said, reads and writes are going to be slower when using a RAID-5 array, vs. a RAID-0 or single drive. Not to mention that something like this on-board solution vs. an addon RAID card would tend to be less reliable, especially in a failure situation. With dedicated cards, you have extra benefits like battery backup, so that if something goes wrong, the write buffers can still flush themselves to disk, and write necessary parity information. They also will often keep a backup of your RAID configuration in their NVRAM, in the even that any number of random things happen (for instance, a drive gets plugged into the wrong SATA port, and you've got a jumbled, out of order array now).


          If you want to know the honest truth... it is more expensive, usable disk space vs. cost.... but RAID-10 is where you want to be. The worst part of this configuration is that you basically half your total drive capacity (as in RAID-1, mirroring). The GOOD news is that this reaps both the benefits of RAID-1's redundancy, and the benefit of RAID-0's speed. Also, if the failure situation is lucky, you can lose 2 drives (out of 4) and still have your data.


          RAID-10 has the speed because it does striped reads/writes like RAID-0... so you're getting both parallel reads and writes... you have no parity computation overhead, just an extra write to the matching mirror drive... which is much less expensive than dealing with parity. You have a full 1-1 mirror of both drives (in a 4 disc config, again) so there's no 'rebuilding' or also importantly 'rebuilding time'.... which can take quite a long time (trust me... I've watched enough server RAID rebuilds). Even with high-end SCSI RAID cards, rebuilds can take hours... which are hours that something else could go wrong during.


          In RAID-10, it's a simple flip-over to the mirror/backup disk. RAID array shows failed, you keep on going. If you have a hotspare set to takeover, your overhead will be basically a straight duplicate write of the remaining drive.


          So take that all into consideration. I know RAID is expensive... and depending on the situation, drives, controller, use, etc... it can either be worth it, or you can notice very little difference (speed wise).


          If you're looking for speed, you might as well invest in a SSD for your OS drive/partition.... then have a single drive, or better yet... a RAID-1 drive to keep all of your media on... (do you want to lose it?)


          My last point will be this -- hardware card (a quality one) is always going to be better than on-board. RAID-0 should be used only a) if you really need speed... say, as a scratch disk for audio/video editing. where if you lose the files, it's no problem -- or b) as a system/OS array that you're backing up on a daily/regular basis. RAID-5 is cool, but with something like on-board, I wouldn't fully trust important data to it and trust that the rebuild will be successful, or multiple drives won't disappear at once.


          The positive point about Intel's Matrix Storage Technology is the 'matrix' part... which means you can have more than 1 type of array on the same physical disks. That is, you can put two 1TB hard drives in your box for instance.... so you've got 2TB to mess with. You then make a 1TB, RAID-0 array (500MB from each physical disk).... then, turn around and on the same two disks, you can make the remaining space a 500MB RAID-1 array. (Remember... 500MB RAID-1 array will actually eat up 500MB on each disk for 500MB of storage... it's halved). You end up with 1.5TB of usable space.... 1TB of that is for speed... 500MB of that is for important data you don't want to lose.


          That is what makes this technology flexible. Multiple/different types of arrays on the same physical disks... and you also get migration benefits... you can make a RAID-0 array, and later add 2 hard drives and turn it into RAID-10.... or add drives to a RAID-0 array to increase speed/capacity.



          I hope that gives you some helpful info there... just remember all of the points I made: in regards to your question 1- keep the swap/page file on a physically different disk(s) than your OS, 2- don't worry about speed for your media files... it's not important... if I had 2 disks for media storage... RAID-1, or even JBOD or single disks would be a better choice than RAID-0 here. that would be my last choice for storing media. 3- RAID-0 is fine for OS partition, just make sure you back it up nightly to another physical disk(s), that way if a drive crashes, you can restore from previous night's backup, while still getting that RAID-0 speed advantage on the OS partition.


          if you have any more questions or would like more specific suggestions let me and the others here know, and we'd be glad to help you out. I understand your situation completely, I would want to try this before buying a hardware card too... considering "good" ones are usually 300 dollars minimum.


          and final info -- here is my setup... if you are curious...


          two 1TB drives, two 250GB drives... 4 disks total



          250GB drive + 250GB drive / RAID-0 array (500GB space)


          (C:) -- my system/OS partition is 50GB

          (D:) -- my apps/other non-OS app data partition is 100GB

          (E:) -- scratch/temp space, the remaining 100GB i use as scratch space... for when i am doing DVD editing/audio encoding, etc, where i need to read and write (unimportant and temporary) data fast... then I save the end result to (F:)


          1TB drive + 1TB drive / RAID-1 array (1TB space)


          (F:) -- this is where i put all of my important/archived/media files/documents, etc... stuff I don't want to lose

          * I backup the (C:) and (D:) drives to this (F:) drive nightly.. that way I can get the speed of RAID-0 for my system files/apps, but still protect it by backing it up to a mirrored set nightly. worst case scenario, i lose a day's worth of "OS/app" data. all documents/pictures/videos, etc... or anything i save/download/create always goes to F: drive, for an (essentially) immediate backup.

          * Guess where the swap file is..... yep. Here on (F:)... why? because these two drives are physically different than what the RAID-0 arrays are on. that way I can be reading system/app/game data from  the 250's, and at the same time, thrash this drive paging if it needs to, while not causing further thrashing/latency on the other drives.


          Ok, I'll shut up now. Hope I cleared things up. Gah that probably took me an hour or more to type up. My advice is if none of the above suit you perfect, take advantage of the matrix technology and mix and match. Take two drives, make you a RAID-1 and RAID-0, sizes of your liking. Take remaining 3 drives, make you a RAID-5 if you want.. that way you have physically separated your disks from each other, and you can put your swap file on the RAID-0 (perfect usage scenario of RAID-0!)


          if i have made any mistakes or anything in my advice, feel free to correct me, I have been up way too many hours, so my mind isn't 100% clear... but I do have practical/real-world experience w/ this, mainly in enterprise server systems, and not so much desktops... and I am not perfect on my knowledge of Intel Matrix Storage solution.... but guess what.... that's what this is for -> http://www.intel.com/support/chipsets/imsm/   -- more specifically -- http://www.intel.com/support/chipsets/imsm/sb/cs-020670.htm


          The user's manual --- and the first one is the main IMSM documentation page.... read up, my friend... you will find everything you want to know in detail on that page and sub-pages. TONS of great info there. knowledge is power. good luck, and please let us know what the outcome is... how you decide to configure things. i'm interested!