Flash Translation Layer Recovery Using Sequence Numbers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flash translation layers (FTL) in flash memory based storage devices are difficult to recover after an unintended power down, as the FTL database is large and typically not saved in time before a system shutdown.

Innovation Solution

A method and apparatus for restoring the FTL by using sequence numbers (SNs) and logical block addresses (LBAs) to reconstruct the FTL database in random access memory (RAM) after reactivating the storage device, with additional features including the use of LBA lists and index tables for efficient recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the FTL database is maintained in a large size to properly map LBA to PPA, then the mapping functionality is improved, but the recovery difficulty increases after unintended power down

Engineering Contradiction:
ImproveFTL mapping functionalityVSAvoidFTL recovery difficulty
Core Design Contradiction:
ReliabilityVSEase of repair

Solution Approach 1:

The FTL database is segmented into multiple portions distributed across different flash memory blocks. Each block contains a portion of the FTL database along with sequence numbers. This segmentation allows the system to recover only necessary portions of the FTL database after power down, rather than requiring complete database recovery, thus reducing recovery difficulty while maintaining mapping functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Sequence numbers are preliminarily stored in each flash memory block before write operations. These sequence numbers serve as markers that enable the recovery process to identify and retrieve the correct FTL database portions after power down, facilitating easier recovery without compromising the integrity of the large FTL database.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the complete FTL database is recovered after power down, then data integrity is improved, but recovery time increases

Engineering Contradiction:
Improvedata integrityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of recovering the complete FTL database after power down, the system recovers only the necessary portions of the FTL database that contain valid data. The sequence numbers enable the system to identify which blocks contain valid FTL entries and recover only those portions, thereby reducing recovery time while maintaining data integrity for all necessary mappings.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent replaces the conventional approach of recovering the entire FTL database with a selective recovery mechanism based on sequence numbers. This substitution allows the system to quickly identify and recover only the necessary FTL database portions, dramatically reducing recovery time while ensuring data integrity through the sequence number validation process.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of repair

If sequence numbers are stored in each flash memory block to enable recovery, then recovery capability is improved, but device complexity increases

Engineering Contradiction:
Improverecovery capabilityVSAvoidstorage structure complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The sequence numbers are merged with the existing flash memory block structure, where each block contains both data and an associated sequence number. This integration allows the recovery mechanism to operate within the existing storage architecture without requiring separate complex recovery structures, thus improving recovery capability while minimizing the increase in device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9292434B2Method and apparatus for restoring flash translation layer (FTL) in non-volatile storage device
Publication Date: 2016.03.22 POINT FINANCIAL
  • US9292434B2 patent drawing
  • US9292434B2 patent drawing
  • US9292434B2 patent drawing

AI summary

A method and apparatus configured to restore a flash translation layer (“FTL”) in a non-volatile (“NV”) storage device are disclosed. After reactivating the NV storage device from an unintended system crash, a process of recovering FTL, in one embodiment, receives a request for restoring at least a portion of the FTL or FTL database. After identifying sequence numbers (“SNs”) associated with flash memory blocks (“FMBs”) which are generated during write cycle(s), the SNs are retrieved from the information storage locations such as state information in the FMBs. A portion of the FTL database is subsequently reconstructed in a random access memory (“RAM”) according to the SNs. In an alternative embodiment, logical block addresses (“LBAs”), LBA lists, and/or index tables can also be used to restore the FTL database or table.