Flash Memory Programming Order for Floating Gate Coupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices face programming errors due to cross coupling between adjacent memory cells, where higher-programmed cells adversely affect their neighbors, leading to unwanted changes in programming states.

Innovation Solution

A programming technique where memory cells are programmed in descending order of their programming values, with cells requiring higher programming values being programmed first, and those requiring lower values second, to minimize adverse incremental programming effects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory cells are programmed sequentially in row-by-row order, then programming operation can be completed, but cross coupling between adjacent floating gates causes programming errors

Engineering Contradiction:
Improveprogramming operation completionVSAvoidprogramming accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by sorting incoming data in descending order of programming values before programming operations. This reordering ensures that cells requiring higher programming values (which have greater potential to cause cross-coupling errors) are programmed first, before adjacent cells are programmed. This preliminary sorting action prevents the cross-coupling problem from occurring in the first place, rather than attempting to correct it afterward.

Inventive Principle:
Principle #10Preliminary action

2Area of stationary object

If adjacent memory cells are programmed in sequence, then programming coverage is achieved, but higher-programmed cells adversely affect neighboring cells through floating gate coupling

Engineering Contradiction:
Improveprogramming coverageVSAvoidcross coupling effects
Core Design Contradiction:
Area of stationary objectVSObject-affected harmful factors

Solution Approach 1:

The patent applies inversion by reversing the conventional programming order. Instead of programming cells in arbitrary or ascending order, the system programs cells in descending order of their target programming values. This inversion ensures that cells with higher programming values (which create stronger electric fields and greater cross-coupling effects) are programmed first, before their neighbors are programmed. This reverses the typical sequence that causes problems and eliminates the harmful cross-coupling effects.

Inventive Principle:
Principle #13The other way round (Inversion)

3Quantity of substance

If memory cells are programmed to higher programming values, then data storage capacity is improved, but the magnitude of adverse incremental programming increases

Engineering Contradiction:
Improveelectrons on floating gateVSAvoidadverse incremental programming
Core Design Contradiction:
Quantity of substanceVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary action by pre-sorting the programming sequence based on target programming values before execution. By identifying and programming high-value cells first (before they can cause adverse incremental programming to neighbors), the system eliminates the harmful effect at its source. This preliminary ordering action allows the system to program cells to higher programming values (increasing storage capacity) without suffering from the cross-coupling problems that would otherwise occur.

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 technique reduces the occurrence and magnitude of programming errors by ensuring that cells already programmed are less affected by subsequent programming operations, thereby improving the accuracy of programming in memory cell arrays.

Implementation Method 1

program the memory cell (by injecting electrons onto the floating gate)

Methodology Applied
Scientific EffectElectron injection: Electron Beam

Implementation Method 2

non-volatile memory cells include a floating gate

Methodology Applied
Scientific EffectElectrostatic charge storage: Electrostatics

Implementation Method 3

Various combinations of voltages are applied to the control gate, source and drain to program the memory cell

Methodology Applied
Scientific EffectElectric field control: Electric Field

Implementation Method 4

program the memory cell (by injecting electrons onto the floating gate), to erase the memory cell (by removing electrons from the floating gate)

Methodology Applied
Scientific EffectQuantum tunneling:

Data Source

PatentUS10699787B2System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory
Publication Date: 2020.06.30 SILICON STORAGE TECHNOLOGY INC
  • US10699787B2 patent drawing
  • US10699787B2 patent drawing
  • US10699787B2 patent drawing

AI summary

An improved programming technique for non-volatile memory cell arrays, in which memory cells to be programmed with higher programming values are programmed first, and memory cells to be programmed with lower programming values are programmed second. The technique reduces or eliminates the number of previously programmed cells from being adversely incrementally programmed by an adjacent cell being programmed to higher program levels, and reduces the magnitude of adverse incremental programming for most of the memory cells, which is caused by floating gate to floating gate coupling. The memory device includes an array of non-volatile memory cells and a controller configured to identify programming values associated with incoming data, and perform a programming operation in which the incoming data is programmed into at least some of the non-volatile memory cells in a timing order of descending value of the programming values.