File-System Remap Commands for Lower-Overhead Block Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Log-structured file systems face inefficiencies due to rapid consumption of segments during out-of-place updates, requiring frequent metadata block updates and leading to segment cleaning overhead and file fragmentation.
Innovation Solution
The method involves separately managing hot and cold segments, performing sequential writes to new blocks in cold segments, updating page mapping tables with new logical and physical page numbers, and applying remap commands to minimize segment cleaning overhead and reduce file fragmentation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If out-of-place update is performed by writing to new blocks in log-structured file system, then file block updates can be performed sequentially, but metadata block must be updated to reflect new block positions causing segment consumption
Solution Approach 1:
The patent extracts the metadata update operation from the file block update process. Instead of updating metadata blocks whenever file blocks are updated to new positions, the system separates these operations: file blocks are updated to new blocks in the data section, while metadata updates are deferred or eliminated through the remap command mechanism that maintains logical page number continuity.
Solution Approach 2:
The patent uses copying by creating a remap command that copies the mapping relationship from the old logical page number to the new physical block position. This remap command structure allows the system to reference the original logical page number while pointing to the new physical location, avoiding the need to update metadata blocks with new logical page numbers.
2Reliability
If metadata block is updated each time file block is updated to new block position, then block address tracking is maintained, but segment cleaning overhead increases
Solution Approach 1:
The patent extracts the block address tracking function from the metadata block structure and implements it through a separate remap command mechanism. The remap command stores the mapping between logical page numbers and new physical block positions independently, allowing the system to maintain accurate tracking without requiring metadata block updates.
Solution Approach 2:
The patent discards the traditional metadata block update approach and recovers the block address tracking function through remap commands. Instead of continuously updating metadata blocks with new logical page numbers, the system discards the old mapping and creates a new remap command that preserves the original logical page number while pointing to the new physical location.
3Adaptability or versatility
If random block update is performed in file system, then file updates can be performed at any position, but file fragmentation occurs
Solution Approach 1:
The patent uses copying by creating a remap command that copies the logical page number to the new physical block position mapping. This allows random block updates to be performed while maintaining a continuous logical address space, as the remap command preserves the original logical page number sequence even though the physical blocks are located elsewhere in the file system.
Solution Approach 2:
The remap command acts as an intermediary between the logical file structure and the physical block storage. It mediates between the desire for random block updates and the need to maintain file continuity by translating logical page number references to new physical block positions without exposing fragmentation to the user or upper layers.
Data Source
AI summary
Provided is a file system including a sequential-writing unit configured to perform sequential write to a new block position of a segment when updating a data block, an updating unit configured to update a page mapping table by mapping a logical page number newly allocated to the new block position and a physical page number newly allocated corresponding thereto, and a remapping unit configured to modify the page mapping table by applying a remap command.


