Non-disruptive Multipath Driver Upgrade via Core-Thin Module Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multipath device driver upgrades require application downtime and/or system reboot, disrupting system operation due to the need to terminate and recreate multipath devices.

Innovation Solution

The implementation of a core and thin multipath device driver module architecture, where the thin module intercepts and redirects I/O operations during the upgrade, allowing the core module to be unloaded and replaced without disrupting service, and maintaining existing multipath device instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the multipath device driver is upgraded by terminating and recreating the multipath device, then the driver can be updated to a new version, but system operation is disrupted requiring application downtime or reboot

Engineering Contradiction:
Improvedriver update capabilityVSAvoidsystem operation continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The multipath device driver is segmented into two independent modules: a core module that implements multipathing functionality and a thin module that creates and maintains multipath device instances. This segmentation allows the core module to be upgraded independently without affecting the thin module and its associated multipath devices, thereby enabling driver updates without system disruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The thin multipath device driver module acts as an intermediary between the core module and the multipath device instances. During upgrade operations, the thin module maintains the multipath device instances while the core module is replaced. The thin module redirects I/O operations during the transition, ensuring continuous operation without requiring application downtime or system reboot.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the multipath device driver is upgraded without termination, then system operation continuity is maintained, but the driver cannot be unloaded and upgraded due to active multipath device usage

Engineering Contradiction:
Improvesystem operation continuityVSAvoiddriver upgradeability
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

By dividing the driver into core and thin modules with distinct responsibilities, the patent enables independent loading and unloading of the core module. The thin module maintains device instances while the core module can be safely removed and replaced, solving the contradiction between maintaining operation continuity and enabling driver upgradeability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The thin multipath device driver module ensures continuous I/O operation handling during the core module upgrade process. It maintains the multipath device instances and redirects I/O operations throughout the upgrade, ensuring that useful action (I/O processing) continues without interruption while the core module is replaced.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the multipath device is terminated for driver upgrade, then the driver can be updated, but application downtime occurs impacting system operation

Engineering Contradiction:
Improvedriver version currencyVSAvoidapplication downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The thin multipath device driver module is prepared in advance to handle I/O operations independently of the core module. Before the core module is unloaded, the thin module is positioned to take over I/O processing, allowing seamless transition without application downtime. This preliminary preparation enables the core module to be upgraded immediately without forcing applications to stop.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The thin module serves as a mediator that maintains multipath device instances during the core module upgrade. It intercepts and redirects I/O operations away from the core module during upgrade, preventing the need to terminate multipath devices and avoiding application downtime while still allowing the core module to be updated.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10353714B1Non-disruptive upgrade of multipath drivers in information processing system
Publication Date: 2019.07.16 EMC IP HLDG CO LLC
  • US10353714B1 patent drawing
  • US10353714B1 patent drawing
  • US10353714B1 patent drawing

AI summary

Techniques are provided to enable non-disruptive upgrades of multipath device drivers. A multipath device driver includes a core module and a thin module. The core module is configured to implement all multipathing functionality of the multipath device driver, and the thin module is configured to create and maintain an instance of a multipath device, which is utilized by the core module to control I/O operations over a plurality of I/O paths from the host system to an array of data storage devices. In response to an upgrade command, the thin module replaces I/O entry points of the core module so that I/O operation requests are routed to the thin module during an upgrade operation of the core module. The thin module utilizes the instance of the multipath device during the upgrade operation to execute the I/O operation requests that are routed to the thin module.