SSD Data Recovery via Pre-Copied DRAM Backup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solid state drive (SSD) data recovery methods are inefficient, leading to prolonged recovery times due to the inability to guarantee data flushing from Dynamic Random Access Memory (DRAM) to NAND in abnormal scenarios, resulting in data loss and prolonged business impact.
Innovation Solution
A data recovery method involving copying memory data from a first memory space to a solidified area of a second memory space, writing address information to a third memory space, and then flushing data into a flash memory space after controller resets, allowing for faster data recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is written into another non-volatile medium and recovered when powered on, then data can be recovered after abnormality, but the SSD firmware needs to scan all blocks to rebuild mapping table, resulting in very long recovery time
Solution Approach 1:
The patent applies preliminary action by pre-copying DRAM data to a specific NAND location (e.g., first logical address) before abnormality occurs. This pre-positioned data eliminates the need for scanning all blocks during recovery, as the firmware can directly access the known location. The mapping relationship is predetermined, allowing immediate recovery without time-consuming scans.
Solution Approach 2:
The patent extracts the critical recovery data from the general data storage pool by dedicating a specific location (first logical address) solely for DRAM backup. This separation allows the recovery process to focus only on this specific extracted location rather than searching through all blocks, significantly reducing recovery time while maintaining reliability.
2Reliability
If SSD scans all blocks to rebuild mapping table after abnormality, then complete data recovery can be achieved, but the scanning process takes hours to complete
Solution Approach 1:
The patent extracts the essential recovery information (DRAM data and mapping table) and places it in a dedicated, pre-defined location (first logical address). This extraction eliminates the need to scan all blocks during recovery, as the firmware knows exactly where to find the critical data, thereby maintaining complete recovery capability while dramatically improving recovery speed.
Solution Approach 2:
The system performs preliminary action by pre-positioning both the DRAM backup data and its corresponding mapping table entry at known locations before any abnormality occurs. This advance preparation allows the recovery process to skip the time-consuming scanning phase and directly access the required data, resolving the contradiction between complete recovery and fast recovery.
3Speed
If DRAM data is not flushed to NAND in abnormal scenarios, then SSD can operate with fast cache, but data in DRAM is lost after reset or hot-swap
Solution Approach 1:
The patent applies preliminary action by automatically copying DRAM data to the first logical address in NAND as a routine operation, ensuring data persistence without impacting normal fast cache operations. This pre-positioning occurs in the background and allows the SSD to maintain high-speed DRAM caching while guaranteeing that critical data is persisted to non-volatile storage before any abnormality occurs.
Solution Approach 2:
The patent introduces an intermediary mechanism (the first logical address in NAND) that acts as a bridge between the fast DRAM cache and the permanent NAND storage. This intermediary location serves as a safety buffer that maintains the benefits of fast caching while providing a fallback persistence layer, resolving the contradiction between speed and reliability.
Data Source
AI summary
A data recovery method, an apparatus, and a solid state drive are provided. The method includes: copying, after an abnormality occurs in the solid state drive, memory data of a first memory space to a solidified area of a second memory space, and then writing address information of the solidified area to a third memory space; recovering, after a controller is reset for the first time, the memory data of the first memory space according to the address information of the solidified area; flushing data of the second memory space into a flash memory space according to the recovered memory data of the first memory space; and performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space.


