NVMe SSD gRPC Tunneling for Storage-Native Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata processing capabilityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If data is moved to central processing unit for processing, then processing speed is improved, but latency increases

Engineering Contradiction:
Improveprocessing speedVSAvoidlatency
Core Design Contradiction:
SpeedVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvedata availabilityVSAvoidresource requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10846155B2Method for NVMe SSD based storage service using RPC and gRPC tunneling over PCIe +
Publication Date: 2020.11.24 SAMSUNG ELECTRONICS CO LTD
  • US10846155B2 patent drawing
  • US10846155B2 patent drawing
  • US10846155B2 patent drawing

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.