NVMe SSD gRPC Tunneling for Storage-Native Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face high costs and performance inefficiencies when processing large amounts of data due to the need to move data from storage to central processing units, leading to increased energy consumption, resource burdens, and latency.
Innovation Solution
Tunneling gRPC messages over PCIe to enable direct communication between a host CPU and an NVMe SSD, allowing for data processing within the storage device, thereby reducing data movement and leveraging the NVMe SSD's processing capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is fetched from persistent storage to high performance servers for processing, then processing capability is improved, but energy consumption and resource burden increase
Solution Approach 1:
The patent moves data processing from the traditional server dimension to the storage device dimension by implementing a storage operating system and application execution environment directly on the NVMe SSD. This dimensional shift allows processing to occur at the data source, eliminating the need to transfer large volumes of raw data over PCIe or network interfaces to servers, thereby reducing energy consumption while maintaining processing capability.
Solution Approach 2:
The patent introduces an RPC capture module and tunneling mechanism as intermediaries between applications and storage devices. The RPC capture module intercepts remote procedure calls and redirects them to the storage device, while the tunneling mechanism creates a communication channel between the host and storage device. This intermediary layer enables storage devices to execute processing tasks without requiring data movement to servers.
2Speed
If data is moved to central processing unit for processing, then processing speed is improved, but latency increases
Solution Approach 1:
The patent implements preliminary action by pre-loading the storage operating system, file systems, and application binaries directly onto the NVMe SSD. This allows the storage device to immediately execute processing tasks upon receiving RPC calls without requiring data transfer or system initialization delays, thereby reducing latency while maintaining high processing speed.
Solution Approach 2:
By executing applications and processing operations directly on the storage device rather than transferring data to servers, the patent eliminates network and data transfer latency. The dimensionality change from server-based processing to storage-based processing creates a more direct execution path, reducing the time from data access to processing completion.
3Reliability
If large amounts of raw data are moved to servers, then data availability for processing is improved, but network bandwidth and CPU resources are burdened
Solution Approach 1:
The patent extracts the processing function from servers and relocates it to storage devices. By taking out the application execution environment and file systems from the server domain and placing them directly on the NVMe SSD, the system eliminates the need to move large amounts of raw data to servers. This extraction reduces network bandwidth consumption and CPU resource burden while maintaining data availability for processing.
Solution Approach 2:
The patent makes the storage device multi-functional by enabling it to not only store data but also execute processing tasks, run applications, and manage files through the integrated storage operating system. This universality allows the storage device to handle both data storage and data processing functions, eliminating the need for separate server infrastructure and reducing overall system resource requirements.
Data Source
AI summary
A host machine is disclosed. The host machine may include a host processor, a memory, an operating system running on the host processor, and an application running under the operating system on the host processor. The host machine may also include a Peripheral Component Interconnect Express (PCIe) tunnel to a Non-Volatile Memory Express (NVMe) Solid State Drive (SSD) and an RPC capture module which may capture the RPC from the application and deliver a result of the RPC to the application as though from the host processor, where the NVMe SSD may execute the RPC to generate the result.


