Issue No.06 - June (2007 vol.56)
Alexander Thomasian , IEEE
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2007.1041
RAID5 disk arrays use the rebuild process to reconstruct the contents of a failed disk on a spare disk, but this process is unsuccessful if latent sector failures are encountered or a second disk failure occurs. The high cost of data loss has led to two-disk failure-tolerant (2DFT) arrays: RAID6, EVENODD, row-diagonal parity (RDP), and RM2. RAID6 uses Reed-Solomon (RS) codes, whereas the latter three use parity encoding. This paper is concerned with the performance from the viewpoint of disk accesses, which, with an appropriate choice of symbol sizes, is the same for RAID6, EVENODD, and RDP, rather than the computational cost (number of XOR operations). We compare the performance of 2DFTs with each other, as well as RAID0 and RAID5 in normal and degraded operating modes. We derive cost functions for processing discrete disk accesses. The mean response time can be obtained analytically with Poisson arrivals and first-come, first-served (FCFS) scheduling. A simulation is used for validation, calibrating the approximate fork-join response analysis, and shortest-access-time-first (SATF) scheduling. The response time for read requests in RAID6 and RM2 is higher than RAID5 and RAID0 and increases with the fraction of write requests. When there is a single disk failure, RM2 outperforms RAID6 since it has a smaller parity group size than RAID6, but RAID6 outperforms RM2 with two disk failures because of its costlier recovery process. Disk loads in RM2 and RAID6 in degraded mode are unbalanced, and a solution based on pseudorandom permutations is proposed for this purpose.
Redundant arrays of independent disks, RAID5, RAID6, two-disk failure-tolerant arrays, EVENODD, RDP, RM2, operation in degraded mode, load imbalance, clustered RAID, performance evaluation, fork-join requests, queuing analysis, simulation.
Alexander Thomasian, Gang Fu, Chunqi Han, "Performance of Two-Disk Failure-Tolerant Disk Arrays", IEEE Transactions on Computers, vol.56, no. 6, pp. 799-814, June 2007, doi:10.1109/TC.2007.1041