DMA Bandwidth Control via Independent Throttle Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional direct memory access (DMA) operations face inefficiencies when transferring data between devices of differing speeds, leading to bandwidth constraints that limit available bandwidth for higher speed devices due to filled request queues.
Innovation Solution
Implementing separate source and destination throttle controls for each DMA job within the DMA unit, allowing for independent throttling of read and write requests to manage bandwidth effectively, thereby preventing slower devices from blocking faster devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If DMA operations transfer information between higher speed and lower speed devices using shared request queues, then data transfer capability is improved, but request queues fill up causing bandwidth constraints for higher speed devices
Solution Approach 1:
The patent segments the single shared request queue into separate request queues for different devices. Each device has its own dedicated request queue, which prevents slow devices from blocking fast devices. This segmentation allows independent management of data transfer requests for each device, resolving the bandwidth constraint issue while maintaining efficient data transfer capability.
Solution Approach 2:
The patent applies local quality by providing device-specific request queues with individual throttle control mechanisms. Each request queue can be independently throttled based on the specific device's capabilities and requirements. This allows optimized bandwidth management for each device type, ensuring that fast devices can utilize their full bandwidth capability without being constrained by slow devices.
2Reliability
If separate source and destination throttle controls are implemented for each DMA job, then bandwidth management is improved, but device complexity increases
Solution Approach 1:
The patent implements preliminary action by pre-configuring throttle control parameters in the DMA job description before data transfer begins. The throttle control unit reads these pre-set parameters and applies appropriate throttling without requiring real-time complex calculations or decisions. This preliminary configuration approach simplifies the runtime control mechanism while maintaining effective bandwidth management.
Solution Approach 2:
The throttle control unit operates autonomously based on pre-configured parameters, making self-service decisions about when to allow or delay data transfer requests. The system automatically manages bandwidth without requiring external intervention or complex coordination between multiple components, reducing overall system complexity while maintaining reliable bandwidth control.
Data Source
AI summary
A method for controlling bandwidth in a direct memory access (DMA) unit of a computer processing system, the method comprising: assigning a DMA job to a selected DMA engine; starting a source timer; and issuing a request to read a next section of data for the DMA job. If a sufficient amount of the data was not obtained, allowing the DMA engine to wait until the source timer reaches a specified value before continuing to read additional data for the DMA job.


