NVRAM Cache RDMA Data Access Bypassing Read Staging
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If data blocks are cached in persistent cache, then data retrieval speed is improved, but read staging overhead increases transmission 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.
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.
2Productivity
If read staging is performed to transmit data from persistent cache, then data can be transmitted over network, but transmission overhead increases
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.
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.
3Speed
If volatile RAM is used for staging data before transmission, then data can be quickly transmitted, but memory usage increases
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.
Data Source
Figure 1
Figure 2
Figure 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.