IP Library Granted Patent US 9,213,609
Granted Patent B2
US 9,213,609 · App. 10/737,374 · Granted Dec 15, 2015

Persistent memory device for backup process checkpoint states

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 9,213,609
App. No.
10/737,374
Granted
Dec 15, 2015
Kind
B2
Abstract

A system is described that includes a network interface attached to a persistent memory unit. The persistent memory unit is configured to receive checkpoint data from a primary process, and to provide access to the checkpoint data for use in a backup process, which provides recovery capability in the event of a failure of the primary process. The network interface is configured to provide address translation information between virtual and physical addresses in the persistent memory unit. In other embodiments, the persistent memory unit is capable of storing multiple updates to the checkpoint state. The checkpoint state and the updates to the checkpoint state, if any, can be retrieved by the backup process periodically, or all at once upon failure of the primary process.

Claims (93)

1. A system for storing checkpoint data comprising:

a network interface to an external network; and

a persistent memory unit coupled to the network interface, the persistent memory unit to:

receive the checkpoint data directly into a region of the persistent memory unit via a remote direct memory access (RDMA) write command issued by a first node executing a primary process, wherein the first node is connected to the network interface through the external network, and

provide direct access to the checkpoint data in the region of the persistent memory unit via a remote direct memory access (RDMA) read command issued by a second node executing a backup process, wherein the second node is connected to the network interface through the external network, wherein the remote direct memory access (RDMA) write command issued by the first node is preceded by a create request for the region, wherein the RDMA read command issued by the second node is preceded by an open request for the region, and wherein the backup process performs a function of the primary process in response to a failure of the primary process.

2. The system of claim 1 , further comprising:

a persistent memory manager configured to program the network interface with information used by the network interface to perform virtual-to-physical address translation.

3. The system of claim 1 , wherein the create request for the region is issued by the first node, and wherein the open request for the region is issued by the second node.

4. The system of claim 1 , wherein the RDMA read command is issued after the primary process fails.

5. The system of claim 1 , wherein the persistent memory unit is to store multiple sets of checkpoint data through remote direct memory access (RDMA) writes sent from the first node at successive time intervals.

6. The system of claim 5 , wherein the persistent memory unit provides the multiple sets of checkpoint data through remote direct memory access (RDMA) reads upon request by the backup process at one time.

7. The system of claim 1 , wherein the primary process provides the checkpoint data to the persistent memory unit independently from the backup process.

8. The system of claim 1 , wherein the persistent memory unit is configured as part of a remote direct memory access-enabled system area network.

9. The system of claim 1 , wherein the persistent memory unit is configured with address protection and translation tables to authenticate requests from remote processors, and to provide access information to authenticated remote processors.

10. The system of claim 1 , wherein the persistent memory unit is further to store meta-data regarding the contents and layout of memory regions within the persistent memory unit and to keep the meta-data consistent with the checkpoint data stored on the persistent memory unit.

11. The system of claim 1 , wherein the persistent memory unit is further to provide access to the checkpoint data in another region via a remote direct memory access (RDMA) read command from the backup process through the network interface, wherein the RDMA read command is preceded by an open request for the another region.

12. The method of claim 1 , wherein the checkpoint data received by the persistent memory unit overwrites a current set of the checkpoint data.

13. The method of claim 1 , wherein the checkpoint data received by the persistent memory unit is appended to a previous set of the checkpoint data.

14. A system for storing checkpoint data comprising:

a network interface to an external network; and

a persistent memory unit coupled to the network interface, the persistent memory unit to:

receive the checkpoint data into a region of the persistent memory unit via a remote direct memory access (RDMA) write command issued by a first node executing a primary process, wherein the first node is connected to the network interface through the external network, and

provide access to the checkpoint data in the region of the persistent memory unit via a remote direct memory access (RDMA) read command issued by a second node executing a backup process,

wherein the second node is connected to the network interface through the external network,

wherein the remote direct memory access (RDMA) write command is preceded by a create request for the region, wherein the RDMA read command is preceded by an open request for the region,

wherein the backup process is to perform a function of the primary process in response to a failure of the primary process,

wherein the primary process is to directly write the checkpoint data to the persistent memory via the remote direct memory access (RDMA) write command without notifying an operating system of the first node,

wherein the backup process is to directly read the checkpoint data from the persistent memory via the RDMA read command without notifying an operating system of the second node, and

wherein the primary process provides the checkpoint data to the persistent memory unit independently from the backup process.

15. The system of claim 14 , further comprising:

a persistent memory manager configured to program the network interface with information used by the network interface to perform virtual-to-physical address translation.

16. The system of claim 14 , wherein the persistent memory unit is further configured to store a starting and ending address of the checkpoint data and provide access to the starting and ending address to the backup process.

17. The system of claim 14 , wherein the persistent memory unit is further configured to provide access to the checkpoint data in another region via a remote direct memory access (RDMA) read command from the backup process through the network interface, wherein the RDMA read command is preceded by an open request for the another region.

18. The system of claim 14 , wherein the persistent memory unit provides the checkpoint data through remote direct memory access (RDMA) reads by the backup process after the primary process fails.

19. The system of claim 14 , wherein the persistent memory unit is further to store multiple sets of checkpoint data through remote direct memory access (RDMA) writes sent from the first node at successive time intervals.

20. A system for storing checkpoint data comprising:

a network interface to an external network; and

a persistent memory unit coupled to the network interface, wherein the persistent memory unit is configured to:

receive the checkpoint data into a region of the persistent memory unit via a remote direct memory access (RDMA) write command from a first node executing a primary process, wherein the first node is connected to the network interface through the external network,

provide access to the checkpoint data in the region via a remote direct memory access (RDMA) read command from a second node executing a backup process, wherein the second node is connected to the network interface through the external network,

store meta-data regarding the contents and layout of memory regions within the persistent memory unit, and

keep the meta-data consistent with the checkpoint data stored on the persistent memory unit,

wherein the remote direct memory write command is preceded by a create request for the region and the read command is preceded by an open request for the region,

wherein the backup process is to perform a function of the primary process in response to a failure of the primary process,

wherein the primary process is to directly write the checkpoint data to the persistent memory via the remote direct memory access (RDMA) write command without notifying an operating system of the first node,

wherein the backup process is to directly read the checkpoint data from the persistent memory via the RDMA read command without notifying an operating system of the second node, and

wherein the primary process provides the checkpoint data to the persistent memory unit independently from the backup process.

21. The system of claim 20 , wherein the checkpoint data received by the persistent memory unit overwrites a current set of the checkpoint data.

22. The system of claim 20 , wherein the checkpoint data received by the persistent memory unit is appended to a previous set of the checkpoint data.

23. The system of claim 20 , wherein the persistent memory unit is further configured to store a starting and ending address of the checkpoint data and provide access to the starting and ending address to the backup process.

24. The system of claim 20 , further comprising:

a persistent memory manager configured to grant access rights to the primary process prior to persistent memory unit receiving the create request.

25. The system of claim 20 , further comprising:

a persistent memory manager configured to grant access rights to the backup process prior to persistent memory unit receiving the open request.

26. A system for storing checkpoint data comprising:

a network interface to an external network; and

a persistent memory unit coupled to the network interface, wherein the persistent memory unit is configured to

receive the checkpoint data into a region of the persistent memory unit via a remote direct memory access (RDMA) write command issued by a first processor executing a primary process, wherein the first processor is connected to the network interface through the external network interface,

provide access to the checkpoint data in the region via a remote direct memory access (RDMA) read command issued by a second processor executing a backup process, wherein the second processor is connected to the network interface through the external network,

authenticate requests from remote processors with address protection and translation tables, and

provide access information to authenticated remote processors,

wherein the remote direct memory access (RDMA) write command is preceded by a create request for the region and the RDMA read command is preceded by an open request for the region,

wherein the backup process is to perform a function of the primary process in response to a failure of the primary process,

wherein the primary process is to directly write the checkpoint data to the persistent memory via the remote direct memory access (RDMA) write command,

wherein the backup process is to directly read the checkpoint data from the persistent memory via the RDMA read command, and

wherein the primary process provides the checkpoint data to the persistent memory unit independently from the backup process.

27. The system of claim 26 , further comprising:

a persistent memory manager configured to grant access rights to the primary process prior to persistent memory unit receiving the create request.

28. The system of claim 27 , wherein the access rights are bound to a connection between the primary process and the persistent memory unit such that the access rights need not be repeated with each create request.

29. The system of claim 26 , further comprising:

a persistent memory manager configured to grant access rights to the backup process prior to persistent memory unit receiving the open request.

30. The system of claim 29 , wherein the access rights are bound to a connection between the backup process and the persistent memory unit such that the access rights need not be repeated with each open request.

31. The system of claim 26 , wherein the persistent memory unit is further configured to store a starting and ending address of the checkpoint data and provide access to the starting and ending address to the backup process.

32. A system for storing checkpoint data comprising:

a network interface to an external network; and

a persistent memory unit coupled to the network interface, wherein the persistent memory unit is configured to

receive the checkpoint data into a region of the persistent memory unit via a remote direct memory access (RDMA) write command from a first processor node executing a primary process, wherein the first processor node is connected to the network interface through the external network interface,

provide access to the checkpoint data in the region of the persistent memory unit via a remote direct memory access (RDMA) read command from a second processor node executing a backup process, wherein the second processor node is connected to the network interface through the external network,

authenticate requests from remote processor nodes with address protection and translation tables, to provide access information to authenticated remote processor nodes,

store meta-data regarding the contents and layout of memory regions within the persistent memory unit, and

keep the meta-data consistent with the checkpoint data stored on the persistent memory unit,

wherein the remote direct memory access (RDMA) write command is preceded by a create request for the region and the RDMA read command is preceded by an open request for the region,

wherein the backup process is to perform a function of the primary process in response to a failure of the primary process,

wherein the primary process of the first processor node is to directly write the checkpoint data to the persistent memory via the remote direct memory access (RDMA) write command,

wherein the backup process of the second processor node is to directly read the checkpoint data from the persistent memory via the RDMA read command, and

wherein the primary process provides the checkpoint data to the persistent memory unit independently from the backup process.

33. The system of claim 32 , wherein the persistent memory unit is further configured to store a starting and ending address of the checkpoint data and provide access to the starting and ending address to the backup process.

34. The system of claim 32 , wherein the persistent memory unit is further configured to provide access to the checkpoint data in another region via a remote direct memory access (RDMA) read command from the backup process through the network interface, wherein the RDMA read command is preceded by an open request for the another region.

35. The system of claim 32 , further comprising:

a persistent memory manager configured to grant access rights to the primary process prior to persistent memory unit receiving the create request.

36. The system of claim 32 , further comprising:

a persistent memory manager configured to grant access rights to the backup process prior to persistent memory unit receiving the open request.

37. The system of claim 32 , wherein the checkpoint data received by the persistent memory unit overwrites a current set of the checkpoint data.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 056157/0492 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2003
From: HANSEN, ROGER; MEHRA, PANKAJ; FINEBERG, SAM
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 014817/0808 →