Storage Subsystem Driver Priority Scheduling for I/O Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Increased computing power in computer systems is hindered by bottlenecks, such as disk congestion caused by background tasks, leading to slow user response and negative performance scaling, where faster processors result in a visibly slower user experience due to storage or subsystem congestion.

Innovation Solution

Implementing a method to prioritize subsystem processing by identifying foreground and background processes and applying priority rules to allocate processor cycles, ensuring that foreground tasks receive higher priority access to storage subsystems, thereby improving responsiveness and user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If background tasks are allowed to execute freely, then system computing power is utilized, but disk congestion occurs causing foreground tasks to slow down

Engineering Contradiction:
Improvesystem computing power utilizationVSAvoidforeground task execution speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent changes the scheduling parameter by introducing priority-based I/O servicing. The storage subsystem driver identifies foreground processes and assigns them higher priority, altering the default equal-treatment scheduling parameter to differentiate between foreground and background tasks, thereby resolving the contradiction between system utilization and foreground task speed

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary mechanism (the storage subsystem driver with priority identification logic) that mediates between background tasks and the storage subsystem. This intermediary filters and prioritizes I/O requests before they reach the disk, preventing background tasks from causing congestion that would slow foreground tasks

Inventive Principle:
Principle #24Intermediary (Mediator)

2Power

If faster processors are used, then computing power increases, but user response time worsens due to storage subsystem congestion

Engineering Contradiction:
Improveprocessor computing powerVSAvoiduser response time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the storage subsystem driver proactively identify and prioritize foreground processes before I/O congestion occurs. By pre-establishing priority queues and servicing high-priority requests first, the system prevents the time loss that would otherwise occur when foreground tasks wait for background tasks to complete disk operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the scheduling parameter from FIFO or round-robin to priority-based scheduling. This parameter change ensures that even with faster processors generating more I/O activity, foreground tasks maintain responsive performance by being serviced preferentially, thus preventing the negative performance scaling described in the background

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If equal priority is given to all processes, then system simplicity is maintained, but foreground task responsiveness deteriorates

Engineering Contradiction:
Improvescheduling system complexityVSAvoiduser response time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating the treatment of different process types at the I/O scheduling level. Instead of uniform scheduling, the storage subsystem driver applies different priority levels locally to foreground versus background processes, improving user response time while maintaining relative simplicity through targeted differentiation rather than complete redesign

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8850439B2Storage subsystem device driver scheduling I/O servicing according to priority of identified process
Publication Date: 2014.09.30 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US8850439B2 patent drawing
  • US8850439B2 patent drawing
  • US8850439B2 patent drawing

AI summary

Systems, methods, and apparatus to identify and prioritize application processes in one or more subsystems. Some embodiments identifying applications and processes associated with each application executing on a system, apply one or more priority rules to the identified applications and processes to generate priority information, and transmit the priority information to a subsystem. The subsystem then matches received requests with the priority information and services the processes according to the priority information.