OS-Transparent Memory Decompression Hardware Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory compression solutions, such as ZSWAP and ZRAM, incur significant overhead due to page faults and operating system involvement when accessing compressed data, limiting the size of the compressed memory partition and reducing performance.

Innovation Solution

An OS-transparent memory decompression scheme that uses hardware acceleration to decompress read requests from compressed memory without generating page faults, by defining a new compressed physical address space and utilizing on-chip caching to store decompressed data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If current memory compression solutions (ZSWAP, ZRAM) are used, then memory compression is achieved, but page fault overhead increases access latency

Engineering Contradiction:
Improvecompressed memory capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent extracts the page fault handling overhead from the memory access path by implementing OS-transparent hardware decompression. The hardware decompression engine directly decompresses data in the memory controller without involving the OS page fault mechanism, thereby removing the time-consuming OS intervention from the critical access path while maintaining the compressed memory capacity benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a hardware decompression engine as an intermediary component between the compressed memory and the processor. This intermediary handles decompression transparently in hardware, acting as a bridge that eliminates the need for OS page fault handling while maintaining the compressed memory structure. The decompression engine processes data requests directly without requiring OS involvement, thus reducing access latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If OS page fault handling is used for decompression, then decompression can be performed, but OS overhead reduces performance

Engineering Contradiction:
Improvedecompression throughputVSAvoidOS overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements self-service decompression where the hardware decompression engine autonomously handles all decompression operations without OS intervention. The memory controller's decompression engine automatically decompresses data when needed, managing the entire decompression process independently. This eliminates OS overhead completely while maintaining high decompression throughput through dedicated hardware acceleration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the software-based OS page fault handling mechanism with a hardware-based decompression engine. The mechanical/software system of OS interrupts, context switches, and software decompression is substituted with a dedicated hardware decompression engine that operates in parallel, eliminating OS overhead and significantly improving decompression throughput through hardware acceleration.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Quantity of substance

If compressed memory partition size is increased, then more data can be compressed, but access latency increases due to more page faults

Engineering Contradiction:
Improvecompressed memory sizeVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent extracts the page fault overhead from the access path, enabling the compressed memory partition to be scaled up without proportionally increasing access latency. By removing the OS page fault mechanism from the critical path, the system can accommodate larger compressed memory partitions while maintaining consistent low-latency access performance through direct hardware decompression.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If hardware accelerators are used, then decompression speed increases, but parallelism is limited by page fault handling

Engineering Contradiction:
Improvedecompression bandwidthVSAvoidparallelism limitation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables continuous decompression operations by eliminating the discontinuous page fault interruptions. The hardware decompression engine maintains continuous operation, processing decompression requests in a streamlined pipeline without OS context switches or interrupt handling. This continuity maximizes the utilization of hardware accelerator bandwidth and enables higher parallelism across multiple decompression operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250190360A1Os-transparent memory decompression with hardware acceleration
Publication Date: 2025.06.12 INTEL CORP
  • US20250190360A1 patent drawing
  • US20250190360A1 patent drawing
  • US20250190360A1 patent drawing

AI summary

Methods and apparatus for Operating System (OS)-transparent memory decompression with hardware acceleration. A physical address space for system memory is partitioned into compressed and uncompressed partitions. A core issues a memory Read request and on-chip L1, L2, and a last level cache (LLC) are checked, with misses leading to page table lookups to determine where in system memory the requested data are stored. When stored in the compressed partition, a compressed page table is searched to find the location of the compressed form of the data on a memory device. The compressed data are read from the memory device, decompressed using hardware acceleration and returned to the requesting core without writing the data to the uncompressed partition. Under one approach, a compressed page containing the requested data is decompressed and written to the LLC. When data (e.g., cache lines) in the decompressed page in the LLC are written to, the decompressed page is evicted from the LLC and written to the uncompressed partition.