Neuromorphic Spike History Array for Efficient Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current spiking neuron network (SNN) systems require a large number of operations to maintain timing information for neuron spikes, which can be inefficient and cumbersome for updating synaptic weights based on timing differences.

Innovation Solution

A spike history array is implemented, where rows represent neurons and columns represent time slots, with only the current time slot updated for firing neurons, optimizing operations by clearing and resetting other columns, and using a now pointer to efficiently track timing information and adjust synaptic weights.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a comprehensive spike history is maintained for all neurons across all time slots, then timing information accuracy is improved, but the number of operations required to update and maintain this history increases

Engineering Contradiction:
Improvetiming information accuracyVSAvoidoperations efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts only the essential timing information needed for STDP calculations by maintaining a compact spike history that records only the last spike time for each neuron, rather than storing complete spike histories for all neurons across all time slots. This extraction approach preserves the necessary timing precision while dramatically reducing the computational burden of maintaining and updating the spike history.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial action by updating only the necessary portions of the spike history array - specifically, only the entries corresponding to neurons that have fired spikes need to be updated, rather than refreshing the entire array. This selective update mechanism maintains timing accuracy for active neurons while avoiding unnecessary operations on inactive neurons, thereby improving operational efficiency.

Inventive Principle:
Principle #16Partial or excessive action

2Manufacturing precision

If complete timing information is stored for all neurons, then synaptic weight adjustment accuracy is improved, but the computational complexity and storage requirements increase

Engineering Contradiction:
Improvesynaptic weight adjustment accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the spike history storage into manageable units organized by neuron identifiers, where each neuron's spike history is stored in a separate, compact format. This segmentation allows the system to maintain precise timing information for synaptic weight adjustments while reducing overall computational complexity by enabling targeted access and updates to specific neuron entries without processing the entire history array.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary organization of spike timing data by pre-structuring the history array with neuron-specific entries and maintaining sorted or indexed access structures. This preliminary organization enables efficient retrieval of timing information when synaptic weight adjustments are needed, reducing the computational complexity of weight adjustment operations while preserving the accuracy required for proper STDP implementation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3516594B1A neuromorphic computing device, memory device, system, and method to maintain a spike history for neurons in a neuromorphic computing environment
Publication Date: 2024.10.30 INTEL CORP
  • EP3516594B1 patent drawingFigure 1
  • EP3516594B1 patent drawingFigure 2~3
  • EP3516594B1 patent drawingFigure 4~5

AI summary

Provided are a neuromorphic computing device, memory device, system, and method to maintain a spike history for neurons in a spiking neural network. A neural network spike history is generated in a memory device having an array of rows and columns of memory cells. There is one row of the rows for each of a plurality of neurons and columns for each of a plurality of time slots. Indication is made in a current column in the row of the memory cells for a firing neuron that a spike was fired. Indication is made in the current column in rows of memory cells of idle neurons that did not fire that a spike was not fired. Information in the array is used to determine a timing difference between a connected neuron and the firing neuron and to adjust a weight of the connecting synapse.