Method and apparatus for raid conversion
First Claim
1. In a redundant array of inexpensive devices (RAID) comprising a controller and a plurality of storage devices for storing user data, the controller storing a plurality of RAID algorithms to be implemented for writing data to and reading data from the storage devices, a method for RAID conversion comprising:
- storing in the controller one or more rules for selecting a desired one of the plurality of RAID algorithms based on one or more conditions of the array;
detecting the one or more conditions of the array;
selecting the desired RAID algorithm based on the detected conditions and the stored rules; and
when the desired RAID algorithm is different from the RAID algorithm currently implemented in the array, converting the array from the currently implemented RAID algorithm to the desired RAID algorithm.
2 Assignments
0 Petitions
Accused Products
Abstract
A general RAID conversion method is described for converting between different RAID configurations. The method includes reading a unit of user data from the source devices according to the source RAID algorithm, writing the user data together with redundant data (if any) to the target devices according to the target RAID algorithm, and from time to time releasing portions of the source devices containing data that has been converted. The conversion may be used to expand or contract the array, to increase or decrease usable capacity, and to increase or decrease the device-loss insurance level. Conversion may be performed on line (dynamically) or off line. The flexibility of the method allows the implementation of manual and/or rule-based RAID reconfiguration that automatically adjusts system parameters based on user request and/or a set of rules and conditions respectively. It may also be used to perform self-healing after one or more devices in the array have failed.
80 Citations
65 Claims
-
1. In a redundant array of inexpensive devices (RAID) comprising a controller and a plurality of storage devices for storing user data, the controller storing a plurality of RAID algorithms to be implemented for writing data to and reading data from the storage devices, a method for RAID conversion comprising:
-
storing in the controller one or more rules for selecting a desired one of the plurality of RAID algorithms based on one or more conditions of the array;
detecting the one or more conditions of the array;
selecting the desired RAID algorithm based on the detected conditions and the stored rules; and
when the desired RAID algorithm is different from the RAID algorithm currently implemented in the array, converting the array from the currently implemented RAID algorithm to the desired RAID algorithm. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. In a redundant array of inexpensive devices (RAID) comprising a controller and a plurality of storage devices for storing user data, the controller storing a plurality of RAID algorithms to be implemented for writing data to and reading data from the storage devices, wherein at least some of the RAID algorithms are characterized by a number of storage devices in the array (n), and a device-loss insurance level (m) such that when up to m devices of the array are unavailable, user data is fully recoverable from the remaining n-m devices, where 1≦
- m<
n, a RAID conversion method comprising;
implementing a first RAID algorithm on the array;
selecting a second RAID algorithm characterized by a number of storage devices n2 and a device-loss insurance level m2, n2 and m2 being selectable; and
converting the array from the first RAID algorithm to the second RAID algorithm, the converting step comprising;
(a) reading a unit of user data from the storage devices according to the first RAID algorithm;
(b) defining a watermark indicating the position where the data is read from the first RAID; and
(c) writing user data on appropriate storage devices according to the second RAID algorithm. - View Dependent Claims (23)
- m<
-
24. A redundant array of inexpensive devices (RAID) system comprising:
-
a plurality of n storage devices for storing user data thereon; and
a controller connected to the storage devices for controlling writing and reading data to and from the storage devices according to a RAID algorithm, the controller storing a plurality of RAID algorithms to be implemented for writing data to and reading data from the storage devices, the controller further storing one or more rules for selecting a desired one of the plurality of RAID algorithms based on one or more conditions of the array, the controller having stored program instructions or a logic circuit operable to detect the one or more conditions of the array, to select the desired RAID algorithm based on the detected conditions and the stored rules, and when the desired RAID algorithm is different from the RAID algorithm currently implemented in the array, to convert the array from the currently implemented RAID algorithm to the desired RAID algorithm. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A computer program product comprising a computer usable medium having a computer readable code embodied therein for controlling a redundant array of inexpensive devices (RAID), the RAID comprising a controller and a plurality of storage devices for storing user data, the controller storing a plurality of RAID algorithms to be implemented for writing data to and reading data from the storage devices, the computer program product comprising:
-
first computer readable program code configured to cause the controller to storing one or more rules for selecting a desired one of the plurality of RAID algorithms based on one or more conditions of the array;
second computer readable program code configured to cause the controller to detect the one or more conditions of the array;
third computer readable program code configured to cause the controller to select the desired RAID algorithm based on the detected conditions and the stored rules; and
fourth computer readable program code configured to cause the controller to, when the desired RAID algorithm is different from the RAID algorithm currently implemented in the array, convert the array from the currently implemented RAID algorithm to the desired RAID algorithm. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
Specification