Semiconductor Device Memory Routing for Parallel MAC Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing semiconductor devices face inefficiencies in processing time due to suboptimal utilization of multiply-accumulate units when performing operations on neural networks, leading to increased processing times.

Innovation Solution

A semiconductor device with a memory having n parallel-accessible banks, multiple multiply-accumulate units, and DMA controllers that distribute pixel data across multiple channels to multiple multiply-accumulate units for parallel processing, and efficiently arrange output data, controlled by a sequence controller.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If simple commands specifying memory banks are used to control DMA controllers and multiply-accumulate units, then the device is easy to operate, but the multiply-accumulate units are not efficiently utilized leading to increased processing time

Engineering Contradiction:
Improveease of operationVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

A sequence controller is introduced as an intermediary between the simple command interface and the complex parallel processing operations. The sequence controller automatically generates the necessary control signals to coordinate multiple DMA controllers and multiply-accumulate units based on simple bank allocation commands, enabling efficient parallel processing while maintaining ease of operation through simple command interfaces

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically allocates multiple input channels to transfer pixel data from the same input bank to different multiply-accumulate units based on pixel space distribution. This dynamic resource allocation allows the system to adaptively utilize available hardware resources for parallel processing, improving productivity without complicating the command interface

Inventive Principle:
Principle #15Dynamics

2Device complexity

If pixel data is transferred sequentially through single channels to multiply-accumulate units, then the device complexity is reduced, but the processing time increases due to inability to perform parallel operations

Engineering Contradiction:
Improvedevice complexityVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The pixel data transfer is segmented into multiple parallel channels, each handling different pixel spaces from the same input bank. This segmentation allows simultaneous data transfer to multiple multiply-accumulate units, enabling parallel processing operations while maintaining manageable system complexity through organized channel management

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a channel dimension to data transfer by using multiple input channels to access the same input bank simultaneously. This dimensional expansion allows parallel data streams to reach different multiply-accumulate units at the same time, transforming sequential processing into parallel processing without excessive complexity

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

Data Source

PatentUS12360928B2Semiconductor device
Publication Date: 2025.07.15 RENESAS ELECTRONICS CORP
  • US12360928B2 patent drawing
  • US12360928B2 patent drawing
  • US12360928B2 patent drawing

AI summary

A second memory has n banks accessible in parallel, and stores pixel data. An input DMA controller respectively transfers the pixel data stored in the second memory to n multiply-accumulate units by using n input channels. A sequence controller controls the input DMA controller so as to cause a first input channel to transfer the pixel data in a first pixel space of the input bank to a first multiply-accumulate unit and cause a second input channel to transfer the pixel data in a second pixel space of the same input bank to a second multiply-accumulate unit.