Load-Balanced Recovery Schemes for Single-Disk Failure in Storage Systems with Any Erasure Code

Xianghong Luo, Jiwu Shu · 2013

As increasingly growing volume of data demanding high reliability are stored in disk arrays protected by erasure code, various codes with different error detection and correction capabilities are proposed. For higher reliability, codes that can correct multiple errors (such as RDP, EVENODD, and STAR) become popular. For each of the codes, there can be a number of recovery schemes for re-generating lost data. Among them the one recovering data for a single disk failure is the most critical to systems' performance and reliability as in most systems the recovery process is initiated as soon as the first failure is detected to reduce the window of vulnerability. Although there are efforts on improving recovery performance for single-disk failure, they either focus only on minimizing the total amount of data accessed for the recovery, which is not necessarily translated into minimal recovery time, or design only for specific codes and lack generality. In this paper, we propose two recovery algorithms that can not only work with any erasure code and produce minimal amount of accessed data, but also minimize the variation of volume of the data accessed on different disks. By minimizing the variation, the disk access can be fully parallelized and the recovery load is balanced, resulting in a faster recovery. We have implemented the recovery schemes in the Jerasure (ver. 1.2) library and evaluated them on a system with 16 SAS disks. Our measurements show that the recovery schemes generated by our algorithms reduce the recovery time for single disk failure situations by as high as 19.9% compared with the state-of-the-art recovery schemes.

Read the paper · More papers on PaperTik