IP Library Granted Patent US 11,150,845
Granted Patent B2
US 11,150,845 · App. 16/672,236 · Granted Oct 19, 2021

Methods and systems for servicing data requests in a multi-node system

Inventors: Jean-Pierre Bono (Westboro, MA); Marc A. De Souter (Wayne, NJ); Adrian Michaud (Carlisle, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0665G06F3/0604G06F3/065G06F3/067G06F9/5016G06F12/1081G06F2209/5011G06F2212/7201
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,150,845
App. No.
16/672,236
Filed
Nov 1, 2019
Granted
Oct 19, 2021
Kind
B2
Examiner
DOAN, KHOA D
Art Unit
2133
USPC
711/154
Abstract

A method for processing requests includes receiving a request comprising a virtual address, wherein the request is associated with an application executing on an operating system, identifying, based on data specified in the request, a logical volume associated with the data, making a first determination, based on the logical volume, that the logical volume is managed by a remote node, generating a data layout request to receive a data layout of the data from the remote node, receiving the data layout, wherein the data layout specifies a first physical address on the remote node that stores the data, initiating a copy request to copy the data from the first physical address to a second physical address on a local node, generating, based on the copy request, a virtual-to-physical address mapping between the virtual address and the second physical address; and initiating processing the request using the virtual-to-physical address mapping.

Claims (57)

1. A method for processing requests, comprising:

receiving, by a space manager, a request comprising a virtual address, wherein the request is associated with an application executing on an operating system and wherein the space manager is executing in a container on the operating system;

identifying, based on data specified in the request, a logical volume associated with the data;

making a first determination, based on the logical volume, that the logical volume is managed by a remote node;

generating a data layout request to receive a data layout of the data from the remote node;

receiving, from the remote node, the data layout, wherein the data layout specifies a first physical address on the remote node that stores the data;

initiating a copy request to copy the data from the first physical address to a second physical address on a local node;

generating, based on the copy request, a virtual-to-physical address mapping between the virtual address and the second physical address; and

initiating processing the request using the virtual-to-physical address mapping.

2. The method of claim 1 , wherein the application is executing on a second container on the operating system.

3. The method of claim 1 , wherein prior to initiating the copy request, the method further comprises:

identifying a sparse virtual space segment of a sparse virtual space of the remote node, wherein the sparse virtual space segment is associated with a memory segment and wherein the memory segment is associated with the first physical address; and

associating the sparse virtual space segment with the virtual address.

4. The method of claim 3 ,

wherein the first physical address is located on a Persistent Memory (PMem) device of the remote node,

wherein the second physical address is located on a PMem device of the local node.

5. The method of claim 4 , wherein the copy request specifies using Remote Direct Memory Access (RDMA) to copy the data from the first physical address to the second physical address.

6. The method of claim 1 , wherein the data layout request specifies a pool segment of a pool associated with the data.

7. The method of claim 6 , wherein the pool is a memory pool and the pool segment is a memory pool segment.

8. A non-transitory computer readable medium comprising instructions which, when executed by a computer processor, enables the computer processor to perform a method for processing requests, the method comprising:

receiving, by a space manager, a request comprising a virtual address, wherein the request is associated with an application executing on an operating system and wherein the space manager is executing in a container on the operating system;

identifying, based on data specified in the request, a logical volume associated with the data;

making a first determination, based on the logical volume, that the logical volume is managed by a remote node;

generating a data layout request to receive a data layout of the data from the remote node;

receiving, from the remote node, the data layout, wherein the data layout specifies a first physical address on the remote node that stores the data;

initiating a copy request to copy the data from the first physical address to a second physical address on a local node;

generating, based on the copy request, a virtual-to-physical address mapping between the virtual address and the second physical address; and

initiating processing the request using the virtual-to-physical address mapping.

9. The non-transitory computer readable medium of claim 8 , wherein the application is executing on a second container on the operating system.

10. The non-transitory computer readable medium of claim 8 , wherein prior to initiating the copy request, the method further comprises:

identifying a sparse virtual space segment of a sparse virtual space of the remote node, wherein the sparse virtual space segment is associated with a memory segment and wherein the memory segment is associated with the first physical address; and

associating the sparse virtual space segment with the virtual address.

11. The non-transitory computer readable medium of claim 10 ,

wherein the first physical address is located on a Persistent Memory (PMem) device of the remote node,

wherein the second physical address is located on a PMem device of the local node.

12. The non-transitory computer readable medium of claim 11 , wherein the copy request specifies using Remote Direct Memory Access (RDMA) to copy the data from the first physical address to the second physical address.

13. The non-transitory computer readable medium of claim 8 , wherein the data layout request specifies a pool segment of a pool associated with the data.

14. The non-transitory computer readable medium of claim 13 , wherein the pool is a memory pool and the pool segment is a memory pool segment.

15. A node, comprising:

memory;

persistent storage; and a processor, wherein the processor is configured to:

receive a request comprising a virtual address, wherein the request is associated with an application executing on an operating system;

identify, based on data specified in the request, a logical volume associated with the data; make a first determination, based on the logical volume, that the logical volume is managed by a remote node;

generate a data layout request to receive a data layout of the data from the remote node;

receive, from the remote node, the data layout, wherein the data layout specifies a first physical address on the remote node that stores the data;

initiate a copy request to copy the data from the first physical address to a second physical address on a local node;

generate, based on the copy request, a virtual-to-physical address mapping between the virtual address and the second physical address;

and initiating processing the request using the virtual-to-physical address mapping.

16. The node of claim 15 , wherein the application is executing on a second container on the operating system.

17. The node of claim 15 , wherein prior to initiating the copy request, the processor is further configured to:

identify a sparse virtual space segment of a sparse virtual space of the remote node, wherein the sparse virtual space segment is associated with a memory segment and wherein the memory segment is associated with the first physical address; and

associate the sparse virtual space segment with the virtual address.

18. The node of claim 17 ,

wherein the first physical address is located on a Persistent Memory (PMem) device of the remote node,

wherein the second physical address is located on a PMem device of the local node.

19. The node of claim 18 , wherein the copy request specifies using Remote Direct Memory Access (RDMA) to copy the data from the first physical address to the second physical address.

20. The node of claim 15 , wherein the data layout request specifies a pool segment of a pool associated with the data.

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 Nov 25, 2019
From: BONO, JEAN-PIERRE; DE SOUTER, MARC A.; MICHAUD, ADRIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051110/0969 →
Continuity (1)
Related Publication 20210132870A1 · May 6, 2021