Memory Compression Using Deduplication and Value-Locality Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression methods in computer memories face challenges in efficiently eliminating duplicates and value redundancy, leading to high metadata overhead and memory latency, especially when data objects change dynamically.

Innovation Solution

A method and device that analyze computer memory content for duplicates and value redundancy, encoding unique objects using deduplication and value-locality-based compression, providing metadata for efficient location and compression, and handling dynamic changes through a combined approach of deduplication and value-redundancy removal.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If deduplication is applied to memory blocks, then memory space is reduced by removing duplicate objects, but metadata overhead increases due to references and pointers

Engineering Contradiction:
Improvememory spaceVSAvoidmetadata overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the deduplication process into two distinct phases: first removing duplicate memory blocks, then compressing value redundancy within remaining unique blocks. This segmentation allows each phase to optimize for its specific goal without compromising the other, reducing overall metadata overhead while maintaining compression effectiveness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and removes value redundancy from unique memory blocks after deduplication. By taking out redundant data values and replacing them with compressed representations, the system reduces the metadata overhead that would otherwise be required to store complete unique blocks.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If compression techniques are applied to memory content, then storage efficiency is improved, but memory access time increases due to decompression requirements

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmemory access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs deduplication in advance before compression, organizing memory blocks so that unique blocks are identified and processed first. This preliminary action reduces the amount of data that needs to be compressed and stored, thereby reducing decompression time for future memory accesses while maintaining high storage efficiency.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If value redundancy removal is applied to unique memory objects, then compressibility is improved, but processing complexity increases

Engineering Contradiction:
ImprovecompressibilityVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent employs dynamic processing for value redundancy removal, adapting the compression approach based on the characteristics of unique memory blocks. By dynamically selecting compression strategies and processing intensity, the system achieves high compressibility while managing processing complexity through intelligent resource allocation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3908938B1Systems, methods and devices for eliminating duplicates and value redundancy in computer memories
Publication Date: 2024.12.11 ZEROPOINT TECH AB
  • EP3908938B1 patent drawingFigure 1
  • EP3908938B1 patent drawingFigure 2
  • EP3908938B1 patent drawingFigure 3(A)~3(C)

AI summary

A computer memory compression method involves analyzing (1210) computer memory content with respect to occurrence of duplicate memory objects as well as value redundancy of data values in unique memory objects. The computer memory content is encoded (1220) by eliminating the duplicate memory objects and compressing each remaining unique memory object by exploiting data value locality of the data values thereof. Metadata (500) is provided (1230) to represent the memory objects of the encoded computer memory content. The metadata reflects eliminated duplicate memory objects, remaining unique memory objects as well as a type of compression used for compressing each remaining unique memory object. A memory object in the encoded computer memory content is located (1240) using the metadata (500).