Host OS Cache Backup Using Location Information

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a computer system using multi-OS and virtual machine technology, the first host OS cannot back up cache data from guest OSes to NVRAM during a power cut due to unknown cache memory locations in the physical address space, and restoring this data post-reboot is also challenging due to potential changes in memory allocation.

Innovation Solution

The first host OS generates location information for its own cache memory and collaborates with the second host OS to obtain location information for guest OS cache memories, allowing it to back up and restore data without address conversion processing, using NVRAM for storage during power cuts and re-establishing memory states post-recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the first host OS attempts to back up cache data from guest OSes during a power cut, then data loss is prevented, but the operation fails due to unknown cache memory locations in the physical address space

Engineering Contradiction:
Improvedata integrityVSAvoidbackup operation feasibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces location information as an intermediary that bridges the gap between the first host OS and guest OS cache memories. The first host OS cannot directly access guest OS cache locations, but by obtaining location information (either from the second host OS or from saved metadata), it can indirectly locate and backup the cache data without needing direct knowledge of the physical addresses

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies preliminary action by saving location information about guest OS cache memories before the power cut occurs. The system stores metadata containing the physical addresses of cache memories in NVRAM or on disk before shutdown, so that when power is restored, the first host OS can immediately retrieve this pre-saved location information and proceed with the backup operation without needing to re-discover the cache locations

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system restores cache data post-reboot, then data recovery is achieved, but the operation becomes complex due to potential changes in memory allocation

Engineering Contradiction:
Improvedata recoveryVSAvoidrestoration process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating and storing a copy of the location information (metadata) that maps virtual addresses to physical addresses of cache memories. Instead of attempting to re-derive the complex address mappings after reboot, the system simply copies the previously saved location information from NVRAM or disk back into memory, providing an immediate template for restoring data to the correct locations even if memory allocation has changed

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary action by pre-calculating and saving the location information that maps cache data locations before shutdown. This pre-computed mapping information is stored in a persistent form (NVRAM or disk) so that after reboot, the restoration process can simply retrieve and use this pre-prepared map rather than performing complex address translation calculations

Inventive Principle:
Principle #10Preliminary action

3Reliability

If battery power is used to backup cache data to NVRAM, then data is preserved during power cuts, but power consumption increases during battery operation

Engineering Contradiction:
Improvedata preservationVSAvoidpower consumption during backup
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by backing up only the cache data that is marked as dirty (modified) rather than backing up the entire cache memory contents. The system tracks which cache lines have been modified since the last sync to NVRAM and only initiates backup operations for these specific portions, significantly reducing the amount of data that needs to be transferred and the energy required during battery-powered operation

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses periodic action by implementing a dirty bit mechanism that tracks cache modifications over time. Instead of continuous monitoring or backup of all cache data, the system periodically identifies modified cache lines through the dirty bits and triggers backup operations only when necessary, reducing the frequency and duration of power-consuming backup operations during battery operation

Inventive Principle:
Principle #19Periodic action

4Use of energy by stationary object

If a single processor is used for backup operations during battery power, then power consumption is minimized, but the backup speed is reduced

Engineering Contradiction:
Improvepower consumption during backupVSAvoidbackup speed
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

The patent applies partial action by backing up only the dirty (modified) cache lines rather than the entire cache memory. This selective backup approach significantly reduces the volume of data that needs to be processed, allowing a single processor to complete the backup operation quickly enough even during battery-powered operation, thus maintaining acceptable backup speed while minimizing power consumption

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9977740B2Nonvolatile storage of host and guest cache data in response to power interruption
Publication Date: 2018.05.22 HITACHI VANTARA LTD
  • US9977740B2 patent drawing
  • US9977740B2 patent drawing
  • US9977740B2 patent drawing

AI summary

A computer, on which a plurality of operating systems run, wherein the plurality of operating systems includes a first operating system and a second operating system configured to generate a plurality of virtual computers. The first operating system runs on a first logical resource, and the second operating system runs on a second logical resource. A third operating system runs on each of the plurality of virtual computers. The third operating system secures a cache memory area in a virtual memory. The second operating system generates location information, which indicates a location of the cache memory area in a physical address space that the second operating system manages. The first operating system obtain data stored in the cache memory area based on the location information.