IP Library Granted Patent US 11,625,176
Granted Patent B2
US 11,625,176 · App. 17/870,320 · Granted Apr 11, 2023

Managed NVM adaptive cache management

Inventors: Carla L. Christensen (Boise, ID); Jianmin Huang (San Carlos, CA); Sebastien Andre Jean (Meridian, ID); Kulachet Tanpairoj (Santa Clara, CA)
Assignee: Micron Technology, Inc.
G06F3/0634G06F3/0616G06F3/0625G06F3/0656G06F3/0679G06F12/0246G06F12/0893G06F2212/1016G06F2212/222G06F2212/608
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 11,625,176
App. No.
17/870,320
Granted
Apr 11, 2023
Kind
B2
Abstract

Disclosed in some examples are memory devices which feature customizable Single Level Cell (SLC) and Multiple Level Cell (MLC) configurations. The configuration (e.g., the size and position) of the SLC cache may have an impact on power consumption, speed, and other performance of the memory device. An operating system of an electronic device to which the memory device is installed may wish to achieve different performance of the device based upon certain conditions detectable by the operating system. In this way, the performance of the memory device can be customized by the operating system through adjustments of the performance characteristics of the SLC cache.

Claims (37)

1. A memory device, comprising:

a memory controller operable to execute instructions which when executed cause the memory controller to perform operations comprising:

receiving a message from a host indicating that the host will write an amount of data that exceeds a specified threshold in a specified period of time to an array of memory cells, the message received by the memory device prior to a receipt of data indicated by the message by the memory device, the message indicating a specific expected size of the data to be written;

responsive to receiving the message:

calculating, using the specific expected size of the data to be written from the message, a number of memory cells of the memory array to reconfigure from a multi-level cell (MLC) to a single-level cell (SLC); and

reconfiguring the number of memory cells of the memory array from MLC to SLC; and

receiving data corresponding to the message and writing at least a portion of the data to the reconfigured SLC cells.

2. The memory device of claim 1 , wherein the message is received from the host over a Universal Flash Storage (UFS) interface.

3. The memory device of claim 1 , wherein the data corresponding to the message comprises streamed audio or video.

4. The memory device of claim 1 , wherein the operations of calculating, using the specific expected size of the data to be written from the message, the number of memory cells of the memory array to reconfigure from a multi-level cell (MLC) to a single-level cell (SLC) comprises using a formula specified by a rule to calculate the number of memory cells, the formula utilizing the specific expected size of the data to be written from the message and a logical block utilization (LBA).

5. The memory device of claim 4 , wherein the operations further comprise receiving the rule from the host.

6. The memory device of claim 1 , wherein the operations further comprise receiving a sleep or hibernate indication, and in response, executing an SLC cache routine to begin garbage collection of the SLC cells by moving data stored in the SLC cells to MLC cells.

7. The memory device of claim 1 , wherein the operations further comprise receiving a low power indication, and in response, bypassing placing subsequent write data from a subsequent write request in the SLC cells.

8. A method comprising:

using a memory controller to perform operations comprising:

receiving a message from a host indicating that the host will write an amount of data that exceeds a specified threshold in a specified period of time to an array of memory cells, the message received by the memory device prior to a receipt of data indicated by the message by the memory device, the message indicating a specific expected size of the data to be written;

responsive to receiving the message:

calculating, using the specific expected size of the data to be written from the message, a number of memory cells of the memory array to reconfigure from a multi-level cell (MLC) to a single-level cell (SLC); and

reconfiguring the number of memory cells of the memory array from MLC to SLC; and

receiving data corresponding to the message and writing at least a portion of the data to the reconfigured SLC cells.

9. The method of claim 8 , wherein the message is received from the host over a Universal Flash Storage (UFS) interface.

10. The method of claim 8 , wherein the data corresponding to the message comprises streamed audio or video.

11. The method of claim 8 , wherein calculating, using the specific expected size of the data to be written from the message, the number of memory cells of the memory array to reconfigure from a multi-level cell (MLC) to a single-level cell (SLC) comprises using a formula specified by a rule to calculate the number of memory cells, the formula utilizing the specific expected size of the data to be written from the message and a logical block utilization (LBA).

12. The method of claim 11 , further comprising receiving the rule from the host.

13. The method of claim 8 , further comprising receiving a sleep or hibernate indication, and in response, executing an SLC cache routine to begin garbage collection of the SLC cells by moving data stored in the SLC cells to MLC cells.

14. The method of claim 8 , further comprising receiving a low power indication, and in response, bypassing placing subsequent write data from a subsequent write request in the SLC cells.

15. A non-transitory machine-readable medium, storing instructions, which when executed by a memory controller of a memory device, cause the memory controller to perform operations comprising:

receiving a message from a host indicating that the host will write an amount of data that exceeds a specified threshold in a specified period of time to an array of memory cells, the message received by the memory device prior to a receipt of data indicated by the message by the memory device, the message indicating a specific expected size of the data to be written;

responsive to receiving the message:

calculating, using the specific expected size of the data to be written from the message, a number of memory cells of the memory array to reconfigure from a multi-level cell (MLC) to a single-level cell (SLC); and

reconfiguring the number of memory cells of the memory array from MLC to SLC; and

receiving data corresponding to the message and writing at least a portion of the data to the reconfigured SLC cells.

16. The non-transitory machine-readable medium of claim 15 , wherein the message is received from the host over a Universal Flash Storage (UFS) interface.

17. The non-transitory machine-readable medium of claim 15 , wherein the data corresponding to the message comprises streamed audio or video.

18. The non-transitory machine-readable medium of claim 15 , wherein calculating, using the specific expected size of the data to be written from the message, the number of memory cells of the memory array to reconfigure from a multi-level cell (MLC) to a single-level cell (SLC) comprises using a formula specified by a rule to calculate the number of memory cells, the formula utilizing the specific expected size of the data to be written from the message and a logical block utilization (LBA).

19. The non-transitory machine-readable medium of claim 18 , further comprising receiving the rule from the host.

20. The non-transitory machine-readable medium of claim 15 , further comprising receiving a sleep or hibernate indication, and in response, executing an SLC cache routine to begin garbage collection of the SLC cells by moving data stored in the SLC cells to MLC cells.

Continuity (3)
Continuation 16731978 · Dec 31, 2019
Continuation 15691147 · Aug 30, 2017
Related Publication 20220357863A1 · Nov 10, 2022