Lazy Memory Deduplication Staging Area Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory deduplication processes incur high memory bandwidth overhead due to the need for frequent content lookups, making them inefficient in modern computing systems where memory availability and performance are increasingly limited.

Innovation Solution

The implementation of a lazy deduplication process that delays deduplication until data stability is achieved, using a staging area to absorb modifications before incurring deduplication costs, thereby focusing on stable data rather than frequently changing data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frequent content lookups are performed for memory deduplication, then deduplication effectiveness is improved, but memory bandwidth overhead increases

Engineering Contradiction:
Improvededuplication effectivenessVSAvoidmemory bandwidth overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs content lookup and deduplication decision-making in advance, before the actual memory write operation. The memory controller determines whether data should be deduplicated and prepares the deduplication structure entries beforehand, so that when the write occurs, the data can be stored immediately without requiring additional lookup bandwidth.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the memory write operation into distinct phases: content lookup phase, deduplication decision phase, and actual write phase. By separating the lookup operation from the write operation and allowing them to proceed independently or in parallel, the system reduces the bandwidth overhead of frequent lookups while maintaining deduplication effectiveness.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If memory deduplication is performed on all data, then storage efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies different deduplication strategies to different data based on their characteristics. Rather than uniformly deduplicating all memory data, the system identifies specific data patterns and locations that benefit from deduplication and applies the mechanism selectively, reducing overall system complexity while maintaining storage efficiency.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If immediate deduplication is performed on written data, then memory space optimization is improved, but processing time increases

Engineering Contradiction:
Improvememory space optimizationVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs the content lookup and deduplication determination as a preliminary action before the actual data write completes. By initiating the deduplication process in advance and allowing it to proceed independently or in parallel with the write operation, the system achieves memory space optimization without adding significant processing time to the critical write path.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10732880B2Lazy memory deduplication
Publication Date: 2020.08.04 INTEL CORP
  • US10732880B2 patent drawing
  • US10732880B2 patent drawing
  • US10732880B2 patent drawing

AI summary

Various systems and methods for computer memory management are described herein. A system for computer memory management includes a first memory device including a mapping table; a second memory device including a staging area; a third memory device including a dedup data region; and a controller operable to: receive a memory access request, the memory access request including an address and data; write the data to the staging area; and update the mapping table with the address.