Adaptive failure survivability in a storage system using save time and data transfer after power loss
First Claim
1. A method of maintaining failure survivability in a storage system, comprising:
- for each of a plurality of units of the storage system, performing the following;
(a) determining a transfer time to transfer data from volatile memory to non-volatile memory of the unit of the storage system;
(b) determining a storage time to store the data in the non-volatile memory;
(c) determining whether the data requires encryption, and where the determination indicates that the data requires encryption, determining an encryption time to encrypt the data prior to storage in the non-voltage memory;
(d) determining a save time corresponding to an amount of time needed to move the data from volatile memory to non-volatile memory, wherein the save time includes a sum of the transfer time, the storage time and the encryption time; and
(e) determining a threshold corresponding to time for batteries to run while moving the data from the volatile memory to the non-volatile memory after a power loss;
providing an indication in response to the save time being greater than the threshold for at least one of the units of the storage system;
comparing the save times determined for the plurality of units to determine a first unit having a longer save time and a second unit having a shorter save time;
modifying a storage plan for the moving of the data to reconfigure storage of data among the first and second units based on the comparing of the save times, wherein the modifying the storage plan includes setting data that would have been stored according to the storage plan to the first unit having the longer save time to be stored instead on the second unit having the shorter save time; and
performing additional reconfiguration in response to the save time being greater than the threshold, wherein the additional reconfiguration includes changing data set to be stored in a first portion of non-volatile memory to be set to be stored in a second, different, portion of the volatile memory.
9 Assignments
0 Petitions
Accused Products
Abstract
Maintaining failure survivability in a storage system includes determining a save time corresponding to an amount of time needed to transfer system data from volatile memory to non-volatile memory, determining a threshold corresponding to time for batteries to run while transferring data from volatile memory to non-volatile memory after a power loss, and providing an indication in response to the save time being greater than the threshold. The system may include a plurality of directors and the save time and the threshold may be determined for each of the directors. Determining a threshold may include determining an amount of battery time provided by battery power following power loss and multiplying the amount of battery time by a factor less than one, such as 0.8.
35 Citations
12 Claims
-
1. A method of maintaining failure survivability in a storage system, comprising:
-
for each of a plurality of units of the storage system, performing the following; (a) determining a transfer time to transfer data from volatile memory to non-volatile memory of the unit of the storage system; (b) determining a storage time to store the data in the non-volatile memory; (c) determining whether the data requires encryption, and where the determination indicates that the data requires encryption, determining an encryption time to encrypt the data prior to storage in the non-voltage memory; (d) determining a save time corresponding to an amount of time needed to move the data from volatile memory to non-volatile memory, wherein the save time includes a sum of the transfer time, the storage time and the encryption time; and (e) determining a threshold corresponding to time for batteries to run while moving the data from the volatile memory to the non-volatile memory after a power loss; providing an indication in response to the save time being greater than the threshold for at least one of the units of the storage system; comparing the save times determined for the plurality of units to determine a first unit having a longer save time and a second unit having a shorter save time; modifying a storage plan for the moving of the data to reconfigure storage of data among the first and second units based on the comparing of the save times, wherein the modifying the storage plan includes setting data that would have been stored according to the storage plan to the first unit having the longer save time to be stored instead on the second unit having the shorter save time; and performing additional reconfiguration in response to the save time being greater than the threshold, wherein the additional reconfiguration includes changing data set to be stored in a first portion of non-volatile memory to be set to be stored in a second, different, portion of the volatile memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium storing software that maintains failure survivability in a storage system, the software comprising:
-
executable code that, for each of a plurality of units of the storage system, performs the following; (a) determines a transfer time to transfer data from volatile memory to non-volatile memory of the unit of the storage system; (b) determines a storage time to store the data in the non-volatile memory; (c) determines whether the data requires encryption, and where the determination indicates that the data requires encryption, determining an encryption time to encrypt the data prior to storage in the non-voltage memory; (d) determines a save time corresponding to an amount of time needed to move the data from volatile memory to non-volatile memory, wherein the save time includes a sum of the transfer time, the storage time and the encryption time; and (e) determines a threshold corresponding to time for batteries to run while moving the data from the volatile memory to the non-volatile memory after a power loss; executable cede that provides an indication in response to the save time being greater than the threshold for at least one of the units of the storage system; executable code that compares the save times determined for the plurality of units to determine a first unit having a longer save time and a second unit having a shorter save time; executable code that modifies a storage plan for the moving of the data to reconfigure storage of data among the first and second units based on the comparing of the save times, wherein the executable code that modifies the storage plan includes executable code that sets data that would have been stored according to the storage plan to the first unit having the longer save time to be stored instead on the second unit having the shorter save time; and executable code that performs additional reconfiguration in response to the save time being greater than the threshold, wherein the additional reconfiguration includes changing data set to be stored in a first portion of non-volatile memory to be set to be stored in a second, different, portion of the volatile memory. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification