STAIR Codes: A General Family of Erasure Codes for Tolerating Device and Sector Failures in Practical Storage Systems
Sector Disk codes considers the coverage of sector failures, thus it’s available with limited configurations. This paper introduces a general erasure code called STAIR codes which tolerates both device and sector failures. By the special upstair/downstair encoding, the STAIR codes provides better computation efficiency than traditional SD codes.
Traditional EC and RAID overkill parity divices to tolerate partial device failures.
SD code doesnot allow some mixed failures
STAIR code assumption: in each devide, several sectors failure are allowed. Then the construction of STAIR codes can be based on existing erasure codes.
Phase 1: use input data to generate “row” parity symbol. It’s an intermediate parity symbol, since it’s only encoded from the same row of data.
Phase 2: use intermediate parity symbol to calculate global parity symbol. Phase 1 intermediate symbols will be discarded.
Note that Phase 1 and 2 can be systematic MDS codes.
Upstair decoding: Augmented virtual stripes from existing stripes.
Upstair Encoding. Set outside global parity symbols to 0, and use upstair decoding method. The parities are built from bottom to top.
Downstair Encoding. Top to bottom, right to left. Start with C_row and generate m + m’ symbols. Then encode via C_col to get new intermediate symbols. Continue until all symbols are generated.
Encoding speed of STAIR in experiment is much faster than disk write. Reason: STAIR codes reuses encoded parity information in two-steps encoding by upstair/downstair.
Decoding speed is faster than SD codes by 102.99% in avg.
N/A