Memory-Aware Splay Tree for Hybrid Memory Data Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hybrid memory systems face challenges in balancing energy efficiency and performance due to the high latency and dynamic energy consumption of non-volatile memory (NVM) compared to dynamic random access memory (DRAM), while also managing wear and tear on NVM storage cells.

Innovation Solution

A memory-aware SPLAY tree is implemented in hybrid memory systems to selectively migrate data between DRAM and NVM based on endurance counters, ensuring that frequently accessed data is stored in DRAM for low latency and less frequently accessed data is stored in NVM, optimizing energy usage and extending NVM lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If data is stored in NVM to reduce static energy consumption, then energy efficiency is improved, but access latency increases

Engineering Contradiction:
Improvestatic energy consumptionVSAvoidaccess latency
Core Design Contradiction:
Use of energy by stationary objectVSSpeed

Solution Approach 1:

The memory system is segmented into two distinct storage layers: DRAM for frequently accessed data and NVM for less frequently accessed data. The SPLAY tree partitions data based on access patterns, with hot data residing in DRAM and cold data in NVM, resolving the latency-energy tradeoff through spatial segmentation of data storage locations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically migrates data between DRAM and NVM based on access patterns and endurance counters. The SPLAY tree structure allows frequent accesses to promote nodes closer to the root, automatically relocating hot data to DRAM and cold data to NVM, creating a dynamic adaptation to changing workloads

Inventive Principle:
Principle #15Dynamics

2Speed

If data is stored in DRAM for low latency access, then access speed is improved, but static energy consumption increases

Engineering Contradiction:
Improveaccess latencyVSAvoidstatic energy consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

Data is segmented based on access frequency and endurance characteristics, with only the most frequently accessed data residing in energy-intensive DRAM while less frequently accessed data is placed in low-power NVM, optimizing the energy-speed tradeoff

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the storage location parameter of data based on access patterns and endurance counter values. Data is dynamically reassigned between DRAM and NVM storage locations, adjusting the system state to balance performance and energy consumption

Inventive Principle:
Principle #35Parameter changes

3Use of energy by stationary object

If NVM is used for persistent storage, then energy efficiency is improved, but wear and tear on storage cells increases

Engineering Contradiction:
Improveenergy efficiencyVSAvoidstorage cell lifespan
Core Design Contradiction:
Use of energy by stationary objectVSReliability

Solution Approach 1:

The system performs preliminary actions by tracking endurance counters for each node in the SPLAY tree and proactively migrating data before excessive write operations degrade NVM storage cells. This preventive approach extends the lifespan of NVM by avoiding premature wear

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback through endurance counters that track the number of write operations for each node. When a node's endurance counter exceeds a threshold, the system triggers data migration to preserve NVM cell lifespan, creating a closed-loop protection mechanism

Inventive Principle:
Principle #23Feedback

4Use of energy by stationary object

If data migration between memory types is performed frequently, then energy optimization is improved, but system complexity increases

Engineering Contradiction:
Improveenergy optimizationVSAvoidsystem complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The SPLAY tree structure provides self-service by automatically organizing data based on access patterns. The tree's rotation and rebalancing operations naturally partition data between DRAM and NVM without requiring external intervention, simplifying the management of complex migration policies

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system manages complexity by changing key parameters such as endurance counter thresholds and migration policies. These parameter adjustments allow the system to adapt to different workloads and hardware configurations without requiring complex reimplementation of the underlying migration mechanism

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10437798B2Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
Publication Date: 2019.10.08 SAP SE
  • US10437798B2 patent drawing
  • US10437798B2 patent drawing
  • US10437798B2 patent drawing

AI summary

Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving a key, the key corresponding to an object that is stored in a hybrid memory system, searching a SPLAY tree based on the key to identify a node of the SPLAY tree, determining a type of memory that the object is stored on in the hybrid memory system, the type of memory including one of a first type of memory and a second type of memory, selectively adjusting an endurance counter associated with the object based on a location of the node within the SPLAY tree, and the type of memory that the object is stored on in the hybrid memory system, and selectively migrating the object between the first memory type and the second memory type based on the EC associated with the object.