Hardware RAID vs Software RAID
For a homelab or NAS in 2026, run software RAID. On modern CPUs the parity math is basically free, and ZFS or Btrfs add block-level checksums and self-healing that a hardware controller cannot match. Hardware RAID still earns a slot in a few places: a VMware ESXi host with local disks, a simple Windows boot mirror, or a database that leans on a battery-backed write cache. Everywhere else, a dedicated card is money spent to make your array less portable and blind to bit rot. Here is the full breakdown.
Updated 2026-07-09 · by Jonathan Caruso
Side by side
| Hardware RAID | Software RAID | |
|---|---|---|
| Where the work runs | Dedicated controller (own CPU + cache) | Host CPU and RAM |
| Cost | $150 to $900+ card (keep a spare) | Free, built into the OS |
| Data checksums | None (parity only) | End-to-end with ZFS/Btrfs |
| Silent corruption (bit rot) | Undetected | Detected and self-healed (ZFS/Btrfs) |
| Portability | Tied to the controller family | Move disks to any host with the same software |
| Write cache | Battery/flash-backed write-back | OS cache; add a UPS or a ZFS SLOG |
| Drive health (SMART) | Often hidden behind the card | Full SMART on every disk |
| Best fit | ESXi/Windows boot, some databases | TrueNAS, Unraid, Proxmox, Synology |
Where the RAID logic actually runs
The split is simple. Hardware RAID puts a dedicated controller between your disks and the operating system. The card has its own processor, its own firmware, and usually cache memory backed by a battery or a flash module. It builds the array, calculates parity, and hands the OS a single logical volume. The OS never sees the individual disks.
Software RAID does the same job on the host CPU. Linux mdadm, ZFS (RAIDZ and mirrors), Btrfs, Windows Storage Spaces, Synology SHR, and Unraid's parity array are all software RAID. The disks connect straight to the motherboard or to a plain host bus adapter, and the OS assembles them.
The old argument for hardware RAID was that parity was too heavy for the CPU. That stopped being true years ago. A modern processor computes RAID 5 or RAID 6 parity at many gigabytes per second, so on a homelab the CPU cost of software RAID is a rounding error. What the card still buys you is a battery-backed write cache and a volume the BIOS can boot from without help, not raw speed.
Data integrity is why software RAID took over the NAS
This is the real difference, and it is the reason TrueNAS, Unraid, and Proxmox all lean on software RAID. A hardware controller checks parity, but it trusts that what the disk returns is correct. If a drive quietly hands back bad data (bit rot, a firmware bug, a flipped bit) the card has no way to know, and it can even write that corruption across the array during a rebuild.
ZFS and Btrfs checksum every block and verify it on every read. On a redundant pool they do more than detect corruption; they repair it automatically from a good copy, which ZFS calls self-healing. A scheduled scrub walks the whole pool and fixes silent errors before they spread. Hardware RAID has nothing equivalent. For data you plan to keep for years, that checksumming is worth more than any cache module.
This is also why you do not stack the two. Put ZFS on top of a hardware RAID volume and the card hides the individual disks, so ZFS loses the direct access it needs to detect and heal errors. For ZFS you want the opposite of a RAID card: a plain HBA in IT mode that passes each disk through untouched. Picking the filesystem is its own decision, covered in Btrfs vs ZFS.
Performance is closer than the box art suggests
Benchmarks have been clear for a long time: software RAID on a modern CPU matches or beats mid-range hardware cards for throughput. mdadm and ZFS both drive a stack of drives without breaking a sweat, and a single spinning disk already fills a gigabit link, so the network is your bottleneck long before the RAID engine is.
The one place a hardware controller still has a real edge is small synchronous writes, the pattern a busy database or a VM datastore produces. The card's battery-backed write-back cache acknowledges the write the instant it lands in cache, then flushes to disk in the background, which cuts latency. Software RAID can match this, but you build it: a ZFS pool with a fast, power-loss-protected SLOG device, or an mdadm array behind a UPS with the right cache settings. For sequential media, backups, and general homelab use, there is no difference you will feel.
The cost software RAID does carry is host resources. ZFS in particular likes RAM for its ARC read cache; a rough rule is a few gigabytes plus about 1 GB per TB of pool if you want it snappy. On a box with 16 GB or more that is fine, and it is the reason ZFS wants a real machine rather than a Raspberry Pi.
Portability and the dead-controller trap
Hardware RAID writes its metadata in a format tied to the controller family. If the card dies, you cannot just plug the disks into another machine and read them. You need a compatible replacement controller, often the same brand and a close firmware version, before the array comes back. People have lost data waiting on a discontinued card. If you run hardware RAID on anything you care about, buy the spare controller at the same time.
Software RAID has no such trap. An mdadm array or a ZFS pool is described by metadata on the disks themselves, so you can move the drives to any machine running the same software and import them. A dead motherboard becomes a thirty-minute swap, not a parts hunt. That portability, plus full SMART visibility on every disk (hardware cards often hide drive health behind the controller), is a quiet but large advantage for a homelab that gets rebuilt and re-shuffled over time.
Skip motherboard fakeRAID
There is a third thing that pretends to be hardware RAID: the RAID mode in your motherboard firmware, Intel RST/VROC or AMD RAIDXpert. It is not real hardware RAID. There is no dedicated processor or cache; the work still happens on your CPU through a driver, which is why people call it fakeRAID. You inherit the downsides of hardware RAID (a proprietary on-disk format, poor portability, driver dependence) with none of the upsides (no battery-backed cache, no offload).
Leave the SATA controller in AHCI mode and use real software RAID instead: mdadm or ZFS on Linux, Storage Spaces on Windows. The only defensible reason to touch fakeRAID is a Windows install that has to boot from a mirror on a board with no other option. Before you commit to any layout, size it in the RAID and ZFS storage calculator so you know the usable capacity and fault tolerance you are signing up for.
Where Hardware RAID wins
- Offloads parity to a dedicated processor, so the host CPU stays free.
- Battery or flash-backed write cache gives fast, safe synchronous writes for databases.
- Presents one volume the BIOS boots from natively, which suits ESXi and Windows.
- Set-and-forget for a simple mirror, with no OS-level configuration.
Where Software RAID wins
- Free. No controller to buy, and no spare card to stock in case one dies.
- ZFS and Btrfs add end-to-end checksums and self-healing that no card offers.
- Disks are portable: move them to any machine running the same software and import.
- Full SMART access on every drive, plus snapshots and flexible pool growth.
Which to pick, by situation
| Your situation | Pick | Why |
|---|---|---|
| New TrueNAS, Unraid, or Proxmox NAS | Software RAID | ZFS or Btrfs add checksums and self-healing, and the disks stay portable. |
| VMware ESXi host with local disks, no vSAN | Hardware RAID | ESXi has no built-in software RAID, so a controller (or vSAN) is how you get local redundancy. |
| Simple Windows Server boot mirror | Hardware RAID | A basic controller mirror boots cleanly; Storage Spaces still covers the data volumes. |
| Database or VM store needing low-latency sync writes | Either | A card's battery-backed cache helps; ZFS matches it with a power-loss-protected SLOG. |
| Reusing a server that already has a RAID card | Software RAID | Flash the card to IT mode (HBA) so ZFS sees the raw disks. |
The verdict
For a homelab or NAS, run software RAID, and if the box can spare the RAM, make it ZFS. You get checksums, self-healing, snapshots, and disks you can move to any machine, all for free, and modern CPUs make the parity cost invisible. Hardware RAID is not obsolete: it is the right call for a VMware ESXi host with local disks, a simple Windows boot mirror, or a latency-sensitive database that leans on battery-backed write cache. Just do not pair a RAID card with ZFS, and do not bother with motherboard fakeRAID at all. Before you buy drives, run your layout through the RAID and ZFS calculator, and if you are still choosing the software to run it on, read Btrfs vs ZFS and TrueNAS vs Unraid.
Choose Hardware RAID if you are booting VMware ESXi from local disks, want a simple hardware mirror for a Windows boot volume, or need a battery-backed cache for low-latency database writes.
Choose Software RAID if you are building a NAS or homelab and want free, portable arrays with the checksums and self-healing that ZFS or Btrfs provide (the default for almost everyone).
Official links
Hardware RAID (controllers)
Software RAID (mdadm & ZFS)
FAQ
What is the difference between hardware and software RAID?
Hardware RAID uses a dedicated controller card with its own processor and cache to build the array and present a single volume to the operating system. Software RAID does the same work on the host CPU through the OS (mdadm, ZFS, Btrfs, Windows Storage Spaces). Hardware RAID adds a battery-backed cache and a natively bootable volume; software RAID is free, portable, and, with ZFS or Btrfs, adds data checksums the card cannot.
What is a disadvantage of hardware RAID?
The biggest one is controller lock-in. The array's on-disk format is tied to the card, so if the controller dies you need a compatible replacement before you can read the disks again. Hardware RAID also has no data checksums, so it cannot catch silent corruption, it usually hides each drive's SMART data, and a decent card with a cache module is a cost you should really pay twice so you have a spare.
What is hardware RAID?
A physical controller (a card, or a chip on enterprise motherboards) that manages the disk array in dedicated hardware. It has its own processor to calculate parity, firmware to build the array, and usually a cache backed by a battery or flash module. The operating system sees only the finished logical volume, not the individual drives. Common examples are Broadcom/LSI MegaRAID and Dell PERC cards.
What are the 4 types of RAID?
The four you will actually meet are RAID 0 (striping for speed, no redundancy), RAID 1 (mirroring), RAID 5 (striping with single parity, survives one drive failure), and RAID 10 (striped mirrors, fast and redundant). RAID 6 (double parity) is the fifth common one and is the safer choice over RAID 5 on large drives. Run your disk count through the [RAID and ZFS calculator](/tools/raid-calculator) to see usable capacity for each.
Is software RAID slower than hardware RAID?
No, not for most workloads. On a modern CPU, software RAID matches or beats mid-range hardware cards on throughput, and a single drive already saturates a gigabit network. Hardware RAID's only real speed edge is low-latency synchronous writes, thanks to its battery-backed cache, which matters for busy databases. For media, backups, and general homelab use you will not notice a difference.
Is hardware RAID better than ZFS?
For a NAS, no. ZFS gives you checksums, self-healing, snapshots, and portable pools that a hardware controller cannot. The catch is that ZFS wants direct access to the disks, so you run it on a plain HBA in IT mode, not on top of a RAID card. Reserve hardware RAID for cases where you cannot run ZFS, such as an ESXi boot datastore or a Windows boot mirror.
Can I use my existing RAID card for ZFS?
Only if you take it out of RAID mode. ZFS needs to see each disk directly, so put the controller in HBA or JBOD mode, or flash a flashable LSI card to IT-mode firmware. Do not create a hardware RAID volume and put ZFS on top of it; that hides the disks and defeats the checksum and self-healing features that make ZFS worth running.
Should I use my motherboard's built-in RAID?
Generally no. The RAID mode in Intel RST/VROC or AMD RAIDXpert is fakeRAID: the work still runs on your CPU through a driver, but you inherit hardware RAID's poor portability and driver lock-in with none of the cache or offload. Leave the SATA controller in AHCI mode and use real software RAID (mdadm or ZFS on Linux, Storage Spaces on Windows) instead.