ML-Guided NAND Programming for Power-Loss Data Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata writing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #15Dynamics

2Reliability

If more programming pulses are applied to ensure data writing during power loss, then data integrity improves, but the programming time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvedata storage capacityVSAvoidwriting speed
Core Design Contradiction:
Quantity of substanceVSProductivity

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

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP4661007A1Fast programming scheme for power loss protection using machine learning based algorithm
Publication Date: 2025.12.10 SAMSUNG ELECTRONICS CO LTD
  • EP4661007A1 patent drawingFigure 1
  • EP4661007A1 patent drawingFigure 2
  • EP4661007A1 patent drawingFigure 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.