IP Library › Granted Patent US 11,537,535
Granted Patent B2
US 11,537,535 · App. 16/894,588 · Granted Dec 27, 2022

Non-volatile memory based processors and dataflow techniques

Inventors: Zhengya Zhang (Ann Arbor, MI); Mohammed Zidan (Ann Arbor, MI); Fan-hsuan Meng (Ann Arbor, MI); Chester Liu (Ann Arbor, MI); Jacob Botimer (Ann Arbor, MI); Timothy Wesley (Ann Arbor, MI); Wei Lu (Ann Arbor, MI)
Assignee: MemryX Incorporated
G06F13/1668G06F7/5443G06F9/30032G06F9/3824G06F9/3893G06F9/544G06F12/0246G06F17/16G06V10/758G06F2212/7207
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 11,537,535
App. No.
16/894,588
Granted
Dec 27, 2022
Kind
B2
Abstract

A monolithic integrated circuit (IC) including one or more compute circuitry, one or more non-volatile memory circuits, one or more communication channels and one or more communication interface. The one or more communication channels can communicatively couple the one or more compute circuitry, the one or more non-volatile memory circuits and the one or more communication interface together. The one or more communication interfaces can communicatively couple one or more circuits of the monolithic integrated circuit to one or more circuits external to the monolithic integrated circuit.

Claims (35)

1. A compute chip comprising:

a plurality of compute circuitry of a monolithic integrated circuit, wherein the plurality of compute circuitry perform computation operations;

one or more non-volatile memory circuits of the monolithic integrated circuit;

one or more communication interfaces of the monolithic integrated circuit configured to communicatively couple one or more circuits of the monolithic integrated circuit to one or more circuits external to the monolithic integrated circuit; and

one or more communication channels of the monolithic integrated circuit configurable to communicatively couple the plurality of compute circuitry, the one or more non-volatile memory circuits and the one or more communication interface together, wherein results of one or more computations performed by one or more of the compute circuitry is passed as operands to one or more other of the plurality of compute circuitry to perform one or more other computations without the results of the one or more computations being written to the one or more non-volatile memory circuits.

2. The compute chip of claim 1 , wherein the one or more non-volatile memory circuits includes memory selected from the group consisting of resistive random-access memory (ROAM), magnetic random-access memory (MRAM), Flash memory (FLASH), and phase change random access memory (PCRAM).

3. The compute chip of claim 1 , wherein the plurality of compute circuitry are configurable to perform computation operations of a compute model.

4. The compute chip of claim 3 , wherein the one or more non-volatile memory circuitry are configurable to store respective set of weights or kernel functions for computation operations performed by the respective one or more compute circuitry based on the compute model.

5. The compute chip of claim 4 , wherein respective ones of the plurality of processing elements includes a respective compute circuitry and a respective non-volatile memory circuitry.

6. The compute chip of claim 5 , wherein the one or more communication channels are further configurable to communicatively couple the respective compute circuitry of the plurality of processing elements together in parallel and in series based on the compute model.

7. A processor comprising:

a plurality of processing elements of a monolithic integrated circuit, wherein;

each processing element includes a processing circuitry and a non-volatile memory circuitry;

the compute circuitry of respective processing elements are configurable to perform a respective computation;

the non-volatile memory circuitry of respective processing elements are configurable to store a respective set of weights or kernel functions; and

the plurality of processing elements are configurable to pass data between processing elements, wherein results of one or more computations performed by one or more of the compute circuitry passes as operands to one or more other of the compute circuitry to perform one or more other computations without the results of the one or more computations being written to the one or more non-volatile memory circuits.

8. The processor of claim 7 , wherein the plurality of processing elements include processors selected from the group consisting of central processing units (CPU), graphics processing units (GPU), tensor processing units (TPU), artificial intelligence (AI) accelerators, and memory processing units.

9. The processor of claim 7 , wherein the non-volatile memory circuitry includes memory selected from the group consisting of resistive random-access memory (ReRAM), magnetic random-access memory (MRAM), Flash memory (FLASH), and phase change random access memory (PCRAM).

10. The processor of claim 7 , wherein the compute circuitry of the plurality of processing elements are configurable to perform respective computation operations of a compute model.

11. The of claim 10 , wherein the compute circuitry of the plurality of processing elements are configurable to pass the data between processing elements based on computation operations of the compute model.

12. The processor of claim 11 , wherein the non-volatile memory circuitry of the plurality of processing elements are configurable to store the respective set of weights or kernel functions based of the compute model.

13. The processor of claim 12 , further comprising:

data links configurable to couple the plurality of processing elements based on edges of the compute model.

14. A processor configuration method comprising:

receiving a compute model including a plurality of nodes, edges coupling various ones of the plurality of nodes together, and weights of respective nodes;

configuring compute circuitry of a plurality of processing elements based on respective ones of the plurality of nodes;

configuring data flow between the configured processing elements based on the edges, wherein results of one or more computations performed by one or more of the compute circuitry is passed as operands to one or more other of the compute circuitry to perform one or more other computations without the results of the one or more computations being written to non-volatile memory circuitry; and

loading the weights of respective nodes into the non-volatile memory circuitry of respective processing elements.

15. The processor configuration method according to claim 14 , further comprising:

executing the compute model on the configured compute elements in response to one or more inputs to generate one or more outputs.

16. The processor configuration method according to claim 14 , wherein the processing elements include on-chip processors selected from the group consisting of central processing units (CPU), graphics processing units (GPU), tensor processing units (TPU), artificial intelligence (AI) accelerators, and memory processing units.

17. The processor configuration method according to claim 14 , wherein the non-volatile memory circuitry includes on-chip memory selected from the group consisting of resistive random-access memory (ReRAM), magnetic random-access memory (MRAM), Flash memory (FLASH), and phase change random access memory (PCRAM).

18. The processor configuration method according to claim 15 , further comprising reading in the one or more input from off-chip memory.

19. The processor configuration method according to claim 18 , further comprising writing the one or more output to the off-chip memory.

20. The processor configuration method according to claim 14 , wherein configuring the data flow between the configured processing elements based on the edges includes configuring data links between the plurality of processing elements based on the edges of the compute model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2020
From: ZHANG, ZHENGYA; ZIDAN, MOHAMMED; MENG, FAN-HSUAN; LIU, CHESTER; BOTIMER, JACOB; WESLEY, TIMOTHY; LU, WEI
To: MEMRYX INCORPORATED
Reel/Frame 052858/0164 →
Continuity (2)
Provisional Application 62872147 · Jul 9, 2019
Related Publication 20210011863A1 · Jan 14, 2021