IP Library Granted Patent US 10,817,191
Granted Patent B2
US 10,817,191 · App. 15/457,676 · Granted Oct 27, 2020

Storage system and method for thermal throttling via command arbitration

Inventors: Sagi Bar (Tel Aviv, IL); Galya Utevsky (Petah Tiqwa, IL); Sergey Naiman (Modiin, IL); Judah Gamliel Hahn (Ofra, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0625G06F1/206G06F1/3225G06F1/3268G06F3/0634G06F3/0659G06F3/0688Y02D10/154
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,817,191
App. No.
15/457,676
Granted
Oct 27, 2020
Kind
B2
Abstract

A storage system and method for thermal throttling via command arbitration are provided. In one embodiment, a storage system is provided comprising a memory and a controller in communication with the memory. The controller is configured to determine whether a temperature of the storage system exceeds a threshold; and in response to determining that the temperature of the storage system exceeds the threshold, pause fetching of new commands from a host. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.

Claims (55)

1. A storage system comprising:

a non-volatile memory; and

a controller coupled to the non-volatile memory, wherein the controller is configured to:

determine whether a temperature of the storage system exceeds a threshold;

determine an amount of time needed to fill an internal queue of the storage system; and

when the temperature of the storage system exceeds the threshold,

fetch commands, for the determined amount of time, from a host;

after fetching the commands, prevent reception of new commands from the host into the storage system; and

execute commands previously received by the storage system,

wherein the commands previously received by the storage system are not the new commands,

wherein the commands previously received by the storage system comprise the fetched commands, and

wherein when the commands previously received by the storage system comprise a read command, the controller is further configured to execute the read command by causing accessing the non-volatile memory, receiving data from the non-volatile memory, and sending the data to the host.

2. The storage system of claim 1 , wherein the controller comprises a command arbiter configured to prevent reception of the new commands, from a submission queue in the host, into a command queue in the storage system, wherein the command queue is the internal queue.

3. The storage system of claim 1 , wherein the controller is further configured to:

after preventing reception of the new commands from the host, process the commands queued in the storage system; and

after the commands queued in the storage system have been processed, enter a low power state.

4. The storage system of claim 3 , wherein the low power state is entered for an amount of time greater than or equal to an amount of time needed to lower the temperature of the storage system below the threshold but less than an amount of time required to reach a timeout condition on the host.

5. The storage system of claim 3 , wherein the controller is further configured to:

after a period of time after entering the low power state, determine whether the temperature of the storage system still exceeds the threshold; and

when the temperature of the storage system still exceeds the threshold, repeat preventing reception of the new commands from the host and entering the low power state.

6. The storage system of claim 1 , wherein the controller is further configured to, after it is determined that the temperature of the storage system exceeds the threshold but before preventing reception of the new commands from the host, fetch the commands from the host for the determined amount of time to avoid a time-out condition on the host.

7. The storage system of claim 1 , wherein the controller is further configured to inform the host that the storage system is preventing reception of the new commands from the host into the storage system.

8. The storage system of claim 1 , wherein the non-volatile memory comprises a three-dimensional memory.

9. The storage system of claim 1 , wherein the storage system is embedded in the host.

10. The storage system of claim 1 , wherein the storage system is removably connected to the host.

11. The storage system of claim 1 , wherein the controller of the storage system is in control of when the controller receives commands from the host.

12. The storage system of claim 1 , wherein the controller of the storage system is in control of when the controller receives commands from the host, and wherein when the temperature of the storage system exceeds the threshold, the controller is further configured to enter a lower power state without consulting with the host.

13. The storage system of claim 1 , wherein when the temperature of the storage system exceeds the threshold, the controller is further configured to, during the prevention of reception of the new commands, execute all commands previously stored in the internal queue in the storage system, wherein all the commands comprise the commands, and wherein all the commands are different from the new commands.

14. The storage system of claim 1 , wherein the new commands comprise read commands and write commands, wherein when the temperature of the storage system exceeds the threshold, the controller is further configured to prevent reception of both the read commands and the write commands.

15. The storage system of claim 1 , wherein the prevention of reception of the new commands prevents a command queue of the storage system from receiving any of commands queued in the host for submission to the storage system.

16. The storage system of claim 1 , wherein the prevention of reception of the new commands is triggered, irrespective of a status of a command queue of the storage system for receiving the new commands.

17. The storage system of claim 1 , wherein during the prevention of reception of the new commands, the controller is further configured to cause the host to slow or stop a flow of additional commands into a queue in the host for submission to the storage system.

18. A method comprising:

performing the following in a storage system:

determining whether the storage system has reached a critical temperature;

determining an amount of time needed to fill an internal queue of the storage system; and

in response to determining that the storage system has reached the critical temperature:

fetching commands, for the determined amount of time, from a host;

after fetching the commands, preventing reception of new commands from the host into the storage system;

processing commands queued in the storage system; and

after processing the commands queued in the storage system, operating the storage system in a mode that reduces temperature of the storage system,

wherein the commands queued are different from the new commands,

wherein the commands queued comprise the fetched commands, and

wherein when the commands queued comprise a read command, processing the commands queued comprises: accessing a non-volatile memory of the storage system, receiving data from the non-volatile memory, and sending the data to the host.

19. The method of claim 11 further comprising, after determining that the storage system has reached the critical temperature but before preventing reception of the new commands from the host, retrieving at least one new command from the host to avoid a time-out of the at least one new command.

20. A storage system comprising:

a non-volatile memory;

in response to the storage system reaching a certain temperature:

means for fetching commands for an amount of time to fill an internal queue of the storage system;

means for preventing reception of new commands from a host into the storage system, after fetching the commands;

means for executing commands previously received by the storage system; and means for operating the storage system in a reduced-temperature mode

after executing the commands previously received by the storage system,

wherein the commands previously received by the storage system are not the new commands,

wherein the commands previously received by the storage system comprise the fetched commands, and

wherein when the commands previously received by the storage system comprise a read command, the means for executing the commands previously received by the storage system comprises means for causing accessing the non-volatile memory, receiving data from the non-volatile memory, and sending the data to the host.

Assignments (10)
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 - 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2017
From: BAR, SAGI; UTEVSKY, GALYA; NAIMAN, SERGEY; HAHN, JUDAH GAMLIEL
To: WESTERN DIGITAL TECHNOLOGIES INC.
Reel/Frame 041567/0259 →
Continuity (1)
Related Publication 20180260152A1 · Sep 13, 2018
Cited By (2)
US 12,386,555 US 12,572,279