Coalescing Writes for RAID Storage Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems using RAID technology face inefficiencies due to the need to read and write parity information for every IO request, leading to premature IO bottlenecks and increased costs, power consumption, and complexity when additional disk drives are added to manage the load.

Innovation Solution

The technique involves mapping IO requests specifying data to be written to contiguous physical addresses, allowing for full-stripe writes, which reduces the number of disk accesses required to maintain parity and improves disk utilization without the need for additional disk drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written to RAID stripes with parity segments, then data protection is provided, but the number of disk IO operations increases due to required parity read and write

Engineering Contradiction:
Improvedata protectionVSAvoiddisk IO throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple scattered data writes into a single coalesced write operation that fills an entire RAID stripe. By merging individual writes targeting different segments of the same stripe into one unified operation, the system writes parity information only once for the entire stripe rather than once per individual write, thereby reducing total disk IO operations while maintaining RAID data protection.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary coalescing of multiple write operations in memory before issuing them to the disk subsystem. By pre-aggregating data from multiple IO requests into full stripe buffers and preparing the complete write operation in advance, the system eliminates redundant parity computations and disk accesses, improving throughput while preserving reliability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If additional disk drives are incorporated to share the load, then IO capacity increases, but system cost, power consumption, and complexity increase

Engineering Contradiction:
ImproveIO capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the operational parameters of existing disk drives by optimizing write patterns to utilize full stripe coalescing. By modifying how data is aggregated and written at the software/firmware level rather than adding hardware capacity, the system extracts additional IO capacity from the existing drive configuration without increasing device count, power consumption, or system complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If parity information is read and written for each IO request, then data integrity is maintained, but disk drives become IO bound prematurely

Engineering Contradiction:
Improvedata integrityVSAvoiddisk utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple individual parity write operations into a single parity write operation per RAID stripe. By coalescing writes so that multiple data segments filling different portions of the same stripe are written together with a single parity computation and write, the system maintains data integrity through proper RAID parity while dramatically reducing the frequency of parity maintenance operations that cause disk drives to become IO bound.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9720596B1Coalescing writes for improved storage utilization
Publication Date: 2017.08.01 EMC IP HLDG CO LLC
  • US9720596B1 patent drawing
  • US9720596B1 patent drawing
  • US9720596B1 patent drawing

AI summary

A technique for managing a data storage system that stores data in a set of RAID groups includes receiving IO requests specifying data to be written at different logical addresses and mapping the specified data to contiguous physical addresses, so as to produce contiguously-mapped data having a length equal to that of a full stripe of a RAID group. With data from the IO requests mapped to a contiguous, full-stripe range, the data storage system can write the data and its parity to a full stripe of the RAID group in a single set of operations.