IP Library Granted Patent US 12,001,693
Granted Patent B2
US 12,001,693 · App. 17/847,068 · Granted Jun 4, 2024

Data storage device with noise injection

Inventors: Daniel Joseph Linnen (Naperville, IL); Kirubakaran Periyannan (Saratoga, CA); Ramanathan Muthiah (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0628G06F3/0604G06F3/0619G06F3/0679
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,001,693
App. No.
17/847,068
Granted
Jun 4, 2024
Kind
B2
Abstract

Noise injection procedures implemented on the die of a non-volatile memory (NVM) array are disclosed. In one example, noise is injected into data by adjusting read voltages to induce bit flips while using feedback to achieve a target amount of information degradation. In another example, random data is iteratively combined with itself to achieve a target percentage of random 1s or 0s, then the random data is combined with data read from the NVM array. In other examples, pixels are randomly zeroed out to emulate dead charge coupled device (CCD) pixels. In still other examples, the timing, voltage, and/or current values used within circuits while transferring data to/from latches or bitlines are adjusted outside their specified margins to induce bit flips to inject noise into the data. The noise-injected data may be used, for example, for dataset augmentation or for the testing of deep neural networks (DNNs).

Claims (73)

1. A device formed on a die, comprising:

a non-volatile memory (NVM) array formed on the die; and

processing circuitry formed on the die and configured to:

determine a noise-reducing read voltage level that reduces an amount of noise occurring within data read from the NVM array;

set a first read voltage level to a level different from the noise-reducing read voltage level to add noise into data to be read from the NVM array, wherein the added noise is greater than an amount of noise occurring using the noise-reducing read voltage level;

read data from the NVM array using the first read voltage level set to add noise into the data to obtain a noisy version of the data;

obtain corresponding data without added noise;

compare the corresponding data with the noisy version of the data to determine an amount of noise added to the data by using the first read voltage level;

receive a value specifying an amount of noise to be added into additional data read from the NVM array;

adjust the first read voltage level to a second read voltage level based on the received value; and

read the additional data from the NVM array using the second re ad voltage level to add the specified amount of noise into the additional data read from the NVM array.

2. The device of claim 1 , wherein the processing circuitry is further configured to compare the corresponding data with the noisy version of the data by XORing the corresponding data with the noisy version of the data to obtain a count of bit differences.

3. The device of claim 1 , wherein the processing circuitry is further configured to obtain the corresponding data by being further configured to:

set the read voltage level to a third read voltage level selected to avoid adding noise; and

re-read the same data from the NVM array to obtain an alternate version of the data that has no added noise.

4. The device of claim 3 , wherein the processing circuitry is further configured to:

obtain a correct version of the data;

compare the correct version of the data to the alternate version of the data to obtain a second value that is representative of an amount of preexisting noise in the data; and

further adjust the third read voltage level based on the second value.

5. The device of claim 1 , wherein the data is neural network data, and wherein the processing circuitry is further configured to use the additional data in a neural network.

6. The device of claim 5 , wherein the processing circuitry is further configured to use the additional data in the neural network as an augmented training data set to train or test the neural network to recognize images.

7. The device of claim 1 , wherein the NVM array comprises at least one of a NAND array, a NOR array, phase-change memory (PCM) array, magneto-resistive random access memory (MRAM) arrays, a resistive random access memory (ReRAM) array, or a 3D XPoint (3DXP) array.

8. The device of claim 1 , wherein the processing circuitry is configured to determine the noise-reducing read voltage level by being further configured to:

determine a noise-minimizing read voltage level that minimizes the amount of noise occurring within the data read from the NVM array.

9. The device of claim 1 , wherein the processing circuitry is further configured to receive the value specifying the amount of noise by being further configured to:

receive a value specifying a percentage of data degradation.

10. A method for use by a device formed on a die that includes a non-volatile memory (NVM) array, the method comprising:

determining a noise-reducing read voltage level that reduces an amount of noise occurring within data read from the NVM array;

setting a first read voltage level to a level different from the noise-reducing read voltage level to add noise into data to be read from the NVM array, wherein the added noise is greater than an amount of noise occurring using the noise-reducing read voltage level;

reading data from the NVM array using the first read voltage level set to add noise into the data to obtain a noisy version of the data;

obtaining corresponding data without added noise;

comparing the corresponding data with the noisy version of the data to determine an amount of noise added to the data by using the first read voltage level;

receiving a value specifying an amount of noise to be added into additional data read from the NVM array;

adjusting the first read voltage level to a second read voltage level based on the received value; and

reading the additional data from the NVM array using the second read voltage level to add the specified amount of noise into the additional data read from the NVM array.

11. The method of claim 10 , wherein comparing the corresponding data with the noisy version of the data comprises XORing the corresponding data with the noisy version of the data to obtain a count of bit differences.

12. The method of claim 10 , wherein obtaining the corresponding data comprises:

setting the read voltage to a level third read voltage selected to avoid adding noise; and

re-reading the same data from the NVM array to obtain an alternate version of the data that has no added noise.

13. The method of claim 12 , further comprising:

obtaining a correct version of the data;

comparing the correct version of the data to the alternate version of the data to obtain a second value that is representative of an amount of preexisting noise in the data; and

further adjusting the third read voltage level based on the second value.

14. The method of claim 12 , further comprising:

obtaining an indication of an amount of preexisting noise in the data; and

adjusting the third read voltage level based on the amount of preexisting noise.

15. The method of claim 14 , wherein the indication of the amount of preexisting noise in the data is based on a count of errors corrected via error correction coding (ECC) in the data that is re-read.

16. The method of claim 14 , wherein the indication of the amount of preexisting noise in the data is based on a count of digital-to-analog (DAC) operations performed during low-density parity-check code (LDPC) decoding of the data that is re-read.

17. The method of claim 14 , wherein the indication of the amount of preexisting noise in the data is based on an amount of change in a voltage threshold (VT) between an initial write verification read voltage level and a current read voltage level.

18. The method of claim 10 , wherein determining the noise-reducing read voltage level comprises:

determining a noise-minimizing read voltage level that minimizes the amount of noise occurring within the data read from the NVM array.

19. The method of claim 10 , wherein receiving the value specifying the amount of noise comprises receiving a value specifying a percentage of data degradation.

20. A device formed on a die, comprising:

a memory formed on the die; and

processing circuitry formed on the die and configured to:

determine a noise-reducing read voltage level that reduces an amount of noise occurring within data read from the memory;

set a first read voltage level to a level different from the noise-reducing read voltage level to add noise into data to be read from the memory, wherein the added noise is greater than an amount of noise occurring using the noise-reducing read voltage level;

read data from the memory using the first read voltage level set to add noise into the data to obtain a noisy version of the data;

obtain corresponding data without added noise;

compare the corresponding data with the noisy version of the data to determine an amount of noise added to the data by using the first read voltage level;

receive a value specifying an amount of noise to be added into additional data read from the memory;

adjust the first read voltage level to a second read voltage level based on the received value; and

read the additional data from the NVM array using the second read voltage level to add the specified amount of noise into the additional data read from the memory.

21. The device of claim 20 , wherein the memory is a volatile memory.

22. An apparatus for use by a device formed on a die that includes a non-volatile memory (NVM) array, the apparatus comprising:

means for determining a noise-reducing read voltage level that reduces an amount of noise occurring within data read from the NVM array;

means for setting a first read voltage level to a level different from the noise-reducing read voltage level to add noise into data to be read from the NVM array, wherein the added noise is greater than an amount of noise occurring using the noise-reducing read voltage level;

means for reading data from the NVM using the first read voltage level set to add noise into the data to obtain a noisy version of the data;

means for obtaining corresponding data without added noise;

means for comparing the corresponding data with the noisy version of the data to determine an amount of noise added to the data by using the first read voltage level;

means for receiving a value specifying an amount of noise to be added into additional data read from the NVM array;

means for adjusting the read voltage level to a second read voltage level based on the received value; and

means for reading the additional data from the NVM array using the second read voltage level to add the specified amount of noise into the additional data read from the NVM array.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: LINNEN, DANIEL JOSEPH; PERIYANNAN, KIRUBAKARAN; MUTHIAH, RAMANATHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060280/0858 →
Continuity (1)
Related Publication 20230418481A1 · Dec 28, 2023