Host Controller Types
Software
A software based RAID system is based entirely at the operating system level. The RAID software
layer sits above the device drivers and provides the link from physical drive to logical drive. The
physical drive would be the actual piece of hardware while the logical drive would be the
drive visible to the end user on the computer. In other words, the RAID
software makes multiple physical drives show up as a single logical volume/
drive.
Software RAID systems are very cost effective and easy to implement, but are
not as efficient as other RAID system types. This is due to software RAID
systems being entirely dependent on the host system's (your computer) resources and
CPU overhead for usage. Most modern OS's (including OS X) have RAID capabilities built in with the
most common being RAID 0, 1, 0+1. Some include additional capabilities for RAID 5.
Hardware (Firmware/Driver Based)
A firmware based RAID system is often somewhat mistakenly known as a hardware system. Designed
to solve some of the shortcomings of Software based RAID systems and be less expensive than
hardware systems, firmware based systems were designed to fill the gap. These are often referred to
as "RAID Controllers" though they do not have any sort of actual RAID controller within
them, but are often standard disk controller chips with special firmware and
drivers. The burden of the RAID calculations fall upon the host system's
resources and CPU overhead.
In a firmware based RAID system, the RAID instructions are stored in the
firmware of the device (for example the bridge board of the OWC Mercury Elite
Dual Bay units & GMAX units). During startup/boot, the RAID is essentially kick-started by the firmware
and kept in that state until the host (computer) OS is ready to handle the actual use of the drives and
RAID calculations at which point the device drivers are used.
True/Full Hardware
A hardware based RAID system is the best way to implement RAID. All of the RAID functions are
performed by dedicated hardware (processor, memory, & operating system) referred to as a "RAID
Controller". Unlike a firmware/driver system being referred to as a "RAID Controller", a hardware
system is the true form as it actually does control the RAID functions.
A hardware RAID system potentially offers the best performance, but it is
dependent upon the hardware the system itself uses. Because all of the RAID
functions are self-contained within the RAID controller, there are virtually no
resources used from the host computer system. While potentially the most
efficient, hardware RAID systems are also the most expensive to implement.