IP Library Granted Patent US 10,514,861
Granted Patent B1
US 10,514,861 · App. 15/664,255 · Granted Dec 24, 2019

Reporting of space savings due to pattern matching in storage systems

Inventors: Ivan Basov (Brookline, MA); Ahsan Rashid (Edison, NJ); Michal Marko (Fanwood, NJ); Walter Forrester (Berkeley Heights, NJ)
Assignee: EMC IP Holding Company LLC
G06F3/0653G06F3/067G06F3/0608G06F3/0643
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,514,861
App. No.
15/664,255
Filed
Jul 31, 2017
Granted
Dec 24, 2019
Kind
B1
Art Unit
2133
USPC
711/154
Abstract

Methods and apparatus are provided for reporting space savings due to pattern matching in storage systems. 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 data reduction attributed to pattern matching based on the at least one pattern counter, wherein the one or more predefined patterns in the at least one snapshot are excluded from the data reduction attributed to pattern matching.

Claims (31)

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; and

determining, using at least one processing device, a data reduction attributed to pattern matching based on said at least one pattern counter, wherein said one or more predefined patterns in said at least one snapshot are excluded from said data reduction attributed to pattern matching.

2. The method of claim 1 , wherein said determination of whether said given allocation unit matches said predefined pattern comprises comparing said given allocation unit to a plurality of predefined patterns in a predefined pattern matching list.

3. The method of claim 1 , wherein said determination of whether said given allocation unit matches said predefined pattern is evaluated during an input/output (IO) update operation.

4. The method of claim 1 , wherein said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

5. The method of claim 1 , wherein said at least one pattern counter is stored in metadata for a file system comprising said allocation unit.

6. The method of claim 1 , further comprising the step of setting a snapshot flag in a mapping pointer of an allocation unit corresponding to said at least one snapshot of said given allocation unit.

7. The method of claim 6 , wherein said one or more predefined patterns in said at least one snapshot are excluded from said data reduction attributed to pattern matching by evaluating said snapshot flag.

8. The method of claim 1 , wherein said corresponding pattern flag for said given allocation unit is stored in a mapping pointer of said given allocation unit.

9. The method of claim 1 , wherein said data reduction attributed to pattern matching is reported as a portion of one or more of compression and deduplication.

10. 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:

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; and

determining, using at least one processing device, a data reduction attributed to pattern matching based on said at least one pattern counter, wherein said one or more predefined patterns in said at least one snapshot are excluded from said data reduction attributed to pattern matching.

11. The computer program product of claim 10 , wherein said determination of whether said given allocation unit matches said predefined pattern comprises comparing said given allocation unit to a plurality of predefined patterns in a predefined pattern matching list.

12. The computer program product of claim 10 , wherein said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

13. The computer program product of claim 10 , further comprising the step of setting a snapshot flag in a mapping pointer of an allocation unit corresponding to said at least one snapshot of said given allocation unit.

14. The computer program product of claim 13 , wherein said one or more predefined patterns in said at least one snapshot are excluded from said data reduction attributed to pattern matching by evaluating said snapshot flag.

15. A system, comprising:

a 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; and

determining, using said at least one processing device, a data reduction attributed to pattern matching based on said at least one pattern counter, wherein said one or more predefined patterns in said at least one snapshot are excluded from said data reduction attributed to pattern matching.

16. The system of claim 15 , wherein said determination of whether said given allocation unit matches said predefined pattern comprises comparing said given allocation unit to a plurality of predefined patterns in a predefined pattern matching list.

17. The system of claim 15 , wherein said determination of whether said given allocation unit matches said predefined pattern is evaluated during an input/output (IO) update operation.

18. The system of claim 15 , wherein said at least one pattern counter comprises an all zeroes pattern counter and a second counter for one or more additional predefined patterns.

19. The system of claim 15 , further comprising the step of setting a snapshot flag in a mapping pointer of an allocation unit corresponding to said at least one snapshot of said given allocation unit.

20. The system of claim 19 , wherein said one or more predefined patterns in said at least one snapshot are excluded from said data reduction attributed to pattern matching by evaluating said snapshot flag.

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/0779 →
Cited By (2)
US 12,254,197 US 12,436,704