Display Controller Deadlock Prevention via Unified Buffer
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


