NVMe Key-Value Storage Interface Without Block Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The conversion of key-value (KV) data into block form and allocation of logical block addresses (LBAs) in NVMe storage devices consumes significant computing resources, leading to performance deterioration and efficiency loss in storage systems.

Innovation Solution

The NVMe protocol is extended to support a direct KV interface, allowing KV data to be transmitted directly between the host and storage device without conversion to blocks, using optimized NVMe commands that include keys and values in the command header or payload, and optionally using pointers for value and metadata storage locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If KV data is converted into block form and LBA addresses are allocated, then NVMe storage device can store data using block interface, but computing resources of host are consumed and performance deteriorates

Engineering Contradiction:
Improvecompatibility with block interfaceVSAvoidstorage system performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces an NVMe storage device as an intermediary that natively supports KV operations. Instead of the host converting KV data to blocks, the storage device itself receives KV commands directly through extended NVMe interfaces and performs the storage operations, eliminating the host's conversion workload while maintaining block interface compatibility through the NVMe protocol layer

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If KV data is converted into block form, then data can be stored in NVMe storage device, but conversion process consumes computing resources and affects running efficiency

Engineering Contradiction:
Improvedata storage capabilityVSAvoiddata conversion time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The NVMe storage device performs self-service by natively understanding and processing KV commands. The storage device has built-in KV command interpretation and data organization capabilities, allowing it to store KV data directly without requiring external conversion from the host, thereby eliminating conversion time and improving efficiency

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If host converts KV commands into data blocks, then NVMe storage device can process the data, but the conversion and LBA allocation consume computing resources

Engineering Contradiction:
Improveinterface compatibilityVSAvoidhost computing resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The NVMe storage device is designed with multi-functionality to handle both traditional block operations and native KV operations through the same NVMe interface. This universal capability allows the device to accept KV commands directly without requiring host-side conversion, maintaining interface compatibility while reducing host resource consumption by consolidating functionality in the storage device

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

Data Source

PatentEP3916536B1Data processing method and nvme storage device
Publication Date: 2026.01.28 HUAWEI TECH CO LTD
  • EP3916536B1 patent drawingFigure 1
  • EP3916536B1 patent drawingFigure 2
  • EP3916536B1 patent drawingFigure 3

AI summary

A data processing method and a storage apparatus are disclosed. The data processing method includes: receiving, by an NVMe storage device, an NVMe write command sent by a host, where the NVMe write command carries a key and a value pointer, the value pointer points to first storage space, and the first storage space is used to store a value; obtaining, by the NVMe storage device, the key from the NVMe write command and a value length, and allocating second storage space to the value according to the value length, where the second storage space is in the NVMe storage device; and obtaining, by the NVMe storage device, the value from the host, and storing the value in the second storage space.