Memory Controller Tag-Line Sharing to Reduce Hardware Stalls
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing system-on-chip (SoC) designs face inefficiencies in data sharing among processors and accelerators due to software intervention in memory copy and synchronization, leading to significant time and resource wastage.
Innovation Solution
A memory controller with a configurable register that recognizes the source device and performs data sharing, eliminating the need for host processor intervention by using a tag line and service bit to manage data processing pipelines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software running on host processor performs memory copy and synchronization between producer and consumer, then data consistency is ensured, but hardware stalls and time waste increase significantly
Solution Approach 1:
The memory controller is enhanced with source recognition capability that automatically identifies producer and consumer devices and manages data sharing without host processor intervention. The controller autonomously determines serviceability of packets and manages synchronization, eliminating software overhead while maintaining data consistency through hardware-based producer-consumer tracking.
Solution Approach 2:
The memory controller acts as an intermediary between producer and consumer devices, managing data sharing and synchronization autonomously. By recognizing packet sources and maintaining serviceability information, the controller mediates data flow without requiring host processor involvement, thus reducing hardware stalls while ensuring data consistency.
2Adaptability or versatility
If software intervention is used for memory copy and synchronization, then data sharing between multiple processors/accelerators is achieved, but resource waste increases
Solution Approach 1:
The memory controller autonomously manages data sharing among multiple producers and consumers by recognizing packet sources and determining serviceability. This self-service capability eliminates the need for software intervention in data sharing operations, reducing resource waste while maintaining versatile data sharing among multiple processors and accelerators.
Solution Approach 2:
The enhanced memory controller provides universal data sharing capability across multiple producer and consumer devices through source recognition. The controller handles various packet types from different sources autonomously, enabling versatile inter-device data sharing without requiring separate software management for each device pair, thus reducing overall resource consumption.
3Reliability
If host processor is involved in memory copy and synchronization operations, then data processing correctness is maintained, but productivity decreases due to significant time waste
Solution Approach 1:
The memory controller performs self-service by automatically recognizing packet sources and managing synchronization without host processor involvement. This autonomous operation maintains data processing correctness through hardware-based tracking while significantly improving productivity by eliminating software overhead and reducing hardware stalls in data processing pipelines.
Solution Approach 2:
The memory controller serves as an intermediary that autonomously manages data processing between producers and consumers. By recognizing sources and determining serviceability, the controller ensures processing correctness while improving throughput through hardware-based automation, removing the productivity bottleneck caused by host processor involvement.
Data Source
AI summary
A data sharing method of a memory controller in an environment including a plurality of operation devices, including: determining whether a request packet corresponds to a predetermined operation device; determining whether an address included in the request packet corresponds to a predetermined address; obtaining a tag line corresponding to the request packet; and determining whether the request packet is serviceable based on a service bit included in the tag line.


