IP Library › Granted Patent US 11,556,479
Granted Patent B1
US 11,556,479 · App. 17/397,799 · Granted Jan 17, 2023

Cache block budgeting techniques

Inventors: Deping He (Boise, ID); David Aaron Palmer (Boise, ID)
Assignee: Micron Technology, Inc.
G06F12/0893G06F2212/1044G06F2212/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 11,556,479
App. No.
17/397,799
Granted
Jan 17, 2023
Kind
B1
Abstract

Methods, systems, and devices for cache block budgeting techniques are described. In some memory systems, a controller may configure a memory device with a cache. The cache may include a first subset of blocks configured to statically operate in a first mode and a second subset of blocks configured to dynamically switch between operating in the first mode and a second mode. A block operating in the second mode may be configured to store relatively more bits per memory cell than a block operating in the first mode. The controller may track and store, for each block of the second subset of blocks, a respective ratio of cycles performed in the first mode to cycles performed in the second mode. The controller may select a block from the second subset of blocks to switch between modes responsive to a trigger and based on the respective ratio for the block.

Claims (74)

1. An apparatus, comprising:

a memory device; and

a controller coupled with the memory device and configured to cause the apparatus to:

configure the memory device with a cache comprising a first subset of blocks configured to statically operate in a first mode and a second subset of blocks configured to dynamically switch between operating in the first mode and a second mode, wherein a first block operating in the first mode is configured to store a first quantity of bits per memory cell and a second block operating in the second mode is configured to store a second quantity of bits greater than the first quantity of bits per memory cell;

store, for each block of the second subset of blocks, a respective ratio of cycles performed in the first mode to cycles performed in the second mode; and

select a block from the second subset of blocks to switch from the first mode to the second mode or from the second mode to the first mode responsive to a trigger and based at least in part on the respective ratio for the block.

2. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

assign, based at least in part on a threshold total bytes written (TBW) for the cache, each block of the second subset of blocks a respective target ratio of cycles performed in the first mode to cycles performed in the second mode according to a respective first target count for the first mode and a respective second target count for the second mode.

3. The apparatus of claim 2 , wherein the controller is further configured to cause the apparatus to:

identify the trigger to switch the block from the first mode to the second mode; and

determine the respective ratio for the block is greater than the respective target ratio for the block based at least in part on identifying the trigger, wherein the block is selected based at least in part on the determining.

4. The apparatus of claim 3 , wherein the trigger comprises a current capacity of the memory device failing to satisfy a threshold capacity, a command indicating to write data to the memory device, or both.

5. The apparatus of claim 2 , wherein the controller is further configured to cause the apparatus to:

identify the trigger to switch the block from the second mode to the first mode; and

determine the respective ratio for the block is less than the respective target ratio for the block based at least in part on identifying the trigger, wherein the block is selected based at least in part on the determining.

6. The apparatus of claim 5 , wherein the trigger comprises a current capacity of the memory device satisfying a threshold capacity, a command indicating to delete data from the memory device, or both.

7. The apparatus of claim 2 , wherein the controller is further configured to cause the apparatus to:

compare a current TBW for the cache at a first time to a second threshold TBW for the cache at the first time, the second threshold TBW being based at least in part on the threshold TBW for the cache and the first time; and

modify a target ratio for at least one block of the second subset of blocks based at least in part on the comparing.

8. The apparatus of claim 7 , wherein:

the current TBW for the cache is less than the second threshold TBW for the cache at the first time; and

the controller configured to cause the apparatus to modify the target ratio is configured to cause the apparatus to:

decrease a first target count for the first mode for the at least one block of the second subset of blocks based at least in part on the current TBW being less than the second threshold TBW; and

increase a second target count for the second mode for the at least one block of the second subset of blocks based at least in part on the current TBW being less than the second threshold TBW.

9. The apparatus of claim 7 , wherein:

the current TBW for the cache is greater than the second threshold TBW for the cache at the first time; and

the controller configured to cause the apparatus to modify the target ratio is configured to cause the apparatus to:

increase a first target count for the first mode for the at least one block of the second subset of blocks based at least in part on the current TBW being greater than the second threshold TBW; and

decrease a second target count for the second mode for the at least one block of the second subset of blocks based at least in part on the current TBW being greater than the second threshold TBW.

10. The apparatus of claim 7 , wherein the comparing is performed according to a configured periodicity.

11. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

assign the first subset of blocks and the second subset of blocks to the cache based at least in part on a threshold capacity for the memory device.

12. The apparatus of claim 1 , wherein the controller is further configured to cause the apparatus to:

assign blocks to the first subset of blocks or the second subset of blocks based at least in part on a threshold total bytes written (TBW) for the cache.

13. The apparatus of claim 1 , wherein:

the first block operating in the first mode stores first data in a single-level cell (SLC) and the second block operating in the second mode stores second data in a multi-level cell (MLC), a tri-level cell (TLC), or a quad-level cell (QLC);

the first block operating in the first mode stores first data in an MLC and the second block operating in the second mode stores second data in a TLC or a QLC; or

the first block operating in the first mode stores first data in a TLC and the second block operating in the second mode stores second data in a QLC.

14. The apparatus of claim 1 , wherein the memory device comprises a not-and memory device.

15. A non-transitory computer-readable medium storing code comprising instructions which, when executed by a processor of an electronic device, cause the electronic device to:

configure a memory device with a cache comprising a first subset of blocks configured to statically operate in a first mode and a second subset of blocks configured to dynamically switch between operating in the first mode and a second mode, wherein a first block operating in the first mode is configured to store a first quantity of bits per memory cell and a second block operating in the second mode is configured to store a second quantity of bits greater than the first quantity of bits per memory cell;

store, for each block of the second subset of blocks, a respective ratio of cycles performed in the first mode to cycles performed in the second mode; and

select a block from the second subset of blocks to switch from the first mode to the second mode or from the second mode to the first mode responsive to a trigger and based at least in part on the respective ratio for the block.

16. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

assign, based at least in part on a threshold total bytes written (TBW) for the cache, each block of the second subset of blocks a respective target ratio of cycles performed in the first mode to cycles performed in the second mode according to a respective first target count for the first mode and a respective second target count for the second mode.

17. The non-transitory computer-readable medium of claim 16 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

identify the trigger to switch the block from the first mode to the second mode; and

determine the respective ratio for the block is greater than the respective target ratio for the block based at least in part on identifying the trigger, wherein the block is selected based at least in part on the determining.

18. The non-transitory computer-readable medium of claim 16 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

identify the trigger to switch the block from the second mode to the first mode; and

determine the respective ratio for the block is less than the respective target ratio for the block based at least in part on identifying the trigger, wherein the block is selected based at least in part on the determining.

19. The non-transitory computer-readable medium of claim 16 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

compare a current TBW for the cache at a first time to a second threshold TBW for the cache at the first time, the second threshold TBW being based at least in part on the threshold TBW for the cache and the first time; and

modify a target ratio for at least one block of the second subset of blocks based at least in part on the comparing.

20. The non-transitory computer-readable medium of claim 19 , wherein:

the current TBW for the cache is less than the second threshold TBW for the cache at the first time; and

the instructions causing the electronic device to modify the target ratio, when executed by the processor of the electronic device, cause the electronic device to:

decrease a first target count for the first mode for the at least one block of the second subset of blocks based at least in part on the current TBW being less than the second threshold TBW; and

increase a second target count for the second mode for the at least one block of the second subset of blocks based at least in part on the current TBW being less than the second threshold TBW.

21. The non-transitory computer-readable medium of claim 19 , wherein:

the current TBW for the cache is greater than the second threshold TBW for the cache at the first time; and

the instructions causing the electronic device to modify the target ratio, when executed by the processor of the electronic device, cause the electronic device to:

increase a first target count for the first mode for the at least one block of the second subset of blocks based at least in part on the current TBW being greater than the second threshold TBW; and

decrease a second target count for the second mode for the at least one block of the second subset of blocks based at least in part on the current TBW being greater than the second threshold TBW.

22. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

assign the first subset of blocks and the second subset of blocks to the cache based at least in part on a threshold capacity for the memory device.

23. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the processor of the electronic device, further cause the electronic device to:

assign blocks to the first subset of blocks or the second subset of blocks based at least in part on a threshold total bytes written (TBW) for the cache.

24. A method performed by a memory system, comprising:

configuring a memory device with a cache comprising a first subset of blocks configured to statically operate in a first mode and a second subset of blocks configured to dynamically switch between operating in the first mode and a second mode, wherein a first block operating in the first mode stores a first quantity of bits per memory cell and a second block operating in the second mode stores a second quantity of bits greater than the first quantity of bits per memory cell;

storing, for each block of the second subset of blocks, a respective ratio of cycles performed in the first mode to cycles performed in the second mode; and

selecting a block from the second subset of blocks to switch from the first mode to the second mode or from the second mode to the first mode responsive to a trigger and based at least in part on the respective ratio for the block.

25. The method of claim 24 , further comprising:

assigning, based at least in part on a threshold total bytes written (TBW) for the cache, each block of the second subset of blocks a respective target ratio of cycles performed in the first mode to cycles performed in the second mode according to a respective first target count for the first mode and a respective second target count for the second mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: HE, DEPING; PALMER, DAVID AARON
To: MICRON TECHNOLOGY, INC.
Reel/Frame 057228/0607 →
Cited By (3)
US 12,299,282 US 12,307,090 US 12,704,995