Logical Partitioning for FPGA Configuration in PCIe Fabric

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As networked storage systems and remote computing systems increase in density, physical limitations such as space requirements for interconnects and climate control systems become constraints, and traditional bulk storage systems are limited in the number of devices per host, leading to issues with capacity, redundancy, and reliability.

Innovation Solution

A method of programming a fabric-coupled FPGA device involves instructing a communication fabric to establish logical partitions, directing configuration data to the target device, and managing these partitions to segregate communication switch ports and allocate resources efficiently within the PCIe fabric.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If networked storage systems and remote computing systems increase in density to improve capacity, then storage and processing capabilities are enhanced, but physical space requirements for interconnects and climate control systems become constraints

Engineering Contradiction:
Improvestorage capacityVSAvoidphysical space
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The system segments the monolithic host device into multiple virtual devices through device virtualization. A single physical storage device can be divided into multiple virtual devices, each accessible to different hosts or applications. This segmentation allows the physical device to serve multiple logical purposes simultaneously, effectively increasing the quantity of accessible storage without requiring additional physical devices or space.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the number of devices per host is increased to improve capacity and redundancy, then storage capabilities are enhanced, but traditional systems reach limitations in the number of devices that can be included per host

Engineering Contradiction:
Improvenumber of devicesVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system creates virtual copies of physical storage devices. Instead of requiring multiple physical devices to be connected to each host, the system creates virtual device instances that can be replicated and distributed across multiple hosts. These virtual copies provide the same functionality as physical devices but without the physical constraints, allowing any number of devices to be included per host through virtualization rather than physical expansion.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If logical partitions are established to program FPGA devices, then configuration and management flexibility is improved, but communication fabric complexity increases

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidcommunication fabric complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The communication fabric employs dynamic logical partitioning that can be reconfigured based on operational requirements. Rather than static physical connections, the system creates dynamic logical pathways through the communication fabric that can be established, modified, or removed as needed. This dynamic approach allows the same physical fabric to support multiple configuration scenarios, providing adaptability without requiring permanent complex wiring for each possible configuration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12222890B2Programmable logic device configuration over communication fabrics
Publication Date: 2025.02.11 LIQID INC
  • US12222890B2 patent drawing
  • US12222890B2 patent drawing
  • US12222890B2 patent drawing

AI summary

A method of programming a fabric-coupled FPGA device includes instructing a communication fabric to establish a first logical partition segregating a first set of communication switch ports within the communication fabric that includes the management processor and a target device comprising a memory device configured to program a field-programmable gate array (FPGA). The method includes directing configuration data configured to program the FPGA to the target device over the first logical partition. The method includes instructing the communication fabric to remove the first logical partition in the communication fabric, wherein the configuration data remains stored at the target device after removal of the first logical partition. The method includes instructing the communication fabric to establish a second logical partition segregating a second set of communication switch ports within the communication fabric that includes a selected device and the target device that stores the configuration data.