Should I enable RAID mode for NVMe?

What is RAID?

RAID stands for Redundant Array of Independent Disks. It is a data storage technology that combines multiple disk drive components into a logical unit. RAID provides increased storage performance, reliability, and redundancy compared to single drives (Merriam-Webster, Cambridge Dictionary, Dictionary.com).

The main goals of RAID are to increase data reliability and/or improve I/O performance. It achieves this by distributing and replicating data across multiple drives. If one drive fails, the RAID system can rebuild the data from the remaining drives. This prevents data loss and system downtime.

There are several levels of RAID that provide different combinations of performance, redundancy, and capacity. Some common RAID levels include:

  • RAID 0 – Striping without parity or mirroring. Provides improved performance but no redundancy.
  • RAID 1 – Mirroring without parity or striping. Provides 100% redundancy but requires at least two drives.
  • RAID 5 – Striping with distributed parity. Provides redundancy and read performance improvements.
  • RAID 10 – Mirroring and striping. Provides high performance and full redundancy.

Higher RAID levels generally provide increased performance and/or redundancy compared to lower levels. The optimal RAID level depends on the specific goals and hardware configuration.

What is NVMe?

NVMe (Non-Volatile Memory Express) is a high-performance interface standard for solid state drives (SSDs). It was developed to accelerate data transfer speeds and reduce latency when accessing storage compared to older interfaces like SATA.

NVMe works by communicating directly with a computer’s PCI Express bus rather than connecting via the traditional storage interface protocols. This allows NVMe SSDs to fully utilize the parallelism of PCIe and bypass the storage stack bottleneck, leading to much faster speeds.

Some key benefits of NVMe over older SSD interfaces like SATA include:

  • Higher bandwidth – NVMe offers up to 16 Gbps on PCIe Gen3 compared to 6 Gbps max on SATA.
  • Lower latency – NVMe cuts down on queuing delays with a more streamlined queuing system.
  • More parallelism – NVMe can support over 65,000 I/O queues with up to 64K commands per queue.

Overall, the superior performance of NVMe makes it ideal for high performance applications like video editing, database access, virtualization, and more. NVMe is rapidly becoming the standard interface for SSDs on desktops and servers.

RAID Modes for NVMe

NVMe SSDs support several common RAID modes that provide various benefits:

RAID 0

RAID 0 stripes data across multiple NVMe drives for increased performance. Reads and writes are distributed across drives for parallel operation. RAID 0 provides improved throughput and decreased latency but offers no redundancy. According to Promax, RAID 0 can deliver nearly double the throughput of a single NVMe drive.1

RAID 1

RAID 1 mirrors data across two NVMe drives for redundancy. If one drive fails, data remains accessible from the other drive. Writes are duplicated to both drives. RAID 1 provides fault tolerance but cuts overall capacity in half. Performance is similar to a single drive.2

RAID 5

RAID 5 stripes data across three or more NVMe drives with parity information distributed among the drives. If one drive fails, the data can be rebuilt using the parity information. RAID 5 offers a balance of performance, capacity, and fault tolerance.

RAID 10

RAID 10 combines mirroring and striping by creating mirrored pairs of drives and then striping data across the pairs. This provides the performance benefits of RAID 0 and the redundancy of RAID 1. RAID 10 requires at least four NVMe drives.

Performance benefits of NVMe RAID

One of the main benefits of using NVMe drives in a RAID configuration is increased read and write speeds. NVMe drives are already extremely fast on their own, with sequential read speeds over 3,000 MB/s and write speeds over 2,000 MB/s for high-end models (dapustor.com). Combining multiple NVMe drives in RAID 0 can boost performance even further by striping data across the drives.

According to benchmarks, four NVMe drives in RAID 0 can reach sequential read speeds exceeding 14,000 MB/s and writes over 12,000 MB/s (reddit.com). This is a significant improvement over a single NVMe drive. RAID also dramatically improves IOPS (input/output operations per second), providing increased responsiveness for transactional workloads.

The speed boost from NVMe RAID is useful for applications that demand high bandwidth like video editing, scientific computing, financial analysis and virtualization. The ultra-low latency can reduce wait times and improve overall system performance.

Reliability benefits of NVMe RAID

NVMe drives in RAID 1, 5 and 10 configurations can provide higher reliability and redundancy compared to a single NVMe drive.

In a RAID 1 configuration, the same data is mirrored across two NVMe drives. If one drive fails, the system can continue operating using the other mirrored drive with no data loss [1]. RAID 1 provides redundancy but doesn’t increase overall capacity.

RAID 5 stripes data across multiple drives along with parity information that allows for data recovery if one drive fails. This provides redundancy while also increasing overall capacity compared to RAID 1 [2].

RAID 10 is a nested RAID level that combines mirroring and striping for redundancy and performance. Data is striped across multiple mirrored drive pairs, allowing for high throughput while protecting against up to two drive failures [3].

By utilizing redundancy through RAID, NVMe storage systems can provide protection against drive failure and improve reliability compared to standalone NVMe drives.

Cost considerations

Using multiple NVMe drives in RAID can significantly increase costs compared to using a single NVMe drive. While NVMe SSD prices have dropped dramatically in recent years, they are still more expensive than traditional SATA SSDs on a per GB basis. For example, consumer 1TB NVMe SSDs currently retail for $80-150 depending on speed, while 1TB SATA SSDs can be found for $60-100.

In order to implement RAID 0/1 for improved speed or redundancy, you need a minimum of two NVMe drives. RAID 5 would require at least three drives, and RAID 10 four drives. When you factor in the cost per GB, purchasing and populating all of those M.2 slots on a desktop motherboard adds up quickly. Someone looking to maximize both capacity and performance could easily spend over $500 just on NVMe SSDs.

For many consumer workloads, a single NVMe SSD may provide plenty of speed. The benefits of NVMe RAID need to be weighed against the increased costs. For mission critical applications where performance and redundancy are paramount, the premium cost of multiple NVMe SSDs in RAID may be justified.

Supported Hardware/Software

The hardware and software support for NVMe RAID is still evolving, but there are some key requirements:

For the motherboard, you’ll want one that has multiple M.2 slots or U.2 ports to connect multiple NVMe SSDs. Many server and high-end desktop motherboards now support this. For example, the Asus Z390-E motherboard has two M.2 slots that can support NVMe RAID according to this Reddit discussion.

In terms of operating system support, most modern versions of Windows, Linux, and ESXi can support NVMe RAID, provided you have the right drivers installed. For Windows, Microsoft has built-in NVMe RAID drivers since Windows 10 version 1803. For ESXi 6.7 and later, VMware provides NVMe RAID drivers as long as you have a supported RAID or HBA controller according to this Spiceworks thread.

That compatible RAID or HBA controller is key – you’ll want one designed specifically for NVMe SSDs, like the HighPoint SSD7749M which supports NVMe RAID for Windows, Linux, and Mac per the product specs.

So in summary, with a supported motherboard, OS, and RAID controller, many modern systems can support NVMe RAID.

Setup and Configuration

Setting up NVMe RAID requires configuring RAID settings in your computer’s BIOS. Here are the key steps:

  1. Restart your computer and enter the BIOS setup utility by pressing a key like Delete or F2 during boot.
  2. Navigate to the RAID configuration menu. This may be under an “Advanced” or “Storage” section.
  3. Enable RAID mode for your NVMe drives. You may need to toggle a setting like “NVMe RAID” or change each drive’s mode individually.
  4. Select your desired RAID level like RAID 0, 1, 5, or 10 based on your performance and redundancy needs.
  5. Ensure any NVMe drives you want to include in the array are selected.
  6. Create the RAID array and select options like stripe size.
  7. Save changes and exit BIOS.

After rebooting, you may need to initialize and format the RAID array in your operating system before it can be used. Refer to your motherboard or RAID card’s manual for specific steps tailored to your hardware.

Alternatives to NVMe RAID

While NVMe RAID offers benefits like increased performance and redundancy, there are other options that may better suit some use cases. Two popular alternatives are using a single large NVMe drive or traditional SATA RAID.

A single NVMe drive eliminates the complexity of configuring and managing RAID while still providing fast speeds compared to SATA drives. For example, a 4TB NVMe drive would have great sequential read/write speeds around 3500MB/s and 3000MB/s respectively [1]. This may be suitable for workloads that require high capacity with moderate redundancy.

SATA RAID using HDDs or SSDs has been around longer and is still a robust option. While speeds are slower compared to NVMe, SATA RAID provides good performance for many workloads at a lower cost. If using enterprise SATA SSDs in RAID 10, sequential speeds can reach over 500MB/s with added redundancy [2]. For some organizations, SATA RAID offers a nice balance between cost, performance and reliability.

Ultimately the choice depends on budget, performance needs, and redundancy requirements. NVMe RAID excels at delivering top speeds and uptime, but single NVMe or SATA RAID alternatives may be optimal in certain scenarios.

Recommendations

NVMe RAID can provide significant performance and reliability benefits, but also comes with increased costs and hardware requirements. Here are some recommendations on when NVMe RAID makes sense:

NVMe RAID makes sense for:

  • Applications that need very high throughput and low latency like video editing, scientific computing, financial analysis etc. The parallelism of RAID 0 can provide major performance gains.
  • Mission critical applications that require maximum uptime and data integrity. The redundancy of RAID 1, 5, 6, 10 etc. allows continuous operations even after drive failures.
  • Situations where cost is not a major factor, as NVMe RAID requires more expensive drives and RAID cards/enclosures.

NVMe RAID may not make sense for:

  • Most consumer applications, as a single NVMe drive can provide enough performance for common workloads.
  • Budget constrained builds, as the cost of multiple NVMe drives and supporting hardware can be prohibitive.
  • Setup lacks hardware support for bootable NVMe RAID from the motherboard or add-in cards.

Overall, NVMe RAID delivers unmatched speed and redundancy for high-end workstations and servers. But for mainstream desktops and laptops, a single NVMe drive is usually sufficient.