NAND Flash Memory Endurance via Cumulative Update Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing scale of machine learning models requires larger storage capacities, particularly for NAND flash memories, which also need to consider endurance due to frequent parameter updates during training.
Innovation Solution
An arithmetic apparatus with a non-volatile first memory for storing a model and a second memory with a smaller capacity for storing cumulative update information, where the controller executes learning processing that updates model parameters based on loss values and reflects these updates in the second memory, reducing the need for frequent rewriting of the first memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If NAND flash memory is used to store machine learning models to increase storage capacity, then storage capacity is improved, but endurance deteriorates due to frequent parameter updates during training
Solution Approach 1:
The patent divides the storage system into two segments: a first storage device (NAND flash memory) for storing the main model parameters with large capacity, and a second storage device (DRAM or SRAM) for storing update information with smaller capacity. This segmentation allows the model parameters to be stored in high-capacity non-volatile memory while keeping the frequently updated differential information in high-speed volatile memory, thus protecting the NAND flash from excessive write operations and extending its endurance.
Solution Approach 2:
The patent introduces a second storage device as an intermediary between the processing unit and the first storage device. Instead of directly updating the model parameters stored in NAND flash memory, the system stores update information (differentials) in the second storage device. This intermediary approach reduces the number of write operations to the NAND flash memory, thereby extending its endurance while maintaining the ability to perform frequent updates.
2Measurement precision
If model parameters are updated frequently during machine learning training, then model accuracy is improved, but the number of rewriting operations increases reducing memory endurance
Solution Approach 1:
The patent creates a copy of the update information in the second storage device instead of directly modifying the original model parameters in the first storage device. The second storage device stores differential information that represents the updates, and these differentials are applied to the model parameters only when needed. This copying mechanism allows frequent update calculations to be performed without proportionally increasing the number of physical write operations to the NAND flash memory.
Solution Approach 2:
The patent implements periodic updating of the model parameters in the first storage device. Instead of updating parameters after every training iteration, the system accumulates update information in the second storage device and periodically applies these updates to the main model parameters. This periodic action reduces the frequency of write operations to NAND flash memory while still achieving model convergence through accumulated updates.
3Reliability
If cumulative update information is stored in a smaller second memory, then the first memory is rewritten fewer times extending endurance, but access speed may be affected
Solution Approach 1:
The patent applies local quality by assigning different characteristics to different storage devices based on their usage requirements. The first storage device (NAND flash) provides large capacity for model parameters, while the second storage device (DRAM/SRAM) provides high-speed access for update information. By matching the storage characteristics to the specific needs of different data types (model parameters vs. update differentials), the system achieves both extended endurance and maintained access speed.
Data Source
AI summary
According to one embodiment, an arithmetic apparatus includes a non-volatile first memory, a second memory, and a controller. The first memory stores a model to be trained. The second memory has a smaller storage capacity than the first memory. The controller executes learning processing that updates a first parameter of the model based on a loss value obtained by inputting training data into the model stored in the first memory, and stores cumulative update information indicating a difference of the first parameter before and after the update in the second memory. In addition, the controller executes the learning processing using a second parameter in which the cumulative update information stored in the second memory is reflected in the first parameter read from the model stored in the first memory, and stores a difference between a third parameter obtained by updating the second parameter and the first parameter, in the second memory as the cumulative update information.


