Memory Controller SPO Recovery Using Journaling Deletion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory systems face challenges in managing data during sudden power off (SPO) events, particularly in maintaining the number of free memory blocks and preventing unnecessary data movement when the number of free blocks is insufficient.
Innovation Solution
A memory controller is configured to determine the state of the memory device during SPO, deciding whether to delete journaling information or migrate data to a migration block based on the state, thereby maintaining the number of free blocks and preventing unnecessary data movement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the memory system executes recovery operation by migrating data after SPO, then data loss is minimized, but the number of free memory blocks decreases when free blocks are insufficient
Solution Approach 1:
The system determines the state of the memory device at the moment of SPO occurrence and takes preliminary action by deleting journaling information when garbage collection is already in progress, rather than migrating data. This preliminary decision prevents the consumption of free blocks that would be needed for subsequent garbage collection operations.
Solution Approach 2:
The recovery operation changes its behavior based on the parameter of memory device state (whether garbage collection is in progress). When GC is in progress, the system changes from data migration mode to journaling deletion mode, thereby preserving free blocks while still maintaining data integrity through alternative means.
2Reliability
If the memory system migrates data during recovery operation, then data integrity is maintained, but unnecessary data movement occurs when free blocks are insufficient
Solution Approach 1:
The system performs a preliminary check of the memory device state (whether garbage collection is in progress) before deciding on the recovery action. This preliminary assessment prevents unnecessary data migration when the memory device is already in garbage collection mode, thereby avoiding wasted operations and improving overall efficiency.
Solution Approach 2:
Instead of always performing full data migration to ensure data integrity, the system applies a partial action by only migrating data when necessary (when GC is not in progress). When GC is in progress, the system relies on the ongoing garbage collection process rather than performing redundant data migration, thus avoiding excessive operations.
3Quantity of substance
If the memory system deletes journaling information during recovery, then free memory blocks are preserved, but data loss may occur if not properly managed
Solution Approach 1:
The system takes a preliminary action of deleting journaling information only after confirming that garbage collection is already in progress. This preliminary verification ensures that data safety is maintained because the ongoing garbage collection process will handle data integrity, allowing safe deletion of journaling information to preserve free blocks.
Solution Approach 2:
The garbage collection process acts as an intermediary that ensures data safety during the recovery operation. When GC is in progress, it mediates between the need to delete journaling information (to preserve free blocks) and the need to maintain data safety, providing a safe context for journaling deletion.
Data Source
AI summary
Embodiments of the disclosed technology relate to a memory system, and a memory controller and a method of operating the same. In performing a recovery operation after occurrence of sudden power off (SPO), by determining whether to delete, from a memory device, journaling information associated with data stored in a target open memory block based on the state of the memory device, thereby preventing unnecessary data movement in a situation where the number of free memory blocks included in the memory device is insufficient, and maintaining the number of free memory blocks included in the memory device to a predetermined value or more.


