Virtual Disk N-way Parity Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data resiliency techniques in storage systems provide limited, fixed options that fail to meet the demands for flexible and scalable virtualized storage that balances cost and recovery time effectively, often resulting in unrecoverable data loss if additional failures occur before the system is restored.

Innovation Solution

The implementation of N-way parity techniques for virtual disk resiliency, which allows users to configure storage efficiency and recovery time by adjusting the amount of redundancy data, enabling customizable levels of storage efficiency and recovery performance through configuration parameters such as the number of available storage devices and failure tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If mirroring is used to replicate data completely on multiple devices, then data recovery is trivial and reliable, but storage space is consumed excessively and storage devices are rarely used

Engineering Contradiction:
Improvedata recovery reliabilityVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential redundancy information needed for recovery (parity data) rather than storing complete data copies. This is achieved by calculating and storing only the differential redundancy data across multiple devices, significantly reducing storage consumption while maintaining recovery capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system dynamically adjusts the amount of redundancy data stored based on failure scenarios. When devices fail, the system recalculates and redistributes parity data among remaining devices, optimizing storage usage while ensuring recovery is always possible regardless of which devices fail.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If minimal redundancy data is stored to maximize storage efficiency, then storage efficiency is maximized, but recovery time increases to unacceptable levels

Engineering Contradiction:
Improvestorage efficiencyVSAvoidrecovery time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary calculations to determine optimal parity data distribution before failures occur. The system pre-calculates which devices should hold which parity information based on the desired recovery time and storage efficiency targets, so that when failures occur, recovery can proceed immediately without excessive computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameters of redundancy data storage by adjusting the amount and distribution of parity data across devices based on configurable policies. This allows optimization of the trade-off between storage efficiency and recovery time by modifying how redundancy data is allocated and organized across the storage system.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If traditional fixed options for data resiliency are used, then implementation is simple, but flexibility and scalability are limited and cannot satisfy diverse consumer demands

Engineering Contradiction:
Improveimplementation simplicityVSAvoidconfiguration flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic configuration capabilities that allow the storage system to adapt to different consumer needs. Users can configure failure tolerance levels, recovery time targets, and storage efficiency preferences, and the system automatically adjusts its data distribution and redundancy strategies accordingly, providing both simplicity and flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system provides multiple resiliency modes and configuration options within a single unified architecture. It can operate in various modes (e.g., different parity configurations, different failure tolerance levels) and automatically selects or adjusts the appropriate mode based on consumer requirements, making it universally applicable to diverse use cases.

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

4Reliability

If storage systems are restored to resilient state after failure, then data loss is prevented, but additional failures may occur during recovery causing unrecoverable data loss

Engineering Contradiction:
Improvedata protectionVSAvoidrecovery time window
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements beforehand cushioning by maintaining multiple layers of redundancy and parity data across devices. When failures occur, the system has pre-positioned redundancy data that can immediately protect against additional failures during the recovery process, creating a cushion that prevents unrecoverable data loss even if more devices fail before complete restoration.

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

Data Source

PatentEP2972872B1Virtual disk recovery and redistribution
Publication Date: 2019.06.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2972872B1 patent drawingFigure 1
  • EP2972872B1 patent drawingFigure 2
  • EP2972872B1 patent drawingFigure 3

AI summary

Techniques for recovery and redistribution of data from a virtual disk storage system are described herein. In one or more implementations, a storage scheme derived for a virtual disk configuration is configured to implement various recovery and redistribution designed to improve recovery performance. The storage scheme implements one or more allocation techniques to produce substantially uniform or nearly uniform distributions of data across physical storage devices associated with a virtual disk. The allocation facilitates concurrent regeneration and rebalancing operations for recovery of data in the event of failures. Additionally, the storage scheme is configured to implements parallelization techniques to perform the concurrent operations including but not limited to controlling multiple parallel read/writes during recovery.