1. Field of the Invention
The presently claimed invention relates to system power saving techniques. More specifically, the claimed invention relates to managing power consumption in a data storage system.
2. Description of the Related Art
As companies create and utilize more data, the need for cost-effective data storage solutions has increased. Most data centers include massive quantities of rack mount storage systems. Each mounted storage system includes large numbers of storage devices. The storage devices typically include spin-up devices such as hard disk drives.
Hard disk drives may provide fast access to data, but consume more power than other types of storage devices. For data centers having hundreds or thousands of hard disk drive devices, the power consumption is significant. The hard disk drives, consume energy, whether they are being accessed or not. Saving power in nonvolatile storage devices such as spinning disks reduces cost and waste, lengthens device lifespan, and better-protects data. However, infrastructure cost must still be provisioned to handle the full array of hard disk drives when spinning at peak performance.
There is a need in the art for improving power efficiency and endurance of large storage systems which utilize hard disk drives.
The present invention may utilize a maximum power consumption threshold to constrain power consumed by a plurality of devices. A power consumption threshold may be selected for a data storage system having multiple drives. Policies may control operation of storage devices such as hard disk drives to ensure the power consumption threshold is not exceeded. The policies may implement procedures for on-demand or scheduling of hard disk drive operations based on access demand, disk drive power characteristics, scheduling maintenance tasks, managing device power states, and strategically scheduling device operations based on their current state. The policies may be implemented by a data manager application in communication with multiple tiers of a data storage system.
A power consumption threshold is managed by a data management application to keep total power consumption below the threshold. The data management application may implement set policies to manage power consumed by a plurality of devices. The threshold may be selected for a data storage system having multiple drives. The policies may control operation of storage devices such as hard disk drives to ensure the power consumption threshold is not exceeded. The policies may be used to implement procedures for scheduling hard disk drive operations based on disk drive power characteristics, scheduling maintenance tasks, managing device power states, and strategically scheduling device operations based on their current state.
Devices 110-140 may store data in primary storage 150 and MAID storage 170. In embodiments, MAID storage 170 may be directly accessed by devices 110-140, without an intervening HDD device such as HDD storage 150. Data manager 160 may control data stored from hosts 110-140. Data manager may implement policies associated with the data and corresponding host to determine how the data should be stored and subsequently maintained. In an embodiment, application 165 on data manager 160 may apply set policies to manage data stored on primary storage 150 and MAID storage 170. The primary tier of primary HDD storage 150 and secondary tier of MAID storage 170 are intended to be exemplary. The present invention may be used with additional tiers, including tape storage tiers, and with primary, secondary and other tiers having multiple storage device types and systems, including solid state drives and cloud storage systems.
Application 165 may implement one or more policies for conserving power in the data storage system illustrated in
The system of the present invention may mange many features regarding storage device power state. For example, the present technology may manage queuing of requests, controlling power consumed during spin-up, on-demand power-on, spin-up and activation for servicing requests. The system may also handle other power-on responses to requests to comply with the power threshold. For example, storage devices are off until there is activity to turn them on, they may be used, and then return to their natural sleep state. This is opposed to disk devices which are constantly on, unless power is capped, dynamically forcing the least used of these devices to power off second-by-second. The present system of the invention may also schedule time of day changes to power, or time of day scheduling changes to policies which manager device power states.
Storage devices which may make-up MAID and other storage devices may have their power level controlled based on requested or desired activity, hard disk drive power characteristics, and the selected power consumption threshold at step 220. The disk drive activity may be based on history, recent events, expected behaviors, or other activity. Controlling disk drive power level based on disk drive power characteristics and the selected power consumption threshold is discussed in more detail below with respect to the method of
Maintenance tasks may be scheduled based at least in part on the selected power consumption threshold at step 230. In some embodiments, once the power consumption threshold is selected, a portion of the total allowed power consumption may be allocated for maintenance tasks. Maintenance tasks may then be scheduled such that the power consumed for maintenance tasks is within the allocated power consumption. Further, the maintenance task power consumption when combined with current hard disk drive power consumed will not violate the power consumption threshold. Scheduling maintenance tasks is discussed in more detail below with respect to the method of
In should be understood in the art that maintenance tasks may be preempted by other activity, such as data read and write operations, and vice versa—other activities may be preempted by maintenance tasks. The techniques discussed herein are intended to be flexible.
Requests to be serviced are detected by disk drives at step 320. These requests may be for reading data, writing data, or other tasks. A service schedule is generated for the requests based on disk drive power characteristics and the power consumption threshold at step 330. As long as “schedule” is not about the clock, but could be about demand-based queuing.
The servicing schedule is generated such that the requests will be serviced while maintaining a power consumption that satisfies the power consumption threshold based on the power characteristics of the device. For example, if one hundred requests are received in a certain period, and servicing more than fifty requests at a time would drive the power consumption to violate the power consumption threshold, the requests would be scheduled equitably in smaller batches that would not violate the threshold. In some embodiments, the priority of the service requests may be considered or dynamically modified in scheduling service of requests, in addition to other policy considerations.
For example, a policy may indicate that a disk should transition from a power on state to a hibernation state if it is has been idle for more than 20 minutes (or 20 seconds). If a particular drive has been idle for more than 20 minutes (or 20 seconds), then that drive would transition to a lower power state based on disk drive policy at step 420.
If a drive is determined not to transition to a lower power state based on hard disk drive policy, a determination is made as to whether the disk drive should be transitioned to a lower state based on the device's recent activity. If a drive has been active for a considerable period of time, but other drives need to be powered up, the current drive may be transitioned to a lower power state and maintained there for at least a minimum period of time. If the drive is not to be transitioned to a lower state based on recent activity, a determination is made at step 440 if the drive should be transitioned to a lower state based on historic activity patterns at step 440. If there is a history of the drive being active within a certain interval or scheduled period of time, such as for example during morning business hours, that drive may not be transitioned to a lower power state during that time. However if a time period is about to begin where a drive is historically and reliably not used, such as for example during after business hours, the drive may be transitioned to a lower power state at step 440. If at step 440 the hard drive is not transitioned to a lower power state, the drive is not transitioned at step 450. Otherwise, the disk drive is transitioned to a lower power state at step 460.
The components shown in
Mass storage device 630, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 610. Mass storage device 630 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 620.
Portable storage device 640 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disk, to input and output data and code to and from the computer system 600 of
Input devices 660 provide a portion of a user interface. Input devices 660 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 600 as shown in
Display system 670 may include a liquid crystal display (LCD) or other suitable display device. Display system 670 receives textual and graphical information, and processes the information for output to the display device.
Peripherals 680 may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s) 680 may include a modem or a router.
The components contained in the computer system 600 of
The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.