Multi-Channel Memory Load Balancing via Bitwise Address Interleaving

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-channel memory systems face performance degradation due to unbalanced memory loads across channels, leading to underutilization of available bandwidth and inefficient channel utilization during data storage and retrieval.

Innovation Solution

The method involves inter-page and intra-page interleaving to distribute memory pages across memory channels, using logical operations on bits of the page offset and physical page number to determine the optimal memory unit for data storage, thereby balancing the load across channels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If memory channels are used to increase bandwidth, then memory bandwidth is improved, but memory load balance deteriorates

Engineering Contradiction:
Improvememory bandwidthVSAvoidmemory load balance
Core Design Contradiction:
PowerVSEase of operation

Solution Approach 1:

The patent segments memory pages into different channels using inter-page interleaving, where different pages are distributed to different memory channels. This segmentation approach allows the system to utilize multiple channels simultaneously while maintaining load balance through systematic distribution of memory pages across channels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intra-page interleaving that operates at the bit level within pages, adding another dimension of interleaving beyond the page level. By performing logical operations on specific bits of the page offset and physical page number, the system creates a multi-dimensional interleaving scheme that distributes data more evenly across channels.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Power

If memory channels are used to increase bandwidth, then available bandwidth is improved, but channel utilization deteriorates

Engineering Contradiction:
Improveavailable bandwidthVSAvoidchannel utilization
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing memory pages across multiple channels through inter-page interleaving. This ensures that each channel receives an appropriate portion of memory traffic, preventing any single channel from being overloaded while others remain underutilized, thereby optimizing overall channel utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of memory address mapping by performing logical operations on specific bits of the page offset and physical page number. This parameter transformation enables dynamic channel selection based on the memory address characteristics, ensuring balanced utilization of all available bandwidth across channels.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If inter-page and intra-page interleaving are used to distribute memory pages, then memory load balance is improved, but computational complexity deteriorates

Engineering Contradiction:
Improvememory load balanceVSAvoidcomputational complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent replaces complex mechanical or software-based load balancing mechanisms with bitwise logical operations. By using simple logical operations on specific bits of memory addresses, the system achieves effective memory distribution across channels without requiring complex computational logic or additional hardware components.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9009441B2Memory channel selection in a multi-channel memory
Publication Date: 2015.04.14 QUALCOMM INC
  • US9009441B2 patent drawing
  • US9009441B2 patent drawing
  • US9009441B2 patent drawing

AI summary

In general, this disclosure describes techniques for selecting a memory channel in a multi-channel memory system for storing data, so that usage of the memory channels is well-balanced. A request to write data to a logical memory address of a memory system may be received. The logical memory address may include a logical page number and a page offset, where the logical page number maps to a physical page number and the logical memory address maps to a physical memory address. A memory unit out of a plurality of memory units in the memory system may be determined by performing a logical operation on one or more bits of the page offset and one or more bits of the physical page number. The data may be written to a physical memory address in the determined memory unit in the memory system.