Flash File System Proactive Data Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face limitations such as the inability to rewrite data to a previously written location without erasing entire memory sections, reliability issues with 'bad blocks,' and potential data corruption due to misdirected read/write requests, which affect data integrity and storage efficiency.
Innovation Solution
A flash file system with a management layer that performs address mapping, bad block management, error correction, and wear leveling, using a software or firmware implementation to translate virtual addresses to physical addresses, and proactively recovering files by detecting and correcting end-to-end mismatches during read requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If flash memory is used for data storage, then storage cost is reduced, but data integrity deteriorates due to inability to rewrite without erasing entire sections
Solution Approach 1:
The patent segments data into individual bytes within erase blocks and tracks their locations using a mapping structure. When a byte needs to be updated, the system identifies the specific byte location and performs targeted operations by relocating only the affected byte and its associated metadata, rather than erasing entire erase blocks. This segmentation approach maintains flash memory's cost advantage while enabling precise data updates without unnecessary erasures.
Solution Approach 2:
The patent introduces a mapping structure as an intermediary between the logical byte addresses and physical flash memory locations. This mapping structure stores metadata about each byte's current physical location, allowing the system to translate logical update requests into precise physical operations. The intermediary mapping structure enables targeted byte-level updates without requiring erasure of entire flash memory sections, thus improving data integrity while maintaining cost-effectiveness.
2Adaptability or versatility
If entire erase blocks are erased to update data, then data can be rewritten, but storage efficiency deteriorates due to unnecessary data relocation
Solution Approach 1:
The patent applies partial action by updating only the specific byte and its associated metadata rather than erasing entire erase blocks. The system identifies the precise location of the byte to be updated through the mapping structure and performs targeted relocation operations only for affected data, leaving the rest of the erase block intact. This partial update approach maintains data rewrite capability while significantly improving storage efficiency by avoiding unnecessary data relocation operations.
3Quantity of substance
If bad blocks are used in flash memory, then storage capacity is increased, but reliability deteriorates due to unreliable blocks
Solution Approach 1:
The patent extracts and isolates bad blocks from the usable storage space by maintaining a separate mapping structure that tracks which blocks are reliable and which are not. The system identifies bad blocks through error detection during read operations and removes them from the active data storage paths. By taking out bad blocks and maintaining separate tracking information, the system can continue to utilize good blocks for storage while preventing unreliable blocks from compromising data integrity, thus balancing storage capacity with reliability.
4Speed
If read requests are directed to flash memory without verification, then read speed is maintained, but data corruption occurs due to misdirected requests
Solution Approach 1:
The patent implements feedback mechanisms through error detection and correction codes that verify data integrity during read operations. The mapping structure provides feedback about the actual physical location of data, allowing the system to detect when a read request is misdirected and correct the destination automatically. This feedback approach maintains read speed by performing verification in parallel or through efficient error detection algorithms, while simultaneously ensuring data accuracy by catching and correcting misdirected requests before they cause corruption.
Data Source
AI summary
Disclosed are systems and methods for proactively recovering files stored in flash storage devices. The method may be performed at a flash file system. The method may include receiving a write command targeting a first file in a flash memory. The method may also include generating a reference hash corresponding to the first file, and storing the reference hash in the flash memory. The method may also include receiving a read command targeting the first file. In response to receiving the read command, the method may also include: providing a request for a logical block address corresponding to the first file to the flash manager, and receiving a response for the read command. The method may also include, in accordance with a determination that one or more hashes do not map to the first file, performing a file recovery operation for a second file based on the one or more hashes.


