PCIe Switch Logical Partitioning for Smart NIC Storage Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing host systems face challenges in accessing local storage devices without causing data corruption, as both the host CPU and enhanced NIC may attempt to access the same storage devices simultaneously without synchronization.

Innovation Solution

Configuring a PCIe switch into two logical partitions, where the host CPU and NIC operate in isolated partitions, with the NIC having direct access to local physical storage devices while the host CPU does not, and using an Access Control Component (ACC) like a Non-Transparent Bridge (NTB) to control access and prevent direct exposure to the host CPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the host CPU and enhanced NIC both access the same local storage devices simultaneously, then the storage devices can be shared and utilized by multiple components, but data corruption occurs due to lack of synchronization

Engineering Contradiction:
Improvestorage device utilizationVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The PCIe switch is segmented into two logical partitions: Partition A for host CPU access and Partition B for enhanced NIC access. This segmentation physically isolates the access paths to local storage devices, allowing simultaneous access by different components without data corruption. The host CPU and enhanced NIC operate in separate partitioned environments, each with controlled access to storage devices through the PCIe switch's logical partitioning capability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the host CPU has direct access to local storage devices, then data can be read and written efficiently, but the enhanced NIC cannot independently manage storage for its applications

Engineering Contradiction:
Improvestorage access efficiencyVSAvoidNIC storage management capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The PCIe switch creates separate logical partitions that grant the enhanced NIC independent storage management capability. Partition B provides the enhanced NIC with direct access to local storage devices without requiring host CPU involvement, enabling the NIC to independently manage storage for its applications while the host CPU maintains its own access through Partition A.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The PCIe switch acts as an intermediary device that mediates between the host CPU and enhanced NIC for storage access. It provides controlled access paths through its logical partitioning feature, allowing both components to access storage devices independently through separate partitions while maintaining system-wide coordination and preventing conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the enhanced NIC is given direct access to local storage devices, then it can independently manage storage, but the host CPU loses the ability to access these devices directly

Engineering Contradiction:
ImproveNIC independent storage accessVSAvoidhost CPU storage access
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The PCIe switch's logical partitioning divides storage access rights into separate partitions: Partition A maintains host CPU access capability while Partition B provides enhanced NIC access. This segmentation resolves the contradiction by allowing both components to have direct storage access simultaneously through their respective partitions, with the PCIe switch managing the separation and coordination.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11853234B2Techniques for providing access of host-local storage to a programmable network interface component while preventing direct host CPU access
Publication Date: 2023.12.26 DELL PROD LP
  • US11853234B2 patent drawing
  • US11853234B2 patent drawing
  • US11853234B2 patent drawing

AI summary

A host can include a programmable network interface card (NIC) or “Smart NIC” which accesses host-local drives hidden from a host processor. One configuration can include a switch with a one logical partition including the NIC as a root complex (RC) and the local drives as end points (EPs), and with another logical partition including the host processor as an RC and the NIC as an EP. A second configuration can include the NIC and switch directly connected to the host processor with an access control component (ACC) configured on switch ports connected to the local drives. A third configuration can include the NIC and local drives directly connected to the host processor with the ACC configured on host processor ports connected to the local drives. The NIC can use a multi-layer driver to communicate with the ACC and local drives hidden behind the ACC.