Neural Data Transfer Compression for Tile-Based Feature Map Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems for neural networks face challenges in efficiently transferring large amounts of feature map data between local and external storage, leading to high power consumption due to numerous memory accesses.

Innovation Solution

A method is introduced that compresses data by reading it in units along a first dimension, filling partial units, and compressing on a tile-by-tile basis before transferring it to external storage, and subsequently decompressing and writing it back to local storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If data is transferred between local storage and external storage without compression, then data transfer is simple and fast, but power consumption increases due to numerous memory accesses

Engineering Contradiction:
Improvepower consumptionVSAvoiddata transfer process complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent divides the data transfer process into segments: compression phase (where data is compressed and stored in external storage) and decompression phase (where data is decompressed and transferred to local storage). This segmentation allows the system to optimize each phase independently, reducing overall power consumption despite added complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces compression and decompression operations as intermediary processes between local storage and external storage. These intermediaries transform the data format to reduce the volume of data transferred, thereby reducing power consumption during memory accesses.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If data is compressed and decompressed during transfer, then power consumption decreases, but processing time increases

Engineering Contradiction:
Improvepower consumptionVSAvoiddata transfer time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent performs compression as a preliminary action before data transfer to external storage. By compressing the data beforehand, the system reduces the amount of data that needs to be transferred and processed later, offsetting the initial compression time with reduced transfer and decompression time.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If data is transferred in uncompressed form, then processing is simpler, but the number of memory accesses increases leading to higher power consumption

Engineering Contradiction:
Improvedata processing simplicityVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameter of data representation by applying compression algorithms. This parameter change transforms the data from an uncompressed state to a compressed state, reducing the volume of data transferred between storage units and thereby reducing power consumption during memory accesses.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12346559B2Data transfers in neural processing
Publication Date: 2025.07.01 ARM LTD
  • US12346559B2 patent drawing
  • US12346559B2 patent drawing
  • US12346559B2 patent drawing

AI summary

A method of compressing data for transfer between a local storage of a processor and an external storage. The data is formed in an array of three or more dimensions and the method comprises sequentially reading data stored in the local storage to a compressor in units of data. Each unit has a predetermined unit size corresponding to an integer number of a tile size. At an extremity of the array, a partial unit of data is read in a case that the array size is not an integer multiple of the unit size. The partial unit of data is filled at the compressor and the filled data is compressed on a tile-by-tile basis to form compressed data. The compressed data associated with the unit of data is transferred to the external storage.