New
#21
My personal take on Ramdisks:
The Ramdisk is a forced interplay between the CPU, storage device such as an SSD/HDD, PCI bus and RAM.
Factors also include speed of the said CPU, transfer speed of the storage device, revision of PCI bus and amount of RAM (and it's own speed.)
If you have a PCI Revision of 3.0 and above with a fast CPU, decent SSD and 24-32 GB of relatively fast RAM, you're good to go - no Ramdisk.
Upgrading components to speed things up must be handled on a case by case basis to evaluate if the technology/cost/effort is worth it.
If memory paging is kept to a bare minimum you will not need a Ramdisk.
FWIW.
Agreed, with the proviso that it can serve purposes other than speed. For example, when I'm doing development on one of my programs, I like to run it against a RAMdrive because on those development days I may be writing hundreds of GB or even a couple TB of data. This minimizes the wear on my SSD.
Remember that some ramdisks use so called "virtual memory" , and that type of memory is swapped to the disk from time to time. The fastest ramdisks use solely non-pageable kernel software memory.
True, modern SSD are really good. My primary SSD has a 1.6 Petabyte writes rating. I actually simplified my logic, but here is some more detail...
My program performs just about every function related to management of Windows images that you can think of. It can inject updates, drivers, boot critical drivers into multiple editions of Windows and combine them into a single image, including both x86 and x64 editions in the same image if that is what the user wants. It can automatically convert ESD images into WIM images. It can create bootable media, including bootable media with an unlimited number of images. It can reorganize the contents of an ISO image and even allow for the changing of metadata associated with each Windows edition. There's a lot more, but you get the idea. When shuffling all this data around, it can move quite a bit of data, especially through repeated test runs as I'm modifying the program.
Here now is the other reason that I didn't mention earlier - on occasion as I'm writing code, I'll make a mistake (a bug in the code, who could believe that ). I have once or twice wiped a destination disk due to a fault in my code. That's where a RAMdisk is helpful. If I wipe the RAMdisk, I don't care. If I wipe a real disk, I won't be too happy.