Smart NIC Storage Emulation Layer for Remote Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Productivity
If multiple functions are consolidated in NIC, then resource utilization and efficiency are improved, but device complexity is worsened
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.
Data Source
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.


