NVRAM Shared Storage Database RDMA Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In shared storage database systems, the speed of database access is limited by common network connections and processing capacity, leading to inefficiencies in data block read and write operations.
Innovation Solution
Implementing a non-volatile random access memory (NVRAM) based shared storage architecture, where data blocks are directly transferred between NVRAMs using remote direct memory access (RDMA) for read operations and utilizing one-sided write staging to reduce latency and processor overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If shared storage architecture with network connections is used, then database availability is improved, but database access speed deteriorates
Solution Approach 1:
The patent introduces NVRAM as an intermediary storage layer between the database server and persistent storage. The NVRAM acts as a buffer that decouples the database access operations from the slower network-connected storage, allowing fast access to frequently used data blocks while maintaining the shared storage architecture for availability.
Solution Approach 2:
The patent segments the storage system into multiple layers: volatile memory for caching, NVRAM for persistent buffering, and network-connected storage for long-term persistence. This segmentation allows each layer to optimize for its specific function, with NVRAM handling the speed-critical persistent storage operations.
2Ease of operation
If read staging operations are performed, then data block transfer is enabled, but operation latency increases
Solution Approach 1:
The patent performs write staging in advance, writing data blocks to NVRAM before they are needed for reading. This preliminary action ensures that when read operations occur, the data is already available in the fast NVRAM layer, eliminating the need for read staging and reducing read latency significantly.
Solution Approach 2:
The patent implements dynamic data block management where the system adapts the storage location of data blocks based on access patterns. Frequently accessed blocks are kept in NVRAM, while less accessed blocks remain in network storage, optimizing the balance between transfer capability and latency.
3Reliability
If processor involvement in write operations is increased, then data integrity is improved, but processor overhead increases
Solution Approach 1:
The patent implements self-service mechanisms where the storage system automatically handles data integrity checks and error correction in the NVRAM layer without requiring processor intervention. The NVRAM's inherent persistence capabilities provide automatic data protection, reducing the burden on the processor while maintaining integrity.
Solution Approach 2:
The NVRAM layer acts as an intermediary that handles data integrity responsibilities, shielding the processor from complex integrity verification tasks. The NVRAM's deterministic persistence characteristics provide a reliable foundation that reduces the need for processor-intensive error checking and recovery operations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a node that persistently stores the data block to a database buffer in non-volatile RAM of another node that requests the data block. The transfer is accomplished using remote direct memory access ("RDMA). In addition to techniques for performing a data block read operation to NVRAM, computing nodes perform a data block write operation.