Hard
disks are mechanical devices with moving parts, and as such will break down
eventually, compromising any data stored on them that is not backed up. One
technology that was developed to deal with this pair of issues is
RAID
(Redundant Array of Inexpensive Disks).
The idea is to use multiple hard disks in the same system
to provide both increased performance (by dividing up data so multiple
disks can process different parts of it at the same time) and increased
reliability
by writing
the same information to multiple disks at once.
This technology filtered down to the enthusiast level a while ago,
and has become a common feature on many motherboards, as well as an integral
part of operating systems from Windows 2000 & XP professional to Vista Ultimate.
In this PCSTATS Beginners
Guide, we will explore how the different implementations of RAID technology
function, and how you can make your own RAID setup using a hardware RAID
controller, or the software RAID function built into Windows XP Professional.
What is RAID?
RAID, or Redundant Array
of Inexpensive Disks, is a technology that uses multiple hard drives to increase
the speed of data transfer to and from hard disk storage, and also
to provide instant data backup and fault tolerance for any
information you might store on a hard drive.
The hard drives are
joined in an array (a single logical drive, as far as the operating
system is concerned) and all disks share the data written to them in
some form. There are several different implementations, or 'levels' of
RAID, ranging from RAID 0 to RAID 53.
The
common factor that all RAID levels share is the use of a hardware
or software RAID controller that intercepts data intended for storage on the
logical hard drive. "Logical" being the hard drive space that the operating system
sees as a drive letter, C:\ for example.
This data is then either duplicated by the
controller for storage on multiple drives in the array at once ('mirroring'), or
broken down into smaller chunks which are then divided between the available
drives in the RAID array ('striping'). The terminology that is going to be
important to understand from here on in is:
RAID array: A group of hard drives linked together as a single logical
drive. Must be connected to one or more hardware RAID controllers, or be
attached normally to a computer using a RAID capable operating system, such as
Windows XP Professional.
Striping: A procedure in which data sent to a RAID array is broken down
and portions of it written to each drive in the array. This can
dramatically speed up hard drive access when the data is read back, since each
drive can transfer part of the data simultaneously.
Mirroring: A procedure in which data sent to a RAID array is duplicated
and written onto two or more drives at once.
By breaking down the data and sharing it amongst two or more drives, higher
performance can be achieved, especially when reading data back, as each drive
can transfer its portion of the required data simultaneously. Of course,
striping data on two or more drives actually reduces reliability, since if a
single drive in the array fails, all data is lost as each physical hard disk
only contains a fragment of the data which is useless without the rest. To
combat this problem, a third RAID technology is used
called Parity.