Memory Cell Programming Mode Detection from Read Statistics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in optimizing performance due to errors in reading data from memory cells, which can lead to increased read retry and reduced efficiency, particularly when storing multiple bits per cell, and the need for balancing storage capacity with error recovery options.
Innovation Solution
A memory sub-system that adaptively selects a programming mode for memory cells based on usage parameters and error recovery options to optimize performance, using a predictive model to determine the optimal programming mode for a set of memory cells.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multiple bits per cell are stored to increase storage capacity, then storage density is improved, but read errors increase leading to higher retry rates
Solution Approach 1:
The patent segments the memory cell population into multiple groups based on their error characteristics and performance metrics. Each group is assigned a specific programming mode (e.g., SLC, MLC, TLC, QLC) that optimizes the trade-off between storage capacity and reliability for that particular segment. This segmentation allows the system to simultaneously maintain high storage density while ensuring adequate read reliability across different cell populations.
Solution Approach 2:
The patent implements dynamic programming mode selection that adapts to changing memory cell characteristics over time. The system continuously monitors read error rates, program/erase cycle counts, and other performance metrics, then dynamically adjusts the programming mode assignment for different cell groups. This dynamic adaptation enables the system to respond to cell degradation and optimize the balance between storage capacity and read reliability throughout the memory device's operational lifetime.
2Reliability
If read retry operations are performed to correct errors, then data accuracy is improved, but read performance and efficiency deteriorate
Solution Approach 1:
The patent performs preliminary classification of memory cells into different programming mode groups before actual read operations occur. By pre-organizing cells into groups with similar error characteristics and assigning appropriate programming modes in advance, the system reduces the need for read retry operations during actual data access. This preliminary organization ensures that reads from cells in more reliable programming modes (like SLC) require fewer retries, thereby improving overall read performance while maintaining data accuracy.
3Quantity of substance
If programming mode is fixed to optimize for capacity, then storage density is improved, but adaptability to different usage scenarios is reduced
Solution Approach 1:
The patent creates a universal memory management framework that can handle multiple programming modes (SLC, MLC, TLC, QLC) within the same memory device. The system maintains multiple groups of memory cells, each capable of operating in different programming modes, and can dynamically assign cells to appropriate modes based on usage requirements. This multi-functional approach allows the memory device to adapt to different workloads - using higher-capacity modes for bulk storage and lower-capacity modes for performance-critical applications - thereby achieving both high storage density and programming mode flexibility.
Data Source
AI summary
Systems, methods and apparatus to determine a programming mode of a set of memory cells without having bit values stored in the memory cells to include an identifier of the programming mode. During the test of which of the memory cells in the set is in a lowest voltage region, which is a common operation for reading the memory cells programmed in different mode, the statistics of the memory cells found to be in the lowest voltage region can be compared to the known, different behaviors of the memory cell set programmed in different modes. A match with the behavior of one of the modes can be used to identify the matching mode as the programming mode of the set of memory cells.


