IP Library Granted Patent US 11,385,806
Granted Patent B1
US 11,385,806 · App. 17/140,108 · Granted Jul 12, 2022

Methods and systems for efficient erasure-coded storage systems

Inventors: Anindya Banerjee (Maharashtra, IN); Shailesh Marathe (Maharashtra, IN)
Assignee: VERITAS TECHNOLOGIES LLC
G06F3/0619G06F11/1076H03M13/154H04L67/1095
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,385,806
App. No.
17/140,108
Granted
Jul 12, 2022
Kind
B1
Abstract

Methods and the like according to the disclosure can include determining an information type of digital information, writing the digital information using a first process (in response to a determination that the information type of the digital information is a first information type), and, in response to a determination that the information type of the digital information is a second information type, determining erasure-coded parity information for the digital information and writing the digital information using a second process (where the digital information is to be written to erasure-coded storage). In the former case, the first process that includes writing the digital information to storage. The second process includes writing the digital information and the erasure-coded parity information to erasure-coded storage, without writing the digital information to a log.

Claims (115)

1. A computer-implemented method, implemented in a computer system, comprising:

determining an information type of digital information, wherein

the digital information is to be written to a storage system;

in response to a determination that the information type is a first information type,

writing the digital information using a first process, wherein

the first information type is metadata, and

the first process comprises

writing the digital information to a log, and

writing the digital information to a storage unit of the storage system; and

in response to a determination that the information type is a second information type,

determining erasure-coded parity information for the digital information, wherein

the second information type is data, and

the digital information is to be written to an erasure-coded storage unit of the storage system, and

writing the digital information using a second process, wherein

the second process comprises

writing the digital information and the erasure-coded parity information to the erasure-coded storage unit, without writing the digital information to the log.

2. The method of claim 1 , wherein

the storage unit comprises journaled storage,

the erasure-coded storage unit comprises non-journaled erasure-coded storage,

the first process writes the digital information to the journaled storage, and

the second process writes the digital information to the non-journaled erasure-coded storage.

3. The method of claim 2 , wherein

the journaled storage is a journaled erasure-coded storage volume, and

the non-journaled erasure-coded storage is a non-journaled erasure-coded storage volume.

4. The method of claim 2 , wherein

the non-journaled erasure-coded storage comprises a non-journaled erasure-coded storage volume.

5. The method of claim 4 , wherein

the journaled storage is journaled erasure-coded storage,

the first process writes the digital information to the journaled erasure-coded storage, and

the second process writes the digital information to the non-journaled erasure-coded storage.

6. The method of claim 5 , further comprising:

determining other erasure-coded parity information for other digital information; and

writing the other digital information and the other erasure-coded parity information to the journaled storage.

7. The method of claim 2 , wherein

the writing the digital information to the erasure-coded storage unit comprises the writing the digital information to the log,

the digital information is a file of a container, and

the file is one of a data file or a metadata file.

8. The method of claim 7 , wherein

the journaled storage comprises a journaled storage volume,

the non-journaled erasure-coded storage comprises a non-journaled erasure-coded storage volume,

the storage unit and the erasure-coded storage unit are spanned by a multi-volume file system,

a file system attribute of the journaled storage volume is set to “metadataok”, and

a file system attribute of the non-journaled erasure-coded storage volume is set to “dataonly”.

9. The method of claim 1 , wherein

the storage unit is of a storage type, and

the storage type is erasure-coded storage.

10. The method of claim 4 , wherein the writing the digital information and the erasure-coded parity information to the erasure-coded storage unit, without writing the digital information to the log, comprises:

writing the data to the non-journaled erasure-coded storage volume of the erasure-coded storage unit.

11. The method of claim 10 , further comprising:

dividing the data into a plurality of extents, wherein

a size of each extent of the plurality of extents is such that the writing the data to the non-journaled erasure-coded storage volume facilitates the each extent of the plurality of extents being written starting on an erasure-coded stripe boundary of the non-journaled erasure-coded storage volume.

12. The method of claim 1 , wherein

the storage unit is of a storage type, and

the storage type is at least one of

an n-way mirrored storage type,

a redundant array of independent disks storage type, or

a nested redundant array of inexpensive disks storage type.

13. A non-transitory computer-readable storage medium, comprising program instructions, which, when executed by one or more processors of a computing system, perform a method comprising:

determining an information type of digital information, wherein

the digital information is to be written to a storage system;

in response to a determination that the information type is a first information type,

writing the digital information using a first process, wherein

the first information type is metadata, and

the first process comprises

writing the digital information to a log, and

writing the digital information to a storage unit of the storage system; and

in response to a determination that the information type is a second information type,

determining erasure-coded parity information for the digital information, wherein

the second information type is data, and

the digital information is to be written to an erasure-coded storage unit of the storage system, and

writing the digital information using a second process, wherein

the second process comprises

writing the digital information and the erasure-coded parity information to the erasure-coded storage unit, without writing the digital information to the log.

14. The non-transitory computer-readable storage medium of claim 13 , wherein

the storage unit comprises journaled storage,

the erasure-coded storage unit comprises non-journaled erasure-coded storage,

the first process writes the digital information to the journaled storage, and

the second process writes the digital information to the non-journaled erasure-coded storage.

15. The non-transitory computer-readable storage medium of claim 14 , wherein

the digital information is one of a data file or a metadata file, and

the storage unit and the erasure-coded storage unit are spanned by a multi-volume file system.

16. The non-transitory computer-readable storage medium of claim 13 , wherein

the storage unit is of a storage type, and

the storage type is erasure-coded storage.

17. The non-transitory computer-readable storage medium of claim 14 , wherein

the non-journaled erasure-coded storage comprises a non-journaled erasure-coded storage volume,

and

the writing the digital information and the erasure-coded parity information to the erasure-coded storage unit, without writing the digital information to the log, comprises

writing the data to the non-journaled erasure-coded storage volume of the erasure-coded storage unit.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises:

dividing the data into a plurality of extents, wherein

the non-journaled erasure-coded storage comprises a non-journaled erasure-coded storage volume, and

a size of each extent of the plurality of extents is such that the writing the data to the non-journaled erasure-coded storage volume facilitates the each extent of the plurality of extents being written starting on an erasure-coded stripe boundary of the non-journaled erasure-coded storage volume.

19. The non-transitory computer-readable storage medium of claim 14 , wherein

the first process writes the digital information to the journaled storage, and

the second process writes the digital information to the non-journaled erasure-coded storage.

20. A computing system comprising:

one or more processors, wherein

the computing system is configured to be communicatively coupled to a storage system; and

a computer-readable storage medium coupled to the one or more processors, comprising program instructions, which, when executed by the one or more processors, perform a method comprising

determining an information type of digital information, wherein

the digital information is to be written to the storage system,

in response to a determination that the information type is a first information type,

writing the digital information using a first process, wherein

the first information type is metadata, and

the first process comprises

 writing the digital information to a log, and

 writing the digital information to a storage unit of the storage system, and

in response to a determination that the information type is a second information type,

determining erasure-coded parity information for the digital information, wherein

the second information type is data, and

the digital information is to be written to an erasure-coded storage unit of the storage system, and

writing the digital information using a second process, wherein

the second process comprises

writing the digital information and the erasure-coded parity information to the erasure-coded storage unit, without writing the digital information to the log.

Assignments (9)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069591/0510 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069577/0001 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2022
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 059337/0159 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Feb 24, 2022
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059247/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2021
From: BANERJEE, ANINDYA; MARATHE, SHAILESH
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054889/0407 →
Continuity (1)
Provisional Application 63128158 · Dec 20, 2020
Cited By (5)
US 12,218,861 US 12,299,278 US 12,457,180 US 12,511,262 US 12,695,593