IP Library Granted Patent US 12,602,164
Granted Patent B2
US 12,602,164 · App. 18/676,911 · Granted Apr 14, 2026

Data storage device and method for thermal management through command selection

Inventors: Roshini Hegde (Bangalore, IN); Ramanathan Muthiah (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/0613G06F3/0653G06F3/0659G06F3/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 12,602,164
App. No.
18/676,911
Granted
Apr 14, 2026
Kind
B2
Abstract

A data storage device and method are disclosed for thermal management through command selection. In one embodiment, a data storage device is provided comprising a memory and one or more processors. The one or more processors, individually or in combination, are configured to: determine whether a temperature of the memory and/or a temperature of the one or more processors is above a threshold temperature; in response to determining that only the temperature of the memory is above the threshold temperature, execute a command whose execution uses relatively-more involvement of the one or more processors and relatively-less involvement of the memory; and in response to determining that only the temperature of the one or more processors is above the threshold temperature, execute a command whose execution uses relatively-more involvement of the memory and relatively-less involvement of the one or more processors. Other embodiments are provided.

Claims (55)

1 . A data storage device comprising:

a memory comprising a plurality of memory dies, wherein the plurality of memory dies comprises a plurality of subsets of memory dies in sequential physical locations; and

one or more processors, individually or in combination, configured to:

determine that first and second commands are in a queue, wherein executing the first command uses relatively-more involvement of the one or more processors and relatively-less involvement of the memory, and wherein executing the second command uses relatively-more involvement of the memory and relatively-less involvement of the one or more processors;

determine whether a first temperature of the memory and/or a second temperature of the one or more processors is above a threshold temperature;

in response to determining that only the first temperature of the memory is above the threshold temperature:

retrieve the first command, but not the second command, from the queue;

execute the first command; and

retrieve the second command from the queue only after the first temperature of the memory is no longer above the threshold temperature; and

in response to determining that only the second temperature of the one or more processors is above the threshold temperature:

retrieve the second command, but not the first command, and at least one additional command that uses relatively-more involvement of the memory and relatively-less involvement of the one or more processors from the queue;

execute the second command and the at least one additional command in a sequence such that some, but not all, memory dies in each subset are operational, and wherein the memory dies that are operational are within a temperature limit; and

retrieve the first command from the queue only after the second temperature of the one or more processors is no longer above the threshold temperature.

2 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to perform full-device throttling in response to both the first temperature of the memory and the second temperature of the one or more processors being above the threshold temperature.

3 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to perform a third command without throttling in response to a size of the third command being below a threshold.

4 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to use a thermal credit point system to manage thermal throttling.

5 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to use a feedback loop to determine a temperature delta when a command selection policy changes and impacts an overall temperature curve of the data storage device.

6 . The data storage device of claim 1 , wherein the one or more processors are part of a controller, and the one or more processors, individually or in combination, are further configured to reduce a third temperature of the controller by disabling one or more hardware components of the controller.

7 . The data storage device of claim 6 , wherein the one or more hardware components of the controller comprise: a hardware-aggregate write accumulator, a global access table search engine, a dedicated controller to interact with a host memory buffer/controller, and a hardware accelerator.

8 . The data storage device of claim 1 , wherein the one or more processors are part of a controller, and the one or more processors, individually or in combination, are further configured to reduce a third temperature of the controller by performing at least one of the following: reducing load on the controller by limiting a depth of the queue, reducing a frequency of the controller, modifying a flash interface module (FIM) toggle mode of the controller, or performing a memory trim.

9 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to determine a most-impacted memory die and select commands that reduce a workload on the most-impacted memory die.

10 . The data storage device of claim 1 , wherein the command whose execution uses relatively-more involvement of the memory and relatively-less involvement of the one or more processors comprises a sequential command.

11 . The data storage device of claim 1 , wherein the data storage device comprises a solid-state drive.

12 . The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.

13 . A method comprising:

performing in a data storage device comprising a memory and a controller, wherein the memory comprising a plurality of memory dies and wherein the plurality of memory dies comprises a plurality of subsets of memory dies in sequential physical locations:

determining that first and second commands are in a submission queue, wherein executing the first command uses relatively-more involvement of the controller and relatively-less involvement of the memory, and wherein executing the second command uses relatively-more involvement of the memory and relatively-less involvement of the controller;

determining that one, but not both, of a first temperature the memory and a second temperature of the controller is above a thermal throttling threshold temperature;

in response to determining that only the first temperature of the memory is above the thermal throttling threshold temperature:

retrieving the first command, but not the second command, from the submission queue;

executing the first command; and

retrieving the second command from the submission queue only after the first temperature of the memory is no longer above the thermal throttling threshold temperature; and

in response to determining that only the second temperature of the controller is above the thermal throttling threshold temperature:

retrieving the second command, but not the first command, and at least one additional command that uses relatively-more involvement of the memory and relatively-less involvement of the controller from the submission queue;

executing the second command and the at least one additional command in a sequence such that some, but not all, memory dies in each subset are operational, and wherein the memory dies that are operational are within a temperature limit; and

retrieving the first command from the submission queue only after the second temperature of the controller is no longer above the thermal throttling threshold temperature.

14 . The method of claim 13 , further comprising using a thermal credit point system to manage thermal throttling.

15 . The method of claim 13 , further comprising reducing the second temperature of the controller by disabling one or more hardware components of the controller.

16 . The method of claim 15 , wherein the one or more hardware components of the controller comprise: a hardware-aggregate write accumulator, a global access table search engine, a dedicated controller to interact with a host memory buffer/controller, and a hardware accelerator.

17 . The method of claim 13 , further comprising reducing the second temperature of the controller by performing at least one of the following: reducing load on the controller by limiting a depth of the submission queue, reducing a frequency of the controller, modifying a flash interface module (FIM) toggle mode of the controller, or performing a memory trim.

18 . The method of claim 13 , further comprising using temperature sensors to determine the first temperature of the memory and the second temperature of the controller.

19 . A data storage device comprising:

a memory comprising a plurality of memory dies wherein the plurality of memory dies comprises a plurality of subsets of memory dies in sequential physical locations;

one or more processors; and

means for:

determining that first and second commands are in a queue, wherein executing the first command uses relatively-more involvement of the one or more processors and relatively-less involvement of the memory, and wherein executing the second command uses relatively-more involvement of the memory and relatively-less involvement of the one or more processors;

determining whether a first temperature of the memory and/or a second temperature of the one or more processors is above a threshold temperature;

in response to determining that only the first temperature of the memory is above the threshold temperature:

retrieving the first command, but not the second command, from the queue;

executing the first command; and

retrieving the second command from the queue only after the first temperature of the memory is no longer above the threshold temperature; and

in response to determining that only the second temperature of the one or more processors is above the threshold temperature:

retrieving the second command, but not the first command, and at least one additional command that uses relatively-more involvement of the memory and relatively-less involvement of the one or more processors from the queue;

executing the second command and the at least one additional command in a sequence such that some, but not all, memory dies in each subset are operational, and wherein the memory dies that are operational are within a temperature limit; and

retrieving the first command from the queue only after the second temperature of the one or more processors is no longer above the threshold temperature.

Assignments (4)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: HEGDE, ROSHINI; MUTHIAH, RAMANATHAN
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 067557/0191 →
Continuity (1)
Related Publication 20250370622A1 · Dec 4, 2025
References Cited (17)
US 6021076A · Woo et al. · 2000 [cited by applicant]
US 8304698B1 · Tischler · 2012 [cited by applicant]
US 9760311B1 · Amir et al. · 2017 [cited by applicant]
US 9959188B1 · Krishnan · 2018 [cited by examiner]
US 10353446B2 · Lovicott et al. · 2019 [cited by applicant]
US 11016545B2 · Yang et al. · 2021 [cited by applicant]
US 20120124590A1 · Balakrishnan · 2012 [cited by examiner]
US 20140032939A1 · Jeddeloh · 2014 [cited by examiner]
US 20150338902A1 · Mittal · 2015 [cited by examiner]
US 20160320971A1 · Postavilsky · 2016 [cited by examiner]
US 20170109205A1 · Ahuja · 2017 [cited by examiner]
US 20180260152A1 · Bar · 2018 [cited by examiner]
US 20180286110A1 · Doyle · 2018 [cited by examiner]
US 20190004723A1 · Li · 2019 [cited by examiner]
US 20190073154A1 · Gwin · 2019 [cited by examiner]
US 20230350696A1 · Harwani · 2023 [cited by examiner]
US 20240232039A1 · Isaac · 2024 [cited by examiner]