IP Library Granted Patent US 11,061,827
Granted Patent B2
US 11,061,827 · App. 16/668,342 · Granted Jul 13, 2021

Metadata representation for enabling partial page duplication

Inventors: Uri Shabi (Tel Mond, IL); Alex Soukhman (Raanana, IL)
Assignee: EMC IP Holding Company LLC
G06F12/126G06F12/1018G06F2212/1044
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 11,061,827
App. No.
16/668,342
Filed
Oct 30, 2019
Granted
Jul 13, 2021
Kind
B2
Art Unit
2132
USPC
711/159
Abstract

An aspect includes providing a metadata structure having a logical level that points to a virtual level and a physical level to which the virtual level points. The method also includes storing, at the virtual level, a reference counter for each of a plurality of virtual-level type storage address entries in the metadata structure, and providing a pointer in the metadata structure between each pair of a number of pairs of virtual level address entries in which corresponding pages share a set of common sectors. The reference counter tracks a number of instances in which a corresponding pointer points to a corresponding virtual level address entry. An aspect further includes storing a single instance of the common sectors at the physical level.

Claims (38)

1. A method, comprising:

providing a metadata structure having multiple levels of indirection of data storage, the multiple levels of indirection including a logical level that points to a virtual level, and a physical level to which the virtual level points;

storing, at the virtual level, a reference counter for each of a plurality of virtual-level type storage address entries in the metadata structure;

providing a pointer in the metadata structure between each pair of a number of pairs of virtual level address entries in which corresponding pages share a set of common sectors, the pointer indicating a partial match between the corresponding pages, the partial match occurring when the set of common sectors includes fewer than all sectors in any of the corresponding pages,

wherein the reference counter tracks a number of instances in which a corresponding pointer points to a corresponding virtual level address entry; and

storing a single instance of the common sectors at the physical level.

2. The method of claim 1 , wherein a virtual-level type storage address entry that points to the page that stores the common sectors maintains ownership of the page with respect to deduplication operations.

3. The method of claim 2 , wherein a virtual-level type storage address entry that does not point to the page storing the common sectors is dependent on the virtual-level type storage address that points to the page storing the common sectors.

4. The method of claim 1 , further comprising:

storing, in a hash table, a listing of the virtual-level type storage addresses and hashed values for pages corresponding to the virtual-level type storage addresses.

5. The method of claim 4 , wherein the virtual-level type storage addresses point to a physical-level type storage address at the physical level in which data is stored.

6. The method of claim 1 , wherein when the reference count for the virtual-level type storage address of the matching page is not equal to zero, the method includes performing a partial deduplication operation.

7. A system comprising:

a memory comprising computer-executable instructions; and

a processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

providing a metadata structure having multiple levels of indirection of data storage, the multiple levels of indirection including a logical level that points to a virtual level, and a physical level to which the virtual level points;

storing, at the virtual level, a reference counter for each of a plurality of virtual-level type storage address entries in the metadata structure;

providing a pointer in the metadata structure between each pair of a number of pairs of virtual level address entries in which corresponding pages share a set of common sectors, the pointer indicating a partial match between the corresponding pages, the partial match occurring when the set of common sectors includes fewer than all sectors in any of the corresponding pages,

wherein the reference counter tracks a number of instances in which a corresponding pointer points to a corresponding virtual level address entry; and

storing a single instance of the common sectors at the physical level.

8. The system of claim 7 , wherein a virtual-level type storage address entry that points to the page that stores the common sectors maintains ownership of the page with respect to deduplication operations.

9. The system of claim 8 , wherein a virtual-level type storage address entry that does not point to the page storing the common sectors is dependent on the virtual-level type storage address that points to the page storing the common sectors.

10. The system of claim 7 , wherein the operations further comprise:

storing, in a hash table, a listing of the virtual-level type storage addresses and hashed values for pages corresponding to the virtual-level type storage addresses.

11. The system of claim 10 , wherein the virtual-level type storage addresses point to physical-level type storage address at the physical level in which data is stored.

12. The system of claim 7 , wherein when the reference count for the virtual-level type storage address of the matching page is not equal to zero, the operations include performing a partial deduplication operation.

13. A computer program product embodied on a non-transitory computer readable medium, and the computer program product including instructions that, when executed by a computer, causes the computer to perform operations, the operations including:

providing a metadata structure having multiple levels of indirection for storing data, the multiple levels of indirection including a logical level that points to a virtual level, and a physical level to which the virtual level points;

storing, at the virtual level, a reference counter for each of a plurality of virtual-level type storage address entries in the metadata structure;

providing a pointer in the metadata structure between each pair of a number of pairs of virtual level address entries in which corresponding pages share a set of common sectors, the pointer indicating a partial match between the corresponding pages, the partial match occurring when the set of common sectors includes fewer than all sectors in any of the corresponding pages,

wherein the reference counter tracks a number of instances in which a corresponding pointer points to a corresponding virtual level address entry; and

storing a single instance of the common sectors at the physical level.

14. The computer program product of claim 13 , wherein the virtual level address entry that points to the page that stores the common sectors maintains ownership of the page with respect to deduplication operations.

15. The computer program product of claim 14 , wherein a virtual-level type storage address entry that does not point to the page storing the common sectors is dependent on the virtual-level type storage address that points to the page storing the common sectors.

16. The computer program product of claim 13 , wherein the operations further include:

storing, in a hash table, a listing of the virtual-level type storage addresses and hashed values for pages corresponding to the virtual-level type storage addresses.

17. The computer program product of claim 16 , wherein the virtual-level type storage addresses point to physical-level type storage address in which data is stored.

18. The computer program product of claim 13 , wherein when the reference count for the virtual-level type storage address of the matching page is not equal to zero, the operations further comprise performing a partial deduplication operation.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: SHABI, URI; SOUKHMAN, ALEX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050866/0393 →
Continuity (1)
Related Publication 20210133117A1 · May 6, 2021