IP Library Granted Patent US 10,915,444
Granted Patent B2
US 10,915,444 · App. 16/234,271 · Granted Feb 9, 2021

Garbage collection candidate selection using block overwrite rate

Inventors: Kishore Kumar Muchherla (Fremont, CA); Sampath K. Ratnam (Boise, ID); Ashutosh Malshe (Fremont, CA); Peter Sean Feeley (Boise, ID)
Assignee: MICRON TECHNOLOGY, INC.
G06F12/0253G06F2212/1044
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,915,444
App. No.
16/234,271
Granted
Feb 9, 2021
Kind
B2
Abstract

A processing device in a memory system determines whether a first data block of a plurality of data blocks on the memory component satisfies a first threshold criterion pertaining to a first number of the plurality of data blocks having a lower amount of valid data than a remainder of the plurality of data blocks. Responsive to the first data block satisfying the first threshold criterion, the processing device determines whether the first data block satisfies a second threshold criterion pertaining to a second number of the plurality of data blocks having been written to more recently than the remainder of the plurality of data blocks. Responsive to the first data block satisfying the second threshold criterion, the processing device determines whether a rate of change of an amount of valid data on the first data block satisfies a third threshold criterion. Responsive to the rate of change satisfying the third threshold criterion, the processing device identifies the first data block as a candidate for garbage collection on the memory component.

Claims (48)

1. A system comprising:

a memory component; and

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

determine whether a first data block of a plurality of data blocks on the memory component satisfies a first threshold criterion pertaining to a first number of the plurality of data blocks having a lower amount of valid data than a remainder of the plurality of data blocks;

responsive to the first data block satisfying the first threshold criterion, determine whether the first data block satisfies a second threshold criterion pertaining to a second number of the plurality of data blocks having been written to more recently than the remainder of the plurality of data blocks;

responsive to the first data block satisfying the second threshold criterion, determine whether a rate of change of an amount of valid data on the first data block satisfies a third threshold criterion; and

responsive to the rate of change satisfying the third threshold criterion, identify the first data block as a candidate for garbage collection on the memory component.

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

responsive to the first data block not satisfying the first threshold criterion, prevent the first data block from being identified as a candidate for garbage selection on the memory component.

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

responsive to the first data block not satisfying the second threshold criterion, identify the first data block as a candidate for garbage collection on the memory component.

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

responsive to the rate of change not satisfying the third threshold criterion, prevent the first data block from being identified as a candidate for garbage selection on the memory component.

5. The system of claim 1 , wherein the rate of change of the amount of valid data on the first data block represents a level by which the amount of valid data on the first data block has decreased over a period of time.

6. The system of claim 1 , wherein the third threshold criterion is configurable based on an amount available storage space on the memory component.

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

determine that the rate of change of the amount of valid data on the first data block does not satisfy the third threshold criterion and satisfies a fourth threshold criterion; and

identify the first data block as a candidate for garbage collection on the memory component having a lower priority than a second data block, wherein a rate of change of an amount of valid data on the second data block satisfies the third threshold criterion.

8. A method comprising:

receiving a request to write first data to a memory component;

determining that the memory component does not have an amount available storage space to accept the first data;

identifying a first data block of a plurality of data blocks on the memory component to erase based on a rate of change of an amount of valid data on the first data block, wherein the rate of change of the amount of valid data satisfies a first threshold criterion;

moving the valid data on the first data block from the first data block to a second data block on the memory component;

erasing invalid data on the first data block; and

writing the first data to the first data block.

9. The method of claim 8 , further comprising:

identifying an amount of valid data on each of the plurality of data blocks; and

sorting the plurality of data blocks based on the amount of valid data on each of the plurality of data blocks.

10. The method of claim 9 , further comprising:

identifying a first subset of the plurality of data blocks, wherein the amount of valid data on each of the first subset of the plurality of data blocks is less than the amount of valid data on each of the plurality of data blocks not in the first subset.

11. The method of claim 10 , further comprising:

identifying a second subset of the plurality of data blocks, wherein a write operation was performed on each of the second subset of the plurality of data blocks more recently than on each of the plurality of data blocks not in the second subset.

12. The method of claim 11 , wherein the first data block is in both the first subset and the second subset.

13. The method of claim 8 , wherein the rate of change of the amount of valid data on the first data block represents a level by which the amount of valid data on the first data block has decreased over a period of time.

14. The method of claim 8 , wherein the first threshold criterion is configurable based on the amount available storage space on the memory component.

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

determine whether a first data block of a plurality of data blocks on a memory component satisfies a first threshold criterion pertaining to a first number of the plurality of data blocks having a lower amount of valid data than a remainder of the plurality of data blocks;

responsive to the first data block satisfying the first threshold criterion, determine whether the first data block satisfies a second threshold criterion pertaining to a second number of the plurality of data blocks having been written to more recently than the remainder of the plurality of data blocks;

responsive to the first data block satisfying the second threshold criterion, determine whether a rate of change of an amount of valid data on the first data block satisfies a third threshold criterion; and

responsive to the rate of change satisfying the third threshold criterion, identify the first data block as a candidate for garbage collection on the memory component.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device further to:

responsive to the first data block not satisfying the first threshold criterion, prevent the first data block from being identified as a candidate for garbage selection on the memory component.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device further to:

responsive to the first data block not satisfying the second threshold criterion, identify the first data block as a candidate for garbage collection on the memory component.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device further to:

responsive to the rate of change not satisfying the third threshold criterion, prevent the first data block from being identified as a candidate for garbage selection on the memory component.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the rate of change of the amount of valid data on the first data block represents a level by which the amount of valid data on the first data block has decreased over a period of time.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the third threshold criterion is configurable based on an amount available storage space on the memory component.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2019
From: RATNAM, SAMPATH K.; MALSHE, ASHUTOSH; FEELEY, PETER SEAN; MUCHHERLA, KISHORE KUMAR
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050683/0391 →
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 →