Smart NIC Storage Emulation Layer for Remote Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems lack efficient methods to provide distributed storage services to host computers, where external storage appears as local storage, ensuring performance, resiliency, and security without revealing remote data access to programs executing on the host.

Innovation Solution

A method utilizing a smart NIC that accesses external storages through a shared port, employing a network fabric storage driver and emulation layer to present external storage as local, with translation of read/write requests and responses, and execution of DSAN services for enhanced performance and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If external storage is accessed directly through network protocols, then storage capacity and remote accessibility are improved, but access performance and latency are worsened

Engineering Contradiction:
Improvestorage accessibilityVSAvoidstorage access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

A storage emulation layer is introduced as an intermediary component that sits between the host programs and external storage systems. This emulation layer translates local storage operations into network storage operations, making external storage appear as local storage to host programs. The emulation layer handles protocol translation, data buffering, and operation scheduling to minimize network latency while maintaining the illusion of local storage access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If storage emulation layer is introduced to mask remote access, then security and simplicity are improved, but system complexity is worsened

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The storage emulation layer creates a virtual copy or representation of external storage that mimics local storage interfaces and behaviors. Instead of exposing the complex network storage protocols directly to host programs, the emulation layer presents a simplified, familiar local storage interface. This copying approach maintains security by keeping the actual network storage implementation hidden while providing programs with a simple, standardized interface they can use without understanding the underlying network complexity.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple functions are consolidated in NIC, then resource utilization and efficiency are improved, but device complexity is worsened

Engineering Contradiction:
Improveresource utilizationVSAvoidNIC complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The NIC is designed with multi-functionality to handle both traditional network packet forwarding and storage emulation operations. The NIC includes dedicated hardware components such as storage emulation engine, protocol translation units, and buffer memory that enable it to perform storage operations alongside its standard network functions. This consolidation improves resource utilization by eliminating the need for separate hardware devices while the NIC's internal architecture manages the complexity through functional integration and resource sharing.

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

Data Source

PatentUS11593278B2Using machine executing on a NIC to access a third party storage not supported by a NIC or host
Publication Date: 2023.02.28 VMWARE INC
  • US11593278B2 patent drawing
  • US11593278B2 patent drawing
  • US11593278B2 patent drawing

AI summary

Some embodiments provide a method of providing distributed storage services to a host computer from a network interface card (NIC) of the host computer. At the NIC, the method accesses a set of one or more external storages operating outside of the host computer through a shared port of the NIC that is not only used to access the set of external storages but also for forwarding packets not related to an external storage. In some embodiments, the method accesses the external storage set by using a network fabric storage driver that employs a network fabric storage protocol to access the external storage set. The method presents the external storage as a local storage of the host computer to a set of programs executing on the host computer. In some embodiments, the method presents the local storage by using a storage emulation layer on the NIC to create a local storage construct that presents the set of external storages as a local storage of the host computer.