The present application claims priority under 35 U.S.C. 119(b) to Indian Patent Application Serial No. 530/KOL/2013, entitled SYSTEM AND METHOD FOR POWER MANAGEMENT IN A MULTIPLE-INITIATOR STORAGE SYSTEM, By Naresh Madhusudana et al., filed May 9, 2013, which is currently co-pending, or is an application of which a currently co-pending application is entitled to the benefit of the filing date.
The disclosure relates to the field of power management for multiple-initiator storage systems.
Data storage systems often include a plurality of enclosures, each containing or supporting a plurality of storage devices, such as hard disk drives (HDDs). In a simple storage system, there is typically one initiator (e.g. server or host computing system) and several enclosures. In some more complex systems, multiple initiators are connected to the same set of enclosures with shared access to the respective storage devices of each enclosure. Power management is one of the technical challenges in the implementation of large scale storage topologies, which often include a very large number of initiators and enclosures. According to the current state of the art, storage devices in multiple-initiator storage systems are typically maintained in a high activity state (e.g. HDDs keep spinning) to avoid performance issues.
Various embodiments of the disclosure are directed to a system and method for managing a plurality of storage devices in a multiple-initiator data storage system to reduce overall power consumption. In an embodiment, one or more enclosures are configured to contain or support a plurality of storage devices which are accessible by a plurality of initiators. Each enclosure includes or is coupled to a power management controller in communication with the respective plurality of storage devices of the enclosure. The power management controller is configured to monitor data transfer requests (i.e. access by one or more of the initiators) occurring across the plurality of storage devices. The power management controller is further configured to switch one or more storage devices of the plurality of storage devices from a first activity state to a second (lower) activity state when the one or more storage devices receive less than a selected number of data transfer requests over a specified time interval. In some embodiments, power management is disabled or overridden for one or more storage devices according to a user specification or administrative command, the occurrence of a specified event, or in response to a request received from at least one initiator registered with the respective enclosure containing or supporting the one or more storage devices.
It is to be understood that both the foregoing general description and the following detailed description are not necessarily restrictive of the disclosure. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the disclosure.
The embodiments of the disclosure may be better understood by those skilled in the art by reference to the accompanying figures in which:
Reference will now be made in detail to the embodiments disclosed, which are illustrated in the accompanying drawings.
In a single-initiator storage system, the power management is done by the initiator, such as per T10 power management techniques. For example, particular storage devices are switched to a lower activity state (e.g. spun down or put in a low power mode) when there are reduced or no data transfers (IO activity) from the initiator. Doing so saves considerable amount of power and thus reduces the maintenance cost of the server.
In a multiple-initiator storage system, however, the initiators are often configured to operate independently of one another. As a result, each initiator lacks information regarding IO activity between the other initiators and shared storage devices. Power management typically needs to be disabled for all storage devices to make sure that certain storage devices are not put in a low activity state when there is reduced or no IO activity from just one of the initiators. Another situation can result when the initiators are powered down, such as when the server system goes to into sleep mode or hibernates. The initiators are often unable to send power management (e.g. spin down or power down) commands to every storage device. As a result, at least some of the storage devices may remain in a high activity state even though the overall system is inactive.
As the foregoing examples illustrate, storage devices in multiple-initiator storage systems are typically kept in a high activity state, thereby resulting in increased power consumption. The following embodiments are directed to a system and method of controlling the activity state, and hence power consumption, of a plurality of storage devices according to IO activity of each storage device. Accordingly, power management is provided for storage devices accessible by a plurality of initiators operating independent of one another.
As shown in
The power management controller 204 is configured to manage activity states, and hence power consumption, of the respective storage devices 202 of each enclosure 200 based upon data transfers (IO activity) going to or from each of the storage devices 202. When power management control is enabled, the power management controller 204 is configured to switch storage devices 202 receiving less than a selected number of data transfer requests over a specified time interval from a first (higher power consumption or operating) activity state to a second (lower power consumption) activity state. In some embodiments, the power management controller 204 is configured to spin down the idle storage devices 202 or put them into a low power, sleep, or standby mode. As such, the storage devices 202 are manageable at the enclosure level independent of initiator status.
In some embodiments, however, selected storage devices 202 are further managed according to commands, requests, or status associated with at least one of the initiators 102. According to such embodiments, each enclosure 200 further includes an override controller 212 configured to provide certain access controls to an initiator 102 registered with the enclosure 200. In some embodiments, the override controller 212 is configured to enable a registered initiator 102 to enable/disable power management for one or more selected (or registered) storage devices 202. In some embodiments, the override controller 212 is further configured to control selected storage devices to a user selected or predetermined activity state (e.g. storage devices are kept spinning or in a selected operating mode) when power management control is disabled according to a registered initiator 102 or an administrative command.
In some embodiments, the override controller 212 in each enclosure 200 is configured to enable the initiators 102 to register themselves with the enclosure 200 at power up of the initiator 102 or at power up of the enclosure 200. In some embodiments, each enclosure 200 is further configured to have power management control enabled for all storage devices 202 at startup. According to an administrative command or a request from a registered initiator 102, power management control is then selectively disabled for storage devices 202 which should not be spun down or switched to a low power mode regardless of the respective IO activity. In some embodiments, for example, power management control is disabled for storage devices storing an operating system (OS).
In some embodiments, the override controller 212 includes at least one of a dedicated microcontroller, ASIC, or electronic circuit. In some embodiments, the override controller 212 includes a software module executable by at least one processor from at least one carrier or storage medium. In some embodiments, the power management controller 204 and/or the override controller 212 are integrated with the enclosure 200, such as via a vendor specific SCSI enclosure services (SES) page or a special capability accessible by the initiators 102 utilizing vendor specific symmetrical multi-processing (SMP).
In some embodiments, an entry is made whenever an initiator 102 is registered, such as one bit entry per data link or phy of each storage device 202 registered with the initiator 102. This entry specifies whether power management control is enabled or disabled for each of the registered storage devices 202. In some embodiments, the initiator 102 is configured to make the entries via a vendor specific SES page write command or a vendor specific SMP command. In some embodiments, the entries are automatically removed when an initiator 102 is unregistered or powered down. Accordingly, power management control is automatically re-enabled for storage devices 202 that may have been disabled by the initiator 102.
In some embodiments, the power management control is enabled for all storage devices 202 of an enclosure 200 so long as no initiators 102 are registered with the enclosure 200. Accordingly, the power management controller 204 is configured to spin down or switch one or more storage devices 202 to a lower activity state when the one or more storage devices 202 are idle (i.e. receiving no data transfers) for a specified period of time. If one or more initiators 102 are registered with the enclosure, then power management control may be disabled for a selected storage device 202 according to commands received from the one or more initiators 102. Power management is re-enabled for the selected storage device 202 when the initiators 102 are all un-registered, disconnected, or shutdown. In some embodiments, power management is re-enabled for the selected storage device 202 when commands to re-enable power management are received from all registered initiators 102 that previously requested to disable power management via the override controller 212.
At step 306, the power management controller 204 determines whether power management is enabled for each storage device 202. At step 308, for those storage devices with enabled power management control, the power management controller 204 is configured to monitor IO activity. Storage devices with receiving less than a selected number of data transfer requests or having no IO activity at all for a specified time interval are switched to a lower activity state.
At steps 310 and 312, the power management controller 204 continues to manage the storage devices 202 except for storage devices 202 that have power management control disabled as a result of override control according to a registered initiator or administrative command or as a result of a specified event, such as a system error or failure of another storage device 202.
At steps 406 and 408, the initiator 102 is enabled to disable power management control via the override controller 212 for selected storage devices 406 which are (directly or indirectly) registered with the initiator 102. At steps 410 and 412, power management control is re-enabled for the selected storage devices 202 upon powering down or unregistering the initiator 102 and all other initiators 102 that are overriding power management control for the selected storage devices 202.
At step 504, resources are allocated between the initiator 102 (via the override controller 212) and the enclosure 200 (via the power management controller 204) to enable management of the respective storage devices 202 of the enclosure 200. At step 506, the initiator 102 can override control, and hence disable power management, for selected storage devices 202. The initiator 102 is further enabled to return power management control for selected storage devices 202 via an enabling command or by unregistering itself from the enclosure 200.
At steps 508, 510, and 512, the selected storage devices 202 continue to operate under power management control or override control according at least one of a command, request, or status associated with the registered initiator 102. At steps 514 and 516, power management control is enabled for the selected storage devices 202 when the registered initiator or plurality of registered initiators that were overriding the storage devices 202 become unregistered or are powered down.
At step 604, the power management controller 604 is configured to monitor links or phys of the storage devices 202 for reduced or no IO activity (i.e. idle links). At steps 606 and 608, the power management controller 604 is configured to start a timer 206 when a storage device 202 having an idle link is detected. The timer 206 is set to run for a specified period of time, during which the activity monitor 208 continues to check for IO activity (i.e. data transfers) going to or from the storage device 202.
At steps 610 and 612, the storage device 202 is switched to a lower activity state (i.e. spun down or put in a low power mode) if the activity monitor 208 does not detect IO activity before the timer expires. In some embodiments, however, the storage device 202 will remain in an operating or high activity state if power management is disabled while the timer is running. At step 614, the storage device 202 may be switched back from a low activity state to an operating or high activity state when IO activity is detected between the storage device 202 and an initiator 102 or as a result of power management being disabled or overridden.
It should be recognized that the various functions or steps described throughout the present disclosure may be carried out by any combination of hardware, software, or firmware. In some embodiments, various steps or functions are carried out by one or more of the following: electronic circuits, logic gates, field programmable gate arrays, multiplexers, or computing systems. A computing system may include, but is not limited to, a personal computing system, mainframe computing system, workstation, image computer, parallel processor, or any other device known in the art. In general, the term “computing system” is broadly defined to encompass any device having one or more processors, which execute instructions from a memory medium.
Program instructions implementing methods, such as those manifested by embodiments described herein, may be transmitted over or stored on carrier medium. The carrier medium may be a transmission medium, such as, but not limited to, a wire, cable, or wireless transmission link. The carrier medium may also include a storage medium such as, but not limited to, a read-only memory, a random access memory, a magnetic or optical disk, or a magnetic tape.
It is further contemplated that any embodiment of the disclosure manifested above as a system or method may include at least a portion of any other embodiment described herein. Those having skill in the art will appreciate that there are various embodiments by which systems and methods described herein can be effected, and that the implementation will vary with the context in which an embodiment of the disclosure deployed.
Furthermore, it is to be understood that the invention is defined by the appended claims. Although embodiments of this invention have been illustrated, it is apparent that various modifications may be made by those skilled in the art without departing from the scope and spirit of the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
530KOL2013 | May 2013 | IN | national |