Flashcopy Transactional Data Integrity via Device Driver Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage methods, such as flashcopy, face challenges in maintaining data integrity and efficiency during transactional rollbacks, particularly in storage area networks, where they often require system quiescence, large storage burdens, and inability to capture consistent data points without shutting down applications.

Innovation Solution

A method and system that register device drivers as transaction participants with a transaction coordinator, enabling a two-phase commit protocol to manage data writes and flashcopy operations, allowing incremental data copying and maintaining data integrity without system-wide shutdowns, by aligning flashcopy with transactional boundaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flashcopy operation is performed to create point-in-time copies, then data redundancy and reliability are improved, but storage burden and processing load increase due to large copy sizes

Engineering Contradiction:
Improvedata redundancyVSAvoidstorage burden
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary transactional data that changed during the transaction period, rather than copying entire volumes. The flashcopy operation is optimized to copy only the specific data blocks that were modified, reducing storage burden while maintaining data redundancy for recovery purposes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the flashcopy operation into transaction-specific portions. Instead of monolithic volume copies, the system divides the copy operation into discrete transactional units, allowing selective copying of only the data relevant to each transaction, thereby reducing overall storage requirements.

Inventive Principle:
Principle #1Segmentation

2Reliability

If system quiescence is performed to ensure consistent data capture, then data consistency is improved, but productivity decreases due to application shutdowns

Engineering Contradiction:
Improvedata consistencyVSAvoidapplication availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses preliminary action by registering the flashcopy operation before the transaction commits. The system prepares the copy operation in advance, sets up the necessary mappings and relationships, and ensures that only transactional data will be copied, allowing the application to continue running without quiescence while still achieving consistent data capture.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism through the device driver that acts as a transaction participant. The device driver mediates between the application and storage system, tracking transactional data changes and enabling flashcopy to capture only committed transaction data without requiring application shutdown or system quiescence.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If monolithic flashcopy operations are performed on entire volumes, then complete data backup is achieved, but processing time and system impact increase

Engineering Contradiction:
Improvedata backup completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the flashcopy operation into transaction-specific portions. Instead of monolithic volume copies, the system divides the copy operation into discrete transactional units, allowing selective copying of only the data relevant to each transaction, thereby reducing overall processing time while maintaining backup completeness for transactional data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing flashcopy only on the necessary transactional data blocks that changed during the transaction period, rather than copying entire volumes. This partial copying approach reduces processing time and system impact while still achieving complete backup of the transactional data that requires recovery.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If device drivers flush all cached data prior to flashcopy, then clean data image is achieved, but loss of information increases due to unnecessary data writes

Engineering Contradiction:
Improvedata image cleanlinessVSAvoidunnecessary data writes
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent extracts only the transactional data that needs to be flushed to storage, rather than forcing a flush of all cached data. The device driver identifies and extracts only the specific data blocks that were modified as part of the transaction, allowing selective flushing that maintains data image cleanliness without writing unnecessary data to storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by treating different cached data differently based on its transactional relevance. Instead of uniform flushing of all cached data, the system applies selective flushing only to the local portions of cache that contain transactional data, maintaining data consistency while avoiding unnecessary writes of non-transactional cached data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9940067B2Performing a data write on a storage device
Publication Date: 2018.04.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9940067B2 patent drawing
  • US9940067B2 patent drawing
  • US9940067B2 patent drawing

AI summary

A method of performing a data write on a storage device comprises instructing a device driver for the device to perform a write to the storage device, registering the device driver as a transaction participant with a transaction co-ordinator, executing a flashcopy of the storage device, performing the write on the storage device, and performing a two-phase commit between device driver and transaction co-ordinator. Preferably, the method comprises receiving an instruction to perform a rollback, and reversing the data write according to the flashcopy. In a further refinement, a method of scheduling a flashcopy of a storage device comprises receiving an instruction to perform a flashcopy, ascertaining the current transaction in relation to the device, registering the device driver for the device as a transaction participant in the current transaction with a transaction co-ordinator, receiving a transaction complete indication from the co-ordinator, and executing the flashcopy for the device.