IP Library Granted Patent US 8,683,156
Granted Patent B2
US 8,683,156 · App. 13/313,969 · Granted Mar 25, 2014

Format-preserving deduplication of data

Inventors: Ashutosh Kanhaiya Bahadure (Lake Mary, FL); Carl James Appellof (Santa Rosa, CA); Edward Michael Goble (Winter Springs, FL)
Assignee: Symantec Corporation
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 8,683,156
App. No.
13/313,969
Granted
Mar 25, 2014
Kind
B2
Abstract

Data blocks are copied from a source (e.g., a source virtual disk) to a target (e.g., a target virtual disk). The source virtual disk format is preserved on the target virtual disk. Offsets for extents stored in the target virtual disk are converted to offsets for corresponding extents in the source virtual disk. A map of the extents for the source virtual disk can therefore be used to create, for deduplication, segments of data that are aligned to boundaries of the extents in the target virtual disk.

Claims (36)

1. A non-transitory computer-readable storage medium having computer-executable instructions that, when executed, cause a computer system to perform a method comprising:

copying data blocks from a source to a target;

converting offsets for extents comprising one or more of said data blocks stored in said target to offsets for corresponding extents of data blocks in said source;

accessing a map of said extents for said source; and

using said map of extents for said source to create, for deduplication, segments of data that are aligned to boundaries of said extents in said target, said segments each comprising one or more of said extents in said target.

2. The computer-readable storage medium of claim 1 wherein said source comprises a first virtual disk and said target comprises a second virtual disk.

3. The computer-readable storage medium of claim 1 wherein said data blocks in said source and said data blocks stored in said target have the same format.

4. The computer-readable storage medium of claim 3 wherein said format is selected from the group consisting of: Virtual Machine Disk (VMDK) format and Virtual Hard Disk (VHD) format.

5. The computer-readable storage medium of claim 1 wherein said converting comprises accessing file system metadata to determine said offsets in said source and said offsets in said target.

6. The computer-readable storage medium of claim 5 wherein said metadata is selected from the group consisting of: grain tables for data in Virtual Machine Disk (VMDK) format, and block allocation tables for data in Virtual Hard Disk (VHD) format.

7. The computer-readable storage medium of claim 1 wherein said copying comprises copying used data blocks but not unused data blocks from said source to said target.

8. The computer-readable storage medium of claim 1 further comprising deduplicating data stored on said target by replacing segments of data that match previously stored segments of data with references to said previously stored segments.

9. A system comprising:

a processor; and

memory coupled to said processor and having stored therein instructions that, if executed by said system, cause said system to perform operations comprising:

storing data blocks in a target virtual disk, said data blocks stored in said target virtual disk comprising copies of used data blocks but not unused data blocks from a source virtual disk;

converting offsets for extents comprising one or more of said data blocks stored in said target virtual disk to offsets for corresponding extents of data blocks in said source virtual disk;

generating a map of said extents for said source virtual disk; and

using said map of extents for said source virtual disk to create, for deduplication, segments of data that are aligned to boundaries of said extents in said target virtual disk, said segments each comprising one or more of said extents in said target virtual disk.

10. The system of claim 9 wherein said data blocks in said source virtual disk and said data blocks stored in said target virtual disk have the same format.

11. The system of claim 10 wherein said format is selected from the group consisting of: Virtual Machine Disk (VMDK) format and Virtual Hard Disk (VHD) format.

12. The system of claim 9 wherein said converting comprises accessing metadata of said source virtual disk and metadata of target virtual disk to determine said offsets in said source virtual disk and said offsets in said target virtual disk.

13. The system of claim 12 wherein said metadata of said source virtual disk and metadata of target virtual disk are selected from the group consisting of:

grain tables for data in Virtual Machine Disk (VMDK) format, and block allocation tables for data in Virtual Hard Disk (VHD) format.

14. A computer-implemented method of managing data, said method comprising:

accessing file system metadata on a source virtual disk;

generating, with said file system metadata, a map of extents stored on said source virtual disk, said extents each comprising one or more physically contiguous data blocks for a respective file;

copying a subset of said data blocks stored on said source virtual disk to a target virtual disk;

converting offsets for extents comprising one or more of said data blocks stored in said target virtual disk to offsets for corresponding extents in said source virtual disk; and

using said map of extents for said source virtual disk to create, for deduplication, segments of data that are aligned to a boundary of an extent in said target virtual disk, said segments each comprising one or more of said extents in said target virtual disk.

15. The method of claim 14 wherein said data blocks in said source virtual disk and said data blocks stored in said target virtual disk have the same format.

16. The method of claim 15 wherein said format is selected from the group consisting of: Virtual Machine Disk (VMDK) format and Virtual Hard Disk (VHD) format.

17. The method of claim 14 wherein said converting comprises determining said offsets in said source virtual disk and said offsets in said target virtual disk by accessing first metadata for said source virtual disk and second metadata for said target virtual disk.

18. The method of claim 17 wherein said first metadata and said second metadata are selected from the group consisting of: grain tables for data in Virtual Machine Disk (VMDK) format, and block allocation tables for data in Virtual Hard Disk (VHD) format.

19. The method of claim 14 wherein said subset comprises used data blocks but not unused data blocks from said source virtual disk.

20. The method of claim 14 wherein said deduplication comprises replacing segments of data on said target virtual disk that match previously stored segments of data with references to said previously stored segments.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2011
From: BAHADURE, ASHUTOSH KANHAIYA; APPELLOF, CARL JAMES; GOBLE, EDWARD MICHAEL
To: SYMANTEC CORPORATION
Reel/Frame 027346/0513 →
Continuity (1)
Related Publication 20130151802A1 · Jun 13, 2013