Semiconductor Memory Two-Stage Programming for Data Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current semiconductor memory technologies face challenges in reliably storing multiple-bit data due to the complexity of threshold voltage distributions and the need for efficient programming schemes that minimize data disturbance.

Innovation Solution

The semiconductor memory employs a two-stage write operation with a single-pulse scheme in the first stage and a double-pulse scheme in the second stage, using different program pulses to classify and program memory cells, thereby adjusting threshold voltages and improving data reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single-pulse programming scheme is used, then the programming process is simple and fast, but the threshold voltage distribution becomes complex and data reliability deteriorates

Engineering Contradiction:
Improveprogramming speedVSAvoiddata reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The programming process is divided into two distinct stages: a first programming stage that applies a first program pulse to establish an initial threshold voltage distribution, and a second programming stage that applies a second program pulse with different characteristics to refine the distribution. This segmentation allows each stage to be optimized for its specific function, achieving both speed and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention dynamically adjusts programming parameters between stages. The second program pulse has different characteristics (such as duration, amplitude, or waveform) compared to the first program pulse, allowing the system to adapt the programming approach based on the state of the memory cells after the first stage, thereby optimizing both speed and reliability.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If multiple-bit data is stored in each memory cell, then the storage capacity increases, but the threshold voltage distribution complexity increases and data disturbance occurs

Engineering Contradiction:
Improvestorage capacityVSAvoiddata disturbance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The two-stage programming approach segments the complex task of programming multiple-bit data into manageable steps. The first stage programs a subset of the data bits, establishing a preliminary threshold voltage distribution, while the second stage programs the remaining bits and refines the overall distribution, reducing the complexity handled at any one time and minimizing data disturbance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention changes programming parameters between stages to optimize for different aspects of multiple-bit programming. By adjusting pulse characteristics in the second stage based on the results of the first stage, the system can accurately control the final threshold voltage distribution for multiple-bit storage while minimizing unwanted data disturbance.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If a double-pulse programming scheme is used, then the threshold voltage distribution is controlled accurately, but the programming process becomes complex and time-consuming

Engineering Contradiction:
Improvethreshold voltage control precisionVSAvoidprogramming scheme complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The programming scheme is segmented into two stages with distinct functions. The first stage handles the bulk of the programming task with a simpler pulse, while the second stage applies a more precise pulse for fine-tuning. This segmentation reduces overall complexity compared to applying a complex double-pulse sequence to every cell, as the second stage only needs to operate on cells that require refinement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second program pulse is applied selectively based on the state of memory cells after the first stage. Not all cells require the same programming treatment, and the system can identify and apply the second pulse only where needed, reducing the effective complexity of the programming process while maintaining high precision where required.

Inventive Principle:
Principle #3Local quality

4Reliability

If verification is performed after programming, then data reliability is improved, but the overall write time increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The first programming stage acts as a preliminary action that programs memory cells to a sufficient degree before the second stage. This preliminary programming reduces the amount of refinement needed in the second stage, allowing verification to be performed more efficiently and reducing the total time required while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By changing programming parameters between stages, the system optimizes the balance between programming speed and accuracy. The first stage uses parameters optimized for speed, while the second stage uses parameters optimized for precision, allowing verification to be performed with less additional time while achieving the required reliability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10360974B2Non-volatile semiconductor memory in which data writing to cell groups is controlled using plural program pulses
Publication Date: 2019.07.23 KIOXIA CORP
  • US10360974B2 patent drawing
  • US10360974B2 patent drawing
  • US10360974B2 patent drawing

AI summary

According to one embodiment, a semiconductor memory of an embodiment includes memory cells, a word line, bit lines, and a controller. The word line is coupled to a plurality of memory cells. The plurality of bit lines are respectively coupled to the plurality of memory cells. The controller executes a first write, and classifies a plurality of memory cells to which the second data should be written into a plurality of subgroups in accordance with a result of the first write, and after the classification, the controller executes a second write that includes a first program loop.