Patent ID: 8103904

Claim:
A method of maintaining data storage reliability in a write-back distributed data storage system including multiple nodes, each node comprising an array of failure independent data storage devices, the method comprising: storing information as a set of stripes, each stripe including a collection of at least a data strip and associated parity strips, the stripes distributed across a primary data node and multiple corresponding parity nodes; the primary data node for each data strip maintaining the data strip holding a first copy of data, and each parity node maintaining a parity strip holding a parity for the data strips; and performing a read-other parity update protocol for maintaining parity coherency, including the primary data node driving parity coherency with the corresponding parity nodes, independently of other data nodes, in keeping relevant parity strips for the primary data node coherent; wherein performing a read-other parity update protocol further includes determining parity value based on data other than a difference between new data and existing data, such that a new parity value is computed based on new data and dependent data, wherein with respect to one data value, dependent data comprises other data encoded in a corresponding parity value; during the preparation phase, upon a node failure, the lowest survivor node in the forward sequence driving an abort sequence for the read-other parity update protocol; and during the commit phase, upon a node failure, the lowest survivor node in the forward sequence driving a restart of the commit phase for the read-other parity update protocol.