Power-Loss Flash Programming Using ML Pulse Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices with backup power supplies using electrolytic capacitors or super-capacitors face increased programming pulses during power loss, which can be costly and inefficient, necessitating a faster writing scheme to minimize pulses.
Innovation Solution
A machine learning-based programming scheme is employed to determine the number of programming pulses needed for writing data to non-volatile memory, optimizing the use of backup power by minimizing the number of pulses required.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a backup power supply is used to flush data from volatile memory to non-volatile memory during power loss, then data protection is improved, but the number of programming pulses increases causing inefficiency
Solution Approach 1:
The patent applies preliminary action by estimating the number of programming pulses required before actually executing the data flush operation. The machine learning model predicts pulse requirements in advance, allowing the system to prepare appropriately and optimize the subsequent writing process, thereby improving programming efficiency while maintaining data protection.
2Productivity
If the number of programming pulses is reduced to improve efficiency, then productivity is improved, but data protection reliability may be compromised
Solution Approach 1:
The patent implements feedback by using a machine learning model that continuously learns from actual programming outcomes. The system monitors the relationship between applied programming pulses and successful data writes, using this feedback to refine pulse estimation accuracy. This ensures that sufficient pulses are always allocated to maintain data protection while optimizing for efficiency.
Solution Approach 2:
The patent applies parameter changes by dynamically adjusting programming parameters based on machine learning predictions. The system modifies pulse count, pulse width, and voltage levels according to the specific conditions predicted by the ML model, allowing optimization of both efficiency and reliability for each individual write operation.
Data Source
AI summary
A storage device, including a volatile memory; a non-volatile memory; and a storage controller: wherein, based on detecting a power loss corresponding to the storage device, the storage controller is configured to: obtain a word stored in the volatile memory; write the word to a first word line; compare a number of unprogrammed cells to a first threshold number and a second threshold number, wherein the unprogrammed cells correspond to remainder data; based on determining that the number of unprogrammed cells is less than or equal to the first threshold number and greater than the second threshold number, determine whether to continue writing the word to the first word line by providing information about the first word line to a machine learning model; and based on determining not to continue writing the word to the first word line, write the remainder data to a second word line.


