Secondary Storage Controller Parity Calculation Using Difference Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage technologies face inefficiencies in mirroring updates from a primary storage controller to a secondary storage controller, particularly in environments with multiple processor cores and RAID arrays, where calculating parity data is resource-intensive and requires reading previous versions of data.
Innovation Solution
The primary storage controller calculates new primary parity data and difference data from modified data, which is then transmitted to the secondary storage controller to calculate new secondary parity data, optimizing operations by avoiding the need to read previous versions of data and ensuring parity data compatibility between controllers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the secondary storage controller reads previous versions of data to calculate parity data, then the parity data can be calculated accurately, but the computational resources and time required increase significantly
Solution Approach 1:
The primary storage controller pre-calculates difference data representing changes between modified and previous versions of data, and transmits this difference data to the secondary storage controller before the secondary controller needs to perform parity calculations. This preliminary preparation eliminates the need for the secondary controller to read and process entire previous data versions, thereby reducing computational resources while maintaining parity accuracy.
2Measurement precision
If the secondary storage controller reads previous versions of data to calculate parity data, then the parity data can be calculated accurately, but the time required for the operation increases
Solution Approach 1:
The primary storage controller pre-calculates difference data representing changes between modified and previous versions of data, and transmits this difference data to the secondary storage controller before the secondary controller needs to perform parity calculations. This preliminary preparation eliminates the need for the secondary controller to read and process entire previous data versions, thereby reducing computational resources while maintaining parity accuracy.
3Ease of operation
If the primary storage controller transmits only modified data to the secondary storage controller, then the data transfer is simplified, but the secondary controller must perform additional computations to calculate parity
Solution Approach 1:
The patent introduces difference data as an intermediary element that bridges the primary and secondary storage controllers. The primary controller computes this difference data (which represents changes from previous versions) and transmits it along with modified data to the secondary controller. This intermediary difference data enables the secondary controller to perform simpler parity calculations by comparing against known previous versions, thereby reducing computational complexity while maintaining operational simplicity.
4Measurement precision
If the secondary storage controller performs full parity calculations independently, then the parity data is accurate, but the mirroring efficiency between controllers decreases
Solution Approach 1:
The primary storage controller pre-calculates difference data representing changes between modified and previous versions of data, and transmits this difference data to the secondary storage controller before the secondary controller needs to perform parity calculations. This preliminary preparation eliminates the need for the secondary controller to read and process entire previous data versions, thereby reducing computational resources while maintaining parity accuracy.
Solution Approach 2:
The patent introduces difference data as an intermediary element that bridges the primary and secondary storage controllers. The primary controller computes this difference data (which represents changes from previous versions) and transmits it along with modified data to the secondary controller. This intermediary difference data enables the secondary controller to perform simpler parity calculations by comparing against known previous versions, thereby reducing computational complexity while maintaining operational simplicity.
Data Source
AI summary
Provided are a computer program product, system, and method for receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data. The secondary storage controller receives from the primary storage controller difference data calculated from modified data and a pre-modified version of the modified data for a primary group of tracks at the primary storage and one of the modified data and new primary parity data calculated at the primary storage controller from the modified data and the difference data. The secondary storage controller uses the difference data and one of the modified data and the new primary parity data to write new secondary parity data and the modified data to a secondary group of tracks at the secondary storage.


