[go: up one dir, main page]

WO2017188981A1 - Power usage modes of drives - Google Patents

Power usage modes of drives Download PDF

Info

Publication number
WO2017188981A1
WO2017188981A1 PCT/US2016/030059 US2016030059W WO2017188981A1 WO 2017188981 A1 WO2017188981 A1 WO 2017188981A1 US 2016030059 W US2016030059 W US 2016030059W WO 2017188981 A1 WO2017188981 A1 WO 2017188981A1
Authority
WO
WIPO (PCT)
Prior art keywords
power usage
storage
drives
power
solid state
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US2016/030059
Other languages
French (fr)
Inventor
Siamak Nazari
William Joshua Price
Danyaal Masood KHAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Priority to PCT/US2016/030059 priority Critical patent/WO2017188981A1/en
Publication of WO2017188981A1 publication Critical patent/WO2017188981A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Storage media can be used to store data.
  • Storage media can include hard drives, tape drives, Solid State Drives (SSDs), etc.
  • SSDs are non-volatile data storage devices that are used for persistent data storage, but unlike hard disks drives, contain no moving parts. Some SSD drives use flash memory, which can retain data without being powered.
  • FIG. 1 is a block diagram of a storage system including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example;
  • FIG. 2 is a block diagram of a storage system including a device including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example;
  • FIG. 3 is a flowchart of a method for setting power modes of solid state drives, according to an example; and [0006]
  • FIG. 4 is a block diagram of a computing device capable of changing power states of storage drives based on a power budget of an enclosure and capabilities of the drives, according to an example.
  • Storage is used to keep information.
  • Data storage can be used for various purposes, for example, personal everyday use, backup uses, business purposes for running or operating servers, backup business purposes, etc.
  • a storage enclosure can be used to house multiple storage drives.
  • the storage enclosure can be powered.
  • a power supply or multiple power supplies can be used.
  • the storage enclosure may have a power budget (e.g., the maximum amount of power that can be used).
  • the storage drives will use less than the maximum amount of power in the power budget (e.g., because the storage drives are incapable of using that much power).
  • storage drives may have the capability, if used at maximum power, to use more power than the power budget allows for.
  • SSDs can include multiple power modes. The higher power modes can correspond to higher write performance.
  • approaches described herein can be used to manage write performance of storage (e.g., a storage array) in an enclosure while taking into account the power budget for the enclosure that the storage drives are housed in.
  • a log page, mode page, application programming interface (API), or other similar mechanism can be used to change the power mode of the storage drives.
  • API application programming interface
  • a mechanism of communication can be used to provide setting information from the drives to the enclosure and/or power/storage controllers.
  • an administrator or service can be used to provide setting information about the drives, arrays of drives, etc.
  • the storage drives can be set to an initial power mode based on a comparison of power consumption of various modes and the power budget.
  • the power mode effective at a particular time for each storage drive can be controlled, for example, based on a write queue and/or write latency.
  • the write queue or write latency can be for the individual storage drives and/or for an array of drives as a whole. For example, if the write queue and/or write latency exceeds a pre-determined level, the power mode for an associated storage drive or set of drives can be promoted to a higher power usage and write performance. Further, in other examples, the power mode for another storage drive or set of drives can be demoted to a lower power usage and write performance to stay within the power budget.
  • a storage controller can be used to track the write queue and/or write latency.
  • the storage controller can also be used to read and/or write to the storage drives.
  • the storage controller may implement various approaches to communicate with storage drives, such as a Small Computer System Interface (SCSI), for example, by using one or more SCSI block commands.
  • SCSI Small Computer System Interface
  • a write queue can include a quantification of writes to a drive and/or array of drives.
  • a write latency can refer to an amount of time associated with writing (e.g., an amount of time between when a write request is received and when the request is performed at a drive or array).
  • FIG. 1 is a block diagram of a storage system including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example.
  • FIG. 2 is a block diagram of a storage system including a device including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example.
  • the storage systems 100, 200 shown in Figs. 1 and 2 are only examples of a storage system.
  • the storage system 100 may include various additional storage devices (including SSDs and/or other storage drives) and networks, which may be interconnected in any suitable fashion, depending on the design considerations of a particular implementation. For example, a large storage system may include more client computers and storage devices than shown in this illustration.
  • storage system 100 can include a power controller engine 1 12 communicatively coupled to a storage enclosure 130.
  • the storage enclosure 130 can include a number of storage drives 144a - 144n that can each have power usage modes 146.
  • the storage drives 144 can consume power from the storage enclosure 130, which may be associated with a power budget 142.
  • the power controller engine 1 12 can be in the storage enclosure 130.
  • the power controller engine 1 12 can be external to the storage enclosure 130 and communicatively coupled.
  • the power controller engine 1 12 can be part of a device that may also control storage capabilities of the storage drives 144a - 144n.
  • storage system 200 can include a device 210 including a power controller engine 212 and storage controller engine 214 that is communicatively coupled to one or more of the storage drives 244a - 244n in a storage enclosure 230.
  • the respective storage drives 244 can include a number of sectors that can be written to and read from using storage controller engine 214.
  • the storage enclosure 230 may include a thermal sensor 260 that is capable of measuring temperature in the storage enclosure 230 to take into account heat when making power consumption and/or performance decisions. Though not shown, similar thermal sensing capabilities may be part of one or more of the storage drives 244 and communicated to the storage enclosure 230 and/or power controller engine 212 via an interface.
  • the storage enclosure 130, 230 can be powered.
  • the power can come from one or more power supplies.
  • the power supplies may have limits and, as such, the storage enclosure 130, 230 may be associated with a power budget 142, 242.
  • the power budget 142, 242 can represent an amount of power that can be allocated for use. In some examples, the allocation can be among the storage drives 144, 244 within a respective storage enclosure 130, 230.
  • the power budget 142, 242 may represent a maximum amount of power that can be used for the storage drives 144, 244.
  • the storage drives 144, 244 may include various types of persistent storage, including SSDs.
  • the SSDs are flash drives.
  • the SSDs may also use other types of persistent memory, including resistive memory, for example.
  • the storage drives 144, 244 can be associated with respective power usage modes 146, 246.
  • each of the power usage modes 246 can correspond to a power usage value 148, 248.
  • the power usage modes 246 can correspond with write performance for the drives.
  • the write performance can be tied to, for example, a number of data channels available to write to storage units. In other examples, the write performance can be tied to other capabilities (e.g., bandwidth available, clock speed, etc.).
  • power usage value 148, 248 is a representation of power usage of a storage drive 144, 244.
  • representations may include a peak power rating, a root mean square power rating, or other representation (e.g., a representation based on testing or analysis).
  • power usage modes 146, 246 are power usage states of the storage drives 144, 244, where the storage drive 144, 244 is able to write data while the mode is active.
  • Each power usage mode 146 corresponds to a power usage value 148, 248.
  • each power usage mode 146, 246 is associated with a write performance.
  • the write performance for each power usage mode 146, 246 can align with the corresponding power usage value 148, 248. For example, a greater power usage value 148, 248 can be aligned to a better write performance. Similarly, a lower power usage value 148, 248 can be aligned with less write performance. This aligns with less resources/capabilities being available with lower power usage modes 146, 246.
  • the power usage modes 146, 246 can have at least two non-zero power usage values 148, 248.
  • the power controller engine 1 12, 212 can set an effective power usage mode 146, 246 for one or more of the storage drives 144, 244 in the respective enclosures 130, 230.
  • the effective power usage mode can be based on the power budget 142, 242 for the respective enclosures 130, 230 and the power usage values 148, 248.
  • an effective power usage mode is the power usage mode 146, 246 that is active for a particular storage drive 144, 244 at a given time.
  • the effective power usage mode can be associated with one or more power usage value (e.g., a root mean square rating, a peak power usage rating, combinations thereof, etc.) and a write performance.
  • the power controller engine 212 can set the effective power usage mode 246 of each of the storage drives 244a - 244n to a greatest power usage value for the respective drives based on the determination.
  • the power controller engine 212 can set the effective power usage mode for one of the storage drives 244a - 244n to one of the power usage modes 246 with a corresponding power usage value 248 below the greatest power usage value for the storage drive.
  • Power modes of additional storage drives 244 can also be changed in a similar manner.
  • a predetermined default priority can be set to choose which storage drive(s) is selected to be changed.
  • the priority can be customized or be set using a methodology.
  • changes to the power usage modes 246 can also take into account write performance information 222.
  • write performance information can include information about writing to a particular storage drive and/or to an array of storage drives in the storage enclosure 230.
  • the size of a write queue (e.g., the write queue reaching or exceeding a threshold value) to an array or a particular storage drive 244 can be used to trigger the particular storage drive 244 or other storage drives 244 to be set to a power usage mode 246 with a greater power usage value 248 than it previously had.
  • the greater power usage value 248 can correspond to a better write performance.
  • the write performance information 222 can include write latency for a storage drive 244 and/or array of storage drives 244.
  • the power controller engine 212 can set the effective power usage mode for the storage drive 244 based on the write latency of the storage drive 244 reaching or exceeding a threshold value.
  • one or more storage drives 244 of the array can be similarly selected for the greater power usage mode/value.
  • the storage enclosure 230 can have multiple arrays. When a particular array meets the write latency or write queue threshold, the storage drives 244 belonging to the array can be increased as a group.
  • the power controller engine 212 can set the effective power usage mode for one or more of the storage drive(s) 244 to a power usage value lower than a previous effective power usage mode for the respective storage drive(s) 244.
  • the selection of the storage drive(s) can be based on write performance information 222 regarding the particular drive(s) or array associated with the drive(s). For example, if a write latency or write queue is lower for a particular drive or array compared to other drives or arrays in the enclosure, that drive(s) or array(s) can be selected.
  • the thermal sensor 260 can provide thermal information about the storage enclosure 230 and/or other thermal sensors can provide thermal information about respective storage drives.
  • the thermal information can be used to set a lower effective power usage mode for one of the drives. For example, if the drive hits the threshold, it can be selected by the power controller engine 212 for a lower power usage mode. Similarly, if the storage enclosure 230 has the issue, one or more drives can be selected for a lower effective power usage mode.
  • the power budget 242 can be changed for a time period based on the thermal sensor information. For example, while the temperature of the storage enclosure 230 is at and/or above a predetermined level, the power budget 242 can be decreased so that the temperature in the storage enclosure 230 remains level or goes down. The performance of the storage drives can be re-adjusted based on the lower power budget.
  • the storage systems 100, 200 can provide data storage resources to any number of client computers (e.g., client 270a - client 270i), which may be general purpose computers, workstations, mobile computing devices, and the like.
  • the storage systems 100, 200 can include one or more storage array in storage enclosures 130, 230.
  • the clients 270 can be coupled to a storage system 200 directly or through a network, which may be a local area network (LAN), wide area network (WAN), a storage area network (SAN), or other suitable type of network.
  • LAN local area network
  • WAN wide area network
  • SAN storage area network
  • the client computers 270 can access the storage space of the storage arrays by sending Input/Output (I/O) requests to I/O interfaces 220 provided by device 210.
  • the I/O requests can include write requests and read requests, etc. to the storage array.
  • the storage controller engine 214 can process the I/O requests so that user data is written to or read from the appropriate storage locations in the storage array(s).
  • user data refers to data that may be used in the course of business, performance of a job function, or for personal use, such as business data and reports, Web pages, user files, image files, video files, audio files, software applications, or any other similar type of data that that a user may wish to save to long term storage.
  • arrays may include implementation of a redundant array of independent disks (RAID) across multiple disks (e.g., using RAID 0, RAID 1 , RAID 5, RAID 6, etc.).
  • RAID redundant array of independent disks
  • the storage arrays may include various types of persistent storage, including SSDs.
  • the SSDs are flash drives.
  • the write performance can be tied to, for example, a number of data channels available to write to storage units. In other examples, the write performance can be tied to other capabilities (e.g., bandwidth available, clock speed, etc.).
  • the storage drives may include a storage controller (e.g., a flash controller) that has bandwidth over a number of channels, the power modes can correspond to the number of channels available. Further, other resources can be turned on or off corresponding to the power modes. Moreover, the speed capabilities of the resources can similarly be throttled for one or more of the power modes.
  • the storage controller engine 214 can also controls the allocation of storage space in each storage drive 144, 244. In some examples, clients 270 may also be served using other devices with storage controllers to control storage. In one example, the storage controller engine 214 controls the memory allocation for a certain sub-set of the storage drives 244. In another example, the storage controller engine 214 can control memory allocation of all of the storage drives 244 in a storage array (or in the example of storage system 100. Other arrangements are also possible depending on the design considerations of a particular implementation. Additionally, certain details of the storage system 100, 200 configuration can be specified by an administrator.
  • the engines 1 12, 212, 214 include hardware and/or combinations of hardware and programming to perform functions provided herein. Moreover, modules (not shown) can include programing functions and/or combinations of programming functions to be executed by hardware as provided herein.
  • functionality attributed to an engine can also be attributed to the corresponding module and vice versa.
  • functionality attributed to a particular module and/or engine may also be implemented using another module and/or engine.
  • a processor 218, such as a central processing unit (CPU) or a microprocessor suitable for retrieval and execution of instructions and/or electronic circuits can be configured to perform the functionality of any of the engines 1 12, 212, 214 described herein.
  • instructions and/or other information such as the write performance information 222, can be included in memory 216 or other memory.
  • Input/output interfaces 220 may additionally be provided by device 210.
  • some components can be utilized to implement functionality of other components described herein.
  • Input/output devices such as communication devices like network communication devices or wireless devices can also be considered devices capable of using the input/output interfaces 220.
  • the storage controller engine 214 may be configured to communicate with other computing devices such as clients 270 to allow the computing devices to access storage provided by a storage drive or array over a storage network.
  • the storage network may be a Storage Area Network (SAN) or other network.
  • SAN Storage Area Network
  • the storage controller engine 214 may be configured to process requests from clients to process input records and write them as output data records to storage and read data records from the storage.
  • the requests may include requests or commands to write data records to a storage device and read data records from the storage device.
  • the storage controller engine 214 may respond to the requests with acknowledgments in the form of messages with data according to particular protocols and the like.
  • storage controller engine 214 may be configured to respond to a write request to write a data record.
  • data may comprise fields or entries containing blocks or groups of data.
  • FIG. 3 is a flowchart of a method for setting power modes of solid state drives, according to an example.
  • FIG. 4 is a block diagram of a computing device capable of changing power states of storage drives based on a power budget of an enclosure and capabilities of the drives, according to an example.
  • execution of method 300 is described below with reference to computing device 400, other suitable components for execution of method 300 can be utilized (e.g., device 210). Additionally, the components for executing the method 300 may be spread among multiple devices.
  • Method 300 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 420, and/or in the form of electronic circuitry.
  • the computing device 400 can include a storage controller that can control storage on one or more drives of an enclosure 430. Further, in some examples, the computing device 400 may include a power controller that can control power usage of individual drives. As noted above, the drives can be SSDs.
  • Storage drives can be coupled to the storage enclosure 430. Coupling can be, for example, via wires, physical connectors, combinations thereof, etc. As noted above, one or more of the storage drives can be capable to draw power from the storage enclosure 430. Further, the storage drives can each include multiple power usage modes that correspond to performance as detailed above. Moreover, each power usage mode can be associated with a power usage value and corresponding write performance. As noted above, write performance can be affected by resources made available by the drive, for example, a memory controller limiting bandwidth available, speed of writing, memory paths available to write with, etc. In some examples, write performance instructions 426 can be executed by the processing element 410 to monitor write performance of an array and/or individual drives.
  • recognition instructions 422 can be executed by processing element 410 to recognize the storage drives (e.g., SSD drives) that are coupled to the storage enclosure.
  • the processing element 410 can determine information about the power modes associated with the individual drives. This can be based on communications with the drives and/or storage enclosure 430.
  • the processing element 410 can execute power state instructions 424 to determine an effective power usage mode for each of the drives based on a power budget for the storage enclosure 430, for example, as described above.
  • the power state instructions 424 can be executed to set the effective power usage mode.
  • the determination and setting of the power usage mode can take into account the power usage values of the drives as well as the budget. For example, the sum of a greatest power usage value for each of the drives can be larger than the power budget.
  • the processing element 410 can set the effective power usage mode for one or more of the drives to a power usage mode with a power usage value below the greatest power usage value for the respective drives.
  • a predetermined order or methodology can be used to determine which drive(s) are demoted in such a manner.
  • an initial degradation can be based on an average power mode among each of the drives to reach the power budget.
  • Write performance instructions 426 can be executed to determine the write performance of the drives and/or arrays of drives.
  • examples, of write performance information can include a write queue for a drive, a write queue for an array, a write latency for a drive, a write latency for an array, combinations thereof, etc.
  • effective power usage modes can be based on the write performance information. With this approach, power usage can be dynamically increased to storage drives that may have a performance need.
  • the power state instructions 424 can be executed to cause modification of the effective power usage mode for one of the drives. As noted above, the modification can be based on write performance information (e.g., write queue and/or write latency).
  • the power usage mode for one of the drives can be transitioned to a higher effective power usage mode based on the write performance information.
  • the effective power usage mode for another one of the drives can be transitioned/set to a lower effective power usage mode in coordination with the transition higher.
  • the coordination may be a part of accounting for the power budget. Coordination can take into account the write performance of the drive or array of drives being demoted.
  • Processing element 410 may be, one or multiple central processing unit (CPU), one or multiple semiconductor-based microprocessor, one or multiple graphics processing unit (GPU), other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 420, or combinations thereof.
  • the processing element 410 can be a physical device.
  • the processing element 410 may include multiple cores on a chip, include multiple cores across multiple chips, multiple cores across multiple devices (e.g., if the computing device 400 includes multiple node devices), or combinations thereof.
  • Processing element 410 may fetch, decode, and execute instructions 422, 424, 426 to implement other functionality, for example, power control or storage control.
  • processing element 410 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for performing the functionality of instructions 422, 424, 426.
  • IC integrated circuit
  • Machine-readable storage medium 420 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
  • machine-readable storage medium may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage drive, a Compact Disc Read Only Memory (CD-ROM), and the like.
  • RAM Random Access Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • CD-ROM Compact Disc Read Only Memory
  • the machine- readable storage medium can be non-transitory.
  • machine-readable storage medium 420 may be encoded with a series of executable instructions for unmapping sectors in an SSD to initialize the sectors.
  • the computing device 400 may be configured to communicate with other computing devices such as host computing devices over network using network techniques.
  • the network techniques may include any means of electronic or data communication.
  • the network may include a local area network, Internet and the like.
  • the network techniques may include Fibre Channel network, SCSI (Small Computer System Interface) link, Serial Attached SCSI (SAS) link and the like.
  • the network techniques may include switches, expanders, concentrators, routers, and other communications devices.
  • computing device 400 may communicate with components implemented on separate devices or system(s) via a network interface device of the computing device.
  • computing device 400 may communicate with storage devices via a network interface device of the computing device and storage device.
  • computing device 400 may communicate with other computing devices via a network interface device of the computing device.
  • a "network interface device" may be a hardware device to communicate over at least one computer network.
  • a network interface may be a Network Interface Card (NIC) or the like.
  • NIC Network Interface Card
  • a computer network may include, for example, a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Virtual Private Network (VPN), the Internet, or the like, or a combination thereof.
  • a computer network may include a telephone network (e.g., a cellular telephone network).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

Examples disclosed herein relate to setting effective power usage modes of storage drives. Storage drives can be coupled to a storage enclosure and may be capable of consuming power from the storage enclosure. The storage drives can include multiple power usage modes, where each power usage mode is associated with a power usage value and write performance. An effective power usage mode can be set based on a power budget for the storage enclosure and power usage values for the respective storage drives.

Description

POWER USAGE MODES
OF DRIVES
BACKGROUND
[0001 ] Storage media can be used to store data. Storage media can include hard drives, tape drives, Solid State Drives (SSDs), etc. SSDs are non-volatile data storage devices that are used for persistent data storage, but unlike hard disks drives, contain no moving parts. Some SSD drives use flash memory, which can retain data without being powered.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The following detailed description references the drawings, wherein:
[0003] FIG. 1 is a block diagram of a storage system including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example;
[0004] FIG. 2 is a block diagram of a storage system including a device including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example;
[0005] FIG. 3 is a flowchart of a method for setting power modes of solid state drives, according to an example; and [0006] FIG. 4 is a block diagram of a computing device capable of changing power states of storage drives based on a power budget of an enclosure and capabilities of the drives, according to an example.
DETAILED DESCRIPTION
[0007] Storage is used to keep information. Various storage technologies exist today, for example, using storage drives such as tape backup, hard drives, solid state drives (SSDs), etc. Data storage can be used for various purposes, for example, personal everyday use, backup uses, business purposes for running or operating servers, backup business purposes, etc. In some of these purposes, a storage enclosure can be used to house multiple storage drives.
[0008] The storage enclosure can be powered. A power supply or multiple power supplies can be used. Further, the storage enclosure may have a power budget (e.g., the maximum amount of power that can be used). In some scenarios, when the storage enclosure is filled with storage drives, the storage drives will use less than the maximum amount of power in the power budget (e.g., because the storage drives are incapable of using that much power). In other scenarios, storage drives may have the capability, if used at maximum power, to use more power than the power budget allows for. In one example, SSDs can include multiple power modes. The higher power modes can correspond to higher write performance.
[0009] Accordingly, approaches described herein can be used to manage write performance of storage (e.g., a storage array) in an enclosure while taking into account the power budget for the enclosure that the storage drives are housed in. In certain examples, a log page, mode page, application programming interface (API), or other similar mechanism can be used to change the power mode of the storage drives. Further, a mechanism of communication can be used to provide setting information from the drives to the enclosure and/or power/storage controllers. In other examples, an administrator or service can be used to provide setting information about the drives, arrays of drives, etc. [0010] In some examples, the storage drives can be set to an initial power mode based on a comparison of power consumption of various modes and the power budget. Further, the power mode effective at a particular time for each storage drive can be controlled, for example, based on a write queue and/or write latency. The write queue or write latency can be for the individual storage drives and/or for an array of drives as a whole. For example, if the write queue and/or write latency exceeds a pre-determined level, the power mode for an associated storage drive or set of drives can be promoted to a higher power usage and write performance. Further, in other examples, the power mode for another storage drive or set of drives can be demoted to a lower power usage and write performance to stay within the power budget.
[001 1 ] A storage controller can be used to track the write queue and/or write latency. In some examples, the storage controller can also be used to read and/or write to the storage drives. The storage controller may implement various approaches to communicate with storage drives, such as a Small Computer System Interface (SCSI), for example, by using one or more SCSI block commands. In some examples, a write queue can include a quantification of writes to a drive and/or array of drives. Further, in some examples, a write latency can refer to an amount of time associated with writing (e.g., an amount of time between when a write request is received and when the request is performed at a drive or array).
[0012] FIG. 1 is a block diagram of a storage system including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example. FIG. 2 is a block diagram of a storage system including a device including a power controller engine and a storage enclosure capable of using storage drives with multiple power usage modes, according to an example. It will be appreciated that the storage systems 100, 200 shown in Figs. 1 and 2 are only examples of a storage system. In one implementation, the storage system 100 may include various additional storage devices (including SSDs and/or other storage drives) and networks, which may be interconnected in any suitable fashion, depending on the design considerations of a particular implementation. For example, a large storage system may include more client computers and storage devices than shown in this illustration.
[0013] In one example, storage system 100 can include a power controller engine 1 12 communicatively coupled to a storage enclosure 130. The storage enclosure 130 can include a number of storage drives 144a - 144n that can each have power usage modes 146. The storage drives 144 can consume power from the storage enclosure 130, which may be associated with a power budget 142. In some examples, the power controller engine 1 12 can be in the storage enclosure 130. In other examples, the power controller engine 1 12 can be external to the storage enclosure 130 and communicatively coupled. For example, the power controller engine 1 12 can be part of a device that may also control storage capabilities of the storage drives 144a - 144n.
[0014] Further, in another example, storage system 200 can include a device 210 including a power controller engine 212 and storage controller engine 214 that is communicatively coupled to one or more of the storage drives 244a - 244n in a storage enclosure 230. The respective storage drives 244 can include a number of sectors that can be written to and read from using storage controller engine 214. Moreover, the storage enclosure 230 may include a thermal sensor 260 that is capable of measuring temperature in the storage enclosure 230 to take into account heat when making power consumption and/or performance decisions. Though not shown, similar thermal sensing capabilities may be part of one or more of the storage drives 244 and communicated to the storage enclosure 230 and/or power controller engine 212 via an interface.
[0015] As noted above, the storage enclosure 130, 230 can be powered. The power can come from one or more power supplies. However, the power supplies may have limits and, as such, the storage enclosure 130, 230 may be associated with a power budget 142, 242. The power budget 142, 242 can represent an amount of power that can be allocated for use. In some examples, the allocation can be among the storage drives 144, 244 within a respective storage enclosure 130, 230. For example, the power budget 142, 242 may represent a maximum amount of power that can be used for the storage drives 144, 244.
[0016] The storage drives 144, 244 may include various types of persistent storage, including SSDs. In some examples, the SSDs are flash drives. However, the SSDs may also use other types of persistent memory, including resistive memory, for example. As noted above, the storage drives 144, 244 can be associated with respective power usage modes 146, 246. In some examples, each of the power usage modes 246 can correspond to a power usage value 148, 248. Further, the power usage modes 246 can correspond with write performance for the drives. In the case of SSDs, the write performance can be tied to, for example, a number of data channels available to write to storage units. In other examples, the write performance can be tied to other capabilities (e.g., bandwidth available, clock speed, etc.).
[0017] As used herein, power usage value 148, 248 is a representation of power usage of a storage drive 144, 244. Examples of representations may include a peak power rating, a root mean square power rating, or other representation (e.g., a representation based on testing or analysis).
[0018] As used herein, power usage modes 146, 246 are power usage states of the storage drives 144, 244, where the storage drive 144, 244 is able to write data while the mode is active. Each power usage mode 146 corresponds to a power usage value 148, 248. Moreover, each power usage mode 146, 246 is associated with a write performance. The write performance for each power usage mode 146, 246 can align with the corresponding power usage value 148, 248. For example, a greater power usage value 148, 248 can be aligned to a better write performance. Similarly, a lower power usage value 148, 248 can be aligned with less write performance. This aligns with less resources/capabilities being available with lower power usage modes 146, 246. Moreover, in some examples, the power usage modes 146, 246 can have at least two non-zero power usage values 148, 248. [0019] The power controller engine 1 12, 212 can set an effective power usage mode 146, 246 for one or more of the storage drives 144, 244 in the respective enclosures 130, 230. As noted above, the effective power usage mode can be based on the power budget 142, 242 for the respective enclosures 130, 230 and the power usage values 148, 248. As used herein, an effective power usage mode is the power usage mode 146, 246 that is active for a particular storage drive 144, 244 at a given time. The effective power usage mode can be associated with one or more power usage value (e.g., a root mean square rating, a peak power usage rating, combinations thereof, etc.) and a write performance.
[0020] In one example, the sum of a greatest power usage value for each of the storage drives 244 in a storage enclosure 230 is lower than the power budget 242. In this example, the power controller engine 212 can set the effective power usage mode 246 of each of the storage drives 244a - 244n to a greatest power usage value for the respective drives based on the determination.
[0021 ] In another example, the sum of the greatest power usage value for each of the storage drives 244 is larger than the power budget 242. In this example, the power controller engine 212 can set the effective power usage mode for one of the storage drives 244a - 244n to one of the power usage modes 246 with a corresponding power usage value 248 below the greatest power usage value for the storage drive. Power modes of additional storage drives 244 can also be changed in a similar manner. In one example, a predetermined default priority can be set to choose which storage drive(s) is selected to be changed. In another example, the priority can be customized or be set using a methodology.
[0022] In some examples, changes to the power usage modes 246 can also take into account write performance information 222. In some examples, write performance information can include information about writing to a particular storage drive and/or to an array of storage drives in the storage enclosure 230. In one example, the size of a write queue (e.g., the write queue reaching or exceeding a threshold value) to an array or a particular storage drive 244 can be used to trigger the particular storage drive 244 or other storage drives 244 to be set to a power usage mode 246 with a greater power usage value 248 than it previously had. As noted above, the greater power usage value 248 can correspond to a better write performance.
[0023] Similarly, in other examples, the write performance information 222 can include write latency for a storage drive 244 and/or array of storage drives 244. The power controller engine 212 can set the effective power usage mode for the storage drive 244 based on the write latency of the storage drive 244 reaching or exceeding a threshold value.
[0024] In other examples, one or more storage drives 244 of the array can be similarly selected for the greater power usage mode/value. In one example, the storage enclosure 230 can have multiple arrays. When a particular array meets the write latency or write queue threshold, the storage drives 244 belonging to the array can be increased as a group.
[0025] To take into account the power budget 242, the power controller engine 212 can set the effective power usage mode for one or more of the storage drive(s) 244 to a power usage value lower than a previous effective power usage mode for the respective storage drive(s) 244. In some examples, the selection of the storage drive(s) can be based on write performance information 222 regarding the particular drive(s) or array associated with the drive(s). For example, if a write latency or write queue is lower for a particular drive or array compared to other drives or arrays in the enclosure, that drive(s) or array(s) can be selected.
[0026] In some examples, the thermal sensor 260 can provide thermal information about the storage enclosure 230 and/or other thermal sensors can provide thermal information about respective storage drives. The thermal information can be used to set a lower effective power usage mode for one of the drives. For example, if the drive hits the threshold, it can be selected by the power controller engine 212 for a lower power usage mode. Similarly, if the storage enclosure 230 has the issue, one or more drives can be selected for a lower effective power usage mode. In some examples, the power budget 242 can be changed for a time period based on the thermal sensor information. For example, while the temperature of the storage enclosure 230 is at and/or above a predetermined level, the power budget 242 can be decreased so that the temperature in the storage enclosure 230 remains level or goes down. The performance of the storage drives can be re-adjusted based on the lower power budget.
[0027] The storage systems 100, 200 can provide data storage resources to any number of client computers (e.g., client 270a - client 270i), which may be general purpose computers, workstations, mobile computing devices, and the like. The storage systems 100, 200 can include one or more storage array in storage enclosures 130, 230. The clients 270 can be coupled to a storage system 200 directly or through a network, which may be a local area network (LAN), wide area network (WAN), a storage area network (SAN), or other suitable type of network.
[0028] The client computers 270 can access the storage space of the storage arrays by sending Input/Output (I/O) requests to I/O interfaces 220 provided by device 210. The I/O requests can include write requests and read requests, etc. to the storage array. The storage controller engine 214 can process the I/O requests so that user data is written to or read from the appropriate storage locations in the storage array(s). As used herein, the term "user data" refers to data that may be used in the course of business, performance of a job function, or for personal use, such as business data and reports, Web pages, user files, image files, video files, audio files, software applications, or any other similar type of data that that a user may wish to save to long term storage. When the storage controller engine 214 allocates data portions of one or multiple storage drives 244. In some examples, arrays may include implementation of a redundant array of independent disks (RAID) across multiple disks (e.g., using RAID 0, RAID 1 , RAID 5, RAID 6, etc.).
[0029] The storage arrays may include various types of persistent storage, including SSDs. As noted above, in some examples, the SSDs are flash drives. In the case of SSDs, as well as other storage drives, the write performance can be tied to, for example, a number of data channels available to write to storage units. In other examples, the write performance can be tied to other capabilities (e.g., bandwidth available, clock speed, etc.). For example, the storage drives may include a storage controller (e.g., a flash controller) that has bandwidth over a number of channels, the power modes can correspond to the number of channels available. Further, other resources can be turned on or off corresponding to the power modes. Moreover, the speed capabilities of the resources can similarly be throttled for one or more of the power modes.
[0030] The storage controller engine 214 can also controls the allocation of storage space in each storage drive 144, 244. In some examples, clients 270 may also be served using other devices with storage controllers to control storage. In one example, the storage controller engine 214 controls the memory allocation for a certain sub-set of the storage drives 244. In another example, the storage controller engine 214 can control memory allocation of all of the storage drives 244 in a storage array (or in the example of storage system 100. Other arrangements are also possible depending on the design considerations of a particular implementation. Additionally, certain details of the storage system 100, 200 configuration can be specified by an administrator.
[0031 ] The engines 1 12, 212, 214 include hardware and/or combinations of hardware and programming to perform functions provided herein. Moreover, modules (not shown) can include programing functions and/or combinations of programming functions to be executed by hardware as provided herein. When discussing the engines and modules, it is noted that functionality attributed to an engine can also be attributed to the corresponding module and vice versa. Moreover, functionality attributed to a particular module and/or engine may also be implemented using another module and/or engine.
[0032] A processor 218, such as a central processing unit (CPU) or a microprocessor suitable for retrieval and execution of instructions and/or electronic circuits can be configured to perform the functionality of any of the engines 1 12, 212, 214 described herein. In certain scenarios, instructions and/or other information, such as the write performance information 222, can be included in memory 216 or other memory. Input/output interfaces 220 may additionally be provided by device 210. Moreover, in certain examples, some components can be utilized to implement functionality of other components described herein. Input/output devices such as communication devices like network communication devices or wireless devices can also be considered devices capable of using the input/output interfaces 220.
[0033] The storage controller engine 214 may be configured to communicate with other computing devices such as clients 270 to allow the computing devices to access storage provided by a storage drive or array over a storage network. In one example, the storage network may be a Storage Area Network (SAN) or other network.
[0034] The storage controller engine 214 may be configured to process requests from clients to process input records and write them as output data records to storage and read data records from the storage. The requests may include requests or commands to write data records to a storage device and read data records from the storage device. The storage controller engine 214 may respond to the requests with acknowledgments in the form of messages with data according to particular protocols and the like.
[0035] In one example, storage controller engine 214 may be configured to respond to a write request to write a data record. In some examples, data may comprise fields or entries containing blocks or groups of data.
[0036] FIG. 3 is a flowchart of a method for setting power modes of solid state drives, according to an example. FIG. 4 is a block diagram of a computing device capable of changing power states of storage drives based on a power budget of an enclosure and capabilities of the drives, according to an example. Although execution of method 300 is described below with reference to computing device 400, other suitable components for execution of method 300 can be utilized (e.g., device 210). Additionally, the components for executing the method 300 may be spread among multiple devices. Method 300 may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as storage medium 420, and/or in the form of electronic circuitry. In some examples, the computing device 400 can include a storage controller that can control storage on one or more drives of an enclosure 430. Further, in some examples, the computing device 400 may include a power controller that can control power usage of individual drives. As noted above, the drives can be SSDs.
[0037] Storage drives can be coupled to the storage enclosure 430. Coupling can be, for example, via wires, physical connectors, combinations thereof, etc. As noted above, one or more of the storage drives can be capable to draw power from the storage enclosure 430. Further, the storage drives can each include multiple power usage modes that correspond to performance as detailed above. Moreover, each power usage mode can be associated with a power usage value and corresponding write performance. As noted above, write performance can be affected by resources made available by the drive, for example, a memory controller limiting bandwidth available, speed of writing, memory paths available to write with, etc. In some examples, write performance instructions 426 can be executed by the processing element 410 to monitor write performance of an array and/or individual drives.
[0038] At 302, recognition instructions 422 can be executed by processing element 410 to recognize the storage drives (e.g., SSD drives) that are coupled to the storage enclosure. In some examples, the processing element 410 can determine information about the power modes associated with the individual drives. This can be based on communications with the drives and/or storage enclosure 430.
[0039] The processing element 410 can execute power state instructions 424 to determine an effective power usage mode for each of the drives based on a power budget for the storage enclosure 430, for example, as described above. At 304, the power state instructions 424 can be executed to set the effective power usage mode. [0040] As noted above, the determination and setting of the power usage mode can take into account the power usage values of the drives as well as the budget. For example, the sum of a greatest power usage value for each of the drives can be larger than the power budget. In this scenario, the processing element 410 can set the effective power usage mode for one or more of the drives to a power usage mode with a power usage value below the greatest power usage value for the respective drives. As noted above, a predetermined order or methodology can be used to determine which drive(s) are demoted in such a manner. In some examples, an initial degradation can be based on an average power mode among each of the drives to reach the power budget.
[0041 ] Write performance instructions 426 can be executed to determine the write performance of the drives and/or arrays of drives. As noted above, examples, of write performance information can include a write queue for a drive, a write queue for an array, a write latency for a drive, a write latency for an array, combinations thereof, etc. As such, effective power usage modes can be based on the write performance information. With this approach, power usage can be dynamically increased to storage drives that may have a performance need. As such, at 306, the power state instructions 424 can be executed to cause modification of the effective power usage mode for one of the drives. As noted above, the modification can be based on write performance information (e.g., write queue and/or write latency). In one example, the power usage mode for one of the drives can be transitioned to a higher effective power usage mode based on the write performance information. Moreover, the effective power usage mode for another one of the drives can be transitioned/set to a lower effective power usage mode in coordination with the transition higher. The coordination may be a part of accounting for the power budget. Coordination can take into account the write performance of the drive or array of drives being demoted.
[0042] Processing element 410 may be, one or multiple central processing unit (CPU), one or multiple semiconductor-based microprocessor, one or multiple graphics processing unit (GPU), other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium 420, or combinations thereof. The processing element 410 can be a physical device. Moreover, in one example, the processing element 410 may include multiple cores on a chip, include multiple cores across multiple chips, multiple cores across multiple devices (e.g., if the computing device 400 includes multiple node devices), or combinations thereof. Processing element 410 may fetch, decode, and execute instructions 422, 424, 426 to implement other functionality, for example, power control or storage control. As an alternative or in addition to retrieving and executing instructions, processing element 410 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for performing the functionality of instructions 422, 424, 426.
[0043] Machine-readable storage medium 420 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Thus, machine-readable storage medium may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage drive, a Compact Disc Read Only Memory (CD-ROM), and the like. As such, the machine- readable storage medium can be non-transitory. As described in detail herein, machine-readable storage medium 420 may be encoded with a series of executable instructions for unmapping sectors in an SSD to initialize the sectors.
[0044] The computing device 400 may be configured to communicate with other computing devices such as host computing devices over network using network techniques. The network techniques may include any means of electronic or data communication. The network may include a local area network, Internet and the like. The network techniques may include Fibre Channel network, SCSI (Small Computer System Interface) link, Serial Attached SCSI (SAS) link and the like. The network techniques may include switches, expanders, concentrators, routers, and other communications devices.
[0045] In examples described herein, computing device 400 may communicate with components implemented on separate devices or system(s) via a network interface device of the computing device. In another example, computing device 400 may communicate with storage devices via a network interface device of the computing device and storage device. In another example, computing device 400 may communicate with other computing devices via a network interface device of the computing device. In examples described herein, a "network interface device" may be a hardware device to communicate over at least one computer network. In some examples, a network interface may be a Network Interface Card (NIC) or the like. As used herein, a computer network may include, for example, a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Virtual Private Network (VPN), the Internet, or the like, or a combination thereof. In some examples, a computer network may include a telephone network (e.g., a cellular telephone network).
[0046] The foregoing describes a novel and previously unforeseen approach for storage management. While the above disclosure has been shown and described with reference to the foregoing examples, it should be understood that other forms, details, and implementations may be made without departing from the spirit and scope of this disclosure.

Claims

CLAIMS What is claimed is:
1 . A storage system comprising:
a storage enclosure with an associated power budget;
a plurality of storage drives coupled to the storage enclosure and to consume power from the storage enclosure,
wherein the storage drives each include multiple power usage modes, wherein each power usage mode is associated with a power usage value and write performance; and
a power controller engine to set an effective power usage mode of each of the storage drives based on the power budget and the respective power usage values of the respective storage drives.
2. The storage system of claim 1 , wherein the sum of a greatest power usage value for each of the storage drives is larger than the power budget.
3. The storage system of claim 2, wherein the power controller engine is to set the effective power usage mode for one of the storage drives to correspond with one of the respective power usage values below the greatest power usage value for the one storage drive.
4. The storage system of claim 3, wherein the power controller engine is further to set the effective power usage mode for the one storage drive to correspond with another power usage value greater than the one respective power usage value based on a size of a write queue associated with the one storage drive.
5. The storage system of claim 3, wherein the power controller engine is further to set the effective power usage mode for the one storage drive to correspond with another power usage value greater than the one power usage value based on a write latency associated with the one storage drive.
6. The storage system of claim 3,
wherein the power controller engine is further to set the effective power usage mode for the one storage drive to correspond with a second power usage value greater than the one power usage value, and
wherein the power controller engine is further to set the effective power usage mode for a second one of the storage drives to correspond with a third power usage value lower than a previous effective power usage mode for the second one storage drive.
7. The storage system of claim 1 , wherein the power controller engine is to set the effective power usage mode of each of the storage drives to correspond with a greatest power usage value for each of the storage drives based on a determination that a sum of the greatest power usage value for each of the storage drives is lower than the power budget.
8. The storage system of claim 1 , wherein the power controller engine is further to set a lower effective power usage mode for one of the storage drives based on a thermal state of the storage system.
9. A non-transitory machine-readable storage medium storing instructions that, if executed by a physical processing element of a computing device, cause the computing device to:
recognize that a plurality of solid state drives are coupled to a storage enclosure,
wherein the solid state drives are capable to draw power from the storage enclosure,
wherein the solid state drives each include multiple power usage modes corresponding to performance and each power usage mode is associated with a power usage value and corresponding write performance; and
determine an effective power usage mode for each of the solid state drives based on a power budget for the storage enclosure.
10. The non-transitory machine-readable storage medium of claim 9, further comprising instructions that, if executed by the physical processing element, cause the computing device to:
determine the respective effective power usage mode for each of the solid state drives is based on at least one of: a write queue and a write latency.
1 1 . The non-transitory machine-readable storage medium of claim 10, wherein a sum of a greatest power usage value for each of the solid state drives is larger than the power budget,
the device further caused to:
set the effective power usage mode for one of the solid state drives to correspond with one of the respective power usage values below the greatest power usage value for the one solid state drive.
12. The non-transitory machine-readable storage medium of claim 10, further comprising instructions that, if executed by the physical processing element, cause the device to:
transition the respective power usage mode for a first one of the solid state drives to correspond with a higher effective power usage mode based on at least one of: the write queue and the write latency; and
set the respective power usage mode for a second one of the solid state drives to a lower effective power usage mode in coordination with the transition.
13. A method comprising:
recognizing, at a processing element, that a plurality of solid state drives are coupled to a storage enclosure,
wherein the solid state drives are capable to draw power from the storage enclosure,
wherein the solid state drives each include multiple power usage modes corresponding to performance and each power usage mode is associated with a power usage value and corresponding write performance; setting an effective power usage mode of each of the solid state drives based on the power budget and the respective power usage values of the respective solid state drives; and
modifying the effective power usage mode for one of the solid state drives based on at least one of: a write queue and a write latency.
14. The method of claim 13, further comprising:
setting the effective power usage mode for a second one of the solid state drives to a lower effective power usage mode in coordination with to the modification.
15. The method of claim 13, wherein a sum of a greatest power usage value for each of the solid state drives is larger than the power budget, the method further comprising:
setting the effective power usage mode for one of the solid state drives to correspond with one of the respective power usage values below the greatest power usage value for the one solid state drive.
PCT/US2016/030059 2016-04-29 2016-04-29 Power usage modes of drives Ceased WO2017188981A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2016/030059 WO2017188981A1 (en) 2016-04-29 2016-04-29 Power usage modes of drives

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/030059 WO2017188981A1 (en) 2016-04-29 2016-04-29 Power usage modes of drives

Publications (1)

Publication Number Publication Date
WO2017188981A1 true WO2017188981A1 (en) 2017-11-02

Family

ID=60161033

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/030059 Ceased WO2017188981A1 (en) 2016-04-29 2016-04-29 Power usage modes of drives

Country Status (1)

Country Link
WO (1) WO2017188981A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019171176A1 (en) * 2018-03-09 2019-09-12 Toshiba Memory Corporation Power management for solid state drives in a network
TWI708138B (en) * 2018-02-27 2020-10-21 日商東芝記憶體股份有限公司 Information processing device and storage element
CN115113717A (en) * 2021-03-19 2022-09-27 株式会社日立制作所 Storage device and storage device control method
US11500447B2 (en) 2020-03-20 2022-11-15 Western Digital Technologies, Inc. Power allocation management for external storage

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066206A1 (en) * 2003-09-24 2005-03-24 John Beers Storage device configuration
US20100050008A1 (en) * 2008-08-25 2010-02-25 Miriam Allalouf Estimating Power Consumption in a Computing Environment
US20110029787A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for power allocation in a storage system
US20130097433A1 (en) * 2011-10-18 2013-04-18 Stec, Inc. Systems and methods for dynamic resource management in solid state drive system
US8751836B1 (en) * 2011-12-28 2014-06-10 Datadirect Networks, Inc. Data storage system and method for monitoring and controlling the power budget in a drive enclosure housing data storage devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066206A1 (en) * 2003-09-24 2005-03-24 John Beers Storage device configuration
US20100050008A1 (en) * 2008-08-25 2010-02-25 Miriam Allalouf Estimating Power Consumption in a Computing Environment
US20110029787A1 (en) * 2009-07-28 2011-02-03 Lsi Corporation Methods and apparatus for power allocation in a storage system
US20130097433A1 (en) * 2011-10-18 2013-04-18 Stec, Inc. Systems and methods for dynamic resource management in solid state drive system
US8751836B1 (en) * 2011-12-28 2014-06-10 Datadirect Networks, Inc. Data storage system and method for monitoring and controlling the power budget in a drive enclosure housing data storage devices

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI708138B (en) * 2018-02-27 2020-10-21 日商東芝記憶體股份有限公司 Information processing device and storage element
WO2019171176A1 (en) * 2018-03-09 2019-09-12 Toshiba Memory Corporation Power management for solid state drives in a network
US11307778B2 (en) 2018-03-09 2022-04-19 Kioxia Corporation Power management for solid state drives in a network
US12299295B2 (en) 2018-03-09 2025-05-13 Kioxia Corporation Power management for solid state drives in a network
US11500447B2 (en) 2020-03-20 2022-11-15 Western Digital Technologies, Inc. Power allocation management for external storage
CN115113717A (en) * 2021-03-19 2022-09-27 株式会社日立制作所 Storage device and storage device control method
JP2022144512A (en) * 2021-03-19 2022-10-03 株式会社日立製作所 Storage device, storage device control method
JP7266628B2 (en) 2021-03-19 2023-04-28 株式会社日立製作所 Storage device, storage device control method

Similar Documents

Publication Publication Date Title
US11422722B2 (en) Intelligent wide port PHY usage
US11281375B1 (en) Optimizing for data reduction in a storage system
US20210208821A1 (en) Solid state drive multi-card adapter with integrated processing
Skourtis et al. Flash on rails: Consistent flash performance through redundancy
US20230409546A1 (en) Compression Algorithm Based On Resource Availability
KR100923990B1 (en) Computing system based on the characteristics of flash storage devices
US8856424B2 (en) Semiconductor storage device and method of throttling performance of the same
KR101467941B1 (en) Variable over provisioning for non-volatile storage
US8151020B2 (en) Storage subsystem with configurable buffer
US12072246B2 (en) Adaptive throttling
US20120047320A1 (en) Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
US20180349030A1 (en) Storage control device, storage control program, and storage system
US20120047319A1 (en) Semiconductor storage device and method of throttling performance of the same
US11294600B2 (en) Storage device interfacing with host device and operating method of the storage device
US8234459B2 (en) Switch module based non-volatile memory in a server
US20190065404A1 (en) Adaptive caching in a storage device
WO2017188981A1 (en) Power usage modes of drives
US12277328B2 (en) Electronic device and operating method thereof
CN108205478B (en) Intelligent sequential SCSI physical layer power management
US11144453B2 (en) Unmap to initialize sectors
EP4106135A1 (en) Method of controlling a charging voltage for extending the lifetime of a secondary power source and a storage device performing the same
Skourtis et al. High performance & low latency in solid-state drives through redundancy
KR101214977B1 (en) Method for decreasing of oprerating power of data center for c4isr using seltction of data storage
CN120344950A (en) Multi-host bandwidth management considering external and internal traffic
KR101401392B1 (en) Method for Managing Variable Chunk Size and Computing System using the same

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16900718

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16900718

Country of ref document: EP

Kind code of ref document: A1