Software or hardware RAID implementation?
So, you're still into RAID (and you're interested in comparing them). If you missed our introduction to RAID, check it out here . Now that you understand what the various RAID options are, it makes sense to see in more detail which one will be the winner in the comparison between the software and hardware implementations of this approach. In fact none of them will win, the winner is you! Because you'll choose the option that works best for you. Let's begin...
All the computations involved in making RAID work require a lot of processing power. The more complex the RAID configuration, the more CPU resources it requires. From a computational point of view there is little difference between a software RAID implementation and a hardware RAID implementation. Ultimately, the difference is in where RAID processing is performed. It can either be performed by the server processor where the RAID system is installed (that is the software implementation) or by an external processor (that is the hardware implementation).
Hardware RAID (hardraid) implementation
In a hardware RAID implementation the drives are connected to a RAID controller card that plugs into a PCI-Express (PCI-e) slot on the motherboard. This is done in the same way for both large servers and desktop RAID installations. Most external devices have a RAID controller card built into the device itself.
Better performance, especially for complex RAID configurations. Processing is performed by a dedicated RAID processor rather than the computer's main processor. This reduces the load on the system when writing data backups and reduces data recovery time. More RAID configuration options are provided, including hybrid configurations which may not be available under certain operating system settings. Compatibility with various operating systems. This factor is critical if you plan to access your RAID system from Mac and Windows computers simultaneously. The RAID hardware implementation will be recognized by any system.
- Since the system contains more hardware, initial deployment costs will be higher.
- Performance degradation in certain hardware RAID implementations when using solid state disks (SSDs). Older RAID controllers do not offer the fast native SSD caching needed to efficiently program and erase the drive.
- Hardware RAID software is designed to work exclusively with the large systems (general purpose machines, Solaris RISC systems, Itanium, SAN) used in industrial infrastructure.
RAID software implementation (softraid)
When the disks storing information are connected directly to a computer or server without a RAID controller, RAID configuration chosen is handled by a utility included in the operating system. This arrangement is called a software RAID implementation. Many operating systems support RAID configuration, including Apple and Microsoft, various versions of Linux systems such as OpenBSD, FreeBSD, NetBSD and Solaris Unix systems.
- Low cost RAID deployment. All you need to do is to connect the drives and then configure their use with the operating system.
- Today's computers are so powerful that their processors can easily handle RAID Level 0 and 1 without any noticeable performance degradation.
- RAID software is often specific to the operating system you are using and therefore cannot be used for disk arrays shared between different operating systems.
- You are limited to RAID levels that your operating system can support.
- With more complex RAID configurations, computer performance suffers.
Software or hardware RAID implementations?
The winner of the RAID implementation comparison really depends on how you use your system. If your intention is to save money (and who doesn't?) then you will use a single operating system to access the RAID array and use RAID level 0 or 1, using a software RAID implementation which gives you the same protection and experience as a more expensive hardware implementation.
If you are able to provide the initial investment then hardware RAID implementations are definitely preferable. It will free you from the limitations of a software RAID implementation and give you more flexibility in using and configuring RAID.