Non-Volatile Memory Programming Current Peak Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing charge-pumping circuits in non-volatile memory devices, particularly those using hot-electron injection for programming, face inefficiencies due to high current peaks during programming operations, leading to the need for over-dimensioning and increased size, which affects programming robustness and efficiency when programming multiple memory cells simultaneously.

Innovation Solution

The method involves programming memory cells in an avalanche mode by flattening the programming current profile through simulation-based subdivision of the programming window into multiple time intervals, allowing for a more consistent and reduced maximum programming current, thereby optimizing the use of the charge pump and reducing the peak current requirement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple memory cells are programmed simultaneously using conventional hot-electron injection, then programming throughput is improved, but peak programming current increases requiring over-dimensioned charge-pumping circuits

Engineering Contradiction:
Improveprogramming throughputVSAvoidpeak programming current
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The programming window is segmented into multiple time intervals, with each interval dedicated to programming a specific subset of memory cells. This temporal segmentation distributes the programming current demand across different time periods, preventing the accumulation of peak currents that would occur when all cells are programmed simultaneously. The charge pump is thus dimensioned based on the maximum current required in any single interval rather than the sum of all cells, reducing the required circuit size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention implements dynamic control of the programming operation by adjusting the number of cells programmed in each time interval based on simulated current profiles. The method determines optimal programming profiles through simulation that flatten the current peaks, dynamically allocating programming resources to maintain consistent current draw throughout the programming window rather than experiencing sharp peaks at the beginning.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the charge-pumping circuit is over-dimensioned to handle peak currents during simultaneous programming, then programming robustness is improved, but the circuit size and complexity increase

Engineering Contradiction:
Improveprogramming robustnessVSAvoidcharge-pumping circuit size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention performs preliminary simulation to determine optimal programming profiles before actual programming operations. By simulating the current profiles in advance and identifying the maximum current requirements for different numbers of simultaneously programmed cells, the system can pre-calculate the minimal charge pump size needed. This preliminary action eliminates the need for over-dimensioning while maintaining programming robustness, as the charge pump is sized precisely for the actual peak requirements rather than worst-case scenarios.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If high voltage is applied to the control gate of the state transistor for programming, then programming efficiency is improved, but the current peak at the start of the programming pulse increases

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidprogramming current peak
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The invention applies periodic action by dividing the programming operation into multiple time intervals with alternating cell subsets. Instead of applying high voltage to all cells simultaneously causing a large current peak, the method applies programming voltage periodically to different groups of cells in sequence. This periodic approach maintains overall programming efficiency by completing the same total number of programming operations while distributing the current demand across time, thereby flattening the current profile.

Inventive Principle:
Principle #19Periodic 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 decreases the peak programming current by up to 25%, enabling a smaller charge-pumping circuit and improving programming operation robustness by ensuring the charge pump's maximum current is utilized throughout the programming window rather than just at the start, thus enhancing the efficiency and reliability of programming multiple memory cells.

Implementation Method 1

the various voltages applied to the memory cell during programming, and in particular the voltage applied to the bit line connected to the drain of the state transistor, are delivered by a charge-pumping circuit

Methodology Applied
Scientific EffectCharge pumping: Pump

Implementation Method 2

When this current reaches the conductive channel of the state transistor, an injection region forms in which the high-energy electrons are injected into the floating gate of this transistor under the effect of a vertical electric field created by the voltage applied to the control gate of the state transistor

Methodology Applied
Scientific EffectHot-electron injection: Electron Avalanche

Data Source

PatentUS10832780B2Method for programming a non-volatile memory device and corresponding non-volatile memory device
Publication Date: 2020.11.10 STMICROELECTRONICS INT NV
  • US10832780B2 patent drawing
  • US10832780B2 patent drawing
  • US10832780B2 patent drawing

AI summary

A method can be used for programming a group of memory cells of a non-volatile memory device in a programming window that has a duration longer than a programming duration of a memory cell. The programming window is subdivided into a number of time intervals. A programming profile that was determined by simulation while taking into account a reference criterion is retrieved. The programming profile includes, for each time interval, a maximum number of memory cells that can be triggered for programming within each time interval. The memory device is programmed in the programming window, interval-wise, using the programming profile.