IP Library Granted Patent US 10,254,985
Granted Patent B2
US 10,254,985 · App. 15/071,038 · Granted Apr 9, 2019

Power management of storage devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,254,985
App. No.
15/071,038
Granted
Apr 9, 2019
Kind
B2
Abstract

A method includes obtaining power and performance data for each storage device of a plurality of storage devices, and adjusting, based on the power and performance data for the plurality of storage devices, a power consumption level of a particular storage device of the plurality of storage devices.

Claims (63)

1. A method comprising:

obtaining power and performance data including input/output operations per second for each storage device of a plurality of storage devices, wherein a host system determines a respective input/output operations per second per watt value for each of the plurality of storage devices from actual operations; and

increasing, based on the input/output operations per second per watt value, a power consumption level of a particular storage device with a greatest input/output operations per second per watt value of the plurality of storage devices when the particular storage device with the greatest input/output operations per second per watt value is less than a total amount of power available to the particular storage device; and

determining, based on the input/output operations per second per watt value for the plurality of storage devices, whether respective performance levels of the plurality of storage devices are within a performance level envelope, wherein increasing the power consumption level of the particular storage device comprises adjusting the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope;

determining, based on the power and performance data for the plurality of storage devices, an average performance level of the plurality of storage devices; and

determining the performance level envelope based on the average performance level of the plurality of storage devices.

2. The method of claim 1 , wherein the performance level envelope includes a lower performance level threshold and an upper performance level device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope comprises:

reducing the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is greater than the upper performance level threshold.

3. The method of claim 2 , wherein adjusting the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope further comprises:

increasing the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is less than the lower performance level threshold.

4. A method comprising:

obtaining power and performance data including input/output operations per second for each storage device of a plurality of storage devices, wherein a host system determines a respective input/output operations per second per watt value for each of the plurality of storage devices from actual operations; and

increasing, based on the input/output operations per second per watt value, a power consumption level of a particular storage device with a greatest input/output operations per second per watt value of the plurality of storage devices when the particular storage device with the greatest input/output operations per second per watt value is less than a total amount of power available to the particular storage device; and

determining, based on the input/output operations per second per watt value for the plurality of storage devices, whether respective performance levels of the plurality of storage devices are within a performance level envelope, wherein increasing the power consumption level of the particular storage device comprises adjusting the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope

wherein the performance level envelope includes a lower performance level threshold and an upper performance level device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope comprises:

reducing the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is greater than the upper performance level threshold;

determining, based on the power and performance data for the plurality of storage devices, an average performance level of the plurality of storage devices; and

determining the performance level envelope based on the average performance level of the plurality of storage devices.

5. The method of claim 1 , further comprising:

determining, based on the power and performance data for the plurality of storage devices, the respective performance to power ratio for each respective storage device, wherein adjusting the power consumption level of the particular storage device comprises:

in response to determining that the particular storage device has the greatest respective performance to power ratio of the plurality of storage devices and that a power consumption target of the particular storage device is less than a total amount of power available to the particular storage device:

increasing the power consumption level of the particular storage device; and

increasing a workload of the particular storage device.

6. The method of claim 1 , wherein the power and performance data for each storage device of the plurality of storage devices is obtained by a host system of the plurality of storage devices, and wherein the host system adjusts the power consumption level of the particular storage device.

7. The method of claim 1 , wherein adjusting the power consumption level of the particular storage device comprises:

adjusting a power consumption target of the particular storage device.

8. The method of claim 1 , wherein adjusting the power consumption level of the particular storage device comprises:

adjusting an operations per time limit of the particular storage device.

9. The method of claim 1 , wherein the power and performance data for each storage device of the plurality of storage devices is obtained by a storage device of the plurality of storage devices using peer-to-peer communication, and wherein the storage device adjusts the power consumption level of the particular storage device.

10. A host system comprising:

one or more processors configured to:

obtain power and performance data including input/output operations per second for each storage device of a plurality of storage devices controlled by the host system, wherein the power and performance data including an input/output operations per second per watt value are obtained from actual operations of the plurality of storage devices;

adjust, based on the power and performance data and the input/output operations per second per watt value for the plurality of storage devices, a power consumption level of a particular storage device of the plurality of storage devices; and

determine, based on the power and performance data for the plurality of storage devices and the input/output operations per second per watt value, whether respective performance levels of the plurality of storage devices are within a performance level envelope, wherein, to adjust the power consumption level of the particular storage device, the one or more processors are configured to adjust the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope

determining, based on the power and performance data for the plurality of storage devices, an average performance level of the plurality of storage devices; and

determining the performance level envelope based on the average performance level of the plurality of storage devices.

11. The host system of claim 10 , wherein the plurality of storage devices are in a redundant array of independent disks (RAID) configuration.

12. The host system of claim 10 , wherein the performance level envelope includes a lower performance level threshold and an upper performance level threshold, and wherein, to adjust the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope, the one or more processors are further configured to:

reduce the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is greater than the upper performance level threshold.

13. The host system of claim 12 , wherein, to adjust the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope, the one or more processors are further configured to:

increase the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is less than the lower performance level threshold.

14. A host system comprising:

one or more processors configured to:

obtain power and performance data including input/output operations per second for each storage device of a plurality of storage devices controlled by the host system, wherein the power and performance data including an input/output operations per second per watt value are obtained from actual operations of the plurality of storage devices;

adjust, based on the power and performance data and the input/output operations per second per watt value for the plurality of storage devices, a power consumption level of a particular storage device of the plurality of storage devices; and

determine, based on the power and performance data for the plurality of storage devices and the input/output operations per second per watt value, whether respective performance levels of the plurality of storage devices are within a performance level envelope, wherein, to adjust the power consumption level of the particular storage device, the one or more processors are configured to adjust the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope wherein the performance level envelope includes a lower performance level threshold and an upper performance level threshold, and wherein, to adjust the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is not within the performance level envelope, the one or more processors are further configured to:

reduce the power consumption level of the particular storage device in response to determining that the respective performance level of the particular storage device is greater than the upper performance level threshold wherein the one or more processors are further configured to:

determine, based on the power and performance data for the plurality of storage devices, an average performance level of the plurality of storage devices; and

determine the performance level envelope based on the average performance level of the plurality of storage devices.

15. The host system of claim 10 , wherein the one or more processors are further configured to:

determine, based on the power and performance data for the plurality of storage devices, the respective performance to power ratio for each respective storage device, wherein adjusting the power consumption level of the particular storage device comprises:

in response to determining that the particular storage device has the greatest respective performance to power ratio of the plurality of storage devices and that a power consumption target of the particular storage device is less than a total amount of power available to the particular storage device:

increase the power consumption level of the particular storage device; and increase a workload of the particular storage device.

16. The host system of claim 10 , wherein, to adjust the power consumption level of the particular storage device, the one or more processors are configured to one or both of:

adjust a power consumption target of the particular storage device; and adjust an operations per time limit of the particular storage device.

17. A storage device comprising:

a controller configured to:

obtain power and performance data including input/output operations per second for each storage device of a plurality of storage devices that includes the storage device, wherein the power and performance data includes input/output operations per second per watt value are obtained from actual operations of the plurality of storage devices; and

adjust, based on the power and performance data and the input/output operations per second per watt value for the plurality of storage devices, a power consumption level of a particular storage device of the plurality of storage devices;

determining, based on the power and performance data for the plurality of storage devices, an average performance level of the plurality of storage devices; and

determining a performance level envelope based on the average performance level of the plurality of storage devices.

18. The storage device of claim 17 , wherein the particular storage device is the storage device.

19. The storage device of claim 17 , wherein the particular storage device is a different storage device of the plurality of storage devices.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2016
From: GEML, ADAM CHRISTOPHER; MCCAMBRIDGE, COLIN CHRISTOPHER; SANDERS, PHILIP JAMES; SENDELBACH, LEE ANTON
To: HGST NETHERLANDS B.V.
Reel/Frame 037990/0680 →