Log-structured SSD Write Amplification Reduction via Partial Parity

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata volume in segmentVSAvoidwrite-amplification and CPU cycles
Core Design Contradiction:
Quantity of substanceVSLoss of energy

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvesegment structureVSAvoidSSD wear
Core Design Contradiction:
Stability of the object's compositionVSObject-affected harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

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

Engineering Contradiction:
Improveparity protectionVSAvoidCPU cycles
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11681459B2System and method for minimizing write-amplification in log-structured writes
Publication Date: 2023.06.20 EMC IP HLDG CO LLC
  • US11681459B2 patent drawing
  • US11681459B2 patent drawing
  • US11681459B2 patent drawing

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.