Dynamic MLC Write Path Selection Based on Block Health
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory systems face challenges in balancing write performance and error protection, particularly when directly writing to multi-level cell (MLC) blocks without initial writes to single-level cell (SLC) blocks, which can lead to increased risk of write failures due to varying block health and bit error rates.
Innovation Solution
A method and system that dynamically manage host data writes by predicting the health of MLC blocks, allowing direct writes to healthy blocks for a limited time before re-checking, and switching to a multi-step write path via SLC blocks for unhealthy blocks, using a block health rating system to differentiate and assign write cycles based on bit error rate (BER) thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If direct write to MLC blocks is used, then write speed is improved, but write reliability deteriorates due to higher bit error rate and lack of backup copy
Solution Approach 1:
The system dynamically selects between direct write and fold write paths based on real-time block health status. Healthy blocks with low BER receive direct writes for maximum speed, while unhealthy blocks with high BER receive fold writes with SLC backup for reliability. This dynamic adaptation resolves the contradiction by adjusting the write path according to actual block conditions rather than using a fixed approach for all blocks.
Solution Approach 2:
The system changes the write operation parameters based on block health metrics. When block health is good (low BER), the write operation uses direct programming with high speed. When block health deteriorates (high BER), the system transitions to fold write operations that include SLC backup, effectively changing the operational parameters to maintain reliability. This parameter adaptation allows the system to optimize for speed when possible and reliability when necessary.
2Reliability
If fold write through SLC blocks is used, then write reliability is improved through backup copy, but write performance deteriorates due to extra write step
Solution Approach 1:
The system segments the write operation into two distinct paths: direct write for healthy blocks and fold write for unhealthy blocks. By segmenting the write strategy based on block health, the system avoids applying the slower fold write process to all blocks, thereby maintaining high performance for healthy blocks while ensuring reliability for unhealthy ones. This segmentation resolves the contradiction by applying reliability measures only where necessary.
Solution Approach 2:
The system uses SLC blocks as an intermediary backup storage for fold writes to MLC blocks. When a MLC block is unhealthy, data is first written to SLC blocks which have lower BER and higher reliability, then folded to the MLC block. This intermediary approach provides reliability protection only when needed, rather than always using the slower fold path, thus resolving the performance-reliability contradiction.
3Reliability
If error correction encoding is used for direct MLC write, then write reliability is improved, but processing time and complexity increase
Solution Approach 1:
The system performs preliminary assessment of block health (BER measurement) before executing write operations. By determining block health in advance, the system can decide whether direct write or fold write is appropriate, avoiding the need for complex error correction encoding during the write process itself. This preliminary action simplifies the write operation while maintaining reliability through intelligent path selection.
Solution Approach 2:
Instead of applying error correction encoding to all direct writes to MLC blocks, the system inverts the approach by using fold writes with SLC backup for unhealthy blocks. This inversion shifts the reliability mechanism from post-write error correction to pre-write protective copying, reducing processing complexity during the actual write operation while maintaining error protection.
Data Source
AI summary
A system and method for managing data writes in a non-volatile memory including SLC and MLC blocks of non-volatile memory and a MLC block health rating data structure tracking relative MLC block health. A controller in the system may be configured to select MLC blocks for receiving host data and then route the host data over a direct MLC write path for healthy blocks, or over a two-step indirect write path that includes a SLC write and a SLC-MLC fold for unhealthy MLC blocks. The method may include assigning a health designation based on BER determined for each MLC block and assigning a direct write number to healthy MLC blocks based on the determined BER that limits the number of program/erase cycles for direct writes for a particular MLC block until a re-assessment of block health is needed.


