Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance
First Claim
1. A method for storing data comprising:
- selecting a first RAID grid location in a RAID grid, wherein the first RAID grid location is flagged;
selecting a second RAID grid location in the RAID grid;
making a first determination that the second RAID grid location is not flagged;
in response to the first determination, loading first data associated with the second RAID grid location into a cache;
calculating a parity value for a corresponding set of RAID grid locations in a data grid using the first data in the cache, wherein the first RAID grid location and the second RAID grid location are in the set of RAID grid locations; and
storing at least a copy of the first data and the parity value in a storage array comprising persistent storage;
wherein prior to selecting the first RAID grid location;
identifying a set of storage modules that are present in the storage array;
making a second determination that at least one storage module is not present in the storage array;
in response to the second determination;
specifying that the first RAID grid location is a RAID grid location that is not associated with any of the set of storage modules; and
in response to the specifying, associating the first RAID grid location with a flag.
7 Assignments
0 Petitions
Accused Products
Abstract
In general, embodiments of the technology relate to a method for storing data. More specifically, the method may include selecting a first RAID grid location in a RAID grid, where the first RAID grid location is flagged, selecting a second RAID grid location in the RAID grid, making a first determination that the second RAID grid location is not flagged, in response to the first determination, loading first data associated with the second RAID grid location into a cache, calculating a parity value for a corresponding set of RAID grid locations in a data grid using the first data in the cache, where the first RAID grid location and the second RAID grid location are in the set of RAID grid locations, and storing at least a copy of the first data and the parity value in a storage array comprising persistent storage.
69 Citations
17 Claims
-
1. A method for storing data comprising:
-
selecting a first RAID grid location in a RAID grid, wherein the first RAID grid location is flagged; selecting a second RAID grid location in the RAID grid; making a first determination that the second RAID grid location is not flagged; in response to the first determination, loading first data associated with the second RAID grid location into a cache; calculating a parity value for a corresponding set of RAID grid locations in a data grid using the first data in the cache, wherein the first RAID grid location and the second RAID grid location are in the set of RAID grid locations; and storing at least a copy of the first data and the parity value in a storage array comprising persistent storage; wherein prior to selecting the first RAID grid location; identifying a set of storage modules that are present in the storage array; making a second determination that at least one storage module is not present in the storage array; in response to the second determination; specifying that the first RAID grid location is a RAID grid location that is not associated with any of the set of storage modules; and in response to the specifying, associating the first RAID grid location with a flag. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to:
-
select a first RAID grid location in a RAID grid, wherein the first RAID grid location is flagged; select a second RAID grid location in the RAID grid; make a first determination that the second RAID grid location is not flagged; in response to the first determination, load first data associated with the second RAID grid location into a cache; calculate a parity value for a corresponding set of RAID grid locations in a data grid using the first data in the cache, wherein the first RAID grid location and the second RAID grid location are in the set of RAID grid locations; and store at least a copy of the first data and the parity value in a storage array comprising persistent storage; wherein prior to selecting the first RAID grid location; identify a set of storage modules that are present in the storage array; make a second determination that at least one storage module is not present in the storage array; in response to the second determination, specify that the first RAID grid location is a RAID grid location that is not associated with any of the set of storage modules; and in response to the specifying, associate the first RAID grid location with a flag. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a persistent storage; a processor; a non-transitory computer readable medium comprising computer readable program code, which when executed by the processor enables the processor to; select a first RAID grid location in a RAID grid, wherein the first RAID grid location is flagged; select a second RAID grid location in the RAID grid; make a first determination that the second RAID grid location is not flagged; in response to the first determination, load first data associated with the second RAID grid location into a cache; calculate a parity value for a corresponding set of RAID grid locations in a data grid using the first data in the cache, wherein the first RAID grid location and the second RAID grid location are in the set of RAID grid locations; and store at least a copy of the first data and the parity value in a storage array comprising persistent storage; wherein prior to selecting the first RAID grid location; identify a set of storage modules that are present in the storage array; make a second determination that at least one storage module is not present in the storage array; in response to the second determination, specify that the first RAID grid location is a RAID grid location that is not associated with any of the set of storage modules; and in response to the specifying, associate the first RAID grid location with a flag. - View Dependent Claims (14, 15, 16, 17)
-
Specification