Memory Controller Dynamic Algorithm Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face performance issues due to conflicting memory accesses, which current techniques like memory locks and speculative accesses either reduce performance or lead to blocking in high conflict scenarios, failing to adapt effectively to varying conditions.

Innovation Solution

A memory controller dynamically selects a management algorithm based on current state parameters, such as conflict levels, to optimize memory access management, using conflict counters and algorithms that adjust according to detected conflicts, allowing for adaptive handling of memory access conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory locks are used to manage conflicting memory accesses, then coherency problems are prevented, but system performance is reduced due to extra steps required before memory access

Engineering Contradiction:
Improvememory coherencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically selects between memory lock algorithm and speculative memory access algorithm based on detected conflict levels. When conflict levels are low, speculative access is used to improve performance. When conflict levels are high, memory lock algorithm is selected to ensure coherency, thus adaptively resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the management algorithm parameter based on detected conflict level parameters. By monitoring conflict levels and selecting different algorithms accordingly, the system optimizes the balance between preventing coherency problems and maintaining system performance under varying conditions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If speculative memory accesses are used to improve performance, then performance improves when conflicts are unlikely, but performance is reduced or forward progress is blocked when conflict levels rise

Engineering Contradiction:
Improvememory access performanceVSAvoidforward progress
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the memory access strategy by selecting speculative access algorithm when conflict levels are low to maximize performance, and switching to memory lock algorithm when conflict levels are high to ensure forward progress. This dynamic adaptation resolves the contradiction between productivity and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses detected conflict level parameters as feedback to select the appropriate memory access algorithm. This feedback mechanism allows the system to respond to changing conditions and maintain both performance and forward progress by selecting the suitable algorithm based on current conflict levels.

Inventive Principle:
Principle #23Feedback

3Device complexity

If a fixed memory management algorithm is used, then implementation is simple, but the system cannot adapt to varying conflict levels and conditions

Engineering Contradiction:
Improvealgorithm selection mechanismVSAvoidadaptation to conflict levels
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic algorithm selection based on detected conflict level parameters. The memory controller is configured to select from multiple candidate management algorithms according to current state parameters, providing adaptability to varying conditions while maintaining reasonable implementation complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9454313B2Dynamic selection of memory management algorithm
Publication Date: 2016.09.27 ARM LTD
  • US9454313B2 patent drawing
  • US9454313B2 patent drawing
  • US9454313B2 patent drawing

AI summary

A data processing system includes a memory controller which dynamically selects from a plurality of candidate management algorithms a selected management algorithm to be used for managing memory access conflicts. The memory management algorithms may include various versions of speculative memory access issue and/or memory access issue using memory locks. The dynamic selection is performed on the basis of detected state parameters of the system. These detected state parameters may include conflict level indicators, such as memory access conflict counters tracked on one or more of a global, per-process, per-region or per-thread basis.