Non-Volatile Memory Noise Injection for DNN Robustness Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep learning neural networks (DNNs) face challenges in effectively testing their robustness on noisy data and generating augmented datasets for training, as existing methods lack efficient mechanisms for injecting controlled noise into data sets stored in non-volatile memory arrays.

Innovation Solution

A device and method that include a non-volatile memory array with processing circuitry to read data using a specific read voltage, inject noise, and adjust the voltage to achieve a target amount of noise, utilizing techniques such as read voltage adjustments, XORing with stochastic data, and simulating dead CCD pixels to degrade data sets for testing and augmentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If read voltage is adjusted to inject noise into data, then noise injection capability is improved, but data accuracy deteriorates

Engineering Contradiction:
Improvenoise injection capabilityVSAvoiddata accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The read voltage is dynamically adjusted from its normal operating level to a modified level that induces controlled noise. The voltage adjustment is temporary and reversible, allowing the system to switch between accurate reading mode and noise injection mode as needed for different operational requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the physical parameter of read voltage to achieve noise injection. By modifying the voltage level applied during data retrieval from non-volatile memory, the system introduces controlled errors into the data stream, enabling robustness testing and dataset augmentation without permanently altering the stored data.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If noise is injected into data sets, then robustness testing capability is improved, but data integrity deteriorates

Engineering Contradiction:
Improverobustness testing capabilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Noise is injected into data sets in advance before they are used for training or testing neural networks. This preliminary degradation of data allows researchers to evaluate model robustness and generate augmented training datasets without requiring separate physical test environments or additional hardware modifications.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The read voltage adjustment serves as an intermediary mechanism between the storage system and the data processing pipeline. By introducing noise at the retrieval stage rather than during data generation or transmission, the system can preserve original data integrity in storage while providing degraded versions for testing purposes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If read voltage is modified to degrade data, then dataset augmentation capability is improved, but data quality deteriorates

Engineering Contradiction:
Improvedataset augmentation capabilityVSAvoiddata quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system creates degraded copies of original data by modifying read voltage during data retrieval. These copied versions contain controlled noise and errors that make them suitable for training more robust neural networks, while the original high-quality data remains intact in storage for other purposes.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240311023A1Data storage device with noise injection
Publication Date: 2024.09.19 SANDISK TECHNOLOGIES LLC
  • US20240311023A1 patent drawing
  • US20240311023A1 patent drawing
  • US20240311023A1 patent drawing

AI summary

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