Memory Bank Read-Modify-Write Buffering for CNN Residual Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems for neural networks, particularly Convolutional Neural Networks (CNNs), face inefficiencies in processing residual block operations due to the need for preliminary storage of tensors before combination, which hinders concurrent processing and increases memory access latency.

Innovation Solution

A memory system architecture that processes read-modify-write requests by routing these requests to appropriate memory banks with bank-specific buffers and combiner circuits for element-wise operations, allowing temporary storage of operands and applying activation functions without prior storage of the main path tensor, enabling concurrent processing and reduced latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the main path tensor is first stored in memory bank prior to combination with skip connection tensor, then the data can be retrieved and combined, but this preliminary storage increases memory access latency and hinders concurrent processing

Engineering Contradiction:
Improvedata retrieval accuracyVSAvoidmemory access latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing the read operation for the skip connection tensor before the write operation for the main path tensor. The system reads the skip connection tensor from memory first, then performs the element-wise addition with the main path tensor, and finally writes the result back to memory. This reordering eliminates the need to store the main path tensor in memory before combination, reducing memory access latency while ensuring data retrieval accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary buffer structure that temporarily holds the skip connection tensor during the combination operation. This buffer acts as a mediator between the read operation and the combination operation, allowing the main path tensor to be processed without preliminary storage in the main memory bank, thereby reducing memory access latency while maintaining data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If preliminary storage of tensors is performed before combination, then data integrity is ensured, but concurrent processing capability is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidconcurrent processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent reorders operations to perform the read of the skip connection tensor before the write of the main path tensor result. This preliminary read action allows the combination operation to proceed without waiting for preliminary storage of the main path tensor, enabling concurrent processing of multiple residual blocks while maintaining data integrity through the element-wise addition operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the residual block processing into independent parallel operations across multiple memory banks. Each memory bank can process different residual blocks concurrently, with each bank performing the read-modify-write sequence independently. This segmentation enables concurrent processing while ensuring data integrity within each segmented operation.

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If traditional memory access sequence is used (store main path tensor, then retrieve and combine), then processing correctness is maintained, but memory access efficiency decreases

Engineering Contradiction:
Improveprocessing correctnessVSAvoidmemory access efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent performs the read operation for the skip connection tensor as a preliminary action before the write operation for the main path tensor result. This reordering maintains processing correctness by ensuring both tensors are available for the element-wise addition while improving memory access efficiency by eliminating the preliminary storage step for the main path tensor.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11630605B1Methods and systems for processing read-modify-write requests
Publication Date: 2023.04.18 TENSORDYNE INC
  • US11630605B1 patent drawing
  • US11630605B1 patent drawing
  • US11630605B1 patent drawing

AI summary

A memory system comprises a plurality of memory sub-systems, each with a memory bank and other circuit components. For each of the memory sub-systems, a first buffer receives and stores a read-modify-write request (with a read address, a write address and a first operand), a second operand is read from the memory bank at the location specified by the read address, a combiner circuit combines the first operand with the second operand, an activation circuit transforms the output of the combiner circuit, and the output of the activation circuit is stored in the memory bank at the location specified by the write address. The first operand and the write address may be stored in a second buffer while the second operand is read from the memory bank. Further, the output of the activation circuit may be first stored in the first buffer before being stored in the memory bank.