This article was previously published under Q100110
This article explains the differences between redundant arrays ofinexpensive disks (RAID) versions 0 through 5, and what MicrosoftWindows NT Advanced Server supports. This article also explains someof the advantages and disadvantages of the various RAIDconfigurations.
Microsoft Windows NT Advanced Server supports only RAID 0, RAID 1, andRAID 5. Fault tolerance and disk array implementations, whilegenerally based on the design described here, vary considerably amongmanufacturers.
RAID 0 includes a disk array that implements striping without anydrive redundancy. It offers no fault tolerance and is less reliablethan a single-drive implementation; its only advantage is speed. RAID0 is suitable for certain special applications, as in scientificanalysis or imaging, where compromised system reliability can betolerated.
RAID 1 is disk mirroring. Two drives store identical information sothat one is a mirror of the other. For every disk operation, thesystem must write the same information to both disks. Because dualwrite operations can degrade system performance, many employduplexing, where each mirror drive has it own host adapter. While themirror approach provides good fault tolerance, it is relativelyexpensive to implement, because only half of the available disk spacecan be used for storage while the other is used for mirroring. NovellNetWare, in particular, incorporates support for disk mirroring.
RAID 2 uses extra check disks, with data bits striped across the dataand check disks. The data includes an interleaved Hamming code, whichcan be used to detect and correct single bit errors as well as detectdouble bit errors. Because of the amount of information required forthe check bits, several check disks are required to implement RAID 2.It is optimal for reading and writing large data blocks at high datatransfer rates, but smaller block reads are inefficient. Read, modify,and write operations required for small block write operation alsoresult in poor performance. RAID 2 is generally impractical forsmaller systems and is not available with Microsoft Windows NTAdvanced Server.
RAID 3 uses a single redundant check disk (sometimes referred to as aparity disk) for each group of drives. Data written to the RAID 3 diskarray is bit striped across the data disks. The check disk receivesthe XOR (exclusive OR) of all the data values written to the datadrives. Because data transfers to and from individual drives occuronly in unit sector multiples, the minimum amount of data that can bewritten to or read from RAID 3 disk array is the number of data drivesmultiplied by the number of bytes per sector (this is known as atransfer unit). This option is not available with Microsoft Windows NTAdvanced Server.
RAID 4 offers a disk array architecture that is better optimized fortransaction processing applications than RAID 3. RAID 4 performs blockstriping or sector striping on the data on the drives, while RAID 3performs bit striping. Thus, with RAID 4, one entire sector is writtento one drive, the next sector is written to the next drive, and so on.This technique allows multiple unrelated sectors to be readsimultaneously, and it is particularly valuable for small reads thatneed to access only a single drive in the array. RAID 4 dedicates oneentire disk for storing check data, allowing data from a failed driveto be easily recovered. While this approach allows multiple reads tooccur simultaneously, with different sectors from different drives,write operations are bottlenecked. Because the single check diskoperation must be written to during every write operation, only onewrite operation can take place at a time. This option is not availablewith 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 checkdata 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 datafor sector 1 of the remaining data drives and so on. Because the checkdata is simply the XOR of all the write data values for thecorresponding sector on each of the data disks, as long as the oldsector data and the old check data values are known, the new checkdata for a single sector write can be calculated without having toread the corresponding sectors from the other data disks. Thus, onlytwo disks are involved in a single sector write operation: the targetdata disk and the corresponding disk that holds the check data forthat sector. This is in contrast to the RAID 3 implementation, whichrequires all drives in a group to be read and written when a singlesector size write occurs. The primary benefit of the RAID 5distributed check data approach is that it permits write operations totake place simultaneously. It also allows multiple reads to take placesimultaneously and is efficient in handling small amounts ofinformation. This is the preferred option when setting up faulttolerance 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 datavalues is written to the check disk. If any one disk fails, themissing data from that disk can be determined (recovered) by takingthe XOR of the data values from the remaining data drives and thecheck disk. This operation can be implemented in either the systemsoftware or the host adapter.