IP Library Granted Patent US 11,081,148
Granted Patent B2
US 11,081,148 · App. 16/899,722 · Granted Aug 3, 2021

Binary weighted voltage encoding scheme for supporting multi-bit input precision

Inventors: Won Ho Choi (San Jose, CA); Pi-Feng Chiu (Milpitas, CA); Martin Lueker-Boden (Fremont, CA)
Assignee: SanDisk Technologies LLC
G11C5/147G06F17/16G06N3/04G06N3/0635G06N3/08G11C5/063G11C11/1697G11C11/223G11C11/2297G11C13/0038
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,081,148
App. No.
16/899,722
Granted
Aug 3, 2021
Kind
B2
Abstract

An illustrative embodiment disclosed herein is an apparatus including a non-volatile memory cell and multi-bit input circuitry that simultaneously receives a plurality of bits, receives a supply voltage, converts the plurality of bits and the supply voltage into a multiply voltage, and applies the multiply voltage to the non-volatile memory cell. The non-volatile memory cell may pass a memory cell current in response to the multiply voltage. A magnitude of the multiply voltage may represent a multiplier. The memory cell current may represent a product of the multiplier and a multiplicand stored in the non-volatile memory cell.

Claims (63)

1. A non-volatile memory device, comprising:

a plurality of N input lines;

one or more conductive lines, including a first conductive line;

a plurality of memory cells, including a first plurality of N memory cells each connected between the first conductive line and a corresponding one of the input lines and each configured to store a first weight value of a neural network as a binary value; and

one or more control circuits connected to the input lines and the conductive lines and configured to:

receive an N-bit input value for the neural network;

convert the input value into a plurality of N voltage values;

concurrently apply each of the N voltage values to a corresponding one of the input lines; and

determine a resultant current in the first conductive line in response to concurrently applying each of the N voltages to the corresponding one of the input lines.

2. The non-volatile memory device of claim 1 , wherein:

the first weight value is a first bit of a multi-bit weight value,

the one or more conductive lines further includes a second conductive line,

the plurality of memory cells further includes a second plurality of N memory cells each connected between the second conductive line and a corresponding one of the input lines and each configured to store a second weight value, corresponding to a second bit of the multi-bit weight value as a binary value, and

wherein the one or more control circuits are further configured to:

determine a resultant current in the second conductive line in response to concurrently apply each of the N voltages to the corresponding one of the input lines concurrently with determining the resultant current in the first conductive line.

3. The non-volatile memory device of claim 2 , wherein the one or more control circuits are further configured to:

form a weighted sum of the resultant current in the first conductive line and the resultant current in the second conductive line; and

determine, from the weighted sum, a product of the input value for the neural network and the first weight value of the neural network.

4. The non-volatile memory device of claim 3 , wherein, in forming the weighted sum, the one or more control circuits are further configured to:

weight the resultant current in the first conductive line and the resultant current in the second conductive line according to a relative significance of the first bit of the multi-bit weight value and the second bit of the multi-bit weight value.

5. The non-volatile memory device of claim 1 , wherein, in converting the input value into the plurality of N voltage values, the one or more control circuits are further configured to:

receive a supply voltage; and

multiply a value of the supply voltage by each of N multiplier values to thereby generate the N voltage values each corresponding to a bit of the input value, the values of the N multiplier values corresponding to a relative significance of the corresponding bit.

6. The non-volatile memory device of claim 5 , wherein, in converting the input value into the plurality of N voltage values, the one or more control circuits are further configured to:

receive an additional voltage level; and

add the additional voltage level to each of the N voltages values prior to applying the N voltages to the corresponding input lines.

7. The non-volatile memory device of claim 1 , wherein the memory cells are magnetoresistive memory (MRAM) based memory cells.

8. The non-volatile memory device of claim 1 , wherein the memory cells are phase change memory (PCM) based memory cells.

9. A method, comprising:

receiving an N-bit input value for a neural network;

converting the input value into a plurality of N voltage values, each of the voltage values corresponding to a bit of the input value;

concurrently applying each of the N voltages to a corresponding one of a plurality of N input lines of an array of memory cells, the array including a first set of N memory cells each connected between a first conductive line and a corresponding one of the input lines, each memory cell of the first set storing a first weight value of the neural network as a binary value; and

determining a resultant current in the first conductive line in response to concurrently applying the N voltage values to the corresponding input lines.

10. The method of claim 9 , wherein converting the input value into the plurality of N voltage values comprises:

receiving a supply voltage; and

multiplying a value of the supply voltage by each of N multiplier values to thereby generate the N voltage values each corresponding to a bit of the input value, the values of the N multiplier values corresponding to a relative significance of the corresponding bit.

11. The method of claim 10 , wherein converting the input value into the plurality of N voltage values further comprises:

receiving an additional voltage level; and

adding the additional voltage level to each of the N voltages values prior to applying the N voltages to the corresponding input lines.

12. The method of claim 9 , wherein the first weight value is a first bit of a multi-bit weight value, the memory further including a second set of N memory cells each connected between a second conductive line and a corresponding one of the input lines, each memory cell of the second set storing a second bit of the multi-bit weight value as a binary value, the method further comprising:

determining a resultant current in the second conductive line in response to concurrently apply each of the N voltages to the corresponding one of the input lines concurrently with determining the resultant current in the first conductive line.

13. The method of claim 12 , further comprising:

forming a weighted sum of the resultant current in the first conductive line and the resultant current in the second conductive line; and

determining, from the weighted sum, a product of the input value for the neural network and the weight value of the neural network.

14. The method of claim 13 , wherein forming the weighted sum comprises:

weighting the resultant current in the first conductive line and the resultant current in the second conductive line according to a relative significance of the first bit of the multi-bit weight value and the second bit of the multi-bit weight value.

15. An apparatus, comprising:

one or more control circuits configured to connect to a plurality of memory cells each connected between one of a plurality of word lines and one of one or more bit lines, the one or more control circuits configured to:

receive an N-bit input value for a neural network;

convert the input value into a plurality of voltage values;

concurrently apply each of the voltage values to a corresponding one of the word lines; and

determine a product of the N-bit input value for the neural network and a first bit value of a weight value for the neural network by measuring a resultant current in a first bit line connected to a first subset of the memory cells each storing the first bit value and each connected between a corresponding one of the plurality of word lines and the first of the bit line.

16. The apparatus of claim 15 , wherein the plurality of voltage values are N voltage values, each corresponding to one bit of the N-bit input value, and wherein the one or more control circuits are configured to concurrently apply each of the N voltage values to a corresponding one of the word lines.

17. The apparatus of claim 15 , wherein the one or more control circuits are further configured to:

concurrently with determining the product of the N-bit input value for the neural network and the first bit value of the weight value for the neural network, determine a product of the N-bit input value for the neural network and a second bit value of the weight value for the neural network by measuring a resultant current in a second bit line connected to a second subset of the memory cells each storing the second bit value and each connected between a corresponding one of the plurality of word lines and the second of the bit line.

18. The apparatus of claim 17 , wherein the one or more control circuits are further configured to:

form a weighted sum of the resultant current in the first bit line and the resultant current in the second bit line; and

determine, from the weighted sum, the product of the input value for the neural network and the weight value of the neural network.

19. The apparatus of claim 18 , wherein, in forming the weighted sum, the one or more control circuits are further configured to:

weight the resultant current in the first bit line and the resultant current in the second bit line according to a relative significance of the first bit of the weight value and the second bit of the weight value.

20. The apparatus of claim 15 , wherein, in converting the input value into the plurality of voltage values, the one or more control circuits are further configured to:

receive a supply voltage; and

multiply a value of the supply voltage by each of multiplier values to thereby generate the N voltage values each corresponding to a bit of the input value, the values of the N multiplier values corresponding to a relative significance of the corresponding bit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: CHOI, WON HO; CHIU, PI-FENG; LUEKER-BODEN, MARTIN
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 052932/0775 →
Continuity (3)
Continuation 16460947 · Jul 2, 2019
Continuation In Part 16452442 · Jun 25, 2019
Related Publication 20200411066A1 · Dec 31, 2020