Display Controller Deadlock Prevention via Unified Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Display controllers face deadlocks when compressing and transmitting display data using separate queues for luma and chroma values, particularly when one queue has less than one multiplexor word of data while another is full, leading to inefficiencies in data transmission.

Innovation Solution

A microcontroller initializes counters for each image component and stores received bits in a single data structure, generating pre-allocation signals to request additional data when the counter falls below a threshold, and increases the counter based on valid signals, allowing for efficient data compression and transmission without deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate queues are used for luma and chroma values, then data compression can be performed, but deadlocks occur when one queue has less than one multiplexor word of data while another is full

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoiddeadlock prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges separate luma and chroma queues into a single unified buffer structure. This consolidation eliminates the deadlock condition that occurred when separate queues had mismatched data availability, as the unified buffer allows flexible data allocation across different image components without queue interdependencies.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic counter values that track the number of valid bits for each image component in real-time. These counters are adjusted based on actual data arrival and consumption rates, allowing the system to adaptively manage buffer allocation and prevent deadlock conditions through dynamic rather than static queue management.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If multiple separate queues are used for different image components, then data can be organized by component type, but system complexity increases

Engineering Contradiction:
Improvedata organizationVSAvoidqueue management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent combines multiple component-specific queues into a single unified buffer that stores data for multiple image components (luma, chroma, etc.). This reduces the number of queue management operations required while maintaining the ability to organize and access data by component type through metadata tags and counter tracking.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified buffer structure serves multiple functions simultaneously: it stores data for different image components, tracks valid bit counts via counters, manages data allocation dynamically, and prevents deadlock conditions. This multi-functional design replaces what would otherwise require multiple specialized queue structures and their associated management logic.

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

Data Source

PatentUS10242644B2Transmitting display data
Publication Date: 2019.03.26 INTEL CORP
  • US10242644B2 patent drawing
  • US10242644B2 patent drawing
  • US10242644B2 patent drawing

AI summary

In some examples, a system can include a microcontroller to initialize a counter to a predetermined value for each image component of an image data slice. The microcontroller can also store a number of received bits for each image component in a data structure and generate a pre-allocation signal indicating that additional bits of data for one of the image components are to be requested and stored in the data structure, wherein the pre-allocation signal is to be generated in response to determining that the counter is below the predetermined value. The microcontroller can also increase the counter by the predetermined value and transmit an address from the data structure to a display device in response to detecting a valid signal.