FIFO Buffer Pointer Management for Mobile SoC Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In mobile devices, the shared use of FIFO buffers by consumers with different data consumption rates leads to delays and reduced data transfer rates, particularly for real-time operations, due to the increased power consumption and volume associated with multiple FIFO buffers, especially when handling multimedia data.
Innovation Solution
A system-on-chip with a FIFO buffer that manages data transfer by using write and read pointers to differentiate between real-time and non-real-time consumers, requesting pop-out operations or overwriting data based on threshold differences between pointers to maintain efficient data flow without software intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple FIFO buffers are used to serve different consumers with different data consumption rates, then data transfer efficiency for each consumer is improved, but power consumption and device volume increase
Solution Approach 1:
The patent merges multiple FIFO buffers into a single shared FIFO buffer that serves multiple consumers simultaneously. The single buffer is managed with multiple read pointers (one for each consumer) and a single write pointer, allowing different consumers to access data at their respective rates without requiring separate dedicated buffers for each consumer.
Solution Approach 2:
The single FIFO buffer is designed to serve multiple functions by accommodating multiple consumers with different data consumption characteristics. The buffer structure supports both real-time consumers (requiring immediate data delivery) and non-real-time consumers (tolerating delays), making it a universal data transfer mechanism for diverse consumer types.
2Productivity
If multiple FIFO buffers are used to serve different consumers with different data consumption rates, then data transfer efficiency for each consumer is improved, but device volume increases
Solution Approach 1:
The patent merges multiple FIFO buffers into a single shared FIFO buffer that serves multiple consumers simultaneously. The single buffer is managed with multiple read pointers (one for each consumer) and a single write pointer, allowing different consumers to access data at their respective rates without requiring separate dedicated buffers for each consumer.
3Use of energy by stationary object
If a single FIFO buffer is shared by multiple consumers with different data consumption rates, then power consumption and volume are reduced, but data transfer delays occur for real-time consumers
Solution Approach 1:
The patent segments the single FIFO buffer into multiple logical sub-FIFO regions, each dedicated to a specific consumer. This is achieved through multiple read pointers (first read pointer for first consumer, second read pointer for second consumer) that independently manage data access for each consumer, ensuring that real-time consumers receive data without delay while non-real-time consumers can tolerate delays.
Solution Approach 2:
Different portions of the single FIFO buffer are allocated with different quality characteristics based on consumer requirements. Real-time consumers are provided with high-priority data access through dedicated read pointers that ensure timely data delivery, while non-real-time consumers access data with relaxed timing requirements, creating local quality variations within the unified buffer structure.
4Volume of moving object
If a single FIFO buffer is shared by multiple consumers with different data consumption rates, then device volume is reduced, but data transfer delays occur for real-time consumers
Solution Approach 1:
The patent segments the single FIFO buffer into multiple logical sub-FIFO regions, each dedicated to a specific consumer. This is achieved through multiple read pointers (one for each consumer) and a single write pointer, allowing different consumers to access data at their respective rates without requiring separate dedicated buffers for each consumer.
Data Source
AI summary
A system-on-chip is provided which includes a data producer; a FIFO buffer which stores data transferred from the data producer at a memory area corresponding to a write pointer; a first consumer which pops data of a memory area corresponding to a first read pointer of the FIFO buffer out; and a second consumer which pops data of a memory area corresponding to a second read pointer of the FIFO buffer out. The FIFO buffer requests a pop-out operation at the second consumer according to the difference between the write pointer and the first read pointer or overwrites data provided from the data producer at a memory area corresponding to the second read pointer.


