[9]
1.4 RAID Concepts
RAID Fundamentals
The basic idea of RAID (Redundant Array of Independent Disks) is to combine multiple
inexpensive disk drives into an array of disk drives to obtain performance, capacity
and reliability that exceeds that of a single large drive. The array of drives appears to
the host computer as a single logical drive.
Five types of array architectures, RAID 1 through RAID 5, were originally defined;
each provides disk fault-tolerance with different compromises in features and
performance. In addition to these five redundant array architectures, it has become
popular to refer to a non-redundant array of disk drives as a RAID 0 arrays.
Disk Striping
Fundamental to RAID technology is striping. This is a method of combining multiple
drives into one logical storage unit. Striping partitions the storage space of each drive
into stripes, which can be as small as one sector (512 bytes) or as large as several
megabytes. These stripes are then interleaved in a rotating sequence, so that the
combined space is composed alternately of stripes from each drive. The specific type
of operating environment determines whether large or small stripes should be used.
Most operating systems today support concurrent disk I/O operations across multiple
drives. However, in order to maximize throughput for the disk subsystem, the I/O load
must be balanced across all the drives so that each drive can be kept busy as much as
possible. In a multiple drive system without striping, the disk I/O load is never
perfectly balanced. Some drives will contain data files that are frequently accessed
and some drives will rarely be accessed.
By striping the drives in the array with stripes large enough so that each record falls
entirely within one stripe, most records can be evenly distributed across all drives.
This keeps all drives in the array busy during heavy load situations. This situation
allows all drives to work concurrently on different I/O operations, and thus maximize
the number of simultaneous I/O operations that can be performed by the array.