IP Library Granted Patent US 11,086,739
Granted Patent B2
US 11,086,739 · App. 16/555,516 · Granted Aug 10, 2021

System comprising non-volatile memory device and one or more persistent memory devices in respective fault domains

Inventors: Michael Robillard (Shrewsbury, MA); Adrian Michaud (Carlisle, MA); Dragan Savic (Toronto, CA)
Assignee: EMC IP Holding Company LLC
G06F11/203G06F11/0727G06F11/0793G06F11/3034H04L67/1097
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,086,739
App. No.
16/555,516
Granted
Aug 10, 2021
Kind
B2
Abstract

A system includes a host processor, a volatile memory device coupled to the host processor, and at least a first persistent memory device coupled to the host processor. The host processor is configured to execute one or more applications. The volatile memory device and the first persistent memory device are in respective distinct fault domains of the system, and at least one of a plurality of data objects generated by a given one of the applications is accessible from multiple distinct storage locations in respective ones of the distinct fault domains. For example, the host processor and the volatile memory device may be in a first one of the distinct fault domains and the first persistent memory device may be in a second one of the distinct fault domains. The data object remains accessible in one of the fault domains responsive to a failure in another of the fault domains.

Claims (49)

1. A system comprising:

a host processor;

a volatile memory device coupled to the host processor;

at least a first persistent memory device coupled to the host processor;

the host processor being configured to execute one or more applications;

the volatile memory device and the first persistent memory device being in respective distinct fault domains of the system;

wherein at least one of a plurality of data objects generated by a given one of the applications is accessible from multiple distinct storage locations in respective ones of the distinct fault domains; and

wherein the host processor, the volatile memory device and the first persistent memory device are part of a first application server of the system, the first application server thereby comprising at least a portion of each of the distinct fault domains.

2. The system of claim 1 wherein the host processor and the volatile memory device are in a first one of the distinct fault domains and the first persistent memory device is in a second one of the distinct fault domains.

3. The system of claim 2 wherein the data object remains accessible in one of the first and second fault domains responsive to a failure in the other one of the first and second fault domains.

4. The system of claim 1 wherein the first persistent memory device comprises:

a multi-ported host bus adaptor comprising a memory bridge coupled to a persistent memory;

a first one of the ports of the multi-ported host bus adaptor being coupled to the host processor and providing a cache coherent interface configured to transport cache lines to and from the host processor; and

a second one of the ports of the multi-ported host bus adaptor being coupled to a network of the system and being configured to support data transfers over the network to and from other processing devices of the system;

wherein responsive to a failure in a first one of the fault domains comprising the host processor and the volatile memory device, the first persistent memory device remains accessible in a second one of the fault domains via the second port of the multi-ported host bus adaptor.

5. The system of claim 4 wherein an inbound data transfer received via the second port of the multi-ported host bus adaptor causes a cache invalidation command to be transferred via the first port of the multi-ported host bus adaptor to the host processor.

6. The system of claim 4 wherein the memory bridge of the multi-ported host bus adaptor implements local processing functionality including one or more of:

storage protocol bridging;

command initiation and response for the first and second ports;

acceleration for at least one of encryption, decryption, compression and decompression;

intelligent offloading of data objects from the persistent memory to other storage devices of the system;

movement of data objects between multiple storage tiers of the system; and

movement of data objects between multiple application servers of the system responsive to a failure in one of the application servers.

7. The system of claim 1 further comprising one or more additional application servers interconnected with one another and with the first application server via a network of the system.

8. The system of claim 7 wherein responsive to a failure in at least one of the host processor and the volatile memory device of the first application server, a particular one of the data objects generated by the given application and stored in a storage location of the first persistent memory device remains accessible over the network to at least one of the one or more additional application servers.

9. The system of claim 1 wherein the system further comprises a second persistent memory device coupled to the host processor and wherein the volatile memory, the first persistent memory device and the second persistent memory device are in respective first, second and third distinct fault domains of the system.

10. The system of claim 9 wherein a particular one of the data objects generated by the given application is stored in respective distinct storage locations of the first and second persistent memory devices.

11. The system of claim 10 wherein responsive to a failure in one of the first and second persistent memory devices, the data object remains accessible in the other one of the first and second persistent memory devices.

12. The system of claim 9 wherein one or more of the data objects are controllably offloaded from the first and second persistent memory devices to one or more other storage devices of the system under specified conditions.

13. The system of claim 12 wherein one or more of the data objects are controllably restored from the one or more other storage devices to the first and second persistent memory devices under specified conditions.

14. The system of claim 1 wherein data is transferred across the fault domains using high-speed serial interconnects provisioned with direct current blocking capacitors to prevent faults from crossing between the fault domains.

15. A method comprising:

to execute one or more applications utilizing a host processor of a system;

to provide accessibility to at least one of a plurality of data objects generated by a given one of the applications from multiple distinct storage locations in respective distinct fault domains of the system;

a first one of the distinct fault domains comprising a volatile memory device coupled to the host processor; and

a second one of the distinct fault domains comprising a first persistent memory device coupled to the host processor;

wherein the data object remains accessible in one of the first and second fault domains responsive to a failure in the other one of the first and second fault domains; and

wherein the host processor, the volatile memory device and the first persistent memory device are part of a first application server of the system, the first application server thereby comprising at least a portion of each of the distinct fault domains.

16. The method of claim 15 wherein the system further comprises one or more additional application servers interconnected with one another and with the first application server via a network of the system.

17. The method of claim 15 wherein the system further comprises a second persistent memory device coupled to the host processor and wherein the volatile memory, the first persistent memory device and the second persistent memory device are in respective first, second and third distinct fault domains of the system, a particular one of the data objects generated by the given application being stored in respective distinct storage locations of the first and second persistent memory devices, and wherein responsive to a failure in one of the first and second persistent memory devices, the data object remains accessible in the other one of the first and second persistent memory devices.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by a system comprising a host processor, a volatile memory device coupled to the host processor, and at least a first persistent memory device coupled to the host processor, causes the system:

to execute one or more applications utilizing the host processor;

to provide accessibility to at least one of a plurality of data objects generated by a given one of the applications from multiple distinct storage locations in respective distinct fault domains of the system;

a first one of the distinct fault domains comprising the volatile memory device; and

a second one of the distinct fault domains comprising the first persistent memory device

wherein the data object remains accessible in one of the first and second fault domains responsive to a failure in the other one of the first and second fault domains; and

wherein the host processor, the volatile memory device and the first persistent memory device are part of a first application server of the system, the first application server thereby comprising at least a portion of each of the distinct fault domains.

19. The computer program product of claim 18 wherein the system further comprises one or more additional application servers interconnected with one another and with the first application server via a network of the system.

20. The computer program product of claim 18 wherein the system further comprises a second persistent memory device coupled to the host processor and wherein the volatile memory, the first persistent memory device and the second persistent memory device are in respective first, second and third distinct fault domains of the system, a particular one of the data objects generated by the given application being stored in respective distinct storage locations of the first and second persistent memory devices, and wherein responsive to a failure in one of the first and second persistent memory devices, the data object remains accessible in the other one of the first and second persistent memory devices.

Assignments (9)
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 (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: ROBILLARD, MICHAEL; MICHAUD, ADRIAN; SAVIC, DRAGAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050214/0673 →
Continuity (1)
Related Publication 20210064489A1 · Mar 4, 2021
Cited By (1)
US 12,333,179