Log-structured SSD Write Amplification Reduction via Partial Parity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In log-structured storage systems, when data is not enough to fill a parity-protected segment, padding with zeros is necessary, which leads to write-amplification and unnecessary CPU cycles, as well as no effect on the generated parity for RAID-5 and first parity of RAID-6, and potential dependency on the RAID-6 parity algorithm.
Innovation Solution
Decompose write requests into RAID elements and parity stripe elements, calculate parity using only valid RAID elements, and issue writes for all valid elements, then issue an unmap command to invalid segments to return zeros on reads without writing them, thereby avoiding padding with zeros.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is padded with zeros to fill the segment, then the segment is completely filled and parity can be calculated, but write-amplification increases and unnecessary CPU cycles are consumed
Solution Approach 1:
The patent extracts and removes the unnecessary padding zeros from the write operation. Instead of writing zeros to fill the segment, the system identifies and processes only the valid data portion, extracting the harmful padding operation and eliminating it from the write amplification cycle.
Solution Approach 2:
The patent applies partial action by writing only the necessary valid data portion to the segment rather than writing the entire segment size including padding. The unmap operation is then applied to the unused portion, achieving the filling effect without the excessive write action of padding zeros.
2Stability of the object's composition
If padding zeros are written to fill the segment, then the segment structure is maintained, but SSD wear increases due to unnecessary writes
Solution Approach 1:
The harmful padding zeros are extracted and removed from the write operation. The system processes only valid data and applies unmap to the remainder, eliminating the SSD-wearing write operation while preserving segment structure through the unmap mechanism.
Solution Approach 2:
Instead of writing persistent zero padding that causes wear, the system uses the unmap operation which is a lighter, disposable operation that achieves the same structural effect without the harmful physical write to SSD.
3Reliability
If parity is calculated on the full segment including padding, then parity protection is maintained, but CPU cycles are wasted on calculating parity for zeros
Solution Approach 1:
The patent extracts and removes the padding zeros from the parity calculation process. Parity is calculated only on valid data elements, eliminating the wasteful CPU cycles spent computing parity for zero values while maintaining protection for the actual data.
Solution Approach 2:
The system applies partial action by calculating parity only for the valid data portion rather than the entire segment. The unmap operation on the unused portion provides sufficient protection without the excessive computation of padding parity.
Data Source
AI summary
A method, computer program product, and computer system for submitting, by a computing device, a write for a write-request equal to a size of valid data in a segment. The write-request may be decomposed into RAID elements and corresponding parity stripe elements. Parity for RAID stripes may be calculated using only valid RAID elements of the RAID elements. A write for all the valid RAID elements and the corresponding parity stripe elements may be issued. An unmap command may be issued to at least a portion of the segment that is invalid.


