Memory Controller Block Selection for Retention and Disturb Risks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices face data loss and corruption due to factors like charge decay, interference between cells, and repeated write/read operations, leading to reduced reliability and the need for power-consuming background operations to maintain data integrity.
Innovation Solution
A memory controller determines retention and disturb vulnerabilities for memory blocks, selects appropriate destination blocks based on data characteristics, and moves target data to optimize data reclamation, reducing error occurrence and resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If background operations are performed to maintain data integrity, then data reliability is improved, but power consumption increases
Solution Approach 1:
The memory controller performs preliminary assessment of retention vulnerability and disturb vulnerability for each memory block before data corruption occurs. By proactively identifying blocks at risk and relocating data in advance, the system prevents data loss without requiring continuous power-consuming background operations, thus resolving the contradiction between maintaining data integrity and reducing power consumption
Solution Approach 2:
The system uses the memory device's own vulnerability characteristics (retention vulnerability and disturb vulnerability) to guide data relocation decisions. The memory device essentially serves itself by providing the necessary information about its weak points, allowing the controller to optimize data placement without external intervention or continuous monitoring, thereby reducing power consumption while maintaining reliability
2Duration of action of stationary object
If data is relocated to blocks with low retention vulnerability, then data retention is improved, but operation complexity increases
Solution Approach 1:
The memory device is divided into multiple blocks, each assessed for retention vulnerability and disturb vulnerability. By segmenting the memory space and categorizing blocks based on their vulnerability profiles, the system can make targeted relocation decisions for specific data blocks rather than performing blanket operations, simplifying the overall process while improving data retention
Solution Approach 2:
The system changes the operational parameters by considering two key vulnerability metrics (retention vulnerability and disturb vulnerability) when selecting destination blocks for data relocation. This parameter-based approach automates the decision-making process, making the operation easier to execute while ensuring data is placed in optimal locations for long-term retention
3Reliability
If vulnerability assessment and targeted relocation are performed, then error reduction is improved, but processing time increases
Solution Approach 1:
Instead of assessing and relocating data from all memory blocks, the system performs partial action by targeting only those blocks identified as having high retention vulnerability or high disturb vulnerability. This selective approach reduces the overall processing time while still achieving significant error reduction by focusing resources on the most problematic areas
Data Source
AI summary
Provided is a memory system. The memory system may include a non-volatile memory device including a memory cell array that includes a plurality of blocks, and a memory controller electrically connected to the non-volatile memory device and configured to control the non-volatile memory device. The memory controller may be configured to determine a retention vulnerability and a disturb vulnerability for each of the plurality of blocks, determine data characteristics of target data for reclamation, select a destination block for moving the target data based on the data characteristics and at least one of the retention vulnerability or the disturb vulnerability, and control the non-volatile memory device to move the target data to the destination block.


