Processing-in-Memory Architecture for Neural Network Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer apparatuses are unable to meet the fast and effective operating performance requirements of complex neural network operations due to limited processing speed, which is hindered by shared bus occupancy, preventing real-time data access for AI operations.

Innovation Solution

A memory with a processing-in-memory (PIM) architecture that includes a memory array, mode register, and AI core, allowing for direct data access by an AI core integrated into the memory, with dedicated memory buses for AI and special function processing cores to access different memory regions independently, enhancing data access speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a shared bus is used for data access between processing cores and memory, then device complexity is reduced, but data access speed deteriorates due to bus occupancy by other cores

Engineering Contradiction:
Improvedata access speedVSAvoidmemory access architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory array is divided into multiple memory regions, with each region dedicated to specific processing cores. The memory array is segmented into first memory regions for AI cores and second memory regions for other processing cores, allowing simultaneous independent access without bus conflicts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory management unit acts as an intermediary between processing cores and memory regions. The MMU receives memory access requests, determines the corresponding memory region based on core type and request parameters, and routes access appropriately, enabling complex memory management without requiring complex bus arbitration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a dedicated processing core is designed for neural network operations, then processing capability is improved, but data access speed deteriorates due to shared bus limitations

Engineering Contradiction:
Improveneural network operation capabilityVSAvoiddata access speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The AI core is integrated directly with the memory system, forming a unified processing-memory architecture. The AI core can directly access first memory regions without going through external buses, combining processing and memory functions to eliminate bus bottlenecks while maintaining dedicated neural network processing capability.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If multiple processing cores access memory simultaneously via shared bus, then processing parallelism is improved, but data access speed deteriorates due to bus occupancy

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidreal-time data access speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The memory array is segmented into multiple independently accessible regions that can be simultaneously accessed by different processing cores. First memory regions are accessible by AI cores while second memory regions are accessible by other processing cores, enabling true parallel access without bus contention.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10990524B2Memory with processing in memory architecture and operating method thereof
Publication Date: 2021.04.27 POWERCHIP SEMICON MFG CORP
  • US10990524B2 patent drawing
  • US10990524B2 patent drawing
  • US10990524B2 patent drawing

AI summary

A memory with a processing in memory architecture and an operating method thereof are provided. The memory includes a memory array, a mode register, an artificial intelligence core, and a memory interface. The memory array includes a plurality of memory regions. The mode register stores a plurality of memory mode settings. The memory interface is coupled to the memory array and the mode register, and is externally coupled to a special function processing core. The artificial intelligence core is coupled to the memory array and the mode register. The plurality of memory regions are respectively selectively assigned to the special function processing core or the artificial intelligence core according to the plurality of memory mode settings of the mode register, so that the special function processing core and the artificial intelligence core respectively access different memory regions in the memory array according to the plurality of memory mode settings.