Key takeaways

  • A hardware RAID controller builds the array itself and presents virtual disks; an HBA passes each physical drive straight to the operating system.
  • ZFS, Ceph, vSAN and Storage Spaces Direct are designed for direct drive access and are usually deployed on HBAs, not RAID cards.
  • Write-back cache speeds up writes but needs a battery or flash-backed capacitor module to survive a power loss.
  • Many RAID cards offer an HBA or passthrough mode, but the storage vendor's support list decides whether that mode is acceptable.
  • Quote with the server model, controller form factor, backplane type, drive count and interfaces, and your storage stack.

What does a hardware RAID controller do?

A hardware RAID controller (Dell PERC, HPE Smart Array, Broadcom MegaRAID and their OEM versions) is a card with its own processor, firmware and usually a cache. It groups physical drives into an array, calculates parity, and presents the result to the operating system as one or more virtual disks. The OS sees a plain block device and never touches the individual drives.

Because the controller owns the drives, it also owns recovery: when a drive fails it rebuilds onto a hot spare or a replacement without the OS being involved. The trade-off is opacity: the OS usually cannot read drive health without a controller-specific passthrough and cannot control when writes reach the media.

What does an HBA do, and what is IT mode?

A host bus adapter (HBA) connects drives to the PCIe bus and does nothing else. Each drive appears to the OS as itself, with its own model, serial number and SMART data. Examples are the Dell HBA330 and HBA355i, HPE's Smart HBA and HBA models, and the Broadcom (formerly LSI and Avago) 9300, 9400 and 9500 series.

IT mode, short for initiator-target, is the firmware personality on LSI-family controllers that makes the card a pure HBA; the same silicon can often run IR mode (integrated RAID) with basic RAID 0, 1, 1E and 10. Some entry RAID cards can be reflashed to IT firmware; the OEM does not support that, so buy a factory HBA for production.

Which storage stacks want an HBA instead of a RAID card?

ZFS (TrueNAS, Proxmox, FreeBSD) wants to see every drive, because it does its own checksumming, redundancy and repair and relies on drives honoring cache-flush commands. A RAID controller between ZFS and the drives hides errors ZFS would otherwise correct, and its cache can hold writes that ZFS assumes are on disk.

Ceph expects one OSD per physical drive, and its documentation recommends HBAs or controllers in passthrough mode. VMware vSAN requires a controller on its compatibility list in a supported mode; most listed configurations are HBAs or RAID cards in passthrough mode. Microsoft's published requirements for Storage Spaces Direct call for a simple pass-through SAS HBA and list RAID controller cards as not supported.

When is hardware RAID still the right choice?

Choose hardware RAID when the OS expects one protected block device: Windows Server and VMware ESXi boot volumes, single-server databases, and applications without their own volume manager. It also helps write-heavy workloads on spinning drives, where the write-back cache absorbs random writes and coalesces parity updates.

It is also the simpler operational model: one card, one utility, one rebuild when you slide in a replacement. The failed RAID drive guide walks through that process.

What are write-back cache and the battery or capacitor module?

A controller with cache can run in write-through mode, where a write is acknowledged only after it reaches the drives, or write-back mode, where it is acknowledged as soon as it lands in the controller's DRAM. Write-back is much faster for random writes, but the data in DRAM is lost if power fails before it is flushed.

A battery backup unit (BBU) keeps the DRAM powered through an outage. Batteries age, need periodic learn cycles that drop the controller to write-through on most platforms, and eventually need replacement. Flash-backed cache (Dell NV cache, HPE FBWC, Broadcom CacheVault) instead uses a supercapacitor to copy the DRAM to flash at power loss, so it has no learn cycle.

Without a working module, most controllers fall back to write-through automatically and write performance drops. When you buy a used RAID card, confirm the listing includes the cache module and the battery or capacitor pack, since they are often sold as separate parts.

Can I use a RAID card in HBA or passthrough mode?

Many current cards can. Several Dell PERC cards from 13G onward offer an HBA mode (called enhanced HBA on 14G and later), many HPE Smart Array controllers from Gen9 onward offer HBA or mixed mode, and Broadcom MegaRAID cards can present individual drives as JBOD.

The catch is that the controller firmware, and on some cards the cache, still sits between the OS and the drive. Whether that is acceptable depends on the storage stack's support list: vSAN publishes supported modes per controller, Storage Spaces Direct excludes RAID cards, and ZFS users generally prefer a true HBA because passthrough behavior varies by firmware. Unless you need RAID and passthrough in the same server, buy the HBA.

Which drives can each controller talk to?

SAS controllers talk to both SAS and SATA drives, because SAS tunnels SATA (STP); a SATA-only controller cannot talk to SAS drives. Generation matters too: 6Gb/s SAS-2 cards (PERC H710 and Smart Array P420 era) and 12Gb/s SAS-3 cards (PERC H730, Smart Array P440 and later) negotiate down to the slower drive, but an older card caps a newer drive's link speed.

NVMe drives connect over PCIe lanes, not SAS, so an ordinary SAS card cannot see them. Tri-mode controllers (the Broadcom 9400 and 9500 series and their Dell and HPE equivalents) handle SAS, SATA and NVMe on the same ports, but only with a backplane and cables wired for it; U.3 backplanes (SFF-TA-1001) were designed for this. Cabling changes with generation as well: SFF-8087 on 6Gb/s cards, SFF-8643 on most 12Gb/s cards, SFF-8654 on many tri-mode cards. The spec decoder covers SAS, SATA and NVMe basics.

QuestionHardware RAIDHBA (IT mode)
What the OS seesVirtual disksEach physical drive
Who handles redundancyController firmwareOS or storage software
Cache and batteryUsually, needed for write-backNone
Drive health visible to OSThrough controller toolsDirectly (SMART)
Typical useBoot volumes, databasesZFS, Ceph, vSAN, Storage Spaces Direct

What should I send in a quote?

Send the server model and generation, the controller form factor (PCIe adapter, integrated slot or modular), the backplane type and bay count, the drive interfaces (SAS, SATA, NVMe or mixed), and the OS or storage stack you will run. Form factor matters: Dell PERC cards come as a PCIe adapter, a "mini mono" card for a dedicated slot, or a blade module, and only the PCIe adapter fits a non-Dell server; HPE integrated and modular controllers are likewise specific to their chassis.

If you want a RAID card, say whether you need the cache module, battery or capacitor pack, and cables. If you are matching an existing controller, include its part number; the part number guide shows where to find it. Quotes are answered weekdays 8:00 am to 5:00 pm PST. The condition shown on a listing is the condition you receive; warranty terms are on the warranty page.

Frequently asked questions

Can I run ZFS on a RAID controller with one RAID 0 volume per drive?

You can, but ZFS documentation and community guidance advise against it. Each single-drive RAID 0 volume hides the drive's identity and error reporting from ZFS, and the controller cache may hold writes that ZFS believes are on disk. Use an HBA, or use passthrough mode only after checking its behavior on your firmware.

Does a RAID card need a battery if I use write-through mode?

No. In write-through mode the controller acknowledges a write only after the drives have it, so there is nothing in cache to lose. The battery or capacitor exists to make write-back mode safe. Most controllers will not enable write-back without a healthy module, so a missing battery costs write performance rather than data.

Will a Dell PERC or HPE Smart Array work in another vendor's server?

Usually, if it is the PCIe adapter form factor. The card runs its own firmware and does not depend on the host vendor. You lose management integration (iDRAC or iLO alerts and host-tool firmware updates) and must supply cables that fit your backplane.

Do I need a controller for NVMe drives?

Often not. Many servers wire NVMe bays directly to CPU PCIe lanes or a PCIe switch, and the OS manages the drives with its own NVMe driver. A tri-mode RAID or HBA card is needed only when you want hardware RAID across NVMe drives or when the backplane is designed to cable through such a card.

Related guides