IP Library Granted Patent US 12,051,482
Granted Patent B2
US 12,051,482 · App. 17/847,080 · Granted Jul 30, 2024

Data storage device with noise injection

Inventors: Daniel Joseph Linnen (Naperville, IL); Kirubakaran Periyannan (Saratoga, CA); Ramanathan Muthiah (Bangalore, IN); Grant Chapman Mackey (Laguna Hills, CA)
Assignee: Sandisk Technologies, Inc.
G11C7/1039G06N3/063G11C7/1009G11C7/1096G11C7/12
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,051,482
App. No.
17/847,080
Granted
Jul 30, 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 (87)

1. A device formed on a die, comprising:

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

a first latch and a second latch, each formed on the die; and

processing circuitry formed on the die configured to:

read data from the NVM array into the first latch;

obtain stochastic data;

load the stochastic data into the second latch;

combine the stochastic data in the second latch with a shifted version of itself to obtain modified stochastic data;

combine the read data in the first latch with the modified stochastic data in the second latch to obtain noisy data; and

perform at least one data processing operation using the noisy data.

2. The device of claim 1 , wherein the data is neural network data and the data processing operation is a neural network operation.

3. The device of claim 1 , wherein the stochastic data is random or pseudorandom data.

4. The device of claim 1 , wherein the processing circuitry is configured to combine the read data in the first latch with the modified stochastic data in the second latch by XORing the read data and the stochastic data.

5. The device of claim 1 , wherein the processing circuitry is further configured to:

scramble the data before the data is stored in the NVM array so that the data read from the first latch is scrambled data; and

unscramble the noisy data before performing the at least one data processing operation.

6. 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.

7. A device formed on a die, comprising:

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

a first latch and a second latch, each formed on the die; and

processing circuitry formed on the die configured to:

read a bitmap from the NVM array into the first latch, the bitmap comprising a plurality of pixels each having a same bit length;

load a bitmap mask into the second latch having bit strings that each have the same bit length as the pixels in the first latch, wherein a plurality of the bit strings comprise masking bit strings that are aligned with randomly selected pixels in the bitmap;

combine the bitmap in the first latch with the bitmap mask in the second latch using an AND operation or an exclusive-OR (XOR) operation to generate a modified bitmap so that the bits of the pixels in the modified bitmap that correspond to the randomly selected pixels are all set to a particular binary value, whereas the bits in all other pixels in the modified bitmap remain unchanged from the bitmap; and

perform at least one image processing operation using the modified bitmap.

8. The device of claim 7 , wherein the processing circuitry is configured to generate the bitmap mask by being further configured to:

determine the bit length of the pixels in the bitmap;

generate a pixel mask that is set to all 1s and has the same bit length; and

randomly distribute one or more instances of the pixel mask within an initial bitmap where all pixels are initially set to all 0s.

9. The device of claim 7 , wherein the processing circuitry is configured to generate the bitmap mask by being further configured to:

determine the bit length of the pixels in the bitmap;

generate a pixel mask that is set to all 0s and has the same bit length; and

randomly distribute one or more instances of the pixel mask within an initial bitmap where all pixels are initially set to all 1s.

10. A device formed on a die, comprising:

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

a latch formed on the die; and

processing circuitry formed on the die configured to:

load data into the latch;

determine a minimum margin parameter to perform a selected latch operation on the data in the latch without margin-based errors;

initiate the selected latch operation using the data in the latch;

terminate the selected latch operation before the minimum margin parameter has been achieved to inject errors into the data to generate noisy data; and

use the noisy data in a machine learning procedure.

11. The device of claim 10 , wherein the minimum margin parameter is a threshold amount of time to complete the latch operation without errors and wherein the processing circuitry is configured to terminate the selected latch operation before the threshold amount of time has elapsed.

12. The device of claim 10 , wherein the minimum margin parameter is a threshold voltage to be applied to transistors within circuitry configured to perform the selected latch operation and wherein the processing circuitry is configured to terminate the selected latch operation before the threshold voltage has been applied.

13. The device of claim 10 , wherein the minimum margin parameter is a threshold current to be applied to transistors within circuitry configured to perform the selected latch operation and wherein the processing circuitry is configured to terminate the selected latch operation before the threshold current has been applied.

14. The device of claim 10 , wherein the selected latch operation is at least one of: an AND operation, a XOR operation, a XNOR operation, or a latch-to-latch transfer.

15. The device of claim 10 , wherein the selected latch operation comprises at least one of a bitline sensing or bitline programming operation and wherein the minimum margin parameter comprises one or more of a bitline sensing time, a bitline sensing voltage, a bitline sensing current, a bitline charging time, a bitline charging voltage, or a bitline charging current.

16. The device of claim 10 , wherein the die is a multi-planar die and wherein the latch is on a first plane of the die and the selected latch operation comprises a transfer from the latch on the first plane of the die to a latch or bitline on a second plane of the die.

17. The device of claim 1 , wherein the processing circuitry is further configured to combine the stochastic data with the shifted version of itself using one or more of an AND operation or an OR operation.

18. The device of claim 1 , wherein the processing circuitry is further configured to combine the stochastic data with the shifted version of itself to achieve a programmed percentage of 1s in the modified stochastic data.

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

reading data from the NVM array into the first latch;

obtaining stochastic data;

loading the stochastic data into the second latch;

combining the stochastic data in the second latch with a shifted version of itself to obtain modified stochastic data;

combining the read data in the first latch with the modified stochastic data in the second latch to obtain noisy data; and

performing at least one data processing operation using the noisy data.

20. The method of claim 19 , wherein the data is neural network data and the data processing operation is a neural network operation.

21. The method of claim 19 , wherein the stochastic data is random or pseudorandom data.

22. The method of claim 19 , wherein combining the read data in the first latch with the modified stochastic data in the second latch comprises XORing the read data and the modified stochastic data.

23. The method of claim 19 , further comprising:

scrambling the data before the data is stored in the NVM array so that the data read from the first latch is scrambled data; and

unscrambling the noisy data before performing the at least one data processing operation.

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

means for reading data from the NVM array into the first latch;

means for obtaining stochastic data;

means for loading the stochastic data into the second latch;

means for combining the stochastic data in the second latch with a shifted version of itself to obtain modified stochastic data;

means for combining the read data in the first latch with the modified stochastic data in the second latch to obtain noisy data; and

means for performing at least one data processing operation using the noisy data.

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

reading a bitmap from the NVM array into the first latch, the bitmap comprising a plurality of pixels each having a same bit length;

loading a bitmap mask into the second latch having bit strings that each have the same bit length as the pixels in the first latch, wherein a plurality of the bit strings comprise masking bit strings that are aligned with randomly selected pixels in the bitmap;

combining the bitmap in the first latch with the bitmap mask in the second latch using an AND operation or an exclusive-OR (XOR) operation to generate a modified bitmap so that the bits of the pixels in the modified bitmap that correspond to the randomly selected pixels are all set to a particular binary value, whereas the bits in all other pixels in the modified bitmap remain unchanged from the bitmap; and

performing at least one image processing operation using the modified bitmap.

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

loading data into the latch;

determining a minimum margin parameter to perform a selected latch operation on the data in the latch without margin-based errors;

initiating the selected latch operation using the data in the latch;

terminating the selected latch operation before the minimum margin parameter has been achieved to inject errors into the data to generate noisy data; and

using the noisy data in a machine learning procedure.

27. The method of claim 26 , wherein the minimum margin parameter is a threshold amount of time to complete the latch operation without errors and wherein the selected latch operation is terminated before the threshold amount of time has elapsed.

28. The method of claim 26 , wherein the minimum margin parameter is a threshold voltage to be applied to transistors within circuitry configured to perform the selected latch operation and wherein the selected latch operation is terminated before the threshold voltage has been applied.

29. The method of claim 26 , wherein the minimum margin parameter is a threshold current to be applied to transistors within circuitry configured to perform the selected latch operation and wherein the selected latch operation is terminated before the threshold current has been applied.

30. The method of claim 26 , wherein the selected latch operation is one or more of an AND operation, a XOR operation, a XNOR operation, or a latch-to-latch transfer.

31. The method of claim 26 , wherein the selected latch operation comprises one or more of a bitline sensing or bitline programming operation and wherein the margin parameter comprises one or more of a bitline sensing time, a bitline sensing voltage, a bitline sensing current, a bitline charging time, a bitline charging voltage, and a bitline charging current.

32. The method of claim 26 , wherein the die is a multi-planar die and wherein the latch is on a first plane of the die and the selected latch operation comprises transferring data from the latch on the first plane of the die to a latch or bitline on a second plane of the die.

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; MACKEY, GRANT CHAPMAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060280/0872 →
Cited By (1)
US 12,419,602