DatacenterDisk UK

Hardware RAID vs Software RAID: Performance, ZFS, Proxmox and TrueNAS

Updated: · Published:

Quick answer

Hardware RAID uses a dedicated controller that can work independently of the system's processor; software RAID uses the system's own processor and memory, and Dell notes it can be slower. TrueNAS and Proxmox both say ZFS needs direct control of the disks, so for ZFS the answer is software RAID, with any controller passing the disks straight through.

Hardware RAID vs software RAID: the difference

Both approaches protect data with redundancy built from the same drives. What differs is who does the work. Dell's RAID guide puts it plainly: hardware RAID uses a dedicated physical controller to manage the drives and can work independently from the system's processor, while software RAID uses the system's processor and memory to manage RAID.

FeatureHardware RAIDSoftware RAID
What manages the arrayA dedicated physical controllerThe system's own processor and memory
Load on the host processorThe controller can work independently of itUses it; Dell calls software RAID cost-effective, but says it may reduce overall system performance
Write cacheController cache; on MegaRAID, write-back needs the battery presentNot a controller feature
How the operating system sees the drivesAs the controller's virtual drives, unless a drive is set to JBODAs individual drives, which the software assembles
ExamplesBroadcom MegaRAID, Dell PERCLinux md (mdadm), ZFS on TrueNAS and Proxmox, Storage Spaces Direct

Parity has to be computed somewhere. Dell's RAID level table notes that RAID 6 carries a write performance decrease due to dual parity calculations. On a hardware array the controller does that work; on a software array the host processor does it. Either way, the parity has to be updated on every write.

Hardware RAID vs software RAID performance

Dell's guide lists software RAID as slower than hardware RAID and describes it as cost-effective, but says it may reduce overall system performance; it also says software RAID uses the system's processor and memory to manage RAID. Proxmox puts the same trade the other way round: ZFS can replace cost-intensive hardware RAID cards in return for a moderate CPU and memory load, combined with easy management.

We have not found a vendor benchmark that measures the difference on the same drives and the same RAID level, so this page puts no percentage on it. What the maker documents do show is where a hardware controller's advantage comes from, and that it has a condition attached: the write cache. Microsoft adds a layout point that applies to software as well: for Storage Spaces Direct clusters, it recommends mirroring for most performance-sensitive workloads.

Write cache and the battery: where hardware RAID gets its speed

Broadcom's MegaRAID documentation defines write-back caching as the controller sending a data transfer completion signal to the host when the controller cache has received all of the data in a transaction. In other words, the host is told the write is done before the drives have it.

That is fast, and it is also why the cache needs protecting. Broadcom states that if you select the Write Back policy and the battery is absent, the firmware disables Write Back and defaults to Write Through. A MegaRAID controller without its battery therefore does not deliver the cached write speed its policy menu suggests.

If you are buying a used RAID card for a hardware array, check that its cache protection is present and working before you count on write-back performance.

TrueNAS hardware RAID vs software RAID

TrueNAS's position is the simplest in this guide. Its ZFS primer says ZFS uses commodity disks and does not need a RAID controller. Where a controller is present, it says to put the controller into JBOD mode so that ZFS has full disk control.

The primer also explains part of the reason. It describes the write hole as a traditional parity RAID failure that applies to any stripe plus parity RAID layout. The OpenZFS documentation is explicit about ZFS's answer: raidz eliminates the RAID-5 write hole, in which data and parity become inconsistent after a power loss.

OpenZFS adds that a raidz group can have single, double or triple parity, so ZFS offers one, two or three parity levels entirely in software. Putting ZFS on top of a hardware array would hand the parity back to the controller, which is the opposite of what the TrueNAS primer asks for.

Hardware RAID vs software RAID on Proxmox

Proxmox VE's ZFS documentation is just as direct. It says not to use ZFS on top of a hardware RAID controller which has its own cache management, because ZFS needs to communicate directly with the disks. It recommends an HBA, or an LSI controller flashed in IT mode, as the better fit.

That still leaves hardware RAID as an option on a Proxmox host that does not use ZFS for the disks in question. The Proxmox rule is about ZFS specifically: if a pool is ZFS, the disks under it should not sit behind a caching RAID controller.

JBOD, HBAs and pass-through: giving software RAID the disks

Software RAID needs the operating system to see each drive on its own. On a MegaRAID controller, Broadcom says a drive in the JBOD state is exposed to the host operating system as a stand-alone drive. JBOD is the state TrueNAS asks for, and an HBA or IT-mode controller is what Proxmox recommends.

Our English guide to IT-mode HBAs goes further into flashing a controller for ZFS.

Linux mdadm: software RAID without ZFS

Linux has its own software RAID layer, md, separate from ZFS. The kernel's documentation says an array should be created by a user-space tool, which in practice is mdadm. No controller is involved: the kernel assembles the array from individual drives.

The same documentation is frank about a parity RAID weak point. It warns that if a raid5 or raid6 array is both dirty and degraded, it could have undetectable data corruption.

We read that as a reason to keep a degraded parity array's rebuild short and to keep a separate backup, whichever layer computes the parity.

md also has its own answers to the problems a controller's battery-backed cache addresses. The kernel documentation says that for raid4, raid5 and raid6 a journal device is used to log transactions and replay them after an unclean shutdown; that for raid5 only, a Partial Parity Log is used to close the write hole and eliminate resync; and that resync can be assisted by a write-intent bitmap. These are options you set up, not defaults to assume.

Windows Server: Storage Spaces Direct is software RAID across servers

Microsoft's statements here are about Storage Spaces Direct, its clustered storage for Windows Server and Azure Local, not single-server Storage Spaces. Microsoft says the resiliency is similar to RAID, except distributed across servers and implemented in software. It says single parity most closely resembles RAID-5 and dual parity most closely resembles RAID-6, and that two-way mirroring writes two copies of everything, a storage efficiency of 50 percent: 1 TB of data needs at least 2 TB of physical capacity.

Because the software does the work, Storage Spaces Direct needs the drives presented directly. Its hardware requirements list RAID controller cards that do not support direct pass-through of SAS physical storage devices as not supported. A Storage Spaces Direct build is therefore a software RAID build by design, with the controller reduced to passing the drives through.

Enclosures that offer both

The choice is not always made by the operating system. QNAP's TR-004 four-bay enclosure lets you switch between hardware-controlled and software-controlled RAID modes depending on your requirements. In one box, the question of this page becomes a setting.

If you plan to run ZFS on the host, the TrueNAS and Proxmox rules above still apply to whatever the enclosure presents: the file system needs the individual disks. Our English page on DAS and RAID enclosures covers the enclosure side in more depth, and DAS vs NAS covers where such a box fits.

Working out usable capacity

The calculator below works out usable capacity for the classic RAID levels that a hardware controller or Linux md builds. ZFS raidz and Storage Spaces Direct use their own layouts, so check their own capacity figures before you size the drives: Microsoft, for example, gives Storage Spaces Direct two-way mirroring a storage efficiency of 50 percent. For the level itself, RAID 5 vs RAID 6 compares the two parity levels most people weigh.

Striping with single parity; three drives or more.

Raw capacity
64.0 TB
Usable capacity
48.0 TB
Used for redundancy
16.0 TB (25%)
Can fail
1 drive(s)

Figures are in TB as manufacturers state capacity (1 TB = 10^12 bytes); an operating system that counts in powers of two shows the same capacity as a smaller number (strictly TiB, often labelled TB). In classic RAID, drives of different sizes count only at the smallest drive's capacity. This calculation is not a substitute for a backup.

Which to choose, and what it means for the drives you buy

The drives come after that choice. A controller or HBA decides which interface you can use, so read SAS vs SATA before choosing between SAS hard drives and SATA ones, and 512e vs 4Kn for sector formats.

Frequently asked questions

Can ZFS run on a RAID card set to JBOD?

TrueNAS's ZFS primer says that where a controller is used, it should be put into JBOD mode so ZFS has full disk control. Proxmox advises against any hardware RAID controller with its own cache management under ZFS and prefers an HBA or a controller flashed to IT mode.

Does Windows Server need hardware RAID for Storage Spaces Direct?

No. Microsoft lists RAID controller cards that cannot pass SAS drives straight through as not supported for Storage Spaces Direct, so the design expects direct access to the drives and does the resiliency in software.

Why does a RAID card fall back to write-through?

On Broadcom MegaRAID controllers, the firmware disables the Write Back policy and uses Write Through when the battery is absent, because write-back reports a write complete once the data is in the controller cache.

Sources

  1. Dell Technologies: RAID Made Simple: Complete Guide for Dell Systems (knowledge base 000128638), accessed 9 November 2026
  2. Broadcom: Virtual Drive Policies, 12Gb/s MegaRAID Tri-Mode Software User Guide, accessed 9 November 2026
  3. Broadcom: Making a Drive Unconfigured Bad, Unconfigured Good, or JBOD, 12Gb/s MegaRAID Tri-Mode Software User Guide, accessed 9 November 2026
  4. Proxmox Server Solutions: ZFS on Linux - Proxmox VE (wiki), accessed 9 November 2026
  5. iXsystems (TrueNAS): ZFS Primer, TrueNAS Documentation, accessed 9 November 2026
  6. Microsoft: Storage Spaces Direct Hardware Requirements in Windows Server, accessed 9 November 2026
  7. The Linux Kernel documentation: RAID arrays (md), Linux kernel admin guide, accessed 9 November 2026
  8. QNAP Systems: TR-004 USB 3.2 Gen 1 4-bay RAID expansion enclosure (QNAP UK product page), accessed 9 November 2026
  9. Dell Technologies: PowerEdge: What are the different RAID levels and their specifications (knowledge base 000128635), accessed 9 November 2026
  10. The Linux Kernel documentation: RAID arrays (md), accessed 9 November 2026
  11. OpenZFS documentation: RAIDZ, accessed 9 November 2026
  12. Microsoft Learn: Fault tolerance and storage efficiency on Azure Local and Windows Server clusters, accessed 9 November 2026