NVMe Key-Value Storage Protocol Extension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current key-value storage systems cannot be effectively combined with efficient storage protocols like NVMe, resulting in increased I/O path delays and limited support for both key-value and conventional block device storage.
Innovation Solution
The key-value storage method extends storage operations to the storage protocol, allowing interaction between the host and storage controller without requiring block layer or file system conversion, enabling efficient key-value storage and supporting conventional block device storage by using the NVMe protocol.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If key-value storage is combined with NVMe protocol, then storage efficiency and I/O speed are improved, but device complexity increases due to protocol extension requirements
Solution Approach 1:
The patent merges key-value storage operations with the NVMe protocol by defining new command types within the existing protocol framework. This integration allows key-value operations to execute directly through the NVMe interface without requiring separate storage pathways, thereby improving storage efficiency while leveraging the existing protocol infrastructure to minimize complexity increases
Solution Approach 2:
The NVMe protocol is extended to support multiple storage paradigms simultaneously - both traditional block device operations and key-value storage operations. This multi-functionality allows the same protocol and hardware interface to handle diverse storage workloads, improving overall system productivity without requiring separate dedicated pathways for each storage type
2Adaptability or versatility
If block layer or file system conversion is used to implement key-value storage, then compatibility with existing systems is maintained, but I/O path delay increases
Solution Approach 1:
The patent extracts key-value storage operations from the traditional block layer/file system conversion pathway and integrates them directly into the NVMe protocol layer. This extraction eliminates the intermediate conversion steps that cause I/O path delays, allowing key-value operations to execute directly through the optimized NVMe interface while maintaining system compatibility through protocol-level abstraction
Solution Approach 2:
The NVMe protocol serves as an intermediary layer that directly supports key-value operations without requiring conversion through block layer or file system layers. This intermediary approach maintains compatibility with existing NVMe infrastructure while providing direct, low-latency pathways for key-value storage operations
3Ease of operation
If multiple single key-value storage requests are processed separately, then request handling simplicity is maintained, but storage operation efficiency decreases
Solution Approach 1:
The patent enables merging of multiple single key-value storage requests into aggregated NVMe commands. The NVMe protocol's inherent support for batch operations allows multiple key-value pairs to be processed in a single I/O operation, significantly improving storage operation efficiency while the protocol's command structure maintains reasonable simplicity in request handling
4Device complexity
If key-value storage is implemented without protocol extension, then device complexity is reduced, but adaptability to efficient storage protocols is lost
Solution Approach 1:
The patent implements protocol extension that provides universal support for both traditional block device operations and key-value storage operations within the NVMe framework. This extension maintains relative implementation simplicity by building upon existing NVMe structures while adding the necessary adaptability to handle multiple storage paradigms through a unified interface
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments of this application provide a key-value storage method, apparatus, and system, to resolve at least a problem that currently no related solution can combine key-value storage with such efficient storage protocol as an NVMe protocol. The method includes: writing, by a host after detecting a key-value storage request, a first instruction code and address information that are carried in the key-value storage request to a field defined in a protocol, to constitute a first storage request instruction sequence, where the first instruction code is an instruction code defined based on a reserved extension field in the protocol; and interacting, by the host, with the storage controller, so that the storage controller obtains the first storage request instruction sequence. This application is applicable to the field of storage technologies.