Techniques for mirroring data within a shared virtual memory system
First Claim
1. In a local computerized device having local physical memory, a method for protecting shared data, the method comprising:
- observing a page table entry on the local computerized device, the page table entry being stored in a page table used for managing virtual to physical address translations, tracking page modifications and handling page faults between semiconductor memory and magnetic disk drive memory on the local computerized device;
when the page table entry indicates that shared data corresponding to the page table entry has not been modified on the local computerized device, leaving a data mirror routine inactive on the local computerized device, the data mirror routine being configured to copy the shared data from the local physical memory to a remote computerized device; and
when the page table entry indicates that shared data corresponding to the page table entry has been modified on the local computerized device, activating the data mirror routine to mirror the shared data from the local physical memory to the remote computerized device;
wherein the local physical memory of the local computerized device includes a local non-mirror memory area and a local mirror memory area;
wherein remote physical memory of the local computerized device includes a remote non-mirror memory area and a remote mirror memory area;
wherein the local non-mirror memory area and the remote non-mirror memory area store different data to independently run, on the local and the remote computer devices, different applications performing different tasks over different fault domains in an ongoing manner;
wherein the local mirror memory area and the remote mirror memory area maintain mirroring copies of the shared data to provide fault tolerant redundancy for the shared data across the different fault domains while the local and the remote computer devices independently run the different applications performing the different tasks over the different fault domains in the ongoing manner; and
wherein the data mirror routine, in response to activation when the page table entry indicates that the shared data corresponding to the page table entry has been modified on the local computerized device, is constructed and arranged to (i) impose a lock on the shared data, (ii) perform a copy operation which copies the shared data from the local physical memory to the remote computerized device while concurrently maintaining the lock on the shared data, and (iii) release the lock after the copy operation is completed.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique protects shared data in a local device having local memory. The technique involves observing a page table entry (PTE) on the local device. The PTE is stored in a page table used for managing virtual to physical address translations, tracking page modifications and handling page faults between semiconductor memory and magnetic disk drive memory on the local device. The technique further involves leaving a mirroring routine inactive on the local device when the PTE indicates that shared data corresponding to the PTE has not been modified on the local device. The mirroring routine is configured to copy the shared data from the local memory to a remote device. The technique further involves activating the mirroring routine to mirror the shared data from the local memory to the remote device when the PTE indicates that shared data corresponding to the PTE has been modified on the local device.
31 Citations
22 Claims
-
1. In a local computerized device having local physical memory, a method for protecting shared data, the method comprising:
-
observing a page table entry on the local computerized device, the page table entry being stored in a page table used for managing virtual to physical address translations, tracking page modifications and handling page faults between semiconductor memory and magnetic disk drive memory on the local computerized device; when the page table entry indicates that shared data corresponding to the page table entry has not been modified on the local computerized device, leaving a data mirror routine inactive on the local computerized device, the data mirror routine being configured to copy the shared data from the local physical memory to a remote computerized device; and when the page table entry indicates that shared data corresponding to the page table entry has been modified on the local computerized device, activating the data mirror routine to mirror the shared data from the local physical memory to the remote computerized device; wherein the local physical memory of the local computerized device includes a local non-mirror memory area and a local mirror memory area; wherein remote physical memory of the local computerized device includes a remote non-mirror memory area and a remote mirror memory area; wherein the local non-mirror memory area and the remote non-mirror memory area store different data to independently run, on the local and the remote computer devices, different applications performing different tasks over different fault domains in an ongoing manner; wherein the local mirror memory area and the remote mirror memory area maintain mirroring copies of the shared data to provide fault tolerant redundancy for the shared data across the different fault domains while the local and the remote computer devices independently run the different applications performing the different tasks over the different fault domains in the ongoing manner; and wherein the data mirror routine, in response to activation when the page table entry indicates that the shared data corresponding to the page table entry has been modified on the local computerized device, is constructed and arranged to (i) impose a lock on the shared data, (ii) perform a copy operation which copies the shared data from the local physical memory to the remote computerized device while concurrently maintaining the lock on the shared data, and (iii) release the lock after the copy operation is completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computerized device, comprising:
-
local physical memory; an internodal communications interface; and a controller coupled to the local physical memory and to the internodal communications interface, the controller being constructed and arranged to; observe a page table entry on the local computerized device, the page table entry being stored in a page table used for managing virtual to physical address translations, tracking page modifications and handling page faults between semiconductor memory and magnetic disk drive memory on the local computerized device, when the page table entry indicates that shared data corresponding to the page table entry has not been modified on the local computerized device, leave a data mirror routine inactive on the local computerized device, the data mirror routine being configured to copy the shared data from the local physical memory to a remote computerized device, and when the page table entry indicates that shared data corresponding to the page table entry has been modified on the local computerized device, activate the data mirror routine to mirror the shared data from the local physical memory to the remote computerized device; wherein the local physical memory of the local computerized device includes a local non-mirror memory area and a local mirror memory area; wherein remote physical memory of the remote computerized device includes a remote non-mirror memory area and a remote mirror memory area; wherein the local non-mirror memory area and the remote non-mirror memory area store different data to independently run, on the local and the remote computer devices, different applications performing different tasks over different fault domains in an ongoing manner; wherein the local mirror memory area and the remote mirror memory area maintain mirroring copies of the shared data to provide fault tolerant redundancy for the shared data across the different fault domains while the local and the remote computer devices independently run the different applications performing the different tasks over the different fault domains in the ongoing manner; and wherein, in response to activation when the page table entry indicates that shared data corresponding to the page table entry has been modified on the local computerized device, the data mirror routine is constructed and arranged to (i) impose a lock on the shared data, (ii) perform a copy operation which copies the shared data from the local physical memory to the remote computerized device while concurrently maintaining the lock on the shared data, and (iii) release the lock after the copy operation is completed. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification