Transactional IO Scheduler for Multi-Device Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Quality of Service (QoS) throttling in storage systems is limited to single disk operations and does not effectively prioritize IO requests across multiple storage devices, particularly neglecting the differences between Solid State Drives (SSD) and Hard Disk Drives (HDD) for optimal scheduling.

Innovation Solution

An IO tagging module tags child IO requests with unique identifiers, allowing a transactional IO scheduler to prioritize and group requests based on tags, optimizing dispatch policies across multiple storage devices to enhance IO performance by considering the type and status of each device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional QoS throttling is used for IO prioritization, then single disk IO operations can be controlled, but multi-device IO scheduling effectiveness deteriorates due to inability to differentiate between SSD and HDD characteristics

Engineering Contradiction:
ImproveIO prioritization effectivenessVSAvoidMulti-device scheduling adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the storage system into multiple independent storage devices (SSDs and HDDs) with device-specific QoS policies. Each storage device is treated as a separate entity with its own priority levels and throttling parameters, allowing differentiated control rather than uniform QoS application across all devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing device-specific QoS characteristics tailored to each storage device type. SSDs receive different priority treatments compared to HDDs based on their performance characteristics, with each device having customized throughput limits, IOPS constraints, and latency targets appropriate to its capabilities.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If QoS throttling is applied at system level, then overall IO control is simplified, but device-specific optimization deteriorates due to lack of consideration for underlying storage device types

Engineering Contradiction:
ImproveQoS control simplicityVSAvoidIO performance optimization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic QoS policies that automatically adjust throttling parameters based on real-time device status, workload characteristics, and device type. The system dynamically selects appropriate priority levels and throughput limits for each storage device, adapting to changing conditions rather than applying static system-wide rules.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes QoS parameters at the device level rather than system level, allowing independent adjustment of throughput limits, IOPS constraints, and latency targets for each storage device. This enables fine-grained parameter optimization for SSDs versus HDDs while maintaining centralized policy management.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If child IO requests are serviced independently without transactional grouping, then individual IO processing is simplified, but transactional IO completion time deteriorates due to lack of coordinated scheduling

Engineering Contradiction:
ImproveIO scheduling complexityVSAvoidTransactional IO completion time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent merges multiple child IO requests into transactional groups that are scheduled and executed together. Related child IOs (such as those accessing different segments of the same file or requiring coordinated access patterns) are combined into single scheduling units, reducing the total number of scheduling decisions and improving transactional completion times.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary grouping and prioritization of child IO requests before they are dispatched to storage devices. By pre-organizing IOs into transactional cohorts and determining their relative priorities in advance, the system reduces scheduling overhead during actual IO execution and ensures coordinated access patterns.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10719245B1Transactional IO scheduler for storage systems with multiple storage devices
Publication Date: 2020.07.21 EMC IP HLDG CO LLC
  • US10719245B1 patent drawing
  • US10719245B1 patent drawing
  • US10719245B1 patent drawing

AI summary

In one embodiment, a storage system includes a processor, a memory coupled to the processor to store instructions for execution, and an IO tagging module executed by the processor to determine a plurality of child IO requests required to complete a plurality of received IO request transactions and to tag the IO request transaction and/or the associated child IO requests with a tag identifier uniquely identifying the IO request transaction. The system includes an IO scheduler module executed by the processor to prioritize the IO request transactions according to a policy by grouping the child IO requests based on the associated tag identifier. The grouped child IO requests of the IO request transactions are serviced by a plurality of storage devices of the storage system for an optimal performance.