Looking for Windows RAM Disk which mirrors writes to hard disk

I'm looking for a RAM disk (preferably free) which gets its contents from a specified folder on the hard disk and also writes changes made to it back to that folder. Is there such a thing for Windows?


Solution 1:

I would go with VSuite Ramdisk. Unfortunately it's shareware (50$).

It supports (almost) realtime syncing to hard disk.

Fundamental problem with truly realtime sync would be huge performance loss. If syncing would be synchronous, RAM disk writing speed would be same as with hard disk. Reading speed would be faster though.

Solution 2:

For those looking for a free alternative, you can achieve something similar by creating a RAM disk through ImDisk and then following the steps I outlined here: Keeping HDD files in virtual memory without changing paths to files.

Assuming that:

  • you already created a RAM drive in physical memory assigned to R: (any other letter is fine too).
  • you want to make the folder C:\Folder1 available in RAM for faster access.
  • Folder1 is stored on a local NTFS formatted volume.

Applying the changes

  1. Close all programs that might be accessing Folder1.
  2. Rename Folder1 to Folder1.zTarget (the actual name is not important as long as it's different).
  3. Copy Folder1.zTarget to RAM drive (R:).
  4. Create a [directory junction link][1] named Folder1 pointing to R:\Folder1.zTarget.

From now on, every time you access C:\Folder1 what you're actually accessing is the data stored on the RAM drive (R:\Folder1.zTarget).

Reverting back

  1. Close all programs that might be accessing Folder1 (now a directory junction link).
  2. If any file inside Folder1 was modified, copy the Folder1.zTarget from RAM (R:) to disk (C:) to preserve the changes.
  3. Delete the directory junction link named Folder1.
  4. Rename Folder1.zTarget back to Folder1.

Check the linked answer for a working batch script example.

Syncing would be on-demand only, which is the best option performance-wise. Eventually one could get automatic sync by writing data back to disk every, say, 15 minutes (e.g. through a scheduled task).