NVRAM Cache RDMA Data Access Bypassing Read Staging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems that cache data in persistent caches face inefficiencies in transmitting data blocks over networks due to the overhead of read staging, which involves copying data from persistent storage to volatile RAM before transmission.

Innovation Solution

Implementing Non-Volatile RAM (NVRAM) caching with a hash table accessible via Remote Direct Memory Access (RDMA) to directly access and transmit data blocks from NVRAM, bypassing the need for read staging and improving network data transfer efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data blocks are cached in persistent cache, then data retrieval speed is improved, but read staging overhead increases transmission complexity

Engineering Contradiction:
Improvedata retrieval speedVSAvoidtransmission complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the read staging operation from the data transmission path by enabling direct access to persistent cache memory through RDMA technology. This allows data blocks to be transmitted directly from persistent cache to client memory without being copied to volatile RAM first, thereby eliminating the read staging overhead while maintaining the speed benefits of persistent caching.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces RDMA (Remote Direct Memory Access) as an intermediary mechanism that enables direct communication between the persistent cache and the client's memory space. This intermediary bypasses the traditional CPU-mediated copy operation, reducing transmission complexity while preserving fast data retrieval from persistent cache.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If read staging is performed to transmit data from persistent cache, then data can be transmitted over network, but transmission overhead increases

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidtransmission overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent removes the read staging step from the data transmission workflow by enabling direct RDMA access to persistent cache. Data blocks are transmitted directly from persistent cache to client memory over the network without being staged in volatile RAM, thereby eliminating the additional copy operation and reducing transmission overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The persistent cache is configured to be directly accessible by remote clients through RDMA, allowing the cache to serve data transmission requests autonomously without requiring intermediate processing through volatile RAM. This self-service capability reduces the computational overhead and energy consumption associated with traditional read staging operations.

Inventive Principle:
Principle #25Self-service

3Speed

If volatile RAM is used for staging data before transmission, then data can be quickly transmitted, but memory usage increases

Engineering Contradiction:
Improvedata transmission speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts the staging function from volatile RAM by enabling direct RDMA access to persistent cache. Data blocks are transmitted directly from persistent cache without requiring allocation of volatile RAM memory for staging, thereby maintaining fast transmission speeds while reducing overall memory usage in the system.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3688598B1Method for reading data stored in a non-volatile cache using rdma
Publication Date: 2022.08.31 ORACLE INT CORP
  • EP3688598B1 patent drawingFigure 1
  • EP3688598B1 patent drawingFigure 2
  • EP3688598B1 patent drawingFigure 3

AI summary

Data blocks are cached in a persistent cache ("NV cache") allocated from as non-volatile RAM ("NVRAM"). The data blocks may be accessed in place in the NV cache of a "source" computing element by another "remote" computing element over a network using remote direct memory access ("RMDA"). In order for a remote computing element to access the data block in NV cache on a source computing element, the remote computing element needs the memory address of the data block within the NV cache. For this purpose, a hash table is stored and maintained in RAM on the source computing element. The hash table identifies the data blocks in the NV cache and specifies a location of the cached data block within the NV cache.