Attribute-Aware Memory Allocation for Heterogeneous Memory Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory allocation methods in electronic devices are performed without considering memory attributes, leading to inefficient allocation of resources and potential underutilization of high-performance memory, which can result in higher power consumption, larger space requirements, and increased costs.
Innovation Solution
A memory allocator that is aware of memory attributes, such as speed, security, and power, to dynamically allocate memory clusters based on the specific needs of requesters, optimizing the use of different types of memories within the device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If memory allocation is performed without considering memory attributes, then allocation simplicity is maintained, but memory resource efficiency deteriorates
Solution Approach 1:
The patent changes the allocation parameters from simple size-based allocation to attribute-aware allocation. The controller now considers multiple memory attributes (speed, security, power) in addition to size when making allocation decisions, transforming the allocation process from a single-parameter to a multi-parameter decision system that optimizes resource efficiency.
Solution Approach 2:
The patent introduces dynamic allocation behavior where the controller adapts memory allocation decisions based on real-time memory attributes and requester requirements. Instead of static allocation rules, the system dynamically selects appropriate memory regions by evaluating multiple attributes, making the allocation process flexible and responsive to varying needs.
2Speed
If high-performance memory is allocated to all requesters, then performance is improved, but power consumption increases
Solution Approach 1:
The patent applies local quality by allocating different memory attributes to different requesters based on their specific needs. Instead of uniformly allocating high-performance memory to all requesters, the controller assigns memory regions with attributes locally optimized for each requester's requirements, ensuring high performance where needed while conserving power elsewhere.
Solution Approach 2:
The patent implements partial action by providing high-performance memory allocation only to requesters that explicitly require it, rather than to all requesters. The controller selectively applies high-performance memory resources to specific tasks or processes that benefit from it, avoiding unnecessary power consumption in areas where high performance is not required.
3Loss of time
If memory allocation ignores attribute matching, then allocation speed is maintained, but memory utilization efficiency deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-establishing memory attribute information and maintaining an organized view of available memory regions with their attributes. The controller prepares memory allocation data structures and attribute information in advance, enabling rapid attribute matching when allocation requests arrive, thus maintaining allocation speed while improving utilization efficiency.
Data Source
AI summary
In some examples, an apparatus includes a data store and a controller. The is communicatively coupled to the data store. The controller is configured to receive a request to allocate a memory cluster, the request indicating a requested memory attribute other than a requested size of the memory cluster. The controller is also configured to, responsive to receipt of the request, determine, based on one or more memory attributes of a plurality of memories accessible by the apparatus, an available memory from among the plurality of memories, the available memory capable of providing the requested memory attribute. The controller is also configured to, responsive to determining the available memory, make a memory allocation decision.


