Dedupe-Aware Storage QoS I/O Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage Quality of Service (QoS) solutions do not account for deduplicated data, leading to underutilization of storage resources due to the failure to consider the deduplication ratio in allocating Input/Output (I/O) requests, resulting in inefficient bandwidth usage.

Innovation Solution

Implement a dedupe-aware QoS system that detects the deduplication count and adjusts I/O request scheduling based on the deduplication ratio, allowing unused bandwidth from deduplicated data to be reassigned, thereby optimizing storage resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional QoS solutions allocate I/O requests based on assigned bandwidth without considering deduplication, then storage bandwidth is guaranteed per application, but storage resources are underutilized due to ignoring dedupe ratio

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidstorage utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements a feedback mechanism by monitoring deduplication ratios and dynamically adjusting I/O request scheduling. The QoS manager receives feedback about actual data written vs. deduplicated data stored, and uses this information to adjust bandwidth allocation and crediting in real-time, resolving the contradiction between maintaining QoS guarantees and optimizing storage utilization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent transforms the static bandwidth allocation model into a dynamic one where I/O scheduling parameters change based on deduplication performance. The system continuously adapts the crediting mechanism and request scheduling to reflect current dedupe ratios, allowing the system to maintain reliability while improving productivity through dynamic resource optimization

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If I/O requests are queued based on initial bandwidth assignment, then service level agreements are enforced, but additional storage bandwidth from deduplication is not allocated

Engineering Contradiction:
ImproveSLA complianceVSAvoidavailable bandwidth
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The system changes the parameters of I/O request scheduling by introducing deduplication-aware crediting. Instead of using fixed bandwidth parameters, the system adjusts crediting parameters based on dedupe ratios, allowing additional bandwidth to be allocated while maintaining SLA compliance through modified scheduling parameters

Inventive Principle:
Principle #35Parameter changes

3Loss of substance

If deduplication is performed to reduce storage space, then storage efficiency improves, but I/O scheduling does not account for deduplicated data leading to bandwidth loss

Engineering Contradiction:
Improvestorage spaceVSAvoidbandwidth utilization
Core Design Contradiction:
Loss of substanceVSLoss of energy

Solution Approach 1:

The patent converts the potential harm of deduplication (which makes I/O scheduling complex) into a benefit by using deduplication metrics to improve bandwidth utilization. The system uses dedupe count and ratio information to generate additional crediting, transforming the scheduling complexity into an opportunity for optimizing bandwidth allocation and reducing overall system waste

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS10540341B1System and method for dedupe aware storage quality of service
Publication Date: 2020.01.21 COHESITY INC
  • US10540341B1 patent drawing
  • US10540341B1 patent drawing
  • US10540341B1 patent drawing

AI summary

A system and method for implementing a Quality of Service based upon data deduplication is provided. The method may include deduplicating data and receiving a corresponding I/O request; wherein the data includes an associated dedupe count. The method may further include performing the I/O request based upon the dedupe count. For example, where no deduplication exists as indicated by a dedupe count of zero, the I/O request may be scheduled for processing when the sum of the current clock tick and the tag ratio are less than or equal to the next clock tick. In the alternative, where deduplication exists as indicated by a dedupe count that is greater than zero, the I/O request may be scheduled for processing, when the sum of the current clock tick, a negative value of the dedupe ratio, and the tag ratio are less than or equal to the next clock tick.