Does a fake RAID controller do any useful work or is it just like a place where to store the parameters? I know that Linux offers much more flexibility than my poor on-board controller, but this is not important for me.

Is there any performance advantage by using the fake RAID?

link|improve this question

74% accept rate
I'm mainly interested, if it offers any performance advantage. – maaartinus Feb 15 '11 at 8:12
feedback

3 Answers

up vote 5 down vote accepted

Generally speaking there is no significant performance difference at all between software RAID and fake RAID, as fake RAID is more-or-less software RAID anyway.

Any parity calcs (for RAID5 and similar) will be done in the CPU in either case (and I'd be more trusting of the OS to be efficient than the fake-RAID drivers so you might find fake-RAID less speedy), also any block reads needed in order to update parity blocks have to go over the controller to the OS in both cases.

Also, the multiple drive writes issue exists in either case - to write to a block on a two-drive RAID1 for instance means two writes by the OS to the controller with both software and fake RAID - with hardware RAID there is always just one write to the controller and it manages talking to the drives potentially in parallel rather than sequentially. With software/fake the writes may also be parallel, but it depends on the I/O controllers and drivers supporting this (it is more likely with software RAID if your drives are not all on the same controller, so again there is potential for fake RAID to actually be a little slower in that circumstance).

In general Fake RAID takes the bad bits of the software RAID (potential CPU hit and I/O latency because of it, inability to multiplex writes (depending on controller/drivers/OS) to save bus bandwidth, no hardware cache) with the bad bits of hardware RAID (vendor dependence and sometimes controller model dependence), and not of the advantages of either (the flexibility and potential machine portability of software RAID or the the OS independence, write efficiency, cache options and so on of hardware RAID). I (and many others) recommend it be avoided.

link|improve this answer
feedback

FakeRAID stores the RAID container information in the hardware/firmware, so that if another OS comes along there's no need to tell it what containers exist. Software RAID stores the RAID container information within the drives, so that if the drives are moved to other hardware there's no need to tell it what containers exist.

link|improve this answer
This works as long as you assume that another OS means another Windows version. You need the drivers and they may not exists at all. – maaartinus Feb 15 '11 at 8:14
1  
Linux can read the container information from quite a few chipsets. – Ignacio Vazquez-Abrams Feb 15 '11 at 8:16
feedback

It offers a massive drawback: it is bound to the hardware raid controller. So if your raid card, or mainboard breaks, you lose your raid information.

The presumed advantage of "operating system independence" is not there, in my opinion, as the drivers still have to be installed to take advantage of it. In case of multiboot, you will be better off partitioning the different disks and using each operating system´s builtin capabilities.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.