Software vs. Hardware Based RAID for External Drive

Which one should you choose?

Adding an external RAID enclosure to a computer is a popular way to expand its available storage while also increasing performance, data protection, or both. When looking for an external RAID storage system, select a unit with either a software-based or hardware-based RAID controller. We reviewed both types to help you determine which one is best for you, depending on how you plan to use it, the price, and your performance needs.

Overall Findings

Software-Based Controller
  • Costs less. Basic-level service is often free in the OS.

  • Offers flexibility when configuring drives.

  • Good choice for basic arrays.

  • Uses the computer processor and RAM.

Hardware-Based Controller
  • More costly. Advanced systems much more costly.

  • Easy to move between computers.

  • Excels with complex arrays.

  • No impact on the host computer.

A RAID enclosure holds multiple drives that can be configured in one or more RAID configurations. RAID enclosures deliver high levels of performance and can be configured for data redundancy, ensuring that your data is available even if a drive fails.

The heart of a RAID system is the controller, which takes command of distributing data to and from the drives that make up the RAID array. RAID controllers can be hardware-based, using a chip built into the RAID enclosure, or software-based, using the computing power of the computer to control how data is read or written to the enclosure.

Affordability: Software RAID Controllers Are Lower-Priced or Free

Software-Based Controller
  • Lower cost overall.

  • Many operating systems include built-in support for basic RAID levels.

  • Must purchase additional software to support RAID 3 and 5.

Hardware-Based Controller
  • Hardware enclosures with built-in support for basic RAID levels are relatively affordable.

  • Enclosures that support advanced RAID levels and more drives are costly.

Because the RAID enclosure makes use of standard interface chipsets, the design and manufacturing costs are kept low. Software cost may be as low as zero because many operating systems include built-in support for the most basic RAID levels—usually 0, 1, and 10. If you need RAID 3 or 5, added cost software applications are available to take care of your needs.

Hardware-based RAID enclosures cost more than multi-bay enclosures with no built-in RAID support. However, the difference in price is usually small. Basic RAID hardware that supports only striped, mirrored, or independent drives is relatively affordable. In contrast, hardware-based RAID controllers that support additional RAID levels and more drives within the array cost more.

Versatility: It's a Toss-Up

Software-Based Controller
  • Offers the most flexibility in configuring each drive.

Hardware-Based Controller
  • Appears as a single disc to the operating system.

  • Easy to move the enclosure between computers and operating systems.

Software-based RAID controllers offer the most flexibility in configuring how each drive in an enclosure is used. In a four-drive enclosure, three drives can be configured as a striped array for performance and one large drive for backup. You could also configure the four drives as two independent arrays, a striped set for video editing, and a mirrored set for multimedia libraries. How the drives in the enclosure are used is up to you.

Hardware-based RAID systems appear to the host operating system as a single disk, which makes the RAID system transparent to the computer it is connected to. The upshot is that transporting hardware-based RAID systems between computers and operating systems is easy.

Performance: Hardware-Based Controllers Excel at Advanced Levels

Software-Based Controller
  • Performance is equal to a hardware-based system for basic arrays.

  • Performance declines for complex arrays.

Hardware-Based Controller
  • Equals a software-based system for basic arrays.

  • Outperforms a software-based RAID for advanced levels.

  • Rebuilds much faster than a software-based system.

Software-based RAID systems used for basic striped arrays or mirrored arrays aren't likely to see a performance penalty when compared with hardware-based systems. However, as the number of drives used in an array grows or more complex RAID levels are used, software-based RAID apps affect the performance of the RAID system and the overall performance of the computer.

Software-based and hardware-based RAID enclosures have similar performance numbers for basic striped and mirrored levels when you move to more elaborate RAID levels. However, hardware-based systems outperform their software-based counterparts. This improved performance is not limited to only writing and reading data. Improved performance also shows up when mirrored RAID data needs to be rebuilt due to a drive failure. Hardware-based RAID systems usually perform the rebuilding process quicker than software-based systems.

In the past, the conventional wisdom was that hardware-based controllers had the advantage in performance. These controllers make the needed calculations to steer data to and from the drives in a RAID array without introducing a performance bottleneck. Software-based systems are usually less expensive and perform adequately for three popular RAID levels, RAID 0 (striped for speed), RAID 1 (mirrored data for redundancy), and RAID 10 (mirrored set of striped drives). However, software-based systems had performance issues with more complex RAID levels.

Advanced RAID levels, such as RAID 3 and RAID 5, which protect data by using complex calculations to generate parity data that is written alongside the existing data flow, were once considered to be too much of a strain on software-based systems. These advanced RAID levels resulted in lower performance levels than those provided by hardware-based RAID controllers.

However, modern processor designs using multiple processing cores, along with modern operating systems that take advantage of multicore processors, eliminated the performance penalty in software-based RAID systems, at least for the basic RAID levels of 0, 1, 3, 5, and 10.

Overhead: Hardware-Based Systems Don't Affect Computer Performance

Software-Based Controller
  • Uses one or more CPU cores and RAM.

Hardware-Based Controller
  • No impact on the processor or RAM.

Software-based RAID makes use of one or more CPU cores, as well as RAM, which could impact other processes that run on your computer. The extent of the impact is based on the RAID level in use and the number of drives that make up the RAID array.

External hardware-based RAID enclosures produce no impact on the processor or RAM overhead on the host computer.

Bootability: It's a Mixed Bag

Software-Based Controller
  • Some software RAID systems boot well. Some don't.

Hardware-Based Controller
  • Boots the computer if the connection is right.

Bootability is a mixed case. Some RAID software works well with booting from a RAID array, while others have issues. If your plans include booting from the RAID array, confirm that the RAID software you expect to use supports booting.

In general, hardware-based RAID systems can serve as your boot system, provided the connection to your computer uses a port type that the operating system designates for booting. USB 3 and Thunderbolt ports are usually bootable, but check with the operating system and computer manufacturer to make sure.

Final Verdict

A software-based RAID controller gets a thumbs up when the driving force is to keep the cost down, and your RAID usage is restricted to RAID 0 (striped), Raid 1 (mirrored), or RAID 10 (mirrored set of striped drives). This type of RAID system is a good choice for home users who use the RAID system with a single computer system.

A hardware-based RAID controller is the choice for complex RAID setups, such as those used in RAID 3 or RAID 5, that incorporate parity bits generated and compared in real-time as data is sent to and from the RAID array. Hardware-based RAID is also a good choice for basic RAID 0 and RAID 1 systems when you want the RAID enclosure to be independent of the host computer, giving you the ability to move the system between multiple computers.