Apparatus, system, and method for data storage using progressive raid
First Claim
1. An apparatus for reliable, high performance storage of data, the apparatus comprising:
- a striping module that calculates a stripe pattern for data to be stored and writes N data segments of a stripe to N storage devices within a set of storage devices, wherein each of the N data segments is written to a separate storage device;
a parity-mirror module that writes the N data segments of the stripe to a parity-mirror storage device within the set of storage devices, the parity-mirror storage device being in addition to the N storage devices;
a parity progression module that calculates one or more parity data segments for the stripe and stores the one or more parity data segments for the stripe on the parity-mirror storage device, andwherein one or more of the striping module, the parity-minor module, and the parity progression module comprise one or more of logic hardware and executable code stored on one or more computer readable storage media and executed by a processor.
12 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for data storage with progressive redundant array of independent drives (“RAID”). A storage request receiver module, a striping module, a parity-mirror module, and a parity progression module are included. The storage request receiver module receives a request to store data of a file or of an object. The striping module calculates a stripe pattern for the data. The stripe pattern includes one or more stripes, and each stripe includes a set of N data segments. The striping module writes the N data segments to N storage devices. Each data segment is written to a separate storage device within a set of storage devices assigned to the stripe. The parity-mirror module writes a set of N data segments to one or more parity-mirror storage devices within the set of storage devices. The parity progression module calculates a parity data segment on each parity-mirror device in response to a storage consolidation operation, and stores the parity data segments. The storage consolidation operation is conducted to recover storage space and/or data on a parity-minor storage device.
119 Citations
27 Claims
-
1. An apparatus for reliable, high performance storage of data, the apparatus comprising:
-
a striping module that calculates a stripe pattern for data to be stored and writes N data segments of a stripe to N storage devices within a set of storage devices, wherein each of the N data segments is written to a separate storage device; a parity-mirror module that writes the N data segments of the stripe to a parity-mirror storage device within the set of storage devices, the parity-mirror storage device being in addition to the N storage devices; a parity progression module that calculates one or more parity data segments for the stripe and stores the one or more parity data segments for the stripe on the parity-mirror storage device, and wherein one or more of the striping module, the parity-minor module, and the parity progression module comprise one or more of logic hardware and executable code stored on one or more computer readable storage media and executed by a processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for updating data in a progressive redundant array of independent drives (“
- RAID”
) group, the apparatus comprising;an update receiver module that receives an updated data segment corresponding to an existing data segment of an existing strip comprising N data segments and one or more corresponding parity data segments, the N data segments stored on storage devices of a set of storage devices assigned to the stripe, each of the parity data segments stored on one or more parity-mirror storage devices assigned to the stripe; an update copy module that copies the updated data segment to a storage device where a corresponding existing data segment is stored and copies the updated data segment to the one or more parity-minor storage devices corresponding to the existing stripe; and a parity update module that calculates one or more updated parity data segments for the one or more parity-minor storage devices of the existing stripe and stores the updated parity data segments on the one or more parity-mirror storage devices, and wherein one or more of the update receiver module, the update copy module, and the parity update module comprise one or more of logic hardware and executable code stored on one or more computer readable storage media and executed by a processor. - View Dependent Claims (17, 18, 19, 20, 21, 22)
- RAID”
-
23. A system for reliable, high performance storage of data, the system comprising:
-
a set of storage devices assigned to a stripe, the set of storage devices comprising N storage devices and one or more parity-minor storage devices in addition to the N storage devices; a striping module that calculates a stripe pattern for data to be stored and writes N data segments of a stripe to the N storage devices, wherein each of the N data segments is written to a separate storage device; a parity-minor module that writes the N data segments of the stripe to each of the one or more parity-minor storage devices; and a parity progression module that calculates one or more parity data segments for the stripe from the N data segments stored on the one or more parity-minor storage devices and stores a parity data segment on each of the one or more parity-minor storage devices, wherein one or more of the striping module, the parity-minor module, and the parity progression module comprise one or more of logic hardware and executable code stored on one or more computer readable storage media and executed by a processor. - View Dependent Claims (24, 25)
-
-
26. A computer program product comprising a computer readable medium having computer usable program code executable to perform operations for reliable, high performance storage of data, the operations of the computer program product comprising:
-
calculating a stripe pattern for data to be stored and writing N data segments to N storage devices within a set of storage devices, wherein each of the N data segments is written to a separate storage device; writing the N data segments of the stripe to one or more parity-minor storage devices within the set of storage devices, the one or more parity-mirror storage devices being in addition to the N storage devices; and calculating a parity data segment for the stripe from the N data segments stored on a parity-mirror storage device and storing the parity data segment on the parity-mirror storage device.
-
-
27. A computer program product comprising a computer readable medium having computer usable program code executable to perform operations for reliable, high performance storage of updated data, the operations of the computer program product comprising:
-
receiving an updated data segment corresponding to an existing data segment of an existing stripe comprising N data segments and one or more corresponding parity data segments, the N data segments stored on storage devices of a set of storage devices assigned to the stripe, each of the parity data segments stored on one or more parity-mirror storage devices assigned to the stripe; copying the updated data segment to a storage device where a corresponding existing data segment is stored and copying the updated data segment to the one or more parity-minor storage devices corresponding to the existing stripe; and calculating one or more updated parity data segments for the one or more parity-mirror storage devices of the existing stripe and storing the updated parity data segments on the one or more parity-mirror storage devices.
-
Specification