# US 11,307,933 B2 · Automated targetless snapshots

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

- Number: US 11,307,933 B2
- Document ID: US11307933B2
- Status: Granted
- Kind: B2
- Application number: 16/805,405
- Filed: 2020-02-28
- Published: 2021-09-02
- Granted: 2022-04-19
- Earliest claimed: 2020-02-28
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Jeffrey Wilson; Owen Martin
- Web page: https://patentgrep.com/patent/US11307933B2

## CPC

- G06F 11/1448: {Management of the data involved in backup or backup restore}
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1464: {for networked environments}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/1471: involving logging of persistent data for recovery
- 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

Providing automated targetless snapshots for storage volumes includes estimating storage space needed for a new set of the snapshots based on an amount of expected change of data on the storage volumes, deleting current snapshots to free up an amount of space corresponding to estimated storage space for the new set of the snapshots, and creating the new set of the snapshots. The current snapshots may be selected for deletion based on creation date of the snapshots. Snapshots with an oldest creation data may be deleted. The storage volumes may be provided on a storage system. The storage system may show storage space used by the snapshots as unallocated. Storage space used by the snapshots may be managed by a storage resource pool. The storage resource pool may convert storage space shown as unallocated into allocated storage space in response to snapshots provided therein being converted into accessible snapshots.

## Claims

### Claim 1

A method of providing automated targetless snapshots for storage volumes, comprising:
creating a plurality of initial snapshots, each having a table with entries that point to one of: at least one journal device that is separate from the storage volumes or to one of the storage volumes, wherein the journal device contains data from the storage volumes that is provided thereto in response to a first write to the storage volumes following a time of creation of a corresponding one of the initial snapshots;
estimating storage space needed for new snapshots, different from the initial snapshots, based on an amount of expected change of data on the storage volumes that includes data expected to be written to the storage volumes, data expected to be written to the at least one journal device for the new snapshots, and data needed for additional tables for the new snapshots;
deleting at least some of the initial snapshots to free up an amount of space corresponding to estimated storage space for the new snapshots by deleting the snapshot table for each of the initial snapshots being deleted and by deleting data in the at least one journal device that corresponds to each of the initial snapshots being deleted; and
creating the new snapshots by creating a table for each of the new snapshots with entries that point to one of: the at least one journal device that is separate from the storage volumes or to one of the storage volumes, wherein the journal device contains data from the storage volumes that is provided thereto in response to a first write to the storage volumes following a time of creation of a corresponding one of the new snapshots.

### Claim 2 (depends on 1)

The method, according to claim 1, wherein the initial snapshots are selected for deletion based on creation date of the initial snapshots.

### Claim 3 (depends on 2)

The method, according to claim 2, wherein the initial snapshots with an oldest creation data are deleted.

### Claim 4 (depends on 1)

The method, according to claim 1, wherein the storage volumes are provided on a storage system.

### Claim 5 (depends on 4)

The method, according to claim 4, wherein the storage system shows storage space used by the initial snapshots and the new snapshots as unallocated.

### Claim 6 (depends on 5)

The method, according to claim 5, wherein storage space used by the initial snapshots and the new snapshots is managed by a storage resource pool.

### Claim 7 (depends on 6)

The method, according to claim 6, wherein the storage resource pool converts storage space shown as unallocated into allocated storage space in response to the initial snapshots and the new snapshots provided therein being converted into accessible snapshots.

### Claim 8 (depends on 6)

The method, according to claim 6, wherein the storage resource pool deletes initial snapshots in response to additional storage space being requested by a process that is independent of the initial snapshots and the new snapshots.

### Claim 9 (depends on 8)

The method, according to claim 8, wherein at least some of the initial snapshots are selected for deletion based on creation date of the snapshots.

### Claim 10 (depends on 9)

The method, according to claim 9, wherein initial snapshots with an oldest creation data are deleted.

### Claim 11

A non-transitory computer readable medium containing software that provides automated targetless snapshots for storage volumes, the software comprising:
executable code that creates a plurality of initial snapshots, each having a table with entries that point to one of: at least one journal device that is separate from the storage volumes or to one of the storage volumes, wherein the journal device contains data from the storage volumes that is provided thereto in response to a first write to the storage volumes following a time of creation of a corresponding one of the initial snapshots;
executable code that estimates storage space needed for a set of new snapshots, different from the initial snapshots, based on an amount of expected change of data on the storage volumes that includes data expected to be written to the storage volumes, data expected to be written to the at least one journal device for the new snapshots, and data needed for additional tables for the new snapshots;
executable code that deletes at least some of the initial snapshots to free up an amount of space corresponding to estimated storage space for the new snapshots by deleting the snapshot table for each of the initial snapshots being deleted and by deleting data in the at least one journal device that corresponds to each of the initial snapshots being deleted; and
executable code that creates the new snapshots by creating a table for each of the new snapshots with entries that point to one of: the at least one journal device that is separate from the storage volumes or to one of the storage volumes, wherein the journal device contains data from the storage volumes that is provided thereto in response to a first write to the storage volumes following a time of creation of a corresponding one of the new snapshots.

### Claim 12 (depends on 11)

The non-transitory computer readable medium, according to claim 11, wherein the initial snapshots are selected for deletion based on a creation date of the initial snapshots.

### Claim 13 (depends on 12)

The non-transitory computer readable medium, according to claim 12, wherein the initial snapshots with an oldest creation data are deleted.

### Claim 14 (depends on 11)

The non-transitory computer readable medium, according to claim 11, wherein the storage volumes are provided on a storage system.

### Claim 15 (depends on 14)

The non-transitory computer readable medium, according to claim 14, wherein the storage system shows storage space used by the initial snapshots and the new snapshots as unallocated.

### Claim 16 (depends on 15)

The non-transitory computer readable medium, according to claim 15, wherein storage space used by the initial snapshots and the new snapshots is managed by a storage resource pool.

### Claim 17 (depends on 16)

The non-transitory computer readable medium, according to claim 16, wherein the storage resource pool converts storage space shown as unallocated into allocated storage space in response to the initial snapshots and the new snapshots provided therein being converted into accessible snapshots.

### Claim 18 (depends on 16)

The non-transitory computer readable medium, according to claim 16, wherein the storage resource pool deletes initial snapshots in response to additional storage space being requested by a process that is independent of the initial snapshots and the new snapshots.

### Claim 19 (depends on 18)

The non-transitory computer readable medium, according to claim 18, wherein at least some of the initial snapshots are selected for deletion based on creation date of the snapshots.

### Claim 20 (depends on 19)

The non-transitory computer readable medium, according to claim 19, wherein initial snapshots with an oldest creation data are deleted.
