RDMA Access for Non-Volatile Solid-State Memory in Network Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network storage systems face bottlenecks in accessing flash memory due to serial command interfaces, which hinder low latency and high throughput, especially for write operations, and result in wearout issues over time.
Innovation Solution
Implementing remote direct memory access (RDMA) controlled by the storage server to access non-volatile solid-state memory, allowing compound RDMA commands that combine multiple client-initiated operations into single parallel or sequential reads/writes, and using a log structured write out-of-place data layout engine to manage flash memory, avoiding the need for erasure and reducing wear.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If flash memory is accessed through a serial command interface, then the interface simplicity is maintained, but the throughput and latency performance deteriorate
Solution Approach 1:
The patent replaces the traditional serial command interface mechanism with RDMA (Remote Direct Memory Access) technology, which allows direct memory access between storage devices and host without going through the flash memory controller's serial interface. This substitution eliminates the bottleneck of sequential command processing and enables parallel data transfers, significantly improving throughput while maintaining operational simplicity through automated memory mapping.
Solution Approach 2:
The patent transitions from one-dimensional sequential command processing to multi-dimensional parallel memory access by implementing RDMA with scatter-gather operations. This allows simultaneous reads and writes to different memory locations, effectively adding temporal and spatial dimensions to the access pattern, thereby resolving the throughput limitation of serial interfaces.
2Device complexity
If flash memory is accessed through a serial command interface, then the interface complexity is low, but the latency increases
Solution Approach 1:
The patent substitutes the serial command interface with RDMA technology that enables direct memory access. This replacement eliminates the sequential command execution model and allows parallel memory operations, dramatically reducing latency. The complexity is managed through software-level memory mapping and scatter-gather list mechanisms that automatically manage the RDMA operations.
Solution Approach 2:
The patent implements preliminary memory registration and mapping before actual data access. By pre-establishing memory regions and scatter-gather lists, the system prepares access paths in advance, eliminating the need for sequential command processing during data transfer and significantly reducing access latency.
3Productivity
If flash memory is written to frequently, then data storage capability is improved, but the wearout increases
Solution Approach 1:
The patent segments the flash memory access into separate read and write operations through RDMA scatter-gather mechanisms. By enabling independent parallel reads and writes to different memory regions, the system reduces the impact of write operations on wear while maintaining high data storage capability. The segmentation allows wear-leveling strategies to be implemented more effectively.
Solution Approach 2:
The patent implements a log-structured append approach where data is written to new locations rather than overwriting existing data. This discard-and-recover strategy moves modified data to new blocks, avoiding repeated erase-write cycles on the same physical blocks, thereby reducing wear while maintaining continuous data storage capability.
Data Source
AI summary
A network storage controller uses a non-volatile solid-state memory (NVSSM) subsystem which includes raw flash memory as stable storage for data, and uses remote direct memory access (RDMA) to access the NVSSM subsystem, including to access the flash memory. Storage of data in the NVSSM subsystem is controlled by an external storage operating system in the storage controller. The storage operating system uses scatter-gather lists to specify the RDMA read and write operations. Multiple client-initiated reads or writes can be combined in the storage controller into a single RDMA read or write, respectively, which can then be decomposed and executed as multiple reads or writes, respectively, in the NVSSM subsystem. Memory accesses generated by a single RDMA read or write may be directed to different memory devices in the NVSSM subsystem, which may include different forms of non-volatile solid-state memory.


