# US 12,602,228 B2 · Neuromorphic processor and neuromorphic processing method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,228 B2
- Document ID: US12602228B2
- Status: Granted
- Kind: B2
- Application number: 17/442,987
- Filed: 2020-03-26
- Published: 2022-06-02
- Granted: 2026-04-14
- Earliest claimed: 2019-03-26
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Amirreza Yousefzadeh; Orlando Miguel Pires Dos Reis Moreira; Gokturk Cinserin
- Web page: https://patentgrep.com/patent/US12602228B2

## CPC

- G06F 9/3001: {Arithmetic instructions}
- G06N 3/049: Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
- G06N 3/048: Activation functions
- G06N 3/063: using electronic means
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A neuromorphic processor and a neuromorphic processing method are provided. The neuromorphic processor includes a plurality of neuromorphic elements, a message exchange facility, and a computation unit. The plurality of neuromorphic elements each has a respective state memory entry for storing their state. The message exchange facility enables neuromorphic elements to transmit neural event messages, and to receive transmitted neural event messages. A neural event message includes a message type indicating that the neural event message is an accumulation message or a leakage message. An accumulation message instructs the computation unit to modify a state value of a destination neuromorphic element by addition or subtraction of a value indicated as a message parameter in the accumulation message. A leakage message instructs the computation unit to modify the state value by reduction of the state value with a leakage value that is correlated with the state value.

## Claims

### Claim 1

A neuromorphic processor comprising:
a plurality of neuromorphic elements, each neuromorphic element of the plurality of neuromorphic elements having a respective state memory entry for storing a state of the neuromorphic element;
a message exchange facility to enable the plurality of neuromorphic elements to transmit neural event messages and to receive transmitted neural event messages, wherein a neural event message includes:
an indication of one or more of the plurality of neuromorphic elements selected as a destination, and
a message type; and
a computation unit to update the state of a respective one of the plurality of neuromorphic elements based on a received neural event message received by the respective one of the plurality of neuromorphic elements;
wherein the message type of the received neural event message indicates that the received neural event message is an accumulation message or a leakage message,
wherein the accumulation message instructs the computation unit to modify a state value of the respective one of the plurality of neuromorphic elements by addition or subtraction of a value indicated as a parameter in the accumulation message, and
wherein the leakage message instructs the computation unit to modify the state value by reduction of the state value with a leakage value that is correlated with the state value.

### Claim 2 (depends on 1)

The neuromorphic processor according to claim 1, wherein the leakage value is equal to a binary shifted difference between the state value and a bias value.

### Claim 3 (depends on 2)

The neuromorphic processor according to claim 2, wherein a binary shift is specified by a binary shift value specified as a parameter in the leakage message.

### Claim 4 (depends on 2)

The neuromorphic processor according to claim 2, wherein the bias value is specified as a parameter in the leakage message.

### Claim 5 (depends on 2)

The neuromorphic processor according to claim 2, wherein the bias value is a predetermined value.

### Claim 6 (depends on 1)

The neuromorphic processor according to claim 1, wherein the plurality of neuromorphic elements form a neuromorphic cluster of neuromorphic elements, and wherein the plurality of neuromorphic elements share a common memory facility.

### Claim 7 (depends on 6)

The neuromorphic processor according to claim 6, wherein the neuromorphic cluster is to update the states of the plurality of neuromorphic elements of the neuromorphic cluster on a time-shared basis.

### Claim 8 (depends on 1)

The neuromorphic processor according to claim 1, wherein each respective neuromorphic element of the plurality of neuromorphic elements comprises a respective computation unit having dedicated access to the respective state memory entry for the respective neuromorphic element.

### Claim 9 (depends on 6)

The neuromorphic processor according to claim 6,
wherein the neuromorphic cluster is one of a plurality of neuromorphic clusters, and
wherein each one of the plurality of neuromorphic clusters have access to a message exchange network.

### Claim 10

A neuromorphic processing method comprising:
storing a state of each one of a plurality of neuromorphic elements in a respective state memory entry of a plurality of state memory entries;
enabling neuromorphic elements of the plurality of neuromorphic elements to transmit neural event messages, and to receive transmitted neural event messages, a neural event message including an indication of one or more of the plurality of neuromorphic elements selected as a destination, and a message type; and
updating the state of a respective one of the plurality of neuromorphic elements based on a received neural event message received by the respective one of the plurality of neuromorphic elements;
wherein the message type of the received neural event message indicates that the received neural event message is an accumulation message or a leakage message,
wherein the accumulation message causes modifying of a state value of the respective one of the plurality of neuromorphic elements by addition or subtraction of a value indicated as a parameter in the accumulation message, and
wherein the leakage message causes modifying of the state value by reduction of the state value with a leakage value that is correlated with the state value.

### Claim 11 (depends on 3)

The neuromorphic processor according to claim 3, wherein the bias value is specified as a parameter in the leakage message.

### Claim 12 (depends on 3)

The neuromorphic processor according to claim 3, wherein the bias value is a predetermined value.

### Claim 13 (depends on 1)

The neuromorphic processor according to claim 1, wherein the leakage value is correlated with the state value and dependent on one or more parameters contained in the leakage message.

### Claim 14 (depends on 10)

The neuromorphic processing method according to claim 10, wherein the leakage value is correlated with the state value and dependent on one or more parameters contained in the leakage message.

### Claim 15 (depends on 10)

The neuromorphic processing method according to claim 10, wherein the leakage value is equal to a binary shifted difference between the state value and a bias value.

### Claim 16 (depends on 15)

The neuromorphic processing method according to claim 15, wherein a binary shift is specified by a binary shift value specified as a parameter in the leakage message.

### Claim 17 (depends on 15)

The neuromorphic processing method according to claim 15, wherein the bias value is specified as a parameter in the leakage message.

### Claim 18 (depends on 15)

The neuromorphic processing method according to claim 15, wherein the bias value is a predetermined value.

### Claim 19 (depends on 10)

The neuromorphic processing method according to claim 10, wherein the plurality of neuromorphic elements form a neuromorphic cluster of neuromorphic elements, and wherein the plurality of neuromorphic elements share a common memory facility.

### Claim 20 (depends on 19)

The neuromorphic processing method according to claim 19, comprising updating the states of the plurality of neuromorphic elements of the neuromorphic cluster on a time-shared basis.
