Heterogeneous Memory Hierarchy for Database Storage Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Main memory-based databases face limitations due to small capacity, making them cost-prohibitive and speed-limited when trying to increase memory capacity, either through expensive high-capacity devices or distributed architectures.

Innovation Solution

Implementing a hierarchy of memories with low-density, low-latency and high-density, high-latency memory units, where data is stored based on user-specified criteria such as compression level, priority, access frequency, and available memory, allowing automatic movement of data between memory types based on policy conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If high-capacity main memory devices are used to increase memory capacity, then memory capacity is improved, but cost increases significantly

Engineering Contradiction:
Improvememory capacityVSAvoidcost
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent segments memory capacity into two distinct types: volatile memory for frequently accessed data and non-volatile memory for less frequently accessed data. This segmentation allows the system to achieve high total capacity without requiring all capacity to be expensive volatile memory, thereby reducing overall cost while maintaining adequate performance for active workloads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different memory types to different data based on access patterns. Frequently accessed data resides in fast volatile memory while less frequently accessed data is stored in slower non-volatile memory. This localized optimization ensures that expensive high-performance memory is only used where necessary, reducing overall system cost while maintaining performance for critical operations.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If a cluster of computing devices is used to increase main memory capacity, then memory capacity is improved, but access speed deteriorates due to interconnect limitations

Engineering Contradiction:
Improvememory capacityVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the memory system into volatile and non-volatile components within a single computing device, eliminating the need for distributed clusters. This segmentation provides a unified memory namespace that appears as a single address space to applications, avoiding the interconnect bottlenecks inherent in clustered architectures while still achieving high capacity through the combination of different memory types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a memory management mechanism that acts as an intermediary between the volatile and non-volatile memory types. This intermediary transparently manages data placement and movement between memory types, providing unified access semantics to applications while optimizing performance by keeping frequently accessed data in volatile memory, thereby maintaining high access speeds without requiring clustered architectures.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If volatile memory is used for all data storage, then data access speed is improved, but memory capacity is limited and cost increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by using volatile memory specifically for frequently accessed data where speed is critical, while using non-volatile memory for less frequently accessed data where capacity is more important than speed. This localized application of different memory types optimizes the overall system by ensuring that volatile memory's high speed is utilized only where necessary, while non-volatile memory provides cost-effective capacity for other data.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameters of the memory system by introducing non-volatile memory with different characteristics (higher capacity, lower cost, slower speed) to complement volatile memory. By adjusting the mix and distribution of data across these memory types based on access patterns, the system achieves an optimal balance between capacity, cost, and performance that neither memory type could achieve alone.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10133667B2Efficient data storage and retrieval using a heterogeneous main memory
Publication Date: 2018.11.20 ORACLE INT CORP
  • US10133667B2 patent drawing
  • US10133667B2 patent drawing
  • US10133667B2 patent drawing

AI summary

Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) data and stores the MF data in a hierarchy of random-access memories (RAMs). Each RAM in the hierarchy has an associated latency that is different from a latency associated with any other RAM in the hierarchy. Storing the sets of MF data in the hierarchy of RAMs includes (1) selecting, based on one or more criteria, a respective RAM in the hierarchy to store each set of MF data and (2) storing said each set of MF data in the respective RAM.