| CPC G06F 11/1076 (2013.01) [G06F 3/0656 (2013.01); G06F 3/0689 (2013.01)] | 20 Claims |

|
1. A Redundant Array of Independent Disk (RAID) distributed parity generation system, comprising:
a chassis;
a plurality of storage devices that are included in the chassis; and
a Redundant Array of Independent Disk (RAID) subsystem that is included in the chassis and that is coupled to each of the plurality of storage devices, wherein the RAID subsystem is configured to:
receive a write instruction that is directed to a logical storage subsystem provided by the plurality of storage devices and that includes new primary data for writing to a subset of the plurality of storage devices;
generate, using the new primary data that will be written to the subset of the plurality of storage devices, first intermediate parity data that is configured for use in recovering any of the new primary data stored on the subset of the plurality of storage devices;
provide the first intermediate parity data in a parity data storage device that is included in the plurality of storage devices;
cause a first primary data storage device, which is not included in the subset of the plurality of storage devices to which the new primary data will be written, to use first existing primary data in the first primary data storage device and respective second existing primary data in each of at least one second primary data storage device, which is not included in the subset of the plurality of storage devices to which the new primary data will be written, to generate second intermediate parity data that is configured for use in recovering any of the first existing primary data stored on the first primary data storage device and the respective second existing primary data stored on each of the at least one second primary data storage device, and provide the second intermediate parity data in the first primary data storage device; and
cause the parity data storage device to use the first intermediate parity data in the parity data storage device and the second intermediate parity data in the first primary data storage device to generate final parity data that is configured for use in recovering any of the new primary data stored on any of the subset of the plurality of storage devices, the first existing primary data stored on the first primary data storage device, and the respective second existing primary data stored on each of the at least one second primary data storage device.
|