Non-Volatile Memory Cell Programming to Minimize Overshoot

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing split gate non-volatile memory cell programming techniques face inefficiencies in simultaneously programming multiple cells to different states, leading to issues such as overshoot and increased programming time, which affect accuracy and efficiency.

Innovation Solution

A method involving coarse (fast) and fine (slow) programming phases, where memory cells are initially programmed to a higher target current within specific cell groups, followed by a slower phase to achieve precise target read currents, reducing the risk of overshoot and increasing programming efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If conventional programming techniques are used to program multiple memory cells to different states, then programming can be performed, but programming time increases and accuracy decreases due to overshoot

Engineering Contradiction:
Improveprogramming accuracyVSAvoidprogramming time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The programming process is segmented into multiple phases: a first programming phase that programs memory cells to a first state, followed by a second programming phase that programs subset(s) of cells to different states. This segmentation allows different programming parameters to be applied at different stages, improving both accuracy and time efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first programming phase performs preliminary programming of all memory cells to a common first state before the second phase applies specific programming parameters to subset(s) of cells to achieve their final states. This preliminary action establishes a baseline state that reduces overshoot in subsequent programming.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If programming pulses are applied to multiple memory cells simultaneously, then programming efficiency improves, but overshoot occurs reducing programming accuracy

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidprogramming accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

Memory cells are divided into groups where a first group is programmed in the first phase, and subset(s) of remaining cells are programmed in the second phase. This segmentation enables simultaneous programming of multiple cells while controlling overshoot through phase-based parameter adjustment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different programming parameters (voltage, current, pulse duration) are applied in the first phase versus the second phase. The first phase uses parameters suitable for bulk programming, while the second phase uses adjusted parameters optimized for precision programming of specific subsets, thereby maintaining both efficiency and accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12511073B2Coarse and fine programming of non-volatile memory cells
Publication Date: 2025.12.30 SILICON STORAGE TECHNOLOGY INC
  • US12511073B2 patent drawing
  • US12511073B2 patent drawing
  • US12511073B2 patent drawing

AI summary

A method of programming non-volatile memory cells comprising determining a target read current for respective ones of the memory cells based upon incoming data, associating respective ones of the memory cells with a respective one of a plurality of cell groups based upon the determined target read current for the respective memory cell being within a target read current range associated with the respective cell group, fast programming respective ones of the memory cells to a coarse target read current associated with the cell group to which the respective memory cell is associated, wherein the coarse target read current for respective ones of the cell groups is greater than the target read current range for the respective cell group, and then slow programming respective ones of the memory cells until the target read current determined for the respective memory cell is achieved.