IP Library Granted Patent US 12,164,477
Granted Patent B2
US 12,164,477 · App. 17/582,763 · Granted Dec 10, 2024

Container-based erasure coding

Inventors: Apurv Gupta (Bengaluru, IN); Akshat Agarwal (Delhi, IN); Manvendra Singh Tomar (Madhya Pradesh, IN); Donthula Akshith Reddy (Bheemaram, IN); Kushal Singh (Bengaluru, IN); Tarun Kumar Yadav (Rajasthan, IN); Mandar Suresh Naik (Pune, IN)
Assignee: Cohesity, Inc.
G06F16/1748
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 12,164,477
App. No.
17/582,763
Granted
Dec 10, 2024
Kind
B2
Abstract

A repository of replicated chunk files is analyzed to identify chunk files that meet at least a portion of combination criteria. Selected chunk files are associated together under a data protection grouping container. Erasure coding is applied to the data protection grouping container including by utilizing the selected chunk files as different data stripes of the erasure coding and generating one or more parity stripes based on the different data stripes.

Claims (32)

1. A method, comprising:

analyzing a repository of replicated chunk files to select one or more replicated chunk files that satisfy at least a portion of combination criteria, including satisfying the combination criteria that an original chunk file associated with the one or more replicated chunk files is stored on a first storage device and the one or more replicated chunk files are stored on a second storage device different than the first storage device;

associating the one or more replicated chunk files selected in a data protection grouping container by, at least in part, updating a metadata table to indicate the one or more replicated chunk files are associated with the data protection grouping container and without updating metadata within the one or more replicated chunk files associated with the data protection grouping container; and

applying erasure coding to the data protection grouping container, including utilizing the one or more replicated chunk files associated with the data protection grouping container as different data stripes of the erasure coding and generating one or more parity stripes based on the different data stripes.

2. The method of claim 1 , wherein associating the one or more replicated chunk files selected in the data protection grouping container includes updating the metadata table to indicate the one or more replicated chunk files are associated with the data protection grouping container without writing the one or more replicated chunk files associated with the data protection grouping container to a new chunk file.

3. The method of claim 1 , wherein the at least the portion of the combination criteria is further based on one or more of: an age of one of the selected one or more replicated chunk files, a size of the one of the selected one or more replicated chunk files, whether the one of the selected one or more replicated chunk files includes non-deduplicated data chunks, a storage node that includes the first storage device or the second storage device storing the one of the selected one or more replicated chunk files, a chassis including the storage node that includes the first storage device or the second storage device storing the one of the selected one or more replicated chunk files, and/or a rack including the chassis including the storage node that includes the first storage device or the second storage device storing the one of the selected one or more replicated chunk files.

4. The method of claim 1 , wherein analyzing the repository of replicated chunk files to select the one or more replicated chunk files includes selecting and including a first replicated chunk file in the data protection grouping container and selecting a second replicated chunk file.

5. The method of claim 4 , further comprising determining whether the second replicated chunk file meets the portion of the combination criteria.

6. The method of claim 5 , further comprising including the second replicated chunk file in the data protection grouping container based on determining the second replicated chunk file meets the combination criteria.

7. The method of claim 1 , further comprising ending selecting the one or more replicated chunk files and associating the selected one or more replicated chunk files in the data protection container when the data protection grouping container is full.

8. The method of claim 7 , further comprising determining whether the data protection grouping container is full based on an erasure coding configuration.

9. The method of claim 1 , wherein associating the selected one or more replicated chunk files in the data protection grouping container comprises updating the metadata table to include an entry, corresponding to the data protection grouping container, that associates the selected one or more replicated chunk files with a corresponding storage device of a storage system.

10. The method of claim 1 , further comprising applying the erasure coding based on a specified erasure coding configuration.

11. The method of claim 10 , wherein the specified erasure coding configuration indicates a number of data stripes and a number of parity stripes to include in the data protection grouping container.

12. The method of claim 1 , wherein the selected one or more replicated chunk files and the one or more generated parity stripes are stored on different storage devices of a storage system.

13. The method of claim 1 , further comprising monitoring the data protection grouping container.

14. The method of claim 13 , further comprising performing a garbage collection process.

15. The method of claim 13 , further comprising determining whether a measure of unreferenced data chunks associated with the data protection grouping container is greater than a threshold measure of unreferenced data chunks.

16. The method of claim 15 , further comprising generating a new data protection grouping container based on whether the measure of unreferenced data chunks associated with the data protection grouping container is greater than the threshold measure of unreferenced data chunks.

17. The method of claim 15 , further comprising updating the data protection grouping container based on whether the measure of unreferenced data chunks associated with the data protection grouping container is greater than the threshold measure of unreferenced data chunks.

18. Non-transitory computer-readable storage media encoded with instructions that, when executed, cause one or more processors to:

analyze a repository of replicated chunk files to select one or more replicated chunk files that satisfy at least a portion of combination criteria, including satisfying the combination criteria that an original chunk file associated with the one or more replicated chunk files is stored on a first storage device and the one or more replicated chunk files are stored on a second storage device different than the first storage device;

associate the one or more replicated chunk files selected in a data protection grouping container by, at least in part, updating a metadata table to indicate the one or more replicated chunk files are associated with the data protection grouping container and without updating metadata within the one or more replicated chunk files associated with the data protection grouping container; and

apply erasure coding to the data protection grouping container, including utilizing the one or more one or more replicated chunk files associated with the data protection grouping container as different data stripes of the erasure coding and generating one or more parity stripes based on the different data stripes.

19. A system, comprising:

one or more processors; and

memory, coupled to the one or more processors, the memory storing instructions that when executed cause the one or more processors to:

analyze a repository of replicated chunk files to select one or more replicated chunk files that satisfy at least a portion of combination criteria, including satisfying the combination criteria that an original chunk file associated with the one or more replicated chunk files is stored on a first storage device and the one or more replicated chunk files are stored on a second storage device different than the first storage device;

associate the one or more replicated chunk files selected in a data protection grouping container by, at least in part, updating a metadata table to indicate the one or more replicated chunk files are associated with the data protection grouping container and without updating metadata within the one or more replicated chunk files associated with the data protection grouping container; and

apply erasure coding to the data protection grouping container, including utilizing the one or more replicated chunk files associated with the data protection grouping container as different data stripes of the erasure coding and generating one or more parity stripes based on the different data stripes.

20. The system of claim 19 , wherein to associate the one or more replicated chunk files selected in the data protection grouping container includes the instructions that, when executed, cause the one or more processors to:

update the metadata table to indicate the one or more replicated chunk files are associated with the data protection grouping container without writing the one or more replicated chunk files associated with the data protection grouping container to a new chunk file.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2022
From: GUPTA, APURV; AGARWAL, AKSHAT; TOMAR, MANVENDRA SINGH; REDDY, DONTHULA AKSHITH; SINGH, KUSHAL; YADAV, TARUN KUMAR; NAIK, MANDAR SURESH
To: COHESITY, INC.
Reel/Frame 060309/0488 →
Continuity (1)
Related Publication 20230237020A1 · Jul 27, 2023