IP Library › Granted Patent US 11,899,576
Granted Patent B2
US 11,899,576 · App. 16/438,355 · Granted Feb 13, 2024

Dynamically modifying garbage collection rates for a memory subsystem in a closed-loop system

Inventor: Chris Carpenter (Sunnyvale, CA)
Assignee: MICRON TECHNOLOGY, INC.
G06F12/0253G06F3/0608G06F3/0644G06F3/0679
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,899,576
App. No.
16/438,355
Granted
Feb 13, 2024
Kind
B2
Abstract

In a closed-loop garbage collection system a comparator receives a first target time indicating when a first superblock of memory is expected to be filled based on a first write rate for a first write cursor writing data units into the first superblock. The comparator further receives a negative loop feedback based on one or more elements from the garbage collection process. The comparator determines a first garbage collection rate based on the first target time and the negative loop feedback, where the first garbage collection rate is calculated to provide a free empty superblock to the first write cursor within a range of time of the first target time. The comparator sends instructions to a garbage collection manager to perform a garbage collection process at the first garbage collection rate, wherein an outcome of the garbage collection process is incorporated into the negative loop feedback sent to the comparator.

Claims (40)

1. A method comprising:

receiving, at a comparator in a closed-loop garbage collection system, a first target time, the first target time indicating when a first superblock of memory is expected to be filled based on a first write rate for a first write cursor writing data units into the first superblock;

receiving, at the comparator, a negative loop feedback, wherein the negative loop feedback includes an adjustable empty superblock delivery time indicating a time prior to the first target time to deliver a free empty superblock to the first write cursor, wherein the adjustable empty superblock delivery time is based on an amount of time to erase the data units from a first garbage collection superblock to produce the free empty superblock;

determining, by the comparator, a first garbage collection rate based on the first target time and the negative loop feedback, the first garbage collection rate calculated to provide the free empty superblock to the first write cursor within a range of time of the first target time, wherein the range of time is based on the adjustable empty superblock delivery time;

sending instructions to a garbage collection manager to perform a garbage collection process at the first garbage collection rate, wherein an outcome of the garbage collection process is incorporated into the negative loop feedback sent to the comparator;

receiving, by the comparator from a write cursor collision detector, an indication that a second target time is within a collision range of the first target time, the second target time indicating when a second superblock is expected to be filled based on a second write rate for a second write cursor writing data units into the second superblock; and

modifying the first garbage collection rate to a second garbage collection rate based on the first target time and the second target time to provide a first empty superblock to the first write cursor prior to the first target time and a second empty superblock to the second write cursor prior to the second target time.

2. The method of claim 1 , wherein the negative loop feedback further includes an integrated value of a difference between a number of free empty superblocks generated based on the first garbage collection rate and a number of required free empty superblocks.

3. The method of claim 1 , where determining the first garbage collection rate based on the first target time and the negative loop feedback further comprises:

calculating a raw garbage collection rate; and

sending the raw garbage collection rate through a loop filter to generate the first garbage collection rate.

4. The method of claim 1 , wherein the negative loop feedback further includes a count of a number of valid data units in a first garbage collection superblock selected for the garbage collection process.

5. The method of claim 4 , wherein the first garbage collection superblock is selected for the garbage collection process from a pipeline of garbage collection superblocks.

6. A non-transitory computer-readable medium storing instructions, which when executed by a processing device, cause the processing device to:

receive, at a comparator in a closed-loop garbage collection system, a first target time, the first target time indicating when a first superblock of memory is expected to be filled based on a first write rate for a first write cursor writing data units into the first superblock;

receive, at the comparator, a negative loop feedback, wherein the negative loop feedback includes an adjustable empty superblock delivery time indicating a time prior to the first target time to deliver a free empty superblock, wherein the adjustable empty superblock delivery time is based on an amount of time to erase the data units from a first garbage collection superblock to produce the free empty superblock;

determine, by the comparator, a first garbage collection rate based on the first target time and the negative loop feedback, the first garbage collection rate calculated to provide the free empty superblock to the first write cursor within a range of time of the first target time, wherein the range of time is based on the adjustable empty superblock delivery time;

send instructions to a garbage collection manager to perform a garbage collection process at the first garbage collection rate, wherein an outcome of the garbage collection process is incorporated into the negative loop feedback sent to the comparator;

receive, by the comparator from a write cursor collision detector, an indication that a second target time is within a collision range of the first target time, the second target time indicating when a second superblock is expected to be filled based on a second write rate for a second write cursor writing data units into the second superblock; and

modify the first garbage collection rate to a second garbage collection rate based on the first target time and the second target time to provide a first empty superblock to the first write cursor prior to the first target time and a second empty superblock to the second write cursor prior to the second target time.

7. The non-transitory computer-readable medium of claim 6 , wherein the negative loop feedback further includes an integrated value of a difference between a number of free empty superblocks generated based on the first garbage collection rate and a number of required free empty superblocks.

8. The non-transitory computer-readable medium of claim 6 , where determining the first garbage collection rate based on the first target time and the negative loop feedback further comprises:

calculating a raw garbage collection rate; and

sending the raw garbage collection rate through a loop filter to generate the first garbage collection rate.

9. The non-transitory computer-readable medium of claim 6 , wherein the negative loop feedback further includes a count of a number of valid data units in a first garbage collection superblock selected for the garbage collection process.

10. The non-transitory computer-readable medium of claim 9 , wherein the first garbage collection superblock is selected for the garbage collection process from a pipeline of garbage collection superblocks.

11. A system comprising:

a plurality of memory devices; and

a processing device, operatively coupled with the plurality of memory devices, to:

receive, at a comparator in a closed-loop garbage collection system, a first target time, the first target time indicating when a first superblock of memory is expected to be filled based on a first write rate for a first write cursor writing data units into the first superblock;

receive, at the comparator, a negative loop feedback, wherein the negative loop feedback includes an adjustable empty superblock delivery time indicating a time prior to the first target time to deliver a free empty superblock and an integrated value of a difference between a number of free empty superblocks generated based on the first garbage collection rate and a number of required free empty superblocks, wherein the adjustable empty superblock delivery time is based on an amount of time to erase the data units from a first garbage collection superblock to produce the free empty superblock;

determine, by the comparator, a first garbage collection rate based on the first target time and the negative loop feedback, the first garbage collection rate calculated to provide the free empty superblock to the first write cursor within a range of time of the first target time, wherein the range of time is based on the adjustable empty superblock delivery time;

send instructions to a garbage collection manager to perform a garbage collection process at the first garbage collection rate, wherein an outcome of the garbage collection process is incorporated into the negative loop feedback sent to the comparator;

receive, by the comparator from a write cursor collision detector, an indication that a second target time is within a collision range of the first target time, the second target time indicating when a second superblock is expected to be filled based on a second write rate for a second write cursor writing data units into the second superblock; and

modify the first garbage collection rate to a second garbage collection rate based on the first target time and the second target time to provide a first empty superblock to the first write cursor prior to the first target time and a second empty superblock to the second write cursor prior to the second target time.

12. The system of claim 11 , where determining the first garbage collection rate based on the first target time and the negative loop feedback further comprises:

calculating a raw garbage collection rate; and

sending the raw garbage collection rate through a loop filter to generate the first garbage collection rate.

13. The system of claim 11 , wherein the negative loop feedback further includes a count of a number of valid data units in a first garbage collection superblock selected for the garbage collection process.

14. The system of claim 13 , wherein the first garbage collection superblock is selected for the garbage collection process from a pipeline of garbage collection superblocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2019
From: CARPENTER, CHRIS
To: MICRON TECHNOLOGY, INC.
Reel/Frame 049438/0555 →
Continuity (1)
Related Publication 20200394133A1 · Dec 17, 2020