Memory Controller Tensor Address Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current semiconductor devices face challenges in achieving fast and efficient memory access patterns, particularly in multi-core processor systems where tensor processing requires repetitive and intensive memory access.

Innovation Solution

The implementation of a memory controller with a data address generator that generates sequences of memory addresses based on tensor or matrix operations, allowing for concurrent read/write operations and utilizing a data buffer for efficient data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional memory access patterns are used in multi-core processor systems, then basic memory operations can be performed, but processing speed decreases and power consumption increases due to repeated memory access for tensor operations

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-fetching data blocks into the memory controller buffer before they are actually needed for processing. The system predicts which data will be needed based on tensor operation patterns and loads it in advance, eliminating wait times and reducing the frequency of memory access operations, thereby improving processing speed and reducing power consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a buffer within the memory controller as an intermediary between the main memory and the processing units. This buffer stores frequently accessed data blocks, allowing multiple processing cores to access the same data without requiring repeated trips to main memory. The intermediary buffer thus reduces memory access frequency, improves processing speed, and lowers power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If repeated memory access is performed for tensor processing operations, then complete processing can be achieved, but memory access efficiency decreases and processing time increases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-loading data blocks into the memory controller buffer based on predicted access patterns. This allows the processing units to retrieve data from the fast buffer rather than waiting for slow main memory access, thereby improving memory access efficiency and reducing processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuity of useful action by keeping the memory controller buffer continuously populated with data that is likely to be needed. The system maintains this buffer state across multiple operations, ensuring that processing can continue without interruption or idle waiting time, thus improving overall productivity and reducing processing time.

Inventive Principle:
Principle #20Continuity of useful action

3Speed

If data is stored in main memory for tensor operations, then data availability is ensured, but access speed decreases due to the distance and complexity of memory access

Engineering Contradiction:
Improvememory access speedVSAvoidmemory access complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the memory hierarchy into two distinct segments: main memory for long-term storage and a buffer within the memory controller for frequent access. This segmentation allows data to be stored in main memory when not needed while keeping frequently accessed data in the faster buffer, improving access speed without requiring all data to be constantly available in fast memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory controller buffer serves as an intermediary that simplifies the complexity of memory access. Instead of processing units directly accessing main memory for every operation, they access the buffer which handles the complexity of data management, addressing, and coordination with main memory. This intermediary approach reduces access complexity and improves speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250147874A1Memory devices and methods which may facilitate tensor memory access
Publication Date: 2025.05.08 MICRON TECHNOLOGY INC
  • US20250147874A1 patent drawing
  • US20250147874A1 patent drawing
  • US20250147874A1 patent drawing

AI summary

Methods, apparatuses, and systems for tensor memory access are described. Multiple data located in different physical addresses of memory may be concurrently read or written by, for example, employing various processing patterns of tensor or matrix related computations. A memory controller, which may comprise a data address generator, may be configured to generate a sequence of memory addresses for a memory access operation based on a starting address and a dimension of a tensor or matrix. At least one dimension of a tensor or matrix may correspond to a row, a column, a diagonal, a determinant, or an Nth dimension of the tensor or matrix. The memory controller may also comprise a buffer configured to read and write the data generated from or according to a sequence of memory of addresses.