IP Library Granted Patent US 9,697,134
Granted Patent B2
US 9,697,134 · App. 14/735,498 · Granted Jul 4, 2017

Memory having a static cache and a dynamic cache

Inventors: Christopher S. Hale (Boise, ID); Sampath K. Ratnam (Boise, ID); Kishore K. Muchherla (San Jose, CA)
Assignee: Micron Technology, Inc.
G06F12/0897G06F3/0604G06F3/0634G06F3/0673G06F2212/1008G06F2212/1024G06F2212/1041G06F2212/281G06F2212/608G06F2212/6012
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 9,697,134
App. No.
14/735,498
Granted
Jul 4, 2017
Kind
B2
Abstract

The present disclosure includes memory having a static cache and a dynamic cache. A number of embodiments include a memory, wherein the memory includes a first portion configured to operate as a static single level cell (SLC) cache and a second portion configured to operate as a dynamic SLC cache when the entire first portion of the memory has data stored therein.

Claims (60)

1. An apparatus, comprising:

a memory, wherein the memory includes:

a first portion configured to operate as a static single level cell (SLC) cache; and

a second portion configured to operate as a dynamic SLC cache or multilevel cell memory based on whether the entire first portion of the memory has data stored therein.

2. The apparatus of claim 1 , wherein the second portion of the memory is configured to operate as multilevel cell memory when less than the entire first portion of the memory has data stored therein.

3. The apparatus of claim 1 , wherein:

the first portion of the memory includes a first plurality of blocks of memory cells; and

the second portion of the memory includes a second plurality of blocks of memory cells.

4. The apparatus of claim 1 , wherein the first portion of the memory is configured to operate as the static SLC cache for an entire lifetime of the memory.

5. The apparatus of claim 1 , wherein a size of the second portion of the memory corresponds to a quantity of memory cells used by the memory to program data stored in single level cells of the memory to multilevel cells of the memory.

6. A method of operating memory, comprising:

configuring a first portion of a memory to operate as a static single level cell (SLC) cache; and

configuring a second portion of the memory to:

operate as a dynamic SLC cache or multilevel cell (MLC) memory based on whether the entire first portion of the memory has data stored therein; and

operate as MLC memory when less than the entire first portion of the memory has data stored therein.

7. The method of claim 6 , wherein the method includes configuring the second portion of the memory to operate as MLC memory upon a quantity of program operations performed on the second portion of the memory meeting or exceeding a particular threshold.

8. The method of claim 6 , wherein the method includes configuring the second portion of the memory to operate as MLC memory upon a quantity of erase operations performed on the second portion of the memory meeting or exceeding a particular threshold.

9. The method of claim 6 , wherein the method includes configuring the second portion of the memory to operate as MLC memory upon a quantity of blocks in the second portion of the memory having data stored therein meeting or exceeding a particular threshold.

10. The method of claim 6 , wherein the method includes configuring the second portion of the memory to operate as MLC memory upon a quantity of blocks of memory cells used by the memory to program data stored in single level cells of the memory to multilevel cells of the memory being equal to or greater than a quantity of blocks of memory cells in the second portion of the memory.

11. The method of claim 6 , wherein configuring the second portion of the memory to operate as MLC memory includes configuring the second portion of the memory to operate as triple level memory.

12. An apparatus, comprising:

a memory having a plurality of blocks of memory cells; and

circuitry configured to:

operate a first number of the plurality of blocks as a static single level cell (SLC) cache; and

operate a second number of the plurality of blocks as a dynamic SLC cache or multilevel cell memory based on whether all of the first number of the blocks have data stored therein.

13. The apparatus of claim 12 , wherein the circuitry is configured to:

program data to the first number of the blocks upon determining that less than all of the first number of the blocks have data stored therein; and

program data to the second number of the blocks upon determining that all of the first number of the blocks have data stored therein.

14. The apparatus of claim 12 , wherein the plurality of blocks are part of a single die of the memory.

15. The apparatus of claim 12 , wherein the circuitry is configured to:

perform erase operations on the first number of the plurality of blocks in SLC mode; and

perform erase operations on the second number of the plurality of blocks in multilevel cell mode.

16. The apparatus of claim 12 , wherein the memory cells of the first number of the plurality of blocks are multilevel cells configured to operate in SLC mode.

17. The apparatus of claim 12 , wherein the memory cells of the first number of the plurality of blocks are single level cells.

18. A method of operating memory, comprising:

receiving a command to program data to a memory;

determining, upon receiving the command, whether an entire first portion of the memory has data stored therein, wherein the first portion of the memory is configured to operate as a static single level cell (SLC) cache;

programming the data received in the command to the first portion of the memory upon determining that the entire first portion of the memory does not have data stored therein; and

programming the data received in the command to a second portion of the memory upon determining that the entire first portion of the memory has data stored therein, wherein the second portion of the memory is configured to operate as a dynamic SLC cache or multilevel cell memory based on whether the entire first portion of the memory has data stored therein.

19. The method of claim 18 , wherein the method includes:

determining, upon determining that the entire first portion of the memory has data stored therein, whether a quantity of program or erase operations performed on the second portion of the memory meets or exceeds a particular threshold; and

programming the data received in the command to the second portion of the memory upon determining that the quantity of program or erase operations performed on the second portion of the memory does not meet or exceed the particular threshold.

20. The method of claim 19 , wherein the method includes, upon determining that the quantity of program or erase operations performed on the second portion of the memory meets or exceeds the particular threshold:

programming data stored in the first portion of the memory to a third portion of the memory, wherein the third portion of the memory is configured to operate as multilevel cell memory; and

programming the data received in the command to the first portion of the memory.

21. The method of claim 19 , wherein the method includes, upon determining that the quantity of program or erase operations performed on the second portion of the memory meets or exceeds a particular threshold:

configuring the second portion of the memory to operate as multilevel cell memory;

programming data stored in the first portion of the memory to the second portion of the memory; and

programming the data received in the command to the first portion of the memory.

22. The method of claim 18 , wherein the method includes:

determining, upon determining that the entire first portion of the memory has data stored therein, whether a quantity of blocks in the second portion of the memory having data stored therein meets or exceeds a particular threshold; and

programming the data received in the command to the second portion of the memory upon determining that the quantity of blocks in the second portion of the memory having data stored therein does not meet or exceed the particular threshold.

23. The method of claim 22 , wherein the method includes, upon determining that the quantity of blocks in the second portion of the memory having data stored therein meets or exceeds the particular threshold:

programming data stored in the first portion of the memory to a third portion of the memory, wherein the third portion of the memory is configured to operate as multilevel cell memory; and

programming the data received in the command to the first portion of the memory.

24. The method of claim 22 , wherein the method includes, upon determining that the quantity of blocks in the second portion of the memory having data stored therein meets or exceeds the particular threshold:

configuring the second portion of the memory to operate as multilevel cell memory;

programming data stored in the first portion of the memory to the second portion of the memory; and

programming the data received in the command to the first portion of the memory.

25. The method of claim 18 , wherein the method includes receiving the command from a host.

Assignments (8)
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 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2015
From: HALE, CHRISTOPHER S.; RATNAM, SAMPATH K.; MUCHHERLA, KISHORE K.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 035879/0350 →
Continuity (1)
Related Publication 20160364337A1 · Dec 15, 2016