NAND Flash Data Placement With ECC Reorganization for Lower Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face inefficiencies due to high CPU resource consumption and access latency issues when performing data compression, particularly because of varying data block sizes leading to increased storage requirements, read amplification, and split ECC codewords, which complicate error correction and data retrieval.

Innovation Solution

A system that compresses data blocks, performs error correction code (ECC) encoding on compressed data, and reorganizes the encoded blocks to fit within a single physical page of NAND flash, using a mapping structure to store logical and physical addresses, and employing shortened user portions and punctured parity to reduce storage needs and improve data retrieval efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data compression is performed on the SSD to reduce access latency, then the host application experiences transparent compression, but the SSD hardware and software bear a high burden

Engineering Contradiction:
Improveaccess latencyVSAvoidSSD hardware and software burden
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the data processing workflow by separating compression operations from the SSD. The host application performs compression on data blocks before sending them to the SSD, while the SSD focuses on storage and error correction. This division reduces the computational burden on the SSD hardware and software while maintaining transparent compression benefits for the host application.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If multiple compressed data blocks of varying sizes are merged into a physical page, then storage space is utilized, but the FTL mapping table must store more information

Engineering Contradiction:
Improvestorage space utilizationVSAvoidFTL mapping table information storage
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extracts the size information requirement from the FTL mapping table by ensuring all compressed data blocks within a physical page have uniform sizes. This uniformity is achieved by padding shorter blocks with dummy data. Consequently, the FTL mapping table only needs to store starting positions and lengths without complex size tracking, reducing the information storage burden while maintaining efficient space utilization.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If compressed data blocks are split across two ECC codewords, then error correction is performed, but two separate ECC decodings are required

Engineering Contradiction:
Improveerror correctionVSAvoiddata retrieval efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by ensuring that compressed data blocks are padded to uniform sizes before being written to physical pages. This pre-processing step guarantees that each compressed data block fits entirely within a single ECC codeword boundary, preventing splits across multiple codewords. As a result, only a single ECC decoding operation is required during data retrieval, maintaining error correction reliability while significantly improving data retrieval efficiency.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If a requested data block is stored at a physical block address shared by other compressed data blocks, then storage is optimized, but read amplification occurs

Engineering Contradiction:
Improvestorage optimizationVSAvoidread amplification
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by creating dedicated storage regions for different data types and access patterns. Compressed data blocks are organized with specific padding and positioning strategies that ensure requested data blocks can be retrieved without requiring reads of other unrelated data blocks. This localized organization eliminates read amplification while maintaining storage optimization through efficient space utilization.

Inventive Principle:
Principle #3Local quality

5Quantity of substance

If a requested data block covers two physical NAND pages, then data is stored, but two separate read operations are required

Engineering Contradiction:
Improvedata storageVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-padding compressed data blocks to uniform sizes that align with physical page boundaries. This ensures that any requested data block can be contained within a single physical NAND page, eliminating the need for two separate read operations. The padding is performed during the compression phase, so the data is optimally organized before storage, reducing access latency while maintaining complete data storage capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20220342750A1Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
Publication Date: 2022.10.27 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US20220342750A1 patent drawing
  • US20220342750A1 patent drawing
  • US20220342750A1 patent drawing

AI summary

One embodiment provides a system which facilitates data management. During operation, the system receives, by a storage device, a plurality of data blocks. The system compresses the data blocks to obtain compressed data blocks, and performs error correction code (ECC)-encoding on the compressed data blocks to obtain ECC-encoded data blocks. The system stores the ECC-encoded data blocks in a buffer prior to writing the ECC-encoded data blocks in a non-volatile memory of the storage device, and reorganizes an order of the ECC-encoded data blocks in the buffer to match a size of a physical page of the non-volatile memory. Responsive to a first set of the reorganized ECC-encoded data blocks filling a first physical page, the system writes the first set of the reorganized ECC-encoded data blocks to the first physical page.