IP Library Granted Patent US 10,552,251
Granted Patent B2
US 10,552,251 · App. 15/839,521 · Granted Feb 4, 2020

Storage of neural networks

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 10,552,251
App. No.
15/839,521
Granted
Feb 4, 2020
Kind
B2
Abstract

Disclosed include a device and a method for storing a neural network. The device includes a plurality of memory cells configured to store weights of the neural network. The plurality of memory cells may include one or more faulty cells. The device further includes a processor coupled to the plurality of memory cells. The processor is configured to construct the neural network based on a structure of the neural network and a subset of the weights stored by the plurality of memory cells. The subset of the weights may exclude another subset of the weights stored by one or more memory cells comprising the one or more faulty cells.

Claims (47)

1. A device comprising:

a plurality of memory cells configured to store weights of a neural network, the plurality of memory cells comprising one or more faulty cells; and

a processor coupled to the plurality of memory cells, the processor configured to:

construct a neural network based on a stored structure of the neural network and a subset of the weights stored by a subset of the plurality of memory cells, without another subset of the weights stored by one or more memory cells comprising the one or more faulty cells.

2. The device of claim 1 , wherein the plurality of memory cells comprise one of resistive memory cells and phase change memory cells.

3. The device of claim 1 , wherein the one or more faulty cells comprise one or more stuck-at-fault cells.

4. The device of claim 1 , wherein the processor is configured to:

perform a cyclic redundancy check on the plurality of memory cells, and

detect the one or more faulty cells from the plurality of memory cells based on the cyclic redundancy check.

5. The device of claim 1 , wherein the processor is configured to:

construct the neural network by substituting zero for the another subset of the weights stored by the one or more memory cells comprising the one or more faulty cells.

6. The device of claim 5 , wherein the processor is configured to:

construct the neural network by substituting the zero for the another subset of the weights stored by the one or more memory cells, in response to determining that a ratio between a number of the one or more faulty cells and a number of the plurality of memory cells is less than a predetermined threshold.

7. The device of claim 1 , wherein the processor is configured to:

retrain the weights stored by the plurality of memory cells, in response to detecting the one or more faulty cells.

8. The device of claim 1 , wherein the processor is configured to:

retrain the another subset of the weights stored by the one or more memory cells and bypass retraining the subset of the weights stored by the subset of the plurality of memory cells, in response to detecting the one or more faulty cells.

9. The device of claim 1 , wherein the plurality of memory cells are non-erasable.

10. The device of claim 1 , wherein the processor is further configured to:

receive input data indicating an image, audio, or a combination of the image and the audio, and

determine a feature in the input data according to the neural network constructed based on the stored structure of the neural network and the subset of the weights stored by the subset of the plurality of memory cells.

11. The device of claim 1 , wherein the stored structure of the neural network is stored by a first memory device, and the weights are stored by the plurality of memory cells of a second memory device different from the first memory device.

12. The device of claim 1 , wherein the processor is configured to bypass error correction code processing while constructing the neural network without the another subset of the weights stored by the one or more memory cells comprising the one or more faulty cells.

13. A device comprising:

a plurality of memory cells configured to store weights of a neural network, each weight stored by a corresponding vector of memory cells of the plurality of memory cells, each vector associated with a corresponding indicator indicative of whether the vector stores an incorrect weight; and

a processor coupled to the plurality of memory cells, the processor configured to:

detect a vector of memory cells of the plurality of memory cells storing the incorrect weight based on the corresponding indicator associated with the detected vector,

substitute a default value for the incorrect weight stored by the detected vector, and

construct the neural network based on the substituted default value.

14. The device of claim 13 , wherein each indicator comprises a single bit.

15. The device of claim 13 , wherein the processor is further configured to:

perform a cyclic redundancy check on the detected vector of the memory cells and the corresponding indicator associated with the detected vector; and

detect whether the detected vector of the memory cells stores the incorrect weight based on the cyclic redundancy check.

16. The device of claim 13 , wherein each indicator indicates whether a corresponding cell is a stuck-at-fault cell.

17. The device of claim 13 , wherein the plurality of memory cells are memory cells of a resistive non-volatile memory device.

18. The device of claim 13 , wherein the processor is configured to:

construct the neural network by substituting the default value, in response to determining that a ratio between a number of memory cells storing incorrect weights and a number of the plurality of memory cells is less than a predetermined threshold.

19. A method comprising:

detecting a subset of a plurality of memory cells, the subset of the plurality of memory cells including stuck-at-fault cells;

substituting a default value for a set of weights of a neural network, the set of the weights stored at least in part on the stuck-at-fault cells; and

constructing the neural network based on a stored structure of the neural network, another set of the weights of the neural network stored by another subset of the plurality of memory cells, and the substituted default value.

20. The method of claim 19 , further comprising:

substituting the default value for the set of the weights, in response to determining that a ratio between a number of the stuck-at-fault cells and a number of the plurality of memory cells is less than a predetermined threshold.

21. A device comprising:

means for detecting a subset of a plurality of memory cells, the subset of the plurality of memory cells including stuck-at-fault cells;

means for substituting a default value for a set of weights of a neural network, the set of the weights stored by the stuck-at-fault cells; and

means for constructing the neural network based on a stored structure of the neural network, another set of the weights of the neural network stored by another subset of the plurality of memory cells, and the substituted default value.

Assignments (10)
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 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2017
From: QIN, MINGHAI; VUCINIC, DEJAN; SUN, CHAO
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 044475/0113 →