Software or Hardware based RAID for Your External Drive

Close up of external RAID enclosure with hand holding RAID disk
Roderick Chen / First Light / Getty Images

An external RAID enclosure is a popular way to increase your computers available storage while also adding an increase in performance or data protection or both. One of the key questions to answer when looking for an external RAID storage system is how will the RAID functions be performed, in software or by dedicated hardware.

Why an External RAID Enclosure?

Let's be clear, if your main purpose is only to expand the amount of available drive space, you may find a single external drive may be a much less expensive option. The single external drive is very versatile; it can be used for additional storage space, as a backup drive, or for installing alternative operating systems on.

A RAID based enclosure, on the other hand, will be designed to hold multiple drives and offer the user the ability to configure the enclosure in one or more RAID configurations.

RAID enclosures can be configured to provide higher levels of performance than is typically available from single drives, they can also provide for data redundancy, ensuring that your data is available even if a drive fails. RAID systems can also be configured for both performance and data protection.

Software or Hardware Based RAID Controller

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-in to the RAID enclosure, or software based, using the computing power of your computer to control how data is read or written to the enclosure.

Common wisdom has been that hardware-based controllers have the advantage in performance, being able to make the needed calculations to steer data to and from the drives in a RAID array without introducing a performance bottleneck. Software-based systems were usually less expensive and could 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). But had performance issues with more complex RAID levels.

Advanced RAID levels such as RAID 3 and RAID 5 which protected data by using complex calculations to generate parity data that was written alongside the existing data flow was at one time considered to be too much of a strain on software-based systems and resulted in lower performance levels than what was seen with hardware-based RAID controllers.

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

Software-Based RAID

RAID systems that make use of software-based control have the following characteristics:

  • Reduced cost: Because the RAID enclosure can make use of standard interface chipsets, the design and manufacturing costs are kept low for the RAID enclosure. Software cost may be as low as zero, since many operating systems include built-in support for the most basic RAID levels usually 0, 1, 10. If you need RAID 3, or 5, there are added cost software apps available that can take care of your needs.
  • Versatility: Software-based RAID controllers allow the most flexibility in configuring how each drive within an enclosure will be used. In a four drive enclosure; you could have three drives configured as a striped array for performance, and 1 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 various multimedia libraries. The point being is that how the drives in the enclosure are used is completely up to you.
  • Performance: Software-based RAID systems used for basic striped arrays or mirrored arrays are not likely to see a performance penalty. However as the number of drives used in an array grows, or more complex RAID levels are used, software-based RAID apps may start to affect the performance of the RAID system, as well as the overall performance of the computer.
  • Overhead: Software-based RAID makes use of one or more CPU cores, as well as RAM which could impact other processes being run on your computer. The extent of the impact is based on the RAID level being used, and the number of drives that make up the RAID array.
  • Bootable: This is a mixed case, some RAID software works well with booting from a RAID array, and others have issues. If your plans included booting from your RAID array be sure and check that the RAID software you plan to use supports booting.

Hardware-Based RAID

RAID enclosures that use a hardware-based RAID controller have the following characteristics:

  • Cost: Hardware-based RAID enclosures will have a premium in price compared to multi-bay enclosures with no RAID support built in. However, the difference in price can be small. Basic RAID hardware that just supports striped, mirrored or independent drives has a very small cost premium, while hardware-based RAID controllers that support additional RAID levels and more drives within the array may have a much larger price premium.
  • Self-contained: Hardware-based RAID systems appear to the host operating system as a single disk. This allows for the RAID system to be transparent to the computer it is connected to. The upshot is hardware based RAID systems are easily transported between computers and operating systems.
  • Performance: While software and hardware-based RAID may have similar performance numbers for basic striped and mirrored levels, once you move to more elaborate RAID levels, hardware-based systems tend to outperform their software-based counterparts. This improved performance is not limited to just writing and reading data but 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 much quicker then software-based systems.
  • Overhead: External hardware-based RAID enclosures should produce no impact on processor or RAM overhead on the host computer.
  • Bootable: Generally, hardware-based RAID systems can be used as your boot system provided the connection to your computer uses a port type that the operating system supports booting from. USB 3 and Thunderbolt ports should generally be bootable but check with the operating system and computer manufacturer to make sure.

RAID Recommendations

  • Software-based RAID gets a thumbs up when the driving force is to keep cost down and your RAID usage will be 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 will use the RAID system with a single computer system.
  • Hardware-based RAID is the choice for both complex RAID setups, such as used in RAID 3 or RAID 5 which incorporate parity bits being 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 the more 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.