Granular Storage Tier Pinning for Memory Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer memory management techniques rely on moving data into main memory for processing, which becomes inefficient as data volumes rise, and fail to account for the varying importance of data elements, leading to potential performance and cost issues.
Innovation Solution
Implementing a system that allows specific data elements to be 'pinned' to either transitory (RAM) or non-transitory (SSD) storage media, preventing swapping between tiers during application execution, with configuration options at various levels, including API-manipulated pinning flags for dynamic management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is moved into main memory for processing, then access speed is improved, but memory cost and complexity increase as data volumes rise
Solution Approach 1:
The patent segments data into different tiers based on importance and access patterns. Critical data elements are pinned to main memory while less critical data resides in external storage, creating a hierarchical memory architecture that balances speed and complexity
Solution Approach 2:
Different data elements receive different treatment based on their specific characteristics. The pinning mechanism allows individual data elements or sets to be assigned to specific storage locations (pinned or unpinned) based on their importance, access frequency, and criticality to the application
2Speed
If more data is stored in main memory, then processing speed is improved, but cost increases
Solution Approach 1:
The system performs preliminary classification of data elements before processing, identifying which data should be pinned to memory in advance. This allows the application to maintain only the necessary amount of critical data in expensive main memory while keeping less critical data in cheaper external storage
Solution Approach 2:
The patent changes the storage location parameter for specific data elements from the default external storage to main memory through the pinning mechanism. This selective parameter change ensures that only data requiring fast access occupies expensive memory resources
3Adaptability or versatility
If automatic spill-over to disk is implemented, then memory elasticity is improved, but application control over memory strategy is reduced
Solution Approach 1:
The system combines automatic and manual control dynamically. The unpinned data follows automatic spill-over behavior for memory elasticity, while pinned data maintains fixed locations. The pinning state can be changed at runtime through API calls, allowing dynamic adaptation to changing application needs
4Device complexity
If all data is treated equally in memory management, then simplicity is maintained, but performance optimization is lost
Solution Approach 1:
The patent applies different memory management policies to different data elements based on their local characteristics. The pinning attribute allows individual data elements or sets to be marked for special treatment, enabling performance optimization without requiring complete redesign of the memory management system
Data Source
AI summary
Certain example embodiments relate to memory management techniques that enable users to “pin” elements to particular storage tiers (e.g., RAM, SSD, HDD, tape, or the like). Once pinned, elements are not moved from tier-to-tier during application execution. A memory manager, working with at least one processor, receives requests to store and retrieve data during application execution. Each request is handled using a non-transitory computer readable storage medium (rather than a transitory computer readable storage medium), if the associated data is part of a data cache that is pinned to the non-transitory computer readable storage medium, or if the associated data itself is pinned to the non-transitory computer readable storage medium. If neither condition applies, the memory manager determines which one of the non-transitory and the transitory computer readable storage mediums should be used in handling the respective received request, and handles the request accordingly.


