Flash Translation Layer Database Journaling Schemes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile storage devices face challenges in managing data storage effectively during and after electrical power interruptions, as existing solutions do not adequately protect management information stored in volatile memory, leading to potential data loss and performance degradation.

Innovation Solution

A journaling scheme is implemented where a sequence of journaling chunks is created, each containing a slice of the data structure and accumulated changes, stored in non-volatile memory, allowing for efficient reconstruction of the data structure upon power recovery, with the ability to tune chunk size for optimal performance and recovery time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If journaling chunks are stored in non-volatile memory for reconstruction after power interruption, then data protection reliability is improved, but storage device complexity increases

Engineering Contradiction:
Improvedata protectionVSAvoidstorage device complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data structure is divided into multiple slices, and journaling operations are segmented into discrete chunks. Each journaling chunk contains a slice of the data structure plus accumulated changes, allowing incremental storage and reconstruction without requiring protection of the entire data structure simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Journaling chunks are prepared and stored in non-volatile memory before power interruption occurs. The system accumulates changes and periodically creates journaling chunks that capture the state of the data structure at specific points in time, enabling recovery without requiring complex real-time protection mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If journaling chunks include accumulated changes and data structure slices, then reconstruction accuracy is improved, but storage space consumption increases

Engineering Contradiction:
Improvereconstruction accuracyVSAvoidstorage space
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The data structure is divided into slices that are distributed across multiple journaling chunks. Each chunk contains only the necessary slice plus accumulated changes, avoiding redundant storage of complete data structures while enabling accurate reconstruction through sequential assembly of slices and application of changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses a configurable threshold parameter that determines when to create a new journaling chunk based on accumulated changes. This allows optimization of storage space consumption versus reconstruction accuracy by adjusting the chunk creation frequency and size parameters.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If journaling chunks are created frequently to reduce data loss, then reliability is improved, but performance degradation increases

Engineering Contradiction:
Improvedata loss reductionVSAvoidstorage performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The journaling chunk creation frequency is dynamically adjusted based on system conditions. The threshold for creating new chunks can be adapted to balance between reducing data loss and maintaining storage performance, allowing the system to optimize the trade-off between reliability and productivity based on operational requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses adjustable parameters including threshold values that control when journaling chunks are created. By modifying these parameters, the system can tune the frequency of journaling operations to achieve the desired balance between minimizing data loss and maintaining optimal storage performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2901282B1Flash translation layer (FTL) database journaling schemes
Publication Date: 2016.07.20 APPLE INC
  • EP2901282B1 patent drawingFigure 1~2
  • EP2901282B1 patent drawingFigure 3
  • EP2901282B1 patent drawingFigure 4

AI summary

A method includes, in a storage device that includes a non-volatile memory and a volatile memory, maintaining at least one data structure that stores management information used for managing data storage in the non-volatile memory, such that at least a portion of the data structure is stored in the volatile memory. A sequence of journaling chunks is created during operation of the storage device, each journaling chunk including a respective slice of the data structure and one or more changes that occurred in the data structure since a previous journaling chunk in the sequence. The sequence of the journaling chunks is stored in the non-volatile memory. Upon recovering from an electrical power interruption in the storage device, the data structure is reconstructed using the stored journaling chunks.