Deterministic Memory Programming via Voltage Subgrouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face inefficiencies in programming speed and final voltage distribution, leading to variations in programming time among memory elements, which affects reliability, density, and efficiency.

Innovation Solution

The implementation of deterministic programming techniques, where memory elements are divided into subgroups based on current threshold voltage levels, allowing for tailored program pulses and verify levels to ensure all elements reach the target voltage efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the same program pulse is applied to all memory elements in a group, then the programming process is simple to control, but some memory elements are programmed more quickly than others, requiring additional time to program slower elements

Engineering Contradiction:
Improveprogramming control simplicityVSAvoidprogramming speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides a group of memory elements into multiple subgroups based on their current threshold voltage levels. Each subgroup receives a tailored program pulse optimized for its specific voltage range, allowing faster programming of all elements simultaneously rather than waiting for the slowest element in a uniform group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different program pulse characteristics (amplitude, width, or shape) to different subgroups of memory elements based on their individual or group-specific threshold voltage levels. This localized optimization ensures each subgroup is programmed at its optimal speed without affecting other subgroups.

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If multiple programming pulses are applied to reach the target threshold voltage level, then memory elements can be programmed to the desired state, but the programming time varies significantly among different memory elements

Engineering Contradiction:
Improvethreshold voltage precisionVSAvoidprogramming time variation
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs a preliminary read operation to determine the current threshold voltage level of each memory element or subgroup before applying program pulses. This preliminary information is used to pre-calculate and apply the appropriate number and strength of program pulses, eliminating the need to wait for slower elements during iterative programming cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the current threshold voltage level of memory elements is measured, and this information is used to dynamically adjust the program pulse parameters. This closed-loop control ensures that each memory element receives the precise amount of programming needed to reach the target voltage level without over-programming or unnecessary waiting time.

Inventive Principle:
Principle #23Feedback

3Productivity

If memory elements are programmed with loose voltage distributions, then programming is faster, but reliability and density of the memory are reduced

Engineering Contradiction:
Improveprogramming speedVSAvoidmemory reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically adjusts program pulse parameters (amplitude, width, shape) based on the specific threshold voltage level and distribution characteristics of each subgroup of memory elements. This parameter optimization allows the system to achieve tight voltage distributions and high programming speed simultaneously by matching the pulse characteristics to the specific needs of each subgroup.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7872916B2Deterministic-based programming in memory
Publication Date: 2011.01.18 INFINEON TECHNOLOGIES LLC
  • US7872916B2 patent drawing
  • US7872916B2 patent drawing
  • US7872916B2 patent drawing

AI summary

Systems, methods, and devices that employ deterministic programming techniques to facilitate efficient programming of memory elements in a memory are presented. A memory component comprises an optimized program component that can divide a group of memory elements selected for programming into a desired number of subgroups based in part on respective current threshold voltage levels (Vt) of the memory elements; apply respective program pulses to each memory element in respective subgroups; measure respective Vt levels of memory elements after the pulse; and verify as passed memory elements that meet a target Vt. The optimized program component can divide a subset of memory elements that do not meet the target Vt into a desired number of subgroups based in part on respective current Vt levels of the memory elements and can continue to perform this deterministic programming process until all memory elements are verified as passing for the target Vt.