Memory Controller Garbage Collection for Sudden Power Off Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash-based storage devices, particularly NAND-type flash memory systems, face challenges in maintaining data consistency and preventing device degradation during sudden power off (SPO) events, as existing garbage collection (GC) strategies may not complete in time, leading to corruption of user data and depletion of free super blocks.
Innovation Solution
The implementation of a GC operation strategy that utilizes single-level cell (SLC) memory blocks as temporary storage for user data from unsafe super blocks (UBs) during rebuild time intervals after SPO, ensuring data is copied to SLC blocks and then to new multi-level cell (MLC) blocks, maintaining data consistency and preventing device degradation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If existing garbage collection strategies are used during sudden power off events, then normal write operations can proceed, but data consistency is compromised and free super blocks are depleted
Solution Approach 1:
The system performs preliminary actions by identifying unsafe super blocks (containing user data) before power off occurs, and initiates data copying to safe super blocks during the rebuild time interval after power restoration. This preliminary identification and preparation ensures that when power is restored, the system knows exactly which blocks need recovery without compromising data consistency.
Solution Approach 2:
The patent introduces a temporary buffer zone using SLC super blocks as an intermediary storage layer. Data from unsafe MLC super blocks is first copied to SLC super blocks (which have higher reliability and faster access), and then from SLC to new MLC super blocks. This intermediary approach ensures data consistency is maintained during the transition, preventing corruption while freeing up blocks.
2Reliability
If garbage collection is prioritized to maintain data consistency, then data safety is improved, but write operations are delayed due to extended rebuild time
Solution Approach 1:
The garbage collection process is segmented into distinct phases: (1) identification of unsafe super blocks, (2) copying to SLC super blocks during rebuild time interval, (3) subsequent copying to new MLC super blocks, and (4) erasure of original unsafe blocks. This segmentation allows the system to perform critical data protection actions during the mandatory rebuild time without blocking all write operations, as other blocks remain available for use.
Solution Approach 2:
The system dynamically adjusts the rebuild process based on available time and resources. During the rebuild time interval after power off, the system prioritizes copying data from identified unsafe blocks to SLC super blocks. Once this critical phase is complete, the system can proceed with copying to new MLC blocks and erasing old blocks in the background, minimizing impact on foreground write operations.
3Reliability
If multiple super blocks are marked as unsafe after sudden power off, then data recovery coverage is improved, but available free space is reduced
Solution Approach 1:
The system identifies unsafe super blocks that contain user data and recovers this data by copying it to safe super blocks (SLC or new MLC). Once the data is successfully recovered and verified in the destination blocks, the original unsafe super blocks are erased and marked as free. This discarding of recovered blocks replenishes the free block pool, maintaining sufficient space for new write operations while ensuring data recovery coverage.
Data Source
AI summary
Memory systems and components thereof execute an improved garbage collection (GC) strategy in the case of multiple sudden power offs (SPOs). Such a memory system comprises a memory device including single-level cell (SLC) memory blocks grouped into super blocks (SLC SBs) and multi-level cell (MLC) memory blocks grouped into SBs (MLC SBs); and a memory controller to execute a flash translation layer (FTL) to perform a garbage collection (GC) operation. The memory controller executes the GC operation after a sudden power off (SPO) by determining each MLC SB with user data opened before the SPO to be an unsafe super block (UB), copying data from pages in a select one of the UBs to pages in the SLC SBs, and copying data from the pages in the SLC SBs to pages in a select MLC SB not determined to be a UB.


