Programmable IC Plugin Hot-Swapping Without Kernel Downtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programmable integrated circuits (ICs) face limitations in dynamically modifying a kernel or plugin without affecting the operation of other kernels, leading to downtime and reduced flexibility in supporting multiple users and functions concurrently.

Innovation Solution

The implementation of a programmable IC with a static region and dynamic regions, allowing for the dynamic modification of user-specified circuits within partial reconfiguration regions, enabling the modification of one kernel without disrupting other kernels by sending messages, clearing resources, and isolating memory access, while allowing other regions to continue operating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a plugin is modified in a programmable IC, then the plugin functionality is updated, but all other plugins must be brought down and the hardware swapped out

Engineering Contradiction:
Improveplugin modification capabilityVSAvoidcontinuous operation of other plugins
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The programmable IC is divided into multiple independent reconfigurable regions, each capable of hosting a separate plugin. This segmentation allows one region to be reconfigured while other regions continue operating independently, eliminating the need to bring down all plugins for a single plugin modification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by allocating dedicated reconfigurable regions for each plugin before operation begins. This pre-configuration enables hot-swapping capability where plugins can be modified in advance or replaced dynamically without affecting other running plugins, as each has its own isolated reconfigurable space.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the hardware is swapped out to load a different plugin, then the new plugin functionality is achieved, but downtime occurs for all users

Engineering Contradiction:
Improveplugin loading flexibilityVSAvoiddowntime for plugin modification
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system implements dynamic reconfiguration capability where the programmable logic can be changed while the system remains operational. Multiple reconfigurable regions can be modified at different times without requiring complete hardware swaps, enabling continuous operation and eliminating downtime for plugin modifications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system maintains continuous operation of other plugins during reconfiguration events. By isolating reconfigurable regions and allowing independent modification, the useful action of other plugins continues uninterrupted, eliminating the downtime that would otherwise occur during plugin loading or modification.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If multiple users share a NIC with a programmable IC, then resource utilization is improved, but plugin modification affects all users

Engineering Contradiction:
Improveresource utilizationVSAvoidindependent plugin modification
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The programmable IC is segmented into multiple independent reconfigurable regions that can be allocated to different users. Each user can modify their assigned plugin in their dedicated region without affecting other users' plugins, enabling independent operation while maintaining shared resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each reconfigurable region has localized configuration capabilities that are independent of other regions. This local quality allows user-specific modifications to be applied in one region without propagating changes or disruptions to other regions, enabling ease of operation for each user while maintaining productive resource sharing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11916552B2Method for supporting multiple concurrent plugins in a programmable integrated circuit
Publication Date: 2024.02.27 XILINX INC
  • US11916552B2 patent drawing
  • US11916552B2 patent drawing
  • US11916552B2 patent drawing

AI summary

Techniques and apparatus for dynamically modifying a kernel (and associated user-specified circuitry) for a dynamic region of a programmable integrated circuit (IC) without affecting (e.g., while allowing) operation of other kernels ((and other associated user-specified circuitry) in the programmable IC. Dynamically modifying a kernel may include, for example, unloading an existing kernel, loading a new kernel, or replacing a first kernel with a second kernel). In the case of networking (e.g., in a data center application) where the programmable IC may be part of a hardware acceleration card (e.g., a network interface card (NIC)), the kernel may be user code referred to as a “plugin.”