Memory Cell Programming Health Measurement
Solution Overview
Problem
Memory cell arrays face noise issues due to various sources, including programming and read signals from nearby cells, physical deterioration, and charge drift, leading to inefficient programming settings that result in errors and premature failures.
Innovation Solution
A system and method that measure health characteristics of memory cells before or during programming to adjust programming parameters, optimizing settings for individual or groups of cells based on their health, reducing noise and improving data retention and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If worst case programming settings are applied to all memory cells to ensure low limit performance cells are programmed correctly, then programming reliability is improved, but programming speed deteriorates
Solution Approach 1:
The patent applies different programming settings to different memory cells based on their individual health characteristics. Instead of using uniform worst-case settings for all cells, the system measures health metrics (such as threshold voltage distribution, leakage current, or programming speed) for each cell or group of cells, and then selects appropriate programming parameters from a set of available settings. This allows fast cells to be programmed quickly while ensuring that slow or degraded cells receive the more robust programming sequences they need, thereby resolving the contradiction between programming speed and reliability.
Solution Approach 2:
The patent implements dynamic programming settings that can be adjusted during the memory cell's operational lifetime. The system periodically measures health characteristics of memory cells and updates the programming settings accordingly. This dynamic adaptation allows the programming parameters to evolve with the cell's degradation, maintaining optimal programming speed while ensuring reliability even as cells age. The programming settings are no longer static but change based on real-time health assessments.
2Reliability
If worst case programming settings are used to account for memory cell degradation over time, then long-term reliability is improved, but initial programming efficiency deteriorates
Solution Approach 1:
The patent performs preliminary measurement of health characteristics for each memory cell or group of cells before applying programming settings. By measuring key health metrics in advance (such as initial threshold voltage, leakage current, or programming response), the system can select the most appropriate programming settings from the beginning, rather than using conservative worst-case settings for all cells. This preliminary characterization enables efficient programming from the start while still ensuring reliability for cells that may degrade over time.
Solution Approach 2:
The patent implements a feedback mechanism where the system measures the actual programming response of memory cells and uses this information to adjust programming settings for subsequent operations. During initial programming, the system monitors cell response and feeds this information back to refine the programming parameters. This feedback loop ensures that cells are programmed efficiently based on their actual performance rather than worst-case assumptions, while still maintaining reliability through continuous monitoring and adjustment.
3Device complexity
If uniform programming settings are applied to all memory cells, then device complexity is reduced, but programming precision deteriorates
Solution Approach 1:
The patent utilizes multiple programmable parameters (such as programming voltage amplitude, pulse width, number of pulses, and intermediate verification thresholds) that can be independently adjusted for different memory cells or groups. Instead of using a single uniform programming sequence, the system varies these parameters based on measured health characteristics. For example, cells with higher leakage current may receive lower voltage amplitudes or longer pulse durations, while fast cells may use higher voltages with fewer pulses. This parameter variation improves programming precision without requiring completely different programming circuits for each cell.
Solution Approach 2:
The patent divides the memory array into multiple groups or segments based on measured health characteristics, such as programming speed, threshold voltage distribution, or leakage current levels. Each segment is then programmed using settings optimized for that specific group's characteristics. This segmentation approach allows the system to achieve high programming precision by treating similar cells uniformly while maintaining overall system manageability. The segmentation is typically based on physical proximity (e.g., blocks or sub-arrays) or performance metrics, enabling efficient group-based programming control.
Data Source
AI summary
A system and method of programming user data into a memory cell includes receiving a first user data to be programmed in a memory controller, selecting a memory cell for programming the first user data and measuring at least one health characteristic of the selected memory cell. At least one programming parameter of the selected memory cell is adjusted and the first user data is programmed to the selected memory cell using the adjusted programming parameter corresponding to the selected memory cell.


