Patent ID: 8458515

Claim:
A computer system comprising: a client configured to convey read and write requests; and a data storage cluster coupled to receive the read and write requests, wherein the data storage cluster comprises a plurality of storage devices which include a plurality of data storage locations addressable as rows and columns in an array, wherein each respective column of the array is managed by a respective one of the plurality of storage devices; wherein a coordinating storage device of the plurality of storage devices is configured to: receive a first write request from the client, wherein the first write request includes first data targeted to a first row and a first subset of the columns in the array, wherein the first write request is not targeted to one or more of the columns of the array; respond to the first write request by sending a respective portion of the first data to each respective storage device that manages a respective column of the first subset of the columns, without sending data to any storage device that manages any of the one or more columns not targeted by the first write request; send an indication to the client that indicates that the first data corresponding to the first write request has been stored in the first row, prior to the first data being stored in the first row by the one or more storage devices that manage the first subset of the columns; compute one or more partial parity values for data storage locations modified by the first write request; and compute a full parity value for the first row that reflects the first write request, wherein said full parity value is computed based on the one or more computed partial parity values without reading data values stored in the first row from the one or more columns not targeted by the first write request.