Before talking about the individual participants we must first discuss the internal design of different RAID-implementations and give you an update on the current techniques of RAID components like SATA controllers and I/O processors, so everyone knows what we're talking about.
In this lesson on the anatomy of a RAID adapter we will first distinguish two categories. Those belonging to the so-called "software RAID-adapters" and those in the "hardware RAID adapter" category. In the first category we find controllers which use the CPU for RAID specific calculations. In the second group we find controllers where all RAID functionality is handled by the adapter itself. The distinction between software and hardware RAID makes you think that for the second group RAID logic is baked into silicon. Nothing is more true: even in the so-called hardware RAID controllers RAID arrays are bind together through software, the difference is the software is running on a dedicated I/O processor. It is therefore better tot speak off hostbased RAID adapters and intelligent RAID adapters. The first group is dependent upon the host CPU while the second group has sufficient intelligence available to run the RAID computations independently from the host.
RAIDCore BC4852: its hardware design is no more complicated than a normal SATA host bus adapter
Hostbased RAID and intelligent RAID each have their own advantages and disadvantages. The most obvious advantage of hostbased RAID is its lower cost. The RAID controller or adapter design does not need to be more complicated than a normal controller without RAID-functionality. Because it uses the brute force of contemporary fast processors, hostbased RAID implementations are able to offer excellent performance scaling. The downside, especially on RAID levels with parity, is that the controller uses much more CPU-cycles. Besides higher CPU usage, also more interrupts are requested, more memory bandwidth is consumed and more I/O bandwidth is used. Furthermore besides the actual data, redundant data for RAID levels with parity or mirroring must also be transferred over the bus. On intelligent RAID adapters redundant data is not sent over the host PCI bus. Another disadvantage of hostbased RAID controllers is that they cannot operate independently from the processor and/or the operating system. For handling of operations like reconstructing or expanding a RAID volume it is often necessary to have an active operating system with installed RAID management software. A hardware reset will, with certain hostbased solutions, result in a rebuilding or initialization operation starting again from scratch. If system memory is used as cache (write-back data) it cannot be protected by a battery backup unit (BBU).
Intelligent RAID-controllers have the advantage that they can operate entirely independent from the system. Rebooting, resetting or shutting down the system generally won't affect them. When using RAID levels with parity intelligent RAID-controllers use considerably less CPU cycles then hostbased controllers. The downside is that a slow I/O processor can become a bottleneck and will decrease performance. All RAID-adapters with an Intel i960, IOP302 or IOP303 processor experience a bottleneck which is frequently felt at transfer rates reaching 130MB/s. Consequential, when using more than four fast disks, throughputs will no longer increase. On the other hand RAID adapters with the new Intel XScale I/O processors scale extremely well.
Intelligent RAID: I/O processor in the center, memory chips on the right, SATA controllers on the left
Previously we have listed examples of the superior availability features of intelligent RAID adapters. The independent operation ensures a higher availability of data. And because most adapters can be equipped with a battery backup unit protecting the contents of the cache, write-back caching can be enabled without risk, resulting in a considerable performance improvement, especially in RAID 5. At least as important is that the manufacturers of intelligent RAID adapters seem to put more effort in qualification of their products. Because much intelligence takes place in hardware or firmware, these manufacturers better make sure that their products are functioning properly. Ad-hoc fixing of problems will be more cumbersome than issuing a simple driver update. The fact that these manufacturers frequently aim at higher market segments then makers of hostbased RAID adapters also plays a role. We feel that more driver- and compatibility problems arise with hostbased RAID adapters. For example look at the disastrous performance of the Promise FastTrak S150 SX4 with the first-release drivers, the call-back action of the RAIDCore RC4x52 and the bad experiences of those using the HighPoint RocketRAID 1820. But manufacturers of intelligent raid adapters aren't spared of trouble. Recent 3ware cards with support for 64-bit 66MHz have compatibility issues with certain PCI-X mainboards and LSI Logic had to call back early versions of the MegaRAID SATA 150-4 and MegaRAID SATA 150-6.
As you might have guessed reality isn't painted black or white with regards to the difference between hardware or software RAID, and hostbased RAID-adapters versus intelligent RAID-adapters. There are mixtures of the above which use hardware acceleration for certain tasks and are dependent on software running on the host CPU for other tasks. One of the manufacturers with a so-called hardware assisted RAID solution is Promise. The Fasttrak S150 SX4 is capable of making XOR-computations in hardware and is equipped with an onboard memory, however it lacks a fully featured I/O processor.