Smart NIC Storage Emulation Layer for Local Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems lack an efficient method 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 executing programs.
Innovation Solution
A method utilizing a smart NIC that accesses external storages through a shared port, employing a network fabric storage driver to present external storage as local storage, with features like data efficiency, security, and performance optimization, using a DSAN service to emulate local storage and manage data lifecycle.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If external storage is accessed through a shared NIC port, then storage access performance and resiliency are improved, but the complexity of the storage access architecture increases
Solution Approach 1:
The patent introduces a storage emulation layer as an intermediary component that sits between the host programs and the external storage systems. This emulation layer translates local storage operations into remote storage operations, masking the complexity of external storage access while maintaining performance. The shared NIC port serves as another intermediary, enabling efficient network-attached storage access without requiring complex host-side storage controllers.
Solution Approach 2:
The patent creates a virtual disk copy or representation of external storage within the host system through the storage emulation layer. This virtual disk appears as local storage to host programs but actually maps to external storage resources, allowing programs to access remote storage with the simplicity of local storage operations while maintaining the performance benefits of external storage systems.
2Ease of operation
If external storage is presented as local storage to programs, then ease of operation is improved, but security risks increase due to exposed remote data access
Solution Approach 1:
The storage emulation layer acts as a security intermediary that sits between host programs and external storage systems. It provides security services such as encryption, authentication, and access control while maintaining the illusion of local storage to programs. This allows programs to operate with simple local storage semantics while the intermediary handles security concerns for remote data access.
Solution Approach 2:
The patent implements different quality characteristics at different layers of the storage architecture. At the program level, storage appears as simple local access. At the emulation layer, security and translation functions are implemented. At the network level, secure remote access protocols are used. This layered approach with different local qualities at each level resolves the contradiction between simplicity and security.
3Adaptability or versatility
If a storage emulation layer is implemented on the NIC, then adaptability of storage access is improved, but device complexity increases
Solution Approach 1:
The patent implements a storage emulation layer on the NIC that provides multiple storage access protocols and interfaces through a single device. The NIC can emulate different types of storage devices (virtual disks, file systems, etc.) and support multiple access methods, making it a universal storage access point. This multi-functionality increases adaptability while the NIC's integrated design helps manage the complexity.
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.


