IP Library Granted Patent US 8,271,727
Granted Patent B2
US 8,271,727 · App. 13/291,311 · Granted Sep 18, 2012

Method and system for distributing commands to targets

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,271,727
App. No.
13/291,311
Granted
Sep 18, 2012
Kind
B2
Abstract

Embodiments of systems and methods for routing commands to a distributed RAID system are disclosed. Specifically, embodiments may route a command to an appropriate data bank in a distributed RAID system, where 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 data stored on the associated storage media of the data banks.

Claims (45)

1. A system for implementing distributed Redundant Array of Independent Disks (RAID), comprising:

a set of hosts, each host comprising:

a processor;

a first computer readable medium, comprising instructions executable for:

obtaining a first command corresponding to a first segment of a first volume;

determining a first storage appliance of a plurality of storage appliances, wherein the first storage appliance corresponds to the first segment of the first volume; and

routing the first command to the first storage appliance, wherein each of the set of hosts is coupled to a distributed RAID system comprising the plurality of storage appliances, each storage appliance coupled to each of the other storage appliance of the plurality of storage appliances, each storage appliance including:

a processor; and

a data store;

a second computer readable medium comprising instructions executable for:

implementing commands in conjunction with the first volume, wherein the first volume comprises a set of segments including the first segment and the set of segments of the first volume are stored on the plurality of storage appliances according to a first storage appliance order where the first storage appliance order is a first ordering of the plurality of storage appliances including each of the plurality of storage appliances exactly once, and wherein

redundancy data corresponding to a first RAID level implemented in conjunction with the first volume is stored on each of the plurality of storage appliances, such that for each segment of the first volume a corresponding redundancy segment comprising the redundancy data associated with that segment of the first volume does not reside on the same storage appliance as the corresponding segment of the volume.

2. The system of claim 1 , wherein determining the first storage appliance is done by a device specific module (DSM).

3. The system of claim 2 , wherein the DSM comprises a first table associated with the first volume comprising the first storage appliance order.

4. The system of claim 3 , wherein a second volume is stored on the plurality of storage appliances according to a second storage appliance order, where the second storage appliance order is a second ordering of the plurality of storage appliances including each of the plurality of storage appliances exactly once.

5. The system of claim 4 , wherein the DSM comprises a second table associated with the second volume comprising the second storage appliance order.

6. The system of claim 3 , wherein the first table is updated based on a notification received from one of the plurality of storage appliances that the first table has changed.

7. The system of claim 6 , wherein the notification is sent from the one of the plurality of storage appliances when a threshold amount of data associated with the first volume has been moved.

8. The system of claim 6 , wherein the first computer readable medium further comprises instructions for updating the first table by obtaining the first table from one of the plurality of storage appliances.

9. A method for routing commands from a host computer to a distributed RAID system, comprising:

obtaining a first command corresponding to the first segment of the first volume;

determining a first storage appliance of a plurality of storage appliances, wherein the first storage appliance corresponds to the first segment of the first volume; and

routing the first command to the first storage appliance in the distributed RAID system comprising the plurality of storage appliances, each storage appliance coupled to each of the other storage appliances of the plurality of storage appliances, and each storage appliance configured for:

implementing commands in conjunction with the first volume, wherein the first volume comprises a set of segments including the first segment and the set of segments of the first volume are stored on the plurality of storage appliances according to a first storage appliance order where the first storage appliance order is a first ordering of the plurality of storage appliances including each of the plurality of storage appliances exactly once, and wherein

redundancy data corresponding to a first RAID level implemented in conjunction with the first volume is stored on each of the plurality of storage appliances, such that for each segment of the first volume a corresponding redundancy segment comprising the redundancy data associated with that segment of the first volume does not reside on the same storage appliance as the corresponding segment of the first volume.

10. The method of claim 9 , wherein determining the first storage appliance is done by a device specific module (DSM).

11. The method of claim 10 , wherein the DSM comprises a first table associated with the first volume comprising the first storage appliance order.

12. The method of claim 11 , wherein a second volume is stored on the plurality of storage appliances according to a second storage appliance order, where the second storage appliance order is a second ordering of the plurality of storage appliances including each of the plurality of storage appliances exactly once.

13. The method of claim 12 , wherein the DSM comprises a second table associated with the second volume comprising the second storage appliance order.

14. The method of claim 11 , wherein the first table is updated based on a notification received from one of the plurality of storage appliances that the first table has changed.

15. The method of claim 14 , wherein the notification is sent from the one of the plurality of storage appliances when a threshold amount of data associated with the first volume has been moved.

16. The method of claim 15 , wherein the first computer readable medium further comprises instructions for updating the first table by obtaining the first table from one of the plurality of storage appliances.

17. A non-transitory computer readable medium, comprising instructions executable for:

obtaining a first command corresponding to a first segment of a first volume;

determining a first storage appliance of a plurality of storage appliances, wherein a first storage appliance corresponds to the first segment of the first volume; and

routing the first command to the first storage appliance in a distributed RAID system comprising the plurality of storage appliances, each storage appliance coupled to each of the other storage appliances of the plurality of storage appliances, and each storage appliance configured for:

implementing commands in conjunction with the first volume, wherein the first volume comprises a set of segments including the first segment and the set of segments of the first volume are stored on the plurality of storage appliances according to a first storage appliance order where the first storage appliance order is a first ordering of the plurality of storage appliances including each of the plurality of storage appliances exactly once, and wherein

redundancy data corresponding to a first RAID level implemented in conjunction with the first volume is stored on each of the plurality of storage appliances, such that for each segment of the first volume a corresponding redundancy segment comprising the redundancy data associated with that segment of the first volume does not reside on the same storage appliance as the corresponding segment of the first volume.

18. The computer readable medium of claim 17 , wherein determining the first storage appliance is done by a device specific module (DSM).

19. The computer readable medium of claim 18 , wherein the DSM comprises a first table associated with the first volume comprising the first storage appliance order.

20. The computer readable medium of claim 19 , wherein a second volume is stored on the plurality of storage appliances according to a second storage appliance order, where the second storage appliance order is a second ordering of the plurality of storage appliances including each of the plurality of storage appliances exactly once.

21. The computer readable medium of claim 20 , wherein the DSM comprises a second table associated with the second volume comprising the second storage appliance order.

22. The computer readable medium of claim 19 , wherein the first table is updated based on a notification received from one of the plurality of storage appliances that the first table has changed.

23. The computer readable medium of claim 22 , wherein the notification is sent from the one of the plurality of storage appliances when a threshold amount of data associated with the first volume has been moved.

24. The computer readable medium of claim 23 , wherein the first computer readable medium further comprises instructions for updating the first table by obtaining the first table from one of the plurality of storage appliances.

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 →
SECURITY AGREEMENT Recorded Dec 11, 2012
From: PIVOT3, INC.
To: COMERICA BANK
Reel/Frame 029444/0462 →
CORRECTIVE DOCUMENT FOR ASSIGNEE'S NAME FOR ASSIGNMENT ORIGINALLY RECORDED AT REEL 027377 FRAME 0514. Recorded Aug 28, 2012
From: GALLOWAY, WILLIAM C.; CALLISON, RYAN A.; MCGOWEN, MICHAEL E.
To: PIVOT3, INC.
Reel/Frame 028856/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2011
From: GALLOWAY, WILLIAM C.; CALLISON, RYAN A.; MCGOWEN, MICHAEL. E.
To: PIVOT3
Reel/Frame 027377/0514 →