Non-Sequential Page Descriptor Flush with Tail Marker

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Previous data storage systems face inefficiencies during flush operations on work-sets of non-sequential page descriptors, where page buffers indicated by page descriptors in the work-set remain unavailable for new dirty pages after the flush, as the tail of the page descriptor ring is moved past sequential page descriptors, disrupting the temporal ordering and delaying buffer re-use.

Innovation Solution

The technology performs a flush operation by selecting a work-set of non-sequential page descriptors, updating the tail to indicate a page descriptor not in the work-set, generating a tail marker, and storing it at the head of the page descriptor ring, ensuring all page buffers indicated by the work-set are available for re-use by modifying the page buffer allocation bit map to indicate availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If the tail of the page descriptor ring is moved forward past sequential page descriptors to indicate the next available buffer, then the temporal ordering is preserved, but the page buffers indicated by page descriptors in the work-set remain unavailable for re-use

Engineering Contradiction:
Improvetemporal orderingVSAvoidbuffer re-use availability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent divides the page descriptor ring into two distinct functional segments: (1) a work-set of non-sequential page descriptors that are flushed together in a single operation, and (2) sequential page descriptors that maintain temporal ordering. This segmentation allows the tail to be updated to reflect only the work-set boundaries rather than advancing through all sequential descriptors, thereby preserving temporal ordering while enabling immediate buffer re-use availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a tail marker as an intermediary data structure that stores metadata about the work-set boundaries and temporal ordering relationships. This tail marker acts as a mediator between the flush operation and the page buffer allocation mechanism, allowing the system to track which buffers should be made available after flushing without requiring the tail to advance through all sequential descriptors in the ring.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If the tail is updated to indicate the next page descriptor after the work-set, then the temporal ordering is maintained, but additional flush operations are required to reposition the tail and make buffers available

Engineering Contradiction:
Improvetemporal orderingVSAvoidbuffer availability delay
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by updating the tail marker during the flush operation itself to indicate the new tail position that maintains temporal ordering. This preliminary update ensures that when the flush completes, the tail is already positioned correctly to make buffers available immediately, eliminating the need for subsequent additional flush operations just to reposition the tail.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the tail marker stores information about the work-set boundaries and temporal relationships, which then feeds back into the buffer allocation decision. This feedback allows the system to intelligently determine which buffers should be made available after flushing, rather than using a simple sequential advancement approach that requires additional operations.

Inventive Principle:
Principle #23Feedback

3Productivity

If non-sequential page descriptors are selected for flushing to improve performance, then the flush operation processes more relevant pages, but the page buffers remain unavailable for new dirty pages after the flush

Engineering Contradiction:
Improveflush operation performanceVSAvoidbuffer re-use
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces dynamic behavior to the tail pointer by allowing it to be updated to different positions based on the work-set boundaries rather than following a fixed sequential path. The tail can dynamically jump to the appropriate position after flushing non-sequential page descriptors, enabling the system to maintain both high-performance flushing and immediate buffer re-use availability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of tail position from a simple sequential counter to a smart pointer that can jump to different locations in the page descriptor ring based on work-set boundaries. This parameter change allows the tail to reflect the actual state of buffer availability after flushing non-sequential pages, making buffers immediately available for new dirty pages while maintaining temporal ordering information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11340900B2Flushing dirty pages from page buffers indicated by non-sequential page descriptors
Publication Date: 2022.05.24 EMC IP HLDG CO LLC
  • US11340900B2 patent drawing
  • US11340900B2 patent drawing
  • US11340900B2 patent drawing

AI summary

Dirty pages of cached user data are persistently stored to page buffers that are allocated from a page buffer pool in a persistent data storage resource of a data storage system, and are indicated by page descriptors that are stored at a head of a temporally ordered page descriptor ring as the dirty pages are stored to the page buffers. The disclosed technology performs a flush operation by selecting a work-set of non-sequential page descriptors within the page descriptor ring, flushing dirty pages from page buffers indicated by the page descriptors in the work-set to non-volatile data storage drives of the data storage system, and storing, for each one of the page buffers indicated by the page descriptors in the work-set, an indication that the page buffer is available for re-use.