# US 2018/0024748 A1 · Data storage device for compressing input data

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

- Number: US 2018/0024748 A1
- Document ID: US20180024748A1
- Status: Published application
- Kind: A1
- Application number: 15/409,725
- Filed: 2017-01-19
- Published: 2018-01-25
- Earliest claimed: 2016-07-19
- Assignees: SK hynix Inc.; Seoul National University R&Db Foundation
- Applicants: SK hynix Inc.; Seoul National University R&DB FOUNDATION
- Inventors: Sangwook Shane HAHN; Hoyoon JUN; Jihong KIM
- Web page: https://patentgrep.com/patent/US20180024748A1

## CPC

- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/064: {Management of blocks}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/0673: {Single storage device}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/1009: using page tables, e.g. page table structures
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 2212/1044: Space efficiency improvement
- G06F 2212/401: Compressed data
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data storage device may include: a memory cell array, a data buffer configured to generate a data chunk including a plurality of pages from input data provided from a host, a data compressor configured to compress the data chunk and output the compressed data chunk as write data, a write queue configured to store the write data on a page basis, a mapping table configured to store a mapping relationship between a logical address and a data chunk address, and a mapping relationship between the data chunk address and a physical address; and a controller configured to control an operation of storing the write data outputted from the write queue in the memory cell array such that a page including both a part of any one compressed data chunk and a part of another compressed data chunk is written to the memory cell array.

## Claims

### Claim 1

A data storage device comprising:
a memory cell array;
a data buffer configured to generate a data chunk including a plurality of pages from input data provided from a host;
a data compressor configured to compress the data chunk and output the compressed data chunk as write data;
a write queue configured to store the write data on a page basis;
a mapping table configured to store a mapping relationship between a logical address and a data chunk address, and a mapping relationship between the data chunk address and a physical address; and
a controller configured to control an operation of storing the write data outputted from the write queue in the memory cell array such that a page including both a part of any one compressed data chunk and a part of another compressed data chunk is written to the memory cell array.

### Claim 2 (depends on 1)

The data storage device of claim 1, wherein the controller comprises:
a characteristic comparison unit configured to compare characteristics of the input data provided from the host; and
a buffer control unit configured to adjust an order of the input data according to a comparison result of the characteristic comparison unit.

### Claim 3 (depends on 2)

The data storage device of claim 2, wherein the buffer control unit adjusts the order of the input data such that data having similar characteristics are arranged close to each other, according to the comparison result of the characteristic comparison unit.

### Claim 4 (depends on 1)

The data storage device of claim 1, wherein the controller comprises:
a compression control unit configured to control the data compressor to output the data chunk or the compressed data chunk as the write data.

### Claim 5 (depends on 4)

The data storage device of claim 4, wherein the controller further comprises:
a mapping control unit configured to control the mapping table according to control of the compression control unit,
wherein the mapping control unit controls the mapping table to map the physical address to the logical address, when the compression control unit controls the data compressor not to compress the data chunk, and
controls the mapping table to map the data chunk address to the logical address and map the physical address to the data chunk address, when the compression unit controls the data compressor to compress the data chunk.

### Claim 6 (depends on 4)

The data storage device of claim 4, wherein the compression control unit samples a compression rate of the data chunk at each predetermined cycle, and controls whether to perform compression according to a sampling result.

### Claim 7 (depends on 6)

The data storage device of claim 6, wherein the compression control unit controls the data compressor not to compress the data chunk when a sampling result indicating that the compression rate is lower than a threshold value is consecutively obtained a predetermined number of times, and controls the data compressor to compress the data chunk when a sampling result indicating that the compression rate is equal to or higher than the threshold value is consecutively obtained the predetermined number of times.

### Claim 8 (depends on 1)

The data storage device of claim 1, wherein the mapping table comprises:
a first table for storing the mapping relationship between the logical address and the data chunk address; and
a second table for storing the mapping relationship between the data chunk address and the physical address,
wherein the second table further stores offset information on a start position of a compressed data chunk corresponding to the data chunk address in the physical address, and a length of the compressed data chunk.

### Claim 9 (depends on 8)

The data storage device of claim 8, wherein one data chunk address in the second table is mapped to one physical address.

### Claim 10 (depends on 9)

The data storage device of claim 9, wherein the controller controls the memory cell array to write a compressed data chunk corresponding to a data chunk address to one physical address or two or more consecutive physical addresses.

### Claim 11 (depends on 8)

The data storage device of claim 8, wherein one data chunk address in the second table is mapped to two or more inconsecutive physical addresses, and the two or more physical addresses are mapped according to an order in which a compressed data chunk corresponding to the one data chunk address is written.

### Claim 12 (depends on 11)

The data storage device of claim 11, wherein the controller controls the memory cell array to write the compressed data chunk corresponding to the data chunk address to two or more inconsecutive physical addresses.

### Claim 13 (depends on 1)

The data storage device of claim 1, wherein the write queue forms one page by combining a part of a first compressed data chunk outputted from the data compressor and a part of a second compressed data chunk outputted from the data compressor after the first compressed data chunk.

### Claim 14 (depends on 1)

The data storage device of claim 1, wherein the controller comprises a write control unit configured to write the write data outputted from the write queue to the memory cell array on a page basis, and
the write control unit does not perform a write operation on the part of the any one compressed data chunk until the part of the another compressed data chunk is inputted to the write queue to complete the page.

### Claim 15 (depends on 14)

The data storage device of claim 14, wherein the write queue outputs the write data including the part of the any one compressed data chunk and the part of the another compressed data chunk on a page basis.

### Claim 16

A data storage device comprising:
a memory cell array;
a data buffer configured to generate a data chunk including at least two pages based on input data provided from a host;
a data compressor configured to selectively compress the data chunk and output the compressed data chunk as write data;
a write queue configured to store the write data on a page basis;
a mapping table configured to store a mapping relationship between a logical address, a data chunk address, and a physical address; and
a controller configured to control a write operation on the write data from the write queue to the memory cell array on the page basis, by referring to the physical address stored in the mapping table.

### Claim 17 (depends on 16)

The data storage device of claim 16, wherein the write operation is performed on a page including a part of a first compressed data chunk and a part of a second compressed data chunk, and
the controller controls the write operation not to be performed on the part of the first compressed data chunk until the part of the second compressed data chunk is inputted to the write queue to complete the page.

### Claim 18 (depends on 16)

The data storage device of claim 16, wherein the controller comprises:
a characteristic comparison unit configured to analyze characteristics of the input data to output a comparison result;
a buffer control unit configured to control the data buffer to adjust an order of the input data according to the comparison result;
a compression control unit configured to control the data compressor to output the data chunk or the compressed data chunk as the write data;
a mapping control unit configured to control the mapping table according to control of the compression control unit; and
a write control unit configured to control the write queue to write the write data to the memory cell array on a page basis.

### Claim 19 (depends on 18)

The data storage device of claim 18, wherein the mapping control unit controls the mapping table to map the physical address to the logical address, when the compression control unit controls the data compressor not to compress the data chunk, and
controls the mapping table to map the data chunk address to the logical address and map the physical address to the data chunk address, when the compression unit controls the data compressor to compress the data chunk.

### Claim 20 (depends on 16)

The data storage device of claim 16, wherein the mapping table comprises:
a first table for storing a mapping relationship between the logical address and the data chunk address; and
a second table for storing a mapping relationship between the data chunk address and the physical address, wherein the second table further stores offset information on a start position of a compressed data chunk corresponding to the data chunk address in the physical address, and a length of the compressed data chunk.
