Method and system for rebuilding data in a distributed RAID system
First Claim
1. A system for implementing distributed Redundant Array of Independent Disks (RAID), comprising:
- one or more hosts;
a plurality of data banks, each data bank coupled to each host and each of the other plurality of data banks, each data bank including;
a processor;
a data store;
a computer readable medium comprising instructions executable to;
prioritize a set of volumes;
select a first volume from the set of volumes based on a priority associated with the set of volumes wherein the first volume and redundancy data corresponding to the first volume are stored on each of the plurality of data banks, such that a first set of data segments corresponding to the first volume and a corresponding first set of redundancy segments are stored on the plurality of data banks according to a first configuration comprising a first RAID level, a first RAID size, a first Databank Count, a first Databank Order, a first Disk Count and a first Disk Order; and
migrate the first volume from the first configuration to a second configuration comprising one or more of a second RAID level different from the first RAID level, a second RAID size different from the first RAID size, a second Databank Count different from the first Databank Count, a second Databank Order different from the first Databank Order, a second Disk Count different from the first Disk Count or a second Disk Order different form the first Disk Order.
8 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the systems and methods disclosed provide a distributed RAID system comprising a set of data banks. More particularly, in certain embodiments of a distributed RAID system each data bank has a set of associated storage media and executes a similar distributed RAID application. The distributed RAID applications on each of the data banks coordinate among themselves to distribute and control data flow associated with implementing a level of RAID in conjunction with a volume stored on the associated storage media of the data banks. Migration of volumes, or portions thereof, from one configuration to another configuration may be accomplished according to a priority associated with the volume.
278 Citations
21 Claims
-
1. A system for implementing distributed Redundant Array of Independent Disks (RAID), comprising:
-
one or more hosts; a plurality of data banks, each data bank coupled to each host and each of the other plurality of data banks, each data bank including; a processor; a data store; a computer readable medium comprising instructions executable to; prioritize a set of volumes; select a first volume from the set of volumes based on a priority associated with the set of volumes wherein the first volume and redundancy data corresponding to the first volume are stored on each of the plurality of data banks, such that a first set of data segments corresponding to the first volume and a corresponding first set of redundancy segments are stored on the plurality of data banks according to a first configuration comprising a first RAID level, a first RAID size, a first Databank Count, a first Databank Order, a first Disk Count and a first Disk Order; and migrate the first volume from the first configuration to a second configuration comprising one or more of a second RAID level different from the first RAID level, a second RAID size different from the first RAID size, a second Databank Count different from the first Databank Count, a second Databank Order different from the first Databank Order, a second Disk Count different from the first Disk Count or a second Disk Order different form the first Disk Order. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for distributed Redundant Array of Independent Disks (RAID) implemented on a plurality of data bank computers, each of the data banks coupled to one or more hosts and each of the other plurality of data banks, comprising:
-
storing a volume and redundancy data corresponding to the volume on each of the plurality of data banks, such that a first set of data segments corresponding to the volume and a corresponding first set of redundancy segments are stored on the plurality of data banks according to a first configuration comprising a first RAID level, a first RAID size, a first Databank Count, a first Databank Order, a first Disk Count and a first Disk Order; and migrating the volume from the first configuration to a second configuration wherein the second configuration comprises one or more of a second RAID level different from the first RAID level, a second RAID size different from the first RAID size, a second Databank Count different from the first Databank Count, a second Databank Order different from the first Databank Order, a second Disk Count different from the first Disk Count or a second Disk Order different form the first Disk Order. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable medium comprising computer executable instructions for implementing distributed Redundant Array of Independent Disks (RAID) on a plurality of data banks, the computer executable instructions executable for:
-
prioritizing a set of volumes; selecting a first volume from the set of volumes based on a priority associated with the set of volumes wherein the first volume and redundancy data corresponding to the first volume are stored on each of the plurality of data banks, such that a first set of data segments corresponding to the first volume and a corresponding first set of redundancy segments are stored on the plurality of data banks according to a first configuration comprising a first RAID level, a first RAID size, a first Databank Count, a first Databank Order, a first Disk Count and a first Disk Order; and migrate the first volume from the first configuration to a second configuration comprising one or more of a second RAID level different from the first RAID level, a second RAID size different from the first RAID size, a second Databank Count different from the first Databank Count, a second Databank Order different from the first Databank Order, a second Disk Count different from the first Disk Count or a second Disk Order different form the first Disk Order. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification