Deterministic Memory Cell Programming via Adaptive Pulse Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory device programming methods result in non-deterministic programming times, device stress, and wide memory cell distributions due to process variations and over-programming, leading to reduced reliability and control over memory device performance.

Innovation Solution

A system that deterministically programs memory cell parameters by adaptively determining individual programming pulses based on measured characteristics, iteratively converging on a desired parameter value, thereby reducing programming time, stress, and over-programming, and tightening memory cell distributions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fixed programming pulses are applied multiple times to program memory cell parameters, then programming coverage is improved, but programming time is extended

Engineering Contradiction:
Improveprogramming coverageVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies dynamics by transitioning from fixed programming pulses to variable programming pulses. The pulse parameters (amplitude, width, shape) are dynamically adjusted based on real-time feedback from sense amplifiers and status of the memory cell, allowing each cell to receive a customized programming sequence that achieves successful programming faster without requiring multiple fixed pulses for all cells.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where sense amplifiers continuously monitor the state of memory cells during programming. This feedback information is used to determine when programming is successful and to adjust subsequent pulse characteristics, enabling the system to stop programming individual cells as soon as they are successfully programmed rather than applying a fixed number of pulses to all cells.

Inventive Principle:
Principle #23Feedback

2Reliability

If multiple fixed programming pulses are applied to program memory cell parameters, then programming coverage is improved, but device stress increases

Engineering Contradiction:
Improveprogramming coverageVSAvoiddevice stress
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent uses dynamic pulse adjustment to apply only the necessary programming stress to each memory cell. By varying pulse parameters based on real-time cell state feedback, the system avoids applying excessive or redundant pulses that would increase device stress, while still achieving comprehensive programming coverage across all cells.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes programming parameters (pulse amplitude, width, shape, timing) based on the specific state of each memory cell. This parameter adaptation allows the system to apply minimal necessary stress to achieve programming, avoiding the cumulative stress damage that would result from applying multiple fixed pulses to all cells regardless of their individual programming status.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple fixed programming pulses are applied to program memory cell parameters, then programming coverage is improved, but over programming occurs

Engineering Contradiction:
Improveprogramming coverageVSAvoidprogramming precision
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent employs feedback from sense amplifiers to detect when each memory cell has reached its programmed state. This feedback mechanism allows the system to terminate programming for individual cells immediately upon successful programming, preventing over-programming while maintaining comprehensive coverage across the entire memory array.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the programming process for each cell based on real-time status detection. By making programming duration and pulse characteristics cell-specific rather than uniform, the system achieves precise programming control that prevents over-programming while ensuring all cells are properly programmed.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If fixed programming pulses are applied to memory cells, then programming process is simple, but memory cell distributions become wide

Engineering Contradiction:
Improveprogramming process complexityVSAvoidmemory cell distribution
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent introduces dynamic pulse parameter adjustment based on individual cell characteristics and real-time state feedback. This creates a more complex control process that compensates for manufacturing variations, resulting in tighter memory cell distributions by adapting the programming approach to each cell's specific requirements rather than applying uniform fixed pulses.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7894267B2Deterministic programming algorithm that provides tighter cell distributions with a reduced number of programming pulses
Publication Date: 2011.02.22 VALLEY DEVICE MANAGEMENT
  • US7894267B2 patent drawing
  • US7894267B2 patent drawing
  • US7894267B2 patent drawing

AI summary

Systems and methods for improving the programming of memory devices. A pulse component applies different programming pulses to a memory cell. An analysis component measures values of one or more characteristics of the memory cell as a function of the applied different programming pulses. A computation component computes the applied different programming pulses as a function of the measured values of the one or more characteristics of the memory cell. The analysis component measures one or more values of the one or more characteristics of the memory cell, the computation component computes one or more programming pulses as a function of the one or more measured values of the one or more characteristics of the memory cell, and the pulse component applies the one or more programming pulses to the memory cell.