Aggregating IO Requests to Optimize Physical Large Block Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Active-active storage systems face inefficiencies in utilizing persistent memory tiers due to mismatched transaction block sizes and the need to recalculate parity on each write, leading to suboptimal use of physical large blocks (PLBs) and increased latency.

Innovation Solution

The method involves aggregating IO requests based on a block size, selecting IO requests from different lists to reach the desired block size, and committing these aggregated requests in batches to persistent storage, thereby optimizing the use of PLBs and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If IO requests are processed individually with mismatched block sizes, then transaction latency is reduced, but physical large block (PLB) utilization efficiency deteriorates

Engineering Contradiction:
Improvetransaction latencyVSAvoidPLB utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-calculating parity information and pre-aggregating IO requests into batches before committing them to storage. This allows the system to optimize block size utilization in advance while maintaining low latency through asynchronous processing and background aggregation operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple small IO requests into larger batches that can be efficiently written to PLBs. By combining multiple transactions with mismatched block sizes into unified write operations, the system achieves both low latency (through batch processing) and high PLB utilization efficiency (through optimized block size aggregation).

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If parity is recalculated on each write operation, then data integrity is maintained, but write performance deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary parity calculations during the aggregation phase before the actual write operation. By pre-computing parity information for batches of IO requests, the system maintains data integrity while avoiding repeated parity calculations during commit operations, thus improving write performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent combines multiple write operations into a single batch operation where parity is calculated once for the entire batch rather than individually for each write. This merging approach maintains data integrity through comprehensive parity coverage while dramatically improving write performance by eliminating redundant calculations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12236096B2System and method for aggregation of write commits to control written block size
Publication Date: 2025.02.25 EMC IP HLDG CO LLC
  • US12236096B2 patent drawing
  • US12236096B2 patent drawing
  • US12236096B2 patent drawing

AI summary

A method, computer program product, and computer system for receiving, by a computing device, a plurality of IO requests. A portion of the plurality of IO requests may be aggregated based upon a block size. The portion of the plurality of IO requests may be committed to persistent storage in a batch based upon, at least in part, aggregating the portion of the plurality of IO requests based upon the block size.