IP Library Granted Patent US 11,436,482
Granted Patent B2
US 11,436,482 · App. 16/174,014 · Granted Sep 6, 2022

Storing neural net works and weights for neural networks

Inventor: Minghai Qin (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G06N3/08G06N3/10
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,436,482
App. No.
16/174,014
Granted
Sep 6, 2022
Kind
B2
Abstract

Systems and methods are disclosed for storing neural networks and weights for neural networks. In some implementations, a method is provided. The method includes storing a plurality of weights of a neural network comprising a plurality of nodes and a plurality of connections between the plurality of nodes. Each weight of the plurality of weights is associated with a connection of the plurality of connections. The neural network comprises a binarized neural network. The method also includes receiving input data to be processed by the neural network. The method further includes determining whether a set of weights of the plurality of weights comprises one or more errors. The method further includes refraining from using the set of weights to process the input data using the neural network in response to determining that the set of weights comprises the one or more errors.

Claims (59)

1. A method, comprising:

storing a plurality of weights of a neural network comprising a plurality of nodes and a plurality of connections between the plurality of nodes, wherein:

each weight of at least some of the plurality of weights is associated with a connection of the plurality of connections; and

the neural network comprises a binarized neural network;

receiving input data to be processed by the neural network;

performing a parity check to determine whether there is one or more errors in one or more weights in a set of weights of the plurality of weights, wherein the set of weights comprises multiple weights, and the multiple weights share the parity check; and

selectively refraining from using the set of weights to process the input data using the neural network in response to determining that the set of weights comprises the one or more errors.

2. The method of claim 1 , further comprising:

using the set of weights to process the input data using the neural network in response to determining that the set of weights does not comprises the one or more errors.

3. The method of claim 1 , wherein each weight of the plurality of weights comprises one of two values.

4. The method of claim 1 , wherein:

the set of weights are associated with a filter; and

the filter is configured to generate a feature map.

5. The method of claim 4 , wherein refraining from using the set of weights comprises:

refraining from generating the feature map.

6. The method of claim 4 , wherein refraining from using the set of weights comprises:

ignoring the feature map generated by the filter.

7. The method of claim 1 , wherein determining whether the set of weights of the plurality of weights comprises the one or more errors is based on a single parity check.

8. The method of claim 7 , wherein:

the set of weights comprises multiple weights; and

the single parity check is shared among the multiple weights.

9. The method of claim 1 , further comprising:

constructing the neural network based on a structure of the neural network, wherein the structure of the neural network indicates interconnections between the plurality of nodes.

10. The method of claim 1 , further comprising:

receiving training data; and

training the neural network based on the training data, wherein the plurality of weights are generated during the training of the neural network.

11. The method of claim 1 , wherein the plurality of weights are stored on a resistive non-volatile memory.

12. A device, comprising:

a network interface; and

a processing device configured to:

receive, via the network interface, a plurality of weights of a neural network, wherein:

the neural network comprises a plurality of nodes and a plurality of connections between the plurality of nodes;

each weight of at least some of the plurality of weights is associated with a connection of the plurality of connections; and

each weight of at least some of the plurality of weights comprises one of two values;

perform a parity check to determine whether there is one or more errors in one or more weights in a set of weights of the plurality of weights, wherein the set of weights comprises multiple weights, and the multiple weights share the parity check; and

selectively refrain from using the set of weights to process input data using the neural network in response to determining that the set of weights comprises the one or more errors.

13. The device of claim 12 , wherein the processing device is further configured to:

use the set of weights to process the input data using the neural network in response to determining that the set of weights does not comprises the one or more errors.

14. The device of claim 12 , wherein the neural network comprises a binarized neural network.

15. The device of claim 12 , wherein:

the set of weights are associated with a filter; and

the filter is configured to generate a feature map.

16. The device of claim 15 , wherein the processing device is further configured to, in refraining from using the set of weights:

refrain from generating the feature map.

17. The device of claim 15 , wherein the processing device is further configured to, in refraining from using the set of weights:

ignore the feature map generated by the filter.

18. The device of claim 12 , wherein determining whether the set of weights of the plurality of weights comprises the one or more errors is based on a single parity check.

19. The device of claim 18 , wherein:

the set of weights comprises multiple weights; and

the single parity check is shared among the multiple weights.

20. An apparatus, comprising:

a processing device configured to:

store a plurality of weights of a neural network comprising a plurality of nodes and a plurality of connections between the plurality of nodes, wherein:

each weight of the plurality of weights is associated with a connection of the plurality of connections; and

the neural network comprises a binarized neural network;

determine whether a set of weights of the plurality of weights comprises one or more errors based on a parity check, wherein:

the set of weights comprises multiple weights; and

the multiple weights share the parity check; and

selectively refrain from using the set of weights to process input data using the neural network in response to determining that the set of weights comprises the one or more errors.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
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 Oct 29, 2018
From: QIN, MINGHAI
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047344/0788 →