# US 2018/0024745 A1 · Memory system 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 2018/0024745 A1
- Document ID: US20180024745A1
- Status: Published application
- Kind: A1
- Application number: 15/448,781
- Filed: 2017-03-03
- Published: 2018-01-25
- Earliest claimed: 2016-07-21
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Jong-Min LEE; Jee-Yul KIM
- Web page: https://patentgrep.com/patent/US20180024745A1

## CPC

- G06F 3/064: {Management of blocks}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- G06F 12/00: Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06)
- 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 2212/1016: Performance improvement
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A memory system includes: a memory device including a plurality of pages which include a plurality of memory cells coupled to a plurality of word lines and in which data are stored, and a plurality of memory blocks in which the pages are included; and a controller including a memory, and suitable for storing data segments of user data corresponding to a write command received from a host, in pages included in a first memory block and a second memory block among the memory blocks and generating map data corresponding to storage of the data segments by sorting map segments of the map data according to logical informations of the data segments.

## Claims

### Claim 1

A memory system comprising:
a memory device including a plurality of memory blocks, each memory block including a plurality of pages, each page including a plurality of memory cells for storing data; and
a controller suitable for storing data segments of user data corresponding to a write command, in a plurality of pages included in a first memory block and a second memory block among the plurality of memory blocks and generating map data corresponding to the stored data segments by sorting map segments of the map data according to logical information of the data segments.

### Claim 2 (depends on 1)

The memory system according to claim 1, wherein the controller divides the map segments sorted according to the logical information, by the first memory block and the second memory block in which the data segments are stored.

### Claim 3 (depends on 2)

The memory system according to claim 2, wherein the controller generates first map data including first map segments corresponding to the first memory block among the map segments, and second map data including second map segments corresponding to the second memory block among the map segments.

### Claim 4 (depends on 3)

The memory system according to claim 3, wherein the controller stores the first map data in the pages included in the first memory block, and stores the second map data in the pages included in the second memory block.

### Claim 5 (depends on 3)

The memory system according to claim 3, wherein the controller stores the first map data and the second map data in pages included in a third memory block among the plurality of memory blocks.

### Claim 6 (depends on 2)

The memory system according to claim 2,
wherein the controller generates first map data of the first memory block by sorting first map segments corresponding to the first memory block among the map segments, according to the logical information, and
wherein the controller generates second map data of the second memory block by sorting second map segments corresponding to the second memory block among the map segments, according to the logical information.

### Claim 7 (depends on 6)

The memory system according to claim 6,
wherein the controller further comprises a memory,
wherein the controller stores the first map data and the second map data in the pages included in the plurality of memory blocks, and
wherein, in the case of updating the first map data and the second map data in correspondence to storage of the data segments, the controller loads the first map data and the second map data in the memory.

### Claim 8 (depends on 7)

The memory system according to claim 7, wherein the controller updates the first map data and the second map data by merging map segments of the first map data and the second map data generated in correspondence to storage of the data segments and map segments of first map data and the second map data loaded in the memory.

### Claim 9 (depends on 8)

The memory system according to claim 8, wherein the controller updates the first map data and the second map data by merging the map segments of the first map data and the second map data in a state in which they are sorted according to the logical information.

### Claim 10 (depends on 1)

The memory system according to claim 1, wherein the controller sorts indexes indicating storage in the pages of the first memory block and the second memory block in the sequence of logical page numbers (LPNs) of the data segments, in a map table of the map data.

### Claim 11

A method for operating a memory system, comprising:
receiving a write command, for a memory device including a plurality of memory blocks, each including a plurality of pages;
storing data segments of user data corresponding to the write command, in pages included in a first memory block and a second memory block among the plurality of memory blocks; and
generating map data corresponding to storage of the data segments by sorting map segments of the map data according to logical information of the data segments.

### Claim 12 (depends on 11)

The method according to claim 11, further comprising:
dividing the map segments sorted according to the logical information, by the first memory block and the second memory block in which the data segments are stored.

### Claim 13 (depends on 12)

The method according to claim 12, wherein the generating of the map data comprises:
generating first map data including first map segments corresponding to the first memory block among the map segments; and
generating second map data including second map segments corresponding to the second memory block among the map segments.

### Claim 14 (depends on 13)

The method according to claim 13, further comprising:
storing the first map data in the pages included in the first memory block, and storing the second map data in the pages included in the second memory block.

### Claim 15 (depends on 13)

The method according to claim 13, further comprising:
storing the first map data and the second map data in pages included in a third memory block among the plurality of memory blocks.

### Claim 16 (depends on 12)

The method according to claim 12, wherein the generating of the map data comprises:
generating first map data of the first memory block by sorting first map segments corresponding to the first memory block among the map segments, according to the logical information; and
generating second map data of the second memory block by sorting second map segments corresponding to the second memory block among the map segments, according to the logical information.

### Claim 17 (depends on 16)

The method according to claim 16, further comprising:
storing the first map data and the second map data in the pages included in the plurality of memory blocks, and
loading, in the case of updating the first map data and the second map data in correspondence to storage of the data segments, the first map data and the second map data in a memory included in a controller.

### Claim 18 (depends on 17)

The method according to claim 17, further comprising:
updating the first map data and the second map data by merging map segments of the first map data and the second map data generated in correspondence to storage of the data segments and map segments of first map data and the second map data loaded in the memory.

### Claim 19 (depends on 18)

The method according to claim 18, wherein the updating of the first map data and the second map data comprises updating the first map data and the second map data by merging the map segments of the first map data and the second map data in a state in which they are sorted according to the logical information.

### Claim 20 (depends on 11)

The method according to claim 11, wherein the generating of the map data comprises:
sorting indexes indicating storage in the pages of the first memory block and the second memory block in the sequence of logical page numbers (LPNs) of the data segments, in a map table of the map data.
