Adaptive Virtual Memory Compression by Object Type

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

General-purpose compression algorithms used in virtual memory management are not optimized for different types of memory objects, leading to suboptimal compression performance for various data types such as images, text, audio, and video.

Innovation Solution

A method that selects a compression algorithm based on object characteristics, including operating system object tags, sampled content, and history of compression characteristics, to tailor compression to specific object types, thereby improving compression efficiency and memory utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a general-purpose compression algorithm is used for all memory objects, then the system maintains simplicity and universality, but compression performance is suboptimal for different data types

Engineering Contradiction:
Improvecompression performance for different data typesVSAvoidcompression system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the compression system by dividing memory objects into different categories (e.g., text, image, audio, video, database) and applying specific compression algorithms to each category. This segmentation allows the system to achieve optimal compression performance for each data type while maintaining manageable complexity through structured classification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic algorithm selection where the compression algorithm is chosen based on the characteristics of each memory object. The system dynamically determines the appropriate algorithm by examining object metadata, sampling content, or using history-based predictors, allowing adaptability without requiring a static complex architecture for every possible data type.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple specialized compression algorithms are maintained for different object types, then compression efficiency improves, but system complexity and overhead increase

Engineering Contradiction:
Improvecompression ratioVSAvoidalgorithm selection mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-classifying memory objects into categories using object metadata, OS tags, or content sampling before compression. This preliminary classification determines the appropriate compression algorithm in advance, allowing the system to achieve high compression ratios without complex real-time decision-making during the actual compression process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system employs self-service mechanisms where the compression algorithm selection is automatically determined based on object characteristics without requiring external intervention. History-based predictors and automated content analysis enable the system to self-optimize algorithm selection, reducing the perceived complexity for users while maintaining high compression efficiency.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If content sampling is performed to determine object characteristics, then accurate algorithm selection is achieved, but processing time increases

Engineering Contradiction:
Improveobject type identification accuracyVSAvoidcompression preparation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by sampling only a portion of the object content rather than analyzing the entire object. This selective sampling provides sufficient information for accurate algorithm selection while significantly reducing the time overhead compared to complete content analysis, achieving a practical balance between precision and performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11336294B2Hybrid, adaptive virtual memory compression
Publication Date: 2022.05.17 APPLE INC
  • US11336294B2 patent drawing
  • US11336294B2 patent drawing
  • US11336294B2 patent drawing

AI summary

A method and apparatus of a device that compresses an object stored in memory is described. In an exemplary embodiment, the device receives an indication that the object is to be compressed. The device further selects one of a plurality of compression algorithms based on at least a characteristic of the object. In addition, the device compresses the object in-memory using the selected compression algorithm.