Flagmap Data Structure for Storage Device Version Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage devices face challenges in reliably recovering and rolling back data due to the random scattering of invalid pages across multiple physical locations, leading to partial data recovery and loss during garbage collection processes.

Innovation Solution

A system utilizing a flagmap data structure that maps logical block addresses (LBAs) to status bits indicating data validity and recovery enablement, allowing for efficient data recovery and version rollback by maintaining a connection between LBAs and their physical storage locations, even after deletion or update, using a 2-bit status system to track data validity and recovery enablement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in multiple physical locations across multiple NAND dies via multiple channels, then storage capacity and distribution are improved, but data recovery reliability deteriorates due to random scattering of invalid pages

Engineering Contradiction:
Improvestorage capacityVSAvoiddata recovery reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies preliminary action by maintaining a journal that records the mapping between logical block addresses (LBAs) and physical block addresses (PBAs) before data deletion or update operations occur. This journal is updated in advance to reflect the current state of data locations, enabling the system to recover complete files even when invalid pages are scattered across multiple physical locations. The journal serves as a pre-established roadmap that guides data recovery operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If garbage collection is performed on scattered invalid pages, then storage space is reclaimed, but data loss increases due to partial recovery of deleted files

Engineering Contradiction:
Improvestorage space reclamationVSAvoiddata loss
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements feedback by continuously updating the journal with the current mapping information between LBAs and PBAs. Before garbage collection operations proceed, the system queries the journal to identify which invalid pages can be safely reclaimed without affecting data recovery capability. This feedback mechanism ensures that only pages whose mapping information has been preserved in the journal are subjected to garbage collection, preventing accidental loss of recoverable data.

Inventive Principle:
Principle #23Feedback

3Reliability

If a mapping table is maintained to track data locations, then data recovery capability is improved, but device complexity increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidmapping table maintenance
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the mapping table maintenance burden from the critical data path by implementing a separate, dedicated journal structure that is updated asynchronously with data operations. The journal contains only the essential LBA-to-PBA mapping information needed for recovery, separating this tracking function from the main storage operations. This extraction reduces the complexity of the primary storage system while maintaining comprehensive mapping records for data recovery purposes.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11354200B2Method and system for facilitating data recovery and version rollback in a storage device
Publication Date: 2022.06.07 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11354200B2 patent drawing
  • US11354200B2 patent drawing
  • US11354200B2 patent drawing

AI summary

One embodiment provides a system which facilitates organization of data. During operation, the system receives data associated with a logical block address (LBA) to be written to a non-volatile memory. The system stores, in a data structure, a mapping of a first physical block address (PBA) corresponding to the LBA to a first status for the data, wherein the first status indicates data validity and recovery being enabled for the data. Responsive to receiving a command to delete the data, the system modifies the first status to indicate data invalidity and recovery being enabled for the data. Responsive to receiving a command to recover the previously deleted data, the system modifies the first status to indicate data validity and recovery being enabled for the data.