IP Library › Granted Patent US 12,566,814
Granted Patent B2
US 12,566,814 · App. 18/655,110 · Granted Mar 3, 2026

Vgs ladder for nand in memory compute

Inventors: Jaco Hofmann (Santa Clara, CA); Richard New (Palo Alto, CA); Dejan Vucinic (San Jose, CA)
Assignee: Sandisk Technologies, Inc.
G06F17/16
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 12,566,814
App. No.
18/655,110
Granted
Mar 3, 2026
Kind
B2
Abstract

Technology for NAND in-memory compute. A NAND memory system uses a V GS ladder in which the expected (or estimated) voltage at the source terminal of a particular NAND memory cell transistor is factored into the determination of the voltage to apply to the gate. An estimate may be made of what voltage will be at the source terminal of each NAND memory cell transistor during in-memory computation. The voltage to apply to the gate of the NAND memory cell transistor may then be determined by adding the estimated source terminal voltage to the target V GS . Therefore, the actual V GS is much closer to the target V GS thereby improving accuracy of NAND in-memory compute.

Claims (65)

1 . An apparatus comprising:

one or more control circuits configured to connect to a three-dimensional NAND memory structure, the three-dimensional NAND memory structure having bit lines and NAND strings associated with the bit lines, the one or more control circuits configured to:

access a target gate-to-source voltage for each respective compute NAND memory cell transistor of a plurality of compute NAND memory cell transistors on one or more NAND strings to represent a value in an input vector, each compute NAND memory cell transistor to be used for an in-memory computation;

determine a gate voltage for each respective compute NAND memory cell transistor to achieve the target gate-to-source voltage in view of a location dependent source terminal voltage for each respective compute NAND memory cell transistor during the in-memory computation;

apply the determined gate voltage to each respective compute NAND memory cell transistor during the in-memory computation;

sense a current of each of the one or more NAND strings in response to the respective gate voltages; and

determine a result for the in-memory computation based on the sensed current of each of the one or more NAND strings.

2 . The apparatus of claim 1 , wherein the one or more control circuits are further configured to program threshold voltages of the compute NAND memory cell transistors to represent a weight matrix in an artificial neural network model, the in-memory computation comprises a multiplication of the weight matrix by the input vector.

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

allocate an equal voltage from drain-to-source of each compute NAND memory cell transistor to estimate the respective location dependent source terminal voltage for each compute NAND memory cell transistor during the in-memory computation.

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

apply a string voltage across the one or more NAND strings while applying the respective gate voltage to each compute NAND memory cell transistor; and

allocate an equal portion of the string voltage as the equal voltage from drain-to-source of each NAND memory cell transistor.

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

allocate different drain-to-source voltages for different compute NAND memory cell transistors to estimate the respective location dependent source terminal voltage for each compute NAND memory cell transistor during the in-memory computation.

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

estimate the drain-to-source voltage across each compute NAND memory cell transistor based on a median threshold voltage programmed to each compute NAND memory cell transistor and a median gate voltage applied to each compute NAND memory cell transistor during the in-memory computation.

7 . The apparatus of claim 6 , wherein:

the median threshold voltage programmed to each compute NAND memory cell transistor corresponds to a weight of zero in artificial neural network model; and

the median gate voltage applied to each compute NAND memory cell transistor cell corresponds to an input vector value of zero.

8 . The apparatus of claim 1 , wherein:

the one or more NAND strings include a first NAND string connected to a first bit line and a second NAND string connected to a second bit line;

the one or more control circuits are further configured to:

program threshold voltages of the compute NAND memory cell transistors on the first NAND string and the compute NAND memory cell transistors on the second NAND string to collectively represent a weight vector; and

determine the result for the in-memory computation based on a difference between the sensed current of the first NAND string and the sensed current of the second NAND string, the in-memory computation being an inner product of the weight vector and the input vector.

9 . The apparatus of claim 1 , wherein each compute NAND memory cell transistor comprises an NMOS transistor.

10 . The apparatus of claim 1 , wherein the apparatus comprises:

a first semiconductor die comprising the three-dimensional NAND memory structure; and

a second semiconductor die comprising the one or more control circuits.

11 . The apparatus of claim 1 , wherein the apparatus comprises:

a semiconductor die comprising the three-dimensional NAND memory structure and the one or more control circuits.

12 . A method for performing an in-memory computation, the method comprising:

programming threshold voltages of compute NAND memory cell transistors on at least one NAND string to represent a weight vector, wherein gate terminals of the compute NAND memory cell transistors are connected to a set of word lines;

determining a target gate-to-source voltage for each particular compute NAND memory cell transistor on the at least one NAND string to represent a value in an input vector;

determining a word line voltage for each word line in the set of word lines to achieve the target gate-to-source voltages in view of an estimated source terminal voltage at each particular compute NAND memory cell transistor assuming a string voltage is applied between a first end of the at least one NAND string and a second end of the at least one NAND string;

applying the word line voltage to each word line in the set of word lines while applying the string voltage between the first end and the second end of the at least one NAND string;

sensing a current of each NAND string in the at least one NAND string in response to the word line voltages; and

determining a dot product of the weight vector and the input vector based on the sensed current of each NAND string in the at least one NAND string.

13 . The method of claim 12 , wherein:

programming the threshold voltages of the compute NAND memory cell transistors on the at least one NAND string to represent the weight vector comprises programming first NAND memory cell transistors on a first NAND string and second NAND memory cell transistors on a second NAND string; and

determining the dot product of the weight vector and the input vector is based on a difference between a first current sensed from the first NAND string and a second current sensed from the second NAND string.

14 . The method of claim 12 , further comprising:

estimating the source terminal voltage at each particular compute NAND memory cell transistor by allocating an equal portion of the string voltage from drain-to-source of each compute NAND memory cell transistor on the at least one NAND string.

15 . The method of claim 12 , further comprising:

estimating the source terminal voltage at each particular compute NAND memory cell transistor by allocating unequal amounts of the string voltage from drain to source to different compute NAND memory cell transistors on the at least one NAND string.

16 . A NAND memory system comprising:

a three-dimensional NAND memory structure, the three-dimensional NAND memory structure having bit lines and NAND strings associated with the bit lines; and

one or more control circuits in communication with the three-dimensional NAND memory structure, the one or more control circuits configured to:

program threshold voltages of compute NAND memory cell transistors on one or more NAND strings to represent a weight vector in an artificial neural network model;

access an estimated source terminal voltage at each compute NAND memory cell transistor assuming a string voltage is applied between a first end of the on one or more NAND strings and a second end of the on one or more NAND strings during an in-memory computation;

access a target gate-to-source voltage for each particular compute NAND memory cell transistor of one or more NAND strings to represent a value in an input vector;

determine a gate voltage for each particular compute NAND memory cell transistor to achieve the target gate-to-source voltage in view of the estimated source terminal voltage at each compute NAND memory cell transistor;

apply the gate voltage to each compute NAND memory cell transistor while applying the string voltage between the first end and the second end of the one or more NAND strings;

sense a current of the one or more NAND strings in response to the gate voltages; and

determine a dot product of the weight vector by the input vector based on the sensed current of the one or more NAND strings.

17 . The NAND memory system of claim 16 , wherein the one or more control circuits are further configured to:

allocate an equal portion of the string voltage from drain to source of each compute NAND memory cell transistor to estimate the respective source terminal voltage for each compute NAND memory cell transistor.

18 . The NAND memory system of claim 16 , wherein the one or more control circuits are further configured to:

allocate an unequal portion of the string voltage from drain to source of different compute NAND memory cell transistors to estimate the respective source terminal voltage for each compute NAND memory cell transistor.

19 . The NAND memory system of claim 18 , wherein the unequal portion of the string voltage is based on a median threshold voltage programmed to each compute NAND memory cell transistor and a median gate voltage applied to each compute NAND memory cell transistor.

20 . The NAND memory system of claim 16 , wherein:

the one or more NAND strings include a first NAND string connected to a first bit line and a second NAND string connected to a second bit line;

the one or more control circuits are further configured to:

program the threshold voltages of the compute NAND memory cell transistors on the first NAND string and the compute NAND memory cell transistors on the second NAND string to collectively represent the weight vector in the artificial neural network model, each value of the weight vector is programmed into a four compute NAND memory cell transistors in a computation unit; and

determine the dot product of the weight vector by the input vector based on a difference between the sensed current of the first NAND string and the sensed current of the second NAND string.

Assignments (4)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2024
From: HOFMANN, JACO; NEW, RICHARD; VUCINIC, DEJAN
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 067315/0073 →
Continuity (1)
Related Publication 20250342224A1 · Nov 6, 2025
References Cited (14)
US 7551477B2 · Mokhlesi et al. · 2009 [cited by applicant]
US 8724390B2 · Hung et al. · 2014 [cited by applicant]
US 8908432B2 · Kamei et al. · 2014 [cited by applicant]
US 11915768B2 · Harari · 2024 [cited by examiner]
US 20140028347A1 · Robinett · 2014 [cited by examiner]
US 20200192971A1 · Lue et al. · 2020 [cited by applicant]
US 20210191638A1 · Miladinovic · 2021 [cited by examiner]
US 20230022516A1 · Lee et al. · 2023 [cited by applicant]
Lee, Sung-Tae, et al., “Neuromorphic Computing Using NAND Flash Memory Architecture With Pulse Width Modulation Scheme,” frontiers in Neuroscience, vol. 14, Article 571292, Sep. 2020, 10 pages. [cited by applicant]
Chowdary, Aswin, et al., “ADC-less 3D-NAND Computer-in-Memory Architecture using Margin Propagation,” IEEE 66th International Midwest Symposium on Circuits and Systems, Aug. 2023, 4 pages. [cited by applicant]
Kim, Minsu, et al., “An Embedded NAND Flash-Based Compute-In-Memory Array Demonstrated in a Standard Logic Process,” IEEE Journal of Solid-State Circuits, Jul. 2021, 14 pages. [cited by applicant]
U.S. Appl. No. 18/655,079, filed May 3, 2024. [cited by applicant]
U.S. Appl. No. 18/655,122, filed May 3, 2024. [cited by applicant]
U.S. Appl. No. 18/655,132, filed May 3, 2024. [cited by applicant]