# US 12,001,331 B2 · Data storage device, operation method thereof, and storage system including the same

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

- Number: US 12,001,331 B2
- Document ID: US12001331B2
- Status: Granted
- Kind: B2
- Application number: 18/307,005
- Filed: 2023-04-26
- Published: 2023-08-17
- Granted: 2024-06-04
- Earliest claimed: 2019-01-07
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Gun Wook Lee
- Web page: https://patentgrep.com/patent/US12001331B2

## CPC

- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- G06F 2212/1044: Space efficiency improvement
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F 2212/7207: management of metadata or control data
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A data storage device may include a storage including a plurality of memory blocks composed of system memory blocks for storing system data and user memory blocks for storing user data; and a controller configured to: control exchange of the system and user data with the storage in response to a request of a host device; and determine whether a start condition for performing a garbage collection operation on the storage is satisfied, based on a number of bad memory blocks in the plurality of memory blocks.

## Claims

### Claim 1

A data storage device comprising:
a storage area including an overprovisioning area, the storage area being composed of a plurality of memory blocks; and
a controller configured to determine whether to trigger a garbage collection operation on the storage area based on a number of free blocks and a number of bad blocks among the plurality of memory blocks,
wherein the controller is configured to replace the at least one bad memory block with at least one of the plurality of memory blocks.

### Claim 2 (depends on 1)

The data storage device according to claim 1, wherein, when the number of free blocks among the plurality of memory blocks is less than a first threshold value, the controller does not trigger the garbage collection operation on the storage area in case that the number of bad blocks among the plurality of memory blocks exceeds a second threshold value.

### Claim 3 (depends on 1)

The data storage device according to claim 1, wherein, when the number of free blocks among the plurality of memory blocks is less than the first threshold value, the controller triggers the garbage collection operation on the data storage in case that the number of bad blocks among the plurality of memory blocks does not exceed the second threshold value.

### Claim 4 (depends on 1)

The data storage device according to claim 1, wherein, when the number of free blocks among the plurality of memory blocks is less than a first threshold value, the controller does not trigger the garbage collection operation on the storage area regardless of the number of bad blocks among the plurality of memory blocks.

### Claim 5 (depends on 3)

The data storage device according to claim 3, wherein, when the number of free blocks among the plurality of memory blocks becomes greater than a third threshold value as a result of the garbage collection operation, the controller ends the garbage collection operation on the storage area.

### Claim 6 (depends on 3)

The data storage device according to claim 3, wherein the controller is configured to replace the at least one bad block with at least one of the plurality of memory blocks of the overprovisioning area.

### Claim 7

A data storage device comprising:
a storage including a plurality of memory blocks; and
a controller configured to determine whether to trigger a garbage collection operation on the storage based on a number of free blocks and a number of bad blocks among the plurality of memory blocks,
wherein, when the number of free blocks among the plurality of memory blocks is less than a first threshold value, the controller determines whether to trigger the garbage collection operation on the storage based on whether the number of bad blocks exceeds a second threshold value.

### Claim 8 (depends on 7)

The data storage device according to claim 7, wherein, when the number of free blocks among the plurality of memory blocks is less than the first threshold value, the controller does not trigger the garbage collection operation on the storage in case that the number of bad blocks exceeds the second threshold value.

### Claim 9 (depends on 7)

The data storage device according to claim 7, wherein, when the number of free blocks among the plurality of memory blocks is greater than the first threshold value, the controller does not trigger the garbage collection operation on the storage regardless the number of bad blocks.

### Claim 10 (depends on 8)

The data storage device according to claim 8, wherein, when the number of free blocks among the plurality of memory blocks becomes greater than a third threshold value as a result of the garbage collection operation, the controller ends the garbage collection operation on the storage.

### Claim 11 (depends on 8)

The data storage device according to claim 8, wherein the controller provides an overprovisioning area for storing user data.

### Claim 12 (depends on 11)

The data storage device according to claim 11, wherein the controller is configured to replace the at least one bad block with at least one of the plurality of memory blocks in the overprovisioning area.

### Claim 13

A data storage device comprising:
a storage area including a overprovisioning area, the storage area being composed of a plurality of memory blocks; and
a controller configured to determine whether to trigger a garbage collection operation on the storage area based on a number of free blocks among the plurality of memory blocks and a level of aging of the storage area,
wherein the controller is configured to replace a bad memory block caused by the aging of the storage with at least one of the plurality of memory blocks.

### Claim 14 (depends on 13)

The data storage device according to claim 13, wherein the at least one of the plurality of memory blocks for replacing the bad memory block is selected from the overprovisioning area.

### Claim 15 (depends on 13)

The data storage device according to claim 13, wherein, when the number of free blocks among the plurality of memory blocks is less than a first threshold value, the controller determines whether to trigger the garbage collection operation on the data storage based on the level of aging.

### Claim 16 (depends on 14)

The data storage device according to claim 14, wherein a number of the bad blocks increases as the level of the aging becomes higher.

### Claim 17

A data storage device comprising:
a storage area including an overprovisioning area, the storage area being composed of a plurality of memory blocks; and
a controller configured to determine whether to trigger a garbage collection operation on the storage area based on a dirty level of the storage area and a number of bad blocks among the plurality of memory blocks,
wherein the controller is configured to replace the at least one bad memory block with at least one of the plurality of memory blocks in the overprovisioning area.

### Claim 18 (depends on 17)

The data storage device according to claim 17, wherein, when the dirty level of the storage area exceeds a first level and the number of the bad blocks is greater than a second threshold value, the controller allows the garbage collection operation to be triggered.

### Claim 19 (depends on 18)

The data storage device according to claim 18, wherein, when the dirty level of the storage area becomes smaller than a third level, the controller ends the garbage collection operation.

### Claim 20 (depends on 17)

The data storage device according to claim 17, wherein the dirty level represents a number of free blocks in the storage area.
