Non-Volatile Memory Programming Completion Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-volatile storage systems, particularly in flash memory devices, there is a challenge in accurately determining the completion of programming for multi-state memory cells, as existing methods may not effectively verify when all memory cells have reached their target threshold voltage ranges, leading to incomplete programming or unnecessary continued programming.

Innovation Solution

The solution involves a method where a series of programming voltage pulses are applied to control gates, followed by verification pulses to check if memory cells have reached their target threshold voltage ranges, and the programming process is terminated when the number of cells not yet verified is less than the number that can be corrected by error correction during a read operation, ensuring all cells are properly programmed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If programming voltage pulses are applied to program memory cells, then data is stored in the memory cells, but it is difficult to accurately determine when programming is complete for multi-state memory cells

Engineering Contradiction:
Improveprogramming completion accuracyVSAvoidverification process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where verification pulses are applied between programming pulses to read back the state of memory cells. The read circuitry detects whether cells have reached their target threshold voltage ranges, and this information feeds back to control whether additional programming pulses are applied. This closed-loop feedback system enables accurate determination of programming completion while managing complexity through systematic verification.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary verification actions by checking the state of memory cells between programming pulses using verification pulses. This preliminary check determines whether cells have reached their target states before committing to additional programming cycles, allowing early termination when programming is complete and preventing unnecessary programming of already-programmed cells.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If verification pulses are applied to check memory cell states between programming pulses, then programming completion can be detected, but the number of programming pulses increases and programming time extends

Engineering Contradiction:
Improvethreshold voltage verification accuracyVSAvoidprogramming cycle time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial verification by checking only a subset of memory cells or using simplified verification criteria in early programming stages. This partial action approach provides sufficient information to determine programming completion without performing exhaustive verification on every cell, thereby reducing the time penalty associated with verification while maintaining adequate measurement precision.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If programming continues until all memory cells reach target threshold voltage ranges, then data storage reliability is improved, but programming efficiency decreases due to unnecessary continued programming

Engineering Contradiction:
Improvedata storage completenessVSAvoidprogramming throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The feedback mechanism monitors the state of memory cells during programming and provides real-time information about programming completion. When verification indicates that all or sufficient numbers of cells have reached their target threshold voltage ranges, the feedback signal terminates further programming pulses. This prevents unnecessary continued programming of already-programmed cells, maintaining data storage reliability while improving programming throughput and efficiency.

Inventive Principle:
Principle #23Feedback

4Productivity

If the number of programming pulses is reduced to improve efficiency, then programming speed increases, but the risk of incomplete programming increases

Engineering Contradiction:
Improveprogramming speedVSAvoidprogramming completion assurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The preliminary verification action using detection pulses checks whether memory cells have reached their target states before terminating programming. This preliminary check ensures that programming completion is confirmed even when the number of programming pulses is reduced. The detection mechanism provides assurance of programming completion, maintaining reliability while allowing faster programming by avoiding excessive pulse application.

Inventive Principle:
Principle #10Preliminary action

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach ensures that programming is complete and efficient, reducing the risk of incomplete data storage and minimizing the number of programming pulses required, thereby enhancing data reliability and storage efficiency.

Implementation Method 1

Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell is raised

Methodology Applied
Scientific EffectElectron injection: Electron Beam

Implementation Method 2

the sense amplifier determines whether the memory cell being sensed is in a first state or a second state

Methodology Applied
Scientific EffectVoltage detection: Ohm's Law

Data Source

PatentUS8605513B2Detecting the completion of programming for non-volatile storage
Publication Date: 2013.12.10 SAMSUNG ELECTRONICS CO LTD
  • US8605513B2 patent drawing
  • US8605513B2 patent drawing
  • US8605513B2 patent drawing

AI summary

A set of non-volatile storage elements are subjected to a programming process in order to store data. During the programming process, one or more verification operations are performed to determine whether the non-volatile storage elements have reached their target condition to store the appropriate data. Programming can be stopped when all non-volatile storage elements have reached their target level or when the number of non-volatile storage elements that have not reached their target level is less than a number or memory cells that can be corrected using an error correction process during a read operation (or other operation). The number of non-volatile storage elements that have not reached their target level can be estimated by counting the number of non-volatile storage elements that have not reached a condition that is different (e.g., lower) than the target level.