This article explains the differences between redundant arrays of
inexpensive disks (RAID) versions 0 through 5, and what Microsoft
Windows NT Advanced Server supports. This article also explains some
of the advantages and disadvantages of the various RAID
configurations.
↑ Back to the top
Microsoft Windows NT Advanced Server supports only RAID 0, RAID 1, and
RAID 5. Fault tolerance and disk array implementations, while
generally based on the design described here, vary considerably among
manufacturers.
RAID 0
RAID 0 includes a disk array that implements striping without any
drive redundancy. It offers no fault tolerance and is less reliable
than a single-drive implementation; its only advantage is speed. RAID
0 is suitable for certain special applications, as in scientific
analysis or imaging, where compromised system reliability can be
tolerated.
RAID 1
RAID 1 is disk mirroring. Two drives store identical information so
that one is a mirror of the other. For every disk operation, the
system must write the same information to both disks. Because dual
write operations can degrade system performance, many employ
duplexing, where each mirror drive has it own host adapter. While the
mirror approach provides good fault tolerance, it is relatively
expensive to implement, because only half of the available disk space
can be used for storage while the other is used for mirroring. Novell
NetWare, in particular, incorporates support for disk mirroring.
RAID 2
RAID 2 uses extra check disks, with data bits striped across the data
and check disks. The data includes an interleaved Hamming code, which
can be used to detect and correct single bit errors as well as detect
double bit errors. Because of the amount of information required for
the check bits, several check disks are required to implement RAID 2.
It is optimal for reading and writing large data blocks at high data
transfer rates, but smaller block reads are inefficient. Read, modify,
and write operations required for small block write operation also
result in poor performance. RAID 2 is generally impractical for
smaller systems and is not available with Microsoft Windows NT
Advanced Server.
RAID 3
RAID 3 uses a single redundant check disk (sometimes referred to as a
parity disk) for each group of drives. Data written to the RAID 3 disk
array is bit striped across the data disks. The check disk receives
the XOR (exclusive OR) of all the data values written to the data
drives. Because data transfers to and from individual drives occur
only in unit sector multiples, the minimum amount of data that can be
written to or read from RAID 3 disk array is the number of data drives
multiplied by the number of bytes per sector (this is known as a
transfer unit). This option is not available with Microsoft Windows NT
Advanced Server.
RAID 4
RAID 4 offers a disk array architecture that is better optimized for
transaction processing applications than RAID 3. RAID 4 performs block
striping or sector striping on the data on the drives, while RAID 3
performs bit striping. Thus, with RAID 4, one entire sector is written
to one drive, the next sector is written to the next drive, and so on.
This technique allows multiple unrelated sectors to be read
simultaneously, and it is particularly valuable for small reads that
need to access only a single drive in the array. RAID 4 dedicates one
entire disk for storing check data, allowing data from a failed drive
to be easily recovered. While this approach allows multiple reads to
occur simultaneously, with different sectors from different drives,
write operations are bottlenecked. Because the single check disk
operation must be written to during every write operation, only one
write operation can take place at a time. This option is not available
with Microsoft Windows NT Advanced Server.
RAID 5
Unlike RAID 4, which dedicates a single physical disk for check data,
RAID 5 dedicates the equivalent of one entire disk for storing check
data but distributes the check data over all the drives in the group.
For example, sector 1 of disk 5 may be assigned to hold the check data
for sector 1 of the remaining data drives and so on. Because the check
data is simply the XOR of all the write data values for the
corresponding sector on each of the data disks, as long as the old
sector data and the old check data values are known, the new check
data for a single sector write can be calculated without having to
read the corresponding sectors from the other data disks. Thus, only
two disks are involved in a single sector write operation: the target
data disk and the corresponding disk that holds the check data for
that sector. This is in contrast to the RAID 3 implementation, which
requires all drives in a group to be read and written when a single
sector size write occurs. The primary benefit of the RAID 5
distributed check data approach is that it permits write operations to
take place simultaneously. It also allows multiple reads to take place
simultaneously and is efficient in handling small amounts of
information. This is the preferred option when setting up fault
tolerance in Microsoft Windows NT Advanced Server.
How RAID 3, RAID 4, and RAID 5 Recover and Rebuild
RAID 3, RAID 4, and RAID 5 disk array designs allow for data recovery.
When data is written to multiple data disks, the XOR or all the data
values is written to the check disk. If any one disk fails, the
missing data from that disk can be determined (recovered) by taking
the XOR of the data values from the remaining data drives and the
check disk. This operation can be implemented in either the system
software or the host adapter.
↑ Back to the top