IP Library Granted Patent US 10,521,400
Granted Patent B1
US 10,521,400 · App. 15/664,253 · Granted Dec 31, 2019

Data reduction reporting in storage systems

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 10,521,400
App. No.
15/664,253
Filed
Jul 31, 2017
Granted
Dec 31, 2019
Kind
B1
Art Unit
2164
USPC
707/692
Abstract

Methods and apparatus are provided for reporting space savings due to data reduction in storage systems. An exemplary method comprises establishing a leaf pointer for a plurality of allocation units of data in a storage system; for at least a first allocation unit of data matching a second allocation unit of data, replacing the leaf pointer for the first allocation unit with a deduplication pointer to the leaf pointer of the second allocation unit; determining a total number of pointers as a sum of a number of the leaf pointers and a number of the deduplication pointers; determining a difference between the total number of pointers and the number of leaf pointers; and providing a data reduction attributed to deduplication based on the difference. The allocation units of data are optionally also compressed. Data reduction attributed to the compression can optionally be determined independent of the data reduction attributed to the deduplication.

Claims (37)

1. A method, comprising:

establishing a leaf pointer for each of a plurality of allocation units of data in a storage system;

for at least a first allocation unit of data matching a second allocation unit of data, replacing said leaf pointer for said first allocation unit with a deduplication pointer to said leaf pointer of said second allocation unit;

determining, using at least one processing device, a total number of pointers as a sum of a number of said leaf pointers and a number of said deduplication pointers;

determining, using at least one processing device, a difference between said total number of pointers and said number of said leaf pointers; and

providing a data reduction attributed to deduplication based on said difference.

2. The method of claim 1 , wherein said matching is performed by comparing hash values of said at least first allocation unit of data and said second allocation unit of data.

3. The method of claim 1 , further comprising the steps of compressing said plurality of said allocation units of data; and separately reporting said data reduction attributed to said deduplication and said data reduction attributed to said compression.

4. The method of claim 3 , further comprising the steps of (i) determining a deduplication ratio based on said data reduction attributed to deduplication and a total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (ii) determining said data reduction attributed to said compression, together with said deduplication, based on a difference between (a) a total number of active allocation units and unique uncompressed allocation units, following said compression and said deduplication, and (b) a total number of storage regions needed to store said total number of active allocation units and unique uncompressed allocation units; and (iii) determining said data reduction attributed to said compression independent of said data reduction attributed to said deduplication based on said data reduction attributed to said compression, together with said deduplication, and said deduplication ratio.

5. The method of claim 3 , further comprising the steps of (i) determining a number of references to a first total number of active allocation units and unique uncompressed allocation units; (ii) determining a number of references to a second total number of storage regions needed to store said total number of active allocation units and unique uncompressed allocation units; and (iii) determining said data reduction attributed to said compression independent of said data reduction attributed to said deduplication based on a difference between said first total number and said second total number.

6. The method of claim 3 , further comprising the steps of (i) determining a first total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (iii) determining a second total number of storage regions needed to store a total number of active allocation units and unique uncompressed allocation units, following said compression and said deduplication; and (iii) determining a first total data reduction attributed to said compression and said deduplication based on a difference between said first total number and said second total number.

7. The method of claim 6 , further comprising the steps of (i) determining a third total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (iii) determining a fourth total number of allocation units needed to store data of the file system, after data reduction; and (iii) determining a second total data reduction attributed to said compression and said deduplication based on a difference between said third total number and said fourth total number.

8. The method of claim 7 , determining an amount of garbage in said storage system based on a difference between said first total data reduction and said second total data reduction.

9. A computer program product, comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:

establishing a leaf pointer for each of a plurality of allocation units of data in a storage system;

for at least a first allocation unit of data matching a second allocation unit of data, replacing said leaf pointer for said first allocation unit with a deduplication pointer to said leaf pointer of said second allocation unit;

determining, using at least one processing device, a total number of pointers as a sum of a number of said leaf pointers and a number of said deduplication pointers;

determining, using at least one processing device, a difference between said total number of pointers and said number of said leaf pointers; and

providing a data reduction attributed to deduplication based on said difference.

10. The computer program product of claim 9 , wherein said matching is performed by comparing hash values of said at least first allocation unit of data and said second allocation unit of data.

11. The computer program product of claim 9 , further comprising the steps of compressing said plurality of said allocation units of data; and separately reporting said data reduction attributed to said deduplication and said data reduction attributed to said compression.

12. The computer program product of claim 11 , further comprising the steps of (i) determining a deduplication ratio based on said data reduction attributed to deduplication and a total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (ii) determining said data reduction attributed to said compression, together with said deduplication, based on a difference between (a) a total number of active allocation units and unique uncompressed allocation units, following said compression and said deduplication, and (b) a total number of storage regions needed to store said total number of active allocation units and unique uncompressed allocation units; and (iii) determining said data reduction attributed to said compression independent of said data reduction attributed to said deduplication based on said data reduction attributed to said compression, together with said deduplication, and said deduplication ratio.

13. The computer program product of claim 11 , further comprising the steps of (i) determining a number of references to a first total number of active allocation units and unique uncompressed allocation units; (ii) determining a number of references to a second total number of storage regions needed to store said total number of active allocation units and unique uncompressed allocation units; and (iii) determining said data reduction attributed to said compression independent of said data reduction attributed to said deduplication based on a difference between said first total number and said second total number.

14. The computer program product of claim 11 , further comprising the steps of (i) determining a first total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (iii) determining a second total number of storage regions needed to store a total number of active allocation units and unique uncompressed allocation units, following said compression and said deduplication; and (iii) determining a first total data reduction attributed to said compression and said deduplication based on a difference between said first total number and said second total number.

15. A system, comprising:

a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

establishing a leaf pointer for each of a plurality of allocation units of data in a storage system;

for at least a first allocation unit of data matching a second allocation unit of data, replacing said leaf pointer for said first allocation unit with a deduplication pointer to said leaf pointer of said second allocation unit;

determining, using said at least one processing device, a total number of pointers as a sum of a number of said leaf pointers and a number of said deduplication pointers;

determining, using at least one processing device, a difference between said total number of pointers and said number of said leaf pointers; and

providing a data reduction attributed to deduplication based on said difference.

16. The system of claim 15 , wherein said matching is performed by comparing hash values of said at least first allocation unit of data and said second allocation unit of data.

17. The system of claim 15 , further comprising the steps of compressing said plurality of said allocation units of data; and separately reporting said data reduction attributed to said deduplication and said data reduction attributed to said compression.

18. The system of claim 17 , further comprising the steps of (i) determining a deduplication ratio based on said data reduction attributed to deduplication and a total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (ii) determining said data reduction attributed to said compression, together with said deduplication, based on a difference between (a) a total number of active allocation units and unique uncompressed allocation units, following said compression and said deduplication, and (b) a total number of storage regions needed to store said total number of active allocation units and unique uncompressed allocation units; and (iii) determining said data reduction attributed to said compression independent of said data reduction attributed to said deduplication based on said data reduction attributed to said compression, together with said deduplication, and said deduplication ratio.

19. The system of claim 17 , further comprising the steps of (i) determining a number of references to a first total number of active allocation units and unique uncompressed allocation units; (ii) determining a number of references to a second total number of storage regions needed to store said total number of active allocation units and unique uncompressed allocation units; and (iii) determining said data reduction attributed to said compression independent of said data reduction attributed to said deduplication based on a difference between said first total number and said second total number.

20. The system of claim 17 , further comprising the steps of (i) determining a first total number of allocation units needed to store a plurality of files and replicas of said plurality of files in a given file system; (iii) determining a second total number of storage regions needed to store a total number of active allocation units and unique uncompressed allocation units, following said compression and said deduplication; and (iii) determining a first total data reduction attributed to said compression and said deduplication based on a difference between said first total number and said second total number.

Assignments (8)
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 (043775/0082) Recorded May 20, 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
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 Mar 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2017
From: BASOV, IVAN; RASHID, AHSAN; MARKO, MICHAL; FORRESTER, WALTER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043490/0551 →