# US 2023/0057577 A1 · Prediction based garbage collection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0057577 A1
- Document ID: US20230057577A1
- Status: Published application
- Kind: A1
- Application number: 17/406,896
- Filed: 2021-08-19
- Published: 2023-02-23
- Earliest claimed: 2021-08-19
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Joseph A. De La Cerda; Bruce J. Ford; Benjamin Rivera; Nicolas Soberanes
- Web page: https://patentgrep.com/patent/US20230057577A1

## CPC

- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/08: Learning methods
- G06F 2212/1008: Correctness of operation, e.g. memory ordering
- G06F 2212/1024: Latency reduction
- G06F 2212/1044: Space efficiency improvement
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Apparatuses and methods can be related to performing prediction based garbage collection. Performing prediction based garbage collection can include performing a first instance of garbage collection, of the memory device, using a first circuitry of the controller and generating a prediction using a second circuitry of the controller. A confidence interval can also be generated for the prediction using the second circuitry of the controller. Responsive to determining that the confidence interval is greater than a threshold, a second instance of garbage collection, of the memory device, can be triggered using the first circuitry of the controller where the first instance of garbage collection is triggered before the second instance of garbage collection.

## Claims

### Claim 1

An apparatus comprising:
a memory device;
a controller coupled to the memory device and configured to:
trigger a first instance of garbage collection, of the memory device, based on static values;
generate a prediction of a second instance of garbage collection;
generate a confidence interval for the prediction; and
responsive to determining that the confidence interval is greater than a threshold, trigger the second instance of garbage collection based on the prediction wherein the first instance of garbage collection is triggered before the second instance of garbage collection.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the controller is further configured to, responsive to determining that the confidence interval is greater than the threshold, trigger the second instance of garbage collection utilizing a same trigger mechanism as is used to trigger the first instance of garbage collection.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the controller is further configured to, responsive to determining that the confidence interval is greater than the threshold, trigger the second instance of garbage collection after a duration of time equal to the prediction has passed.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the static values describe a duration of idle time in which to perform the first instance of the garbage collection.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the static values describe a duration of time of the first instance of the garbage collection.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the controller further comprises an artificial neural network configured to generate the prediction and the confidence interval.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the first instance of garbage collection is triggered without use of the artificial neural network.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein the controller is further configured to model a usage of the memory device using the artificial neural network.

### Claim 9

A method, comprising:
generating a first prediction using an artificial neural network of a memory device;
generating a first confidence interval for the first prediction using the artificial neural network;
responsive to determining that the first confidence interval is greater than a threshold of the memory device, triggering a first instance of garbage collection using the first prediction;
generating a second prediction using the artificial neural network of the memory device;
generating a second confidence interval for the second prediction using the artificial neural network; and
responsive to determining that the second confidence interval is not greater than the threshold, triggering a second instance of garbage collection, of the memory device, without the use of the first prediction and the second prediction.

### Claim 10 (depends on 9)

The method of claim 9, further comprising receiving a first plurality of commands at the controller of the memory device, wherein the first plurality of commands define a first usage of the memory device.

### Claim 11 (depends on 10)

The method of claim 10, further comprising training the artificial neural network using the first plurality of commands wherein the trained artificial neural network is used to generate the first prediction and the first confidence.

### Claim 12 (depends on 10)

The method of claim 10, further comprising receiving a second plurality of commands at the controller of the memory device, wherein the second plurality of commands define a second usage of the memory device.

### Claim 13 (depends on 12)

The method of claim 12, further comprising training the artificial neural network using the second plurality of commands where the trained artificial neural network is used to generate the second prediction and the first prediction.

### Claim 14 (depends on 9)

The method of claim 9, further comprising training the artificial neural network using a plurality of commands, a corresponding plurality of time stamps, and a plurality of arguments corresponding to the plurality of commands.

### Claim 15 (depends on 9)

The method of claim 9, further comprising:
receiving a command that interrupts the first instance of garbage collection; and
training the artificial neural network using the command, the plurality of commands, the corresponding plurality of time stamps, and a plurality of arguments corresponding to the plurality of commands.

### Claim 16

An apparatus, comprising:
a memory device;
a controller coupled to the memory device and configured to:
receive a command stream comprising a plurality of commands, wherein the command stream is received at the controller and wherein the controller is utilized to trigger a garbage collection of the memory device;
identify a predetermined command from the command stream; and
responsive to identifying the predetermined command, train an artificial neural network implemented in the controller utilizing the plurality of commands,
wherein the artificial neural network is utilized to trigger the garbage collection of the memory device.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the controller is further configured to store the plurality of commands in a ring buffer.

### Claim 18 (depends on 16)

The apparatus of claim 16, wherein the predetermined command is a hibernate command.

### Claim 19 (depends on 16)

The apparatus of claim 16, wherein the controller is further configured to:
generate a prediction utilizing the artificial neural network;
determine whether a confidence interval of the prediction is greater than a threshold;
responsive to determining that the confidence interval is greater than the threshold, trigger a garbage collection of the memory device;
store a determination of whether the garbage collection was performed successfully;
train the artificial neural network utilizing the plurality of commands and the determination of whether the garbage collection was performed successfully.

### Claim 20 (depends on 16)

The apparatus of claim 16, wherein the controller is further configured to:
generate a prediction utilizing the artificial neural network that the predetermined command is to be received;
receive an additional plurality of commands;
determine whether the prediction was correct based on whether the additional plurality of commands included the predetermined command;
train the artificial neural network utilizing the plurality of commands and the determination of whether the predetermined command was included in the additional plurality of commands.
