Block Pointer Reference Weight Transfer for Write Split Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The process of managing reference weights during write splits in data storage systems is burdensome, requiring numerous disk accesses and reducing throughput, especially when overwriting shared data blocks that are dispersed across diverse storage locations.
Innovation Solution
The technique transfers reference weights from one block pointer to another that shares the same data block, eliminating the need to access metadata blocks and leveraging the locality of related block pointers to coalesce transactions, thereby reducing the number of disk accesses required.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reference weights are returned to BMD during write splits, then block sharing relationships are properly tracked, but the number of disk accesses increases and throughput decreases
Solution Approach 1:
The patent extracts the reference weight management from the BMD update process. Instead of returning reference weights to BMD during write splits, the system removes this burden by having block pointers maintain their own reference weights independently, eliminating the need for costly BMD reads and writes while preserving block sharing relationship tracking
Solution Approach 2:
The patent introduces block pointers as intermediaries that carry reference weight information. Rather than directly updating BMD with reference weight changes, the block pointers themselves serve as the medium for tracking and managing reference weights, reducing the need for BMD accesses
2Measurement precision
If BMD is updated for many dispersed data blocks, then reference weight accuracy is maintained, but the number of read and write operations increases
Solution Approach 1:
The patent performs preliminary action by having block pointers maintain their reference weights continuously and independently. This preliminary tracking eliminates the need for subsequent BMD updates during write splits, as the reference weight information is already available in the block pointers themselves, ready for immediate use without disk accesses
3Productivity
If reference weights are transferred between block pointers, then the number of disk accesses is reduced, but block pointer complexity increases
Solution Approach 1:
The patent applies universality by making block pointers multi-functional. Block pointers not only store address information but also maintain reference weights and participate in write split operations. This consolidation of multiple functions into the block pointer structure eliminates the need for separate BMD update mechanisms, improving throughput despite the increased versatility required of block pointers
Data Source
AI summary
A technique for performing overwrites on shared data blocks in a file system transfers reference weights of block pointers to other block pointers that share those data blocks. To overwrite a portion of a file stored in a shared data block pointed to by a first block pointer, a file system manager locates a second block pointer in the file system that points to the same data block. The first block pointer has a first reference weight, and the second block pointer has a second reference weight. The file system manager transfers the first reference weight to the second block pointer, e.g., by replacing the second reference weight with the sum of the first reference weight and the second reference weight.


