Patent ID: 8214684

Claim:
A method of protecting data blocks while writing to a storage array, wherein storage units in said storage array comprise write logs, wherein each of said data blocks is a member of a parity group comprising addressable data blocks and first parity blocks, and wherein said addressable data blocks comprise at least one host data block and at least one associated data block, said method comprising: reading at least one of said associated data block and said first parity blocks from said parity group using a computer; writing said associated data block to said write logs using said computer; creating second parity blocks from said associated data block using said computer; writing said second parity blocks to said write logs using said computer; setting an address pointer for said write logs in a non-volatile memory such that said address pointer indicates a location of said write logs; after setting said address pointer, creating updated first parity blocks from an updated host data block using said computer; writing said updated host data block and said updated first parity blocks to said storage units using said computer; clearing said address pointer and adding an error-correcting code to said address pointer; after clearing said address pointer, clearing said write logs using said computer; and issuing a write complete indication using said computer.