Storage System Latency Management via Dynamic Completion Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face latency issues due to internal management processes, leading to unsustainable user I/O rates and bandwidth fluctuations, as the apparent latency to users is less than the true processing time, causing background processes to backlog and necessitate throttling of user I/Os.

Innovation Solution

A method and system that calculate the total processing time for write and read requests, delaying completion messages if the actual time is less than the calculated time, allowing for controlled latency injection to manage background processes without affecting overall throughput, thereby reducing tail latencies and smoothing system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the system services user I/O requests at high rates, then productivity is improved, but background processes cannot complete their tasks in time, causing latency accumulation and system instability

Engineering Contradiction:
Improveuser I/O rateVSAvoidbackground process completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system calculates the total processing time required for background processes in advance and uses this information to control the timing of completion messages. By performing this time calculation beforehand, the system can ensure that background processes have sufficient time to complete their tasks while still maintaining high user I/O rates, thus preventing latency accumulation without throttling user operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system monitors the actual time taken for background processes and compares it with the calculated total processing time. Based on this feedback, the system dynamically adjusts the timing of completion messages to ensure that background processes complete their tasks within the allocated time window. This feedback mechanism allows the system to maintain high productivity while ensuring background process completion, resolving the contradiction between user I/O rate and background process timing.

Inventive Principle:
Principle #23Feedback

2Speed

If the system sends completion messages immediately after data is stored, then response time is improved, but background processes fall behind and cause latency buildup

Engineering Contradiction:
Improvecompletion message sending speedVSAvoidbackground process throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs a preliminary calculation of the total processing time required for background processes before sending completion messages. This advance calculation allows the system to determine the appropriate delay time needed for background processes to complete, ensuring that completion messages are sent at a pace that maintains both fast response times and healthy background process throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the timing of completion messages based on the calculated total processing time and actual background process performance. Rather than using a fixed delay or sending messages immediately, the system adapts the completion message timing to match the actual workload and background process capacity, thereby maintaining optimal throughput for both user operations and background processes.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If the system allows background processes to run at full speed, then manufacturing precision is improved, but user I/O bandwidth fluctuates and becomes unsustainable

Engineering Contradiction:
Improvedata storage accuracyVSAvoiduser I/O bandwidth stability
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The calculated total processing time acts as an intermediary parameter that mediates between background process execution and user I/O completion messaging. By using this intermediate time calculation, the system can allow background processes to run at full speed for data storage accuracy while controlling the pace of completion messages to maintain stable and sustainable user I/O bandwidth, preventing fluctuations without compromising storage precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11861175B2Latency in data storage systems
Publication Date: 2024.01.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11861175B2 patent drawing
  • US11861175B2 patent drawing
  • US11861175B2 patent drawing

AI summary

A method, system, and computer program product are disclosed. The method includes receiving a write request to a system and calculating, based on operating parameters of the system, a total processing time associated with servicing the write request in the system. The method also includes determining an actual time taken to store data specified in the write request and, when the actual time is less than the total processing time, delaying sending a completion message for the write request to an I/O interface.