Externally Managed I/O Starvation Avoidance in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale data storage systems face delays and performance issues due to storage devices limiting the number of concurrent I/O requests and prioritizing request servicing based on disk head location, leading to potential starvation of I/O requests.

Innovation Solution

A method for managing a storage pool that maintains a queue of I/O requests with order values, calculates the difference between the oldest and newest requests, and transmits the oldest request when the difference is below a threshold, preventing new requests from being added until the oldest is serviced, thus avoiding request starvation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If storage devices service I/O requests based on disk head location to maximize efficiency, then storage device efficiency is improved, but I/O request completion time increases causing request starvation

Engineering Contradiction:
Improvestorage device efficiencyVSAvoidI/O request completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic I/O request management by continuously monitoring the queue and adjusting transmission decisions based on real-time conditions. The system dynamically calculates the difference between oldest and newest order values and compares against a threshold to determine whether to transmit the oldest request, allowing the system to adapt between maximizing efficiency and preventing starvation based on current queue state

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback mechanisms by monitoring the I/O request queue state, calculating the order value difference, and using this information to control transmission decisions. The system receives completion indicators from the storage device and adjusts queue management accordingly, creating a closed-loop control system that prevents request starvation while maintaining efficiency

Inventive Principle:
Principle #23Feedback

2Reliability

If storage devices limit the number of concurrent I/O requests, then storage device overload is prevented, but system performance deteriorates due to request delays

Engineering Contradiction:
Improvestorage device overload preventionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by proactively monitoring the I/O request queue and calculating the difference between oldest and newest order values before transmission decisions are made. The system determines in advance whether the oldest request should be transmitted based on the threshold comparison, preventing both overload and excessive delays through preemptive queue management

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of I/O request transmission by using a threshold-based mechanism that dynamically controls whether the oldest request is transmitted. The system adjusts transmission behavior based on the calculated difference between order values, transforming the rigid limit into a flexible control parameter that balances reliability and performance

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3500920B1Externally managed I/O starvation avoidance in a computing device
Publication Date: 2023.05.03 ORACLE INT CORP
  • EP3500920B1 patent drawingFigure 1
  • EP3500920B1 patent drawingFigure 2
  • EP3500920B1 patent drawingFigure 3

AI summary

Implementations of the present disclosure involve a system and/or method for managing a storage system and, more particularly, for externally managing input/output (I/O) requests to a storage device to avoid large delays in servicing the I/O requests. The management system may maintain I/O request queues for one or more of the storage devices associated with the system. The system may calculate a difference between an order value of the I/O request at the top of the queue and the bottom of the queue for the storage devices. If the calculated difference is above a threshold value, new I/O requests for the storage device are not added to the queue or transmitted to the storage device. In this manner, the management system may force the storage device to service an I/O request that has been stored in the queue for some time without being serviced.