Dynamic Memory Arbitration for Deadline Misses
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable computing devices face failures due to insufficient memory bandwidth, leading to issues like display underflow, camera overflow, and modem crashes, necessitating a dynamic control system for shared memory resources to prioritize critical transactions.
Innovation Solution
A method and system that classify traffic engines as flooding or non-flooding, queue their requests separately, and dynamically adjust memory resource allocation based on unacceptable deadline misses, ensuring prioritization of non-flooding engines by modifying arbitration policies and limiting flooding engine access to shared memory resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory resources are allocated using a default arbitration policy, then flooding engines can access shared memory resources freely, but non-flooding engines with unacceptable deadline misses experience insufficient memory bandwidth and transaction latency
Solution Approach 1:
The arbitration policy is made dynamic by continuously monitoring deadline miss status of non-flooding engines and adjusting memory resource allocation in real-time. When unacceptable deadline misses are detected, the system transitions from default arbitration to prioritized arbitration, ensuring critical engines receive sufficient bandwidth while maintaining system adaptability
Solution Approach 2:
The system changes the arbitration parameter (priority level) based on the deadline miss status. Non-flooding engines experiencing unacceptable deadline misses have their priority parameter increased, allowing them to preempt memory resources from flooding engines, thus resolving the bandwidth insufficiency while maintaining overall system reliability
2Reliability
If memory resources are prioritized for non-flooding engines with unacceptable deadline misses, then QoS is improved, but flooding engine performance may deteriorate
Solution Approach 1:
Different quality of service levels are applied locally to different engine types based on their criticality. Non-flooding engines with unacceptable deadline misses receive high-priority local treatment, while flooding engines operate with standard or reduced priority, allowing differentiated resource allocation that maintains overall QoS without completely starving any single engine type
3Adaptability or versatility
If separate queues are implemented for flooding and non-flooding engines, then arbitration control is improved, but system complexity increases
Solution Approach 1:
The transaction queue is segmented into separate queues for flooding engines and non-flooding engines, allowing independent management and prioritization of each type. This segmentation enables the arbitration logic to treat different engine types differently, improving control flexibility while keeping each queue's management relatively simple through clear classification rules
Data Source
AI summary
A method and system for dynamic control of shared memory resources within a portable computing device (“PCD”) are disclosed. A limit request of an unacceptable deadline miss (“UDM”) engine of the portable computing device may be determined with a limit request sensor within the UDM element. Next, a memory management unit modifies a shared memory resource arbitration policy in view of the limit request. By modifying the shared memory resource arbitration policy, the memory management unit may smartly allocate resources to service translation requests separately queued based on having emanated from either a flooding engine or a non-flooding engine.


