Looking for Windows RAM Disk which mirrors writes to hard disk

8

3

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?

ctusch

Posted 2011-02-21T12:40:43.870

Reputation: 219

1No, it's not. That question is about ramdisks in general, and not talking anything about hard disk sync. – Olli – 2011-02-21T12:54:18.433

Isn't this what Windows disk cache does? – surfasb – 2011-02-21T16:31:19.057

Should be I guess. In practice when I compile my solution on a RAM disk its twice as fast as using the hard disk, even when compiling several times in a row. – ctusch – 2011-02-22T09:28:50.600

Answers

4

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.

Olli

Posted 2011-02-21T12:40:43.870

Reputation: 6 704

Some other RAM disk software offers a backup feature too: Dataram, SuperSpeed.

– User5910 – 2015-08-28T17:14:11.500

1Looks good, thanks. Of course I meant asynchronously syncing the data back to hard disk. :) – ctusch – 2011-02-22T09:26:28.867

4

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).

and31415

Posted 2011-02-21T12:40:43.870

Reputation: 13 382