Spatial QoS Tagging for Heterogeneous Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of deploymentVSAvoidflexibility of memory management
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveflexibility of memory managementVSAvoidcomplexity of memory management system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical 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

Engineering Contradiction:
Improveaccuracy of memory placement decisionsVSAvoidprocessor time consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10055158B2Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems
Publication Date: 2018.08.21 QUALCOMM INC
  • US10055158B2 patent drawing
  • US10055158B2 patent drawing
  • US10055158B2 patent drawing

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.