SAN Adapter Driver Hot Upgrade via Volatile Memory Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for upgrading computer programs on storage controllers, such as operating system kernels and SAN adapter drivers, often require system restarts, leading to interruptions in I/O operations and data loss, especially during cold boots, and lack efficient techniques for performing hot upgrades without disrupting ongoing operations.

Innovation Solution

The method involves tagging volatile memory regions used by SAN adapter drivers, decoupling the drivers from the SAN adapter, booting a new operating system kernel while preserving memory contents, and re-coupling the new driver to the adapter, allowing for simultaneous upgrades of multiple programs without interrupting I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a cold boot is performed to upgrade the operating system kernel and SAN adapter driver, then the system can be rebooted with new software versions, but power is cut to volatile memory causing loss of I/O operation state and data

Engineering Contradiction:
Improvedata integrityVSAvoidI/O operation state
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by tagging volatile memory regions and preserving their contents before the operating system kernel is restarted. The system identifies and marks memory regions used by SAN adapter drivers, then maintains these regions across the kernel restart to preserve I/O operation state, preventing data loss while enabling software upgrades.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the SAN adapter driver functionality from the operating system kernel by using a standalone driver model. The driver is loaded separately into preserved memory regions and can operate independently during kernel restarts, allowing the kernel to be upgraded without losing driver state or I/O operation context.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If the operating system kernel is restarted to upgrade software, then new kernel versions can be deployed, but I/O operations are interrupted causing time-out errors

Engineering Contradiction:
Improvesoftware upgrade capabilityVSAvoidI/O operation continuity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements continuity of useful action by preserving volatile memory regions containing SAN adapter driver state across operating system kernel restarts. This allows I/O operations to continue uninterrupted because the driver maintains its operational context in preserved memory, eliminating time-out errors while enabling kernel upgrades.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent uses preserved volatile memory regions as an intermediary between the operating system kernel and the SAN adapter driver. This intermediary allows the driver to maintain its state and continue I/O operations even when the kernel is restarted, decoupling the driver's operational continuity from the kernel's restart cycle.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If volatile memory is preserved during kernel restart using warm boot or kexec, then I/O operation state is maintained, but the new kernel cannot properly initialize driver interfaces

Engineering Contradiction:
Improvememory contentsVSAvoiddriver initialization
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent applies preliminary action by tagging volatile memory regions before the kernel restart and preparing the new kernel to recognize and utilize these tagged regions. The system pre-identifies memory regions needed by the SAN adapter driver and ensures the new kernel can properly initialize driver interfaces by preserving and restoring the driver state in these regions after restart.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8825993B2Port throttling across an operating system restart during a hot upgrade
Publication Date: 2014.09.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8825993B2 patent drawing
  • US8825993B2 patent drawing
  • US8825993B2 patent drawing

AI summary

A method includes tagging, by a processor executing a first operating system kernel, a region of a volatile memory used by a first storage area network (SAN) adapter driver coupled to a SAN adapter, and decoupling the first SAN adapter driver from the SAN adapter. A boot of a second operating system kernel is then initiated while preserving in the tagged region of the volatile memory contents stored therein. After the boot, a second SAN adapter driver is then coupled to the SAN adapter.