Temporal Virtualization Circuit for Multi-Thread Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current electronic design automation (EDA) tools face challenges in efficiently supporting temporal virtualization on target devices like FPGAs and ASICs, particularly in managing multiple threads and ensuring secure resource sharing without spatial replication, while maintaining trust and isolation between clients.

Innovation Solution

The method involves transforming a circuit to support multiple threads by adding components for state management, thread swapping, and generating interfaces that prevent data interference between threads, allowing for secure and efficient resource utilization through time-division multiplexing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single circuit is shared among multiple clients through spatial virtualization, then resource utilization is improved, but trust and isolation between clients deteriorate

Engineering Contradiction:
Improveresource utilizationVSAvoidtrust and isolation between clients
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the shared circuit into multiple isolated execution contexts by introducing context identifiers and context-specific control logic. Each client's execution is segmented into distinct state spaces, preventing interference while maintaining shared hardware resources. The segmentation is achieved through context registers, state memory, and control signals that differentiate between multiple clients accessing the same circuit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary mechanisms including context management logic, state memory, and control registers that mediate between multiple clients and the shared circuit. These intermediaries enforce isolation by controlling which client can access which circuit state at any given time, thereby maintaining trust while enabling resource sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple spatially distinct circuits are implemented for different functions, then isolation between circuits is improved, but device area and complexity worsen

Engineering Contradiction:
Improveisolation between circuitsVSAvoiddevice area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent merges multiple functionally distinct circuits into a single shared physical circuit by implementing temporal virtualization. The same hardware resources are reused across different functional contexts through time-division multiplexing, controlled by context identifiers and state management logic. This combining approach maintains functional isolation while dramatically reducing the required device area.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent transforms a single circuit into a universal resource that can serve multiple functional purposes through temporal virtualization. The circuit implements multiple functions sequentially by switching between different execution contexts, each with its own state space and control parameters, thereby eliminating the need for separate dedicated circuits for each function.

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

3Reliability

If circuit state is replicated for multiple threads, then thread isolation is improved, but device area and power consumption worsen

Engineering Contradiction:
Improvethread isolationVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent implements periodic switching between different thread contexts rather than maintaining simultaneous replicated states. The circuit periodically transitions between serving different threads by clearing and reloading state information as needed, thereby achieving thread isolation through time-division rather than spatial replication. This periodic action dramatically reduces power consumption by keeping state memory dormant when not actively used by a particular thread.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent employs a discard-and-recover strategy for circuit state between thread executions. Instead of maintaining persistent replicated state for multiple threads, the circuit discards state information when switching between threads and recovers necessary state information on-demand. This approach maintains thread isolation while minimizing the energy required for state maintenance.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10423747B2Method and apparatus for supporting temporal virtualization on a target device
Publication Date: 2019.09.24 ALTERA CORP
  • US10423747B2 patent drawing
  • US10423747B2 patent drawing
  • US10423747B2 patent drawing

AI summary

A method for designing a system on a target device includes modifying a circuit to enable the circuit to support a plurality of threads at an instant of time. An interface is generated that enables one or more of the plurality of threads to be swapped out of an execution queue for accessing the circuit and that enables one or more other threads to be swapped into the execution queue for accessing the circuit, wherein at least one of the modifying and the generating is performed by a processor.