Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
1  
No, it's not. That question is about ramdisks in general, and not talking anything about hard disk sync. –  Olli Feb 21 '11 at 12:54
    
Isn't this what Windows disk cache does? –  surfasb Feb 21 '11 at 16:31
    
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. –  user56156 Feb 22 '11 at 9:28
add comment

2 Answers

up vote 1 down vote accepted

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.

share|improve this answer
1  
Looks good, thanks. Of course I meant asynchronously syncing the data back to hard disk. :) –  user56156 Feb 22 '11 at 9:26
add comment

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.