Hierarchical Reinforcement Learning for NAND Flash Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NAND flash memory programming algorithms face significant challenges due to noise and interference, leading to unreliable data storage and reduced performance, as they struggle to precisely control cell voltage levels and predict the outcome of programming pulses.

Innovation Solution

The implementation of a hierarchical reinforcement learning (HRL) method using AI agents that learn to optimize programming actions within the NAND flash environment, breaking down the task into smaller subtasks and utilizing deep neural networks to generalize across actions and states, thereby improving programming reliability and speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multi-level cell is used to store several bits per flash cell, then storage capacity is improved, but reliability deteriorates due to decreased dynamic voltage range and increased noise susceptibility

Engineering Contradiction:
Improvestorage capacityVSAvoidreliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the programming task into hierarchical levels (block level, word line level, and cell level), with each level having its own agent that makes decisions independently. This segmentation allows the system to handle the complexity of multi-level cell programming by breaking it down into manageable sub-tasks, thereby maintaining reliability while achieving high storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms where agents at each hierarchical level receive observations about the current state of memory cells and adjust their programming actions accordingly. The cell-level agent observes voltage levels and programming outcomes, while word line and block level agents receive feedback about overall programming progress and noise conditions, enabling adaptive decision-making that maintains reliability in multi-level cell environments.

Inventive Principle:
Principle #23Feedback

2Device complexity

If traditional programming algorithms are used, then device complexity is kept simple, but programming quality deteriorates due to inability to handle noise and interference

Engineering Contradiction:
Improvealgorithm complexityVSAvoidprogramming quality
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent transforms the static programming algorithm into a dynamic system where agents continuously learn and adapt their policies based on observed states and outcomes. The reinforcement learning agents update their programming strategies in real-time based on feedback about noise conditions, inter-cell interference, and programming results, enabling the system to handle complex noise environments while maintaining manageable algorithmic complexity through hierarchical decomposition.

Inventive Principle:
Principle #15Dynamics

3Reliability

If hierarchical reinforcement learning is implemented, then programming reliability is improved, but device complexity increases due to multiple agents and hierarchical structure

Engineering Contradiction:
Improveprogramming reliabilityVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the programming task into hierarchical levels (block level, word line level, and cell level), with each level having its own agent that makes decisions independently. This segmentation allows the system to handle the complexity of multi-level cell programming by breaking it down into manageable sub-tasks, thereby maintaining reliability while achieving high storage capacity.

Inventive Principle:
Principle #1Segmentation

4Productivity

If reinforcement learning agents are used to optimize programming actions, then programming speed is improved, but loss of time increases during the learning phase

Engineering Contradiction:
Improveprogramming speedVSAvoidlearning time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary learning actions during manufacturing or initialization phases, where reinforcement learning agents train on simulated or actual memory devices to develop optimized programming policies. Once trained, these policies are stored and reused during normal operation, eliminating the need for continuous learning during production. This preliminary action approach transfers the time cost to an initial setup phase, enabling fast programming speed during actual use.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11481624B2Reinforcement learning pulse programming
Publication Date: 2022.10.25 SAMSUNG ELECTRONICS CO LTD
  • US11481624B2 patent drawing
  • US11481624B2 patent drawing
  • US11481624B2 patent drawing

AI summary

A NAND memory device that includes a plurality of blocks, each block comprises a plurality of wordlines and an associated agent, and each wordline comprises a plurality of cells and a plurality of voltage levels and an associated agent, and each voltage level comprises an agent. A method of programming the NAND memory device includes receiving, by an agent at a given rank in the plurality of ranks, parameters from a higher rank agent in the hierarchy of ranks and a state from the memory device; determining, by the agent, an action from the parameters and the state; passing the action as parameters to a lower rank agent in the hierarchy of ranks; and updating the agent based on a reward output by the agent, wherein the reward measures a difference between the target voltage levels of the cells and the actual voltage levels programmed to the cells.