Direct Swap Caching with Zero Line Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, especially in cloud environments, memory resources are not allocated efficiently due to uneven usage by compute entities, leading to unutilized memory resources and inefficiencies in data retrieval between near memory and far memory.

Innovation Solution

A method and system that analyze metadata to determine if data is stored in near or far memory and if it contains all zeros, allowing for the synthesis of a data portion instead of retrieval from far memory, and performing speculative swaps to optimize memory operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If data is retrieved from far memory, then data access is performed, but power consumption increases and access time is extended

Engineering Contradiction:
Improvepower consumptionVSAvoiddata access time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by checking metadata before data retrieval to determine if the data block contains all zeros. This preliminary check enables the system to avoid unnecessary far memory access for zero blocks, thereby reducing both power consumption and access time while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If far memory is accessed for data retrieval, then data is obtained, but memory resource utilization efficiency decreases

Engineering Contradiction:
Improvememory resource utilization efficiencyVSAvoiddata retrieval time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts and checks only the metadata portion of data blocks before retrieving the actual data from far memory. This extraction approach allows the system to identify zero blocks through metadata inspection alone, avoiding the time-consuming operation of retrieving entire data blocks from far memory while improving memory resource utilization efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If metadata analysis is performed for each data block, then data location and content information is obtained, but system complexity increases

Engineering Contradiction:
Improvedata location informationVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent uses metadata as a simplified copy or representation of the actual data block characteristics. By analyzing this lightweight metadata copy instead of the full data block, the system obtains necessary information about data location and zero-content status without the complexity of examining or transferring the entire data block, thus reducing system complexity while preserving essential information.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250103339A1Direct swap caching with zero line optimizations
Publication Date: 2025.03.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250103339A1 patent drawing
  • US20250103339A1 patent drawing
  • US20250103339A1 patent drawing

AI summary

Systems and methods related to direct swap caching with zero line optimizations are described. A method for managing a system having a near memory and a far memory comprises receiving a request from a requestor to read a block of data that is either stored in the near memory or the far memory. The method includes analyzing a metadata portion associated with the block of data, the metadata portion comprising: both (1) information concerning whether the near memory contains the block of data or whether the far memory contains the block of data and (2) information concerning whether a data portion associated with the block of data is all zeros. The method further includes instead of retrieving the data portion from the far memory, synthesizing the data portion corresponding to the block of data to generate a synthesized data portion and transmitting the synthesized data portion to the requestor.