# US 2021/0240627 A1 · Data storage appratus and operating method thereof

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

- Number: US 2021/0240627 A1
- Document ID: US20210240627A1
- Status: Published application
- Kind: A1
- Application number: 16/934,937
- Filed: 2020-07-21
- Published: 2021-08-05
- Earliest claimed: 2020-02-05
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Yong JIN; Ki Sun KIM
- Web page: https://patentgrep.com/patent/US20210240627A1

## CPC

- G06F 12/0873: Mapping of cache memory to specific storage devices or parts thereof
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/1016: {Error in accessing a memory location, i.e. addressing error}
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 11/3037: {where the computing system component is a memory, e.g. virtual memory, cache (accessing, addressing or allocating within memory systems or architectures G06F12/00; checking stores for correct operation G11C29/00)}
- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 12/0292: {using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10)}
- G06F 12/0891: using clearing, invalidating or resetting means
- G06F 12/1009: using page tables, e.g. page table structures
- G06F 13/1673: {using buffers}
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- 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 apparatus includes storage divided into unit physical regions and having data stored therein, a buffer memory having buffer memory regions loaded with a map table comprising map data respectively indicating connection information between logical addresses of a host and start physical addresses for the unit physical regions, and a controller configured to: control data input and output to and from the storage according to a request of a host, to read, based on a map table address corresponding to a logical address included in the request, the map data for the logical address from the buffer memory, and to remap the map data by merging source map data of a buffer memory region having a number of errors equal to or greater than a threshold value with victim map data of a buffer memory region having a number of errors less than the threshold value.

## Claims

### Claim 1

A data storage apparatus comprising:
storage that is divided into unit physical regions of a first size and data is stored therein;
a buffer memory including a plurality of buffer memory regions and having a map table loaded in the plurality of buffer memory regions, the map table including a set of map data, each map data indicating connection information between a logical address of a host and a start physical addresses for a respective unit physical region; and
a controller configured to:
control data input and output to and from the storage according to a request of the host,
is read, based on a map table address in which map data for a logical address requested to be accessed by the host is stored, map data from the buffer memory, and
remap the map data by merging source map data of a buffer memory region in which a number of occurrences of errors is equal to or greater than a first threshold value with victim map data of at least one buffer memory region in which the number of occurrences of errors is less than the first threshold value.

### Claim 2 (depends on 1)

The data storage apparatus of claim 1, wherein the controller selects map data stored in the buffer memory region in which the number of occurrences of errors is equal to or greater than the first threshold value as the source map data, selects N (wherein, N is a natural number) map data of which logical addresses are continuous with a logical address of the source map data as the victim map data, and generates merged map data which is connection information between a merged logical address which is any one of the logical addresses of the victim map data and a start physical address for a physical region of (N+1) times the first size.

### Claim 3 (depends on 2)

The data storage apparatus of claim 2, wherein the controller is further configured to select a most preceding logical address of the logical addresses of the victim map data as the merged logical address.

### Claim 4 (depends on 1)

The data storage apparatus of claim 1, wherein the controller is further configured to manage a merged state for the source map data as meta information.

### Claim 5 (depends on 4)

The data storage apparatus of claim 4, wherein the controller is further configured to:
select map data of a preceding logical address consecutive to a logical address of the source map data as the victim map data and merges the source map data and the victim map data, and
set the meta information to indicate that the source map data is merged with the map data of the preceding logical address.

### Claim 6 (depends on 4)

The data storage apparatus of claim 4, wherein the controller is further configured to:
select map data of a following logical address consecutive to a logical address of the source map data as the victim map data and merges the source map data and the victim map data, and
set the meta information to indicate that the source map data is merged with the map data of the following logical address.

### Claim 7 (depends on 1)

The data storage apparatus of claim 1, wherein the controller is further configured to:
generate merged map data by merging the source map data with at least one piece of victim map data, and
when a region of the storage corresponding to a physical address indicated by the source map data and region of the storage corresponding to a physical address indicated by the victim map data are contiguous, generate victim map data of a most preceding logical address of logical addresses of the victim map data as the merged map data.

### Claim 8 (depends on 1)

The data storage apparatus of claim 1, wherein the controller is further configured to:
generates merged map data by merging the source map data with at least one piece of victim map data, and
when a region of the storage corresponding to a physical address indicated by the source map data and a region of the storage corresponding to a physical address indicated by the victim map data are not contiguous, move data stored in the region of the storage corresponding to the physical address indicated by the source map data and data stored in the region of the storage corresponding to the physical address indicated by the victim map data to target regions of the storage which are contiguous and generate the merged map data by mapping a merged logical address which is a most preceding logical address out of logical addresses of the victim map data with a start physical address of the target regions.

### Claim 9 (depends on 1)

The data storage apparatus of claim 1, further comprising a buffer memory controller configured to control the buffer memory,
wherein the controller is configured to control the buffer memory controller to move data of a column in which a number of occurrences of errors above a second threshold value occurs to a redundancy column of the buffer memory based on the number of occurrences of errors for each column of the buffer memory stored with the map data, and remap the map table address based on an error occurrence column address and a redundancy column address.

### Claim 10

An operating method of a data storage apparatus which includes storage which is divided into unit physical regions of a first size and data is stored therein, a buffer memory including a plurality of buffer memory regions and having a map table loaded in the plurality of buffer memory regions, the map table including a set of map data, each map data indicating connection information between a logical address of a and a start physical address for a respective unit physical region, and a controller configured to control data input and output to and from the storage according to requests of a host, the method comprising:
receive a request including the logical address from the host,
read, by the controller and based on a map table address corresponding to the logical address, map data for the logical address from the buffer memory; and
when a number of occurrences of errors of a buffer memory region in which the map data is stored is equal to or greater than a first threshold value, remapping, by the controller, the map data by merging source map data of the buffer memory region in which the number of occurrences of errors is equal to or greater than the first threshold value with victim map data of at least one buffer memory region in which the number of occurrences of errors is less than the first threshold value.

### Claim 11 (depends on 10)

The method of claim 10, wherein the remapping includes:
selecting the map data stored in the buffer memory region in which the number of occurrences of errors is equal to or greater than the first threshold value as the source map data;
selecting N (wherein, N is a natural number) map data of which logical addresses are continuous with a logical address of the source map data as the victim map data; and
generating merged map data which is connection information between a merged magical address which is any one of the logical addresses of the victim map data and a start physical address for a physical region of (N+1) times the first size.

### Claim 12 (depends on 11)

The method of claim 11, wherein the generating of the merged map data includes selecting a most preceding logical address of the logical addresses of the victim map data as the merged logical address.

### Claim 13 (depends on 10)

The method of claim 10, wherein the remapping includes setting a merged state for the source map data as meta information.

### Claim 14 (depends on 13)

The method of claim 13, wherein the remapping includes:
selecting map data of at least one preceding logical address consecutive to a logical address of the source map data as the victim map data; and
merging the source map data and the victim map data, and
wherein setting the meta information includes setting the meta information to indicate that the source map data is merged with the map data of the preceding logical address.

### Claim 15 (depends on 13)

The method of claim 13, wherein the remapping includes:
selecting map data of at least one following logical address consecutive to a logical address of the source map data as the victim map data; and
merging the source map data and the victim map data, and
wherein setting the meta information includes setting the meta information to indicate that the source map data is merged with the map data of the following logical address.

### Claim 16 (depends on 10)

The method of claim 10, wherein the remapping further includes:
when a region of the storage corresponding to a physical address indicated by the source map data and a region of the storage corresponding to a physical address indicated by the victim map data are contiguous, generating victim map data of a most preceding logical address out of logical addresses of the victim map data as the merged map data.

### Claim 17 (depends on 10)

The method of claim 10, wherein the remapping includes:
when a region of the storage corresponding to a physical address indicated by the source map data and a region of the storage corresponding to a physical address indicated by the victim map data are not contiguous:
moving data stored in the region of the storage corresponding to the physical address indicated by the source map data and data stored in the region of the storage corresponding to the physical address indicated by the victim map data to target regions of the storage which are contiguous, and
generating merged map data by a merged logical address which is a most preceding logical address of logical addresses of the victim map data with a start physical address out of the target regions.

### Claim 18 (depends on 10)

The method of claim 10, wherein the data storage apparatus further includes a buffer memory controller configured to control the buffer memory, and wherein the remapping includes:
counting, by the controller, the number of occurrences of errors for each column of the buffer memory used to store the map data;
moving, by the buffer memory controller, data of a column in which an error count above a second threshold value occurs to a redundancy column of the buffer memory according to control of the controller; and
remapping, the buffer memory controller, the map table address based on an error occurrence column address and a redundancy column address.
