Reconfigurable Processor Configuration via Sub-File Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The configuration and reconfiguration processes for reconfigurable processors, such as coarse-grain reconfigurable architectures, are complex and time-consuming, requiring efficient means to load and unload configuration and program state to maximize operating efficiency and enable time-sharing and virtualization techniques.

Innovation Solution

A technology that enables efficient loading and unloading of configuration data from a formatted configuration file using a combination of parallel and serial techniques, involving a configuration load controller and unload controller, which distribute and manage configuration files across a bus system to support quick program swapping in reconfigurable processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If configuration files are loaded using traditional sequential methods, then the processor can be configured, but the loading process is time-consuming and reduces operating efficiency

Engineering Contradiction:
Improveconfiguration loading speedVSAvoidconfiguration loading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The configuration file is divided into multiple sub-files, each containing configuration data for specific configurable units. This segmentation allows the loading process to be divided into parallel operations, where multiple sub-files can be loaded simultaneously to different configurable units, significantly reducing the total loading time while maintaining complete configuration functionality.

Inventive Principle:
Principle #1Segmentation

2Reliability

If complex distribution procedures are used to ensure correct configuration, then configuration accuracy is improved, but the procedures become time-consuming

Engineering Contradiction:
Improveconfiguration correctnessVSAvoidconfiguration distribution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The configuration file is pre-organized into sub-files with a specific structure before the loading process begins. This preliminary organization of configuration data into properly formatted sub-files eliminates the need for complex runtime distribution procedures, as the correct configuration is already prepared and can be directly loaded to the appropriate configurable units without time-consuming validation or rearrangement operations.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If configuration data is stored in detailed formats, then configuration completeness is improved, but the loading and unloading processes become more complex

Engineering Contradiction:
Improveconfiguration data completenessVSAvoidloading/unloading process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Different sub-files are created with configuration data formatted according to the specific requirements of each configurable unit type. This local quality approach ensures that each sub-file contains only the necessary configuration information for its target unit, maintaining completeness while simplifying the loading process, as each sub-file is already pre-formatted and can be directly loaded without complex processing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11609769B2Configuration of a reconfigurable data processor using sub-files
Publication Date: 2023.03.21 SAMBANOVA SYSTEMS INC
  • US11609769B2 patent drawing
  • US11609769B2 patent drawing
  • US11609769B2 patent drawing

AI summary

A reconfigurable data processor comprises a bus system, and an array of configurable units connected to the bus system, configurable units in the array including configuration data stores to store unit files comprising a plurality of sub-files of configuration data particular to the corresponding configurable units. Configurable units in the plurality of configurable units each include logic to execute a unit configuration load process, including receiving via the bus system, sub-files of a unit file particular to the configurable unit, and loading the received sub-files into the configuration store of the configurable unit. A configuration load controller connected to the bus system, including logic to execute an array configuration load process, including distributing a configuration file comprising unit files for a plurality of the configurable units in the array.