IP Library Granted Patent US 8,819,304
Granted Patent B2
US 8,819,304 · App. 14/041,882 · Granted Aug 26, 2014

Storage system with multicast DMA and unified address space

Inventors: Michael W. Shapiro (San Francisco, CA); Jeffrey S. Bonwick (Los Altos, CA); William H. Moore (Fremont, CA)
Assignee: DSSD, Inc.
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 8,819,304
App. No.
14/041,882
Filed
Sep 30, 2013
Granted
Aug 26, 2014
Kind
B2
Examiner
SUN, MICHAEL
Art Unit
2184
USPC
710/23
Abstract

A system and method for clients, a control module, and storage modules to participate in a unifed address space in order to and read and write data efficiently using direct-memory access. The method for reading data includes determining a first location in a first memory to write a first copy of the data, a second location in a second memory to write a second copy of the data, where the first memory is located in a first storage module including a first persistent storage and the second memory is located in a second storage module including a second persistent storage. The method further includes programming a direct memory access engine to read the data from the client memory and issue a first write request to a multicast address, where the first location, the second location, and a third location are associated with the multicast address.

Claims (44)

1. A method for writing data, comprising:

receiving, from a client, a request to write data, wherein the data is located in client memory;

selecting, by a storage appliance, a first location in a first memory to write a first copy of the data, a second location in a second memory to write a second copy of the data, wherein the first memory is located in a first storage module comprising a first persistent storage and the second memory is located in a second storage module comprising a second persistent storage, wherein the storage appliance comprises the first storage module and the second storage module;

after the selecting:

obtaining the data by the storage appliance;

in response to obtaining the data, generating a first request to write the first copy to the first location, a second request to write the second copy to the second location, and a third request to write a third copy to a third location, wherein the third location is in a third memory in a control module in the storage appliance;

wherein the first copy of the data is written to the first location in response to the first request,

wherein the second copy of the data is written to the second location in response to the second request, and

wherein the third copy of the data is written to the third location in response to the third request.

2. The method of claim 1 , further comprising:

after the first copy of the data is written to the first location, the second copy of the data is written to the second location, and the third copy of the data is written to the third location:

notifying the client that the request to write the data was completed.

3. The method of claim 2 , further comprising:

after notifying the client:

writing the first copy of the data to the first persistent storage.

4. The method of claim 3 , wherein a processor in the storage appliance initiates writing of the first copy of the data to the first persistent storage.

5. The method of claim 1 , wherein the first persistent storage comprises a solid state memory module.

6. The method of claim 5 , wherein the solid state memory module comprises a plurality of NAND dies.

7. The method of claim 1 , wherein the first memory, the second memory, the third memory, and at least a portion of the client memory are part of a unified address space.

8. A storage appliance, comprising:

a first storage module comprising a first memory and a first persistent storage; and

a second storage module comprising a second memory and a second persistent storage;

a control module comprising:

a processor, and

a third memory,

wherein the control module is configured to:

receive, from a client, a first request to write data, wherein the data is located in client memory;

select a first location in the first memory to write a first copy of the data and select a second location in the second memory to write a second copy of the data;

after selecting the first location, after selecting the second location, and after obtaining the data by the storage appliance from the client:

generate a second request to write the first copy of the data to the first location, a third request to write the second copy of the data to the second location, and a fourth request to write a third copy of the data to a third location in the third memory;

wherein the first storage module is configured to, in response to the second request, store the first copy of the data in the first location;

wherein the second storage module is configured to, in response to the third request, store the second copy of the data in the second location; and

wherein, in response to the fourth request, the third copy of the data is stored in the third location.

9. The storage appliance of claim 8 , wherein the control module is further configured to:

after the first copy of the data is written to the first location, the second copy of the data is written to the second location, and the third copy of the data is written to the third location:

notify the client that the request to write the data was completed.

10. The storage appliance of claim 9 , wherein the control module is further configured to:

after notifying the client:

write the first copy of the data to the first persistent storage.

11. The storage appliance of claim 8 , wherein the first memory is vaulted memory.

12. The storage appliance of claim 8 , wherein the first persistent storage comprises solid state memory.

13. The storage appliance of claim 8 , wherein the first persistent storage comprises NAND flash.

14. The storage appliance of claim 8 , wherein the first memory, the second memory, the third memory, and at least a portion of the client memory are part of a storage fabric.

15. The storage appliance of claim 14 , wherein the stored fabric is associated with a unified address space.

Assignments (11)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
MERGER Recorded Sep 10, 2016
From: DSSD, INC.
To: EMC CORPORATION
Reel/Frame 039694/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2013
From: SHAPIRO, MICHAEL W.; BONWICK, JEFFREY S.; MOORE, WILLIAM H.
To: DSSD, INC.
Reel/Frame 031321/0049 →
Continuity (2)
Continuation 13428705 · Mar 23, 2012
Related Publication 20140032697A1 · Jan 30, 2014