SAN Adapter Driver Hot Upgrade via Volatile Memory Preservation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


