| CPC G06F 3/0619 (2013.01) [G06F 3/065 (2013.01); G06F 3/067 (2013.01)] | 19 Claims |

|
1. A memory controller, comprising:
a control circuitry; and
a network interface to be operatively connected to one or more clients for shared memory access, each client of the one or more clients comprising an IO clock, and
a memory coupled to the control circuitry to store instructions, which when executed by the control circuitry, cause the memory controller to perform a recovery of a shared memory by:
determining a starting point for the recovery; and then
replicating the shared memory to a target file system based on the starting point,
wherein the memory controller is to determine the starting point by:
generating a journal of file operations in the shared memory;
generating a snapshot of the shared memory;
restoring the shared memory as per the snapshot to the target file system;
determining last operation before the snapshot in the journal of file operations; and
setting next operation after the last operation as the starting point, and wherein the memory controller is to
replicate the shared memory by replaying the file operations according to the journal starting with the starting point; and
wherein the memory controller is further to generate the journal of file operations by causing the one or more clients to journal the file operations, wherein the journal of file operations comprises a plurality of distributed journals of file operations.
|