As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems often use an array of storage resources, such as a Redundant Array of Independent Disks (RAID), for example, for storing information. Arrays of storage resources typically utilize multiple disks to perform input and output operations and can be structured to provide redundancy which may increase fault tolerance. Other advantages of arrays of storage resources may be increased data integrity, throughput and/or capacity. In operation, one or more storage resources disposed in an array of storage resources may appear to an operating system as a single logical storage unit or “virtual resource.”
Implementations of storage resource arrays can range from a few storage resources disposed in a server chassis, to hundreds of storage resources disposed in one or more separate storage enclosures. As densities of storage resources making up arrays have increased, so has the power required for arrays, as well as the heat generated by arrays. Increases in heat generated by storage resources may require sophisticated cooling systems, which in turn may also increase demand for power.
As a specific example, a user may implement a RAID configuration including one or more servers coupled to a number of storage enclosures containing hundreds of storage resources. In a typical configuration, a RAID may include (a) active storage resources making up one or more virtual resources, (b) one or more active spare storage resources (also known as “hot spares”) and (c) one or more inactive storage resources (also known as “unused spares”). Using conventional approaches, all storage resources may spin up during initialization or powering up of the storage enclosures, and may remain running until the enclosures are powered down. In such a configuration, the storage resources configured as active spares generally may remain idle until a virtual resource suffers a failure of one of its active storage resources, at which time the virtual resource may rebuild itself using an active spare. However, until such failure occurs, the active spare storage resources, as well as the inactive storage resources, remain fully powered up, spinning, consuming power, and generating heat.
Accordingly, a need has arisen for systems and methods that provide power management of storage resources, particularly power management of active spare and inactive storage resources in an array of storage resources.