The RAID can be implemented either using a special controller (hardware RAID), or by an operating system driver (software RAID.

    • Entry-level hardware RAID (integrated into the motherboard or a cheap RAID card) is similar in performance to the software RAID. Consider entry-level RAID hardware if the operating system does not support software RAID. Most common examples are:
      • Use fault-tolerant arrays (RAID1 or RAID5) in Windows XP or Vista.
      • Boot Windows from a RAID0 or RAID5 (this is not possible using software even in Windows Server editions).
    • Enterprise-level hardware RAID controllers are feature-rich but expensive. They have certain features not possible in software arrays and never implemented in low-cost controllers, like caching, hotswapping, and battery backup. Additionally, certain RAID levels, like RAID50 and RAID60 can only be created with high-end controllers.
    • Software RAID implemented by the operating system driver, is the cheapest and fairly versatile option. Most modern operating systems have the software RAID capability
    • Windows uses Dynamic Disks (LDM) to implement RAID levels 0, 1, and 5. However, fault-tolerant RAID1 and RAID5 are only available in Windows Server editions.
    • Linux uses either the MD-RAID or LVM for a software RAID.

However, there are certain limitations of a software RAID.

    • It is not possible to boot an operating system from a software RAID0 or RAID5.
    • No hotswap is possible with software alone, without a hardware support. So, software RAIDs have no hotswap.