Shared Memory Pool for Neural Simulator Components

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network simulators face challenges in dynamically allocating memory resources to components, leading to inefficiencies and limited flexibility in hardware implementations, as they often rely on pre-allocated memory that cannot accommodate varying memory requirements of different neuron types.

Innovation Solution

A shared memory pool architecture is implemented in hardware simulators, allowing dynamic allocation of memory to components based on determined resource requirements, enabling flexible memory usage and accommodating changes in state variable sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pre-allocated memory is used in hardware simulators, then memory allocation is simple and fixed, but flexibility and adaptability to varying memory requirements of different neuron types are limited

Engineering Contradiction:
Improveflexibility in memory allocationVSAvoidmemory architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic memory allocation system where memory is not statically assigned but dynamically distributed to neuron components based on their actual requirements. The shared memory pool can be reallocated during simulation runtime, allowing the system to adapt to varying memory needs of different neuron types while maintaining hardware efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The shared memory pool serves multiple neuron types and components simultaneously, providing a universal memory resource that can be allocated to different parts of the neural network as needed. This multi-functional memory architecture replaces dedicated memory blocks with a single pool that serves all components, increasing versatility without proportionally increasing overall complexity.

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

2Productivity

If dedicated memory is allocated to each neuron component, then memory access is fast and direct, but memory resource utilization efficiency decreases due to unused allocated memory

Engineering Contradiction:
Improvememory resource utilization efficiencyVSAvoidmemory allocation overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges individual memory allocations for different neuron components into a single shared memory pool. This consolidation eliminates wasted memory space across multiple dedicated allocations and improves overall resource utilization efficiency, as memory can be dynamically assigned to components that need it rather than remaining allocated but unused.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically changes memory allocation parameters based on the actual needs of neuron components during simulation. By adjusting the amount of memory allocated to each component in real-time rather than using fixed allocations, the system optimizes resource utilization efficiency while adapting to varying computational requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10339041B2Shared memory architecture for a neural simulator
Publication Date: 2019.07.02 QUALCOMM INC
  • US10339041B2 patent drawing
  • US10339041B2 patent drawing
  • US10339041B2 patent drawing

AI summary

Aspects of the present disclosure provide methods and apparatus for allocating memory in an artificial nervous system simulator implemented in hardware. According to certain aspects, memory resource requirements for one or more components of an artificial nervous system being simulated may be determined and portions of a shared memory pool (which may include on-chip and/or off-chip RAM) may be allocated to the components based on the determination.