Synchronization Virtualization Circuit for Chained Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional high-quality video camera systems face challenges in data unit synchronization between chained pipelines, particularly in low latency applications, where existing methods rely on one-to-one semaphore counter operations that are not scalable or flexible enough to handle multiple pipelines efficiently.

Innovation Solution

A reconfigurable autonomous hardware synchronization virtualization circuit that synchronizes producer pipelines with multiple consumer pipelines, using a synchronization virtualization agent to manage counter operations and wake instructions, allowing for transparent data unit sharing and daisy-chaining of pipelines, while being compatible with existing camera architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If one-to-one semaphore counter operations are used for synchronization, then data unit synchronization between pipelines is achieved, but the system lacks scalability and flexibility when handling multiple pipelines

Engineering Contradiction:
Improvescalability to multiple pipelinesVSAvoidcounter operation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A synchronization virtualization agent is introduced as an intermediary component between producer pipelines and consumer pipelines. This agent manages multiple semaphore counters and coordinates synchronization operations, allowing one producer pipeline to synchronize with multiple consumer pipelines without requiring complex direct one-to-one counter operations between all pipeline pairs. The agent mediates the synchronization by handling counter increment/decrement operations and wake instructions centrally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The synchronization virtualization agent provides multi-functional capabilities by serving multiple consumer pipelines simultaneously through a single interface. Instead of requiring separate synchronization mechanisms for each pipeline pair, the agent universally handles synchronization for any number of pipelines, making the system scalable and flexible while maintaining manageable complexity.

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

2Productivity

If processors monitor data unit processing in chained pipelines, then synchronization control is maintained, but processor resources are consumed and latency increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidsynchronization monitoring time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The synchronization system operates autonomously through the synchronization virtualization agent and hardware counters without requiring processor intervention. The agent manages counter operations, issue wake instructions, and coordinates data unit synchronization automatically. This self-service mechanism frees processor resources for actual data processing while maintaining precise synchronization control, thereby reducing latency and improving throughput.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If data units are shared between pipelines with varying skews, then flexibility is improved, but synchronization complexity increases

Engineering Contradiction:
Improveflexibility in data sharingVSAvoidsynchronization coordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The synchronization virtualization agent acts as a mediator that handles the complexity of coordinating data unit sharing among pipelines with varying skews. It manages multiple semaphore counters and coordinates wake instructions to accommodate different timing requirements of consumer pipelines without requiring complex direct coordination between pipelines themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10552166B1Data unit synchronization between chained pipelines
Publication Date: 2020.02.04 AMBARELLA INT LP
  • US10552166B1 patent drawing
  • US10552166B1 patent drawing
  • US10552166B1 patent drawing

AI summary

An apparatus having an interface and a circuit is disclosed. The interface may be connectable to a plurality of counters and a plurality of chained pipelines. The circuit may be configured to (i) increment each of a plurality of counters associated with a data unit in a buffer in response to a request from a first pipeline of the chained pipelines to increment one of the counters. The first pipeline may generate the data unit in the buffer. A plurality of second pipelines of the chained pipelines may access the data in the buffer in response to the counters being incremented. The circuit may be further configured to (ii) receive a plurality of wake instructions from the counters and (iii) send another wake instruction to the first pipeline in response to reception of all of the wake instructions.