IP Library Granted Patent US 9,886,351
Granted Patent B2
US 9,886,351 · App. 15/284,310 · Granted Feb 6, 2018

Hybrid image backup of a source storage

Inventors: Nathan S. Bushman (Pleasant Grove, UT); Scott Barnes (Pleasant Grove, UT); Thomas Russell Shreeve (Draper, UT)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F11/1453G06F17/30097G06F17/30159
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,886,351
App. No.
15/284,310
Granted
Feb 6, 2018
Kind
B2
Abstract

Creating hybrid image backups of a source storage. In one example embodiment, a method for creating one or more hybrid image backups of a source storage may include seeding a deduplication system by storing, in the deduplication system, blocks included in one or more files of one or more operating systems, blocks included in one or more files of one or more software applications, or both, and by storing a hash of each of the seeded blocks in a hash data structure; copying the hash data structure into a solid state drive (SSD); placing the SSD in a read-only state; comparing hashes of allocated blocks stored in the source storage at a first point in time to hashes in the hash data structure to determine whether each of the allocated blocks is in a first set of blocks that are stored in the deduplication system or in a second set of blocks that are not stored in the deduplication system; associating locations of the blocks in the first set of blocks stored in the source storage with locations of the corresponding blocks stored in the deduplication system; storing the blocks in the second set of blocks in an image backup separate from the deduplication system; associating locations of the blocks in the second set of blocks stored in the source storage with locations of the corresponding blocks stored in the image backup; and defining a full hybrid image backup of the source storage at the first point in time as a combination of the first set of blocks stored in the deduplication system and the second set of blocks stored in the image backup.

Claims (46)

1. A method for creating one or more hybrid image backups of a source storage, the method comprising:

seeding a deduplication system by storing, in the deduplication system, blocks included in one or more files of one or more operating systems, blocks included in one or more files of one or more software applications, or both, and by storing a hash of each of the seeded blocks in a hash data structure;

copying the hash data structure into a solid state drive (SSD);

placing the SSD in a read-only state;

comparing hashes of allocated blocks stored in the source storage at a first point in time to hashes in the hash data structure to determine whether each of the allocated blocks is in a first set of blocks that are stored in the deduplication system or in a second set of blocks that are not stored in the deduplication system;

associating locations of the blocks in the first set of blocks stored in the source storage with locations of the corresponding blocks stored in the deduplication system;

storing the blocks in the second set of blocks in an image backup separate from the deduplication system;

associating locations of the blocks in the second set of blocks stored in the source storage with locations of the corresponding blocks stored in the image backup; and

defining a full hybrid image backup of the source storage at the first point in time as a combination of the first set of blocks stored in the deduplication system and the second set of blocks stored in the image backup, the full hybrid image backup being configured to be restored on its own to recreate a state of the source storage at the first point in time without being dependent on any other backup.

2. The method as recited in claim 1 , wherein:

the copying the hash data structure into the SSD is performed by writing to each unique addressable location in the SSD only once.

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

comparing hashes of second allocated blocks stored in the source storage that were modified between the first point in time and a second point in time to hashes in the hash data structure to determine whether each of the second allocated blocks is in a third set of blocks that are stored in the deduplication system or in a fourth set of blocks that are not stored in the deduplication system;

associating locations of the blocks in the third set of blocks stored in the source storage with locations of the corresponding blocks stored in the deduplication system;

storing the blocks in the fourth set of blocks in a second image backup separate from the deduplication system;

associating locations of the blocks in the fourth set of blocks stored in the source storage with locations of the corresponding blocks stored in the second image backup; and

defining an incremental hybrid image backup of the source storage at the second point in time as a combination of the third set of blocks stored in the deduplication system and the fourth set of blocks stored in the second image backup.

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

switching the deduplication system from the read-only state to a writable state; and

seeding the deduplication system by storing, in the deduplication system, blocks included in one or more files of a second operating system.

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

switching the deduplication system from the read-only state to a writable state; and

seeding the deduplication system by storing, in the deduplication system, blocks included in one or more files of a second software application.

6. 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 creating one or more hybrid image backups of a source storage, the method comprising:

seeding a deduplication system by storing, in the deduplication system, blocks included in one or more files of one or more operating systems, blocks included in one or more files of one or more software applications, or both, and by storing a hash of each of the seeded blocks in a hash data structure;

copying the hash data structure into a solid state drive (SSD);

placing the SSD in a read-only state;

comparing hashes of allocated blocks stored in the source storage at a first point in time to hashes in the hash data structure to determine whether each of the allocated blocks is in a first set of blocks that are stored in the deduplication system or in a second set of blocks that are not stored in the deduplication system;

associating locations of the blocks in the first set of blocks stored in the source storage with locations of the corresponding blocks stored in the deduplication system;

storing the blocks in the second set of blocks in an image backup separate from the deduplication system;

associating locations of the blocks in the second set of blocks stored in the source storage with locations of the corresponding blocks stored in the image backup; and

defining a full hybrid image backup of the source storage at the first point in time as a combination of the first set of blocks stored in the deduplication system and the second set of blocks stored in the image backup, the full hybrid image backup being configured to be restored on its own to recreate a state of the source storage at the first point in time without being dependent on any other backup.

7. The one or more non-transitory computer-readable media as recited in claim 6 , wherein:

the copying the hash data structure into the SSD is performed by writing to each unique addressable location in the SSD only once.

8. The one or more non-transitory computer-readable media as recited in claim 6 , wherein the method further comprises:

comparing hashes of second allocated blocks stored in the source storage that were modified between the first point in time and a second point in time to hashes in the hash data structure to determine whether each of the second allocated blocks is in a third set of blocks that are stored in the deduplication system or in a fourth set of blocks that are not stored in the deduplication system;

associating locations of the blocks in the third set of blocks stored in the source storage with locations of the corresponding blocks stored in the deduplication system;

storing the blocks in the fourth set of blocks in a second image backup separate from the deduplication system;

associating locations of the blocks in the fourth set of blocks stored in the source storage with locations of the corresponding blocks stored in the second image backup; and

defining an incremental hybrid image backup of the source storage at the second point in time as a combination of the third set of blocks stored in the deduplication system and the fourth set of blocks stored in the second image backup.

9. The one or more non-transitory computer-readable media as recited in claim 6 , wherein the method further comprises:

switching the deduplication system from the read-only state to a writable state; and

seeding the deduplication system by storing, in the deduplication system, blocks included in one or more files of a second operating system.

10. The one or more non-transitory computer-readable media as recited in claim 6 , wherein the method further comprises:

switching the deduplication system from the read-only state to a writable state; and

seeding the deduplication system by storing, in the deduplication system, blocks included in one or more files of a second software application.

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 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded May 7, 2018
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 046085/0220 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: BUSHMAN, NATHAN S.; BARNES, SCOTT; SHREEVE, THOMAS RUSSELL
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 039926/0123 →
Continuity (2)
Division 15074712 · Mar 18, 2016
Related Publication 20170270009A1 · Sep 21, 2017