Spatial QoS Tagging for Heterogeneous Memory Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional heterogeneous memory systems lack flexible management options, as they either rely solely on hardware for memory placement and allocation, which is inflexible, or require complex software-managed dynamic memory management, which is resource-intensive and difficult to develop and maintain.
Innovation Solution
Implementing spatial Quality of Service (QoS) tagging in processor-based systems, where each memory region is associated with a QoS identifier that can be set and updated by software, allowing for flexible memory allocation and data placement through a software-configurable QoS policy table that maps QoS identifiers to policy states such as quota, priority, and probability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If hardware manages all memory placement and allocation decisions, then the system is simple to deploy and transparently managed, but the system lacks flexibility and software input for memory management
Solution Approach 1:
The patent introduces QoS tags as an intermediary mechanism between software and hardware memory management. These tags carry quality of service information that software can set to influence memory allocation decisions, while the hardware memory controller interprets and acts on these tags. This intermediary layer enables software input without requiring complex software-managed memory systems, thus resolving the contradiction between ease of deployment and management flexibility.
2Adaptability or versatility
If software manages dynamic memory allocation and data placement, then memory management flexibility is improved, but system complexity and resource consumption increase significantly
Solution Approach 1:
The patent replaces complex software-based memory management mechanisms with a hardware-based QoS tag interpretation system. Instead of requiring software to make detailed memory allocation decisions, the system uses hardware memory controllers that automatically interpret QoS tags and enforce memory policies. This substitution reduces software complexity and resource consumption while maintaining management flexibility through the tag system.
3Measurement precision
If software manages memory allocation, then software can utilize data such as workload and program semantics for better memory placement, but processor time and computational resources are consumed
Solution Approach 1:
The patent implements preliminary action by having software set QoS tags on memory regions in advance, encoding quality of service requirements and preferences. These tags are then processed by hardware memory controllers during memory operations, eliminating the need for continuous software intervention. This approach allows software to provide accurate placement guidance based on workload and program semantics while consuming processor resources only during tag setting, not during ongoing memory management.
Data Source
AI summary
Providing flexible management of heterogeneous memory systems using spatial Quality of Service (QoS) tagging in processor-based systems is disclosed. In one aspect, a heterogeneous memory system of a processor-based system includes a first memory and a second memory. The heterogeneous memory system is divided into a plurality of memory regions, each associated with a QoS identifier (QoSID), which may be set and updated by software. A memory controller of the heterogeneous memory system provides a QoS policy table, which operates to associate each QoSID with a QoS policy state, and which also may be software-configurable. Upon receiving a memory access request including a memory address of a memory region, the memory controller identifies a software-configurable QoSID associated with the memory address, and associates the QoSID with a QoS policy state using the QoS policy table. The memory controller then applies the QoS policy state to perform the memory access operation.


