Flash Memory Programming Compensation for Program Disturb

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices suffer from program disturb, where unprogrammed memory cells experience threshold voltage changes due to voltage applications and coupling effects from adjacent cells, leading to read errors, and existing methods to mitigate this issue, such as using fixed pairs of programming pulses, result in increased programming time.

Innovation Solution

Implementing a method that counts potential CS2 situations, where adjacent bit lines have failed program verify operations, and applies compensation by generating double programming pulses or increasing the Vpass voltage on unselected word lines when the count exceeds a threshold, to prevent simultaneous programming of memory cells on either side of inhibited bit lines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed number of pairs of programming pulses are used to reduce program disturb, then program disturb is reduced, but programming time increases

Engineering Contradiction:
Improveprogram disturb reductionVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a dynamic programming pulse generation method that adapts the programming scheme based on real-time verification results. Instead of using a fixed number of programming pulse pairs for all memory cells, the system dynamically determines whether to apply compensation programming pulses based on whether adjacent memory cells failed the program verify operation. This dynamic approach reduces programming time by avoiding unnecessary compensation pulses for cells that do not require them, while still reducing program disturb when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the programming parameters (number of programming pulse pairs) based on the verification status of adjacent memory cells. When adjacent cells fail verification, the system increases the number of programming pulse pairs applied to inhibited bit lines to compensate for capacitive coupling effects. This parameter adjustment resolves the contradiction by applying additional programming pulses only when necessary, rather than uniformly to all cells, thus reducing overall programming time while maintaining program disturb reduction where needed.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If double programming pulses are generated for each word line during middle range programming, then program disturb is reduced, but device complexity increases

Engineering Contradiction:
Improveprogram disturb reductionVSAvoidprogramming control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different programming strategies to different spatial locations (bit lines) based on local conditions. Specifically, when a memory cell on one bit line fails verification, the system applies compensation programming pulses only to the adjacent inhibited bit lines that are susceptible to program disturb, rather than uniformly to all bit lines. This localized approach reduces program disturb where needed while minimizing the overall complexity of the programming control system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the programming operation into distinct phases: normal programming pulses, program verify operations, and conditional compensation programming pulses. By dividing the programming process into these segments and applying compensation pulses only in specific circumstances (when adjacent cells fail verification), the system reduces program disturb without requiring complex continuous control mechanisms throughout the entire programming sequence.

Inventive Principle:
Principle #1Segmentation

3Productivity

If programming pulses are applied to adjacent bit lines simultaneously, then programming speed is improved, but program disturb increases

Engineering Contradiction:
Improveprogramming speedVSAvoidprogram disturb
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent implements preliminary anti-action by performing program verify operations after each programming pulse and proactively applying compensation programming pulses to inhibited bit lines when adjacent cells fail verification. This preventive measure counteracts the capacitive coupling effects that would otherwise cause program disturb, allowing the system to maintain high programming speed through parallel bit line programming while preventing the harmful threshold voltage shifts in inhibited cells.

Inventive Principle:
Principle #9Preliminary anti-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

Effectively reduces program disturb by compensating for potential CS2 situations through adjusted programming pulses and voltages, thereby minimizing read errors and reducing programming time.

Implementation Method 1

Changes in threshold voltage of the memory cells, through programming of charge storage structures (e.g., floating gates or charge traps)

Methodology Applied
Scientific EffectCharge storage: Capacitance

Implementation Method 2

the adjacent series strings of memory cells, on either side of the inhibited series string, can affect the threshold voltages of the inhibited memory cells by floating gate-to-floating gate capacitive coupling between memory cells

Methodology Applied
Scientific EffectCapacitive coupling: Capacitance

Data Source

PatentUS8369157B2Methods for programming a memory device and memory devices
Publication Date: 2013.02.05 MICRON TECHNOLOGY INC
  • US8369157B2 patent drawing
  • US8369157B2 patent drawing
  • US8369157B2 patent drawing

AI summary

Methods for programming memory cells and memory devices are disclosed. One such method for programming includes performing a program verify operation of a group of memory cells. A number of potential CS2 situations are detected. If the number of detected potential CS2 situations is greater than a threshold, programming compensation for a CS2 situation is used in a subsequent programming operation.