Flash Memory Programming Pulse Width Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for programming multi-level flash memory cells result in wide programming distributions and small read windows, leading to potential read errors and increased complexity in circuitry, especially when trying to achieve more states without significantly overshooting the threshold voltage.

Innovation Solution

A method that involves applying a drain voltage with an initial pulse width, verifying if the cell has reached a cue threshold voltage, and then reducing the pulse width if reached, to tighten programming distributions and expand read windows without altering the gate potential or requiring complex circuitry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If incremental stepping of drain voltage with uniform pulses is applied to program the cell, then the cell can be programmed to target threshold voltage, but the programming distribution becomes wide leading to read errors

Engineering Contradiction:
Improveprogramming precisionVSAvoidread accuracy
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The patent applies dynamic adjustment of pulse width during the programming process. Initially, a first pulse width is used to quickly program the cell, then the pulse width is reduced to a second, smaller value to tighten the programming distribution and eliminate read errors. This dynamic parameter adjustment resolves the contradiction between programming speed and precision.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses periodic programming pulses with varying widths. The method applies a sequence of pulses where the width changes based on the programming state, using wider pulses initially and narrower pulses later to achieve both fast programming and tight distributions, thereby resolving the contradiction between speed and precision.

Inventive Principle:
Principle #19Periodic action

2Quantity of substance

If more states are programmed in the cell to increase storage capacity, then the data storage capacity increases, but the read window becomes smaller increasing the risk of read errors

Engineering Contradiction:
Improvedata storage capacityVSAvoidread accuracy
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The dynamic pulse width adjustment ensures that even when programming multiple states, each state achieves a tight distribution through the reduced second pulse width. This maintains adequate read windows between states while maximizing the number of programmable states, thus resolving the contradiction between storage capacity and read accuracy.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If gate potential is altered during programming to tighten distributions, then programming precision improves, but circuit complexity increases

Engineering Contradiction:
Improveprogramming precisionVSAvoidcircuit complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts the complexity from the gate potential control and relocates it to the drain pulse width control. By keeping the gate potential constant and only varying the drain pulse width, the method achieves tight programming distributions without requiring complex gate control circuitry, thus resolving the contradiction between precision and circuit complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If read potential is applied to one bit to verify programming, then programming accuracy can be verified, but charge accumulates on the other bit causing read errors

Engineering Contradiction:
Improveprogramming verification accuracyVSAvoidcharge accumulation on other bit
Core Design Contradiction:
Measurement precisionVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary action by using the reduced second pulse width to tighten the programming distribution before any read operation occurs. This pre-tightening of the distribution eliminates read errors that would otherwise be caused by charge accumulation during verification, thus resolving the contradiction between verification accuracy and charge accumulation effects.

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 reduces programming distributions, minimizes read errors, and enlarges read windows, allowing for more precise programming without increasing circuit complexity, thereby improving the accuracy and reliability of multi-bit cell programming.

Implementation Method 1

As electrons flow along the channel, they gain enough energy to tunnel through the oxide layer 13 to the charge trapping layer 12

Methodology Applied
Scientific EffectQuantum tunneling:

Implementation Method 2

The accumulation of charge in the right bit 24 alters the threshold voltage of the cell

Methodology Applied
Scientific EffectCharge accumulation effect:

Data Source

PatentUS7474565B2Programming scheme for non-volatile flash memory
Publication Date: 2009.01.06 MACRONIX INTERNATIONAL CO LTD
  • US7474565B2 patent drawing
  • US7474565B2 patent drawing
  • US7474565B2 patent drawing

AI summary

An embodiment of the present invention involves a method of programming a memory cell. The memory cell is in a first state having a maximum initial threshold voltage. The memory cell is to be programmed to one of a plurality of states having a higher target threshold voltage relative to the maximum initial threshold voltage. There is a cue voltage between the maximum initial threshold voltage and the target threshold voltage. The memory cell has a drain region. The method includes applying a drain voltage to the cell by a programming pulse having a first width, determining whether the cell has reached the cue threshold voltage, and if the cell has reached the cue threshold voltage, changing the programming pulse width from the first pulse width to a second pulse width. The second pulse width is smaller than the first pulse width.