Abstract:
A technique of automatically managing power consumption by predicting data storage utilization events based upon individual data storage drive utilization history, drive properties, client storage usage and behavior trends is described. The behavior trends may include customer actions, such as reduced weekend and holiday data storage system usage rates. The technique collects operational data and calculates statistical trends in utilization rates for each data storage drive, and for the overall data storage system. The technique automatically switches individual data storage drives to an appropriate power and performance level based upon predicted utilization demand, including shut down and restarts to reduce data storage system power consumption without adversely impacting data storage system performance.

Description:
BACKGROUND 
     Data storage systems are arrangements of hardware and software that include one or more storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and optical drives. The storage processors service storage requests, arriving from host machines (“hosts”) which specify files or other data elements to be written, read, created or deleted, for example. 
     Data storage systems utilize electrical power to operate the electronic data storage systems, as well as for air handling and air conditioning systems to remove the heat generated by the operation of the data storage systems. Individual data storage drives in data storage systems may be accessed by a host at any time, and as a result the data storage drives may be left in a power-on state even during times when there are few or no data storage requests, in order to be available for host requests. 
     SUMMARY 
     Unfortunately, there are deficiencies with the above-described conventional approaches. Reducing the cost of electrical consumption in data storage systems without reducing host storage request response time is a benefit for data storage system managers. In the conventional approach to reducing electrical consumption in data storage devices, people who manage such data storage systems manually decide to turn off selected data storage drives based upon their experience with normal utilization trends for the data storage system as a whole, and for individual drives. 
     The conventional approach of manually turning off data storage drives to save money without sacrificing host storage request response time is difficult for data storage system managers to implement. For example, manual decisions made by data storage system managers tend to be made later than optimum due to a natural desire to keep the data storage system as available as possible for host storage requests. One reason for this is that the people who manage data storage systems do not have a statistically significant history of utilization variations for each individual one of a large set of data storage drives. Even variations in overall power consumption of a large data storage system are hard for a system manager to predict because of the many interacting conditions. 
     In contrast to the conventional approaches of reducing data storage drive electrical consumption, improved techniques for automatically predicting data storage drive utilization include continuous monitoring of the electrical usage rates of each individual data storage drive, as well as of the overall electrical usage rate of the overall data storage system. The techniques include using the monitoring data to create a model of data storage usage over time and statistical trend analysis of the monitoring data to predict a probable time when the data storage system, or individual drives of the system, can be either switched into a reduced power consumption mode, or shut down for a predicted low utilization period. The model includes client supplied limits and goals as well as data storage drive properties, data storage usage and behavior trends. For example, data storage drive utilization may typically be reduced during weekend periods for hosts that do not operate on weekends. 
     An embodiment of the improved techniques is directed to a method of managing power consumption in data storage systems. The method includes receiving, by a computing device from each of a set of storage devices of a data storage system, storage device access data over a selected period of time, and performing an aggregate utilization calculation operation to produce a common time period over which a calculated aggregate utilization of the storage device access data has a value less than a selected value. The method includes transmitting a signal to each of the multiple storage devices of the data storage system including instructions to switch to a reduced power consumption mode during the common time period. 
     Another embodiment of the improved techniques is directed to a method of automatically implementing power consumption configuration changes in data storage systems, including receiving, at specified intervals, a set of storage drive operational utilization data from each individual data storage drive representing a current storage usage percentage. The method includes storing the operational utilization data values in a memory location, and calculating, based upon a statistical behavior over time of the stored operational utilization data values, a model predicting utilization values over time periods for each one of the data storage drives. The method includes comparing a current storage drive operational utilization data value for each data storage drive to the model predictions of an expected utilization value for that drive to provide a difference value. The method includes changing the operating condition of a data storage drive that is currently in a full power operating mode into a low power state when both (1) the difference value for that data storage drive is less than a first selected value, and (2) the model prediction indicates a predicted utilization value period having a utilization value less than a second selected value. The method includes not changing the data storage drive into a low power state when the difference value for that data storage drive is more than the first selected value, and also not changing the data storage drive into a low power state when the model prediction indicates a predicted utilization value that is equal to or more than the second selected value. 
     Still another embodiment of the improved techniques is directed to a computer program product having a non-transitory computer readable medium which stores a set of instructions for monitoring a data storage system in an electronic device, the set of instructions causing a controller to perform a method of automatically implementing power consumption configuration changes in data storage systems. The method includes receiving storage drive operational utilization data values at specified intervals from each individual one of a set of data storage drives, where the utilization data represents a current system storage usage percentage. The method includes storing the operational utilization data values in a memory location, and calculating, based upon statistical behavior over time of the stored operational utilization data values, a model predicting expected utilization values over time periods for each individual one of the set of data storage drives. The method includes comparing a current storage drive operational utilization data value for each individual one of the set of data storage drives to the model predictions for that individual one to provide a difference value, and changing the operating condition of one of the set of data storage drives that is currently in a full power operating mode into a low power state when both (1) the difference value for that data storage drive is less than a first selected value and (2) the model prediction indicates a predicted low utilization value period having a utilization value less than a second selected value. The method also includes not changing the data storage drives into a low power state when the difference value for that data storage drive is more than the first selected value, and not changing the data storage drives into a low power state when the model prediction indicates a predicted utilization value that is equal to or more than the second selected value. 
     Still another embodiment of the improved techniques is directed to an electronic apparatus including a network interface, a memory, and processing circuitry coupled to the network interface, the memory and the buffer memory. The memory stores instructions for automatically implementing power consumption configuration changes in data storage systems which, when carried out by the processing circuitry, cause the processing circuitry to receive storage drive operational utilization data values at specified intervals from each of a set of data storage drives. The utilization data represents a current system storage usage percentage. The processing circuitry will store the operational utilization data values in a memory location, and calculate, based upon a statistical behavior over time of the stored operational utilization data values, a model predicting utilization values over time periods for each individual one of the set of data storage drives. The processing circuitry will compare a current storage drive operational utilization data value for each individual one of the set of data storage drives to the model predictions for that individual one to provide a difference value, and change the operating condition of one of the set of data storage drives that is currently in a full power operating mode to a low power state when the difference value for that data storage drive is less than a first selected value and the model prediction indicates a predicted low utilization period having a utilization value less than a second selected value. The processing circuitry will not change the data storage drive into a low power state when the difference value for that data storage drive is more than the first selected value, and will not change the data storage drive into a low power state when the model prediction indicates a predicted utilization value that is equal to or more than the second selected value. 
     The improved techniques for automatically managing power consumption in data storage systems may be combined in various ways and implemented with other variations that do not depart from the essential principles of the improvement. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The foregoing and other objects, features and advantages will be apparent from the following description of particular embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of various embodiments of the invention. 
         FIG. 1  is a block diagram of a data storage center with a set of storage drives using the improved techniques to reduce electrical consumption in data storage drives. 
         FIG. 2  is a flow chart illustrating a method of using the improved techniques to reduce electrical consumption in data storage drives. 
     
    
    
     DETAILED DESCRIPTION 
     Data storage system managers cannot accurately determine time dependent data storage system host data storage request volume due to variations in data storage system usage caused by large numbers of interacting and competing activities of a data storage system servicing hundreds of clients or hosts. In addition, the demand for data storage requests may increase or decrease rapidly on a minute to minute basis depending upon many factors such as time of day, holidays, weekends and vacation seasons. Thus a person attempting to manage power consumption in data storage systems cannot accurately determine when a data storage system may be in a low utilization rate period, and when the data storage drive could be set to a reduced power mode without impacting storage request response times. An automatic system for predicting when a data storage system may have its power consumption reduced, or e placed into a sleep state is needed. 
       FIG. 1  is a block diagram of a data center  102  with a set of storage drives  104 ,  106  and  108  in an electronic environment  100  using the improved techniques. The data storage drives  104 ,  106  and  108  may be located in a single location, or may be in separate data storage locations. The described embodiment discusses a set of three data storage drives, but the embodiment is not so limited, and any number of data storage drives may be used. The data storage drives  104 ,  106  and  108  are connected by communication means  110 ,  112  and  114  respectively, to a network  116 . The network  116  may be an internal bus line, an intranet, a local area network, the internet or other means of communication. A computer  120  may receive and transmit data over communication means  118  to the network  116 . Computer  120  may include a processor  122 , a memory  124  and a computer program product  130  having a non-transitory computer readable medium which stores a set of instructions for preforming operations in accordance with the improved techniques as discussed below. Computer  120  may also include a communication port for sending and receiving communications, for example with the storage drives and with a data storage system manager  128  or administrator via communications means  126 . The communication means may variously comprise hard wired, wireless, RF, optical fiber or any means of data communication. The computer  120  may be any form of electronic device capable of sending and receiving data communications and performing data manipulations and calculations, such as a personal computer, processor, work station, laptop and other electronic devices. 
     In operation the processor  122  receives operational data from the data storage drives  104 ,  106  and  108  at selected time intervals. For example, data storage drives  104 ,  106  and  108  may be continuously sending operational data values to processor  122 , or may send operational data values at regular time intervals such as every five minutes, or may send operational data values based upon a selected number of data operations, such as write requests or read requests, or in any other desired method. The operational data may include current values of data storage system usage, such as the number of data storage requests received as a function of time. 
     The processor  122  stores the received operational data in memory  124  and calculates a model for the time dependent trend of the operational data values. For example, storage location  104  might receive no host storage requests each night after midnight and before 6 AM, and on Saturdays, Sundays and holidays. Each storage location  104 ,  106  and  108  may have a different time dependent statistical model depending upon the type of hosts sending storage requests to that data storage drive. 
     The processor  122  may, for example, perform a statistical curve fit approximation to project a time when the data storage drive may either be receiving no storage requests, or will likely receive less than a selected number of storage requests. The time period over which the operational data is used in the statistical curve fit approximation may, for example, be hourly measurements taken over the past 12 months. In addition, the processor  122  may calculate statistical models for the overall operational data of the whole data storage system comprising data storage drives  104 ,  106  and  108 , and may calculate a load balancing plan that shifts host storage requests from a low usage drive (such as  104  for example) to a moderate usage drive (such as  106 ) that has capacity to handle the additional data storage requests. The processor  122  may send a signal to storage drive  104  to switch to a reduced power consumption mode for a specific time period, and may further send a signal to the manager  128  informing the manager of the time period during which storage drive  104  will be a reduced power consumption mode. The manager  128  will be able to override the decision to switch storage drive  104  to a reduced power consumption mode. 
     Alternatively, the processor  122  may calculate that all of the storage drives  104 ,  106  and  108  are likely to be in a low utilization having a value that is less than a selected value, and thus the entire data center  102  is likely to be in a low utilization mode over a common time period. The processor  122  will then send a signal to each of the multiple storage drives to switch to a reduced power consumption mode. The reduced power consumption mode may be a full power-off mode or shut down, or it may be a reduced level of operation or sleep mode. The processor will send a signal to each of the storage drives  104 ,  106  and  108  at a time prior to the end of the common time period by an amount equal to a selected start up time period, to restart the storage drives. 
     The processor  122  may automatically implement power consumption configuration changes in a data storage system under the control of the non-transitory computer readable medium  130  which stores a set of instructions for monitoring a data storage system, the set of instructions causing the controller  122  to perform the method. 
       FIG. 2  is a flow chart illustrating a method of automatically implementing power consumption configuration changes in data storage systems accordingly to the improved technique. At  202 , a computer receives, at specified intervals, storage drive operational utilization data values from each individual one of a set of data storage drives representing a current system storage usage percentage. At  204  the computer stores the values in a memory. 
     At  206 , the computer calculates, based upon a statistical behavior over time of the stored operational utilization data values, a model predicting utilization values over time periods for each individual one of the set of data storage drives. At  208 , the computer compares a current storage drive operational utilization data value for each individual one of the set of data storage drives to the model predictions for that individual one to provide a difference value. 
     At  210 , the computer changes the operating condition of an individual one of the set of data storage drives that is currently in a full power operating mode into a low power state when both the difference value for that data storage drive is less than a first selected value and the model prediction indicates a predicted low utilization value period having a utilization value less than a second selected value. 
     At  212 , the computer does not change the individual one of the set of data storage drives into a low power state when the difference value for that data storage drive is more than the first selected value or when the model prediction indicates a predicted utilization value that is equal to or more than the second selected value. 
     In general the improved technique involves an electronic device continuously monitoring each data storage drive&#39;s usage and compiling historical data on drive usage to predict when it is practical to reduce electrical power consumption of data storage drives by automatically placing the low usage drives into a low power consumption mode, such as power off or sleep mode. The system automatically switches the data storage drives into sleep mode while notifying a system manager of the action. 
     The improved techniques reduce the cost of operating data storage drives by reducing electricity consumption without negatively impacting host data storage request response rates. 
     While various embodiments of the invention have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.