SRAM Buffer Segmentation for CNN Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In convolutional neural networks (CNNs), the varying convolution kernel sizes across layers complicate memory addressing and reduce memory use efficiency when using multiple SRAMs as intermediate buffers, leading to increased processing time and complexity.

Innovation Solution

An operation processing apparatus and method that stores successive lines of the same feature plane in different memories and coordinates of multiple feature planes in the same layer in different memories, allowing simultaneous readout and write operations to improve memory access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple SRAMs are used as intermediate buffers with varying convolution kernel sizes across layers, then the memory capacity is sufficient to store feature planes, but the memory addressing becomes complicated and memory use efficiency is reduced

Engineering Contradiction:
Improvememory capacityVSAvoidmemory addressing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the intermediate buffer into multiple SRAMs and further segments the storage within each SRAM by separating line data into upper half and lower half. This segmentation allows independent access to different segments, simplifying the addressing scheme while maintaining sufficient storage capacity for feature planes with varying convolution kernel sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where line data is temporarily stored in a buffer and then distributed to multiple SRAMs based on address patterns. This intermediary approach mediates between the varying convolution kernel sizes and the fixed memory structure, reducing addressing complexity while preserving memory capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If multiple SRAMs are used as intermediate buffers, then memory storage is adequate, but the number of read cycles increases and processing time is extended

Engineering Contradiction:
Improvememory storage capacityVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of line data into upper and lower halves before storing in SRAMs. This preliminary action ensures that when convolution operations need to access feature planes, the data is already positioned for efficient retrieval, reducing the number of read cycles required and decreasing processing time despite using multiple SRAMs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous data flow by organizing memory storage so that successive lines of the same feature plane are stored in different memories, allowing simultaneous readout. This continuity eliminates idle time between read operations and maintains steady processing throughput, reducing overall processing time.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If successive lines of the same feature plane are stored in the same memory, then memory structure is simple, but simultaneous readout is limited and access efficiency is reduced

Engineering Contradiction:
Improvememory structure simplicityVSAvoiddata retrieval speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments line data into upper and lower halves and distributes them to different SRAMs. This segmentation enables simultaneous readout from multiple memories, dramatically increasing data retrieval speed while maintaining a relatively simple memory structure through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension storage approach (storing all lines of a feature plane in one memory) to a two-dimension approach (distributing lines across multiple memories with upper/lower half separation). This dimensional change enables parallel access paths, improving productivity without significantly increasing structural complexity.

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

4Device complexity

If data is read out sequentially from a single memory, then addressing is simple, but the number of read cycles increases and processing speed decreases

Engineering Contradiction:
Improveaddressing simplicityVSAvoiddata retrieval speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent segments feature plane data across multiple SRAMs with clear addressing patterns for upper and lower halves. This segmentation enables parallel readout operations while maintaining simple addressing schemes through systematic address allocation, thereby increasing data retrieval speed without significantly complicating the addressing mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the readout operations from multiple SRAMs into a unified data flow for convolution operations. By combining the simultaneous readout capability of multiple memories with a unified addressing scheme, the system achieves high-speed data retrieval while keeping the addressing logic relatively simple through coordinated access patterns.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11347430B2Operation processing apparatus that executes hierarchical calculation, operation processing method, and non-transitory computer-readable storage medium
Publication Date: 2022.05.31 CANON KK
  • US11347430B2 patent drawing
  • US11347430B2 patent drawing
  • US11347430B2 patent drawing

AI summary

An apparatus for calculating feature planes by hierarchically performing filter operation processing for input image data, comprises an operation unit configured to perform a convolution operation, a holding unit including memories configured to store image data and an operation result of the operation unit, a unit configured to receive the operation result, and write, out of the operation result, data of successive lines of the same feature plane in different memories of the memories and write data at the same coordinates of feature planes in the same layer in different memories of the memories, and a unit configured to read out the data of the successive lines from the different memories, read out the data at the same coordinates of the different feature planes in the same layer, and transmit the data to the operation unit.