Method and apparatus for storage unit replacement according to array priority
First Claim
1. A method for managing data in a network, comprising:
- detecting a condition of a first particular storage device in a particular set of storage devices in a plurality of sets of storage devices;
selecting a second particular storage device in second particular set of storage devices in the plurality of sets of storage devices;
in response to said detecting a condition, migrating the data set stored in the first particular storage device to the second particular storage device and identifying the second particular storage device as a member of the first particular set; and
, determining whether a spare device is available for use in the first particular set of storage devices, and if a spare device is not available, then enabling said migrating the data set to the second particular storage device.
14 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus used in a storage network facilitates the protection of data in, and replacement of, storage devices about to fail before the failure happens. In a network that includes a plurality of sets of storage devices which store respective data sets, a storage device about to fail in one set can be replaced by another storage device from another set of storage devices which is being used to store data having a lower priority. The method comprises assigning priorities to sets of storage devices in the network which store respective data sets. In addition, the method includes detecting a condition of a first particular storage device in a particular set of storage devices that has a first priority. Conditions which are detected according to various embodiments indicate that the first particular storage device is suffering events indicating that it is likely to fail, or otherwise suffering from reduced performance. The conditions are detected for example, by the receipt of a signal from the storage device itself, or by the monitoring of statistics concerning the performance of the storage device. The method further provides for selecting a second particular storage device in a second particular set of storage devices having a second priority, which can be used in place of the first particular storage device. In response to detecting the condition, the data set stored in the first particular storage device is migrated to the second particular storage device, and the second particular storage devices identified as a member of the first particular set. The first particular storage device can be gracefully removed from the network, while only affecting the performance of the data access in the lower priority second particular set of storage devices.
138 Citations
29 Claims
-
1. A method for managing data in a network, comprising:
- detecting a condition of a first particular storage device in a particular set of storage devices in a plurality of sets of storage devices;
selecting a second particular storage device in second particular set of storage devices in the plurality of sets of storage devices;
in response to said detecting a condition, migrating the data set stored in the first particular storage device to the second particular storage device and identifying the second particular storage device as a member of the first particular set; and
,determining whether a spare device is available for use in the first particular set of storage devices, and if a spare device is not available, then enabling said migrating the data set to the second particular storage device. - View Dependent Claims (2, 3, 4)
assigning priorities to sets of storage devices in a plurality of sets of storage devices in the network which store respective data sets, and wherein the step of selecting is responsive to the assigned priorities.
- detecting a condition of a first particular storage device in a particular set of storage devices in a plurality of sets of storage devices;
-
3. The method of claim 1, wherein said detecting a condition comprises receiving a signal from said first particular device.
-
4. The method of claim 1, wherein said condition comprises an event indicating that the first particular device may fail.
-
5. A method for managing data in a network, comprising:
-
detecting a condition of a first particular storage device in a particular set of storage devices in a plurality of sets of storage devices;
selecting a second particular storage device in second particular set of storage devices in the plurality of sets of storage devices; and
in response to said detecting a condition, migrating the data set stored in the first particular storage device to the second particular storage device and identifying the second particular storage device as a member of the first particular set, the migrating including providing an intermediate device in the network coupled to the first particular device and the second particular device;
transferring copies of blocks of data from the data set stored in the first particular device to a buffer in the intermediate device;
transferring the copies of blocks from the buffer to the second particular device;
the transferring of copies of blocks including;
(i) setting a parameter indicating a size and location of the data set;
(ii) generating a request to copy a block from the data set to a buffer in the intermediate device;
(iii) generating a request to transfer the block from the buffer to the second device;
(iv) setting a parameter indicating blocks from the data set stored in the second device; and
(v) repeating the steps (ii) through (iv), until a copy of the data set is stored in the second device; and
,fulfilling data access requests to the data set during said first and second transferring via the intermediate device. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. An intermediate device for a storage network, comprising:
-
a plurality of communication interfaces, the plurality of communication interfaces adapted for communication with a plurality of sets of storage devices storing a corresponding plurality of data sets, and for communication with one or more clients issuing data access requests for access to the plurality of data sets;
data transfer resources coupled to the plurality of communication interfaces which transfer data access requests identifying a particular data set among the plurality of communication interfaces; and
a logic engine, coupled to the plurality of communication interfaces, which identifies members of the plurality of sets of storage devices, and in response to detection of a condition of a first particular storage device in a particular set of storage devices in the plurality of sets of storage devices, migrates the data set stored in the first particular storage device to a second particular storage device in a second particular set of storage devices in the plurality of sets of storage devices and identifies the second particular storage device as a member of the first particular set. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. An intermediate device for a storage network, comprising:
-
a plurality of communication interfaces, the plurality of communication interfaces adapted for communication with a plurality of sets of storage devices storing a corresponding plurality of data sets, and for communication with one or more clients issuing data access requests for access to the plurality of data sets;
data transfer resources coupled to the plurality of communication interfaces which transfer data access requests identifying a particular data set among the plurality of communication interfaces; and
a logic engine, coupled to the plurality of communication interfaces, which identifies members of the plurality of sets of storage devices, and in response to detection of a condition of a first particular storage device in a particular set of storage devices in the plurality of sets of storage devices, migrates the data set stored in the first particular storage device to a second particular storage device in a second particular set of storage devices in the plurality of sets of storage devices and identifies the second particular storage device as a member of the first particular set, said logic engine including resources which before selecting the second particular storage device from the second particular set, determine whether a spare device is available for use in the first particular set of storage devices, and if a spare device is not available, then select the second particular storage device.
-
-
21. An intermediate device for a storage network, comprising:
-
a plurality of communication interfaces, the plurality of communication interfaces adapted for communication with a plurality of sets of storage devices storing a corresponding plurality of data sets, and for communication with one or more clients issuing data access requests for access to the plurality of data sets;
data transfer resources coupled to the plurality of communication interfaces which transfer data access requests identifying a particular data set among the plurality of communication interfaces; and
a logic engine, coupled to the plurality of communication interfaces, which identifies members of the plurality of sets of storage devices, and in response to detection of a condition of a first particular storage device in a particular set of storage devices in the plurality of sets of storage devices, migrates the data set stored in the first particular storage device to a second particular storage device in a second particular set of storage devices in the plurality of sets of storage devices and identifies the second particular storage device as a member of the first particular set, wherein said migrating comprises;
transferring copies of blocks of data from the data set stored in the first particular device to a buffer;
transferring the copies of blocks from the buffer to the second particular device the transferring of copies of blocks including;
(i) setting a parameter indicating a size and location of the data set;
(ii) generating a request to copy a block fiom the data set to a buffer in the intermediate device;
(iii) generating a request to transfer the block from the buffer to the second device;
(iv) setting a parameter indicating blocks from the data set stored in the second device; and
(v) repeating the steps (ii) through (iv), until a copy of the data set is stored in the second device; and
,fulfilling data access requests to the data set during said first and second transferring via the intermediate device. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A storage server comprising:
-
a plurality of communication interfaces, the plurality of communication interfaces adapted for communication with a plurality of sets of storage devices storing a corresponding plurality of data sets, and for communication with one or more clients issuing data access requests for access to the plurality of data sets;
data processing resources coupled with the plurality of communication interfaces which transfer data among the plurality of communication interfaces, the resources including;
a plurality of hardware driver modules to manage respective communication interfaces in the plurality of communication interfaces;
a plurality of internal driver modules to perform data path tasks, independently of the plurality of communication interfaces;
configurable logic linking driver modules in the plurality of hardware driver modules and the plurality of internal driver modules into data paths, the data paths including respective sets of one or more hardware driver modules and one or more internal driver modules;
a protocol server module coupled with the data paths, for a protocol supported on a communication interface in the plurality of communication interfaces, the protocol server recognizing target identifiers in a session according to the protocol and linking the session to a data path in response to the target identifiers; and
a logic engine which identifies members of the plurality of sets of storage devices and in response to detection of a condition of a first particular storage device in a particular set of storage devices in the plurality of sets of storage devices, identifies a second particular storage device in a second particular set of storage devices in the plurality of storage devices which is suitable for appropriation from the second particular set, migrates the data set stored in the first particular storage device to the second particular storage deceive and identifies the second particular storage device as a member of the first particular set.
-
Specification