Non-Volatile Memory Program Verification Using ECC Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices with varying memory cell characteristics lead to increased programming time due to slow program speeds, as they require continuous program pulses until all cells reach the desired threshold voltage, inefficiently utilizing time and resources.

Innovation Solution

A method to verify program operation in non-volatile memory devices by setting data in page buffers to output pass signals only when memory cells reach specific verifying voltages, allowing for early completion of programming for cells with slow speeds and reducing overall operation time by comparing fail status bits to ECC processing bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If continuous program pulses are applied until all memory cells reach the desired threshold voltage, then programming reliability is improved, but programming time is increased due to slow program speed cells

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

Solution Approach 1:

The patent applies partial action by verifying only a subset of memory cells (sample cells) rather than all cells, and by allowing early termination of the program operation when the number of fail status bits is within the ECC correction capability. This partial verification approach reduces programming time while maintaining reliability through ECC error correction.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback by continuously verifying the program status of sample cells during the program operation, counting fail status bits, and using this information to dynamically control the continuation or termination of the program operation. The verification result feeds back to the control logic to make real-time decisions about program completion.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If verification is performed on all memory cells, then programming accuracy is improved, but operation complexity is increased

Engineering Contradiction:
Improveprogramming accuracyVSAvoidoperation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the memory cell array into multiple regions and selects specific sample cells from different regions for verification. This segmentation approach reduces the number of cells that need to be verified while maintaining representativeness, thereby reducing operation complexity without significantly compromising programming accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses sample cells as copies or representatives of the entire memory cell array. By verifying the program status of these sample cells rather than all cells, the system achieves a simplified verification process that maintains adequate programming accuracy through statistical representation.

Inventive Principle:
Principle #26Copying

3Productivity

If the program operation is terminated early for slow program speed cells, then productivity is improved, but programming precision may be compromised

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidthreshold voltage precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent changes the verification parameter from checking all cells to checking only sample cells, and changes the termination criterion from requiring all cells to be programmed to requiring the number of fail status bits to be within ECC correction capability. These parameter changes enable early termination while maintaining acceptable precision through error correction.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces ECC (Error Correction Code) as an intermediary mechanism that compensates for the reduced verification coverage. The ECC system acts as a mediator that allows early program termination by correcting errors in non-verified cells, thus maintaining programming precision without requiring complete verification of all cells.

Inventive Principle:
Principle #24Intermediary (Mediator)

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 programming time by ensuring memory cells with slow speeds are programmed at specific time points and optimizing the use of resources, enhancing the efficiency of the programming process in non-volatile memory devices.

Implementation Method 1

The non-volatile memory device performs a program operation and an erase operation by changing a threshold voltage of a memory cell through moving of electrons by high electric field applied to a thin oxide film

Methodology Applied
Scientific EffectElectron tunneling:

Implementation Method 2

a sensing node for sensing voltage level of a specific bit line or a certain register

Methodology Applied
Scientific EffectVoltage sensing:

Data Source

PatentUS7965553B2Method of verifying a program operation in a non-volatile memory device
Publication Date: 2011.06.21 SK HYNIX INC
  • US7965553B2 patent drawing
  • US7965553B2 patent drawing
  • US7965553B2 patent drawing

AI summary

A method of verifying a program operation in a non-volatile memory device includes performing a program operation, verifying whether or not each of a plurality of program target memory cells is programmed to a voltage higher than a verifying voltage, counting a number of fail status bits in response to determining that a fail status memory cell is not programmed with a voltage higher than the verifying voltage based on the verified result, and setting data so that a plurality of page buffers each output a pass signal when the number of the fail status bits is smaller than a number of error correction code (ECC) processing bits.