Flash Memory Controller File Recovery via L2P Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing flash storage devices face challenges in recovering deleted files due to overwriting of data, as the original file data is often overwritten when new data is written to the same logical address, making it impossible to recover the deleted file using conventional methods.
Innovation Solution
A storage device with a controller that identifies logical addresses associated with deleted files, determines their physical locations using L2P mapping tables, and associates new logical addresses with these locations to recover the deleted files, even if the data has been overwritten, by searching through previous physical locations and overprovisioned blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If file recovery software parses directory entries to recover deleted files, then file recovery is possible when data has not been overwritten, but file recovery fails when new data has been written to the corresponding cluster
Solution Approach 1:
The system performs preliminary actions by creating and maintaining L2P mapping tables that track the physical location of data before overwriting occurs. When a file is deleted, the mapping table preserves the association between logical addresses and physical locations, enabling recovery even after the file system directory entries are removed. This preliminary tracking mechanism ensures that data can be recovered unless explicitly overwritten with new data.
Solution Approach 2:
The system creates a copy of the address mapping information in the L2P mapping table that is separate from the file system directory structure. This copied mapping information allows the controller to independently track data locations without relying on the file system's directory entries, enabling recovery through the controller's internal mapping rather than through file system parsing.
2Reliability
If the storage device maintains detailed L2P mapping tables to enable file recovery, then file recovery capability is improved, but the complexity and memory requirements of the controller increase
Solution Approach 1:
The L2P mapping table is segmented into multiple pages, with each page containing mappings for a specific range of logical addresses. This segmentation allows the controller to manage and access mapping information in smaller, more manageable units, reducing the complexity of maintaining a single large mapping structure while still providing comprehensive tracking capability across the entire storage device.
3Reliability
If overprovisioned blocks are used to store invalidated data, then file recovery capability is enhanced, but the available storage capacity for user data is reduced
Solution Approach 1:
The system dynamically changes the status parameter of certain physical blocks from 'user-available' to 'overprovisioned' based on recovery needs. Blocks are designated as overprovisioned when they contain invalidated data that should be preserved for potential recovery, allowing the system to adjust the allocation of blocks between user storage and recovery preservation based on the current state of the file system and L2P mappings.
Data Source
AI summary
Aspects of a storage device including a memory and a controller are provided which allow for data associated with a deleted file to be recovered from the memory when the data is overwritten by a new file at the same logical address. To locate the data, the controller may identify a logical address associated with the data based on a directory entry associated with a FAT. The controller may determine a physical location of the data associated with the logical address based on one or more control entries in a L2P mapping table, such as a previous control entry in the table. The controller may also determine the physical location based on a hot count associated with the previous control entry. After the physical location is determined, the controller may associate a new logical address with the physical location of the data to recover the deleted file.


