Elastic-RAID: A New Architecture for Improved Availability of Parity-Based RAIDs by Elastic Mirroring

Elastic-RAID: A New Architecture for Improved Availability of Parity-Based RAIDs by Elastic Mirroring In this paper, we propose Elastic-RAID, a new RAID architecture to achieve high performance and high reliability for largescale distributed and parallel storage systems. The key idea behind Elastic-RAID is to smartly utilize the free space existing in paritybased disk arrays to store additional mirroring data. This additional mirroring data redundancy, when strategically and judiciously activated and exploited in a RAID system, enables improved system I/O performance, fault tolerance and recovery. Depending on the amount of free space available and whether the emphasis is on performance or reliability, the elasticity in Elastic-RAID is manifested in how each design objective is achieved. For the performance objective, Elastic-RAID improves small-write performance by writing original and mirroring data synchronously and leaving the costly parity update in the background at a later idle/lightly-loaded time. For the reliability objective, at least two concurrent disk failures can be tolerated when Elastic-RAID is employed in a RAID5 system that has 50% or more free space. Higher reliability is provided for important data when free space is less than 50%. To achieve the design goal of elasticity, we introduce a novel data layout and addressing scheme. Our extensive trace-driven evaluations on an Elastic-RAID prototype in the typical configurations of RAID5 show that Elastic-RAID boosts the small-write performance in the normal operational state by at least 40%, improves the user I/O performance in the reconstruction state by at least 30% and shortens the recovery time by at least 40%.