Patent ID: 8707093

Claim:
A system, comprising: one or more computers operably connected to one or more computer-readable storage media; the one or more computer-readable storage media comprising computer-readable program code capable, when executed, to perform steps: generating or having generated or receiving, using the one or more computers, checksum data for a first plurality of data disks blocks that are associated with each other, and storing the checksum data on a second plurality of checksum disk blocks, the checksum data generated for the first plurality of data disk blocks using an m-out-of-n encoding algorithm that allows reconstruction using a first recovery algorithm of n disk blocks after losing up to m disk blocks; generating or having generated a third plurality of redundant storage disk blocks, using the one or more computers and a 1-out-of-n encoding algorithm that allows for reconstruction using a second recovery algorithm of a selected disk block by reading a proper subset of remaining data disk blocks, with each of the respective redundant storage disk blocks associated with a different proper subset comprising a different respective one or more of the data disk blocks; reconstructing a single one of the data disk blocks when one or more reconstruction criteria are met, using the one or more computers, by reading one of the redundant storage disk blocks associated with the single data disk block and reading the other of the one or more data disk blocks in the proper subset associated with the one redundant storage disk block, and performing the second recovery algorithm with those disk blocks that are read; and reconstructing, when two or more of the data disk blocks and/or checksum disk blocks are lost, the two or more of the data disk blocks and/or checksum disk blocks that are lost, using the one or more computers, by reading remaining of the first plurality of the data disk blocks and the second plurality of the checksum blocks and performing the first recovery algorithm with those read disk blocks.