Memory Controller Register Duplication for Neural Network Data Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In neural network computations, the competition for a single copy of data in L1 memory causes difficulties in controlling split connections, and duplicating data to address this issue leads to significant memory occupation.

Innovation Solution

A memory device with a memory controller that utilizes registers to manage memory spaces and executes a first instruction to duplicate a first register to a second register, allowing them to share a memory space, thereby reducing the need for multiple copies of data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data is duplicated as multiple copies in L1 memory to address competition in split connections, then control of split connections is improved, but memory occupation increases significantly

Engineering Contradiction:
Improvecontrol of split connectionsVSAvoidmemory occupation
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent merges multiple data paths to share a single copy of data in L1 memory through a memory management unit. Instead of duplicating data for each split connection, the system combines multiple data paths to access the same data copy, thereby reducing memory occupation while maintaining control capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory management unit provides multi-functional capability by enabling a single data copy to serve multiple data paths simultaneously. This universal access mechanism allows one piece of data to be shared across different computational paths, reducing the need for multiple duplicates.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If only one copy of data is kept in L1 memory, then memory occupation is reduced, but control of split connections becomes difficult due to competition

Engineering Contradiction:
Improvememory occupationVSAvoidcontrol of split connections
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The memory management unit acts as an intermediary between multiple data paths and the single data copy in L1 memory. It mediates access requests from different data paths, managing the single copy efficiently without causing control difficulties or competition issues.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data is duplicated for multiple data paths, then split connection control is improved, but memory space efficiency deteriorates

Engineering Contradiction:
Improvesplit connection controlVSAvoidmemory space efficiency
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Multiple data paths are merged to share a common data copy in L1 memory. The memory management unit enables this merging by directing different data paths to access the same memory location, thereby improving space efficiency while maintaining adaptability for split connections.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250156308A1Memory device and managing method thereof
Publication Date: 2025.05.15 MEDIATEK INC
  • US20250156308A1 patent drawing
  • US20250156308A1 patent drawing
  • US20250156308A1 patent drawing

AI summary

A memory device, for cooperating with at least one computing engine to perform several neural network computations, comprises the following elements. A memory storage, used to store data for the at least one computing engine. A memory controller, used to utilize several registers to manage several memory spaces in the memory storage, and execute a first instruction to control at least two data paths in the neural network computations. The first instruction is utilized to duplicate a first register to a second register of the registers, to allow the first register and the second register share one of the memory spaces in the memory storage.