Why would a RAMdisk be used today?
Why I Use A RAMdisk Today: Addressing The 32-bit RAM Limit
Currently, I need to run a 32-bit operating system due to compatibility issues with some work software. My computer has much more RAM than Windows XP Professional can see, so I'm stuck with 3GB of physical memory.
When the 3GB wall is hit, then the computer will move to use the pagefile. Luckily, software exists to allow you to create a RAMdisk out of the RAM which is inaccessable to the operating system, in 32-bit environments!
SuperSpeed has a program called RamDisk which will allow you to do this. Another option is the Vsuite Ramdisk software (they both slightly differ - see the features list to see which one meets your needs).
I'm not specifically advertising any software, but those are a few I've come across which allow you to utilize some of the RAM outside of the addressable range of a 32-bit operating system.
While it's not nearly as good as having the OS directly access the RAM, having a RAM-based pagefile is much better than a hard-drive based one.
Scratchfiles - One More Reason (Applies To 64-bit As Well)
One more reason that you can use a RAMdisk is for photo/video editing (e.g. with the Adobe Creative Suite). Most Adobe programs can use a "scratchfile" for temporary storage (similar to a pagefile).
Placing the scratchfile on a RAMdisk would really help to increase the speed of video/photo editing, especially when you're nearing the RAM limits of the operating system (or program-defined maximums).
January 2010 September 2012 Edit:
I recently came across this website (the patch was removed but I have mirrored it on my website here), which allows you to patch the Windows 7 Kernel to allow the PAE of your operating system to extend the 4GB barrier (see this article mentioned in the previous link for more details on the actual mechanics behind the patch). This allows you to use over 4GB (up to 8GB) of RAM fully under Windows 7 32-bit.
One really good fundamental reason why mem disks aren't very common: you're better off using the memory as disk cache.
You will already get most/all of the performance benefit of a ramdisk in normal operation by just letting the memory be used as cache. Disk writes can happen in the background where the latency isn't such a big deal, assuming you have enough cache.
You might still use a ramdisk In specialized circumstances (no writeable disk).
- OSs are better at using RAM - applications are loaded in to RAM and swapped in and out more intelligently.
- RAM disks are volatile - data in RAM disappears with no power, so we can't rely on them.
- 32-bit architecture can only address just below 4GB of RAM - you don't want to waste that precious RAM as a RAM disk.
- RAM is still quite expensive, relatively anyway
On Linux there's a filesystem called tmpfs, which is basically a RAM disk.
As its name suggests, it's frequently used for /tmp
, because that folder only contains files that don't need to persist on reboot.
Live CDs use a RAM disk for their entire hard drive.
Actually they are. There are even DRAM-based SSDs nowadays.
Yes, it is true modern HDDs are faster. But relative to other system components progress, they are much much slower. You cannot eliminate seek times, because your rotational speed is limited.
So for many purposes, RAM-based drive can give you a huge performance boost. Ever tried building a large software project on normal HDD as opposed to RAM drive?
Also note, that modern system kernels, such as Linux already use all the available (unused) RAM for block storage caching.