File Metadata Consistency During Power Failure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As the types of metadata increase and data size grows, updating metadata can take time, and if a power failure occurs during this process, inconsistencies may arise, potentially leading to lost saved data.
Innovation Solution
The system divides files into data blocks and uses a metadata processing section to store hash values and location information, with a metadata switching section ensuring consistent metadata access by switching between old and new metadata during updates, preventing data loss even in case of power failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If metadata update process is performed with increasing data size and types, then metadata completeness is improved, but update time increases and consistency reliability deteriorates
Solution Approach 1:
The patent segments the file into multiple data blocks and corresponds each block with separate metadata entries. This segmentation allows the metadata to be organized in manageable units, where each metadata entry tracks a specific data block's hash value and location. This structure improves metadata completeness while maintaining consistency through atomic update operations on individual block-metadata pairs.
Solution Approach 2:
The patent implements preliminary action by first writing updated data blocks to temporary storage locations before updating the metadata. The metadata update is then performed atomically after verifying the data blocks are ready. This preliminary preparation ensures that both data and metadata are consistent, preventing the inconsistency problem that occurs when power failures happen during metadata updates.
2Reliability
If metadata update is performed atomically with power failure protection, then data safety is improved, but update time increases
Solution Approach 1:
The patent creates a copy of the metadata structure in memory before writing to storage. The metadata is first prepared and validated in memory, then written atomically to the storage device. This copying approach ensures data safety through atomic operations while minimizing the time impact by performing the expensive atomic write only once after all preparations are complete.
Solution Approach 2:
The patent replaces the mechanical approach of sequentially writing each metadata field with an atomic memory-mapped file write operation. By using memory-mapped files, the system can perform the entire metadata update as a single atomic operation at the memory level, which is then flushed to storage. This substitution reduces update time while maintaining reliability.
3Productivity
If file is divided into multiple data blocks with separate metadata, then file access efficiency is improved, but metadata complexity increases
Solution Approach 1:
The patent creates a universal metadata structure that handles both small and large files efficiently through the same block-based approach. Each data block, regardless of file size, receives the same treatment with corresponding metadata entries storing hash values and location information. This universal structure improves file access efficiency for all file sizes while keeping the metadata complexity manageable through standardization.
Data Source
AI summary
A block processing section divides a file generated by an application into a plurality of data blocks and stored the data blocks in an auxiliary storage device. A metadata processing section stores, in the auxiliary storage device, first metadata including a hash value and information for identifying a storage location of each of the plurality of data blocks. When the file is updated, the block processing section stores an updated data block in another storage location. The metadata processing section stores, in the auxiliary storage device, second metadata including a hash value and information for identifying a storage location of each of a plurality of data blocks including the updated data block. A metadata switching section sets the second metadata to be used for file access.


