# US 2020/0394136 A1 · Storage device, host device, and method of operating storage device and host device

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

- Number: US 2020/0394136 A1
- Document ID: US20200394136A1
- Status: Published application
- Kind: A1
- Application number: 16/688,164
- Filed: 2019-11-19
- Published: 2020-12-17
- Earliest claimed: 2019-06-12
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Eu Joon BYUN
- Web page: https://patentgrep.com/patent/US20200394136A1

## CPC

- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0804: with main memory updating (G06F12/0806 takes precedence)
- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage device includes a semiconductor memory device and a controller. The semiconductor memory device includes a plurality of memory blocks. The controller controls an operation of the semiconductor memory device. The controller includes a device garbage collection controller configured to select a victim memory block among the plurality of memory blocks, generate victim LBA information including a logical block address of a valid page in the selected victim memory block, and transfer the victim LBA information to a host device.

## Claims

### Claim 1

A storage device comprising:
a semiconductor memory device including a plurality of memory blocks; and
a controller that controls an operation of the semiconductor memory device,
wherein the controller includes a device garbage collection controller configured to select a victim memory block among the plurality of memory blocks, generate victim LBA information including a logical block address of a valid page in the selected victim memory block, and transfer the victim LBA information to a host device.

### Claim 2 (depends on 1)

The storage device of claim 1, wherein, when the number of free memory blocks among the plurality of memory blocks is less than a victim LBA notification threshold value, the device garbage collection controller selects the victim memory block and transfers the victim LBA information to the host device.

### Claim 3 (depends on 2)

The storage device of claim 2, wherein, when the number of the free memory blocks among the plurality of memory blocks is less than a device GC threshold value, the device garbage collection controller controls the semiconductor memory device to perform a device garbage collection operation.

### Claim 4 (depends on 3)

The storage device of claim 3, wherein the device GC threshold value is less than the victim LBA notification threshold value.

### Claim 5 (depends on 1)

The storage device of claim 1, wherein the device garbage collection controller comprises:
a memory block monitor configured to count the number of free memory blocks among the plurality of memory blocks and generate a first control signal when the number of the free memory blocks is less than a victim LBA notification threshold value;
a victim memory block selector configured to generate victim memory block information by selecting at least one of the plurality of memory blocks as a victim memory block in response to the first control signal; and
a victim LBA generator configured to generate the victim LBA information based on the victim memory block information and transfer the victim LBA information to the host device.

### Claim 6 (depends on 5)

The storage device of claim 5,
wherein the device garbage collection controller further comprises a command generator,
wherein the memory block monitor generates a second control signal when the number of the free memory blocks is less than a device GC threshold value,
wherein the victim memory block selector generates a GC control signal for performing a device garbage collection operation on the victim memory block in response to the second control signal, and
wherein the command generator generates at least one command for controlling the semiconductor memory device to perform the device garbage collection operation, in response to the GC control signal.

### Claim 7

A host device that stores data in a storage area in a storage device, the storage area being divided into a plurality of segments, comprising:
a host GC controller for controlling a host garbage collection operation,
wherein the host GC controller comprises:
a victim LBA receiver configured to receive victim LBA information from the storage device;
a victim segment selector configured to select a victim segment targeted for the host garbage collection operation, based on the victim LBA information; and
a request generator configured to generate at least one request for controlling the storage device to perform the host garbage collection operation, based on the victim segment.

### Claim 8 (depends on 7)

The host device of claim 7,
wherein each of the plurality of segments includes a plurality of data blocks, and
wherein the victim segment selector selects a segment including a data block corresponding to the victim LBA information among the plurality of segments as the victim segment.

### Claim 9 (depends on 7)

The host device of claim 7,
wherein the host GC controller further comprises a segment monitor that counts the number of free segments among the plurality of segments,
wherein the segment monitor generates a third control signal when the number of the free memory blocks is less than a host GC threshold value,
wherein the victim segment selector generates an HGC control signal for performing a host garbage collection operation on the victim segment, in response to the third control signal, and
wherein the request generator generates the at least one request for controlling the storage device to perform the host garbage collection operation, in response to the HGC control signal.

### Claim 10

A method of operating a controller that controls a semiconductor memory device including a plurality of memory blocks, the method comprising:
counting the number of free memory blocks among the plurality of memory blocks;
determining whether the number of the free memory blocks is less than a victim LBA notification threshold value; and
generating victim LBA information based on a result of the determining operation and transferring the victim LBA information to a host device.

### Claim 11 (depends on 10)

The method of claim 10, wherein the generating and the transferring comprises:
selecting at least one of the plurality of memory blocks as a victim memory block when the number of the free memory blocks is less than the victim LBA notification threshold value;
generating the victim LBA information including a logical block address corresponding to a valid page in the victim memory block; and
transferring the generated victim LBA information to the host device.

### Claim 12 (depends on 10)

The method of claim 10, further comprising:
determining whether the number of the free memory blocks is less than a device GC threshold value; and
performing device garbage collection on the semiconductor memory device when the number of the free memory blocks is less than the device GC threshold value.

### Claim 13 (depends on 10)

The method of claim 10, wherein the performing of the device garbage collection comprises:
copying valid page data of the victim memory block to a target memory block; and
releasing the victim memory block as a free memory block.

### Claim 14

A method of operating a host device that stores data in a storage area of a storage device, the storage area being divided into a plurality of segments, the method comprising:
receiving victim LBA information from the storage device; and
performing a host garbage collection operation based on the victim LBA information.

### Claim 15 (depends on 14)

The method of claim 14, wherein the performing of the host garbage collection operation based on the victim LBA information comprises:
selecting a victim segment among the plurality of segments based on the victim LBA information; and
copying a valid data block of the victim segment to a target segment.

### Claim 16 (depends on 15)

The method of claim 15, wherein the performing of the host garbage collection operation based on the victim LBA information further comprises releasing the victim segment as a free segment.

### Claim 17 (depends on 14)

The method of claim 14, wherein the performing of the host garbage collection operation based on the victim LBA information comprises:
counting the number of free segments among the plurality of segments;
determining whether the number of the free segments is less than a host GC threshold value;
selecting a victim segment from the plurality of segments based on the victim LBA information when the number of the free segments is less than the host GC threshold value; and
copying a valid data block of the victim segment to a target segment.

### Claim 18

A data processing system comprising:
a memory system including:
a memory device including plural memory blocks each having plural pages; and
a controller configured to control the memory device to perform a garbage collection operation at a memory block level on select memory blocks among the memory blocks, when a number of free blocks is less than a first threshold; and
a host configured to control the memory system to perform a garbage collection operation at a data segment level based on information of logical addresses of one or more valid pages included in one or more victim blocks selected among the memory blocks,
wherein the controller is further configured to provide the information to the host when the number of free blocks among the memory blocks is less than a second threshold, and
wherein the first threshold is less than the second threshold.
