IP Library Granted Patent US 9,633,022
Granted Patent B2
US 9,633,022 · App. 13/791,106 · Granted Apr 25, 2017

Backup and restoration for a deduplicated file system

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,633,022
App. No.
13/791,106
Granted
Apr 25, 2017
Kind
B2
Abstract

The disclosed techniques that can use deduplication information on a source computer platform to improve the process of performing data backups or restoration from/to the computer platform. In one example aspect, a data backup operation can re-use some of the work already done by a source computer's deduplication system. For example, a storage operation could read a deduplication database on the source computer platform to determine the duplicativeness of a given data chunk being transferred to a backup storage system, without having to perform computations such as data chunk hashing and comparison with previously generated hashes. The technique may additionally or alternatively reuse hashes generated by the source computer during deduplication of the data file on the source computer's file system during deduplication at the external backup storage system.

Claims (36)

1. A method of backing up data from a source file system of a computer device to a backup data storage system, the method comprising:

checking whether a source file is locally stored on the source file system in a local deduplicated format of the source file system by performing application programming interface (API) calls to an deduplication control module of the source file system of the computer device to determine whether the source file is stored in the local deduplicated format,

wherein the deduplication control module controls deduplication operations associated with source files locally stored on the source file system;

when the checking indicates that the source file is stored in the local deduplicated format, then

determining a block size value used to store the source file in the deduplicated format;

accessing, without a file read/write assistance from an operating system running on the computer device, a local deduplication database to determine a location of a first data chunk of the source file stored in the deduplicated format on a local storage device; and,

backing up the source file by accessing and selectively transferring the first data chunk and successive data chunks of the source file by:

transferring a given data chunk, if the local deduplication database indicates that the given data chunk was not deduplicated; and

transferring a deduplication record, without transferring the given datachunk, if the local deduplication database indicates that the given data chunk was deduplicated; and

when the check indicates that the source file is stored without deduplication on the computer device, then backing up the source file by transferring data chunks of the source file to the backup data storage system and performing deduplication on the data chunks of the source file.

2. The method of claim 1 , further comprising:

updating a backup transaction log at the backup storage system with a first entry type when the given data chunk is transferred, and with a second entry type when the deduplication record is transferred instead of the given data chunk

wherein multiple files of the source file system are backed up using the method.

3. The method recited in claim 2 , wherein, when at least one file in a source directory of the source file system is determined to be stored in the deduplicated format, then it is determined that all remaining files in the source directory are also stored in the deduplicated format.

4. The method recited in claim 2 , where, when at least one file in the source directory of the source file system is determined to be stored in the deduplicated format, then it is determined that all remaining files in child directories under the source directory are also stored in the deduplicated format.

5. The method of claim 1 wherein the determining whether the source file is stored on the source file system in the deduplicated format is performed without assistance from the operating system.

6. The method of claim 1 further comprising:

when it is determined that the source file is stored in a deduplicated format, transferring hash values corresponding to the source file in the deduplicated format to the backup storage system.

7. The method of claim 1 , wherein different hash functions are used for deduplication at the source file system and the backup data storage system, and wherein the determining the block size value is performed without assistance from the operating system.

8. A method for backing up data from a source file system of a computer device to a backup data storage system, the method comprising:

checking whether a source file is stored on the source file system in a deduplicated format by determining whether the source file includes header information or byte patterns that indicate whether the source file includes file data or pointer information indicative of previous deduplication of the source file on the source file system;

when the checking indicates that the source file is stored in a deduplicated format, then

determining a block size value used to store the source file in the deduplicated format;

accessing, without a file read/write assistance from an operating system running on the computer device, a local deduplication database to determine a location of a first data chunk of the source file stored in the deduplicated format on a local storage device; and,

backing up the source file by accessing and selectively transferring the first data chunk and successive data chunks of the source file by:

transferring a given data chunk, if the local deduplication database indicates that the given data chunk was not deduplicated; and

transferring a deduplication record, without transferring the given data chunk, if the local deduplication database indicates that the given data chunk was deduplicated; and

when the check indicates that the source file is stored without deduplication on the computer device, then backing up the source file by transferring data chunks of the source file to the backup data storage system and performing deduplication on the data chunks of the source file.

9. The method of claim 8 , further comprising:

updating a backup transaction log at the backup storage system with a first entry type when the given data chunk is transferred, and with a second entry type when the deduplication record is transferred instead of the given data chunk.

10. The method of claim 9 , wherein, when at least one file in a source directory of the source file system is determined to be stored in the deduplicated format, then it is determined that all remaining files in the source directory are also stored in the deduplicated format.

11. The method of claim 9 , wherein, when at least one file in the source directory of the source file system is determined to be stored in the deduplicated format, then it is determined that all remaining files in child directories under the source directory are also stored in the deduplicated format.

12. The method of claim 8 further comprising:

when it is determined that the source file is stored in a deduplicated format, transferring hash values corresponding to the source file in the deduplicated format to the backup storage system.

13. The method of claim 1 , wherein checking whether a source file is stored on the source file system in a local deduplicated format by performing application programming interface (API) calls deduplication control module of the source file system to determine whether the source file is stored in the local deduplicated format includes:

comparing actual hard drive usage with the size of the source file to determine whether the hard drive usage matches the size of the source file, or performing a read operation of the source file and comparing a read data chunk of the source file with an expected bit pattern for the read operation.

Assignments (4)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →