[go: up one dir, main page]

HK1122372B - System, method, and module for reducing power states for storage devices and associated logical volumes - Google Patents

System, method, and module for reducing power states for storage devices and associated logical volumes Download PDF

Info

Publication number
HK1122372B
HK1122372B HK08113804.1A HK08113804A HK1122372B HK 1122372 B HK1122372 B HK 1122372B HK 08113804 A HK08113804 A HK 08113804A HK 1122372 B HK1122372 B HK 1122372B
Authority
HK
Hong Kong
Prior art keywords
request
logical volume
storage device
memory
operating state
Prior art date
Application number
HK08113804.1A
Other languages
Chinese (zh)
Other versions
HK1122372A1 (en
Inventor
D‧A‧里夫斯
E‧恩德洛克
K‧马克思
Original Assignee
戴尔产品有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/620,532 external-priority patent/US7793042B2/en
Application filed by 戴尔产品有限公司 filed Critical 戴尔产品有限公司
Publication of HK1122372A1 publication Critical patent/HK1122372A1/en
Publication of HK1122372B publication Critical patent/HK1122372B/en

Links

Description

System, method and module for reducing power state of storage device and associated logical volume
Technical Field
The present invention relates generally to information handling systems, and more particularly to systems, methods, and modules for reducing power states of storage devices and associated logical volumes.
Background
As the value and utility of information continues to increase, additional methods are sought to process and store information in both the personal and business fields. One option is an information handling system. Information handling systems typically process, assemble, store, and/or communicate information or data for business, personal, or other purposes. Because of the varying needs and desires of technology and information processing for different applications, information handling systems may also vary, with corresponding variations as to what information is handled, how the information is handled, how much information is processed, stored, or communicated, and the speed and efficiency with which the information is processed, stored, or communicated. Variations of information handling systems allow information handling systems to become general purpose information handling systems or to be configured for a particular user or a particular use, such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, an information handling system may include a number of hardware and software components that may be configured to process, store, and communicate information, which may include one or more computer systems, data storage systems, and networking systems.
Various information handling systems may be implemented as servers that may be installed in server racks. A server may provide access and service (serving) of information, applications, and various types of data to multiple clients through a local area network (Intranet), the internet, or a combination thereof. The complexity and density of servers and associated components used in some enterprise data centers impacts the environment and operating conditions of the servers in the data centers. For example, some data centers include various hardware devices, such as servers, server racks, storage devices, and other electronic devices, that consume power and dissipate heat to varying degrees to affect the environmental operating conditions in the data center. In various systems, the continuous operation of external storage devices, such as high capacity disk drives (high volume disk drives), results in a significant amount of energy consumption and dissipation of heat. Such consumption and dissipation can lead to unexpected operating conditions of the systems in the data center.
Disclosure of Invention
The following description is provided in conjunction with the accompanying drawings to assist in understanding the teachings disclosed herein. The following discussion will focus on specific implementations and embodiments of the present teachings. The noted concerns are intended to aid in the description of the present teachings and should not be taken as limiting the scope and applicability of the present teachings. However, other teachings can of course be used in this application. The present teachings can also be used in other applications and have several different types of structures, such as a distributed computer structure, a client/server structure, or a middleware server (middleware server) structure and associated components.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a Personal Digital Assistant (PDA), a consumer electronic device, a network server or storage device, a switch router, a wireless router, or other network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price. An information handling system may include memory, one or more processing resources such as a Central Processing Unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communication ports for communicating with external devices as well as various input and output devices (I/O) such as a keyboard, a mouse, and a display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
According to one aspect of the invention, a method of changing an operating state of a storage device may include detecting a request to access a first logical volume within a time interval. The method may also include determining an association of a storage device with the first logical volume. The method may further include determining whether the storage device is operably associated with a second logical volume and changing an operational state of the storage device in response to the probe request and determining the association with the second logical volume.
According to another aspect of the invention, a processing module may include an interface operable to detect access requests to a logical volume operable to be associated with a plurality of storage devices. The plurality of storage devices are operable to be associated with a plurality of logical volumes. The processing module may also include a controller operable to initiate a change to an operational state of the logical volume and the associated first storage device in response to detecting the request within a time interval.
According to yet another aspect of the present invention, an information handling system may include a memory, a controller operable to change an operating state of a plurality of storage devices; and a logical volume manager operatively coupled to the controller, the logical volume manager further comprising: means for probing I/O requests to access stored information associated with a first logical volume during an access time period, the first logical volume operatively associated with the plurality of storage devices; determining whether a first storage device of the plurality of storage devices is operable with a device associated with a second logical volume and the first logical volume; determining whether an operational state of a second storage device of the plurality of storage devices is operational with a device associated with the second logical volume and the first logical volume; means for determining whether the I/O request can be serviced using memory without changing an operating state of the first storage device; means for servicing the I/O request using the memory if the I/O request can be serviced using the memory; and means for initiating a decrease in the operating state of the plurality of storage devices when no I/O request is detected during the access cycle.
Drawings
It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements. The teachings of the embodiments incorporated herein are illustrated and described by way of example only, with reference to the accompanying drawings, in which:
FIG. 1 shows a block diagram of an information handling system in accordance with an aspect of the present invention;
FIG. 2 illustrates a functional block diagram for changing the operating state of a memory device in accordance with another aspect of the present invention;
FIG. 3 illustrates a flow diagram of a method of providing reduced operating states of a memory device in accordance with an aspect of the present invention;
FIG. 4 illustrates a method flow diagram of a reduced operational state of a memory device in accordance with an aspect of the present invention; and
FIG. 5 illustrates a flow diagram of a method for outputting power to a memory device using operating states, in accordance with an aspect of the present invention.
The use of the same reference symbols in different drawings indicates similar or identical items.
Detailed Description
FIG. 1 shows a block diagram of an exemplary embodiment of an information handling system, generally designated 100. In one form, the information handling system 100 may be a computer system such as a server. As shown in FIG. 1, the information handling system 100 may include a first physical processor 102 coupled to a first host bus 104 (host bus), and may further include an additional processor, generally designated as Nth physical processor 106, coupled to a second host bus 108. The first physical processor 102 may be coupled to a chipset 110 via a first host bus 104. In addition, the Nth physical processor 106 may be coupled to a chipset 110 via a second host bus 108. The chipset 110 may support multiple processors and allow for multiple processor parallel processing (multiprocessing) and may support the exchange of information within the information handling system 100 during multiple processing operations (multiprocessing operations).
According to one aspect, the chipset 110 may be referred to as a memory hub or a memory controller. For example, the chipset 110 may comprise an Accelerated Hub Architecture (AHA) that uses a dedicated bus to transfer data between the first physical processor 102 and the nth physical processor 106. For example, the chipset 110 comprises an AHA enabled chipset (AHA enabled-chipset) having a memory controller hub and an I/O controller hub. As a memory controller hub, the chipset 110 has the functionality to access the first physical processor 102 using the first bus 104 and the Nth physical processor 106 using the second host bus 108. The chipset 110 may also provide a memory interface to access memory 112 using a memory bus 114. In a particular embodiment, the buses 104, 108 and 114 may be separate buses or part of the same bus. The chipset 110 may also provide bus control and handle transfers among the buses 104, 108, and 114.
According to another aspect, the chipset 110 may be generally considered an application specific chipset that may provide connectivity to various buses and integrate other system functions. For example, the equipment may also include two parts, namely graphics and the Intel of the AGP memory controller hub (GMCH) and the I/O controller hub (ICH)A chipset of a hub architecture (IHA) as the chipset 110. For example, Intel corporationAn intel 820E, 815E chipset (located in santa clara, california, usa), or any combination thereof, may be provided as at least part of the chipset 110. The chipset 110 may also be packaged as an Application Specific Integrated Circuit (ASIC).
The information handling system 100 may also include a video graphics interface 122, and the interface 122 may be coupled to the chipset 110 via a third host bus 124. In one form, the video graphics interface 122 may be an Accelerated Graphics Port (AGP) interface to enable content to be displayed in the video display unit 126. Other graphical interfaces may also be used. The video graphics interface 122 may provide a video display output 128 to a video display unit 126. The video display unit 126 may include one or more types of video displays such as Flat Panel Displays (FPDs) or other types of display devices.
The information handling system 100 may also include an I/O interface 130, where the interface 130 may be coupled to the chipset 110 via an I/O bus 120. The I/O interface 130 and I/O bus 120 may comprise an industry standard bus or a proprietary bus (prepracticary bus) and respective interfaces or controllers. For example, the I/O bus 120 may also include a Peripheral Component Interconnect (PCI) bus or a PCI Express bus. In one embodiment, the PCI bus may operate at approximately 66Mhz, and the PCI-Express bus may operate at approximately 128 Mhz. The PCI bus and the PCI-Express bus may be defined to comply with industry standards for connection and communication between various PCI-enabled hardware devices (PCI-enabled devices). Other types of buses may also be provided, either in association or separately, the I/O bus 120 including, but not limited to, devices such as Industry Standard Architecture (ISA), Small Computer Serial Interface (SCSI), Interactive Integrated Circuit (I)2C) An industry standard bus or proprietary bus, a System Packet Interface (SPI), or a Universal Serial Bus (USB).
In an alternate embodiment, the chipset 110 may be a chipset that employs a north bridge/south bridge chipset architecture (not shown). For example, the northbridge portion of the chipset 110 may communicate with the first physical processor 102 and may control interaction with the memory 112, the I/O bus 120, which may operate as a PCI bus, and the functionality of the video graphics interface 122. The north bridge portion may also communicate with the first physical processor 102 using a first bus 104 and a second bus 108 coupled to the nth physical processor 106. The chipset 110 may also include a south bridge portion (not shown) of the chipset 110 and may handle input/output (I/O) functions of the chipset 110. The south bridge portion may manage basic forms of I/O such as Universal Serial Bus (USB), serial I/O, audio output, Integrated Drive Electronics (IDE), and ISA I/O for the information handling system 100.
The information handling system 100 may further include a disk controller 132 coupled to the I/O bus 120 and coupled to one or more internal disk (or optical) drives, such as a Hard Disk Drive (HDD)134 and an Optical Disk Drive (ODD)136, such as a read/write optical disk drive (R/W-CD), a read/write digital video disk (R/W-DVD), a mini read/write digital video disk (R/W mini-DVD), or other optical disk drive types.
The information handling system 100 may also include the I/O interface 130 operably coupled to an external communication bus operable to process I/O requests for one or more storage devices, such as an external storage device, an internal storage device, or any combination thereof. In one form, the I/O interface 130 may be coupled to a storage array (storage devices)140, and the storage array 140 may include a first storage drive 142, a second storage drive 144, through an Nth storage drive 146. In one form, the I/O interface 130 may comprise a logical volume manager module operable to manage access to the first storage drive 142, the second storage drive 144, through to the Nth storage drive 146 as a single logical volume (single logical volume). In this way, the storage array 140 may be provisioned as a single logical volume or as multiple volumes as desired. The external bus 138 may include various types of data buses or links, including, but not limited to, SCSI, Serial attached SCSI (Serial attached SCSI), Advanced Technology Attachment (ATA), Serial Advanced Technology Attachment (SATA), or any combination thereof. Further, the I/O interface 130 may include logic to control the external drive based on I/O requests made to the external drive, which in some instances may be used to reduce the power output of one or more external storage devices. In one form, the external storage drive may comprise one or more magnetic disk drives, hard disk drives, tape drives, optical disk drives, flash drives, holographic drives, or any combination thereof.
In operation, the I/O interface 130 is used to measure the amount of I/O requests (e.g., read/write requests) made to an external drive over a period of time. For example, the I/O interface 130 may initiate a command to change the operating mode or state of one or more storage devices based on the frequency at which I/O requests are made. For example, if an I/O request is not made within a time interval (e.g., 30 seconds, 1 minute, 5 minutes, etc.), the I/O interface 130 may communicate a (command) command to change the operating mode of the memory device. For example, the I/O interface 130 may communicate a spin-down command or place the storage device in a standby mode. According to one aspect, the time interval may be configured or preset to a particular value in other embodiments.
In one embodiment, the storage devices coupled to the I/O interface 130 may be specified as a single volume or as multiple volumes. In this manner, the I/O interface 130 may initiate commands to place each storage device associated with a particular volume in a reduced operational state when not being accessed. In one form, first storage device 142 and second storage device 144 may be viewed as a single logical volume or Virtual Disk (VD) and used to process I/O requests. In one form, a logical volume can include a VD, a combination of VDs, or can be used with various other physical disks associated with a VD. Further, the VD can include one or more logical volumes, as desired. In another form, the logical volume can also be viewed as a VD.
According to one aspect, an I/O request received through the I/O interface 130 may initiate access to information stored only in the first storage device 142 and not in the second storage device 144. In this way, the I/O interface 130 can present (present) the first storage device 142 and the second storage device 144 as part of the logical volume or VD 140, and the I/O interface 130 can manage access to each storage device. In addition, the I/O interface 130 may detect when access to a particular storage device is requested and change the operating state of the storage device as needed. In this manner, a portion of a logical volume or VD can be accessed while other portions of the logical volume are placed in a reduced power state to reduce the overall power consumption of the logical volume or VD for information handling system 100.
In one form, changing the operating state may include providing a reduced power state. For example, the reduced power state may include a state that places the storage device in less power consumption than when operating at full speed (full operation). For example, first storage device 140 may be equipped as an external disk drive that may slow or stop (slowed or stopped) in association with a reduced power state. In addition, logic associated with the external disk drive may remain active (active) to detect input from the I/O interface 130. For example, the external disk drive may include sufficient operable logic to process inputs provided by the I/O interface 130, such as non-media or drive access commands. In this manner, the I/O interface 130 may issue a command to return (return) the external drive to an active operating state to allow access to content stored on the external disk drive to respond to a request being received.
In another form, the information handling system 100 can issue an I/O request to the I/O interface 130, and the I/O interface 130 can request that a storage device be placed in an active operating state to satisfy the I/O request provided by the information handling system 100. According to one aspect, the I/O interface 130 can issue a busy signal or other delay signal to the information handling system 100 until the storage device can service the I/O request.
According to another aspect, the I/O interface 130 may include a memory, cache, buffer, or other memory operable to store information associated with I/O requests. For example, if the information handling system 100 receives a read request for information stored in a particular volume, the I/O interface 130 may access a memory buffer to determine if the I/O request can be satisfied with the content or information stored in the memory buffer. In another embodiment, if the information handling system 100 makes a write request to one or more of the storage devices, the I/O interface 130 may place the information to be written in a memory buffer and may write the contents of the memory to the correct storage drive as needed when the external drive becomes active. In this way, by providing a memory device with adjustable operating states that change over time intervals in accordance with I/O requests of the information handling system, reduced power consumption of one or more memory devices may be provided, reducing the overall amount of power consumed by the memory device, and potentially reducing cooling that may be required.
FIG. 2 shows a functional block diagram of a system for changing an operating state of a storage device, generally depicted as system 200. The system 200 may be employed in whole or in part by the information handling system 100 shown in FIG. 1, or other types of systems that may be used to provide the system 200.
The system 200 may include a host system 202 having a host operating system (O/S)204 and a host application 206. In one form, the host system 202 may comprise the information handling system 100 shown in FIG. 1. The system 200 may also include an I/O interface 208, and the I/O interface 208 may include a Logical Volume Manager (LVM) module 210, a memory 212, and a controller 214. The I/O interface 208 may be coupled to the host system 202 via a host communication link 222 and may be operable to access a logical volume 216 coupled to the I/O interface 208 using a volume communication link 218. In one form, the host communication link 222 or the volume communication link 218, or any combination thereof, may be operable to use ATA, SATA, SCSI, serial-link SCSI, Ethernet, or various other types of communication links or communication media that may be used to access logical volumes, VDs, storage devices, external hard drives, or various other types of devices or virtual devices that may be employed by the system 200.
In one form, the I/O interface 208 is operable to access a first storage device 220, a second storage device 224, and an Nth storage device 226. In one form, the logical volume 216 may be provisioned as a single logical volume or multiple logical volumes. In addition, one or more of the storage devices of the logical volume 216 may be used with additional logical volumes. Further, a logical volume may also be viewed as an operational logical unit, a virtual disk, or various other forms, and thus may be presented as a logical storage resource of an information handling system. For example, the information handling system may treat the logical volume 216 as a single logical volume, and the I/O interface 208 may present the information handling system as such. The LVM module 210 may manage access to specific drives in the logical volume 216. In other forms, however, access may be managed by a controller associated with a single logical volume or storage device.
According to another aspect, the system 200 and the I/O interface 208 can be provided as part of the host system 202. In one form, the system 200 may be a simple hard disk cluster (JBOD) system. In another embodiment, the I/O interface 208 or portions thereof may be provided as part of the logical volume 216 and may also be provided with an associated controller. For example, the logical volume 216 may include a Redundant Array of Inexpensive Disks (RAID) controller for controlling access to each storage device with respect to processing I/O requests. The RAID controller may also include logic to provide the I/O interface 208. In another form, the I/O interface 208 may comprise a SCSI Enclosure Processor (SEP) operable to load (house) one or more storage devices and provide output power, diagnostic support, environmental control, and various other functions for the storage devices. According to one aspect, an SEP may include one or more array elements and associated status circuitry for managing output of visual indicators of operational status with one or more storage devices.
In operation, the system 200 may be used to manage the operational state of the logical volume 216 and associated storage devices. The LVM module 210 can be activated by the host application 206 or the host O/S204 to monitor access to one or more logical volumes accessible by the host system 202. The LVM module 210 may monitor requests made by requestors, such as the host system 202, and during a time period when one or more logical volumes or storage devices are not being accessed, the LVM module 210 may initiate a request to place one or more storage devices or logical volumes in a low operating state to conserve (keep) energy. According to one aspect, the LVM module 210 may spin-down a storage device including a disk drive and place the storage device in a standby operating state or mode based on an amount of frequency with which I/O requests are made. For example, if no I/O requests are made in a time interval, the LVM module 210 may issue a command to change the operating mode. For example, the LVM module 210 may be operated as a SCSI activation module and may issue a "START STOP UNIT" command. The LVM module 210 may further provide a "START" bit associated in the command and set the "START" bit to "0" for each drive in the particular volume that did not receive an I/O request in the time interval. For example, the first storage device 220 and the second storage device 224 may be defined as logical volumes 216. Thus, the "START" bit may be changed to set the first memory device 220 and the second memory device 224 to spin down the memory devices. According to another aspect, the LVM module 210 and the logical volume 216 can be SATA enabled. Thus, ATA "STANDBY IMMEDIATE" commands may be provided by the LVM module 210 to change the operation of one or more storage devices. In one form, the logical volume 216 and associated storage devices may receive a no media access command from the LVM module 210 and may return to an operational state to service I/O requests.
In one form, the I/O interface 208 or associated controller may not include the memory 212. In this way, I/O requests may be made and the LVM module 210 may issue commands to the host O/S204 to indicate that the host O/S204 should wait for a period of time before issuing I/O commands or requests to logical volumes. In another embodiment, the I/O command or request may be provided as a SCSI command that conforms to the SCSI transport protocol. For example, a "START STOP UNIT" command may be provided to initiate access to the logical volume. In one form, the SCSI activation system may include a SCSI transport protocol that may allow for a latency time to be provided as part of the SCSI state in response to allowing the logical volume to be activated or spun up to an operational mode. In one form, a SCSI transfer protocol status such as "BUSY" may be reported, including a "RETRY DELAY" value as part of the "BUSY" status to indicate a length of time to delay previously made concurrent I/O requests to the logical volume.
In one form, the memory 212 of the I/O interface 208 may be used to service I/O requests when the storage device may be in a reduced operating state. For example, the LVM module 210 may access the memory 212 upon a read I/O request and determine whether the memory 212 stores the requested information. If the information is stored in the memory 212, the LVM module 210 may obtain the requested information, thus placing the memory device in a reduced operating state. In another form, the LVM module 210 may receive a write I/O request for a particular storage device or logical volume, which may be placed in a reduced operating state. In this manner, the memory 212 may store the information to be written to the logical volume or the particular storage device, and when the logical volume or storage device becomes active (e.g., placed in an active operating state or mode), the contents stored in the memory 212 may be written to the appropriate volume or storage device as needed.
In one form, policy or other management logic may be issued to one or more of the I/O interfaces 208 or the logical volume 216. For example, a policy may be used to set an access period that changes the operational state of the logical volume 216 and associated storage devices. The policy may be provided by a system administrator who may modify operating parameters or values used by several information handling systems. In one form, a policy may include parameters or values for changing an I/O request interval or volume demand that may be required prior to placing a storage device or logical volume in a reduced operating state. In other forms, the policy may include a latency value specified to respond to I/O requests made for the logical volume or storage device placed in a reduced operational state to allow one or more storage devices to return to the operational state. In this manner, the requesting system may wait for a period of time before issuing another I/O request. Various other values or attributes (attributes) may be specified by the policy and used by the system 200.
FIG. 3 shows a flow diagram of a method for providing reduced operating states for a memory device. The information handling system 100 shown in FIG. 1, the system 200 shown in FIG. 2, or any other various types of systems, controllers, devices, modules, or any combination thereof that may employ, in whole or in part, the method of FIG. 3. Furthermore, the method may be embodied in various types of encoded logic comprising software, firmware, hardware, or other forms of digital storage media, computer readable media, or logic, or any combination thereof, operable to provide all or part of the method of FIG. 3.
The method begins at block 300, generally when a drop in access to a memory device is detected. For example, one or more storage devices, such as physical disk drives, or other storage devices, operable to store various types of information may be monitored to detect changes in access to data stored in the storage device. In one form, the LVM can be used to provide access to a VD that includes one or more storage devices. The VD can include a single logical volume that stores information using multiple storage devices and can appear as a single logical volume. In another embodiment, multiple logical volumes or VDs associated with multiple storage devices may be provided that are accessible using the LVM. Various other storage devices, VDs, logical volumes, associated LVMs, or any combination thereof may be used as desired.
According to one aspect, a drop in access may be detected in a period of time that elapses for accessing one or more physical disk drives, logical volumes, VDs, or any combination thereof. For example, I/O requests, such as read or write requests, may be monitored over a period of time. Thus, it may be beneficial to change the operating state of a physical disk drive, logical volume, VD, or any combination thereof. When a drop in access is detected (e.g., no I/O request is detected for one minute, three minutes, ten minutes, etc.), the method proceeds to block 302 and initiates a mode of operation of the storage device, such as a power saving mode. For example, the power saving mode may include disabling all or a portion of the storage device. In one embodiment, a portion of a storage device may include a "spin-down" disk drive, reduce power to the storage device, limit access to the storage device, or various other forms of power-saving modes of operation that may be provided. In one form, the LVM can initiate a power saving mode to change the operating mode of a particular VD and one or more storage devices.
The method can continue to block 304 and a power save command can be communicated to place a particular logical volume or VD in a power save mode of operation. For example, a "STARTSTOPUNIT" command is communicated by the LVM to initiate a power saving operating state for a particular logical UNIT or VD. At block 306, a power save command for a logical volume or VD can be received and processed to determine whether the operating conditions of the associated physical storage device can be modified. At block 308, the method can determine whether the physical storage device associated with the VD or logical volume belongs to another logical volume or VD. For example, a physical storage device can be associated with multiple VDs or logical volumes and respond to I/O requests from each logical volume or VD. Thus, if the physical storage device is associated with more than one VD or logical volume, the method can proceed to block 312 and determine whether any other VDs or logical volumes associated with the physical storage device are in a power-saving mode of operation. For example, multiple logical volumes or VDs may use physical storage devices. Thus, at block 312 the method can determine whether all other VDs are in a power saving mode. For example, a RAID controller may include a data structure that maintains each logical volume or VD in a state in which it is located. If all other VDs or logical volumes are in a power saving mode, the method proceeds to block 314.
In one embodiment, if at decision block 308, the physical storage device does not belong to more than one logical volume or VD, the method can proceed to block 314 and issue a power save command to the physical storage device. For example, the physical storage device may be operatively coupled to a physical storage device controller, such as a RAID controller, and may be operative to control the operational state of one or more associated physical storage devices. In this way, the RAID controller may issue a "START STOP UNIT" command to the physical storage device to place the physical storage device in a reduced power operating state. In the event that a power save command is sent, the method may proceed to block 316 and update the operating state of the physical storage devices, logical volumes, VDs, or any combination thereof. For example, the logical volume may be operatively associated with a system employing a SCSI enclosure processor. In this way, an update command, such as "SEND DIAGNOSTIC," may be sent to the SCSI enclosure processor to indicate that the physical storage device located in a particular slot or location of the SCSI enclosure may be placed in a power-saving mode of operation.
The method may then proceed to decision block 318 and determine whether each physical storage device associated with the logical volume has been checked or verified. If each physical storage device has been checked or verified, the method proceeds to block 320 and the state of the logical volume or VD is updated in the physical storage device controller. For example, the state in the RAID controller may be updated to indicate that the logical volume and associated physical storage devices are in a power-saving mode. The method may then proceed to block 322 and end. If at decision block 318 all of the physical storage devices have not been verified, the method proceeds to decision block 308.
FIG. 4 illustrates a method flow diagram of reduced operating conditions of a memory device in accordance with an aspect of the present invention. The information handling system 100 shown in FIG. 1, the system 200 shown in FIG. 2, or other various types of information handling systems that may employ, in whole or in part, the method of FIG. 4. Furthermore, the method may be embodied in various types of encoded logic, including software, firmware, hardware, or other forms of digital storage media, computer readable media, or logic, or any combination thereof, that may provide all or part of the method of FIG. 4.
The method generally begins at block 400 when an I/O request is detected for a particular logical volume or VD. For example, a physical storage controller, such as a RAID controller, receives I/O requests to access logical volumes or VDs in a reduced mode of operation. For example, an I/O request can include a request to read or write information from or to a particular logical volume or VD. At block 402, a controller of the logical volume or VD that is in a power saving mode can receive the request, and at block 404, a controller associated with the logical volume or VD can determine whether the power mode of the associated physical storage device can be unchanged to satisfy the I/O request. For example, if the controller has access to associated storage, buffers, caches, or other storage, such as a RAID controller cache, and is thus operable to store information for a logical volume or VD. The method then proceeds to decision block 406 and determines whether memory can be used to satisfy the I/O request. For example, the I/O requests include receivable "read" requests, and the content to be read from the location of the logical volume or VD may be present in memory or cache. In this way, the memory may be accessed to determine whether the read request can be satisfied. In another embodiment, the I/O request may comprise a "write" request, and the associated memory may be used to store information associated with the I/O request. For example, a memory or cache associated with the logical volume may be used to store information until the logical volume becomes valid. In this way, the contents of the read I/O request may be buffered or stored in memory or cache until the physical storage device becomes active or in an active power state.
If at decision block 406, the I/O request can be satisfied without changing the operating conditions of the physical storage device, the method proceeds to block 422 and the I/O request is processed using the memory. The method then proceeds to block 424 and ends. If at decision block 406, the I/O request cannot be satisfied using the associated memory, the method continues to block 408 where the controller of the logical volume or VD can return to a busy state for the I/O request. For example, a busy state may be used to indicate to the requestor that the logical volume is not currently available to process the I/O request. In one form, blocks 408 and 410 may be provided in the same block. For example, a SCSI transfer protocol status such as "BUSY" status may be reported, including a "RETRYDELAY" value as part of the "BUSY" status to indicate the length of time to stall before concurrent I/O requests to the logical volume are made.
The method then proceeds to block 410 where a delay time for retrying the request is set if supported by the requestor. For example, a delay value sufficient to change the mode of operation of the logical volume or VD to be accessed can be set. In one embodiment, a system including an operative SCSI transport supporting the "RETRYDELAY TIMER" field may employ this method. Thus, the RAID controller for the logical volume or VD may set the "RETRY DELAY TIMER" value for the logical volume or VD to a value sufficient to change the logical volume or VD and associated physical storage devices to an operational, active mode of operation that handles I/O requests. The method then proceeds to block 412 where the RAID controller may issue a diagnostic command and update the slot status of the storage physical storage device. For example, a "DEVICE OFF" bit may be defined in the array, and the array DEVICE element-2 command set criteria for SCSI Enclosure SERVICEs (SES) may be changed for the slot or location of the physical storage DEVICE. For example, the "DEVICE OFF" bit may be defined in the array and the array DEVICE elements of the SCSI Enclosure Services (SES). In one form, the "DEVICE OFF" bit may be changed to allow I/O requests to be sent to the slot that hosts the storage DEVICE. A controller associated with the physical storage device may send a diagnostic command and update the status of the physical storage device. For example, a RAID controller associated with the physical storage device may SEND a DIAGNOSTIC command, such as a SEND DIAGNOSTIC command that includes setting the SCSI enclosure processor's "DEVICEOFF" bit to "0". In this way, the SCSI enclosure processor may be updated to allow use of physical drives in a particular location or slot of the SCSI enclosure.
The method then proceeds to block 416 and issues an activate command to the physical storage device to change the mode of operation from the power-saving mode of operation to the active mode of operation. For example, a RAID controller associated with the physical storage controller may issue a "START STOP UNIT" command to provide an active power state. The method then proceeds to decision block 418, where if all of the physical storage devices associated with the logical volume or VD that processed the I/O request are not in an active mode of operation, the method proceeds to block 412 and continues to update the remaining physical storage devices.
In one embodiment, if at decision block 418 all associated physical storage devices are in an active operational state, the method proceeds to block 420 and updates the reference to the logical volume or VD in the controller to indicate that the logical volume or VD is valid. The method then proceeds to block 424 and ends.
FIG. 5 illustrates a flow chart of a method of outputting power to a memory device using an operating state in accordance with an aspect of the present invention. The information handling system 100 shown in FIG. 1, the system 200 shown in FIG. 2, or various other types of information handling systems that are all or in part operable to employ the method of FIG. 5 may all or in part employ the method of FIG. 5. Furthermore, the method may be embodied in various types of encoded logic comprising software, firmware, hardware, or other forms of digital storage media, computer readable media, or logic, or any combination thereof, that is capable of providing all or part of the method of FIG. 5.
The method begins at block 500, generally when a processor operable to vary the power output of one or more physical memory devices receives a diagnostic command associated with the physical memory devices. For example, one or more physical storage devices may be operatively associated with a SCSI enclosure processing module or SES module that is operative to process commands and vary power output to one or more associated storage devices. In one form, a "SEND DIAGNOTIC" command may be received and may include one or more bits to provide status information for one or more physical storage devices coupled to the SCSI enclosure. At decision block 502, the method may determine whether one or more bits or other representations associated with updating the state of the physical storage device are provided. For example, the operating state of the physical storage drives may be updated by making changes to bits, such as the "DEVICE OFF" bit in a diagnostic command providing the state of the array DEVICE elements operable to present the slot to which the physical storage DEVICE is coupled.
If no changes are made to the bits, the method proceeds to block 500 and repeats as necessary. If a change has been made to the bit, the method proceeds to block 504 and an indication device (e.g., an LED) in the physical drive disk enclosure in the power-saving mode may be updated to indicate that one or more physical storage devices are in a reduced power operating state. The method then proceeds to block 506 and determines how many bits have changed in the command. For example, the diagnostic command may include status information of a plurality of physical storage devices. Thus, at block 506, the method determines whether a plurality of bits have changed and proceeds to decision block 508 and determines whether the bit transitions are equal. For example, if the number of physical storage devices that have changed from a reduced power state is equal to the number of physical storage devices that have changed from an operating state to a reduced power state, the number of transitions is equal. Thus, without changing additional changes to the output power, the method proceeds to block 514 and ends.
In one embodiment, if at decision block 508, the number of transitions of the bit is not equal, the method proceeds to decision block 510 and determines whether the number of high-to-low (high-to-low) transitions is greater than the number of low-to-high (low-to-high) transitions. For example, if there are a large number of transitions from "0" to "1" (zero-to-one), the method proceeds to block 516 and provides a reduced power output. For example, the output may be reduced by a factor of the difference in the number of transitions from "0" to "1" (e.g., by a factor of 2, 3, 4, etc., times the power used by the drive). The method then proceeds to block 514 and ends. If at decision block 510, the number of transitions from "0" to "1" is not greater than the number of transitions from "1" to "0", the method continues to block 512 where the power supply associated with the physical drive may be increased to accommodate the difference in transitions. In this way, there may be sufficient power to activate one or more physical storage devices provided in the disk drive cabinet. The method then proceeds to block 514 and ends.
Although only a few exemplary embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of the above-described exemplary embodiments of the present invention. Accordingly, all such modifications are intended to be included within the scope of the embodiments of the present invention as defined in the claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures.

Claims (6)

1. A method of changing an operating state of a memory device, comprising:
detecting a request to access a first logical volume within a time interval;
determining an association of a storage device with the first logical volume;
determining whether the storage device is operably associated with the second logical volume when no I/O request is detected within a time interval;
changing an operational state of the storage device in response to detecting the request and determining an association with the second logical volume;
determining whether the request can be serviced without changing an operational state of the storage device;
servicing the request if the request can be serviced without changing the operating state of the storage device in response to determining whether the request can be serviced, the servicing step further comprising;
accessing a memory of an I/O interface, the memory of the I/O interface associated with determining whether the request can be serviced; and
the request is serviced using the memory of the I/O interface.
2. The method of claim 1, further comprising:
determining that the storage device is not associated with the second logical volume; and
the operating state of the storage device is changed in response to not receiving a request to access the first logical volume within a time interval.
3. The method of claim 2, further comprising:
detecting the request while the memory device is in a reduced power operating state; and
changing the reduced power operating state of the storage device to service the request.
4. The method of claim 1, further comprising:
communicating a delay time value to a requestor associated with the operational state; and is
A second request from the requestor is received after a time period approximately equal to the delay time value.
5. An information processing system that changes an operating state of a storage device, comprising:
means for probing I/O requests to access stored information associated with a first logical volume during an access time period, the first logical volume operatively associated with a plurality of storage devices;
determining whether a first storage device of the plurality of storage devices is operable with a device associated with a second logical volume and the first logical volume when no I/O request is detected within a time interval;
determining whether a second storage device of the plurality of storage devices is operable with a device associated with the second logical volume and the first logical volume when no I/O request is detected within a time interval;
means for determining whether the I/O request can be serviced using information stored in the memory without changing an operating state of the first storage device;
means for servicing the I/O request by using the information stored in the memory if the I/O request can be serviced using the information stored in the memory; and
means for initiating a change of the operating state of the plurality of storage devices to a reduced operating state when no I/O request is detected during the access cycle.
6. The information handling system of claim 5, further comprising:
means for receiving an input identifying an operating state of each of the plurality of storage devices; and
means for outputting power to the plurality of storage devices in response to identifying the operating state of each of the plurality of storage devices.
HK08113804.1A 2007-01-05 2008-12-19 System, method, and module for reducing power states for storage devices and associated logical volumes HK1122372B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/620,532 2007-01-05
US11/620,532 US7793042B2 (en) 2007-01-05 2007-01-05 System, method, and module for reducing power states for storage devices and associated logical volumes

Publications (2)

Publication Number Publication Date
HK1122372A1 HK1122372A1 (en) 2009-05-15
HK1122372B true HK1122372B (en) 2013-07-26

Family

ID=

Similar Documents

Publication Publication Date Title
US7793042B2 (en) System, method, and module for reducing power states for storage devices and associated logical volumes
EP1605455B1 (en) RAID with high power and low power disk drives
EP1605361B1 (en) Cache hierarchy
EP2016476B1 (en) Adaptive storage system including hard disk drive with flash interface
EP2049968B1 (en) Adaptive storage system including hard disk drive with flash interface
US7174471B2 (en) System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached
US7743269B2 (en) System and method of managing power consumption of communication interfaces and attached devices
HK1122372B (en) System, method, and module for reducing power states for storage devices and associated logical volumes
KR101438461B1 (en) Cloud stroage system having electric power control switching module