A recovery enabling system for storage arrays is a high distance
generalization of RAID-5 with optimal update complexity and near optimal
storage efficiency. The recovery enabling system utilizes presets, data
cells with known values that initialize the reconstruction process. The
presets allow resolution of parity equations to reconstruct data when
failures occur. In one embodiment, additional copies of the layout of the
recovery enabling system are packed onto the same disks to minimize the
effect of presets on storage efficiency without destroying the clean
geometric construction of the recovery enabling system. The recovery
enabling system has efficient XOR-based encoding, recovery, and updating
algorithms for arbitrarily large distances, making the recovery enabling
system an ideal candidate when storage-efficient reliable codes are
required.