Asynchronous Metadata Track Updates via CPU Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage system environments, direct updates to metadata tracks during syncio operations are often delayed due to concurrent access by multiple CPUs and the need to update metadata tracks on disk storage, which can hinder the timely completion of I/O operations.

Innovation Solution

The method involves storing updates for metadata tracks in buffers associated with CPUs, allowing asynchronous updates by background tasks, ensuring that I/O operations can complete without waiting for metadata track updates, and maintaining a balance of free and used buffers in a buffer pool to facilitate efficient metadata track updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If direct updates to metadata tracks are performed during syncio operations, then metadata consistency is maintained, but I/O operation completion time increases

Engineering Contradiction:
Improvemetadata consistencyVSAvoidI/O operation completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-allocating buffers for metadata updates before syncio operations need to access them. CPUs can immediately store update information in pre-prepared buffers without waiting for metadata track updates to complete, enabling I/O operations to proceed without delay while metadata consistency is maintained through subsequent background updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces buffers as an intermediary between CPUs and metadata tracks. Instead of directly updating metadata tracks during syncio operations, CPUs write update information to buffers, which then serve as intermediaries that background tasks process to actually update the metadata tracks. This decoupling resolves the contradiction by separating the fast I/O path from the slower metadata update path.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple CPUs concurrently update metadata tracks, then processing parallelism is achieved, but access conflicts and update reliability decrease

Engineering Contradiction:
Improveprocessing parallelismVSAvoidupdate reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the metadata update process by providing separate buffers for each CPU. This segmentation allows multiple CPUs to concurrently write update information to their own dedicated buffers without accessing conflicts, maintaining high processing parallelism. The actual metadata track updates are then performed sequentially by background tasks, ensuring update reliability through controlled access.

Inventive Principle:
Principle #1Segmentation

3Reliability

If metadata tracks are updated synchronously during I/O operations, then data integrity is ensured, but I/O operation speed decreases

Engineering Contradiction:
Improvedata integrityVSAvoidI/O operation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent uses buffers as intermediaries to decouple the I/O operation path from the metadata update path. CPUs quickly store update information in buffers during syncio operations without waiting for actual metadata track updates, ensuring I/O speed. Background tasks then use these buffers to ensure metadata integrity is maintained through subsequent updates, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies preliminary action by having CPUs prepare update information in buffers during I/O operations. This preliminary storage of update data ensures that when metadata tracks are eventually updated by background tasks, the data integrity is preserved while the original I/O operations complete quickly without waiting for the actual metadata updates.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If buffers are allocated for each CPU to store metadata updates, then I/O operation completion time is reduced, but buffer pool management complexity increases

Engineering Contradiction:
ImproveI/O operation completion timeVSAvoidbuffer pool management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent makes buffers universal by allowing them to be dynamically allocated to any CPU that needs them and then returned to the shared buffer pool after use. This multi-functionality enables buffers to serve multiple CPUs over time, reducing the need for dedicated permanent buffers for each CPU while still providing the performance benefit of immediate update storage. The buffer pool manager handles allocation and deallocation, adding manageable complexity that enables buffer reuse and efficient memory utilization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11010295B2Asynchronous update of metadata tracks in response to a cache hit generated via an i/o operation over a bus interface
Publication Date: 2021.05.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11010295B2 patent drawing
  • US11010295B2 patent drawing
  • US11010295B2 patent drawing

AI summary

A cache hit is generated, in response to receiving an input/output (I/O) command over a bus interface. An update for a metadata track is stored in a buffer associated with a central processing unit (CPU) that processes the I/O command, in response to generating the cache hit. The metadata track is asynchronously updated from the buffer with the stored update for the metadata track in the buffer.