ARC: An Approach to Flexible and Robust RAID Systems

Ba-Quy Vuong and Yiying Zhang

Abstract: RAID systems increase data storage reliability by employing one or more data integrity techniques such as parity or checksum. However, the current implementations of software RAID systems suffer both inflexibility and unrobustness. First, different software RAID levels require different RAID systems and the system written for one level cannot be reused for others. In addition, writing a new RAID system is known to be difficult and it requires a lot of debugging effort. In this paper, we propose Automatic RAID Construction (ARC), an approach to automatically construct RAID systems with different parity and checksum schemes. In this approach, we first provide various data structures and parameters for specifying parity and checksum schemes. We then automatically translate each scheme into a RAID system with the desired features. With ARC, only one system is required to handle many different RAID levels. Thus, the effort of writing new RAID systems is eliminated and both flexibility and robustness are achieved. We also implemented the ARC system on Linux with simulated virtual disks. The system consists of slightly more than one thousand lines of code which is not much different from current RAID systems such as RAID 1 and RAID 5. The performance evaluation shows that ARC can be configured to act as different RAID systems with reasonably good performance.

Available as: PDF

Click here to download our software.

Click here to download our experimental data.

Click here to download our powerpoint slides.