IP Library Granted Patent US 11,972,148
Granted Patent B2
US 11,972,148 · App. 17/839,732 · Granted Apr 30, 2024

Proactive storage operation management using thermal states

Inventor: Ramanathan Muthiah (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0604G06F3/0679
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 11,972,148
App. No.
17/839,732
Granted
Apr 30, 2024
Kind
B2
Abstract

Example storage systems, storage devices, and methods provide proactive management of storage operations using thermal states. Host storage requests are received and used to determine storage commands for a data storage device. For each storage command, a temperature index value corresponding to an estimated change in thermal state for executing the storage command may be determined. The storage commands are allocated to command queues based on the thermal index values and then executed from the command queues by the data storage device without triggering thermal throttling of storage commands.

Claims (85)

1. A storage system, comprising:

a processor;

a memory;

a non-volatile storage medium configured to store host data;

a host interface configured to receive host requests from a host system; and

a storage manager configured to:

determine a plurality of storage commands based on the received host requests;

determine, for each storage command of the plurality of storage commands, a temperature index value corresponding to an estimated change in thermal state for executing that storage command;

allocate, based on the temperature index values, the plurality of storage commands to a plurality of command queues; and

execute, from the plurality of command queues and in parallel, the plurality of storage commands, wherein a sum of the temperature index values for storage commands executed in parallel maintains a thermal state below a thermal throttling threshold.

2. The storage system of claim 1 , wherein:

the host requests are configured to include a cut-off time by which a result of that host request will be returned; and

the storage manager is further configured to:

determine an estimated processing time for each storage command; and

proactively reject host requests that include at least one corresponding storage command that cannot be completed within the cut-off time.

3. The storage system of claim 2 , wherein the storage manager is further configured to:

determine, based on the estimated processing time and the cut-off time, a scheduling priority for each storage command of the plurality of storage commands; and

further base allocation of the plurality of storage commands to the plurality of command queues on the scheduling priority for each storage command.

4. The storage system of claim 1 , wherein:

the storage manager is further configured to determine, for each storage command of the plurality of storage commands, an operation type; and

the temperature index value is based on the operation type.

5. The storage system of claim 1 , wherein:

the storage manager is further configured to determine, for each storage command of the plurality of storage commands, an operation data size; and

the temperature index value is based on the operation data size.

6. The storage system of claim 1 , further comprising:

a temperature index model configured to determine temperature index values based on an operation type, an operation data size, and a current thermal state value, wherein the storage manager is further configured to use the temperature index model to determine the temperature index value for each storage command of the plurality of storage commands.

7. The storage system of claim 1 , further comprising:

a thermal state machine configured to:

monitor the thermal state of a data storage device configured to process the plurality of storage commands; and

throttle, responsive to the thermal throttling threshold, storage commands processed by the data storage device.

8. The storage system of claim 7 , wherein:

the storage manager is further configured to determine a command arrangement policy for maintaining the thermal state below the thermal throttling threshold; and

allocating the plurality of storage commands to the plurality of command queues is based on the command arrangement policy.

9. The storage system of claim 8 , further comprising:

a power state machine configured to:

monitor a power state of the data storage device configured to process the plurality of storage commands; and

throttle, responsive to a power throttling threshold, storage commands processed by the data storage device, wherein allocating the plurality of storage commands to the plurality of command queues:

increases a number of storage commands executed in parallel; and

maintains the power state below the power throttling threshold.

10. The storage system of claim 1 , further comprising:

a data storage device comprising:

the processor;

the memory;

the non-volatile storage medium;

the host interface; and

the storage manager.

11. A computer-implemented method, comprising:

receiving, through a host interface, host requests from a host system for at least one data storage device;

determining a plurality of storage commands based on the received host requests;

determining, for each storage command of the plurality of storage commands, a temperature index value corresponding to an estimated change in thermal state for executing that storage command;

allocating, based on the temperature index values, the plurality of storage commands to a plurality of command queues; and

executing, from the plurality of command queues and in parallel, the plurality of storage commands, wherein a sum of the temperature index values for storage commands executed in parallel maintains a thermal state below a thermal throttling threshold.

12. The computer-implemented method of claim 11 , further comprising:

determining, from the host requests, a cut-off time by which a result of that host request will be returned;

determining an estimated processing time for each storage command; and

proactively rejecting host requests that include at least one corresponding storage command that cannot be completed within the cut-off time.

13. The computer-implemented method of claim 12 , further comprising:

determining, based on the estimated processing time and the cut-off time, a scheduling priority for each storage command of the plurality of storage commands, wherein allocating the plurality of storage commands to the plurality of command queues is further based on the scheduling priority for each storage command.

14. The computer-implemented method of claim 11 , further comprising:

determining, for each storage command of the plurality of storage commands, an operation type, wherein the temperature index value is based on the operation type.

15. The computer-implemented method of claim 11 , further comprising:

determining, for each storage command of the plurality of storage commands, an operation data size, wherein the temperature index value is based on the operation data size.

16. The computer-implemented method of claim 11 , further comprising:

determining reference temperature index values based on an operation type, an operation data size, and a current thermal state value;

storing the reference temperature index values in a temperature index model; and

using the temperature index model to determine the temperature index value for each storage command of the plurality of storage commands based on the operation type, the operation data size, and the current thermal state value for that storage command.

17. The computer-implemented method of claim 11 , further comprising:

monitoring the thermal state of a data storage device configured to process the plurality of storage commands; and

throttling, responsive to the thermal throttling threshold, storage commands processed by the data storage device.

18. The computer-implemented method of claim 17 , further comprising:

determining a command arrangement policy for maintaining the thermal state below the thermal throttling threshold, wherein allocating the plurality of storage commands to the plurality of command queues is based on the command arrangement policy.

19. The computer-implemented method of claim 18 , further comprising:

monitoring a power state of the data storage device configured to process the plurality of storage commands; and

throttling, responsive to a power throttling threshold, storage commands processed by the data storage device, wherein allocating the plurality of storage commands to the plurality of command queues:

increases a number of storage commands executed in parallel; and

maintains the power state below the power throttling threshold.

20. A system, comprising:

a processor;

a memory;

means for storing host data;

means for receiving host requests from a host system;

means for determining a plurality of storage commands based on the received host requests;

means for determining, for each storage command of the plurality of storage commands, a temperature index value corresponding to an estimated change in thermal state for executing that storage command;

means for allocating, based on the temperature index values, the plurality of storage commands to a plurality of command queues; and

means for executing, from the plurality of command queues and in parallel, the plurality of storage commands, wherein a sum of the temperature index values for storage commands executed in parallel maintains a thermal state below a thermal throttling threshold.

Assignments (8)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: MUTHIAH, RAMANATHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060192/0669 →