Buffer Device Remapping Unit for CNN Data Stream Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolution operations in Convolutional Neural Networks (CNNs) consume significant performance resources, leading to bottlenecks in processor performance, especially when handling data streams like multimedia applications.

Innovation Solution

A buffer device coupled with a memory and a remapping unit that buffers and remaps data for convolution operations, allowing for efficient data retrieval and processing across clock cycles, enabling improved performance by buffering and reusing data for subsequent operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If convolution operations are performed using direct memory access, then data processing can proceed, but performance is bottlenecked by memory access speed and data availability

Engineering Contradiction:
Improveconvolution operation throughputVSAvoidmemory access speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The buffer device pre-fetches and stores data from memory into its buffer before the convolution operation module needs it. This preliminary action ensures that when the convolution operation module requests data, it is already available in the buffer, eliminating waiting time and preventing the performance bottleneck caused by slow memory access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer device acts as an intermediary component between the memory and the convolution operation module. It receives data from memory, processes it through remapping units, and provides data to the convolution operation module at the required rate. This intermediary buffer decouples the slow memory access from the faster convolution operations, allowing the latter to proceed at optimal speed without being bottlenecked by the former.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is buffered for reuse in subsequent convolution operations, then processing efficiency improves, but device complexity increases due to additional buffer components

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidbuffer device structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The buffer device is designed to serve multiple functions: it acts as a data storage buffer, a remapping unit for data reorganization, and a provider of reusable data for subsequent convolution operations. By consolidating these multiple functions into a single integrated device, the patent avoids the need for separate components for each function, thereby reducing overall device complexity while maintaining high processing efficiency.

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

Solution Approach 2:

The buffer device retains data from previous convolution operations and makes it available for reuse in subsequent operations. Instead of allowing this data to be discarded after each operation, the buffer recovers and preserves it, enabling the convolution operation module to efficiently process multiple operations using the same input data without requiring repeated memory accesses.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10162799B2Buffer device and convolution operation device and method
Publication Date: 2018.12.25 KNERON INC
  • US10162799B2 patent drawing
  • US10162799B2 patent drawing
  • US10162799B2 patent drawing

AI summary

A buffer device includes input lines, an input buffer unit and a remapping unit. The input lines are coupled to a memory and configured to be inputted with data from the memory in a current clock. The input buffer unit is coupled to the input lines and configured to buffer one part of the inputted data and output the part of the inputted data in a later clock. The remapping unit is coupled to the input lines and the input buffer unit, and configured to generate remap data for a convolution operation according to the data on the input lines and the output of the input buffer unit in the current clock. A convolution operation method for a data stream is also disclosed.