Asynchronous Memory Access Queuing via Buffer Pinning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processing systems operating in managed memory environments fail to provide static memory buffers, leading to inefficiencies or failures in applications requiring asynchronous data streaming, as they do not allow memory buffers to remain static throughout memory access operations.
Innovation Solution
Implementing a memory management system where applications can pin specific memory buffers, preventing the memory manager from relocating them, and using a circular queue mechanism to dynamically manage pinned buffers, ensuring stable memory addresses for data streaming applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a managed memory environment is used to automatically manage memory buffers, then memory leakage is reduced or eliminated, but memory buffers cannot remain static which causes inefficiency or failure in asynchronous data streaming applications
Solution Approach 1:
The system dynamically switches between two memory management modes: pinned mode for static buffer requirements and unpinned mode for automatic memory management. This dynamic adaptability allows the system to optimize for either reliability or productivity based on application needs
Solution Approach 2:
The patent changes the state parameter of memory buffers from dynamically managed to statically pinned by introducing a pinning mechanism that fixes buffer addresses in memory, preventing relocation and ensuring stability for data streaming operations
2Productivity
If memory buffers are allowed to be relocated by the memory manager, then memory utilization is optimized, but applications requiring static memory buffers cannot function properly
Solution Approach 1:
The patent segments memory management into two distinct categories: pinned buffers that remain static and unpinned buffers that can be relocated. This segmentation allows different parts of the memory system to serve different functional requirements simultaneously
Solution Approach 2:
The pinning mechanism acts as an intermediary between the application's need for static buffers and the memory manager's desire to optimize memory utilization. By introducing this intermediate layer, the system reconciles the conflicting requirements
3Ease of operation
If explicit memory allocation is used to provide address pointers to applications, then applications have direct control over memory, but applications fail to de-allocate memory resulting in memory leakage
Solution Approach 1:
The memory manager provides self-service memory management by automatically tracking and managing pinned buffers. The system serves itself by maintaining its own memory state information without requiring explicit application intervention for de-allocation
Data Source
AI summary
A method for queuing asynchronous memory accesses includes pinning memory buffers in a managed memory environment, issuing data transfer requests to a peripheral device, each request corresponding to at least one of the pinned memory buffers, and asynchronously accessing at least one of the pinned buffers responsive to the requests.


