IP Library Granted Patent US 10,572,388
Granted Patent B2
US 10,572,388 · App. 15/691,147 · Granted Feb 25, 2020

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.
G06F12/0893G06F3/0616G06F3/0625G06F3/0634G06F3/0656G06F3/0679G06F12/0246G06F2212/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 10,572,388
App. No.
15/691,147
Granted
Feb 25, 2020
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 (38)

1. A memory device, comprising:

an array of memory cells, the memory cells in the array configurable as either a multi-level cell (MLC) configuration or a single level cell (SLC) configuration, memory cells in the array that are configured as SLC comprising an SLC cache;

a controller, the controller executing firmware instructions, which cause the controller to perform operations comprising:

receiving an incoming large data transfer indication prior to receiving the data corresponding to the incoming large data transfer;

responsive to receiving the incoming large data transfer indication, reconfiguring a first set of one or more memory cells of the array that are configured as MLC to SLC, a size of the set determined based upon a logical block address utilization and an expected size of the large data transfer;

receiving the data corresponding to the incoming large data transfer and writing at least a portion of the data to the SLC cache;

receiving an ambient temperature indication; and

responsive to the ambient temperature indication, bypassing the SLC cache when servicing a subsequent write request.

2. The memory device of claim 1 , wherein the operations of receiving the indication comprises receiving the indication from a host over a communications interface.

3. The memory device of claim 2 , wherein the communication interface is an interface according to a Universal Flash Storage (UFS) device.

4. The memory device of claim 1 , wherein the operations further comprise:

receiving an indication from a host that a battery level measured by the host is below a predetermined threshold;

responsive to receiving the indication from the host, placing data of a first write request in memory cells of the array configured as MLC and not writing the data in memory cells of the array configured as the SLC cache;

subsequent to receiving the indication from the host, receiving a second indication from the host, the second indication indicating that the battery level is above the predetermined threshold and in response, placing second data of a second request in the SLC cache; and

subsequent to placing the data of the second request in the SLC cache, moving the second data of the second request to memory cells of the array configured as MLC.

5. The memory device of claim 4 , wherein the operations further comprise delaying a reconfiguration of a MLC memory cell to an SLC memory cell responsive to the indication from the host that the battery level measured by the host is below the predetermined threshold.

6. The memory device of claim 4 , wherein the host is associated with an operating system, and wherein the battery is a battery of a mobile computing device.

7. A memory device, comprising:

an array of memory cells, the memory cells in the array configurable as either a multi-level cell (MLC) configuration or a single level cell (SLC) configuration, memory cells in the array that are configured as SLC comprising an SLC cache;

a controller, the controller executing firmware instructions, which cause the controller to perform operations comprising:

receiving an incoming large data transfer indication prior o receiving the data corresponding to the incoming large data transfer;

responsive to receiving the incoming large data transfer indication, reconfiguring a first set of one or more memory cells of the array that are configured as MLC to SLC, a size of the set determined based upon a logical block address utilization and an expected size of the large data transfer;

receiving the data corresponding to the incoming large data transfer and writing the data to the SLC cache;

receiving an ambient temperature indication; and

responsive to the ambient temperature indication, bypassing the SLC cache when servicing a subsequent write request.

8. The memory device of claim 7 , wherein the operations further comprise receiving a low power indication, and in response, bypassing an SLC cache when servicing a subsequent write request.

9. The memory device of claim 7 , wherein the large data transfer indication is provided by an operating system.

10. The memory device of claim 7 , wherein the operations comprise receiving a sleep or hibernate indication, and in response, executing an SLC cache routine to begin garbage collection.

11. A non-transitory machine-readable medium, comprising instructions, that when performed by a machine, causes the machine to perform operations comprising:

at a memory device including an array of memory cells, the memory cells in the array configurable as either a multi-level cell (MLC) configuration or a single level cell (SLC) configuration, memory cells in the array that are configured as SLC comprising an SLC cache:

receiving an incoming large data transfer indication prior to receiving the data corresponding to the incoming large data transfer;

responsive to receiving the incoming large data transfer indication, reconfiguring a first set of one or more memory cells of the array that are configured as MLC to SLC, a size of the set determined based upon a logical block address utilization and an expected size of the large data transfer;

receiving the data corresponding to the incoming large data transfer and writing the data to the SLC cache;

receiving an ambient temperature indication; and

responsive to the ambient temperature indication, bypassing the SLC cache when servicing a subsequent write request.

12. The non-transitory machine-readable medium of claim 11 , wherein the operations further comprise receiving a low power indication, and in response, bypassing an SLC cache when servicing a subsequent write request.

13. The non-transitory machine-readable medium of claim 11 , wherein the large data transfer indication is provided by an operating system.

14. The non-transitory machine-readable medium of claim 11 , wherein the operations comprise receiving a sleep or hibernate indication, and in response, executing an SLC cache routine to begin garbage collection.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050709/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: CHRISTENSEN, CARLA L; HUANG, JIANMIN; JEAN, SEBASTIEN ANDRE; TANPAIROJ, KULACHET
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046818/0889 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046597/0333 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 044348/0253 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 044653/0333 →
Continuity (1)
Related Publication 20190065388A1 · Feb 28, 2019
Cited By (2)
US 12,373,099 US 12,487,756