Overview of Redundant Arrays of Inexpensive Disks (RAID)


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.

More Information

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 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 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 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 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 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.


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.

Article ID: 100110 - Last Review: Oct 31, 2006 - Revision: 1