Data Processor Address Mapping for Variable Memory Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems with multiple memory channels face challenges in efficiently distributing memory traffic across varying numbers of channels, leading to potential bottlenecks and inefficiencies.

Innovation Solution

A two-stage address mapping process is employed, where memory addresses are first mapped to an intermediate address space, and then these intermediate addresses are mapped to the available memory channels, with the selection of the mapping operation based on the number of channels in use, ensuring efficient distribution of memory traffic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If memory addresses are directly mapped to memory channels without intermediate address space, then the mapping operation must change when the number of channels changes, but this increases device complexity and reduces adaptability

Engineering Contradiction:
Improveadaptability to varying number of memory channelsVSAvoidcomplexity of mapping operation selection
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediate address space that acts as a mediator between the original memory address and the memory channel. The address translation unit first translates the memory address to an intermediate address, then uses this intermediate address to select the memory channel. This intermediary mechanism allows the same translation operation to work regardless of the number of channels, eliminating the need to change mapping operations when channel configuration changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple mapping operations are maintained to handle different numbers of memory channels, then adaptability is improved, but device complexity and loss of information increase

Engineering Contradiction:
Improvecapability to support varying channel configurationsVSAvoidinformation about which mapping operation to use
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent extracts the channel selection logic from the address translation operation itself. Instead of having the translation operation embed channel selection information that varies with channel configuration, the system separates these functions: the translation operation produces an intermediate address, and a separate channel selection unit uses this intermediate address to determine the appropriate memory channel. This extraction eliminates the need to maintain multiple mapping operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the mapping operation changes based on the number of memory channels, then memory traffic distribution may be optimized, but system performance deteriorates due to bottlenecks from operation switching

Engineering Contradiction:
Improvememory traffic distribution efficiencyVSAvoidtime for mapping operation selection and switching
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by establishing a fixed address-to-intermediate-address translation operation that is independent of the number of memory channels. This translation is performed once and produces an intermediate address that inherently encodes channel selection information. By preparing this intermediate representation in advance, the system avoids the need to select and switch between multiple mapping operations during runtime, eliminating the time loss associated with operation switching while maintaining efficient memory traffic distribution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12443539B2Data processors
Publication Date: 2025.10.14 ARM LTD
  • US12443539B2 patent drawing
  • US12443539B2 patent drawing
  • US12443539B2 patent drawing

AI summary

In a data processing system in which varying numbers of channels for accessing a memory can be configured, the communications channel to use for an access to the memory is determined by mapping a memory address associated with the memory access to an intermediate address within an intermediate address space, selecting, based on the number of channels configured for use to access the memory, a mapping operation to use to determine from the intermediate address which channel to use for the memory access, and using the selected mapping operation to determine from the intermediate address which channel to use for the memory access.