IP Library Granted Patent US 11,513,988
Granted Patent B1
US 11,513,988 · App. 17/381,738 · Granted Nov 29, 2022

System and method for multi-node buffer transfer

Inventors: Oran Baruch (Tel Aviv, IL); Ronen Gazit (Tel Aviv, IL); Jenny Derzhavetz (Raanana, IL); Yuri Chernyavsky (Petah Tikva, IL)
Assignee: EMC IP Holding Company, LLC
G06F13/28G06F12/0802G06F2212/60G06F2213/28
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,513,988
App. No.
17/381,738
Granted
Nov 29, 2022
Kind
B1
Abstract

A method, computer program product, and computing system for receiving, at a local node, a request to buffer data on a remote persistent cache memory system of a remote node. A target memory address within the remote persistent cache memory system may be sent from the local node via a remote procedure call (RPC). The data may be sent from the local node to the target memory address within the remote persistent cache memory system via a remote direct memory access (RDMA) command.

Claims (43)

1. A computer-implemented method, executed on a computing device, comprising:

receiving, at a local node, a request to buffer data on a remote persistent cache memory system of a remote node;

sending, from the local node, a target memory address within the remote persistent cache memory system via a remote procedure call (RPC);

sending, from the local node, the data to the target memory address within the remote persistent cache memory system via a remote direct memory access (RDMA) command;

allocating, during initialization of the remote node, at least a portion of the remote persistent cache memory system for buffering data, thus defining one or more buffer portions;

sending, from the remote node to the local node, a memory address associated with a first buffer portion of the one or more buffer portions; and

generating a list of free buffer portions within the remote persistent cache memory system.

2. The computer-implemented method of claim 1 , wherein the remote persistent cache memory system includes a battery backup random access memory (RAM) system.

3. The computer-implemented method of claim 1 , further comprising:

determining the target memory address within the remote persistent cache memory system for buffering the data based upon, at least in part, the list of free buffer portions within the remote persistent cache memory system.

4. The computer-implemented method of claim 3 , further comprising:

remote persistent cache memory system via an RPC response; and

updating the list of free buffer portions within the remote persistent cache memory system based upon, at least in part, the updated target memory address.

5. The computer-implemented method of claim 1 , wherein the data to buffer on the remote persistent cache memory system of the remote node includes a cache status bitmap.

6. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

receiving, at a local node, a request to buffer data on a remote persistent cache memory system of a remote node;

sending, from the local node, a target memory address within the remote persistent cache memory system via a remote procedure call (RPC);

sending, from the local node, the data to the target memory address within the remote persistent cache memory system via a remote direct memory access (RDMA) command;

allocating, during initialization of the remote node, at least a portion of the remote persistent cache memory system for buffering data, thus defining one or more buffer portions;

sending, from the remote node to the local node, a memory address associated with a first buffer portion of the one or more buffer portions; and

generating a list of free buffer portions within the remote persistent cache memory system.

7. The computer program product of claim 6 , wherein the remote persistent cache memory system includes a battery backup random access memory (RAM) system.

8. The computer program product of claim 6 , wherein the operations further comprise:

determining the target memory address within the remote persistent cache memory system for buffering the data based upon, at least in part, the list of free buffer portions within the remote persistent cache memory system.

9. The computer program product of claim 8 , wherein the operations further comprise:

receiving, from the remote node, an updated target memory address within the remote persistent cache memory system via an RPC response; and

updating the list of free buffer portions within the remote persistent cache memory system based upon, at least in part, the updated target memory address.

10. The computer program product of claim 6 , wherein the data to buffer on the remote persistent cache memory system of the remote node includes a cache status bitmap.

11. A computing system comprising:

a memory; and

a processor configured to:

receive, at a local node, a request to buffer data on a remote persistent cache memory system of a remote node;

send, from the local node, a target memory address within the remote persistent cache memory system via a remote procedure call (RPC);

send, from the local node, the data to the target memory address within the remote persistent cache memory system via a remote direct memory access (RDMA) command;

allocate, during initialization of the remote node, at least a portion of the remote persistent cache memory system for buffering data, thus defining one or more buffer portions;

send, from the remote node to the local node, a memory address associated with a first buffer portion of the one or more buffer portions; and

generate a list of free buffer portions within the remote persistent cache memory system.

12. The computing system of claim 11 , wherein the remote persistent cache memory system includes a battery backup random access memory (RAM) system.

13. The computing system of claim 6 , wherein the processor is further configured to:

determine the target memory address within the remote persistent cache memory system for buffering the data based upon, at least in part, the list of free buffer portions within the remote persistent cache memory system.

14. The computing system of claim 13 , wherein the processor is further configured to:

receive, from the remote node, an updated target memory address within the remote persistent cache memory system via an RPC response; and

update the list of free buffer portions within the remote persistent cache memory system based upon, at least in part, the updated target memory address.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 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
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 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
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 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
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: BARUCH, ORAN; GAZIT, RONEN; DERZHAVETZ, JENNY; CHERNYAVSKY, YURI
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 056934/0966 →