IP Library Patent Application 13333615
Patent Application
App. No. 13/333,615

METHOD AND SYSTEM FOR DISTRIBUTED RAID IMPLEMENTATION

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 None
App. No.
13/333,615
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. Each data bank may have a high speed memory where a write cache is stored. In certain embodiments, a virtualization layer may be executed on a data bank and the distributed RAID application may execute on the virtualization layer. The distributed RAID application may control access to the high speed memory on which the write cache is stored.

Claims (40)

1 . A system for implementing distributed RAID, comprising:

a plurality of storage appliances, each storage appliance coupled to each of the other plurality of storage appliances, each storage appliance including:

a processor;

a data store comprising a first portion and a second portion, wherein the second portion is a high speed memory;

a computer readable medium comprising instructions executable to:

receive a command corresponding to a first segment of a first volume from a host, wherein:

the first volume comprises a first set of segments, and the first 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 one or more corresponding redundancy segments comprising the redundancy data associated with that segment of the volume does not reside on the same storage appliance as the corresponding segment of the volume;

determine a first storage appliance of the plurality of storage appliances, wherein the first storage appliance corresponds to the first segment; and if the first storage appliance is the storage appliance which received the command execute the first command with respect to the first segment, and

if not, forward the first command to the first storage appliance.

2 . The system of claim 1 , wherein the first segment is stored on the first portion of the data store or the second portion of the data store based on one or more criteria associated with the first segment.

3 . The system of claim 2 , wherein the one or more criteria include a quality of service indicator.

4 . The system of claim 1 , wherein the computer readable medium comprises second instructions executable to implement a virtualization layer, wherein the distributed RAID application executes on the virtualization layer.

5 . The system of claim 4 , wherein the data store is accessible without use of the virtualization layer.

6 . The system of claim 1 , wherein a second volume is stored on the plurality of storage appliances according to a second storage appliance order, wherein 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.

7 . The system of claim 6 , wherein a second RAID level is implemented in conjunction with the second volume.

8 . A method for implementing a distributed RAID application on one or more storage appliances, each storage appliance comprising a processor and a data store comprising a first portion and a second portion, wherein the second portion of the data store is a high speed memory, comprising:

receiving a command corresponding to a first segment of a first volume from a host, wherein:

the first volume comprises a first set of segments, and the first 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 one or more corresponding redundancy segments comprising the redundancy data associated with that segment of the volume does not reside on the same storage appliance as the corresponding segment of the volume;

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

if the first storage appliance is the storage appliance which received the command executing the first command with respect to the first segment, and if not, forwarding the first command to the first storage appliance.

9 . The method of claim 8 , wherein the first segment is stored on the first portion of the data store or the second portion of the data store based on one or more criteria associated with the first segment.

10 . The method of claim 9 , wherein the one or more criteria include a quality of service indicator.

11 . The method of claim 8 , further comprising executing a virtualization layer, wherein the distributed RAID application executes on the virtualization layer.

12 . The method of claim 11 , wherein the data store is accessible without use of the virtualization layer.

13 . The method of claim 8 , wherein a second volume is stored on the plurality of storage appliances according to a second storage appliance order, wherein 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.

14 . The method of claim 13 , wherein a second RAID level is implemented in conjunction with the second volume.

15 . A computer readable medium comprising computer executable instructions for implementing a distributed RAID application on one or more storage appliances, each storage appliance comprising a processor and a data store comprising a first portion and a second portion, wherein the second portion of the data store is a high speed memory, the computer instructions executable for:

receiving a command corresponding to a first segment of a first volume from a host, wherein:

the first volume comprises a first set of segments, and the first 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 one or more corresponding redundancy segments comprising the redundancy data associated with that segment of the volume does not reside on the same storage appliance as the corresponding segment of the volume;

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

if the first storage appliance is the storage appliance which received the command executing the first command with respect to the first segment, and if not, forwarding the first command to the first storage appliance.

16 . The computer readable medium of claim 15 , wherein the first segment is stored on the first portion of the data store or the second portion of the data store based on one or more criteria associated with the first segment.

17 . The computer readable medium of claim 16 , wherein the one or more criteria include a quality of service indicator.

18 . The computer readable medium of claim 15 , further comprising instructions for executing a virtualization layer, wherein the distributed RAID application executes on the virtualization layer.

19 . The computer readable medium of claim 18 , wherein the data store is accessible without use of the virtualization layer.

20 . The computer readable medium of claim 15 , wherein a second volume is stored on the plurality of storage appliances according to a second storage appliance order, wherein 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 a second RAID level is implemented in conjunction with the second volume.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 15, 2019
From: PACIFIC WESTERN BANK
To: PIVOT3, INC.
Reel/Frame 049186/0154 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2012
From: GALLOWAY, WILLIAM C.; TAN, CHOON-SENG; GOODWYN, BENJAMIN WAYNE; CURLEY, MATTHEW E.
To: PIVOT3, INC.
Reel/Frame 027676/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: GALLOWAY, WILLIAM C.; TAN, CHOON-SENG; GOODWYN, BENJAMIN WAYNE; CURLEY, MATTHEW E.
To: PIVOT3, INC.
Reel/Frame 027596/0696 →