Flow Controller Loop Execution in Reconfigurable Compute Fabric

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer architectures face performance constraints due to significant time and energy consumption in data transfer between processors and memory, limiting compute efficiency and throughput, particularly in compute-intensive operations.

Innovation Solution

Implementing a compute-near-memory (CNM) system with a reconfigurable compute fabric that utilizes hybrid threading processors and synchronous flows, managed by flow controllers, to facilitate parallel processing and reduce latency through synchronized data paths and asynchronous operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If traditional Von Neumann architecture is used with shared memory and bus for data access, then system simplicity is maintained, but data transfer time and energy consumption increase significantly

Engineering Contradiction:
Improvedata transfer energy consumptionVSAvoidcompute fabric complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system divides the compute fabric into multiple independent threads that can execute in parallel, each thread managing its own data flow and operations. This segmentation allows concurrent processing of multiple data items, reducing the total time and energy required for data transfers by overlapping operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a thread-level parallelism dimension to the traditional sequential Von Neumann architecture. By organizing computations into parallel threads that can execute simultaneously, the system adds a temporal and structural dimension that reduces data transfer bottlenecks without requiring fundamental architectural changes to the memory hierarchy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If sequential processing is used for nested loops, then execution simplicity is maintained, but productivity and throughput are limited

Engineering Contradiction:
Improveworkload throughputVSAvoidflow control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The nested loop structure is segmented into multiple independent threads, where each thread handles a specific iteration or subset of iterations. This allows parallel execution of loop bodies across different threads, significantly increasing throughput while the flow controller manages coordination between threads through standardized synchronization mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple threads execute loop iterations concurrently and continuously, overlapping computations to eliminate idle time. The flow controller ensures that threads progress through loop iterations without unnecessary serialization, maintaining continuous productive action across the entire compute fabric rather than sequential processing of single threads.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If asynchronous operations are used to improve performance, then productivity increases, but reliability and execution predictability decrease

Engineering Contradiction:
Improvecompute throughputVSAvoidexecution predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The flow controller implements feedback mechanisms that monitor thread execution status, data availability, and synchronization points. This feedback allows the system to coordinate asynchronous thread operations while maintaining predictable execution characteristics through credit-based flow control and dependency management, ensuring that asynchronous operations complete in the correct order when required.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts thread execution based on runtime conditions while maintaining overall predictability. The flow controller can pause, resume, or prioritize threads based on data availability and synchronization requirements, allowing asynchronous operations to proceed when beneficial while ensuring reliable execution order through controlled dynamic scheduling rather than static serialization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12541368B2Loop execution in a reconfigurable compute fabric using flow controllers for respective synchronous flows
Publication Date: 2026.02.03 MICRON TECHNOLOGY INC
  • US12541368B2 patent drawing
  • US12541368B2 patent drawing
  • US12541368B2 patent drawing

AI summary

Various examples are directed to systems and methods for executing a loop in a reconfigurable compute fabric. A first flow controller may initiate a first thread at a first synchronous flow to execute a first portion of a first iteration of the loop. A second flow controller may receive a first asynchronous message instructing the second flow controller to initiate a first thread at a second synchronous flow to execute a second portion of the first iteration. The second flow controller may determine that the first iteration of the loop is the last iteration of the loop to be executed and initiate the first thread at the second synchronous flow with a last iteration flag set.