IP Library Granted Patent US 11,029,875
Granted Patent B2
US 11,029,875 · App. 16/145,336 · Granted Jun 8, 2021

System and method for data storage in distributed system across multiple fault domains

Inventors: Dharmesh M Patel (Round Rock, TX); Rizwan Ali (Cedar Park, TX); Ravikanth Chaganti (Bangalore, IN)
Assignee: Dell Products L.P.
G06F3/065G06F3/0604G06F3/067G06F3/0679G06F9/5016
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,029,875
App. No.
16/145,336
Granted
Jun 8, 2021
Kind
B2
Abstract

A data storage system includes an accelerator pool and data silos. The accelerator pool obtains a data storage request for first data; stores a copy of the first data locally in a memory of the accelerator pool; in response to storing the copy of the first data: sends an acknowledgement to a requesting entity that generated the data storage request; and, after sending the acknowledgement, stores at least one second copy of the first data in the data silos. The acknowledgement indicates that the first data is redundantly stored in at least two different fault domains.

Claims (78)

1. A data storage system, comprising:

an accelerator pool comprising memory and persistent storage; and

data silos,

wherein the accelerator pool is programmed to:

obtain a data storage request for first data;

store a copy of the first data locally in the memory;

in response to storing the copy of the first data and prior to the first data being stored in more than one fault domain and prior to any copies of the first data being stored in the persistent storage:

send an acknowledgement to a requesting entity that generated the data storage request; and

after sending the acknowledgement, store at least one second copy of the first data in the data silos,

wherein the acknowledgement indicates that the first data is redundantly stored in at least two different fault domains.

2. The data storage system of claim 1 , wherein the accelerator pool and the data silos are in independent fault domains.

3. The data storage system of claim 1 , wherein the data silos comprise:

a first data silo in a first fault domain; and

a second data silo in a second fault domain,

wherein the first fault domain is independent from the second fault domain.

4. The data storage system of claim 3 , wherein storing the at least one second copy of the first data in the data silos comprises:

sending the first data to only the first data silo to sequentially store:

the at least one second copy of the first data in the first data silo; and

a third copy of the first data in the second data silo,

wherein the accelerator pool does not send the first data to the second data silo.

5. The data storage system of claim 4 , wherein the second copy of the first data in the first data silo is stored via Remote Direct Memory Access (RDMA) of memory of the first data silo by the accelerator pool.

6. The data storage system of claim 4 , wherein the third copy of the first data is stored in the second data silo after the second copy of the first data is stored in the first data silo.

7. The data storage system of claim 3 , wherein storing at least the second copy of the first data in the data silos comprises:

sending the first data to both of the first data silo and the second data silo to, at least partially in parallel, store:

the at least one second copy of the first data in the first data silo; and

a third copy of the first data in the second data silo.

8. The data storage system of claim 1 , wherein the accelerator pool comprises accelerators, wherein each of the accelerators comprises:

non-volatile random-access memory; and

persistent storage.

9. The data storage system of claim 8 , wherein each of the accelerators is programmed to:

store the copy of the first data in the non-volatile random-access memory;

after storing the copy of the first data, send the acknowledgement; and

after sending the acknowledgement, migrate the copy of the first data to the persistent storage.

10. The data storage system of claim 1 , wherein the data silos are programmed to:

obtain a second data storage request for second data;

store the second data in the data silos without storing any copies of the second data in the accelerator pool.

11. The data storage system of claim 10 , wherein the second data is stored without utilizing any computing resources of the accelerator pool.

12. A method for storing data in a data storage system, comprising:

obtaining, by an accelerator pool comprising memory and persistent storage, a data storage request for first data;

storing a copy of the first data locally in the memory;

in response to storing the copy of the first data and prior to the first data being stored in more than one fault domain and prior to any copies of the first data being stored in the persistent storage:

sending an acknowledgement to a requesting entity that generated the data storage request; and

after sending the acknowledgement, storing at least one second copy of the first data in data silos,

wherein the acknowledgement indicates that the first data is redundantly stored in at least two different fault domains.

13. The method of claim 12 , wherein storing the at least one second copy of the first data in the data silos comprises:

sending the first data to only a first data silo of the data silos to sequentially store:

the at least one second copy of the first data in the first data silo; and

a third copy of the first data in a second data silo of the data silos,

wherein the accelerator pool does not send the first data to the second data silo,

wherein the first data silo and the second data silo are in independent fault domains.

14. The method of claim 13 , wherein storing the third copy of the first data in the first data silo comprises:

remotely directly accessing, by the accelerator pool, a memory of the second data silo; and

storing the third copy of the first data in the memory of the second data silo via the remotely directly accessing of the memory.

15. The method of claim 12 , wherein the accelerator pool and the data silos are in independent fault domains.

16. The method of claim 12 , wherein storing the at least one second copy of the first data in the data silos comprises:

sending the first data to both of a first data silo of the data silos and a second data silo of the data silos to, at least partially in parallel, store:

the at least one second copy of the first data in the first data silo; and

a third copy of the first data in the second data silo.

17. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for storing data in a data storage system, the method comprising:

obtaining, by an accelerator pool comprising memory and persistent storage, a data storage request for first data;

storing a copy of the first data locally in the memory;

in response to storing the copy of the first data and prior to the first data being stored in more than one fault domain and prior to any copies of the first data being stored in the persistent storage:

sending an acknowledgement to a requesting entity that generated the data storage request; and

after sending the acknowledgement, storing at least one second copy of the first data in data silos,

wherein the acknowledgement indicates that the first data is redundantly stored in at least two different fault domains.

18. The non-transitory computer readable medium of claim 17 , wherein storing the at least one second copy of the first data in the data silos comprises:

sending the first data to only a first data silo of the data silos to sequentially store:

the at least one second copy of the first data in the first data silo; and

a third copy of the first data in a second data silo of the data silos,

wherein the accelerator pool does not send the first data to the second data silo,

wherein the first data silo and the second data silo are in independent fault domains.

19. The non-transitory computer readable medium of claim 18 , wherein storing the third copy of the first data in the first data silo comprises:

remotely directly accessing, by the accelerator pool, a memory of the second data silo; and

storing the third copy of the first data in the memory of the second data silo via the remotely directly accessing of the memory.

20. The non-transitory computer readable medium of claim 17 , wherein storing the at least one second copy of the first data in the data silos comprises:

sending the first data to both of a first data silo of the data silos and a second data silo of the data silos to, at least partially in parallel, store:

the at least one second copy of the first data in the first data silo; and

a third copy of the first data in the second data silo.

Assignments (5)
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 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2018
From: PATEL, DHARMESH M; ALI, RIZWAN; CHAGANTI, RAVIKANTH
To: DELL PRODUCTS L.P.
Reel/Frame 047010/0972 →