Data Structure Placement in Hybrid Memory Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage solutions in database management systems face inefficiencies due to the differing performance characteristics of volatile and non-volatile memory, making it challenging to optimize data placement and storage strategies effectively.
Innovation Solution
A method is implemented to determine the optimal memory location for data structures based on access frequency and type, using counters to differentiate between scan and point accesses, and deciding whether to store data in non-volatile memory (NVM) or dynamic random access memory (DRAM) to maximize data placement in NVM without compromising query performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data structures are placed in non-volatile memory (NVM), then storage capacity and persistence are improved, but query performance deteriorates due to different performance characteristics compared to DRAM
Solution Approach 1:
The patent applies local quality by differentiating data structure placement based on access patterns. Frequently accessed data structures with random point access patterns are placed in DRAM for high-speed access, while data structures with sequential scan patterns are placed in NVM for cost-effective storage. This selective placement strategy optimizes both performance and storage capacity by matching data location to access characteristics.
Solution Approach 2:
The patent implements dynamics through runtime determination of data structure placement. The system dynamically analyzes access patterns and decides whether to place each data structure in DRAM or NVM based on observed behavior, rather than using static placement rules. This dynamic approach allows the system to adapt to changing workload characteristics and optimize performance accordingly.
2Speed
If data structures are placed in volatile memory (DRAM), then query performance is improved, but storage capacity and persistence deteriorate compared to NVM
Solution Approach 1:
The patent applies local quality by differentiating data structure placement based on access patterns. Frequently accessed data structures with random point access patterns are placed in DRAM for high-speed access, while data structures with sequential scan patterns are placed in NVM for cost-effective storage. This selective placement strategy optimizes both performance and storage capacity by matching data location to access characteristics.
3Ease of manufacture
If data structures are placed in non-volatile memory (NVM), then cost per capacity is improved, but access speed deteriorates compared to DRAM
Solution Approach 1:
The patent applies local quality by differentiating data structure placement based on access patterns. Frequently accessed data structures with random point access patterns are placed in DRAM for high-speed access, while data structures with sequential scan patterns are placed in NVM for cost-effective storage. This selective placement strategy optimizes both performance and storage capacity by matching data location to access characteristics.
Solution Approach 2:
The patent implements parameter changes by monitoring access pattern characteristics (sequential vs. random, scan vs. point access) and using these parameters to determine optimal storage location. The system changes the storage medium parameter based on observed access behavior, selecting NVM for cost-effective sequential access workloads and DRAM for performance-critical random access workloads.
Data Source
AI summary
A method, a system, and a computer program product for placement or storage of data structures in memory/storage locations. A type of a data structure for storing data and a type of data access to the data structure are determined. The type of data access includes a first and a second type of data access. A frequency of each type of access to each type of data structure accessed by a query is determined. Using the determined frequency, a number of first type of data accesses to the data structure is compared to a number of second type of accesses to the data structure. The numbers of first and second types of data access are compared to a predetermined threshold percentage of a total number of data accesses to the data structure. Based on the comparisons, a physical memory location for storing data is determined.


