NVM Programming with ECC for Slow-to-Program Bit Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems face challenges with slow-to-program bits that can lead to product failure due to weak memory cells, which are difficult to detect until they become problematic, causing unexpected failures in integrated circuits.

Innovation Solution

The integration of an error correction code (ECC) system within non-volatile memory systems that uses normal and relaxed program verify voltage levels to assess and manage programming pulses, allowing ECC to correct single-bit errors during read operations and optimizing the programming process by determining when to rely on ECC for correction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional programming operations are used without ECC, then programming speed is maintained, but reliability deteriorates due to undetected weak memory cells causing product failure

Engineering Contradiction:
Improveproduct reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing relaxed program verify operations during the programming process to identify slow-to-program bits before they become weak memory cells that could cause product failure. This early detection and classification of problematic bits prevents future failures without requiring complex post-manufacturing testing or repair systems.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary classification system that categorizes memory bits into different groups (normal, slow-to-program, weak) based on programming characteristics. This intermediary classification layer between the physical memory cells and the system logic enables reliable identification of problematic cells without adding complex external monitoring equipment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If programming pulses are increased to ensure all bits program successfully, then programming completeness improves, but programming time increases due to slow-to-program bits requiring significantly more pulses

Engineering Contradiction:
Improveprogramming completenessVSAvoidprogramming time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent segments the memory array into different classification groups (normal bits, slow-to-program bits, weak bits) based on their programming characteristics. This segmentation allows the system to apply different programming strategies to different segments, ensuring complete programming of all bits without forcing the entire array to wait for the slowest bits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by providing sufficient programming pulses for normal bits while using ECC to handle the minority of slow-to-program bits that require additional pulses. This approach ensures programming completeness for all bits without unnecessarily extending the programming time for the majority of normal bits.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If weak memory cells are not detected early, then device complexity remains low, but reliability deteriorates as weak cells cause unexpected product failures

Engineering Contradiction:
Improveproduct reliabilityVSAvoidweak cell detection difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent performs preliminary detection of weak memory cells during the programming process itself, rather than relying on post-manufacturing testing. By classifying bits as slow-to-program or weak during programming, the system identifies problematic cells before they cause product failures in the field.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through program verify operations that monitor the programming status of each bit and provide information about programming speed and success. This feedback enables real-time classification of memory cells and adjustment of programming strategies, making weak cell detection straightforward without complex external equipment.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9225356B2Programming a non-volatile memory (NVM) system having error correction code (ECC)
Publication Date: 2015.12.29 NXP USA INC
  • US9225356B2 patent drawing
  • US9225356B2 patent drawing
  • US9225356B2 patent drawing

AI summary

A method of programming a non-volatile semiconductor memory device includes determining a number of bit cells that failed to program verify during a program operation. The bit cells are included in a subset of bit cells in an array of bit cells. The method further determines whether an Error Correction Code (ECC) correction has been previously performed for the subset of bit cells. The program operation is considered successful if the number of bit cells that failed to program verify after a predetermined number of program pulses is below a threshold number and the ECC correction has not been performed for the subset of bit cells.