In-Line Erasure Coding Using Write-Ahead Log
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing erasure coding techniques require significant IOPS resources for post-process EC, which is inefficient, especially for small data writes, due to the need to read, write, and update metadata across multiple chunk files, leading to suboptimal storage space usage and increased overhead.
Innovation Solution
The implementation of an in-line erasure coding process using a write-ahead log, where an entire chunk file serves as a data stripe, reducing the number of IOPS needed by grouping chunk files and performing EC within the log, thereby minimizing the need for metadata updates and chunk file rewrites.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If post-process EC is used to improve storage space usage, then storage efficiency is improved, but IOPS resources are significantly consumed and metadata updates are frequent
Solution Approach 1:
The patent applies preliminary action by performing erasure coding operations on data chunks before they are committed to chunk files, during the write process itself. The EC configuration is applied in-line as data is being written to the write-ahead log, converting data chunks to data stripes and generating parity stripes immediately, rather than performing these operations later during a separate post-process phase. This eliminates the need for subsequent metadata updates and chunk file rewrites.
2Productivity
If data stripe width is increased to reduce EC overhead, then processing efficiency is improved, but storage space usage becomes inefficient for small data writes
Solution Approach 1:
The patent applies segmentation by dividing data into variable-sized data chunks based on the actual write size, rather than using fixed large data stripe widths. Each data chunk is then processed through EC to generate the appropriate number of data stripes and parity stripes. This allows the system to maintain efficient EC processing by processing data in appropriately sized segments rather than forcing all data into large fixed-width stripes, thereby improving storage space utilization for small writes while maintaining processing efficiency.
3Reliability
If multiple chunk files are used to store data stripes, then fault tolerance is improved, but metadata update complexity and IOPS requirements increase
Solution Approach 1:
The patent applies merging by consolidating the storage of data stripes and parity stripes into a unified write-ahead log structure, rather than distributing them across multiple separate chunk files. The write-ahead log sequentially stores data chunks that are converted to data stripes and parity stripes in-line, eliminating the need for complex metadata updates across multiple chunk files while maintaining fault tolerance through the EC configuration. This unified approach reduces metadata complexity and IOPS requirements while preserving reliability.
Data Source
AI summary
A plurality of data stripes and one or more parity stripes are generated using a plurality of data chunks stored in a write-ahead log based on an erasure coding configuration. The plurality of data stripes and the one or more parity stripes are stored on corresponding different storage devices. The plurality of data stripes and the one or more parity stripes are associated together under a data protection grouping container.


