Flash Translation Layer Database Journaling Schemes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Manufacturing precision
If journaling chunks include accumulated changes and data structure slices, then reconstruction accuracy is improved, but storage space consumption increases
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.
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.
3Reliability
If journaling chunks are created frequently to reduce data loss, then reliability is improved, but performance degradation increases
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.
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.
Data Source
Figure 1~2
Figure 3
Figure 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.