Process for generating and reconstructing variable number of parity for byte streams independent of host block size
Abstract
A method, system and program for generating parity in a data storage system are provided. The invention comprises organizing an incoming data block into a specified number of data stripes and cascading the data stripes into a parity creation mechanism. The parity creation mechanism creates a specified number of parity stripes based on the data stripes, wherein the number of parity stripes is independent of the size of the data block. The parity creation mechanism can operate offline to reconstruct lost data stripes and parity stripes without using critical system resources, wherein the number of devices required for stripe reconstruction is less than the combined number of data stripes and parity stripes.
Claims
exact text as granted — not AI-modified1 - 21 . (canceled)
22 . A method for storing data in a data storage system, the method comprising the steps of:
organizing incoming data into a variable number of data stripes, wherein the number of data stripes is independent of the number of storage units used to store the data stripes; cascading the data stripes into a redundancy creation mechanism to create redundancy data; and storing the data stripes and the redundancy data on a plurality of storage units, wherein the size of the data stripes is independent of the capacity of the storage units used to store the data stripes.
23 . The method of claim 22 , wherein the storage unit is at least one of a storage device, a storage media, a storage system, a hierarchical storage system, or a RAID storage system.
24 . The method of claim 22 , wherein the redundancy creation mechanism is independent of the size of the incoming data.
25 . The method of claim 22 , further comprising:
modifying parameters that define and control the data stripes and the redundancy data at an arbitrary point.
26 . The method of claim 25 , further comprising:
storing metadata that contains the parameters that define and control translation of the incoming data into the data stripes and the redundancy data to insure that concomitant translation is used in reading the data.
27 . The method of claim 22 , wherein the data stripes and the redundancy data are stored on less than the entire plurality of storage units.
28 . A computer program product comprising a computer usable medium including computer usable program code for storing data in a data storage system, the computer program product comprising:
computer usable program code for organizing incoming data into a variable number of data stripes, wherein the number of data stripes is independent of the number of storage units used to store the data stripes; computer usable program code for cascading the data stripes into a redundancy creation mechanism to create redundancy data; and computer usable program code for storing the data stripes and the redundancy data on a plurality of storage units, wherein the size of the data stripes is independent of the capacity of the storage units used to store the data stripes.
29 . The computer program product of claim 28 , wherein the storage unit is at least one of a storage device, a storage media, a storage system, a hierarchical storage system, or a RAID storage system.
30 . The computer program product of claim 28 , wherein the redundancy creation mechanism is independent of the size of the incoming data.
31 . The computer program product of claim 28 , further comprising:
computer usable program code for modifying parameters that define and control the data stripes and the redundancy data at an arbitrary point.
32 . The computer program product of claim 31 , further comprising:
computer usable program code for storing metadata that contains the parameters that define and control translation of the incoming data into the data stripes and the redundancy data to insure that concomitant translation is used in reading the data.
33 . The computer program product of claim 28 , wherein the data stripes and the redundancy data are stored on less than the entire plurality of storage units.
34 . A data processing system for storing data in a data storage system, the data processing system comprising:
a storage device, wherein the storage device stores computer usable program code; and a processor, wherein the processor executes the computer usable program code to organize incoming data into a variable number of data stripes, wherein the number of data stripes is independent of the number of storage units used to store the data stripes; cascade the data stripes into a redundancy creation mechanism to create redundancy data; and store the data stripes and the redundancy data on a plurality of storage units, wherein the size of the data stripes is independent of the capacity of the storage units used to store the data stripes.
35 . The data processing system of claim 34 , wherein the storage unit is at least one of a storage device, a storage media, a storage system, a hierarchical storage system, or a RAID storage system.
36 . The data processing system of claim 34 , wherein the redundancy creation mechanism is independent of the size of the incoming data.
37 . The data processing system of claim 34 , wherein the processor further executes computer usable program code for modifying parameters that define and control the data stripes and the redundancy data at an arbitrary point.
38 . The data processing system of claim 37 , wherein the processor further executes computer usable program code for storing metadata that contains the parameters that define and control translation of the incoming data into the data stripes and the redundancy data to insure that concomitant translation is used in reading the data.
39 . The data processing system of claim 34 , wherein the data stripes and the redundancy data are stored on less than the entire plurality of storage units.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.