Small-Block Log Aggregation for Write Amplification Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems, high write amplification occurs due to the mismatch between small logical log entries and fixed-size blocks in block-oriented devices, leading to increased latency and wasted storage, especially in scenarios with multiple instances of logical logs writing small amounts of data.
Innovation Solution
Implementing a system with an object manager that logs write requests in small-block logs, aggregates them into fixed-size data blocks, and flushes these blocks to storage on an as-needed basis, using a write-optimized data structure like a log-structured merge tree to reduce write amplification and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If small logical log entries are written directly to block-oriented storage devices, then data integrity and crash recovery are improved, but write amplification increases and storage efficiency deteriorates
Solution Approach 1:
The patent merges multiple small logical log entries into a single physical log block before writing to storage. The log buffer accumulates multiple small entries (e.g., 4KB each) and combines them into one physical write operation, reducing write amplification while maintaining data integrity through the persistent log structure.
2Reliability
If small logical log entries are flushed immediately to disk, then data durability is improved, but latency increases due to frequent write operations
Solution Approach 1:
The system performs preliminary buffering of small log entries in memory before writing to disk. The log buffer holds multiple entries temporarily, allowing them to be aggregated into full physical blocks before the actual write operation, thereby reducing latency while ensuring durability through the persistent log structure.
Solution Approach 2:
The patent maintains a continuous log buffer in memory that accumulates small entries over time. This continuous buffering allows the system to maintain data durability while avoiding frequent interruptive write operations, as the buffer continuously collects entries until a full physical block is ready for writing.
3Reliability
If multiple instances of logical logs write small amounts of data independently, then data integrity for each instance is maintained, but overall write amplification increases significantly
Solution Approach 1:
The patent merges small log entries from multiple independent logical log instances into a shared log buffer. This allows multiple instances (e.g., file system logs, database logs) to contribute their small entries to a common buffer, which then aggregates them into full physical blocks for efficient writing, reducing overall write amplification while maintaining integrity for each instance.
Data Source
AI summary
Processing write requests from clients includes logging the associated data into logs corresponding to the data objects targeted by the write requests. The logs are persisted by combining log entries from each of the logs into one ore more fixed-size data blocks. The fixed-size data blocks are inserted into a data tree stored on a block-based storage device.


