Multi-Level Flash Memory Programming Algorithm for Threshold Voltage Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dual element nitride storage flash memory cells face challenges in maintaining narrow threshold voltage distributions and efficiently programming multiple levels due to complementary bit disturb effects, which complicates accurate data storage and retrieval.

Innovation Solution

A method involving an interactive programming algorithm that applies a learn phase and a core programming phase to determine and apply specific program drain voltages, ensuring rapid and precise programming of multi-level flash memory cells with minimal complementary bit disturb, using a set of program patterns and verify gate and current values to achieve well-controlled threshold voltage distributions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If conventional programming methods are used for multi-level flash memory cells, then programming speed may be maintained, but threshold voltage distributions become wide and data accuracy deteriorates due to complementary bit disturb effects

Engineering Contradiction:
Improvethreshold voltage distribution controlVSAvoidprogramming speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The programming operation is divided into multiple distinct phases: a learn phase that determines optimal program drain voltages for different program patterns, and a core programming phase that applies these predetermined voltages. This segmentation allows precise control of threshold voltage distributions while maintaining efficient programming speed by avoiding redundant voltage adjustments during the core phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The learn phase performs preliminary characterization by determining the optimal program drain voltage for each program pattern before the actual data programming occurs. These predetermined voltages are stored and reused during core programming, eliminating the need for real-time voltage optimization and thereby maintaining high programming speed while ensuring precise threshold voltage control.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If programming algorithms are simplified to increase speed, then productivity improves, but measurement precision of threshold voltage levels deteriorates

Engineering Contradiction:
Improveprogramming speedVSAvoidthreshold voltage measurement accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The learn phase incorporates verification steps that measure the actual threshold voltage shifts resulting from programming operations. This feedback information is used to determine the optimal program drain voltages for each program pattern, ensuring that subsequent programming operations achieve precise target threshold voltages while maintaining high programming speed through the use of predetermined voltage values.

Inventive Principle:
Principle #23Feedback

3Productivity

If program drain voltages are increased to reduce programming time, then productivity improves, but harmful effects on neighboring bits increase due to complementary bit disturb

Engineering Contradiction:
Improveprogramming speedVSAvoidcomplementary bit disturb effects
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The invention determines a distinct optimal program drain voltage for each program pattern (e.g., 00, 01, 10, 11) based on the specific charge injection requirements of that pattern. This localized optimization ensures that each programming operation uses the minimum necessary voltage to achieve the target threshold voltage, thereby reducing unwanted electromagnetic interference and charge injection disturbances to neighboring memory cells while maintaining efficient programming speed.

Inventive Principle:
Principle #3Local quality

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 method enables quick and efficient programming of multi-level flash memory cells with narrow threshold voltage distributions, reducing errors and improving data storage reliability while maintaining low CBD effects, thus enhancing memory device performance and capacity.

Implementation Method 1

Programming with hot-electron injection involves applying a relatively high voltage to the control gate and connecting the source to ground and the drain to a predetermined potential above the source. When a resulting electric field is high enough, electrons collect enough energy to be injected from the source onto die nitride layer of the ONO flash.

Methodology Applied
Scientific EffectHot electron injection: Electron Beam

Implementation Method 2

Flash memory can be rewritten and can hold its contents without power, and thus is nonvolatile. It is used in many portable electronic products, Such as cell phones, portable computers, voice recorders, etc. as well as in many larger electronic systems, such as cars, planes, industrial control systems, etc.

Methodology Applied
Scientific EffectFowler-Nordheim tunneling: Electromagnetic Induction

Data Source

PatentUS7656705B2Fast single phase program algorithm for quadbit
Publication Date: 2010.02.02 INFINEON TECHNOLOGIES LLC
  • US7656705B2 patent drawing
  • US7656705B2 patent drawing
  • US7656705B2 patent drawing

AI summary

Methods of rapidly programming a wordline of multi-level flash memory cells comprising memory cell element-pairs having three or more data levels per bit or element corresponding to three or more threshold voltages are provided. An interactive program algorithm rapidly programs the elements of the wordline of memory cells in a learn phase and a single core programming phase. In one embodiment, each wordline comprises learn element-pairs first programmed to provide learn drain voltages for programming core element-pairs along the wordline having the same program pattern of data levels. A set comprising one or more program patterns is chosen to correspond with each program level used on the wordline. The learn element-pairs are programmed to determine a learned program drain voltage for each program level. This learned program drain voltage essentially provides a wordline and program level specific program characterization of the Vd required for the remaining elements of that wordline.