# US 12,223,172 B2 · Systems, methods, and media for controlling background wear leveling in solid-state drives

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

- Number: US 12,223,172 B2
- Document ID: US12223172B2
- Status: Granted
- Kind: B2
- Application number: 18/090,347
- Filed: 2022-12-28
- Published: 2024-07-04
- Granted: 2025-02-11
- Earliest claimed: 2022-12-28
- Assignees: SK Hynix NAND Product Solutions Corp.
- Applicants: SK hynix NAND Product Solutions Corporation
- Inventors: David G. Dreyer; David J. Pelster; Mark Anthony Sumabat Golez; Bhargavi Govindarajan
- Web page: https://patentgrep.com/patent/US12223172B2

## CPC

- G06F 3/0613: {in relation to throughput}
- G06F 3/0616: {in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]}
- G06F 3/0653: {Monitoring storage devices or systems}
- 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: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Mechanisms for controlling background wear leveling are provided, including: increasing a first counter; comparing the first counter to a first threshold; and in response to the first counter meeting the first threshold: decreasing the first counter by a value of the first threshold; and triggering background wear leveling. In some embodiments, the first counter is increased in response to receiving a write trigger. In some embodiments, the first threshold is based upon a page size and a number of planes of physical media of an SSD. In some embodiments, the mechanisms further comprise: incrementing a second counter in response to receiving a host write trigger; comparing the second counter to a second threshold; and in response to the second counter meeting the second threshold, decreasing the second counter by the second threshold, wherein the increasing the first counter is performed in response to the second counter meeting the second threshold.

## Claims

### Claim 1

A system for controlling background wear leveling, comprising:
memory; and
at least one processor coupled to the memory and collectively configured to at least:
increment a first counter in response to receiving a host write trigger;
compare the first counter to a first threshold;
in response to the first counter meeting the first threshold, decrease the first counter by the first threshold,
increase a second counter in response to the first counter meeting the first threshold;
compare the second counter to a second threshold; and
in response to the second counter meeting the second threshold:
decrease the second counter by a value of the second threshold; and
trigger background wear leveling.

### Claim 2 (depends on 1)

The system of claim 1, wherein the second threshold is based upon a page size and a number of planes of physical media of a solid-state drive.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one processor is also collectively configured to at least:
increment a third counter in response to receiving a defragmentation write trigger;
compare the third counter to a third threshold; and
in response to the third counter meeting the third threshold:
decrease the third counter by the third threshold; and
increase the second counter.

### Claim 4 (depends on 3)

The system of claim 3, wherein the third threshold is the same as the first threshold.

### Claim 5 (depends on 1)

The system of claim 1, wherein the at least one processor is also collectively configured to determine that a specific period of time has passed,
wherein the comparing the second counter to the second threshold is performed in response to determining that a specific period of time has passed.

### Claim 6

A method for controlling background wear leveling, comprising:
incrementing a first counter in response to receiving a host write trigger using a hardware processor;
comparing the first counter to a first threshold;
in response to the first counter meeting the first threshold, decreasing the first counter by the first threshold,
increasing a second counter in response to the first counter meeting the first threshold;
comparing the second counter to a second threshold; and
in response to the second counter meeting the second threshold:
decreasing the second counter by a value of the second threshold; and
triggering background wear leveling.

### Claim 7 (depends on 6)

The method of claim 6, wherein the second threshold is based upon a page size and a number of planes of physical media of a solid-state drive.

### Claim 8 (depends on 6)

The method of claim 6, further comprising:
incrementing a third counter in response to receiving a defragmentation write trigger;
comparing the third counter to a third threshold; and
in response to the third counter meeting the third threshold:
decreasing the third counter by the third threshold; and
increasing the second counter.

### Claim 9 (depends on 8)

The method of claim 8, wherein the third threshold is the same as the first threshold.

### Claim 10 (depends on 6)

The method of claim 6, further comprising determining that a specific period of time has passed,
wherein the comparing the second counter to the second threshold is performed in response to determining that a specific period of time has passed.

### Claim 11

A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for controlling background wear leveling, the method comprising:
incrementing a first counter in response to receiving a host write trigger;
comparing the first counter to a first threshold;
in response to the first counter meeting the first threshold, decreasing the first counter by the first threshold,
increasing a second counter in response to the first counter meeting the first threshold;
comparing the second counter to a second threshold; and
in response to the second counter meeting the second threshold:
decreasing the second counter by a value of the second threshold; and
triggering background wear leveling.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the second threshold is based upon a page size and a number of planes of physical media of a solid-state drive.

### Claim 13 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the method further comprises:
incrementing a third counter in response to receiving a defragmentation write trigger;
comparing the third counter to a third threshold; and
in response to the third counter meeting the third threshold:
decreasing the third counter by the third threshold; and
increasing the second counter.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the third threshold is the same as the first threshold.

### Claim 15 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the method further comprises determining that a specific period of time has passed,
wherein the comparing the second counter to the second threshold is performed in response to determining that a specific period of time has passed.
