Cache Track Restore via Atomic Merge

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During a failover in a storage system with redundant processors, the restoration of tracks from non-volatile storage to cache can result in data loss if the failover occurs before the merging of data is complete, causing the cache track to be pinned as invalid and leading to interruptions.

Innovation Solution

The solution involves transferring the current version of a track from non-volatile storage to a second location in the cache, merging it with the previous version in an atomic operation that cannot be interrupted by a failover, and demoting the current version if the failover occurs, allowing the previous version to remain intact and usable.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the current version of a track is transferred from non-volatile storage to a new location in cache and merged with the previous version, then data integrity is improved, but the complexity of the restore operation increases

Engineering Contradiction:
Improvedata integrityVSAvoidrestore operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The restore operation is segmented into distinct phases: allocating a new location in cache, transferring data from NVS to the new location, and merging with the previous version. This segmentation allows each phase to be managed independently, improving data integrity while making the overall complex operation more controllable and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A new location in cache is introduced as an intermediary storage area between the NVS and the original track location. This intermediary allows the current version to be prepared and validated before merging with the previous version, ensuring data integrity without requiring direct overwriting that would compromise reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a failover occurs during the restore operation, then system availability is improved through failover capability, but data loss occurs when the cache track is pinned as invalid

Engineering Contradiction:
Improvefailover capabilityVSAvoiddata loss
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by allocating a new location in cache and transferring data there before the failover can occur. This preliminary preparation ensures that if a failover happens during the restore operation, the data in the new location can be preserved or recovered, preventing data loss while maintaining failover capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The new location in cache acts as a cushion or safety buffer against data loss during failover. By having this intermediate storage area, the system can withstand a failover event without losing the restored data, as the cushioning location protects the data from being invalidated when the original track location becomes compromised.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Stability of the object's composition

If the current version is merged with the previous version in an atomic operation, then consistency is improved, but the time required for the restore operation increases

Engineering Contradiction:
Improvedata consistencyVSAvoidrestore operation time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The atomic merge operation is segmented into controlled phases: data transfer to new location, validation of the transferred data, and then the atomic merge with the previous version. This segmentation ensures consistency through the atomic operation while allowing validation checks to confirm data integrity before the final merge, optimizing the time required.

Inventive Principle:
Principle #1Segmentation

4Difficulty of detecting and measuring

If the cache CDCB is set to indicate restore-in-progress, then tracking of restore operations is improved, but the risk of data loss increases when failover occurs

Engineering Contradiction:
Improverestore operation trackingVSAvoiddata loss risk
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of information

Solution Approach 1:

The new location in cache serves as an intermediary that decouples the restore-in-progress tracking from the original track location. When restore-in-progress is indicated, the data resides in the new location rather than being directly merged, which reduces the risk of data loss during failover while maintaining proper tracking of the restore operation's status.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11080149B2Restore current version of a track from a non-volatile storage into a new location in cache
Publication Date: 2021.08.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11080149B2 patent drawing
  • US11080149B2 patent drawing
  • US11080149B2 patent drawing

AI summary

Provided are a computer program product, system, and method for restoring tracks in cache. A restore operation is initiated to restore a track in the cache from a non-volatile storage to which tracks in the cache are backed-up. The non-volatile storage includes a current version of the track and wherein a previous version of the track subject to the restore operation is stored in a first location in the cache. A second location in the cache is allocated for the current version of the track to restore from the non-volatile storage. The data for the current version of the track is transferred from the non-volatile storage to the second location in the cache. Data for the track is merged from the second location into the first location in the cache to complete restoring to the current version of the track in the first location from the non-volatile storage.