IP Library Granted Patent US 12,124,739
Granted Patent B2
US 12,124,739 · App. 17/949,333 · Granted Oct 22, 2024

Memory devices including idle time prediction

Inventors: Tyler L. Betz (Meridian, ID); Sundararajan N. Sankaranarayanan (Fremont, CA); Roberto Izzi (Caserta, IT); Massimo Zucchinali (Torre Boldone, IT); Xiangyu Tang (San Jose, CA)
Assignee: Micron Technology, Inc.
G06F3/0659G06F3/0604G06F3/0634G06F3/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,124,739
App. No.
17/949,333
Granted
Oct 22, 2024
Kind
B2
Abstract

A memory device includes an interface to communicate with a host, an array of memory cells, and a controller. The controller is configured to access the array of memory cells in response to commands from the host. The controller is further configured to enter an idle time in response to no commands from the host with queue empty, receive a first command from the host, and exit the idle time in response receiving a second command from the host. The controller is further configured to for a plurality of idle times, generate a history indicating a length of each idle time. The controller is further configured to predict the length of a subsequent idle time based on the history.

Claims (66)

1. A memory device comprising:

an interface to communicate with a host;

an array of memory cells; and

a controller configured to access the array of memory cells in response to commands from the host,

wherein the controller is further configured to:

enter an idle time in response to no commands from the host with queue empty, receive a first command from the host, and exit the idle time in response to receiving a second command from the host;

for a plurality of idle times, generate a history indicating a length of each idle time; and

predict the length of a subsequent idle time based on the history;

wherein the controller is further configured to, in response to predicting the length of the subsequent idle time will be less than a first threshold time:

in response to a subsequent first command, transition to a first power state;

transition to a second power state higher than the first power state in response to the first threshold time elapsing;

run background operations in the second power state; and

in response to completing the background operations, transition to a third power state lower than the first power state.

2. The memory device of claim 1 , wherein the controller is further configured to, for the plurality of idle times, generate the history indicating whether the length of each idle time is within a first range of idle times less than the first threshold time or in a second range of idle times greater than the first threshold time.

3. The memory device of claim 2 , wherein the controller is further configured to, for the plurality of idle times, generate the history indicating the length of each idle time is within one of the first range of idle times and the second range of idle times in response to the idle time being equal to the first threshold.

4. The memory device of claim 2 , wherein the controller is further configured to, predict whether the length of the subsequent idle time will be less than the first threshold time or greater than the first threshold time based on the history.

5. The memory device of claim 2 , wherein the controller is further configured to, predict whether the length of the subsequent idle time will be less than the first threshold time, greater than the first threshold time, or indeterminate based on the history.

6. A memory device comprising:

an interface to communicate with a host;

an array of memory cells; and

a controller configured to access the array of memory cells in response to commands from the host,

wherein the controller is further configured to:

enter an idle time in response to no commands from the host with queue empty, receive a first command from the host, and exit the idle time in response to receiving a second command from the host;

for a plurality of idle times, generate a history indicating a length of each idle time; and

predict the length of a subsequent idle time based on the history;

wherein the controller is further configured to, for the plurality of idle times, generate the history indicating whether the length of each idle time is within a first range of idle times less than a first threshold time or in a second range of idle times greater than the first threshold time;

wherein the controller is further configured to, predict whether the length of the subsequent idle time will be less than the first threshold time or greater than the first threshold time based on the history;

wherein the controller is further configured to, in response to predicting the length of the subsequent idle time will be less than the first threshold time:

in response to a subsequent first command, transition to a first power state;

transition to a second power state higher than the first power state in response to the first threshold time elapsing;

run background operations in the second power state; and

in response to completing the background operations, transition to a third power state lower than the first power state.

7. The memory device of claim 6 , wherein the controller is further configured to maintain the third power state until a subsequent second command is received.

8. The memory device of claim 6 , wherein the controller is further configured to, in response to predicting the length of the subsequent idle time will be greater than the first threshold time:

in response to the subsequent first command, transition to the second power state;

run background operations in the second power state; and

in response to completing the background operations, transition to the third power state.

9. A memory device comprising:

an interface to communicate with a host;

an array of memory cells; and

a controller configured to access the array of memory cells in response to commands from the host,

wherein the controller is further configured to:

enter an idle time in response to no commands from the host with queue empty, receive a first command from the host, and exit the idle time in response to receiving a second command from the host;

for a plurality of idle times, generate a history indicating a length of each idle time; and

predict the length of a subsequent idle time based on the history;

wherein the controller is further configured to, for the plurality of idle times, generate the history indicating whether the length of each idle time is within a first range of idle times less than a first threshold time or in a second range of idle times greater than the first threshold time;

wherein the controller is further configured to, predict whether the length of the subsequent idle time will be less than the first threshold time, greater than the first threshold time, or indeterminate based on the history;

wherein the controller is further configured to, in response to predicting the length of the subsequent idle time will be indeterminate:

in response to a subsequent first command, transition to a first power state;

transition to a second power state higher than the first power state in response to a second threshold time different from the first threshold time elapsing;

run background operations in the second power state; and

in response to completing the background operations, transition to a third power state lower than the first power state.

10. The memory device of claim 9 , wherein the second threshold time is less than the first threshold time.

11. A memory device comprising:

an interface to communicate with a host;

an array of memory cells; and

a controller configured to access the array of memory cells in response to commands from the host,

wherein the controller is further configured to:

enter an idle time in response to no commands from the host with queue empty, receive a first command from the host, and exit the idle time in response to receiving a second command from the host;

for a plurality of idle times, generate a history indicating a length of each idle time; and

predict the length of a subsequent idle time based on the history,

wherein the controller is further configured to, in response to predicting the length of the subsequent idle time will be indeterminate:

in response to a subsequent first command, transition to a first power state;

transition to a second power state higher than the first power state in response to a threshold time elapsing;

run background operations in the second power state; and

in response to completing the background operations, transition to a third power state lower than the first power state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2022
From: BETZ, TYLER L.; SANKARANARAYANAN, SUNDARARAJAN N.; IZZI, ROBERTO; ZUCCHINALI, MASSIMO; TANG, XIANGYU
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061163/0953 →
Continuity (2)
Provisional Application 63402186 · Aug 30, 2022
Related Publication 20240069809A1 · Feb 29, 2024