The three primary implementations of RAID(Redundant Array of Independent/Inexpensive Disks) that are seen in most markets is Hardware RAID, Software RAID, and FakeRAID. Each containing their own limitations and advantages.
Regardless of the RAID type,
a minimum of two drives is needed to achieve this feature.
Hardware RAID
Hardware RAID cards introduce an additional device within the system, that singularly may fail itself, but by introducing this additional card it is able to offload the parity calculations from maintaining the RAID off of the CPU. It’s design also permits the RAID to be OS-Independant by implementing it without the need for specialty software beyond the proper drivers.
Software RAID
Software RAID is implemented at the Operating System level, commonly in the form of a modified driver. Not all Operating Systems support this feature, and it can introduce unique and unrecoverable errors. It’s upsides start out at no additional cost, it is built into most Linux Distributions, and in specific circumstances can have higher throughput then Hardware RAID cards. But it may become succeptable to issues related to the CPU and RAM. With either failure, data(parity or otherwise) may be calculated and written improperly to any or all of the storage devices.
FakeRAID
FakeRAID, also known as ‘HostRAID’ is provided without additional cost with many motherboards. It has many of the faults of both Hardware and Software RAIDs, but few-to-none of their benefits. FakeRAID is a combination of a specialty system driver and a modified drive controller chip. Initially the system would load from the controller chip, where it then hands the RAID functionality off to the OS driver. At that stage it is basically Software RAID with a few instructions redirected to the controller chip inplace of the CPU, though the CPU is still the primary calculator.