Adaptive Programming Timing for Charge Trapping Memory Cells

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies in programming multiple memory cells in parallel due to uniform timing of programming pulses, leading to reduced read performance and increased program disturb, especially in NAND architectures where many cells are daisy-chained.

Innovation Solution

Implementing adaptive timing for individual programming pulses based on the relative numbers of program-enabled and program-inhibited memory cells, optimizing the RC constant of the word line to reduce charging and discharging times, and minimizing the time program-inhibited memory cells hold boosted voltages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If uniform timing is used for all programming pulses in parallel programming operations, then all memory cells are programmed simultaneously, but programming time is extended and program disturb increases

Engineering Contradiction:
Improveprogramming speedVSAvoidprogram disturb
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies dynamic timing adjustment by varying the duration of programming pulses based on the state of memory cells. Specifically, cells that have already been programmed to the desired state receive shorter or no further pulses, while cells that need programming receive full-duration pulses. This dynamic adaptation resolves the contradiction by preventing program disturb in completed cells while maintaining programming speed for cells that still need programming.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements local quality by applying different pulse timing characteristics to different groups of memory cells within the same programming operation. Cells are divided into subsets based on their programming status, and each subset receives customized pulse timing. This allows the system to optimize for both speed and reliability locally for each cell group rather than using a single uniform timing for all cells.

Inventive Principle:
Principle #3Local quality

2Productivity

If programming pulses are applied to all memory cells in parallel, then programming throughput is improved, but read performance degrades due to uniform timing constraints

Engineering Contradiction:
Improveprogramming throughputVSAvoidread performance
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent uses dynamic timing adjustment where pulse durations are adapted based on real-time verification results. This allows the programming operation to proceed in phases, where early pulses can be longer to ensure programming, and later pulses can be shorter or skipped for cells that have already been programmed. This dynamic approach maintains high throughput while reducing the overall programming time that would otherwise degrade read performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements periodic verification and pulse application cycles. Instead of applying a single long programming pulse to all cells, the system applies pulses periodically interspersed with verification operations. This periodic action allows the system to maintain high throughput by keeping cells in a programming-ready state while minimizing the total time cells spend with boosted voltages, thereby preserving read performance.

Inventive Principle:
Principle #19Periodic action

3Manufacturing precision

If multiple programming sub-operations are used to program cells to different states, then programming precision is improved, but programming complexity increases

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

Solution Approach 1:

The patent segments the programming operation into multiple sub-operations, each targeting specific memory cell subsets and specific threshold voltage states. For example, one sub-operation may program cells to a first threshold state while another sub-operation programs different cells to a second threshold state. This segmentation improves precision by allowing customized pulse parameters for each sub-operation while managing complexity through systematic organization of the sub-operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs parameter changes by adjusting pulse voltage levels, durations, and timing based on the target state of each memory cell subset. Different threshold voltage states require different programming parameters, and the system dynamically changes these parameters between sub-operations. This approach achieves high programming precision while controlling complexity through systematic parameter management rather than arbitrary complexity.

Inventive Principle:
Principle #35Parameter changes

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 overall programming time, minimizes program disturb, and enhances programming efficiency by dynamically adjusting pulse timing according to the changing proportions of enabled and inhibited cells, leading to improved performance and reduced errors.

Implementation Method 1

non-volatile memory cells each having a dielectric charge storage medium

Methodology Applied
Scientific EffectCharge storage: Capacitance

Implementation Method 2

applying a series of programming pulses along the first word line

Methodology Applied
Scientific EffectElectrical conduction: Conduction (electrical)

Data Source

PatentUS9947395B2Programming techniques for non-volatile memories with charge trapping layers
Publication Date: 2018.04.17 SANDISK TECHNOLOGIES LLC
  • US9947395B2 patent drawing
  • US9947395B2 patent drawing
  • US9947395B2 patent drawing

AI summary

Techniques are presented for the programming of a non-volatile memory in which multi-state memory cells use a charge trapping layer. When writing data onto a word lines, different data states are written individually, while programming inhibiting the other states, thereby breaking down the write operation into a number of sub-operations, one for each state to be written. This allows for improved timing and decreased power consumption.