Every disk controller, whether it has RAID function or not, has a hardware part to it. The difference between hardware and software RAID solutions are how the parity calculations are done. A hardware RAID solution uses a dedicated processor to perform the function; a software RAID solution uses the CPU to calculate parity. This is especially useful in RAID 5 and RAID 6 arrays, as the calculations can hurt performance on software RAID solutions.