IP Library › Granted Patent US 10,133,483
Granted Patent B2
US 10,133,483 · App. 14/698,511 · Granted Nov 20, 2018

Memory system and method for differential thermal throttling

Inventors: Evgeny Postavilsky (Ashkelon, IL); Gadi Vishne (Petach-Tikva, IL); Judah Gamliel Hahn (Ofra, IL)
Assignee: SANDISK TECHNOLOGIES LLC
G06F3/0604G06F1/206G06F3/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 10,133,483
App. No.
14/698,511
Granted
Nov 20, 2018
Kind
B2
Abstract

A memory system and method for differential thermal throttling are disclosed. In one embodiment, a memory system is provided comprising a memory and a controller. The controller is configured to receive a command to perform an operation in the memory and analyze the command to determine whether thermal throttling the memory system would result in an unacceptable impact on user experience. In response to determining that thermal throttling the memory system would result in an unacceptable impact on user experience, the controller executes the command. In response to determining that thermal throttling the memory system would not result in an unacceptable impact on user experience, the controller thermal throttles the memory system. Other embodiments are provided.

Claims (55)

1. A memory system comprising:

a memory; and

a controller in communication with the memory, wherein the controller is configured to:

determine that the memory system is in a thermal throttled mode;

receive a stream of commands from a host to perform operations in the memory; and

after determining that the memory system is in the thermal throttled mode:

analyze the stream of commands to determine whether or not the stream of commands is from a user who is expecting a response to the stream of commands, wherein the analyzing comprises:

determining whether the stream of commands comprises read commands or write commands;

determining whether a stream type is random or sequential; and

determining whether a command transfer size of the stream of commands is greater than or less than a threshold;

wherein the determining that the stream of commands is from the user who is expecting the response to the stream of commands is in response to determining that (i) the stream of commands comprises read commands, (ii) the stream type is random; and (iii) the command transfer size of the stream of commands is less than the threshold; and

execute, in response to the determining that the stream of commands is from the user who is expecting the response to the stream of commands, the stream of commands while the memory system is in the thermal throttled mode; and

otherwise, delay execution of the stream of commands because the memory system is in the thermal throttled mode.

2. The memory system of claim 1 , wherein the stream of commands is analyzed to determine queue parameters associated with the stream of commands.

3. The memory system of claim 1 , wherein the controller is configured to delay execution of the stream of commands by inserting a delay.

4. The memory system of claim 1 , wherein the memory comprises a plurality of memory dies, and wherein the controller is configured to delay execution of the stream of commands by reducing die parallelism.

5. The memory system of claim 1 , wherein the memory comprises a three-dimensional memory.

6. The memory system of claim 1 , wherein the memory system is embedded in the host.

7. The memory system of claim 1 , wherein the memory system is removably connected to the host.

8. A memory system comprising:

a memory;

means for receiving a stream of commands to perform an operation in the memory;

means for determining that the memory system is in a thermal throttled mode;

means for, after determining that the memory system is in the thermal throttled mode:

analyzing the stream of commands to determine whether or not the stream of commands is from a user who is expecting a response to the stream of commands, wherein the analyzing comprises:

determining whether the stream of commands comprises read commands or write commands;

determining whether a stream type is random or sequential; and

determining whether a command transfer size of the stream of commands is greater than or less than a threshold;

wherein the determining that the stream of commands is from the user who is expecting the response to the stream of commands is in response to determining that (i) the stream of commands comprises read commands, (ii) the stream type is random; and (iii) the command transfer size of the stream of commands is less than the threshold; and

means for executing, in response to the determining that the stream of commands is from the user who is expecting the response to the stream of commands, the stream of commands while the memory system is in the thermal throttled mode; and

means for otherwise delaying execution of the stream of commands because the memory system is in the thermal throttled mode.

9. The memory system of claim 8 , wherein the means for determining whether or not the stream of commands is from the user who is expecting the response to the command comprises means for determining queue parameters associated with the stream of commands.

10. The memory system of claim 8 , wherein the memory comprises a three-dimensional memory.

11. The memory system of claim 8 :

wherein the means for receiving the stream of commands to perform the operation in the memory comprises means for receiving the stream of commands from a host; and

wherein the memory system is embedded in the host.

12. The memory system of claim 8 :

wherein the means for receiving the stream of commands to perform the operation in the memory comprises means for receiving the stream of commands from a host; and

wherein the memory system is removably connected to the host.

13. A method for differential thermal throttling, the method comprising:

performing the following in a memory system comprising a memory after determining that the memory system is in a thermal throttled mode:

analyzing a stream of commands to determine whether or not the stream of commands is from a user who is expecting a response to the stream of commands; and

executing, in response to the determining that the stream of commands is from the user who is expecting the response to the stream of commands, the stream of commands while the memory system is in the thermal throttled mode; and

otherwise, delaying execution of the stream of commands because the memory system is in the thermal throttled mode;

wherein the determining that the stream of commands is from the user who is expecting the response to the stream of commands comprises determining that (i) the stream of commands comprises read commands, (ii) a type of the stream is random; and (iii) a command transfer size of the stream of commands is less than a threshold.

14. The method of claim 13 , wherein the stream of commands is analyzed to determine queue parameters associated with the stream of commands.

15. The method of claim 13 , wherein delaying execution of the stream of commands comprises inserting a delay.

16. The method of claim 13 , wherein the memory comprises a plurality of memory dies, and wherein delaying execution of the stream of commands comprises reducing die parallelism.

17. The method of claim 13 , wherein the memory comprises a three-dimensional memory.

18. The method of claim 13 :

wherein the analyzing the stream of commands to determine whether or not the stream of commands is from the user who is expecting the response to the stream of commands comprises analyzing the stream of commands from a host; and

wherein the memory system is embedded in the host.

19. The method of claim 13 :

wherein the analyzing the stream of commands to determine whether or not the stream of commands is from the user who is expecting the response to the stream of commands comprises analyzing the stream of commands from a host; and

wherein the memory system is removably connected to the host.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2015
From: POSTAVILSKY, EVGENY; VISHNE, GADI; HAHN, JUDAH GAMLIEL
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 035519/0079 →
Continuity (1)
Related Publication 20160320971A1 · Nov 3, 2016
Cited By (1)
US 12,638,824