Flash Memory Compression Hardware Decoder Offset Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SSD systems face inefficiencies in storing and accessing compressed data due to large LBA table sizes and increased power consumption, especially when dealing with variable compression rates and the need for multiple reads to retrieve LBA data.

Innovation Solution

Implementing a hardware decoder that separates header and LBA data transfers within a single page read, reducing the LBA table size by removing offset bits and minimizing data read and decode operations, thereby enhancing performance and power efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is compressed with variable compression rates, then storage capacity is increased, but LBA table size increases due to need to store offset bits for each LBA

Engineering Contradiction:
Improvestorage capacityVSAvoidLBA table size
Core Design Contradiction:
Quantity of substanceVSVolume of stationary object

Solution Approach 1:

The patent extracts the offset information from the LBA table entries by storing it separately in the compressed data structure itself. Each compressed LBA entry contains its own offset field that indicates its position within the compressed page, eliminating the need for offset bits in the traditional LBA table and reducing its size.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of storing the complete physical address (including offset) in the LBA table as conventional systems do, the patent inverts the approach by storing only the page-level address in the LBA table and embedding the offset information within the compressed data structure itself, reversing the conventional allocation of address components.

Inventive Principle:
Principle #13The other way round (Inversion)

2Ease of operation

If multiple reads are performed to retrieve LBA data, then data access is achieved, but power consumption increases and performance decreases

Engineering Contradiction:
Improvedata accessVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent merges the header read and LBA data read operations into a single page read operation. By organizing the compressed data structure with headers followed by compressed LBA entries within the same page, the system can retrieve both the compression parameters and the actual LBA data in one read cycle, eliminating multiple read operations and reducing power consumption.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If LBA table stores complete physical addresses, then data location is precisely identified, but memory resources are consumed

Engineering Contradiction:
Improvedata location precisionVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the physical address into two parts: the page-level address stored in the LBA table and the offset information stored within the compressed data structure. This segmentation allows the LBA table to use less memory while maintaining precise data location identification through the combination of page address and offset.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3103009B1Flash memory compression
Publication Date: 2019.09.11 MICRON TECHNOLOGY INC
  • EP3103009B1 patent drawingFigure 1
  • EP3103009B1 patent drawingFigure 2
  • EP3103009B1 patent drawingFigure 3A~3D

AI summary

Systems and method for reading compressed data from non-volatile storage such as an SSD device are disclosed. A logical section, e.g. page, of data includes a plurality of data blocks that are compressed such that the lengths thereof are different. A header section of the page stores headers for the data blocks and storing a length for each data block. The header section may be a codeword encoding the headers according to an error correction scheme. To read out a data block a hardware decoder requests reading of the page and transfers the header section into a hardware decoder that decodes the headers to obtain an offset for a desired data block. Without instructing reading of the page, the offset is used by the hardware decoder to request transfer of the desired data block that is then decoded and returned to a requesting device.