Banked Memory Architecture for DNN Accelerator Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep Neural Network (DNN) accelerators face scalability issues due to memory bandwidth limitations when increasing data parallelism, as each datapath must access a single logically unified memory structure, leading to prohibitively expensive hardware overhead and complexity.

Innovation Solution

Implementing a banked memory structure where each data channel has its own register memory bank, using a memory decoder to map addresses and isolate dataflows, allowing independent concurrent memory access patterns and reducing hardware overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of independent datapaths is increased to scale compute throughput, then data parallelism is improved, but the complexity of supporting independent accesses to a single unified memory structure becomes prohibitively expensive

Engineering Contradiction:
Improvecompute throughputVSAvoidmemory access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The unified memory structure is segmented into multiple independent memory banks, where each memory bank is associated with a specific datapath. This segmentation allows each datapath to access its dedicated memory bank independently, eliminating the complexity of coordinating access to a single shared memory structure while maintaining high compute throughput through parallel datapath operations.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If each datapath accesses data from a single logically unified memory structure, then memory access is simplified, but hardware overhead becomes prohibitively expensive

Engineering Contradiction:
Improvememory accessVSAvoidhardware overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Each datapath is given access to a locally-associated memory bank rather than a distant shared memory structure. This local quality optimization reduces the hardware overhead for memory access control and arbitration, as each datapath has direct, dedicated access to its local memory bank without requiring complex global coordination mechanisms.

Inventive Principle:
Principle #3Local quality

3Productivity

If data parallelism is increased by scaling datapaths, then compute throughput is improved, but memory bandwidth becomes a bottleneck

Engineering Contradiction:
Improvedata parallelismVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The memory system is segmented into multiple independent memory banks that can be accessed in parallel by different datapaths. This segmentation enables memory bandwidth to scale linearly with the number of datapaths, as each datapath can simultaneously access its dedicated memory bank without contending for bandwidth, thus preventing memory bandwidth from becoming a bottleneck.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12079137B2Banked memory architecture for multiple parallel datapath channels in an accelerator
Publication Date: 2024.09.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12079137B2 patent drawing
  • US12079137B2 patent drawing
  • US12079137B2 patent drawing

AI summary

The present disclosure relates to devices and methods for using a banked memory structure with accelerators. The devices and methods may segment and isolate dataflows in datapath and memory of the accelerator. The devices and methods may provide each data channel with its own register memory bank. The devices and methods may use a memory address decoder to place the local variables in the proper memory bank.