IP Library Granted Patent US 11,169,747
Granted Patent B2
US 11,169,747 · App. 16/175,605 · Granted Nov 9, 2021

Relocating data to low latency memory

Inventors: Kishore Kumar Muchherla (Fremont, CA); Ashutosh Malshe (Fremont, CA); Vamsi Pavan Rayaprolu (San Jose, CA); Sampath K. Ratnam (Boise, ID); Harish R. Singidi (Fremont, CA); Peter Feeley (Boise, ID)
Assignee: Micron Technology, Inc.
G06F3/0673G06F3/0611G06F3/0647
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,169,747
App. No.
16/175,605
Granted
Nov 9, 2021
Kind
B2
Abstract

A first data block of multiple data blocks is identified in a first portion of the memory component, the first data block being identified based on a read count associated with the first data block satisfies a first threshold criterion. A determination is made as to whether a second portion of the memory component has an amount of unused storage to store data stored at the first data block, wherein the second portion of the memory component is associated with a lower read latency than the first portion. In response to determining that the second portion of the memory component has the amount of unused storage to store the data stored at the first data block, data stored at the first data block in the first portion of the memory component is relocated to a second data block in the second portion of the memory component. An error rate is evaluated on each word line in the first data block. If there are certain word lines that have a higher error rate, and are located between other word lines having lower error rates, data corresponding to the adjacent word lines with lower error rates are relocated to a second portion of the memory component.

Claims (59)

1. A system comprising:

a memory component; and

a processing device, operatively coupled with the memory component, to:

detect an occurrence of a triggering condition pertaining to the memory component, wherein the triggering condition is adjustable based on a number of programming operations performed on the memory component;

responsive to the occurrence of the triggering condition, identify a first data block of a plurality of data blocks in a first portion of the memory component, the first data block being identified based on a read count associated with the first data block satisfying a first threshold criterion pertaining to the read count, wherein the first threshold criterion is based on a deviation of the read count associated with the first data block with respect to at least one of an average read count, a highest read count, or a median read count of the plurality of data blocks in the first portion of the memory component;

determine whether a second portion of the memory component has an amount of unused storage to store data stored at the first data block, wherein the second portion of the memory component is associated with a lower read latency than the first portion; and

in response to determining that the second portion of the memory component has the amount of unused storage to store the data stored at the first data block, relocate data stored at the first data block in the first portion of the memory component to a second data block in the second portion of the memory component.

2. The system of claim 1 , wherein the first portion of the memory component comprises one or more quad-level cells (QLCs) and the second portion of the memory component comprises one or more single-level cell (SLCs).

3. The system of claim 1 , wherein to detect the occurrence of the triggering condition, the processing device is further to:

determine whether an amount of data written to the memory component satisfies a second threshold criterion pertaining to a data threshold, wherein identifying the first data block of the plurality of data blocks in the first portion of the memory component is in response to determining that the amount of data written to the memory component satisfies the second threshold criterion.

4. The system of claim 3 , wherein the processing device is further to:

determine whether a number of programming operations performed on the memory component is below an anticipated value; and

in response to determining that the number of programming operations performed on the memory component is below the anticipated value, decrease the data threshold.

5. The system of claim 3 , wherein the processing device is further to:

determine that a number of programming operations performed on the memory component is above an anticipated value; and

increase the data threshold.

6. The system of claim 1 , wherein the processing device is further to:

determine whether an amount of unused memory cells of the first portion of the memory component satisfies a third threshold criterion; and

in response to determining that the amount of unused memory cells of the first portion of the memory component satisfies the third threshold condition, assign one or more of the unused memory cells of the first portion to the second portion of the memory component.

7. The system of claim 1 , wherein the processing device is further to:

determine whether a number of programming operations performed on the memory component satisfies a fourth threshold condition; and

in response to determining that the number of programming operations performed on the memory component satisfies the fourth threshold condition, determine to not relocate subsequent data.

8. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:

detect an occurrence of a triggering condition pertaining to a memory component, wherein the triggering condition is adjustable based on a number of programming operations performed on the memory component;

responsive to the occurrence of the triggering condition, identify a first data block of a plurality of data blocks in a first portion of the memory component, the first data block being identified based on a read count associated with the first data block satisfying a first threshold condition pertaining to the read count, wherein the first threshold criterion is based on a deviation of the read count associated with the first data block with respect to at least one of an average read count, a highest read count, or a median read count of the plurality of data blocks in the first portion of the memory component;

determine whether a second portion of the memory component has an amount of unused storage to store data stored at the first data block, wherein the second portion of the memory component is associated with a lower read latency than the first portion; and

in response to determining that the second portion of the memory component has the amount of unused storage to store the data stored at the first data block, relocate data stored at the first data block in the first portion of the memory component to a second data block in the second portion of the memory component.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the first portion of the memory component comprises one or more quad-level cells (QLCs) and the second portion of the memory component comprises one or more single-level cell (SLCs).

10. The non-transitory computer-readable storage medium of claim 8 , wherein to detect the occurrence of the triggering condition, the processing device is further to:

determine whether an amount of data written to the memory component satisfies a second threshold condition pertaining to a data threshold, wherein identifying the first data block of the plurality of data blocks in the first portion of the memory component is in response to determining that the amount of data written to the memory component satisfies the second threshold condition.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the processing device is further to:

determine whether a number of programming operations performed on the memory component satisfies a third threshold condition; and

in response to determining that the number of programming operations performed on the memory component satisfying the third threshold condition, increase the data threshold.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the processing device is further to:

determine that a number of programming operations performed on the memory component is above an anticipated value; and

increase the data threshold.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the processing device is further to:

determine whether an amount of unused memory cells of the first portion of the memory component satisfies a fourth threshold condition; and

in response to determining that the amount of unused memory cells of the first portion of the memory component satisfies the fourth threshold condition, assign one or more of the unused memory cells of the first portion to the second portion of the memory component.

14. A method comprising:

detecting an occurrence of a triggering condition pertaining to a memory component, wherein the triggering condition is adjustable based on a number of programming operations performed on the memory component;

responsive to the occurrence of the triggering condition, identifying a first data block of a plurality of data blocks in a first portion of the memory component, the first data block being identified based on a read count associated with the first data block satisfying a first threshold criterion pertaining to the read count, wherein the first threshold criterion is based on a deviation of the read count associated with the first data block with respect to at least one of an average read count, a highest read count, or a median read count of the plurality of data blocks in the first portion of the memory component;

determining whether a second portion of the memory component has an amount of unused storage to store data stored at the first data block, wherein the second portion of the memory component is associated with a lower read latency than the first portion; and

in response to determining that the second portion of the memory component has the amount of unused storage to store the data stored at the first data block, relocating data stored at the first data block in the first portion of the memory component to a second data block in the second portion of the memory component.

15. The method of claim 14 , wherein the first portion of the memory component comprises one or more quad-level cells (QLCs) and the second portion of the memory component comprises one or more single-level cell (SLCs).

16. The method of claim 14 , wherein detecting the occurrence of the triggering condition comprises:

determining whether an amount of data written to the memory component satisfies a second threshold criterion pertaining to a data threshold, wherein identifying the first data block of the plurality of data blocks in the first portion of the memory component is in response to determining that the amount of data written to the memory component satisfies the second threshold criterion.

17. The method of claim 16 , further comprising:

determining whether a number of programming operations performed on the memory component is below an anticipated value; and

in response to determining that the number of programming operations performed on the memory component is below the anticipated value, decreasing the data threshold.

18. The method of claim 16 , further comprising:

determining that a number of programming operations performed on the memory component is above an anticipated value; and

increasing the data threshold.

19. The method of claim 14 , further comprising:

determining whether an amount of unused memory cells of the first portion of the memory component satisfies a third threshold criterion; and

in response to determining that the amount of unused memory cells of the first portion of the memory component satisfies the third threshold condition, assigning one or more of the unused memory cells of the first portion to the second portion of the memory component.

20. The method of claim 14 , further comprising:

determining whether a number of programming operations performed on the memory component satisfies a fourth threshold condition; and

in response to determining that the number of programming operations performed on the memory component satisfies the fourth threshold condition, determining to not relocate subsequent data.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: MUCHHERLA, KISHORE KUMAR; MALSHE, ASHUTOSH; RAYAPROLU, VAMSI PAVAN; RATNAM, SAMPATH K.; SINGIDI, HARISH R.; FEELEY, PETER
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047362/0167 →
Cited By (1)
US 12,423,178