# US 12,181,983 B2 · Data storage device, memory controller and method of operating 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,181,983 B2
- Document ID: US12181983B2
- Status: Granted
- Kind: B2
- Application number: 18/329,423
- Filed: 2023-06-05
- Published: 2024-06-13
- Granted: 2024-12-31
- Earliest claimed: 2022-12-13
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Seung Hun Ji; Min O Song; Jae Il Lee
- Web page: https://patentgrep.com/patent/US12181983B2

## CPC

- G06F 11/1441: {Resetting or repowering}
- G06F 11/1469: {Backup restoration techniques}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0292: {using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10)}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/2022: Flash memory
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F 2212/7207: management of metadata or control data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data storage device includes a storage and a memory controller. The storage is configured to store data. The memory controller generates meta-data including a mapping relationship between a logical address used in an external device and a physical address used in the storage. The memory controller generates a normal meta-slice having a first size including the meta-data in a first operation mode. The memory controller stores a meta-page including the normal meta-slice in the storage. The memory controller generates a modified meta-slice having a second size as a part of the normal meta-slice in the second operation mode. The memory controller stores a meta-page including the modified meta-slice and context data corresponding to size information of the modified meta-slice in the storage. The memory controller restores the meta-data based on the context data in a power-on mode.

## Claims

### Claim 1

A data storage device comprising:
a storage configured to store data; and
a memory controller configured to:
generate meta-data including a mapping relationship between a logical address used by an external device and a physical address used by the storage,
generate a normal meta-slice having a first size including the meta-data in a first operation mode,
store a meta-page including the normal meta-slice in the storage,
generate a modified meta-slice having a second size as a part of the normal meta-slice in a second operation mode,
store a meta-page including the modified meta-slice and context data including information with respect to a size of the modified meta-slice, and
restore the meta-data based on the context data in a power-on.

### Claim 2 (depends on 1)

The data storage device of claim 1, wherein the second operation mode is a sudden power-off (SPO) generation mode.

### Claim 3 (depends on 1)

The data storage device of claim 1, wherein the second size is smaller than the first size.

### Claim 4 (depends on 1)

The data storage device of claim 1, wherein the memory controller reads the meta-page from the storage in the power-on and updates meta-data of a normal meta-slice corresponding to the meta-slice in accordance with meta-data in the modified meta-slice to generate an updated meta-slice when the context data in the meta-page has the second size.

### Claim 5 (depends on 4)

The data storage device of claim 4, wherein the memory controller generates journal data for instructing a change record of the meta-data and the memory controller stores the journal data in the meta-page.

### Claim 6 (depends on 5)

The data storage device of claim 5, wherein the memory controller rebuilds meta-data of the updated meta-slice based on the journal data in the meta-page including the modified meta-slice to generate a rebuilt meta-slice.

### Claim 7

A memory controller comprising:
a processor configured to generate meta-data including a mapping relationship between a logical address used by an external device and a physical address used by the storage;
a meta-data flush circuit configured to:
generate a normal meta-slice having a first size including the meta-data in a first operation mode,
store a meta-page including the normal meta-slice in a storage,
generate a modified meta-slice having a second size as a part of the normal meta-slice in a second operation mode, and
store a meta-page including the modified meta-slice and context data including information with respect to a size of the modified meta-slice; and
a meta-data rebuild circuit configured to restore the meta-data based on the context data in a power-on.

### Claim 8 (depends on 7)

The memory controller of claim 7, wherein the second operation mode is a sudden power-off (SPO) generation mode.

### Claim 9 (depends on 7)

The memory controller of claim 7, wherein the second size is smaller than the first size.

### Claim 10 (depends on 7)

The memory controller of claim 7, wherein the meta-data rebuild circuit reads the meta-page from the storage in the power-on and updates meta-data of a normal meta-slice corresponding to the meta-slice in accordance with meta-data in the modified meta-slice to generate an updated meta-slice when the context data in the meta-page has the second size.

### Claim 11 (depends on 10)

The memory controller of claim 10, wherein the meta-data rebuild circuit generates journal data for instructing a change record of the meta-data and the memory controller stores the journal data in the meta-page.

### Claim 12 (depends on 11)

The memory controller of claim 11, wherein the meta-data rebuild circuit rebuilds meta-data of the updated meta-slice based on the journal data in the meta-page including the modified meta-slice to generate a rebuilt meta-slice.

### Claim 13

A method of operating a data storage device, the data storage device including a storage and a memory controller configured to control the storage, the method comprising:
generating meta-data including a mapping relationship between a logical address used by an external device and a physical address used by the storage by the memory controller;
generating a normal meta-slice having a first size including the meta-data in a first operation mode by the memory controller;
storing a meta-page including the normal meta-slice in the storage by the memory controller;
generating a modified meta-slice having a second size as a part of the normal meta-slice in a second operation mode by the memory controller;
storing a meta-page including the modified meta-slice and context data including information with respect to a size of the modified meta-slice by the memory controller; and
restoring the meta-data based on the context data in a power-on by the memory controller.

### Claim 14 (depends on 13)

The method of claim 13, wherein the second operation mode is a sudden power-off (SPO) generation mode.

### Claim 15 (depends on 13)

The method of claim 13, wherein the second size is smaller than the first size.

### Claim 16 (depends on 13)

The method of claim 13, further comprising:
reading the meta-page from the storage in the power-on by the memory controller; and
updating, by the memory controller, meta-data of a normal meta-slice corresponding to the meta-slice in accordance with meta-data in the modified meta-slice to generate an updated meta-slice when the context data in the meta-page has the second size.

### Claim 17 (depends on 16)

The method of claim 16, further comprising generating journal data for instructing a change record of the meta-data and the memory controller stores the journal data in the meta-page by the memory controller.

### Claim 18 (depends on 17)

The method of claim 17, further comprising rebuilding meta-data of the updated meta-slice based on the journal data in the meta-page including the modified meta-slice to generate a rebuilt meta-slice by the memory controller.
