Patent ID: 8726129

Claim:
A method of writing erasure coded data comprising: swapping a new data block for an old data block within a stripe of erasure coded data, the stripe of erasure coded data comprising data blocks and a redundancy block, the redundancy block being other than an exclusive-or of all the data blocks, and the stripe of erasure coded data being stored by storage devices in a distributed storage system, wherein the stripe of erasure coded data further comprises a second redundancy block; computing a redundancy update parameter for the redundancy block using the new data block and the old data block, said computing being irrespective of the redundancy block; after said redundancy update parameter is computed, updating the redundancy block in the distributed storage system using the redundancy block, the redundancy update parameter, and a mathematical operator, thereby forming a new redundancy block; and updating the second redundancy block, wherein, during the step of updating the second redundancy block, an error condition is detected and a recovery procedure restores the second redundancy block to a consistent state.