ML-Guided NAND Programming for Power-Loss Data Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face challenges in minimizing the number of programming pulses used to write data during power loss events, particularly when using electrolytic capacitors or super-capacitors as backup power supplies, which can lead to increased programming pulses and inefficient data handling, and the need for a more efficient power loss protection mechanism.
Innovation Solution
A machine learning-based programming scheme is employed to determine the number of programming pulses required for writing data to non-volatile memory, optimizing the writing process by using a machine learning model to decide whether to continue writing to a first word line or transfer data to a second word line based on the number of unprogrammed cells in the first and second word line, and the need for a more efficient power loss protection mechanism.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional programming schemes are used to write data during power loss events, then data can be written to non-volatile memory, but the number of programming pulses increases and power consumption increases
Solution Approach 1:
The patent changes the programming parameter (number of pulses per word line) dynamically based on the number of unprogrammed cells. When unprogrammed cells exceed a threshold, the system switches from programming mode to data transfer mode, optimizing power usage and writing efficiency during power loss events
Solution Approach 2:
The system dynamically adjusts the writing strategy based on real-time conditions (number of unprogrammed cells). It transitions from a static programming approach to a dynamic approach that switches between programming and data transfer operations based on the current state of the memory device
2Reliability
If more programming pulses are applied to ensure data writing during power loss, then data integrity improves, but the programming time increases
Solution Approach 1:
The patent segments the data writing process into two distinct phases: programming phase (when unprogrammed cells are below threshold) and data transfer phase (when unprogrammed cells exceed threshold). This segmentation allows the system to ensure data integrity through programming when necessary while quickly transferring data when capacity is available, optimizing both reliability and time
3Quantity of substance
If data is written to the first word line until full capacity, then data storage capacity is maximized, but the number of programming pulses increases
Solution Approach 1:
The system implements feedback control by continuously monitoring the number of unprogrammed cells in the first word line. When the count exceeds a predefined threshold, the system provides feedback to switch from programming mode to data transfer mode, ensuring optimal balance between storage capacity utilization and writing speed during power loss events
Data Source
Figure 1
Figure 2
Figure 3
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.