STAIR code
A STAIR code protects each encoded stripe against whole-device erasures and additional sector erasures bounded by a configured per-device profile.
Within a stripe, the profile limits both affected surviving chunks and erasures per chunk. A profile of (1, 1, 2) covers two sectors in one chunk and one in each of two others, not arbitrary four-sector placement. These sectors need not be contiguous. [1]
The construction combines row and column MDS codes. Upstairs decoding recovers partial chunks before whole missing chunks; practical decoding can first use row parity. Upstairs and downstairs encoding yield identical parity for the same component codes, but downstairs encoding is not a general recovery procedure. [1]
Exceeding the declared profile alone does not prove a particular pattern undecodable. The exact equations and remaining symbols still matter. [1]
Relations
- related
- Sector-disk code, Erasure coding, Reed–Solomon codes (storage), Intra-disk redundancy, Latent sector error
Citations
Sources & caveats
- Source-reviewed coding construction; no Hesela codec implementation or measured deployment reliability. [1]