NIC Storage Emulator for NVMe Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies lack an efficient method to emulate local storage for host computers using network interface cards (NICs), particularly in scenarios where external storages are not native virtual volume (vVol) storages.
Innovation Solution
A method is implemented on a NIC to deploy a storage emulator program that converts external non-vVol storages into vVol storages, allowing the NIC to emulate a local virtual volume (vVol) storage, which is presented to host computer processes as an NVMe device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If external storages are used that are not native vVol storages, then storage compatibility and versatility are improved, but storage performance and efficiency deteriorate
Solution Approach 1:
The patent introduces a storage emulator program as an intermediary layer between the host computer and external storages. This emulator converts non-vVol storages into vVol storage format, allowing the system to use diverse external storage types while maintaining optimal performance through the mediation of the emulator program that handles protocol translation and data formatting.
2Speed
If a storage emulator program is deployed on the NIC, then local storage emulation is achieved improving access speed, but device complexity increases
Solution Approach 1:
The patent makes the NIC multi-functional by deploying a storage emulator program directly on it, allowing the NIC to perform both its traditional network interface functions and storage emulation functions. This consolidates multiple functions into a single device, improving storage access speed by eliminating additional hardware layers while the added complexity is managed through software implementation.
3Productivity
If non-vVol storages are converted to vVol storages, then storage performance is improved, but processing time and computational resources increase
Solution Approach 1:
The storage emulator program performs preliminary conversion of non-vVol storages to vVol format in advance, so that when storage operations are needed, the data is already in the optimized vVol format. This preliminary action eliminates the need for real-time conversion during storage operations, thus improving storage performance without significant time loss.
Data Source
AI summary
Some embodiments provide a novel method for configuring a network interface card (NIC) that is connected to a host computer and that emulates a local non-volatile memory express (NVMe) storage device, using external storages, for a set of processes executing on the host. The method configures, on the NIC's operating system (OS), a storage emulator program to present the external storages to the host processes as the local NVMe storage device. The method configures, on the NIC's OS, a disk device to exchange NVMe requests and responses between the host processes and the external storages by exchanging the NVMe requests and responses (1) with a virtual NVMe (vNVMe) controller of the NIC through a storage stack of the OS, or (2) directly with the vNVMe controller such that the disk device bypasses the storage stack. Exchanging NVMe requests and responses directly with the vNVMe controller optimizes the NIC's performance.


