Persistent Memory Kernel Hot Upgrade
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face challenges in performing hot upgrades of kernel components without disrupting application operations, particularly due to the need for system reboots which can result in loss of application data and disruptions.
Innovation Solution
A persistent memory space is configured to store application data, preventing the kernel from accessing it, allowing an updated kernel to be loaded without affecting existing data, enabling a hot upgrade without rebooting the system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a system reboot is performed to upgrade the kernel, then the kernel can be updated, but application data in shared memory segments and driver memory pools is lost and application operations are disrupted
Solution Approach 1:
The memory space is segmented into kernel-accessible memory and persistent memory spaces that are isolated from the kernel. This segmentation allows the kernel to be upgraded by replacing kernel images in kernel-accessible memory while leaving persistent memory spaces intact, thereby preserving application data and enabling hot upgrades without system reboot
Solution Approach 2:
Application data is extracted from kernel-managed memory spaces and placed into persistent memory spaces that are explicitly excluded from kernel access. This extraction ensures that when the kernel is upgraded or replaced, the application data remains untouched and accessible, eliminating data loss and reducing upgrade downtime
2Adaptability or versatility
If the kernel is updated by loading a new kernel image, then the kernel version is upgraded, but the update process disrupts application operations and may cause data loss
Solution Approach 1:
Persistent memory spaces are pre-configured and allocated before the kernel upgrade process begins. By establishing these isolated memory regions in advance, the system ensures that application data has a protected destination before the kernel is replaced, allowing seamless kernel updates without disrupting application operations
Solution Approach 2:
Persistent memory spaces act as an intermediary between the kernel and applications. This intermediary layer allows the kernel to be updated independently while maintaining application access to their data, thus enabling kernel adaptability without compromising application operation continuity
Data Source
AI summary
A computer program product, system, and method are provided for upgrading a kernel or kernel module with a configured persistent memory. A persistent memory space is configured in the memory to store application data from applications in user mode. A kernel executing in the memory is prevented from accessing the persistent memory space. A service is called to load an updated kernel in the memory to replace the kernel, wherein the applications have access to the persistent memory space after the updated kernel is loaded. The service may comprise a kernel execution mechanism that directly loads the updated kernel into the memory without a full reboot of the computer system. An extended memory kernel service may be loaded during a boot operation to reserve the persistent memory space as an extended memory space for use by the applications and prevent the kernel from accessing the persistent memory space.


