IP Library Granted Patent US 9,317,376
Granted Patent B1
US 9,317,376 · App. 14/743,486 · Granted Apr 19, 2016

Head start population of an image backup

Inventor: Nathan S. Bushman (Pleasant Grove, UT)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F11/1451G06F3/067G06F3/0619G06F3/0665G06F11/1435G06F11/1464G06F2201/80G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,317,376
App. No.
14/743,486
Granted
Apr 19, 2016
Kind
B1
Abstract

Head start population of an image backup. In one example embodiment, a method for head start population of an image backup may include tracking blocks that are modified in a source storage between a first point in time and a second point in time, head start copying a first portion of the modified blocks into the image backup prior to the second point in time, activating a snapshot on the source storage at the second point in time where the snapshot represents a state of the source storage at the second point in time, and copying, subsequent to the second point in time, from the snapshot and into the image backup, a second portion of the modified blocks that were not yet copied into the image backup by the second point in time.

Claims (62)

1. A method for head start population of an image backup, the method comprising:

tracking blocks that are modified in a source storage between a first point in time and a second point in time;

prior to the second point in time, head start copying, according to a resource utilization policy of a resource associated with the source storage, a first portion of the modified blocks into the image backup, the head start copying of the first portion of the modified blocks into the image backup including:

intercepting a write request to the source storage that includes one of the modified blocks;

determining that utilization of the resource associated with the source storage is below a threshold defined in the resource utilization policy; and

head start copying the modified block included in the write request into the image backup without reading the modified block from the source storage;

activating a snapshot on the source storage at the second point in time, the snapshot representing a state of the source storage at the second point in time; and

subsequent to the second point in time, copying, from the snapshot and into the image backup, a second portion of the modified blocks that were not yet copied into the image backup by the second point in time.

2. The method as recited in claim 1 , wherein a file format of the image backup is randomly writable.

3. The method as recited in claim 1 , wherein the resource is a disk, a central processing unit (CPU), a memory, a bus, or a network, or some combination thereof, associated with the source storage.

4. The method as recited in claim 1 , further comprising:

pruning out any of the modified blocks in the image backup that are free in the source storage at the second point in time.

5. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform a method for head start population of an image backup, the method comprising:

tracking blocks that are modified in a source storage between a first point in time and a second point in time;

prior to the second point in time, head start copying, according to a resource utilization policy of a resource associated with the source storage, a first portion of the modified blocks into the image backup, the head start copying of the first portion of the modified blocks into the image backup including:

intercepting a write request to the source storage that includes one of the modified blocks;

determining that utilization of the resource associated with the source storage is below a threshold defined in the resource utilization policy; and

head start copying the modified block included in the write request into the image backup without reading the modified block from the source storage;

activating a snapshot on the source storage at the second point in time, the snapshot representing a state of the source storage at the second point in time; and

subsequent to the second point in time, copying, from the snapshot and into the image backup, a second portion of the modified blocks that were not yet copied into the image backup by the second point in time.

6. A method for head start population of a randomly-writable image backup, the method comprising:

tracking, in a modify map, blocks that are modified in a source storage between a first point in time and a second point in time;

prior to the second point in time and during one or more time periods in which utilization of a resource associated with the source storage is below a threshold defined in a resource utilization policy, head start copying a first portion of the modified blocks into a randomly-writable image backup and removing the tracking of the first portion of the modified blocks in the modify map;

activating a snapshot on the source storage at the second point in time, the snapshot representing a state of the source storage at the second point in time; and

subsequent to the second point in time, copying, from the snapshot and into the randomly-writable image backup, a second portion of the modified blocks that were tracked in the modify map at the second point in time.

7. The method as recited in claim 6 , wherein the resource is a disk, a central processing unit (CPU), a memory, a bus, or a network, or some combination thereof, associated with the source storage.

8. The method as recited in claim 6 , wherein the head start copying of the first portion of the modified blocks into the randomly-writable image backup includes:

intercepting a write request to the source storage that includes one of the modified blocks; and

head start copying the modified block included in the write request into the randomly-writable image backup without reading the modified block from the source storage.

9. The method as recited in claim 6 , wherein the head start copying of the first portion of the modified blocks into the randomly-writable image backup includes:

reading one of the modified blocks from the source storage; and

head start copying the modified block into the randomly-writable image backup.

10. The method as recited in claim 6 , further comprising:

identifying, by accessing a file system block allocation map (FSBAM) of the snapshot, any of the modified blocks that are free in the source storage at the second point in time; and

pruning out of the image backup the modified blocks that are free in the source storage at the second point in time.

11. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform a method for head start population of a randomly-writable image backup, the method comprising:

tracking, in a modify map, blocks that are modified in a source storage between a first point in time and a second point in time;

prior to the second point in time and during one or more time periods in which utilization of a resource associated with the source storage is below a threshold defined in a resource utilization policy, head start copying a first portion of the modified blocks into a randomly-writable image backup and removing the tracking of the first portion of the modified blocks in the modify map;

activating a snapshot on the source storage at the second point in time, the snapshot representing a state of the source storage at the second point in time; and

subsequent to the second point in time, copying, from the snapshot and into the randomly-writable image backup, a second portion of the modified blocks that were tracked in the modify map at the second point in time.

12. A method for head start population of a randomly-writable image backup, the method comprising:

tracking, in a modify map, blocks that are modified in a source storage between a first point in time and a second point in time;

tracking, in a copy map, all of the modified blocks that are copied into a randomly-writable image backup between the first point in time and the second point in time;

prior to the second point in time and during one or more time periods in which utilization of a resource associated with the source storage is below a threshold defined in a resource utilization policy, head start copying a first portion of the modified blocks into the randomly-writable image backup and removing the tracking of the first portion of the modified blocks in the copy map;

activating a snapshot on the source storage at the second point in time, the snapshot representing a state of the source storage at the second point in time; and

subsequent to the second point in time, copying, from the snapshot and into the randomly-writable image backup, a second portion of the modified blocks that were tracked in the modify map at the second point in time but were not yet tracked in the copy map by the second point in time.

13. The method as recited in claim 12 , wherein the resource is a disk, a central processing unit (CPU), a memory, a bus, or a network, or some combination thereof, associated with the source storage.

14. The method as recited in claim 12 , wherein the head start copying of the first portion of the modified blocks into the randomly-writable image backup includes:

intercepting a write request to the source storage that includes one of the modified blocks; and

copying the modified block included in the write request into the randomly-writable image backup without reading the block from the source storage.

15. The method as recited in claim 12 , wherein the head start copying of the first portion of the modified blocks into the randomly-writable image backup includes:

reading one of the modified blocks from the source storage; and

copying the modified block into the randomly-writable image backup.

16. The method as recited in claim 12 , further comprising:

identifying, by accessing a file system block allocation map (FSBAM) of the snapshot, any of the modified blocks that are free in the source storage at the second point in time; and

pruning out of the image backup the modified blocks that are free in the source storage at the second point in time.

17. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause one or more processors to perform a method for head start population of a randomly-writable image backup, the method comprising:

tracking, in a modify map, blocks that are modified in a source storage between a first point in time and a second point in time;

tracking, in a copy map, all of the modified blocks that are copied into a randomly-writable image backup between the first point in time and the second point in time;

prior to the second point in time and during one or more time periods in which utilization of a resource associated with the source storage is below a threshold defined in a resource utilization policy, head start copying a first portion of the modified blocks into the randomly-writable image backup and removing the tracking of the first portion of the modified blocks in the copy map;

activating a snapshot on the source storage at the second point in time, the snapshot representing a state of the source storage at the second point in time; and

subsequent to the second point in time, copying, from the snapshot and into the randomly-writable image backup, a second portion of the modified blocks that were tracked in the modify map at the second point in time but were not yet tracked in the copy map by the second point in time.

Assignments (3)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 16, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 055614/0607 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 038449/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2015
From: BUSHMAN, NATHAN S.
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 035863/0801 →