IP Library Granted Patent US 11,860,834
Granted Patent B1
US 11,860,834 · App. 15/800,590 · Granted Jan 2, 2024

Reporting of space savings due to pattern matching in storage systems

Inventors: Ivan Bassov (Brookline, MA); Ahsan Rashid (Edison, NJ); Philippe Armangau (Acton, MA)
Assignee: EMC IP Holding Company LLC
G06F16/215G06F16/22G06F16/2379
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,860,834
App. No.
15/800,590
Granted
Jan 2, 2024
Kind
B1
Abstract

Techniques are provided for reporting space savings due to pattern matching in storage systems. For example, in one embodiment, an exemplary method comprises, when a given allocation unit in a storage system matches one or more predefined patterns, (i) setting a corresponding pattern flag for the given allocation unit, and (ii) incrementing at least one pattern counter; generating at least one snapshot of at least a portion of a file comprising the given allocation unit; and determining a range of data reduction attributed to pattern matching based on said at least one pattern counter, wherein one extreme of said range of data reduction attributed to pattern matching excludes said one or more predefined patterns in said at least one snapshot.

Claims (52)

1. A method, comprising:

when a given allocation unit in a storage system matches one or more predefined patterns, then (i) setting a corresponding pattern flag for said given allocation unit, and (ii) incrementing at least one pattern counter;

generating at least one snapshot of at least a portion of a file comprising said given allocation unit;

determining an upper bound of data reduction;

determining a lower bound of data reduction, wherein the lower bound of data reduction is determined using the upper bound; and

determining, using at least one processing device, a range of data reduction attributed to pattern matching based on said at least one pattern counter, wherein one extreme of said range of data reduction attributed to pattern matching excludes said one or more predefined patterns in said at least one snapshot, wherein the one extreme of the range represents the lower bound of the range; and wherein determining the range of data reduction attributed to pattern matching based on said at least one pattern counter, comprises:

summing the respective counts in the at least one pattern counter to produce a summed total of counts;

determining a total number of primary and replica files, wherein the primary files comprise the file and the replica files comprise the at least one snapshot; and

dividing the summed total of counts by the total number of primary and replica files to produce the lower bound of the range,

wherein space savings attributed to the pattern matching is represented by the range of data reduction,

wherein the range of data reduction comprises the upper bound and the lower bound.

2. The method as claimed in claim 1 , where the range comprises another extreme representing the upper bound of the range; and wherein

determining the range of data reduction attributed to pattern matching based on said at least one pattern counter, comprises:

summing the respective counts in the at least one pattern counter to produce a summed total of counts that represents the upper bound of the range.

3. The method as claimed in claim 1 , further comprising determining a pattern saving value representative of data reduction attributed to pattern matching such that the value is located within the range.

4. The method as claimed in claim 3 , wherein the pattern saving value is a midpoint between respective extremes that define the range.

5. The method as claimed in claim 1 , wherein the said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

6. An apparatus, comprising:

memory; and

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

when a given allocation unit in a storage system matches one or more predefined patterns, then (i) setting a corresponding pattern flag for said given allocation unit, and (ii) incrementing at least one pattern counter;

generating at least one snapshot of at least a portion of a file comprising said given allocation unit;

determining an upper bound of data reduction;

determining a lower bound of data reduction, wherein the lower bound of data reduction is determined using the upper bound; and

determining, using at least one processing device, a range of data reduction attributed to pattern matching based on said at least one pattern counter, wherein one extreme of said range of data reduction attributed to pattern matching excludes said one or more predefined patterns in said at least one snapshot, wherein the one extreme of the range represents the lower bound of the range; and wherein determining the range of data reduction attributed to pattern matching based on said at least one pattern counter, comprises:

summing the respective counts in the at least one pattern counter to produce a summed total of counts;

determining a total number of primary and replica files, wherein the primary files comprise the file and the replica files comprise the at least one snapshot; and

dividing the summed total of counts by the total number of primary and replica files to produce the lower bound of the range,

wherein space savings attributed to the pattern matching is represented by the range of data reduction,

wherein the range of data reduction comprises the upper bound and the lower bound.

7. The apparatus as claimed in claim 6 , further comprising determining a pattern saving value representative of data reduction attributed to pattern matching such that the value is located within the range.

8. The apparatus as claimed in claim 6 , wherein the pattern saving value is a midpoint between respective extremes that define the range.

9. The apparatus as claimed in claim 6 , wherein the said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

10. The apparatus as claimed in claim 6 , wherein the said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

11. A non-transitory computer program product comprising a tangible 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:

when a given allocation unit in a storage system matches one or more predefined patterns, then (i) setting a corresponding pattern flag for said given allocation unit, and (ii) incrementing at least one pattern counter;

generating at least one snapshot of at least a portion of a file comprising said given allocation unit;

determining an upper bound of data reduction;

determining a lower bound of data reduction, wherein the lower bound of data reduction is determined using the upper bound; and

determining, using at least one processing device, a range of data reduction attributed to pattern matching based on said at least one pattern counter, wherein one extreme of said range of data reduction attributed to pattern matching excludes said one or more predefined patterns in said at least one snapshot, wherein the one extreme of the range represents the lower bound of the range; and wherein

determining the range of data reduction attributed to pattern matching based on said at least one pattern counter, comprises:

summing the respective counts in the at least one pattern counter to produce a summed total of counts;

determining a total number of primary and replica files, wherein the primary files comprise the file and the replica files comprise the at least one snapshot; and

dividing the summed total of counts by the total number of primary and replica files to produce the lower bound of the range,

wherein space savings attributed to the pattern matching is represented by the range of data reduction,

wherein the range of data reduction comprises the upper bound and the lower bound.

12. The computer program product as claimed in claim 11 , where the range comprises another extreme representing the upper bound of the range; and wherein determining the range of data reduction attributed to pattern matching based on said at least one pattern counter, comprises:

summing the respective counts in the at least one pattern counter to produce a summed total of counts that represents the upper bound of the range.

13. The computer program product as claimed in claim 11 , further comprising

determining a pattern saving value representative of data reduction attributed to pattern matching such that the value is located within the range.

14. The computer program product as claimed in claim 13 , wherein the pattern saving value is a midpoint between respective extremes that define the range.

15. The computer program product as claimed in claim 11 , wherein the said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

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 (044535/0109) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: BASSOV, IVAN; RASHID, AHSAN; ARMANGAU, PHILIPPE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044007/0638 →
Cited By (3)
US 12,254,197 US 12,650,922 US 12,675,437