Patentable/Patents/US-10817191
US-10817191

Storage system and method for thermal throttling via command arbitration

PublishedOctober 27, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical 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.

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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

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

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

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

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

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

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

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

9

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

10

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

11

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

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

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

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

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

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

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

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

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

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.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

March 13, 2017

Publication Date

October 27, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Storage system and method for thermal throttling via command arbitration” (US-10817191). https://patentable.app/patents/US-10817191

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.