SSD Controller Map Data Recovery via Operation Logs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in efficiently managing data during sudden power off (SPO) events, leading to potential data loss due to the inability to properly flush and recover metadata and cache data in flash memory-based SSDs.
Innovation Solution
A method is introduced where a controller stores operation logs and divides map data into meta data groups, flushes these groups into a meta region, and manages errors by re-flushing data in case of program errors, allowing for reverse loading of map data during SPO events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If map data is flushed into the meta region during normal operation, then data access speed is improved, but data reliability deteriorates due to potential program errors during flushing
Solution Approach 1:
The patent stores operation logs (including start/end addresses and status information) in the meta region before actual map data flushing occurs. This preliminary recording of metadata allows the system to track the flushing process state, so that if a program error occurs during flushing, the system can recover by continuing from the last successful operation rather than losing all data.
Solution Approach 2:
The patent implements a feedback mechanism where operation logs are continuously updated with the status of map data flushing operations. The controller monitors whether flushing is in progress, completed, or failed, and uses this feedback information to make decisions about data recovery and re-flushing, thereby maintaining data reliability while preserving the performance benefits of frequent flushing.
2Reliability
If the controller recovers from sudden power off by reading entire map data in reverse order, then data recovery is achieved, but operation time increases
Solution Approach 1:
The patent stores operation logs that record the flushing process state (start address, end address, and completion status) before power loss occurs. During sudden power off recovery, the controller reads these pre-stored logs to determine exactly where the flushing operation left off, eliminating the need to re-read or re-process the entire map data set and significantly reducing recovery time.
Solution Approach 2:
The patent extracts only the necessary recovery information (operation logs containing start/end addresses and status) from the meta region during recovery, rather than processing the entire map data. This selective extraction of critical information enables fast recovery by focusing only on the specific data that needs to be recovered or re-flushed.
3Reliability
If operation logs are stored in the meta region, then data recovery capability is improved, but meta region space consumption increases
Solution Approach 1:
The patent stores operation logs with specific localized information (start address, end address, and status flags) only for the portions of map data that are currently being flushed or have been flushed. This localized recording approach means that only minimal metadata is stored at any given time, rather than maintaining comprehensive logs for the entire map data set, thus conserving meta region space while preserving recovery capability.
Data Source
AI summary
A memory system including a nonvolatile memory device storing operation logs and map data; a volatile memory for temporarily storing the map data; and a controller flushing the map data from the volatile memory into the nonvolatile memory device by units of map data groups, and rebuilding the map data by selectively reading the map data by the units of map data groups from the nonvolatile memory device into the volatile memory according to the operation logs, wherein the operation logs indicate: locations of first and last pages to store the flushed map data; a start of an error management operation to a program error during the flushing of the map data; and a location of a last page storing normally flushed map data before an occurrence of the program error.


