System and method for data protection with multidimensional parity
First Claim
1. A data storage management system comprising:
- a plurality of storage devices, each storage device comprising a plurality of storage areas;
a storage management control mechanism configured to receive a storage request associated with a data set;
a communication system between the plurality of storage devices and the storage management mechanism;
means for determining at least one digital representation of the data set;
a write mechanism in the storage management control mechanism capable of writing the digital representation in at least one storage area;
a read mechanism in the storage management control mechanism capable of reading the data set from the storage devices using the digital representation from the at least one storage area;
wherein the storage management control mechanism includes mechanisms to govern the read mechanism to perform the act of reading the data set from at least three of a plurality of digital representations for the data set; and
wherein the storage management control mechanism determines which data to report in response to a read request based on the consensus of the three digital representations.
15 Assignments
0 Petitions
Accused Products
Abstract
A high availability, high reliability storage system that leverages rapid advances in commodity computing devices and the robust nature of internetwork technology such as the Internet. A system of parity distribution in accordance with the present invention allows for greater fault tolerance and levels of storage efficiency than possible with conventional RAID (levels 0-5) paradigms. Data can be recovered or made available even in the case of loss of N, N+1, or more devices or storage elements over which stripes of the data set have been distributed or partitioned. The present invention provides a parity distribution that can be used to distribute data stored in a single storage device or across multiple connected or otherwise networked devices.
1639 Citations
32 Claims
-
1. A data storage management system comprising:
-
a plurality of storage devices, each storage device comprising a plurality of storage areas;
a storage management control mechanism configured to receive a storage request associated with a data set;
a communication system between the plurality of storage devices and the storage management mechanism;
means for determining at least one digital representation of the data set;
a write mechanism in the storage management control mechanism capable of writing the digital representation in at least one storage area;
a read mechanism in the storage management control mechanism capable of reading the data set from the storage devices using the digital representation from the at least one storage area;
wherein the storage management control mechanism includes mechanisms to govern the read mechanism to perform the act of reading the data set from at least three of a plurality of digital representations for the data set; and
wherein the storage management control mechanism determines which data to report in response to a read request based on the consensus of the three digital representations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A data storage management system comprising:
-
a plurality of storage devices, each storage device comprising a plurality of storage areas;
a storage management control mechanism configured to receive a storage request associated with a data set;
a communication system between the plurality of storage devices and the storage management mechanism;
means for determining at least one digital representation of the data set; and
a write mechanism in the storage management control mechanism capable of writing the digital representation in at least one storage area;
wherein the number of the storage areas used for writing a first data set differs from the number of the storage areas used for writing a second data set.
-
-
16. A data storage management system for storing a plurality of data sets, the system comprising:
-
a plurality of storage devices, each storage device comprising a plurality of storage areas;
a storage management control mechanism configured to receive a storage request associated with a data set;
a communication system coupling the plurality of storage devices and the storage management mechanism; and
a plurality of parity groups defined within at least one storage area, the parity group comprising a logical combination of the plurality of data sets;
wherein levels of parity protection of the plurality of parity groups varies for arbitrarily small subsets of data within the overall data set protected by the plurality of parity groups. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method of providing parity protection for a data set comprising the acts of:
-
selecting a primary data element for entry;
determining a desired degree of fault tolerance for the data element;
selecting a number of non-intersecting parity groups to be associated with the primary data element;
selecting a primary location for the primary data element;
writing the data element to the primary location;
updating the parity groups associated with the data element; and
confirming the write operation and associated parity updates. - View Dependent Claims (22, 23, 24)
reading the data element directly from its primary location in response to a read request.
-
-
23. The method of claim 21 further comprising:
reading an image of the data element reconstructed from one of its associated parity groups.
-
24. The method of claim 21 further comprising:
automatically maintaining, migrating, and reconstructing primary data and associated parity groups in response to detected network, server, disk, and human error while the data element remains available for reading from at least one source.
-
25. A method of implementing data parity protection for a plurality of data sets comprising the acts of:
-
providing a plurality of storage devices, each storage device comprising a plurality of storage areas;
associating a parity group with each data set, each parity group comprising at least one of the plurality of data sets, wherein the act of associating a parity group with each data set comprises selecting a number of parity groups for each data set independently of the number of parity groups for each other data set; and
dynamically altering the composition of the plurality of storage devices. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
-
32. A method of providing parity protection for a data set comprising the acts of:
-
determining a desired degree of fault tolerance for data element;
selecting a number of non-intersecting parity groups to be associated with the data element;
selecting a location for the data element; and
writing the data element to the selected location.
-
Specification