IP Library Granted Patent US 9,626,373
Granted Patent B2
US 9,626,373 · App. 13/802,167 · Granted Apr 18, 2017

Optimizing data block size for deduplication

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,626,373
App. No.
13/802,167
Granted
Apr 18, 2017
Kind
B2
Abstract

Provided herein is technology relating to data deduplication and particularly, but not exclusively, to methods and systems for determining an efficiently optimal size of data blocks to use for backing up a data source. Also provided herein are systems for identifying duplicate data in data backup applications.

Claims (49)

1. A computer-implemented method for determining a first data block size for deduplicating a file type, the method comprising:

constructing a function relating a plurality of compression ratios to a plurality of test data block sizes, wherein a compression ratio of the plurality of compression ratios is calculated by transforming a file of the file type using a deduplication technology and a test data block size of the plurality of test data block sizes;

determining a maximum compression ratio of the function;

choosing a test data block size associated with the maximum compression ratio to be the first data block size for the file type; and

deduplicating a data block of the first data block size based on a sliding window, wherein deduplicating the data block comprises:

calculating a first hash value to identify a potential data block; and

calculating a second hash value to identify the duplicate data block,

wherein a beginning of the sliding window is set at an end of a duplicate data block when the duplicate data block is detected, and wherein the sliding window moves backwards when the duplicate data block is not detected.

2. The computer-implemented method of claim 1 wherein constructing the function relating a plurality of compression ratios to a plurality of test data block sizes further comprises:

providing a file of the file type, wherein the file has a file size;

generating a plurality of data blocks from the file, wherein each data block of the plurality of data blocks has a size that is the test data block size;

applying the deduplication technology to the plurality of data blocks to produce a deduplicated result file, wherein the deduplicated result file has a deduplicated size; and

calculating a compression ratio from the file size and the deduplicated size.

3. The computer-implemented method of claim 1 wherein the file is selected from a collection of files of the same file type.

4. The computer-implemented method of claim 3 wherein the function is constructed using all files from the collection of files of the same file type.

5. The computer-implemented method of claim 1 wherein:

the file comprises a plurality of data bytes; and

the file type is determined by examining a data byte from the plurality of data bytes.

6. The computer-implemented method of claim 1 wherein:

the file has an extension; and

the file type is determined from the extension.

7. The computer-implemented method of claim 1 wherein the file type is selected from the group consisting of application, image, text file, source code, audio, video, database, spreadsheet, word processing document, system file, directory, disk image, archive, portable document, binary file, vector image, font, computer aided design, compressed, physical recordable media archiving, electronic design automation, desktop publishing, document, geographic information system, graphical information organizer, color palette, raster graphics, 3D graphics, mathematical, object code, shared library, dynamic linked library, page description, personal information manager, presentation, project management, reference management, scientific data, script, game, virtual machine, man file, webpage, markup language, and financial record.

8. The computer-implemented method of claim 1 wherein:

the file has a resource fork; and

the file type is determined from the resource fork.

9. The computer-implemented method of claim 1 wherein:

the file has metadata; and

the file type is determined from the metadata.

10. The computer-implemented method of claim 1 wherein the function is a model relating the plurality of compression ratios to the plurality of test data block sizes.

11. The computer-implemented method of claim 1 wherein the function is an interpolation based on the plurality of compression ratios and the plurality of test data block sizes.

12. A data backup system comprising:

a table relating a plurality of file types to a plurality of selected data block sizes;

a deduplication technology;

a functionality to receive a data source having a file type; and

a hardware processor configured to:

generate a plurality of data blocks from the data source, wherein each data block of the plurality of data blocks has a size that is the selected data block size associated with the file type; and

deduplicate a data block based on a sliding window wherein deduplicating the data block comprises:

calculating a first hash value to identify a potential data block; and

calculating a second hash value to identify the duplicate data block,

wherein a beginning of the sliding window is set at an end of a duplicate data block when the duplicate data block is detected, and wherein the sliding window moves backwards when the duplicate data block is not detected.

13. The data backup system of claim 12 further comprising a functionality to construct the table based on a function, wherein the hardware processor is further configured to:

construct the function relating a plurality of compression ratios to a plurality of test data block sizes, wherein a compression ratio of the plurality of compression ratios is calculated by transforming a file of the file type using a deduplication technology and a test data block size of the plurality of test data block sizes.

14. The data backup system of claim 12 wherein the data source is a file.

15. The data backup system of claim 12 wherein the data source is a file system.

16. The data backup system of claim 12 wherein the data source comprises a plurality of files.

17. The data backup system of claim 16 wherein the plurality of files resides on a plurality of machines, computers, volumes, storage media, memories, locations, or network nodes.

18. The data backup system of claim 12 wherein the data backup system is local to the data source.

19. The data backup system of claim 12 wherein the data backup system is remote from the data source.

20. The data backup system of claim 12 further comprising a pre-populated plurality of data blocks generated from standard files of an operating system or file system.

Assignments (12)
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2014
From: RAM, TAMIR
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 032694/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: ARKEIA SOFTWARE, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 031277/0357 →