Cache Resource Prefetching for Write Set Tracks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage environments, there is a need for improved techniques to prefetch cache resources for host write requests on fast channels to ensure cache resources are available when write requests are received, as existing methods lead to latency and failure of read/write requests due to context switching and allocation delays.

Innovation Solution

A computer program product and method that releases cache resources for a write set before expected writes and re-allocates them strategically based on estimated write requests, optimizing prefetching by starting from the last written track or skipping already written tracks, and indicating retry hints to adjust prefetching operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If cache resources are held for tracks in a write set to ensure fast write request processing, then write request completion time is improved, but cache resource availability for other requests deteriorates

Engineering Contradiction:
Improvewrite request completion timeVSAvoidcache resource availability
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary actions by releasing cache resources for tracks in a write set before expected writes occur (when a quiesce condition is detected), and then re-obtains those cache resources in advance before the actual write requests arrive. This preliminary release and re-acquisition ensures cache resources are available when needed while making them available for other requests during the intermediate period.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If cache resources are released for tracks in a write set to make them available for other requests, then cache resource availability is improved, but write request processing latency increases

Engineering Contradiction:
Improvecache resource availabilityVSAvoidwrite request processing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by re-obtaining cache resources for tracks in a write set in advance before actual write requests are received. When a quiesce condition is detected, the system releases cache resources and then proactively re-acquires them before the write operations need to proceed, ensuring minimal latency when writes resume.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If the host system holds the application thread in a spin loop waiting for read/write request completion, then processor time for context swapping is saved, but processor resources are consumed during waiting

Engineering Contradiction:
Improvecontext switching overheadVSAvoidprocessor resource consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The storage system provides self-service by proactively releasing and re-obtaining cache resources in advance before write requests need to be processed. This eliminates the need for the host system to continuously poll or spin-wait for cache resource availability, as the resources are already prepared when needed, thereby reducing both context switching overhead and processor waiting time.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11294812B2Obtaining cache resources for expected writes to tracks in a write set after the cache resources were released for the tracks in the write set
Publication Date: 2022.04.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11294812B2 patent drawing
  • US11294812B2 patent drawing
  • US11294812B2 patent drawing

AI summary

Provided are a computer program product, system, and method for prefetching cache resources for a write request from a host to tracks in storage cached in a cache. Cache resources held for a plurality of tracks in a write set are released before expected writes are received for the tracks in the write set. Cache resources for tracks in the write set are obtained, following the release of the cache resources, to use for expected write requests to the tracks in the write set.