What Are NVMe RAID Arrays?
Computer performance in any segment often comes down to the speed of reading and writing data from storage devices. This is one of the main reasons for the widespread transition to SSD drives, which offer speeds at least 3 to 5 times higher than HDDs. Partly because of this, devices such as RAID arrays began to appear. They allowed building relatively fast systems, even using outdated hard drives.
And this is not the only advantage of RAID technology. Its second key function is increasing the reliability of the data storage subsystem, including the ability to preserve information even in the event of a hardware failure of one of the drives. In practice, these capabilities are often combined. Consumer systems usually represent a "simple combining" of a pair of drives into a single cluster to increase speed or consolidate their capacity.
What Is a RAID Array? Copy link
The term RAID stands for Redundant Array of Independent Disks. The technology allows combining several storage devices into a single logical unit. Depending on the type of RAID array, the user gets improved fault tolerance, increased performance, or both. Its configuration in technical environments is called the RAID level.
There are four common types (marked by numbers):
- RAID 0 — involves striping data across disks during reading and writing, resulting in nearly double the speed compared to a single drive. Fault tolerance does not increase; this is only about improved performance.
- RAID 1 — mirrors disks, doubling fault tolerance. However, it does not affect data transfer speeds. In case of a disk failure, the system remains operational, and after replacing the disk, the mirror is restored.
- RAID 5 — a combined option with striping for reading/writing and parity data for fault tolerance. Requires at least 3 drives. It offers higher read speeds and safety, but slightly slower write speeds.
- RAID 10 — a combination of RAID 0 and RAID 1. It includes a number of disks divisible by 4. The first pair of drives is striped and mirrored onto the second pair, creating a single array with high performance and fault tolerance.
RAID arrays are created from either SSDs or HDDs. It is preferable to use identical models from the same manufacturer, though formally, there are no strict restrictions. For data centers or large server enterprises, these recommendations are usually followed because it is more cost-effective to buy bulk identical drives for equipping computers and creating a spare pool for technical failures. When upgrading, often the entire block is replaced to reset its lifecycle.
There are two ways to create a RAID array. The first involves installing special drivers (software). In this case, it is managed by the operating system. The second involves installing a dedicated hardware controller card. Such chips have long been integrated into motherboards, even for home use, but the CPU still controls them. The optimal choice is to use external controllers that handle most functions in hardware.
Types of RAID Controllers Copy link
Typically, a modular RAID controller connects to a free PCI-E slot. It includes its own cache memory used for temporarily storing data being read or written. It operates under its own microcontroller, and the cards may include backup power sources (BBU, Battery Backup Unit) or flash memory with supercapacitors.
Linux Software RAID Copy link
On Linux, the mdadm utility can create and manage software RAID arrays of most common levels.
- Requires permanently connected drives (internal or always-attached).
- Consumes some CPU cycles, but modern CPUs handle this overhead easily for most workloads.
- Status and configuration are accessible via /proc/mdstat and
mdadmcommands.
Example creation of a RAID 1 array:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1
The result is a single block device /dev/md0 that abstracts the underlying drives.
Intel Virtual RAID on CPU (VROC) Copy link
Intel VROC is a firmware-assisted NVMe RAID solution built into Intel Xeon Scalable platforms. It requires a VROC license key to unlock RAID functionality beyond RAID 0 and works with Intel Volume Management Device (VMD) technology for NVMe hot-swap capability.
As of 2025, supported OS/platforms include:
- Windows 11, Windows Server 2022, Windows Server 2025
- RHEL 7.3–9.x, SLES 12 SP3–15 SP6, Ubuntu 18.04–24.04 LTS
- VMware ESXi 7.0 U3 and 8.x (ESXi 9.0 planned)
The RAID levels are 0, 1, 10 with standard license, while premium license also adds RAID 5 (RAID 6 not supported).
Notes:
- Supported drive count varies by platform (commonly up to 32+ drives on modern Xeons).
- Arrays are created in UEFI BIOS Setup Utility under VROC/VMD menus.
- Linux
mdadmcan manage but not create VROC arrays—initial setup must be done in BIOS. - Windows uses the Intel VROC GUI or CLI tools.
Broadcom/LSI MegaRAID 9460-8i Copy link
Now let's look at a fully hardware NVMe RAID controller—a PCI-Express x8 card supporting up to 8 drives with SAS/SATA ports.
We should note that while the 9460-8i is still supported it is considered legacy. The Broadcom MegaRAID 9600 series with PCIe 4.0 is the recommended choice for new high-performance NVMe deployments.
Features of the NVMe MegaRAID 9460-8i controller:
- NVMe support is limited to drives connected through SAS-based U.2/U.3 backplanes or tri-mode expanders—not direct PCIe lanes like VROC.
- Presents RAID volumes to the OS as single logical devices (member drives are hidden).
- Typically configured once during initial server provisioning using the UEFI RAID BIOS, Broadcom MegaRAID Storage Manager (MSM), or storcli CLI.
NVMe RAID Performance Metrics Copy link
The use of NVMe (Non-Volatile Memory Express) technology is justified by the increased bandwidth provided by the standard PCIe interface. It leverages all the advantages of solid-state drives, since RAID arrays are increasingly built from SSDs. For example, the data transfer protocol operates similarly to high-performance processor architectures (parallel paths, low latency, etc.).
NVMe supports up to 64,000 queues, each with a depth of 64,000 entries, whereas the outdated AHCI technology can only send 32 commands per queue. Previous-generation controllers’ drivers used long cycles with a 6-microsecond latency. NVMe uses short cycles with only 2.8 microseconds latency—a significant factor in performance improvement.
The following metrics are commonly compared:
- IOPS (Input/Output Operations Per Second)—the number of input/output operations per second.
- Average and maximum latency—the host response time to operation requests.
- System throughput—the speed of sequential read/write.
These metrics are “synthetic” because in real-world use, they rarely appear in pure form. However, they serve well for testing and comparing different controllers by running specialized programs. It is best to evaluate equipment built on similar technology since RAID 0 on SSDs is always faster than on HDDs, even without NVMe, due to hardware differences alone.
Conclusion Copy link
Choosing between software and hardware platforms usually boils down to some recommendations. For a RAID array made from two drives, the first option (software RAID) is sufficient. More complex systems should definitely be built on external controllers. For large arrays or mission-critical workloads, use dedicated hardware RAID or firmware-assisted RAID like Intel VROC for better performance and resilience. For new enterprise NVMe deployments, look into modern PCIe 4.0/5.0 hardware RAID controllers or direct CPU-attached solutions with VMD/VROC, avoiding older legacy cards unless required for compatibility.