IP Library Granted Patent US 8,082,393
Granted Patent B2
US 8,082,393 · App. 12/479,434 · Granted Dec 20, 2011

Method and system for rebuilding data in a distributed RAID system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,082,393
App. No.
12/479,434
Granted
Dec 20, 2011
Kind
B2
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.

Claims (40)

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.

2. The system of claim 1 , wherein the set of volumes are prioritized based on a quality of service indicator associated with at least one of the set of volumes.

3. The system of claim 1 , wherein the set of volumes are prioritized based on a number of accesses to each of the set of volumes.

4. The system of claim 1 , wherein each of the first set of data segments or first set of redundancy segments is stored on a sparing portion of a disk in the first configuration and on a single disk of a data store in the second configuration.

5. The system of claim 4 , wherein the first set of data segments or first set of redundancy segments were stored according to the first configuration in response to failure of the single disk.

6. The system of claim 5 , wherein the second RAID level, second RAID size, second Databank Count, second Databank Order, second Disk Count and second Disk Order are selected such that only the first set of data segments are moved when migrating the first volume.

7. The system of claim 1 , wherein the instructions are further executable to:

select a second volume based on the priority of the set of volumes after the migration of the first volume; and

migrate the second volume.

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.

9. The method of claim 8 , wherein a set of volumes are prioritized based on a quality of service indicator associated with at least one of the set of volumes.

10. The method of claim 8 , wherein a set of volumes are prioritized based on a number of accesses to each of the set of volumes.

11. The method of claim 8 , wherein each of the first set of data segments or first set of redundancy segments is stored on a sparing portion of a disk in the first configuration and on a single disk of a data store in the second configuration.

12. The method of claim 11 , wherein the first set of data segments or first set of redundancy segments were stored according to the first configuration in response to a failure of the single disk.

13. The method of claim 12 , wherein the second RAID level, second RAID size, second Databank Count, second Databank Order, second Disk Count and second Disk Order are selected such that only the first set of data segments are moved when migrating the volume.

14. The method of claim 8 , further comprising:

selecting a second volume based on a priority of a set of volumes after the migration of the first volume; and

migrating the second volume.

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.

16. The computer readable medium of claim 15 , wherein the set of volumes are prioritized based on a quality of service indicator associated with at least one of the set of volumes.

17. The computer readable medium of claim 15 , wherein the set of volumes are prioritized based on a number of accesses to each of the set of volumes.

18. The computer readable medium of claim 15 , wherein each of the first set of data segments or first set of redundancy segments is stored on a sparing portion of a disk in the first configuration and on a single disk of a data store in the second configuration.

19. The computer readable medium of claim 18 , wherein the first set of data segments or first set of redundancy segments were stored according to the first configuration in response to a failure of the single disk.

20. The computer readable medium of claim 19 , wherein the second RAID level, second RAID size, second Databank Count, second Databank Order, second Disk Count and second Disk Order are selected such that only the first set of data segments are moved when migrating the first volume.

21. The computer readable medium of claim 20 , wherein the instructions are further executable for:

selecting a second volume based on the priority of the set of volumes after the migration of the first volume; and

migrating the second volume.

Assignments (8)
INTELLECTUAL PROPERTY RELEASE Recorded Jan 4, 2024
From: RUNWAY GROWTH FINANCE CORP.
To: PIVOT3, INC.; NEXGEN STORAGE, INC.
Reel/Frame 066193/0189 →
RELEASE OF SECURITY INTEREST Recorded May 15, 2019
From: PACIFIC WESTERN BANK
To: PIVOT3, INC.
Reel/Frame 049186/0154 →
SECURITY INTEREST Recorded May 13, 2019
From: PIVOT3, INC.; NEXGEN STORAGE, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 049164/0117 →
RELEASE OF SECURITY INTEREST Recorded Mar 28, 2016
From: COMERICA BANK
To: PIVOT3, INC.
Reel/Frame 038114/0207 →
SECURITY INTEREST Recorded Mar 22, 2016
From: PIVOT3, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 038068/0092 →
CORRECTIVE DOCUMENT FOR ASSIGNMENT ORIGINALLY RECORDED AT REEL/FRAME 023030/0196 TO CORRECT RECEIVING PARTY NAME. Recorded Jul 20, 2012
From: GALLOWAY, WILLIAM C.; CALLISON, RYAN A.; SCHOLHAMER III, GEORGE J.
To: PIVOT3, INC.
Reel/Frame 028790/0313 →
SECURITY AGREEMENT Recorded Nov 17, 2009
From: PIVOT3, INC.
To: COMERICA BANK, A TEXAS BANKING ASSOCIATION
Reel/Frame 023525/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2009
From: GALLOWAY, WILLIAM C.; CALLISON, RYAN A.; SCHOLHAMER, III, GEORGE J.
To: PIVOT3
Reel/Frame 023030/0196 →