# US 12,182,030 B2 · Storage device managing map information and method of operating the storage device preliminary class

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

- Number: US 12,182,030 B2
- Document ID: US12182030B2
- Status: Granted
- Kind: B2
- Application number: 18/314,683
- Filed: 2023-05-09
- Published: 2024-06-13
- Granted: 2024-12-31
- Earliest claimed: 2022-12-09
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Sung Jin Park
- Web page: https://patentgrep.com/patent/US12182030B2

## CPC

- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/10: Address translation
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/10: Programming or data input circuits
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G06F 2212/1016: Performance improvement
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G11C 2211/5641: Multilevel memory having cells with different number of storage levels
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A storage device receives a write request including first data and a first logical address corresponding to the first data, stores the first data in a first memory block among a plurality of memory blocks, determines a second memory block among the plurality of memory blocks to which the first data stored in the first memory block is to be migrated, and stores first map information including the physical address of the second memory block and the first logical address.

## Claims

### Claim 1

A storage device comprising:
a memory including a plurality of memory blocks; and
a controller configured to:
receive a write request including first data and a first logical address corresponding to the first data from an external device,
store the first data in a first memory block among the plurality of memory blocks,
determine a second memory block, among the plurality of memory blocks, to which the first data stored in the first memory block is to be migrated, and
store first map information including a physical address of the second memory block and the first logical address,
wherein the controller is configured to update, after the first data stored in the first memory block is migrated to the second memory block, second map information to include the first logical address and the physical address of the second memory block that are stored in the first map information according to a state of the first map information or a state of the first memory block,
wherein the first map information is Physical to Logical (P2L) map information in which an index key is identified by a physical address of a memory block, and
wherein the second map information is Logical to Physical (L2P) map information in which an index key is identified by a logical address.

### Claim 2 (depends on 1)

The storage device according to claim 1,
wherein the first map information includes flag information indicating whether the first data stored in the first memory block is migrated to the second memory block.

### Claim 3 (depends on 2)

The storage device according to claim 2,
wherein the controller is configured to receive a read request including the first logical address from the external device, and
read the first data from the first memory block or the second memory block according to the flag information.

### Claim 4 (depends on 1)

The storage device according to claim 1,
wherein the controller is configured to read, when a read request including the first logical address corresponding to the first data is received from the external device after updating the second map information, the first data corresponding to the read request from the second memory block.

### Claim 5 (depends on 1)

The storage device according to claim 1,
wherein the controller is configured to delete, when receiving an unmap request for the first logical address corresponding to the first data from the external device, the physical address of the second memory block corresponding to the first data from the first map information.

### Claim 6 (depends on 1)

The storage device according to claim 1,
wherein the first memory block is a Single Level Cell (SLC) memory block, and
the second memory block is a Multi-Level Cell (MLC) memory block, a Triple Level Cell (TLC) memory block, or a Quad Level Cell (QLC) memory block.

### Claim 7

A method of operating a storage device, the method comprising:
receiving a write request including first data and a first logical address corresponding to the first data from an external device of the storage device;
storing the first data in a first memory block among a plurality of memory blocks;
determining a second memory block, among the plurality of memory blocks, to which the first data stored in the first memory block is to be migrated; and
storing first map information including a physical address of the second memory block and the first logical address,
wherein the method further comprises:
determining whether a reference condition is satisfied; and
updating, when it is determined that the reference condition is satisfied, second map information to include the first logical address and the physical address of the second memory block that are stored in the first map information,
wherein the determining whether the reference condition is satisfied includes determining that the reference condition is satisfied when available storage capacity of the first map information is less than or equal to a threshold capacity or when all pages of the first memory block are full of data.

### Claim 8 (depends on 7)

The method according to claim 7, further comprising:
migrating the first data stored in the first memory block to the second memory block; and
setting flag information of the first map information to indicate that the first data stored in the first memory block is migrated to the second memory block.

### Claim 9 (depends on 8)

The method according to claim 8, further comprising:
receiving a read request including the first logical address from the external device; and
reading the first data from the first memory block or the second memory block according to the flag information.

### Claim 10 (depends on 7)

The method according to claim 7, further comprising:
when a read request including the first logical address corresponding to the first data is received from the external device, reading the first data corresponding to the read request from the second memory block.

### Claim 11 (depends on 7)

The method according to claim 7,
wherein the determining whether the reference condition is satisfied includes determining that a size of data managed by the first map information is greater than or equal to a threshold data size, a size of data stored in the first memory block is greater than or equal to the threshold data size, or a number of empty pages included in the first memory block is lower than or equal to a threshold value.
