Non-volatile Memory Programming Method for Power Failure Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices face reliability issues due to sudden power off events during programming operations, which can result in unreliable data storage.

Innovation Solution

A method for programming non-volatile memory devices that includes using monitoring cells to detect sudden power off events by performing distinct programming operations for data cells and monitoring cells, utilizing incremental step pulse programming and single program pulses, and reading monitoring cells with a specific voltage to determine if a power off has occurred.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If monitoring cells are programmed simultaneously with data cells, then programming speed is improved, but detection precision of sudden power off events deteriorates

Engineering Contradiction:
Improveprogramming speedVSAvoiddetection precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments the programming process into two distinct phases: first programming data cells while inhibiting monitoring cells, then programming monitoring cells while inhibiting data cells. This temporal segmentation allows each cell type to be programmed with optimized parameters without interference, resolving the contradiction between speed and precision by ensuring monitoring cells are properly programmed for accurate detection.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If incremental step pulse programming is used for data cells, then manufacturing precision is improved, but loss of time increases

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

Solution Approach 1:

The patent applies different programming qualities to different cell types: incremental step pulse programming (ISPP) is applied to data cells to ensure high programming precision and reliability, while a simpler single program pulse method is applied to monitoring cells where absolute precision is less critical. This local differentiation of programming quality allows high precision where needed while minimizing time loss overall.

Inventive Principle:
Principle #3Local quality

3Reliability

If monitoring cells are programmed with multiple pulses, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedetection reliabilityVSAvoidprogramming operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of applying the complex multi-pulse ISPP programming to monitoring cells (which would increase device complexity), the patent inverts the approach by applying simple single-pulse programming to monitoring cells and reserving the complex ISPP programming for data cells. This inversion maintains detection reliability through proper monitoring cell programming while minimizing the increase in device complexity.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS8705275B2Non-volatile memory device and method for programming non-volatile memory device
Publication Date: 2014.04.22 SAMSUNG ELECTRONICS CO LTD
  • US8705275B2 patent drawing
  • US8705275B2 patent drawing
  • US8705275B2 patent drawing

AI summary

A method for programming a non-volatile memory device includes: providing a non-volatile memory device including data cells capable of storing N-bit data (N is a natural number) and a monitoring cell capable of monitoring whether the N-bit data has been programmed into the data cells; performing a first programming operation for the data cells while inhibiting programming of the monitoring cell; and performing a second programming operation for the monitoring cell while inhibiting programming of the data cells, wherein the second programming operation is performed differently from the first programming.