IP Library Granted Patent US 11,574,173
Granted Patent B2
US 11,574,173 · App. 16/721,819 · Granted Feb 7, 2023

Power efficient near memory analog multiply-and-accumulate (MAC)

Inventor: Ankit Srivastava (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06N3/063G06F7/5443G06N3/04G06N3/08G11C11/412G11C11/418G11C11/419
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,574,173
App. No.
16/721,819
Granted
Feb 7, 2023
Kind
B2
Abstract

A near memory system is provided for the calculation of a layer in a machine learning application. The near memory system includes an array of memory cells for storing an array of filter weights. A multiply-and-accumulate circuit couples to columns of the array to form the calculation of the layer.

Claims (37)

1. A near memory system, comprising:

an array of memory cells arranged into a plurality of rows and into a plurality of columns, wherein each row is configured to store a plurality of filter weights for a layer in a machine-learning application;

a multiply-and-accumulate (MAC) circuit coupled to each column, the MAC circuit being configured to multiply the plurality of filter weights from an accessed-one of the rows with a plurality of inputs for the layer to provide a plurality of products, the MAC circuit being further configured to sum the plurality of products to provide an output for the layer;

a plurality of word lines corresponding to the plurality of rows, each word line extending across its corresponding row; and

a controller configured to sequentially assert the word lines to form the accessed-one of the rows.

2. The near memory system of claim 1 , wherein each memory cell is selected from the group consisting of a static random access memory (SRAM) bitcell, a magnetic RAM (MRAM) bitcell, a resistive RAM (RRAM) bitcell, a ferroelectric RAM (FRAM) bitcell, and a phase-change memory (PCM) bitcell.

3. The near memory system of claim 2 , wherein each SRAM bitcell is a six-transistor SRAM bitcell.

4. The near memory system of claim 1 , wherein the MAC circuit includes a plurality of logic gates corresponding to the plurality of columns, and wherein each logic gate is configured to multiply a filter weight with an input to form a binary product.

5. The near memory system of claim 4 , wherein each logic gate comprises an exclusive-not-or (XNOR) gate.

6. The near memory system of claim 5 , wherein the MAC circuit further includes a digital adder to add an output from each XNOR gate.

7. The near memory system of claim 5 , wherein the MAC circuit further includes:

a plurality of capacitors corresponding to the plurality of XNOR gates, and wherein each XNOR gate is configured to drive a first plate for the corresponding capacitor.

8. The near memory system of claim 7 , wherein the MAC circuit further includes an analog-to-digital converter coupled to a second plate for each capacitor.

9. The near memory system of claim 7 , wherein each input is a multi-bit input, the MAC circuit further comprising a sequential accumulator coupled to a second plate of each capacitor, wherein the sequential accumulator is configured to sequentially accumulate a charge from each second plate from a serial processing of the multi-bit inputs to provide an accumulation result.

10. The near memory system of claim 9 , wherein the layer is a fully-connected layer, and wherein the MAC circuit further includes an analog-to-digital converter configured to convert the accumulation result into an output for fully-connected layer.

11. A near memory system:

a plurality of arrays of memory cells, wherein each array is arranged into a plurality of rows and columns, and wherein each row is configured to store a plurality of filter weights for a layer in a machine-learning application, and wherein each array of memory cells is subdivided into a plurality of sub-arrays; and

a plurality of multiply-and-accumulate (MAC) circuits corresponding to the plurality of sub-arrays, each MAC circuit being coupled to each column in the corresponding sub-array, each MAC circuit being configured to multiply the plurality of filter weights from an accessed-one of the rows in the corresponding sub-array with a corresponding plurality of inputs to provide a plurality of products, the MAC circuit being further configured to sum the plurality of products to provide a sum, and wherein each array further includes an adder to add the sums from the array's MAC circuits to form an output for the array,

wherein each MAC circuit includes a plurality of logic gates corresponding to the plurality of columns in the corresponding sub-array, and wherein each logic gate is configured to multiply a filter weight with the corresponding one of the inputs to form a binary product.

12. The near memory system of claim 11 , wherein each memory cell is a static random access memory (SRAM) bitcell.

13. The near memory system of claim 12 , wherein each SRAM bitcell is a six-transistor SRAM bitcell.

14. The near memory system of claim 11 , wherein each logic gate comprises an exclusive-not-or (XNOR) gate.

15. The near memory system of claim 14 , wherein each MAC circuit further includes a digital adder to add an output from each of its XNOR gates.

16. The near memory system of claim 14 , wherein each MAC circuit further includes:

a plurality of capacitors corresponding to the plurality of XNOR gates in the MAC circuit, and wherein each XNOR gate is configured to drive a first plate for the corresponding capacitor.

17. Near memory system of claim 16 , wherein each MAC circuit further includes an analog-to-digital converter coupled to a second plate for each capacitor in the MAC circuit.

18. The near memory system of claim 16 , wherein each input is a multi-bit input, each MAC circuit further comprising a sequential accumulator coupled to a second plate of each of the MAC circuit's capacitors, wherein the MAC circuit's sequential accumulator is configured to sequentially accumulate a charge from each second plate for each capacitor in the MAC circuit for a serial processing of the multi-bit inputs to provide an accumulation result.

19. The near memory system of claim 18 , wherein the layer is a fully-connected layer, and wherein each MAC circuit further includes an analog-to-digital converter configured to convert the accumulation result into a digital value, and wherein each adder is further configured to add the digital value from the array's MAC circuits to provide an output for the fully-connected layer.

20. The near memory system of claim 11 , wherein the near memory system is integrated into a mobile device.

21. The near memory system of claim 20 , wherein the mobile device is cellular telephone.

22. A method for a near memory system, comprising:

asserting a word line for a row of memory cells to retrieve a plurality of filter weights for an output neuron in a layer for a machine learning application;

in a multiply-and-accumulate circuit coupled to the row of memory cells, multiplying the plurality of filter weights with a plurality of input neurons to form a plurality of products;

summing the plurality of products to calculate a value for the output neuron; and

sequentially asserting additional word lines to sequentially calculate values for additional output neurons in the layer.

23. The method of claim 22 , wherein summing the plurality of products comprises digitizing a voltage from a plurality of capacitors.

24. The method of claim 22 , wherein summing the plurality of products comprises a digital summing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: SRIVASTAVA, ANKIT
To: QUALCOMM INCORPORATED
Reel/Frame 051941/0872 →
Continuity (1)
Related Publication 20210192324A1 · Jun 24, 2021