IP Library Granted Patent US 10,592,337
Granted Patent B1
US 10,592,337 · App. 15/937,754 · Granted Mar 17, 2020

Systems and methods for distributing information across distributed storage devices

Inventors: Anindya Banerjee (Pune, IN); Shailesh Marathe (Pune, IN)
Assignee: Veritas Technologies LLC
G06F11/1076G06F3/067G06F3/0619G06F3/0632G06F3/0644G06F3/0647
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,592,337
App. No.
15/937,754
Granted
Mar 17, 2020
Kind
B1
Abstract

The disclosed computer-implemented method for distributing information across distributed storage devices may include (1) dividing, at a computing device, each of “K” distributed storage devices (DSDs) in a plurality of DSDs into “P” portions, where “P” is a sum of “M” data portions and “N” parity portions, (2) creating “K” erasure-coded volumes, where each volume includes one portion on different DSDs, “M” data portions, and “N” parity portions, and (3) combining the “K” volumes to create a file system. Various other methods, systems, and computer-readable media are also disclosed.

Claims (57)

1. A computer-implemented method for distributing information across distributed storage devices, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

dividing, at the computing device, each of a quantity of “K” distributed storage devices (DSDs) in a plurality of DSDs into a quantity of “P” portions, wherein:

“P” is less than “K”; and

“P” is a sum of a quantity of “M” data portions and a quantity of “N” parity portions;

creating a quantity of “K” erasure-coded volumes on the “K” DSDs, wherein:

each erasure-coded volume includes “M” data portions and “N” parity portions; and

each portion in each erasure-coded volume is stored in a different DSD; and

combining the “K” volumes to create a file system.

2. The computer-implemented method of claim 1 , further comprising:

adding a new DSD to the plurality of DSDs; and

dividing the new DSD into “P” portions.

3. The computer-implemented method of claim 2 , further comprising:

moving data information and parity information to portions of the new DSD from portions of other DSDs in the plurality of DSDs; and

creating a new volume from the portions of the other DSDs in the plurality of DSDs from which the data information and parity information was moved.

4. The computer-implemented method of claim 3 , further comprising:

adding the new volume to the file system.

5. The computer-implemented method of claim 1 , wherein each of the “P” portions has substantially the same size.

6. The computer-implemented method of claim 1 , wherein each of the “P” portions store information as a part of a striped storage scheme.

7. The computer-implemented method of claim 1 , wherein each DSD in the plurality of DSDs stores data portions and parity portions for different volumes.

8. A system for distributing information across distributed storage devices, the system comprising:

a dividing module, stored in a memory, that divides each of a quantity of “K” distributed storage devices (DSDs) in a plurality of DSDs into a quantity of “P” portions, wherein:

“P” is less than “K”; and

“P” is a sum of a quantity of “M” data portions and a quantity of “N” parity portions;

a creating module, stored in a memory, that creates a quantity of “K” erasure-coded volumes on the “K” DSDs, wherein:

each erasure-coded volume includes “M” data portions and “N” parity portions; and

each portion in each erasure-coded volume is stored in a different DSD;

a combining module, stored in a memory, that combines the “K” volumes to create a file system; and

at least one physical processor that executes the dividing module, the creating module, and the combining module.

9. The system of claim 8 , further comprising:

adding a new DSD to the plurality of DSDs; and

dividing the new DSD into “P” portions.

10. The system of claim 9 , further comprising:

moving data information and parity information to portions of the new DSD from portions of other DSDs in the plurality of DSDs; and

creating a new volume from the portions of the other DSDs in the plurality of DSDs from which the data information and parity information was moved.

11. The system of claim 10 , further comprising:

adding the new volume to the file system.

12. The system of claim 8 , wherein each of the “P” portions has substantially the same size.

13. The system of claim 8 , wherein each of the “P” portions store information as a part of a striped storage scheme.

14. The system of claim 8 , wherein each DSD in the plurality of DSDs stores data portions and parity portions for different volumes.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

divide, at the computing device, each of a quantity of “K” distributed storage devices (DSDs) in a plurality of DSDs into a quantity of “P” portions, wherein:

“P” is less than “K”; and

“P” is a sum of a quantity of “M” data portions and a quantity of “N” parity portions;

create a quantity of “K” erasure-coded volumes on the “K” DSDs, wherein:

each erasure-coded volume includes “M” data portions and “N” parity portions; and

each portion in each erasure-coded volume is stored in a different DSD; and

combine the “K” volumes to create a file system.

16. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable instructions comprise computer-executable instructions that, when executed by the at least one processor of the computing device, cause the computing device to:

add a new DSD to the plurality of DSDs; and

divide the new DSD into “P” portions.

17. The non-transitory computer-readable medium of claim 16 , wherein the computer-executable instructions comprise computer-executable instructions that, when executed by the at least one processor of the computing device, cause the computing device to:

move data information and parity information to portions of the new DSD from portions of other DSDs in the plurality of DSDs; and

create a new volume from the portions of the other DSDs in the plurality of DSDs from which the data information and parity information was moved.

18. The non-transitory computer-readable medium of claim 17 , wherein the computer-executable instructions comprise computer-executable instructions that, when executed by the at least one processor of the computing device, cause the computing device to:

add the new volume to the file system.

19. The non-transitory computer-readable medium of claim 15 , wherein each of the “P” portions has substantially the same size.

20. The non-transitory computer-readable medium of claim 15 , wherein each of the “P” portions store information as a part of a striped storage scheme.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075377/0130 →
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 069697/0238 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
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 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2018
From: BANERJEE, ANINDYA; MARATHE, SHAILESH
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 045365/0180 →