What is hardware RAID (hardware redundant array of independent disk)?
Hardware RAID is a form of RAID (redundant array of independent disks) where processing is done on the motherboard or a separate RAID card. With hardware RAID, logical disks are configured and mirrored outside of the storage system. A physical RAID controller manages the array, presenting data to applications and operating systems as logical units. The controller resides on a Peripheral Component Interconnect Express bus.
RAID is a technique in which data is spread across multiple hard disk or solid-state drives to improve system throughput and reduce redundancy. These drives are configured to either distribute the data load among them or to duplicate data in order to enable recovery in the event of a drive failure.
The term was first proposed in 1987 by researchers David Patterson and Randy Katz at the University of California, Berkeley. Patterson is also known for his contributions to reduced instruction set computer design and development.
RAID spreads data across multiple drives, balancing overlapping input/output operations. This improves performance and increases the mean time between failures, and bolsters fault tolerance. RAID can be in the format of a hardware or software system. Mirroring data on clusters of drives also improves error correction and data reliability, and helps to ensure system availability.
There are multiple RAID levels, numbered from RAID 0 through to RAID 10. In case of disk failure, all RAID levels provide automatic data recovery (except RAID 0 which improves performance but doesn't safeguard data). Many operating systems (OSes) support RAID configurations, including macOS, Windows, Linux and Oracle Solaris UNIX.
How does hardware RAID work?
Hardware or software implementations of RAID can achieve the same goal of distributing data across multiple drives. With hardware RAID, controllers that are independent from the host OS usually manage the data replication and distribution so there is no additional overhead that would affect the performance of the server processor.
Standalone RAID controllers are equipped with their own CPU and cache memory. As such, hardware RAID devices act as miniature, self-contained computers which help maintain performance but they are a more expensive option than setting up a RAID array based on software alone. These controllers are installed in the server and configured through the BIOS or Option ROM (firmware that recognizes the card and initializes it) before the OS boots. A less expensive option is to use a RAID chip built onto the server motherboard.
The RAID controller or chip takes care of all RAID array provisioning and management, relieving the OS of those chores. The array management processes are visible to the host computer.
Different RAID levels are used for different purposes. For instance, a RAID 1 (disk mirroring) array, in which each byte of data on one disk is fully replicated on another disk to provide full data redundancy, ensures that the system will be able to boot up with its data intact. However, RAID 1's drive volume requirements make it impractical to protect large amounts of data. Other RAID levels, such as RAID 5, are more practical for large data storage.
Hardware RAID vs. software RAID
The main difference between hardware and software RAID is where the RAID processing happens. Software RAID performs the processing on the host's CPU with the help of an OS driver or utility software. The software is embedded in the computer system and it must be compatible with the host OS.
In contrast, a specialized RAID controller or chip manages all drives and RAID arrays without relying on server resources. Any changes required for the drive array and RAID controller can be made independently of and without affecting the host system.
For both hardware and software RAID, all RAID components must be configured for specific user requirements and required RAID level. Doing so ensures that the RAID can support the user's storage requirements. Storage capacity can be increased by adding more drives to the RAID-protected storage array with both hardware and software RAID methods.
Benefits of hardware RAID
Because it does not use the server processor and also because it uses a separate RAID controller or chip, hardware RAID provides better performance and faster data access, as well as potentially faster data recoveries. In addition, it allows users to create boot partitions and provides more RAID configuration options (including hybrid configurations). Also, because hardware RAID operates independently of the OS, multiple OSes can share the RAID implementation. Such sharing is not possible with software RAID.
Hardware RAID also supports disk hot swapping, which allows replacing a failed drive without having to power down the device and with minimal disruptions to the storage system. Finally, since the RAID directly communicates with devices, it provides better error handling and data recovery.
In summary, the advantages of hardware RAID include the following:
- Compatibility with numerous OSes.
- Reduced stress on the system for data protection and data recovery.
- More configuration flexibility and variety provided by dedicated RAID controller or chip.
- Protection from data corruption and loss.
Downsides of hardware RAID
The main drawback of hardware RAID is its cost compared to software RAID and the need to have server or storage systems that can accommodate the hardware.
If cost is not a major consideration, hardware RAID is the better choice when high performance is required. Hardware RAID is also better suited for high-level RAID implementations, including hypervisors and proprietary software.
Learn about the key differences in software RAID vs. hardware RAID. Compare RAID levels 0, 1, 5, 6, 10 and 50 and read about the differences and benefits of RAID vs. backup.