I came into the forum to learn what RAID controllers are currently available, and noticed that the definitions provided here for RAID controllers, whether they are software or hardware RAID, seem unclear.
There are basically three kinds of controllers. Those which are not controllers at all, but the functions of RAID control over the drives are provided entirely by the operating system, or an application which may be run after the OS is booted. This is Software RAID.
Then there is the type of RAID controller which is CPU and system memory dependent, and which is administered by an application which runs after the OS is booted. Such applications are OS dependent. There might be rudimentary administration of the RAID before the OS is booted, but full control of the drives is not possible until after the OS is booted. This type is usually found with motherboards, and sometimes with very inexpensive RAID controllers that have no processor nor memory for RAID functions. It is a hybrid of hardware and software RAID.
Hardware RAID has its own processor, and its own memory, and its own cache, etc., and there is full administration and control from an application run from the card itself before the OS is booted. There might be applications run after the OS is booted to monitor the RAID, but they are not necessary. Hardware RAID is always the most dependable, but is almost always too expensive for anything but enterprise systems.
Hardware RAID has certain requirements for drives which make them more expensive, and may or may not have hot swap functions with direct control over the back plane of the drive cage, and they may have hot reset synchronization functions which make them very safe for data. Not all have hot swap but all are completely independent from the OS. Such things are not possible with software nor hybrid raid. Because there is a processor and memory with the hardware RAID card, the card is very expensive.
Software RAID has the particular disadvantage of not offering assurance that the system may continue to run with a failed drive, whereas hybrid and hardware RAID, depending on the type of parity, striping and redundancy or mirroring scheme that is used (such as RAID 1, 5, 10, etc), the system may continue with one drive failed (such as RAID 1 or 5) or with two or more drives failed (such as RAID 10) uninterrupted until the situation is resolved.
The advantage of hardware RAID with hot swap over other types of RAID systems is that the solution may be implemented without downing the system.