NVMe Storage Management via RDMA Direct Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed storage systems, the performance of NVMe storage devices is not fully utilized due to the need for CPU processing of access requests, which hampers write performance.
Innovation Solution
A method and apparatus that involve a management server establishing a mapping relationship between storage node identifiers and memory addresses of NVMe storage devices, allowing clients to directly access NVMe storage devices without involving the CPU, by obtaining and sending queue messages and query responses to facilitate RDMA write requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the CPU processes access requests to maintain system control and address translation, then system reliability is maintained, but write performance deteriorates due to CPU bottleneck
Solution Approach 1:
The patent extracts the address translation and access request processing functions from the CPU by implementing a dedicated mapping mechanism between host virtual addresses and storage device physical addresses. This allows write operations to proceed without CPU intervention, directly improving write performance while maintaining system reliability through the specialized address translation path.
Solution Approach 2:
The patent introduces a mapping table and address translation mechanism as an intermediary between the host system and NVMe storage device. This intermediary handles address conversion and access request routing, freeing the CPU from these routine operations and enabling faster write performance while maintaining system control.
2Measurement precision
If the CPU parses access requests and converts addresses to maintain proper data access, then address translation accuracy is maintained, but processing time increases due to CPU involvement
Solution Approach 1:
The patent implements preliminary address mapping by pre-establishing the relationship between host virtual addresses and storage device physical addresses in a mapping table. This preliminary action allows subsequent write operations to use the pre-computed mappings directly, maintaining address translation accuracy while significantly reducing the time required for each access request.
Data Source
Figure 1
Figure 2~4
Figure 5~7
AI summary
This solution discloses a method for managing a storage device in a storage system. A client may send, based on an obtained start address that is of a queue of an NVMe storage device and to which an access request points and an obtained logical address that is of the NVMe storage device and to which the access request points, a remote direct memory access command to a storage node in which the NVMe storage device is located. Therefore, performance of the NVMe storage device is brought into full play, and write performance of the storage system is improved.