Tensor Block Address Mapping for Memory-Limited Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing techniques, such as neural network and graphics processing, face challenges in efficiently handling and accessing large amounts of data due to the need for extensive storage and complex address mapping.

Innovation Solution

A processor is used to map multi-dimensional tensor blocks to the same coordinates in a selected dimension, allowing for efficient interaction with a smaller storage by determining physical addresses based on mapping parameters, which can be represented compactly and calculated without division operations, facilitating efficient reading and writing of tensor blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the entire multi-dimensional tensor is stored in memory, then complete data availability is achieved, but memory size requirements increase significantly

Engineering Contradiction:
Improvedata availabilityVSAvoidmemory size
Core Design Contradiction:
Quantity of substanceVSVolume of stationary object

Solution Approach 1:

The patent divides the multi-dimensional tensor into multiple blocks along selected dimensions. Each block can be independently processed and stored separately, allowing the system to work with smaller data units that fit within limited memory capacity while still accessing the entire tensor through sequential block operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces block coordinates as an additional dimension for addressing tensor elements. Instead of directly accessing elements by their global coordinates, the system uses a two-level addressing scheme: block coordinates identify which block to load, and element coordinates identify the specific element within that block. This dimensional transformation enables efficient memory utilization.

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

2Volume of stationary object

If block-by-block processing is implemented, then memory usage is reduced, but address mapping complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidaddress mapping complexity
Core Design Contradiction:
Volume of stationary objectVSDevice complexity

Solution Approach 1:

The patent pre-calculates and stores mapping parameters (such as block size, offset, and stride) before processing begins. These parameters are used to quickly determine the memory address of any block without performing complex calculations during the actual processing phase, thereby reducing runtime complexity while maintaining reduced memory usage.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If division operations are used in address calculation, then precise positioning is achieved, but computational efficiency decreases

Engineering Contradiction:
Improveaddress positioning precisionVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces division operations in address calculation with multiplication and addition operations using pre-computed mapping parameters. Specifically, the address of an element is calculated using the formula: base_address + block_offset * block_size + element_offset, where all parameters are integers and operations are simple arithmetic. This substitution maintains precise address positioning while dramatically improving computational efficiency by avoiding expensive division operations.

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

Data Source

PatentUS12585395B2Data storage
Publication Date: 2026.03.24 ARM LTD
  • US12585395B2 patent drawing
  • US12585395B2 patent drawing
  • US12585395B2 patent drawing

AI summary

A processor to obtain mapping data indicative of at least one mapping parameter for a plurality of mapping blocks of a multi-dimensional tensor to be mapped. The at least one mapping parameter is for mapping corresponding elements of each mapping block to the same co-ordinate in at least one selected dimension of the multi-dimensional tensor, such that each mapping block corresponds to the same set of co-ordinates in the at least one selected dimension. A co-ordinate of an element of a block of the multi-dimensional tensor is determined. The element is comprised by a mapping block. A physical address in a storage corresponding to the co-ordinate is determined, based on the co-ordinate. The physical address is utilized in a process comprising an interaction between the block of the multi-dimensional tensor and the storage.