RAID1 or Mirroring is a great way to protect your important data from a hard disk failure.
There are two ways to achieve this either using a hardware based controller or in software through your operating system. Windows allows you do do this quite easily if you do not have a card in your computer that supports hardware RAID1.
The question here is which is faster, Hardware RAID done on a controller or software RAID run through Windows.
For my testing I'm using a Lian-Li IB-01 5 Port SATA RAID controller, its not a fantastic card but should be good enough to prove a point.
I've used 2 Western Digital 1TB hard disks for my testing.
Using a RAID1 on the RAID controller I tested using Sisoft Sandra and it scored 80.14 and 2500 IOPS.
I then set-up a software RAID1 in Windows and repeated the test and the score was lower 72.11 and 2000 IOPS.
The above testing was done with the hard disks attached to a single controller. One of the advantages of using a software RAID set-up is the RAID and disks are independent of the controller hardware. If you were running on a hardware RAID system and the controller card failed you would have problems restoring the mirror without an identical card. You would have to dissolve the array and recreate it on a new controller.
Software RAID is not related to the card so you just pop any-ol card in and carry on working.
The other disadvantage of hardware based RAID controllers is you can only create an array using the number of ports on your card, in this case 5. If I wanted to create an array with more than 5 disks I'd have to buy a bigger card. However with software RAID you can choose disks from multiple controllers...
So I then installed a second controller and put one of the disks configured for software RAID on each controller and repeated the testing. The score came in at 81.73 and 3200 IOPS.
So in conclusion hardware RAID is the fastest if you have a single controller. If you have more than one controller you might want to consider splitting your mirror between the controllers and using software RAID as it is faster and would give resilience against controller failure.