Memory Cell Programming via Pre-Verify Shot Counting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-density memory arrays, such as NAND flash memory chips, the aggregate time required for multiple program verify operations during memory programming is a significant percentage of the overall programming time, leading to reduced throughput and efficiency.
Innovation Solution
Implementing a pre-verify operation to determine the number of programming shots needed to reach target threshold voltage levels, allowing for consecutive applications of these shots without intermediate verify operations, and performing final verify operations to ensure accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If multiple program verify operations are performed during memory programming, then programming accuracy is improved, but programming time increases
Solution Approach 1:
The patent applies preliminary action by performing a pre-verify operation before the main programming process to determine the initial threshold voltage distribution. This allows the system to pre-calculate the number of programming shots needed for each memory cell, avoiding the need for multiple intermediate verify operations during programming. The pre-verify action is taken in advance to optimize the subsequent programming sequence.
Solution Approach 2:
The patent implements continuity of useful action by applying programming shots continuously to each memory cell without interrupting for intermediate verify operations. Once the number of shots is determined from the pre-verify, all necessary programming shots are applied in succession, maintaining continuous useful action and eliminating time-wasting interruptions between programming and verification steps.
2Measurement precision
If intermediate program verify operations are performed after each programming shot, then threshold voltage accuracy is improved, but throughput is reduced
Solution Approach 1:
The patent extracts the verify operation from its traditional position after each programming shot and moves it to before programming begins. By taking out the verify operation and performing it preliminarily, the system determines all necessary programming parameters in advance, allowing the main programming process to proceed without interruption and maximizing throughput while still ensuring accuracy through the final verify.
Solution Approach 2:
The verify operation is performed as a preliminary action before programming starts, rather than as an intermediate step. This preliminary verify establishes the baseline threshold voltage distribution and enables calculation of the exact number of programming shots needed, allowing subsequent programming to proceed continuously without repeated verify interruptions, thus improving throughput while maintaining accuracy.
3Speed
If the number of verify operations is reduced, then programming speed is improved, but verification reliability may be compromised
Solution Approach 1:
The patent maintains verification reliability by ensuring that programming shots are applied continuously and completely to each memory cell without interruption. The continuous application of the predetermined number of shots ensures that each cell receives its full programming dose, and a final verify operation confirms successful programming, maintaining reliability while improving speed by eliminating intermediate verify interruptions.
Solution Approach 2:
The patent uses feedback from the pre-verify operation to determine the exact number of programming shots needed for each memory cell based on its initial threshold voltage. This feedback mechanism ensures that each cell receives the precise amount of programming required, and a final verify provides additional feedback confirmation, maintaining high reliability while reducing the total number of verify operations needed during programming.
Data Source
AI summary
First threshold voltages of one or more memory cells in a memory array are obtained. For each memory cell in the one or more memory cells, a target threshold voltage for the memory cell is identified. A number of programming shots to reach the target threshold voltage of the memory cell is determined based on the first threshold voltage of the memory cell. Respective number of programming shots, which are determined for the one or more memory cells, are applied to the one or more memory cells. Whether respective target threshold voltages for the one or more memory cells are reached is verified upon applying the respective number of programming shots to the one or more memory cells.


