Ah, storage. Every PC needs it it, but your standard PC storage solutions suffer from two glaring frustrations.
First off, storage performance tends to be one of the main bottlenecks in a typical PC, although the situation has vastly improved with the advent of solid state drives. (Yes, it's probably your hard drive holding back your high-end PC from even greater glory.) Second, drive failure can lead to the loss of valuable data, and no one wants that.
Thankfully, there's a way to help mitigate both of these problems using a feature that's supported on virtually every modern computer system: RAID.
RAID was originally an acronym for Redundant Array of Inexpensive Disks, but that has since morphed into the more commonly accepted Redundant Array of Independent Disks. As its name implies, RAID is a way to pair multiple drives together to improve performance, redundancy, or both.
RAID used to require expensive hardware purchases and was sometimes difficult to configure. Now, though, all but the lowest-end desktop systems (and even some laptops) feature integrated drive controllers with RAID support built right in. Most operating systems--including Windows--also give users the ability to configure what's known as software RAID. Expansion cards are available too, which can add RAID support to any system with an open PCI-E slot.
Setting up a RAID array is easy in most cases. Typically, the process requires little more than installing some drives, attaching them to a RAID or drive controller, and stepping through a simple wizard that's either embedded in firmware or available within your operating system.
When to use RAID
Budget permitting, there are many good reasons to use RAID.
Today's hard disks and solid state drives are far more reliable than their predecessors, which make them perfect candidates for RAID. As we've mentioned, RAID can increase storage performance or offer some level of redundancy--both things most PC users want.
Common RAID modes
Choosing the right RAID mode is paramount. Over the years, many RAID modes, or levels, have been defined. On most of today's desktop systems, however, only a handful of modes are typically supported. Here are the ones you'll see in the PC space.
RAID 0 -- Striping:
RAID 0, or striping, distributes data among the drives used in the array. And because the workload is parallelized and spread across the drives, read and write throughput in many circumstances is improved. RAID 0 requires a minimum of two drives and the total capacity of the drives in the array are combined into a single volume, due to the way data is distributed. Two 1TB drives paired together in a striped RAID 0 configuration, for example, will be recognized as a single, 2TB volume. RAID 0 does not mirror or store any parity data though, so the loss of a single drive will take down the entire array.
Configuring SSDs in RAID 0 can result in some truly jaw-dropping transfer speeds. More on that at the end.
RAID 1 -- Mirroring:
RAID 1, or mirroring, also requires a minimum of two drives. But instead of striping data, the data stored on the drives in the array is duplicated across all the hard drives. RAID 1 offers a level of data redundancy, and the array can be rebuilt in the event of a drive failure without any loss of data.
Performance can also be improved somewhat, at least when using hard disk drives, since any drive in the array can be accessed to read data, and one drive may offer lower seek or rotational latency due to the position of its drive heads. Write performance is usually lowered, however, because data is mirrored to all of the drives in the array. The total capacity of a RAID 1 volume will equal the capacity of a single drive on account of the redundancy: If two 1TB drives are used, the total capacity of the RAID 1 volume will still be 1TB.
RAID 5 -- Striping with Parity:
RAID 5, which requires a minimum of three drives, improves performance by striping data like RAID 0, but it also offers a level of redundancy in RAID 1-like fashion by storing parity data across the drives in the array.
In a RAID 5 setup, a single drive in the array can fail without any loss of data, but performance will be degraded until the bad drive is replaced and the array rebuilt. Depending on the capacity of the drives used, rebuilding a RAID 5 array can take some time, so it's usually recommended for smaller volumes. Also note that the total capacity of a RAID 5 setup will be the sum of all of the capacities of the drives used in the array, minus the capacity of one. Three 1TB drives used in RAID 5, for example, will offer a total capacity of 2TB.
JBOD -- Just a Bunch Of Disks:
Technically, JBOD is not RAID, since it doesn't offer any sort of redundancy, but it is a mode supported by most drive controllers. JBOD gives users the ability to link multiple drives together to create a single, larger-capacity volume. There is no performance improvement nor data protection though. JBOD is used to simply increase the capacity of a volume; when one drive in a JBOD array is filled, data spills over to the next drive, and so on.
Prepping for RAID
There are a few things to keep in mind before setting up RAID on an existing system. If you're starting fresh with a new PC, there's no preparation needed short of making sure you've got the drives connected to the right ports on your motherboard or RAID card/controller. But on an already-configured system, there are many, many considerations.
The first thing we'd recommend is backing up all of your data. Ensure that all of the data on your existing drives is backed up and that you've taken a fresh image of your OS installation. (This guide has nitty-gritty details on how to do just that.) If something goes wrong and you lose data, you'll be happy to have a backup in place. And if setting up RAID somehow mangles your OS, having a fresh image on hand will help you recover in no time.
Note, however, that if you plan to migrate an existing OS installation that resides on a single drive to a new RAID volume, the configuration changes necessary to set up RAID may cause problems with the OS and render it non-bootable. It's best to install a fresh OS onto a new RAID array whenever possible.
RAID hardware considerations
The vast majority of motherboards sold today have built-in support for RAID. The drive controllers integrated into Intel's and AMD's chipsets offer RAID (as do most other lesser-known chipsets) and many motherboard manufacturers often integrate additional RAID controllers, from companies like Marvell, onto their boards as well. It's common for on-board RAID controllers to support RAID 0, 1, 5, and JBOD, though some also support RAID 10. Keep in mind though, that even on the off chance your motherboard doesn't have built-in RAID support, software RAID is still most likely possibly, provided the board has a couple of open SATA ports to connect additional drives.
Though the RAID controllers integrated into most motherboards should be adequate for the vast majority of users, higher-end add-in solutions are also available. Typically, inexpensive add-in boards (think under $150) feature the same basic standalone controllers found on many motherboards, but some higher-end offerings like those from Areca, LSI, or 3COM offer true hardware RAID, with dedicated storage processors and cache memory.
Setting up hardware RAID
Configuring an array with a hardware RAID controller is fairly straightforward. If you're using an add-in board, the first step is to actually install the card. Power down your system, insert that card into an available PCI-E slot, power up the system, and install whatever drivers are necessary for your OS. Installing a RAID controller card is really no different than any other add-in board.
If you're planning to use your motherboard's on-board RAID controller, the first step is to enter your system BIOS/UEFI, navigate to the integrated peripherals or SATA menu, and enable RAID, since most of today's motherboard default to legacy IDE or AHCI modes.
Once RAID support is enabled (or your add-in card is installed), the next step is to physically connect your storage drives. Mount the drives into any available bays in your system, connect their power and data cables, and that's basically it. When you boot your system with RAID enabled, you'll see a prompt to enter the RAID controller's option ROM, usually by pressing CTRL + I or CTRL + S.
After entering the RAID controller's option ROM, you'll be presented with a menu with the RAID management tools. It's here where you can create an array, name it, select the drives and RAID mode, and configure options like the stripe size or total capacity. The exact steps will vary from controller to controller, but the process is usually quick and easy.
When you've completed configuring the array, save your changes, and it should be ready to use.
Setting up software RAID
Using Windows' built-in support for software RAID is simple. Assuming you've already got your drives connected, launch the Disk Management utility by right-clicking in the low-left corner of your screen (Windows 8/8.1) and select Disk Management from the menu. In Windows 7, click your Start button, right-click on Computer, choose Manage from the menu, and in the window that opens, click on Disk Management in the left column.
If your drives are brand new, you'll be presented with the option to initial the drives. Do so and you'll be brought to the main Disk Management menu, where all of the drives are listed.
To configure a software RAID, right-click on one of the drives you'd like to include in the array and select the option to create a new Striped (RAID 0), Mirrored (RAID 1), or Spanned (JBOD) volume. RAID 5 may also be an option if you've got at least 3 eligible drives installed. After selecting the volume type, a wizard will launch to walk you through the rest of the steps.
In the second part of the wizard, you'll be asked to select the rest of the drives to include in the array. The drive you originally selected will already be added. To add more, simply highlight them in the left pane and click the Add -> button.
Once you've added all of the drives and continued through the wizard, you'll be asked to select a drive letter and format the array. After it's formatted, the array is ready to use.
Side note: Windows 8 also has a feature dubbed Storage Spaces that allows you to pool multiple drives into a single large volume, complete with some optional resiliency features. It's kind of like RAID light and is dead simple to set up.
OS installation considerations
If you're planning to create a new RAID array to install a fresh OS, follow the steps outlined in the hardware RAID section and then begin your OS installation as normal. Windows may recognize the array without any intervention because Microsoft includes drivers for many RAID controllers, but if the Windows installer doesn't find your storage, you'll have to install your RAID controller drivers manually.
During the initial part of the OS setup phase, there will be a button to load drivers. Place the drivers for your RAID controller on a flash drive, optical disk, or external HD, connect it to your machine, and browse to the drivers during the installation. Once the drivers are installed, you should be able to select the array as your Windows installation destination and continue on as you would with a single drive.
The final word
If you've got the cash (or the spare drives), setting up RAID is quick and easy. And if you decide to configure RAID on your PC, you'll either enjoy the peace of mind that comes with redundancy or reap the benefits of additional performance.
To give you an idea of what a two-drive RAID 0 array can do with a pair of Intel 730 SSDs, consider this: A single Intel 730 series SSD offers approximately 536MB/s and 483MB/s read and write bandwidth with large sequential transfers. Pair up two drives in RAID 0, however, and those read and write numbers jump to an insane 1061MB/s and 924MB/s, respectively.
Now that's face-meltingly fast storage. Be sure to back up your data regularly in case one of the drives fails though!