IP Library Granted Patent US 10,452,295
Granted Patent B1
US 10,452,295 · App. 15/727,280 · Granted Oct 22, 2019

Data routing in information processing system utilizing persistent memory

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,452,295
App. No.
15/727,280
Granted
Oct 22, 2019
Kind
B1
Abstract

In an information processing system comprising a set of computing devices wherein each computing device comprises a set of persistent memory modules resident in the computing device, a method generates at least one data structure that associates a given application program executing on the set of computing devices with at least one memory region of a given persistent memory module in a given one of the computing devices. The at least one data structure is utilized to route data between the given application program and the at least one memory region.

Claims (36)

1. A method comprising:

in an information processing system comprising a set of host computing devices wherein each host computing device comprises a set of persistent memory modules resident in the host computing device, generating by a computing device of the information processing system at least one data structure that associates a given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices; and

utilizing the at least one data structure to route data between the given application program and the at least one memory region;

wherein the set of persistent memory modules in each host computing device function as primary data storage for the given application program.

2. The method of claim 1 , wherein the at least one data structure also associates a given tenant of the information processing system with the at least one memory region of the given persistent memory module in the given one of the host computing devices.

3. The method of claim 2 , wherein the association generated by the at least one data structure forms a per tenant binding between the application program and the at least one memory region.

4. The method of claim 2 , wherein the at least one data structure further comprises:

an identifier field for specifying the at least one application program and the given tenant;

an identifier field for specifying the memory slot within the given host computing device in which the given persistent memory module is installed; and

an address range field for specifying the memory address range of the at least one memory region of the given persistent memory module.

5. The method of claim 1 , further comprising applying a hash function to the at least one data structure to form a hash value.

6. The method of claim 5 , further comprising storing the hash value in a routing table for use in routing data between the given application program and the at least one memory region.

7. The method of claim 5 , further comprising reapplying a hash function to the at least one data structure to form a new hash value when a change is made to the at least one data structure.

8. The method of claim 7 , wherein the change to the at least one data structure comprises specifying an additional address range of the given persistent memory module.

9. The method of claim 1 , wherein the step of utilizing the at least one data structure to route data between the given application program and the at least one memory region is performed by an orchestration system, wherein the orchestration system accesses the at least one data structure, when scheduling execution of the given application program via one or more virtual processing elements, to determine a routing path and location of the physical persistent memory allocated to the given application program.

10. The method of claim 9 , wherein the one or more virtual processing elements are configured to access the given memory region of the given persistent memory module via byte-addressable semantics.

11. The method of claim 1 , further comprising generating at least another data structure that associates the given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices in which a copy of data corresponding to the at least one given data structure is stored.

12. The method of claim 1 , further comprising generating by a computing device of the information processing system at least another data structure that associates the given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices to which data corresponding to the at least one given data structure has been moved.

13. The method of claim 1 , further comprising:

generating by a computing device of the information processing system at least one of an allocated memory region list and a free memory region list for each of the persistent memory modules; and

accessing by a computing device of the information processing system one of the lists to allocate one or more additional memory regions.

14. The method of claim 13 , further comprising generating a graph representation of the set of host computing devices and the set of persistent memory modules resident in the host computing device that reflects at least one of the lists.

15. An apparatus comprising:

in an information processing system comprising a set of host computing devices wherein each host computing device comprises a set of persistent memory modules resident in the host computing device;

at least one processor of a computing device of the information processing system is configured to:

generate at least one data structure that associates a given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices; and

utilize the at least one data structure to route data between the given application program and the at least one memory region;

wherein the set of persistent memory modules in each host computing device function as primary data storage for the given application program.

16. The apparatus of claim 15 , wherein the at least one data structure also associates a given tenant of the information processing system with the at least one memory region of the given persistent memory module in the given one of the computing devices, and further wherein the association generated by the at least one data structure forms a per tenant binding between the application program and the at least one memory region.

17. The apparatus of claim 15 , further comprising generating by a computing device of the information processing system at least another data structure that associates the given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices in which a copy of data corresponding to the at least one given data structure is either stored or moved.

18. An article of manufacture 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 at least one processor causes said at least one processor to:

in an information processing system comprising a set of host computing devices wherein each host computing device comprises a set of persistent memory modules resident in the host computing device, generate by a computing device of the information processing system at least one data structure that associates a given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices; and

utilize the at least one data structure to route data between the given application program and the at least one memory region;

wherein the set of persistent memory modules in each computing device function as primary data storage for the given application program.

19. The article of manufacture of claim 18 , wherein the at least one data structure also associates a given tenant of the information processing system with the at least one memory region of the given persistent memory module in the given one of the host computing devices, and further wherein the association generated by the at least one data structure forms a per tenant binding between the application program and the at least one memory region.

20. The article of manufacture of claim 18 , further comprising generating by a computing device of the information processing system at least another data structure that associates the given application program executing on the set of host computing devices with at least one memory region of a given persistent memory module in a given one of the host computing devices in which a copy of data corresponding to the at least one given data structure is either stored or moved.

Assignments (8)
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 (044535/0109) Recorded May 20, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 Jun 18, 2018
From: TODD, STEPHEN; DURAZZO, KENNETH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046117/0292 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →