Trim Table Logic for Skipping Redundant Journal Replay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The significant contributor to the initialization time of a storage device is the time needed to read and update metadata from a non-volatile device to a volatile device, particularly due to redundant replays of trim journals with different logical address ranges, which adversely affect the open time.
Innovation Solution
A storage device and method that utilize a trim table to initialize trim bits, update metadata, and skip redundant replays of trim journals by determining overlapping address ranges, reducing the time required for journal replay operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If journal replay is performed for all trim journals sequentially, then metadata consistency is ensured, but initialization time increases due to redundant replays of overlapping address ranges
Solution Approach 1:
The patent introduces a trim table that is initialized before journal replay begins. This trim table pre-records the address ranges of trim journals, enabling the system to predict and skip redundant replays in advance. By performing this preliminary setup, the system avoids unnecessary replay operations while ensuring metadata consistency is maintained through selective replay of only non-redundant journals.
Solution Approach 2:
The patent changes the state parameter of the trim table from uninitialized to initialized, and uses this changed state to determine whether to replay or skip journal entries. The initialization of the trim table with address range information transforms the replay process from a blind sequential operation to a selective operation based on address range comparison, thereby reducing redundant replays.
2Ease of operation
If trim journal replay is performed without checking for overlapping address ranges, then processing is simpler, but time is wasted on redundant replays
Solution Approach 1:
The patent segments the journal replay process into distinct phases: initialization of the trim table with address range information, comparison of address ranges to detect overlaps, and conditional replay based on overlap detection. This segmentation adds a comparison step but breaks the monolithic replay process into manageable segments, making the overall operation more efficient despite the added complexity.
Solution Approach 2:
The trim table acts as an intermediary data structure between the journal replay process and the address range comparison logic. It stores pre-recorded address range information and facilitates the comparison operation, serving as a mediator that enables intelligent skipping of redundant replays without requiring complex direct analysis of journal entries.
3Reliability
If all trim journals are replayed regardless of overlap, then data integrity is maintained, but open time is adversely affected
Solution Approach 1:
The trim table is initialized in advance with address range information from trim journals, creating a reference framework before the actual replay process begins. This preliminary action enables the system to identify and skip redundant replays while maintaining data integrity through selective replay of only necessary journal entries, thereby reducing open time.
Solution Approach 2:
The system changes the replay execution parameter from 'always replay' to 'replay only if no overlap detected'. This parameter change is controlled by the overlap detection mechanism using the initialized trim table, allowing the system to maintain data integrity for necessary replays while skipping redundant ones to reduce open time.
Data Source
AI summary
A journal replay method of a storage device includes loading metadata into a buffer memory, initializing a first trim bit and a second trim bit of a trim table to a clear state, the first and second trim bits indicating a replay status of respective first and second trim journals in first and second address ranges of the metadata, updating first metadata corresponding to the first address range by replaying the first trim journal, setting the first trim bit corresponding to the replayed first trim journal to a set state, determining whether the second address range of the second trim journal overlaps the first address range, and skipping replay of the second trim journal based on a state of the first trim bit based on determining that the second address range overlaps the first address range.


