Redis Host Memory Tiering With CXL for Low-Latency Capacity Expansion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Redis systems face challenges in efficiently expanding memory capacity without incurring high latency or maintenance costs, particularly when data access is random and memory resources are limited.
Innovation Solution
A method and device utilizing a Computing Express Link (CXL) device to dynamically allocate and evict data from host memory to extend capacity, employing a two-level cache architecture that separates hot and cold data, with data evicted based on predetermined conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is stored in host memory to achieve fast access, then data access speed is improved, but memory capacity is limited
Solution Approach 1:
The patent introduces a two-level memory architecture that adds a spatial dimension to memory organization. Host memory (DRAM) and CXL memory are stacked in layers, with hot data in the faster host memory and cold data in the larger CXL memory. This vertical stacking allows the system to achieve both fast access for frequently used data and large capacity for less frequently used data, resolving the contradiction between speed and capacity.
2Quantity of substance
If memory capacity is expanded by adding physical memory, then storage capacity is improved, but service disruption occurs during expansion
Solution Approach 1:
The system pre-configures CXL memory resources before they are needed. When host memory becomes full, the system can immediately evict data to CXL memory without any service disruption. The CXL memory is already prepared and connected, allowing seamless data migration and capacity expansion while maintaining continuous service availability.
3Quantity of substance
If CXL memory is used to extend capacity, then memory capacity is improved, but data access latency increases
Solution Approach 1:
The patent applies different quality characteristics to different parts of the memory system. Host memory provides high-speed access for hot data (frequently accessed), while CXL memory provides large capacity for cold data (infrequently accessed). This local differentiation ensures that the majority of data accesses occur in the fast host memory, minimizing overall latency while still providing expanded capacity through CXL memory when needed.
4Quantity of substance
If multiple Redis instances are deployed to expand capacity, then system capacity is improved, but operation and maintenance complexity increases
Solution Approach 1:
The patent merges multiple Redis instances into a unified memory space that shares both host memory and CXL memory resources. Instead of managing separate memory pools for each Redis instance, the system consolidates memory management at the hardware level, allowing multiple instances to dynamically share available capacity. This reduces operation and maintenance complexity while still providing expanded system capacity.
Data Source
AI summary
A method and device for accessing data in a host memory are provided. The method includes: in response to writing first data corresponding to a first Remote Dictionary Server (Redis) instance of a plurality of Redis instances into the host memory, determining whether a remaining host memory capacity for the first Redis instance is sufficient to store the first data, wherein the remaining host memory capacity is based on a difference between maximum capacity of the host memory that is capable of being used by the first Redis and capacity of the host memory that has been used by the first Redis instance; and in response to determining that that the remaining host memory capacity is not sufficient to store the first data, evicting second data of the first Redis instance from the host memory to a Computing Express Link (CXL) device and storing the first data in the host memory.


