IP Library Granted Patent US 9,740,569
Granted Patent B2
US 9,740,569 · App. 14/966,433 · Granted Aug 22, 2017

Head start population of an image backup

Inventor: Nathan S. Bushman (Pleasant Grove, UT)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F11/1451G06F3/067G06F3/0619G06F3/0665G06F11/1435G06F11/1464G06F11/1466G06F17/3028G06F17/30088G06F17/30117H04L47/70G06F2201/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,740,569
App. No.
14/966,433
Granted
Aug 22, 2017
Kind
B2
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 and ceasing the tracking of the first portion of the modified blocks as being modified, 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 (66)

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 a first portion of the modified blocks into the image backup, according to a resource utilization policy of a resource associated with the source storage, and ceasing the tracking of the first portion of the modified blocks, wherein the head start copying includes:

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 a first portion of the modified blocks into the image backup, according to a resource utilization policy of a resource associated with the source storage, and ceasing the tracking of the first portion of the modified blocks, wherein the head start copying includes:

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 an 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, head start copying a first portion of the modified blocks into an 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 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 head start copying of the first portion of the modified blocks into the image backup is performed 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; and

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 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 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 image backup includes:

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

head start copying the modified block into the 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 an 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, head start copying a first portion of the modified blocks into an 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 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 an 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 an image backup between the first point in time and the second point in time;

prior to the second point in time, head start copying a first portion of the modified blocks into the 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 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 head start copying of the first portion of the modified blocks into the image backup is performed 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; and

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 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 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 image backup includes:

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

copying the modified block into the 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 an 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 an image backup between the first point in time and the second point in time;

prior to the second point in time, head start copying a first portion of the modified blocks into the 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 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 (6)
CHANGE OF NAME Recorded Aug 16, 2024
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: STORAGECRAFT TECHNOLOGY LLC
Reel/Frame 068660/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC; ARCSTOR MIDCO LLC; ARCSERVE ACQUISITION COMPANY LLC; ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY, LLC
To: STORAGECRAFT, LLC
Reel/Frame 068660/0208 →
SECURITY INTEREST Recorded Mar 16, 2021
From: ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY LLC; ZETTA, LLC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 055603/0219 →
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 Dec 11, 2015
From: BUSHMAN, NATHAN S.
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 037272/0300 →
Continuity (2)
Continuation 14743486 · Jun 18, 2015
Related Publication 20160371150A1 · Dec 22, 2016