[ The PC Guide | Systems and Components Reference Guide | Hard Disk Drives | Hard Disk
Performance, Quality and Reliability | Redundant Arrays of
Inexpensive Disks (RAID) | RAID Configuration and Implementation
| RAID Controllers and Controller Features ]
Software RAID is just like hardware RAID,
except that it uses software instead of hardware. (There, that was easy! And here
I thought this section would be hard to write. :^) )
All kidding aside, that pretty much is what software RAID is about. Instead of
using a dedicated hardware controller to perform the various functions required to
implement a RAID array, these functions are performed by the system processor using
special software routines. Since array management is a low-level activity that must be
performed "underneath" the other software that runs on the PC, software RAID
usually is implemented at the operating system level. Windows NT and Windows 2000, as well
as most of the various flavors of UNIX, support some RAID levels in software.
There are a few advantages of using software RAID over hardware RAID, but more
disadvantages. First, let's look at the pros of software RAID:
- Cost: If you are already running an operating system that supports
software RAID, you have no additional costs for controller hardware; you may need to add
more system memory to the system, however.
- Simplicity: You don't have to install, configure or manage a hardware
- Duplexing: Duplexed RAID 1
can sometimes be implemented in software RAID but not in hardware RAID, depending
on the controller.
That's pretty much it. Now the cons:
- Performance: The best-known drawback of software RAID is that it
provides lower overall system performance than hardware RAID. The reason is obvious:
cycles are "stolen" from the CPU to manage the RAID array. In reality, this
slowdown isn't that excessive for simple RAID levels like RAID 1, but it can be
substantial, particularly with any RAID levels that involve striping with parity (like
- Boot Volume Limitations: Since the operating system has to be running
to enable the array, this means the operating system cannot boot from the RAID array! This
requires a separate, non-RAID partition to be created for the operating system, segmenting
capacity, lowering performance further and slowing boot time.
- Level Support: Software RAID is usually limited to RAID levels 0, 1 and
5. More "interesting" RAID levels require hardware RAID (with the exception of
duplexing, mentioned above.)
- Advanced Feature Support: Software RAID normally doesn't include
support for advanced features like hot spares and drive swapping, which improve availability.
- Operating System Compatibility Issues: If you set up RAID using a
particular operating system, only that operating system can generally access that array.
If you use another operating system it will not be able to use the array. This creates
problems with multiple-OS environments that hardware RAID avoids.
- Software Compatibility Issues: Some software utilities may have
conflicts with software RAID arrays; for example, some partitioning and formatting
utilities. Again, hardware RAID is more "transparent" and may avoid these
- Reliability Concerns: Some RAID users avoid software RAID over concern
with potential bugs that might compromise the integrity and reliability of the array.
While hardware RAID controllers can certainly also have bugs, I think it's
reasonable to believe that some operating systems are more likely to have these sorts of
problems than a good-quality hardware RAID controller would.
All things considered, software RAID doesn't seem to have much to recommend it. At the
same time, realize that in many cases it is much better than using nothing at all. If you
are running a small business, a software RAID 1 solution is far superior to
running without RAID at all, especially if you aren't meticulous about your backups. (Then
again, if you can afford two drives to do mirroring, a hardware RAID card is often only a
small incremental cost...)
Next: Controller BIOS and BIOS Upgrades
Home - Search
- Topics - Up