IP Library Granted Patent US 12688900
Granted Patent B2
US 12688900 · App. 18/594,660 · Granted Jul 21, 2026

Compute-in-memory array multi-range temperature compensation

Inventors: Brandon David Rumberg (Pittsburgh, PA); Steven Andryzcik (Pittsburgh, PA)
Assignee: ASPINITY, INC.
G11C27/005
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 12688900
App. No.
18/594,660
Granted
Jul 21, 2026
Kind
B2
Abstract

According to some embodiments, a memory controller may be provided. A compute-in-memory array may be connected to a plurality of word lines of the memory controller, with multiple word lines per word being associated with different temperature coefficients, to facilitate temperature compensation of the compute-in-memory array. In some embodiments, the compute-in-memory array may be associated with parameter floating-gate transistors. Moreover, a plurality of compute-in-memory arrays may be individually programmed to several orders of parameter magnitude.

Claims (30)

1 . A system, comprising:

a memory controller; and

at least one analog compute-in-memory array connected to a plurality of dynamically changed control lines of the memory controller, the dynamically changed control lines representing a plurality of combinations of input values and multiple temperature coefficients, to facilitate temperature compensation of the compute-in-memory array.

2 . The system of claim 1 , wherein there are a plurality of analog compute-in-memory arrays and each is configurable to be connected to a plurality of control lines to individually facilitate temperature compensation.

3 . The system of claim 1 , wherein the analog compute-in-memory array is associated with parameter floating-gate transistors.

4 . The system of claim 1 , wherein the analog compute-in-memory array is programmed to several orders of parameter magnitude.

5 . The system of claim 1 , wherein the analog compute-in-memory array is programmed to different amounts of charge.

6 . The system of claim 1 , wherein a software toolchain at model load time selects: (i) which parameter floating-gate transistor is connected to which control line, and (ii) a charge value for each parameter floating-gate transistor based on the selected control line.

7 . The system of claim 1 , wherein a plurality of control lines are driven by a temperature compensated digital-to-analog converter.

8 . The system of claim 7 , wherein two different parameter floating-gate transistors can be connected to the same V CG .

9 . The system of claim 1 , wherein the system includes reference non-volatile memories and a plurality of parameter non-volatile memories with programmed, compensated weights.

10 . The system of claim 1 , wherein multiple parameter floating-gate transistors are connected via their drains to combine temperature profiles, programmed to generate currents with opposing temperature coefficients to better cancel temperature dependence when operating in regions between VCG values generated by reference floating-gate transistors.

11 . The system of claim 1 , wherein the system requires dynamic control defined by temperature coefficient points for the connected control lines.

12 . The system of claim 1 , wherein a control line represents an input vector, charges stored in the compute-in memory array represent a matrix of parameters that are effectively multiplied with the input vector to create a current in each cell, and the currents in each column are summed to obtain the output vector.

13 . The system of claim 1 , wherein a digital processing unit sequences memory read operations such that a desired algorithm is performed.

14 . A method, comprising:

providing a memory controller for a system; and

facilitating temperature compensation for at least one analog compute-in-memory array connected to a plurality of dynamically changed control lines of the memory controller, the dynamically changed control lines representing a plurality of combinations of input values and multiple temperature coefficients.

15 . The method of claim 14 , wherein there are a plurality of analog compute-in-memory arrays and each is configurable to be connected to a plurality of control lines to individually facilitate temperature compensation.

16 . The method of claim 14 , wherein the analog compute-in-memory array is associated with parameter floating-gate transistors.

17 . The method of claim 14 , wherein the analog compute-in-memory array is programmed to several orders of parameter magnitude.

18 . The method of claim 14 , wherein the analog compute-in-memory array is programmed to different amounts of charge.

19 . The method of claim 14 , wherein a software toolchain at model load time selects: (i) which parameter floating-gate transistor is connected to which control line, and (ii) a charge value for each parameter floating-gate transistor based on the selected control line.

20 . The method of claim 14 , wherein the plurality of word lines are driven by a temperature compensated digital-to-analog converter.

21 . The method of claim 20 , wherein two different parameter floating-gate transistors can be connected to the same V CG .

22 . The method of claim 14 , wherein the system includes reference non-volatile memories and a plurality of parameter non-volatile memories with programmed, compensated weights.

23 . The method of claim 14 , wherein multiple parameter floating-gate transistors are connected via their drains to combine temperature profiles, programmed to generate currents with opposing temperature coefficients to better cancel temperature dependence when operating in regions between VCG values generated by reference floating-gate transistors.

24 . The method of claim 14 , wherein the system requires dynamic control defined by temperature coefficient points for the connected word lines.

25 . The method of claim 14 , wherein a control line represents an input vector, charges stored in the compute-in memory array represent a matrix of parameters that are effectively multiplied with the input vector to create a current in each cell, and the currents in each column are summed to obtain the output vector.

26 . The method of claim 14 , wherein a digital processing unit sequences memory read operations such that a desired algorithm is performed.