Neural Network Convolution Memory Reuse via Output Overwrite

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network convolution operations face challenges in efficiently utilizing memory space, leading to potential overflow and suboptimal performance due to the need for extensive buffering and redundant memory allocation.

Innovation Solution

The proposed method employs a line data structure for convolution operations, utilizing a cumulative convolution process that reuses memory space by overwriting input feature maps with generated output lines, thereby optimizing memory usage and improving computational efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional neural network convolution operations use separate memory spaces for input feature maps and output feature maps, then computational accuracy is maintained, but memory space utilization deteriorates leading to potential overflow and reduced performance

Engineering Contradiction:
Improvecomputational accuracyVSAvoidmemory space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the storage spaces for input feature maps and output feature maps by allowing the output feature map to overwrite the input feature map in the same memory space. This is achieved through a cumulative convolution process where the output of one convolution operation serves as input for the next operation, eliminating the need for separate memory allocations and preventing memory overflow.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements a cumulative convolution process where previously computed output values are discarded and reused as input for subsequent convolution operations. This allows the same memory space to be recovered and reused across multiple operations, maximizing memory space utilization while maintaining computational accuracy through proper data management.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If extensive buffering and redundant memory allocation are used in traditional convolution operations, then computational accuracy is ensured, but device complexity and memory overhead increase

Engineering Contradiction:
Improvecomputational accuracyVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and eliminates the need for extensive buffering and redundant memory allocation by implementing a cumulative convolution process. The output of each convolution operation is directly used as input for the next operation, removing the requirement for separate buffer memory spaces and simplifying memory management while maintaining computational accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If separate memory spaces are allocated for input and output feature maps, then data integrity is maintained, but productivity decreases due to reduced computational efficiency

Engineering Contradiction:
Improvedata integrityVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements continuity of useful action by using the output of one convolution operation as the input for the next operation without interruption. The cumulative convolution process maintains data integrity through proper data flow management while eliminating the need for separate memory spaces, thereby improving computational efficiency and productivity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3839832B1Method and apparatus with neural network convolution operation
Publication Date: 2026.03.04 SAMSUNG ELECTRONICS CO LTD
  • EP3839832B1 patent drawingFigure 1
  • EP3839832B1 patent drawingFigure 2
  • EP3839832B1 patent drawingFigure 3

AI summary

A processor-implemented neural network method includes: generating a first output line of an output feature map by performing a convolution operation between a first input line group of an input feature map and weight kernels; generating a first output of an operation block including the convolution operation based on the first output line; and storing the first output in a memory in which the input feature map is stored by overwriting the first output to a memory space of the memory.