A fault-tolerant system for storage arrays has constraints on the number
of data from which each redundancy value is computed. The fault-tolerant
system has embodiments that are supported on small array sizes to
arbitrarily large array sizes, and can tolerate a large number T of
failures. Certain embodiments can tolerate many instances of more than T
failures. The fault-tolerant system has efficient XOR-based encoding,
recovery, and updating algorithms and has simple redundancy formulas. The
fault-tolerant system has improved IO seek costs for certain
multiple-element sequential host updates.