Flash File System Proactive Data Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage costVSAvoiddata integrity
Core Design Contradiction:
Ease of manufactureVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata rewrite capabilityVSAvoidstorage efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If bad blocks are used in flash memory, then storage capacity is increased, but reliability deteriorates due to unreliable blocks

Engineering Contradiction:
Improvestorage capacityVSAvoidblock reliability
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Speed

If read requests are directed to flash memory without verification, then read speed is maintained, but data corruption occurs due to misdirected requests

Engineering Contradiction:
Improveread speedVSAvoiddata accuracy
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11875062B1Proactive hardening of data storage system
Publication Date: 2024.01.16 SANDISK TECHNOLOGIES LLC
  • US11875062B1 patent drawing
  • US11875062B1 patent drawing
  • US11875062B1 patent drawing

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.