Cache Coalesce-Expected Flag for Contiguous Write Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, the lack of synchronization between renaming and flushing operations in cache-based data logs leads to fragmented writes and degraded performance, as the cache may flush pages before all mapped pages are available, requiring additional writes and disk reads to fill in missing pages.

Innovation Solution

The technique involves asserting a coalesce-expected flag to indicate contiguous free space at target locations, delaying the flushing of flagged pages to allow more time for aggregating writes to contiguous ranges, while flushing unflagged pages promptly, thereby enhancing cache efficiency and promoting contiguous writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the cache flushes pages asynchronously without synchronization to renaming operations, then the cache can operate independently and quickly acknowledge writes, but the writes become fragmented and performance degrades

Engineering Contradiction:
Improvewrite acknowledgment speedVSAvoidsequential write performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs preliminary actions by checking during the rename operation whether all pages mapping to a contiguous storage range are available. If so, it sets a flag to indicate that the cache should delay flushing these pages until they are all ready, thereby preparing the conditions for sequential writes before the actual flush occurs

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rename operation provides feedback to the cache by setting a flag that indicates whether all pages for a contiguous range are ready. This feedback mechanism allows the cache to adjust its flushing behavior dynamically - delaying flushes when pages are ready to enable aggregation, and proceeding with normal async flushing when pages are not ready

Inventive Principle:
Principle #23Feedback

2Productivity

If the cache delays flushing flagged pages to allow aggregation, then sequential writes can be achieved, but the flushing operation takes longer

Engineering Contradiction:
Improvesequential write performanceVSAvoidflushing delay time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies partial delay action by only delaying the flush of pages that are flagged as ready for aggregation. Unflagged pages continue to be flushed immediately without delay. This partial application of delay minimizes the overall impact on flushing performance while still achieving sequential writes for the pages that can be aggregated

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If additional writes are performed to fill in missing pages, then contiguous ranges can be completed, but the number of write operations increases

Engineering Contradiction:
Improvecontiguous range completenessVSAvoidwrite operation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary checking during the rename operation to determine whether all pages mapping to a contiguous storage range are available before initiating the flush. This preliminary action prevents the need for subsequent corrective writes by ensuring completeness upfront, thereby reducing overall write operation complexity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9934163B1Selectively delaying cache flushing to promote write efficiency
Publication Date: 2018.04.03 EMC IP HLDG CO LLC
  • US9934163B1 patent drawing
  • US9934163B1 patent drawing
  • US9934163B1 patent drawing

AI summary

A technique for managing storage in a data storage system includes ingesting host data into a data log backed by pages in a cache. The host data are addressed to specified locations in a data object stored in persistent storage devices. When mapping pages in cache to respective target locations in the persistent storage devices, a flag is selectively asserted to indicate whether there is contiguous free space at the target locations. The cache responds to the flag by delaying flushing of flagged pages, which provides more time for the cache to aggregate pages that map to contiguous free space. Meanwhile, pages that are not flagged can be flushed more quickly, enabling the cache to operate efficiently even though flushing of some pages is delayed.