How good is Windows 7 software RAID? Is it faster or slower than a cheap hardware controller (aka “fake RAID”)?
This past month I’ve realized the simultaneous need to add more hard drive storage and decrease the probability of losing the data stored within. While I fully realize that redundant hard disks are not a substitute for a backup, I do want to use a RAID array to reduce the likelihood that I have to restore that data from a backup. Also, I plan to put data on that disk that I would be annoyed to lose, but it wouldn’t be the end of the world (i.e. music, movies, etc.).
Disk drives are cheap (1.5TB is currently running around $100), but industrial-grade RAID controllers are not. Being that I’m cheap, have an old (4 years is old, right?) system, and just need a bare-minimum amount of reliability I’m looking for the cheapest way to add a couple of mirrored drives. That basically means that I use a “fake RAID” hardware controller or a solution managed completely by Windows. There are various pros and cons to each, but I’ll tell you up front that Windows 7 software RAID was what I chose because of performance & trust. After the break I’ll get to the details as to why.
There’s plenty of advice around on what type of RAID you should use for your particular application. I recommend this Tom’s Hardware Guide write-up, and this one is also pretty good. In general, hardware RAID is better than both software RAID and so-called “fake RAID” solutions which rely upon a combination of hardware and software. But hardware RAID is expensive and overkill for my needs.
As someone who is not willing to spend the money on a hardware RAID solution, I wanted to determine the performance implications of choosing between the cheap RAID 0 (striping) and RAID 1 (mirroring) options available to me, along with the other advantages/disadvantages of each option. If you really want to get into the pros and cons of the solutions below, check out:
Option 1: Microsoft Windows 7 Software RAID
Windows has built into the OS the ability to RAID disks (since Windows 2000, I believe). The biggest advantages are that it does not require special hardware or drivers as it is completely managed by the Windows OS. This is good because if your motherboard or hard disk controller goes out, you can put those same disks in another Win7 machine and not worry about if the hardware is compatible. Another advantage, if this is important, is that you can RAID at the disk volume level – the entire disk does not need to be dedicated to a RAID (so you can make good use of unmatched disks). I particularly liked that the management of the disks is built into the Windows “Computer Management” management console.
Option 2: Hardware-Software RAID (a.k.a. Fake RAID)
Hardware RAID is exactly what it sounds like – a special hardware controller card manages the disks to provide the striping and/or redundancy. The key advantage of a full, dedicated hardware RAID is that it requires no software or drivers. That is not the case with “fake RAID” hardware cards that use a combination of special hardware and software to manage the disks. Still, hardware-software RAID should provide some performance advantage over full software RAID. In my testing, however, I did not find that to be the case.
Performance Testing Methodology & Setup
System: ASUS P4P800-E Deluxe Motherboard (Socket 478, Intel 865PE),Intel Pentium 4 3.0 Prescott 3.0GHz 1MB L2 Cache, 4 GB RAM, Windows 7 Ultimate
Drives: Two Seagate Barracuda 7200.11 ST31500341AS 1.5TB 7200 RPM 32MB Cache SATA
I used IOMeter (http://www.iometer.org/) to test each configuration using the same configuration. My IOMeter configuration file is located here. I ran 4 sets of tests; sequential read, sequential write, 70% sequential read + 30% sequential write, and 70% random read + 30% random write. For each test, 1GB of data was read or written in 256KB chunks. Each test was run twice to gain some (limited) measure of trust in the results.
Each test was run on two different hard disk controllers that support RAID: the Intel ICH5R SATA Controller RAID that is built into my motherboard and a SIIG SATA 4-channel RAID PCI Card – (Silicon Image Sil3114r5 Chipset) – which I purchased for testing. The SIIG PCI controller was an absolute piece of crap. The included management software was buggy as hell on Windows 7, and the performance was atrocious – roughly 50% slower than the Intel controller in almost all the tests. This is to be expected, since it is a PCI card and doesn’t have the advantage of being as tightly integrated into the processor’s southbridge. Plus Windows wouldn’t build a RAID 1 on it so that configuration couldn’t be tested. For that reason, I’m not showing the graphs here but they’re in the attached Excel file for the curious.
Windows RAID performed just as well, if not better than, the hardware controller RAIDs tested and Windows always incurred the lowest CPU utilization. The results are a mixed bag, where there were some cases where Windows did somewhat better than the Intel RAID and others where the HW solution did slightly better. The key take away from the performance results are that the speeds were all within a few MBps of each other, which I consider to be in the noise, while Windows used less CPU consistently.
All of the raw data is in this Excel file.
Sequential Read Tests
Sequential Write Tests
Sequential Read/Write Tests
Random Read/Write Tests
Supposedly the main advantage of a fake RAID is that is should perform better than full software RAID, both in the disk transfer rates as well as CPU load. And that may be the case for some configurations, but I did not find that to be the case in my testing. Windows performed just as well as the “fake RAID” with a slightly lower CPU load. Given that I’m more comfortable with the Windows management consoles than the software provided by Intel to manage their RAID, I chose to mirror my drives via Windows RAID 1.
I don’t claim that your results will be the same as mine – I ran these tests because I was curious. If you disagree with the results, or have a different opinion, that’s cool. I’m not here to debate you. I just wanted to share my findings in the hopes that it will be useful for someone else in a similar situation. Please feel to comment if you get a different result or have experience. Enjoy!
111 thoughts on “RAID on the Cheap: Windows 7 Software RAID vs. inexpensive ‘fake RAID’”
Also, these spam comments are hilarious.
Yah… wordpress / intensedebate doesn't do that great of a job with the spam filters sometimes. :)
Thanks for the article, has made my mind up to go with Windows software raid. Am presently migrating from WHS V1 to WHS 2011 which doesnt include drive extender to duplicate data. Have been looking at proprietary software to simulate this or built in mother board raid, after reading your test will be going with full software.
[Random question. I am using Windows 7 RAID 1 on 2 1.5 TB Seagate HDs and randomly, they both just quit working on me. I unplugged them and plugged them back in and they finally showed back up, but one of them had to be reinitialized. I'm currently in the process of resynching the raid (which has 500gb of data). What do you think the cause of that could be? It worked until I restarted 1 time, then 1 drive was corrupt and I couldn't do anything with the raid setup. ]
I and it seems many others have had this problem with mirroring in Win 7 Pro.
It is a Bug in Mircosoft OS with no fix to dat. Very frustating.
I may use MS's free SyncToy instead of a raid setup anyway, as I want to use the spare drive as a reliable back up. Which MS Raid isn't on 7 Pro at least.
Thanks, it has been extremely useful.
For those who want to do this, I want to add that windows 7 Home edition does not give the option "mirror" in the disk management. You need Windows 7 professional or higher
My experience agrees with your results and comments.
I would say that the only advantage to have a PCI to SATA "fake" RAID controller is that you get additional SATA ports. I use windows 7 to manage my RAID system and I don't have any SATA ports free in the motherboard.
Thanks for this post
Yes I can confirm that I’ve tried expensive server class 16port data raid controller adapters with on board cache and dedicated processor on a Xeon intel system running 2003 server and speed, sequential read right of files was very slow at about 25mbytes/second avg. changing to raid 0,1,5 made no difference in speed what so ever. This is because the on board raid gutless processor was maxing out. I paid $1000 for the controller and was a complete waste of money. I found just 2desktop computer with a non raid hdd could send files over a network at over 35mbytes a second between each other. Also windows 2003 server configured as a file server slows down when you fill it’s drives with movie files. It so terrible it causes streaming movies to stutter,and pause. So hardware raid is useless expensive rubbish and all the marketing hype u may hear about high end servers is just lies. Unless the raid controller has a processor like an i7 2600 on it or better and 32g of ram you may as well stick with software raid and use your extremely powerful and super cheap main CPU and ram. I can confirm that server motherboards at the entry level of the market are slower and more expensive that desktop motherboards. The chip sets c02 c04 etc are slow old technology rubbish compared to the latest desktop chipsets. I have verified that the network and file I/o performance is slower in server 2008 compared to a Linux server. Win 2008r2 doesn’t not fully support desktop chipsets so they force u to use a sever mother board. So go to Linux and use software raid.
Only just come across this post, it is very good and detailed for real world use of simple RAID set ups. The one thing that I would add to support the use of Windows soft RAID at this level, is. If you use expensive hardware controllers inside a PC and the controller fails, you will need to buy a new expensive controller to get back at your data. On the hand. If you have an issue with your Windows PC and it fails in some way due to something other than the drives. You can always move your drives to another Windows PC and get access to your data. Again, a very well written and tested piece, Thanks.
Hi, I've also had problems with a cheap hardware raid card. Its a 1x PCIe card with a silicon image 3132 chipset. At the time I thought it was the best avenue as the MOBO doesnt support raid. After setting the array up in its own Bios I thought things were rosey. However HD tune shows about 90MB/S for a raid 0 so my conclusion is that it isn't doing anything. I can hear both drives working and they show as a single unit in my computer, but the performance is surely that of a drive on its own.
I would go for one of these H/W raid cards on ebay with all the bells and whistles but not sure how compatible they are for anyting other than Server OS's. After reading this article I'm going to give a pure software raid a go.
windows or linux I feel that software raid is a more practical solution and with little performance differences.
we had a NAS that leveraged linux raid to perform its duties. It was extremely handy, when it refused to start one day, to take the disks and plug them into a desktop that had enough sata ports and rebuild the array with mdadm and get the data back…. much faster than getting the data back off the tapes. The hardware agnostic capability of software raid is a clear winner
we are using a taiwanese Motherboard. Both hard disks failed without any warning (we are using fake raid). lesson learned, never use fake raid, just use windows raid.
Google “Windows 7 has no notification of RAID failure”. And apparently win7 never will per the long 5-year thread here:
Win 8 might notify of some failures. The vbs script at above site did not work with intel fake raid. The intel software does notify, but the notification disappears after a few seconds. My end-users don’t notice yellow or red marks on the icon in toolbar, so you really have to enable the email notifications in iastorui.exe (since about 2012 it has this ability). Some warn the email can fail as well. All the raid systems need the ability to pop up and dire warning to end-user that does not go away by itself!