# US 2014/0195721 A1 · Instantaneous save/restore of virtual machines with persistent memory

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195721 A1
- Document ID: US20140195721A1
- Status: Published application
- Kind: A1
- Application number: 13/748,944
- Filed: 2013-01-24
- Published: 2014-07-10
- Earliest claimed: 2013-01-08
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Bulent Abali; Mohammad Banikazemi; John A. Bivens; Michael R. Hines; Dan E. Poff
- Web page: https://patentgrep.com/patent/US20140195721A1

## CPC

- G06F 12/16: Protection against loss of memory contents {(contains no material, see G06F11/00)}
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 12/0804: with main memory updating (G06F12/0806 takes precedence)
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer implemented method creates a snapshot of a logical volume of a computer. The computer stores a system state of the computer in persistent memory. The computer flushes a cash of the computer. The computer identifies a preceding snapshot. Responsive to identifying the preceding snapshot, the computer hardens changes occurring after the preceding snapshot. The computer then switches from a first indirection table to a second indirection table.

## Claims

### Claim 1

A computer implemented method for creating a snapshot of a logical volume of a computer, the method comprising:
storing, by the computer, a system state of the computer in persistent memory;
flushing, by the computer, a cash of the computer;
identifying, by the computer, a preceding snapshot;
responsive to identifying the preceding snapshot, hardening, by the computer, changes occurring after the preceding snapshot; and
switching, by the computer, from a first indirection table to a second indirection table.

### Claim 2 (depends on 1)

The computer implemented method of claim 1, wherein the persistent memory is a non-volatile memory implementing a wear-leveling process.

### Claim 3 (depends on 2)

The computer implemented method of claim 2, wherein the non-volatile memory is selected from the group consisting of NAND type flash memories, NOR type flash memories, Phase Change memories, Spin Torque Transfer RAM memories, and memristor memories.

### Claim 4 (depends on 1)

The computer implemented method of claim 1, wherein the second indirection table is implemented using a copy on write methodology from the first indirection table.

### Claim 5 (depends on 4)

The computer implemented method of claim 4, further comprising:
switching, by the computer, from the first indirection table to the second indirection table, wherein real memory locations referenced by the first indirection table are not overwritten while utilizing the second indirection table.

### Claim 6 (depends on 5)

The computer implemented method of claim 5, further comprising:
restoring, by the computer, to a previous state of the non-volatile memory, wherein the step of restoring to the previous state comprises switching from the second indirection table to the first indirection table.

### Claim 7 (depends on 5)

The computer implemented method of claim 5, further comprising:
restoring, by the computer, to a previous state of the non-volatile memory, wherein the step of restoring to the previous state consists of switching from the second indirection table to the first indirection table.

### Claim 8 (depends on 1)

The computer implemented method of claim 1, further comprising:
switching, by the computer, from the first indirection table to the second indirection table, wherein the switching is performed by a hardware memory controller.
