PCIe Switch Queue Transfer for Multi-Node Storage Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current PCIe fabrics limit shared access to storage devices among multiple compute nodes, as each storage device typically has direct memory access to only one compute node, restricting concurrent requests and third-party data transfers.

Innovation Solution

Implementing a switch fabric that allows compute nodes to share access to storage devices through the transfer of queues, enabling multiple nodes to submit requests directly to storage devices via a PCIe switch, which routes data and interrupts based on address mappings, facilitating concurrent access and third-party transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a storage device has direct memory access to only one compute node, then the system maintains simple access control and ownership management, but multiple compute nodes cannot concurrently access the storage device

Engineering Contradiction:
Improveshared access capabilityVSAvoidqueue transfer mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a queue transfer mechanism as an intermediary that enables multiple compute nodes to access a storage device. The storage device maintains ownership by one compute node while allowing other compute nodes to transfer queues and access the device through the owner node, thus resolving the contradiction between simple access control and multi-node accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage device is designed with multi-functionality to serve both as an owned device for one compute node and as a shared resource for multiple compute nodes. Through the queue transfer mechanism, the same storage device can be accessed by multiple nodes concurrently, achieving versatility without requiring multiple separate storage devices.

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

2Productivity

If direct memory access is limited to one compute node, then the PCIe fabric maintains simple routing and address mapping, but concurrent requests and third-party data transfers are restricted

Engineering Contradiction:
Improveconcurrent request handlingVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-establishing queue transfer mechanisms and address mapping configurations that enable concurrent requests to be routed efficiently. Compute nodes can prepare queue transfers in advance, and the PCIe switch maintains pre-configured routing tables for rapid data transfer, reducing latency while supporting concurrent access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The PCIe switch acts as an intermediary that facilitates concurrent requests and third-party data transfers. It manages address mappings and routes data packets between compute nodes and storage devices, enabling multiple nodes to submit requests simultaneously without increasing access latency significantly.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If queues are transferred between compute nodes, then shared access to storage devices is enabled, but the system requires complex queue management and ownership tracking

Engineering Contradiction:
Improvequeue sharing capabilityVSAvoidownership management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the storage device and PCIe switch track queue ownership and transfer status. The system maintains ownership information through feedback loops that update address mappings and queue pointers, enabling complex queue sharing while maintaining manageable ownership tracking through automated status updates.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The queue transfer mechanism uses copying concepts where queue references or pointers are transferred between compute nodes rather than physically moving data. The storage device maintains its original queue structure while compute nodes obtain references to access the queues, reducing the complexity of actual queue management while enabling shared access.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10515027B2Storage device sharing through queue transfer
Publication Date: 2019.12.24 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10515027B2 patent drawing
  • US10515027B2 patent drawing
  • US10515027B2 patent drawing

AI summary

According to examples, an apparatus may include a memory to which a first queue and a second queue are assigned, in which a storage device is to access data task requests stored in the first queue and the second queue, in which the apparatus is to transfer the first queue to a second apparatus. The apparatus may also include a central processing unit (CPU), the CPU to input data task requests for the storage device into the second queue, in which the second apparatus is to store the first queue in a second memory of the second apparatus, and the storage device is to access data task requests from the first queue stored in the second memory of the second apparatus and data task requests from the second queue stored in the memory to cause the apparatus and the second apparatus to share access to the storage device.