IP Library Granted Patent US 10,664,438
Granted Patent B2
US 10,664,438 · App. 16/512,551 · Granted May 26, 2020

Memory-based distributed processor architecture

Inventors: Elad Sity (Kfar Saba, IL); Eliad Hillel (Kfar Saba, IL)
Assignee: NeuroBlade, Ltd.
G06F15/8038G06F9/3001G06F9/3885G06F9/3889G06F9/3895G06F11/102G06F11/1016G06F13/1657G06N3/04G11C7/1072G11C11/1655G11C11/1657G11C11/1675G11C11/408G11C11/4076G11C11/4093G06F2015/765
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,664,438
App. No.
16/512,551
Granted
May 26, 2020
Kind
B2
Abstract

Distributed processors and methods for compiling code for execution by distributed processors are disclosed. In one implementation, a distributed processor may include a substrate; a memory array disposed on the substrate; and a processing array disposed on the substrate. The memory array may include a plurality of discrete memory banks, and the processing array may include a plurality of processor subunits, each one of the processor subunits being associated with a corresponding, dedicated one of the plurality of discrete memory banks. The distributed processor may further include a first plurality of buses, each connecting one of the plurality of processor subunits to its corresponding, dedicated memory bank, and a second plurality of buses, each connecting one of the plurality of processor subunits to another of the plurality of processor subunits.

Claims (27)

1. A distributed processor, comprising:

a substrate;

a memory array disposed on the substrate, the memory array including a plurality of discrete memory banks; and

a processing array disposed on the substrate, the processing array including a plurality of processor subunits, each one of the processor subunits being associated with a corresponding, dedicated one of the plurality of discrete memory banks; and

a plurality of buses, each one of the plurality of buses connecting one of the plurality of processor subunits to at least another one of the plurality of processor subunits,

wherein the plurality of buses are free of timing hardware logic components such that data transfers between processor subunits and across corresponding ones of the plurality of buses are uncontrolled by timing hardware logic components.

2. The distributed processor of claim 1 , wherein the plurality of buses are free of bus arbiters such that data transfers between processor subunits and across corresponding ones of the plurality of buses are uncontrolled by bus arbiters.

3. The distributed processor of claim 1 , wherein the plurality of buses comprise at least one of wires or optical fibers between corresponding ones of the plurality of processor subunits.

4. The distributed processor of claim 1 , wherein the plurality of processor subunits are configured to transfer data across at least one of the plurality of buses in accordance with code executed by the plurality of processor subunits.

5. The distributed processor of claim 4 , wherein the code dictates timing of data transfers across at least one of the plurality of buses.

6. The distributed processor of claim 1 , further comprising a second plurality of buses, wherein each of the second plurality of buses connects one of the plurality of processor subunits to a corresponding, dedicated memory bank.

7. The distributed processor of claim 6 , wherein the second plurality of buses are free of timing hardware logic components such that data transfers between processor subunits and corresponding, dedicated memory banks are uncontrolled by timing hardware logic components.

8. The distributed processor of claim 6 , wherein the second plurality of buses are free of bus arbiters such that data transfers between processor subunits and corresponding, dedicated memory banks are uncontrolled by bus arbiters.

9. The distributed processor of claim 1 , wherein the plurality of processor subunits are spatially distributed among the plurality of discrete memory banks within the memory array.

10. The distributed processor of claim 1 , wherein the substrate includes a semiconductor substrate.

11. A distributed processor on a memory chip, comprising:

a substrate;

a memory array disposed on the substrate, the memory array including a plurality of discrete memory banks; and

a processing array disposed on the substrate, the processing array including a plurality of processor subunits, each one of the processor subunits being associated with a corresponding, dedicated one of the plurality of discrete memory banks; and

a plurality of buses, each one of the plurality of buses connecting one of the plurality of processor subunits to a corresponding, dedicated one of the plurality of discrete memory banks,

wherein the plurality of buses are free of timing hardware logic components such that data transfers between a processor subunit and a corresponding, dedicated one of the plurality of discrete memory banks and across a corresponding one of the plurality of buses are uncontrolled by timing hardware logic components.

12. A distributed processor, comprising:

a substrate;

a memory array disposed on the substrate, the memory array including a plurality of discrete memory banks; and

a processing array disposed on the substrate, the processing array including a plurality of processor subunits, each one of the processor subunits being associated with a corresponding, dedicated one of the plurality of discrete memory banks; and

a plurality of buses, each one of the plurality of buses connecting one of the plurality of processor subunits to at least another one of the plurality of processor subunits,

wherein the plurality of processor subunits are configured to execute software that controls timing of data transfers across the plurality of buses to avoid colliding data transfers on at least one of the plurality of buses.

Assignments (2)
SECURITY INTEREST Recorded Jan 11, 2021
From: NEUROBLADE LTD.
To: SILICON VALLEY BANK
Reel/Frame 054877/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2019
From: SITY, ELAD; HILLEL, ELIAD
To: NEUROBLADE, LTD
Reel/Frame 049763/0134 →
Continuity (5)
Continuation PCTIB2018000995 · Jul 30, 2018
Provisional Application 62538722 · Jul 30, 2017
Provisional Application 62538724 · Jul 30, 2017
Provisional Application 62548990 · Aug 23, 2017
Related Publication 20190340153A1 · Nov 7, 2019
Cited By (1)
US 12,585,612