Data Storage Compressor Chunk-Based Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage devices, such as NAND flash memory devices, face challenges in efficiently compressing and storing data without wasting storage space, as they compress data on a page basis, leading to inefficiencies in storage capacity and reduced cell lifetime.

Innovation Solution

A data storage device that compresses and stores data on a data chunk basis, generating chunks from pages with similar characteristics, and selectively compresses data chunks using a controller that manages a mapping table to optimize storage and reduce waste, allowing for improved compression rates and reduced mapping table size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If data are compressed on a page basis, then compression is performed, but storage space is wasted because compressed data lengths are not sorted on a page basis

Engineering Contradiction:
Improvestorage space wasteVSAvoidcompression efficiency
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The invention segments data into data chunks comprising multiple pages (e.g., 4 pages = 32 Kbyte). This segmentation allows the system to collect and compress data across page boundaries, thereby utilizing storage space more efficiently and reducing waste while maintaining effective compression.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If multiple pages are compressed into fewer pages, then storage capacity increases, but the lifetime of the data storage device is reduced due to increased write operations

Engineering Contradiction:
Improvestorage capacityVSAvoiddevice lifetime
Core Design Contradiction:
Quantity of substanceVSDuration of action of stationary object

Solution Approach 1:

The invention merges multiple pages into data chunks before compression. By combining pages with similar characteristics into chunks and compressing them together, the system achieves better compression ratios, which increases effective storage capacity while reducing the frequency of write operations, thereby extending device lifetime.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If data chunks are generated from pages with high similarity, then compression rate improves, but device complexity increases due to additional processing requirements

Engineering Contradiction:
Improvecompression rateVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention applies local quality by identifying and grouping pages with similar characteristics (local similarity) into data chunks. This approach improves compression rates by focusing compression efforts on homogeneous data regions, while the similarity detection mechanism adds only moderate processing complexity compared to universal compression approaches.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10481797B2Data storage device for compressing input data
Publication Date: 2019.11.19 SK HYNIX INC
  • US10481797B2 patent drawing
  • US10481797B2 patent drawing
  • US10481797B2 patent drawing

AI summary

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.