IP Library Granted Patent US 12,579,030
Granted Patent B2
US 12,579,030 · App. 18/761,586 · Granted Mar 17, 2026

Compute-in-memory using neural networks stored in a non-volatile memory for predictive block health assessment of the non-volatile memory

Inventors: Liang Li (Shanghai, CN); Xuan Tian (Shanghai, CN); Ming Wang (Shanghai, CN); Yan Li (Milpitas, CA)
Assignee: Sandisk Technologies, Inc.
G06F11/1068G06F11/1016
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,579,030
App. No.
18/761,586
Granted
Mar 17, 2026
Kind
B2
Abstract

Predictive block health assessment of a non-volatile memory can be performed by storing a pre-trained neural network for this purpose on the memory device itself. As operational errors occur during operation of the memory device, this defect data is saved by the non-volatile memory and used as input data for the neural network to identify and retire potential bad blocks before data loss occurs.

Claims (63)

1 . A non-volatile memory device, comprising:

a control circuit configured to connect to one or more arrays of non-volatile memory cells storing weights of a first neural network, the control circuit is configured to:

perform memory operations, including reading and writing of data, on the one or more arrays;

determine error indication data while performing a plurality of the memory operations;

write the determined error indication data to the memory cells of the one or more arrays;

perform a compute-in-memory inference operation with the first neural network using the written determined error indication data as input values; and

determine defective portions of the one or more arrays based on output of the inference operation.

2 . The non-volatile memory device of claim 1 , wherein the control circuit is formed on a control die, the non-volatile memory device further comprising:

a memory die including the one or more arrays of non-volatile memory cells, the memory die separate from and bonded to the control die.

3 . The non-volatile memory device of claim 1 , the one or more arrays of non-volatile memory cells further storing error indication data determined prior to performing the memory operations on the one or more arrays, and, wherein to perform the compute-in-memory inference operation the control circuit is further configured to:

perform the compute-in-memory inference operation with the first neural network using the written determine error indication data and the error indication data determined prior to performing the memory operations as input values.

4 . The non-volatile memory device of claim 1 , wherein the control circuit is further configured to:

perform error correction code (ECC) operations on data read the one or more arrays, wherein the error indication data determined while performing the memory operations includes ECC results.

5 . The non-volatile memory device of claim 1 , wherein the error indication data determined while performing the memory operations includes data writing errors.

6 . The non-volatile memory device of claim 1 , wherein the memory operations further include erasing of data and the error indication data determined while performing the memory operations includes data erasing errors.

7 . The non-volatile memory device of claim 1 , the one or more arrays of non-volatile memory cells further storing weights of a second neural network, the control circuit is further configured to:

receive input vectors for the second neural network; and

perform compute-in-memory vector-matrix multiplications between the input vectors for the second neural network and the weights of the second neural network.

8 . The non-volatile memory device of claim 1 , wherein the weights of the first neural network are stored in a first of one or more arrays of non-volatile memory cells and wherein to write the determined error indication data to the memory cells of the one or more arrays the control circuit is further configured to:

write the determined error indication data to the memory cells of the first array not storing weights of the first neural network.

9 . The non-volatile memory device of claim 1 , further comprising:

one or more memory dies each comprising one or more of the arrays, each of the arrays having a plurality of blocks of memory cell have a NAND architecture, wherein, to determine defective portions of the one or more memory, the memory control circuit is further configured to:

determine defective portions of the one or more arrays at an individual block level.

10 . The non-volatile memory device of claim 9 , wherein the memory control circuit is further configured to:

assign blocks determined to be bad to a bad block pool.

11 . The non-volatile memory device of claim 9 , wherein the weights of the first neural network are stored in a first of the one or more arrays and wherein to perform the compute-in-memory inference operation the control circuit is further configured to:

convert the written determined error indication data as input values into a first input vector; and

apply the input vector to the first array, wherein values of the first input vector are analog values.

12 . The non-volatile memory device of claim 11 , wherein the analog values of the input vector are encoded as voltage level amplitudes.

13 . The non-volatile memory device of claim 11 , wherein non-zero values of the analog values of input vector have a non-zero voltage amplitude encoded as a time duration.

14 . The non-volatile memory device of claim 9 , wherein the weights of the first neural network are stored in a first of the one or more arrays, wherein each of the blocks of non-volatile memory cells has a NAND architecture in which the memory cells are connected along word lines, and wherein to perform the compute-in-memory inference operation the control circuit is further configured to:

convert the written determined error indication data as input values into an input vector encoded as a set of bias levels; and

apply the input vector to the first array as the set of bias levels to word lines of a block of the first array.

15 . The non-volatile memory device of claim 9 , wherein the weights of the first neural network are stored in a first of the one or more arrays, wherein each of the blocks of non-volatile memory cells has a NAND architecture in which NAND strings of memory cells are connected along bit lines, and wherein to perform the compute-in-memory inference operation the control circuit is further configured to:

convert the written determined error indication data as input values into an input vector encoded as a set of bias levels; and

apply the input vector to the first array as the set of bias levels to bit lines of a block of the first array.

16 . The non-volatile memory device of claim 9 , wherein the weights of the first neural network are stored in a first of the one or more arrays, wherein each of the blocks of non-volatile memory cells has a three dimensional NAND architecture in which NAND strings extend vertically above a substrate through a plurality of horizontal word line layers, along which memory cells of the NAND strings are connected, and through a select gate layer, along which a select gate of each of the NAND strings is connected, the select gate layer having multiple individually biasable sections corresponding to sub-sets of the NAND strings of the array, and wherein to perform the compute-in-memory inference operation the control circuit is further configured to:

convert the written determined error indication data as input values into an input vector encoded as a set of bias levels; and

apply the input vector to the first array as the set of bias levels to a first plurality of the individually biasable sections of the select gate layer.

17 . The non-volatile memory device of claim 1 , further comprising:

a plurality of memory dies each comprising one or more of the arrays, wherein the weights of a first neural network are stored in an array of a first of the memory dies and the determined error indication data for all of the memory dies is written to the first of the memory dies.

18 . A method, comprising:

receiving test data on defects from a plurality of examples of a non-volatile memory die;

training a neural network using the test data on defects;

receiving a plurality of the non-volatile memory die;

programming a set of weights of the trained neural network into the plurality of the non-volatile memory die;

individually testing each of the received plurality of the non-volatile memory die to determine corresponding defect data; and

programming the corresponding determined defect data into each of the non-volatile memory dies; and

subsequent to programming a set of weights of the trained neural network into the plurality of the non-volatile memory die and programming the corresponding determined defect data into each of the non-volatile memory dies, providing the plurality of the non-volatile memory die for incorporation into a memory system.

19 . The method of claim 18 , further comprising:

subsequent providing the plurality of the non-volatile memory die for incorporation into the memory system, for one or more of the non-volatile memory die, performing memory operations, including reading and writing of data, on the memory die;

determining error indication data while performing a plurality of the memory operations;

writing the determined error indication data to the memory die;

performing a compute-in-memory inference operation with the trained neural network using the written determined error indication data and the corresponding determined defect data as input values; and

determining defective portions of the memory die based on output of the inference operation.

20 . A non-volatile memory system, comprising:

a plurality of non-volatile memory dies each comprising one or more arrays of non-volatile memory cells, a first array of a first of the of non-volatile memory dies storing a set of weights of a neural network pre-trained for determining defective for portions of the memory dies; and

a non-volatile memory controller connected to the plurality of memory dies and configured to:

perform memory operations on the plurality of memory dies, including reading and writing of data on the one or more arrays of each of the memory dies;

collect error indication data for the plurality of memory dies while performing the memory operations;

write the determined error indication data to the first array;

perform a compute-in-memory inference operation with the neural network using the written determined error indication data as input values; and

determine defective portions of the plurality of the memory dies based on the inference operation.

Assignments (4)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
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 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2024
From: LI, LIANG; TIAN, XUAN; WANG, MING; LI, YAN
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067899/0955 →
Continuity (2)
Provisional Application 63659126 · Jun 12, 2024
Related Publication 20250383960A1 · Dec 18, 2025
References Cited (23)
US 10691537B2 · Sun · 2020 [cited by examiner]
US 11183266B2 · Hulton · 2021 [cited by examiner]
US 11615003B2 · Sun · 2023 [cited by examiner]
US 11687252B2 · Li · 2023 [cited by examiner]
US 12061542B2 · Linnen · 2024 [cited by examiner]
US 12307354B2 · Zhang · 2025 [cited by examiner]
US 12456040B2 · Zhang · 2025 [cited by examiner]
US 20190073259A1 · Qin · 2019 [cited by examiner]
US 20200117539A1 · Sun · 2020 [cited by examiner]
US 20200411132A1 · Hulton · 2020 [cited by examiner]
US 20220398438A1 · Zhang · 2022 [cited by examiner]
US 20220398439A1 · Zhang · 2022 [cited by examiner]
US 20230078569A1 · Wang · 2023 [cited by examiner]
US 20230317149A1 · Joshi · 2023 [cited by examiner]
US 20230418738A1 · Linnen · 2023 [cited by examiner]
US 20250013716A1 · Filipiak · 2025 [cited by examiner]
US 20250238202A1 · Mateescu · 2025 [cited by examiner]
US 20250307344A1 · Qin · 2025 [cited by examiner]
US 20250307601A1 · Qin · 2025 [cited by examiner]
US 20250370976A1 · Sun · 2025 [cited by examiner]
US 20250383960A1 · Li · 2025 [cited by examiner]
Ansari et al., Selective Data Transfer from DRAMs for CNNs, 2018, IEEE, pp. 7-12. (Year: 2018). [cited by examiner]
U.S. Appl. No. 18/617,918, filed Mar. 27, 2024. [cited by applicant]