Overclock.net banner

RAMDisks Roundup and testing

121K views 149 replies 37 participants last post by  NIK1 
#1 ·
Currently working on RAMDisks Roundup and testing v2.
All further updates will be in the new thread.

Wasn't sure whether to post this in the storage or memory section, but I guess it makes most sense here.

For the past couple of years I been interested in and running a RAMDisk, but to my great frustration it has been really hard to find any kind of performance testing of RAMDisks. Most of what you find is superficial at best if not downright misleading.

So with the goal of coming up with some sort comprehensive testing of RAMDisk I thought I would start by finding as many RAMDisk software as I can and make a short evaluation of each of them. Then perhaps, as a community, will could come to some kind of consensus as to how to test them.

Keep in mind that many of those program can only create a Direct-IO Disk, which means benchmarks such as HDTune and HDTach will not be able to see those disks. Other benchmarks such as AS SSD often have erratic behavior when testing RAMDisks and will frequently crash. So as you can see finding good benchmark tools for testing RAMDisks might be problematic.

As far as performance testing goes, I intend to test as many variables as I can to see their impact on performance (if any), but I will limit my tests to only 64bit OS. I'm still finalizing my list but coming up with a testing method that's more than just running CrystalDiskMark on each RAMDisk and calling it a day is more pressing right now.

Downsides of RAMDisks should also be kept in mind. Since data on RAMDisks are volatile backup option are useful, unfortunately some program only offer to backup on shutdown (leaving you SOL in case of a crash) other offer even less options (if they have them at all). Backup options might not be useful to every usage pattern but it's never a bad thing to have them.
Also RAMDisks have an impact on CPU utilization, most of them will peg 1 core at 100% when operating at peak performance.

With all that said, if you notice any mistakes or oversight let me know and I will rectify them. Now let's move on to listing all the RAMDisks that I was able to run on Win7 64bit (in alphabetical order).

ArchiCrypt Ramdisk

Version: 3.9.1.4216
Source: http://www.archicrypt.de/archicrypt_ultimate_ram_disk.html
File systems: FAT/FAT32
Size: 5MB-32GB
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 6
Backup Options: Save on Shutdown, Load on Boot, Periodic Backup (at interval)

Price: 24,95 €, evaluation version available
Notes: Software is in German only

Bond Disc

Version: 1.40
Source: http://www.bonddisc.com
File systems: FAT
Size: 1MB-640MB
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 1
Backup Options: Save on Shutdown, Load on Boot, Periodic Backup (at interval)

Price: Free
Notes: Unsigned driver
Development has stopped

Buffalo Ramdisk

Version: 3.2.5.0
Source: http://buffalo.jp/download/driver/memory/ramdisk.html
File systems: FAT/FAT32
Size: 32MB-32GB+
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 1
Backup Options: Save on Shutdown, Load on Boot, Synchronous Backup, Backup when idle

Price: Free
Notes: Requires reboot to change disk size or enable/disable

Dataram RAMDisk

Version: 4.1.0.RC25
Source: http://memory.dataram.com/products-and-services/software/ramdisk
File systems: FAT/FAT32/RAW
Size: 5MB-64GB
SCSI Disk: Yes
Direct-IO Disk: No
Max # of RAMDisk: 1
Backup Options: Save on Shutdown, Load on Boot, Synchronous Backup, Periodic Backup (at interval)

Price: $18.99 USD, free version available (limited to 4GB or 6GB with Radeon Memory)
Notes: Requires .NET Framework 4

Gavotte Ramdisk
Version: 1.0.4096.2
Source: http://www.chweng.idv.tw/swintro/ramdisk.php
File systems: see notes
Size: see notes
SCSI Disk: see notes
Direct-IO Disk: see notes
Max # of RAMDisk: see notes
Backup Options: see notes

Price: Free
Notes: A 64bit compatible version is available but i haven't been able to get it (Chinese forum)
http://bbs.et8.net/bbs/showthread.php?t=853020

Gilisoft RAMDisk

Version: 5.1
Source: http://www.gilisoft.com/product-ramdisk.htm
File systems: FAT/FAT32/NTFS
Size: 1MB-32GB+
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 1
Backup Options: Save on Shutdown/Sleep, Load on Boot, Synchronous Backup, Periodic Backup (at interval)

Price: $39.95 USD, 14 days trial available
Notes: Unsigned driver

Gizmo Drive

Version: 2.7.9
Source: http://arainia.com/software/gizmo/overview.php?nID=4
File systems: FAT/NTFS
Size: 3MB-4GB
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 26
Backup Options: None

Price: Free
Notes: If you enter a capacity above 4GB the RAMDisk will be modulo(4GB) instead
Documentation is scarce
Program seems to be abandonware

ImDisk

Version: 1.7.1
Source: http://www.ltr-data.se/opencode.html/#ImDisk
File systems: RAW
Size: 1MB-32GB+
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: No Limit
Backup Options: Manually only

Price: Free, open source
Notes: Configure through command line or control panel

Passmark OSFMount

Version: 1.5.1013
Source: http://www.osforensics.com/tools/mount-disk-images.html
File systems: RAW
Size: 1MB-32GB+
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 26
Backup Options: Manually only

Price: Free
Notes: Based off ImDisk
Crashes if it can't assign a drive letter

Primo Ramdisk Ultimate

Version: 5.6.0
Source: http://www.romexsoftware.com/en-us/primo-ramdisk/download.html
File systems: FAT/FAT32/NTFS
Size: 1MB-1TB
SCSI Disk: Yes
Direct-IO Disk: Yes
Max # of RAMDisk: 128
Backup Options: Save on Shutdown, Load on Boot, Synchronous Backup, Periodic Backup (at interval)

Price: $69.95 USD, 30 trial available
$49.95 USD for Professional Edition (32GB limit)
$29.95 USD for Standard Edition (8GB limit)
Notes:

RamPhantomEX

Version: 1.0.0
Source: http://www.iodata.jp/product/soft/speed/ramphantomex/
File systems: FAT/NTFS
Size: 1MB-32GB+
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 2 (possible limitation of the evaluation version)
Backup Options: Save on Shutdown, Load on Boot, Synchronous Backup, Backup when idle

Price: ¥2,980, evaluation version available
Notes: Software is in Japanese
256MB limit on the evaluation version

SoftPerfect RAM Disk

Version: 3.3.3
Source: http://www.softperfect.com/products/ramdisk/
File systems: FAT/FAT32/NTFS/RAW
Size: 1MB-32GB+
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 26+
Backup Options: Save on Shutdown, Load on Boot, Periodic Backup (at interval)

Price: Free
Notes:

StarWind RAM Disk

Version: 5.6
Source: http://www.starwindsoftware.com/high-performance-ram-disk-emulator
File systems: FAT/FAT32/RAW
Size: 8MB-32GB+
SCSI Disk: Yes
Direct-IO Disk: No
Max # of RAMDisk: 26+
Backup Options: None

Price: Free
Notes:

SuperSpeed RamDisk Plus

Version: 11.7.1007
Source: http://www.superspeed.com/desktop/ramdisk.php
File systems: FAT/FAT32/NTFS/exFAT/UDF
Size: 1MB-512GB
SCSI Disk: Yes
Direct-IO Disk: No
Max # of RAMDisk: 99
Backup Options: Save on Shutdown, Load on Boot

Price: $79.95 USD, 14 days trial available
$59.95 USD for RamDisk version (no Backup Options, max of 1 RAMDisk)
Notes:

VSuite Ramdisk Server

Version: 4.6.7531.1240
Source: http://www.romexsoftware.com/en-us/vsuite-ramdisk/download.html
File systems: FAT/FAT32/NTFS/RAW
Size: 1MB-2048TB
SCSI Disk: Yes
Direct-IO Disk: Yes
Max # of RAMDisk: 128
Backup Options: Save on Shutdown, Load on Boot, Synchronous Backup, Periodic Backup (at interval)

Price: $119.00 USD
Notes: Superseded by Primo Ramdisk, only Server edition remains available

WinRamTech (QSoft)

Version: 5.3.2.14
Source: http://winramtech.hostei.com/RAMDriv
File systems: FAT/FAT32/NTFS/exFAT
Size: 1MB-64GB
SCSI Disk: No
Direct-IO Disk: Yes
Max # of RAMDisk: 1
Backup Options: Save on Shutdown, Load on Boot, Synchronous Backup, Periodic Backup (at interval/fixed times)

Price: 25$USD (free updates), free version available (expires every 4 months)
12$USD (no updates)
Notes: Can't disable the RAMDisk without uninstalling the driver or disabling it in device manage (requires reboot)
Configurable through the device manager

Wow, that took longer than expected
biggrin.gif

Anyway, I'll start looking for some suitable benchmark tools, but I'd appreciate your feedback.
 
See less See more
16
#2 ·
Testing Methodology & Results

I'm going to try to detail my testing methodology as much as I can, so to make it easier for other people to run their own tests and compare results.

Test System Setup
CPU Intel Core i7-920 @ 3.6GHz
Motherboard Asus P6T
Memory 36GB (3x4+3x8) DDR3-1600 (10-10-10-27)
Hard Drive OCZ RevoDrive
Graphics Card AMD Radeon HD 7970 @ 1050/1500
Operating System Windows 7 Pro x64 (fully updated with latest drivers)

The only major tweaks I did were to disable the pagefile, hibernation and superfetch in order to keep results as constant as I can.

Most of the information about how different RAMDisks handle memory allocation was made available by the tools at sysinternals. If you want to get a more in depth understanding of the inner working of windows I highly recommend you try those tools.

RAMDisk memory allocation types:
Paged Pool: Kernel-allocated memory backed by RAM or the paging file.
Nonpaged Pool: Kernel-allocated memory always backed by RAM, has large-page support. Require a block of contiguous memory.
Driver Locked: Memory allocated by a driver and always backed by RAM.
Process Private: Backed by RAM or the paging file.

Tests
I'll run 2 set of tests, one with a small RAMDisk (suitable for browser cache), the other with a large RAMDisk (suitable for loading games)
-4GB (128MB for RamPhantomEX, 640MB for Bond Disc)
-30GB (except Bond Disc, Dataram RAMDisk, Gizmo Drive, RamPhantomEX)

Shutdown/Boot times:
-Measured manually and as reported by the Performance Monitoring events
-Each boot is repeated twice and the average is taken as the result
-I've set up a Task Scheduler to open the Event Viewer on a Diagnostics-Performance event. The system remains idle until the Event Viewer opens.
-I'll run a this test for each size with an empty and a full image (for programs that allow load on boot)

Load/Unload times:
-I'll test the creation and load time for 4GB and 30GB RAMDisk. The timer will stop when windows explorer detects the drive.
-For unload time the timer stops when windows explorer can't detect drive.
-All of these test are worst case scenario. For example, a 4GB RAMDisk will be filled then unloaded. A note will be added mentioning the performance when no changes are made to the image.
-I'll only measure those where it makes sense. (A program that doesn't allow backups won't have value for image load/unload)

Game Load Times:
-Path of Exile: Open the game and use every waypoint of act 1 and 2 starting from act 3.
Timer starts when opening the game and stops when the last zone is loaded.

Default Results
Run 1
Shutdown/Boot/Reboot: 2848ms--19643ms--49s
PoE: 2m48.24s

Run 2
Shutdown/Boot/Reboot: 2697ms--18656ms--45s
PoE: 2m38.69s

Results
ArchiCrypt Ramdisk
Memory allocation: Process Private (backed by RAM and handled by a service)

4GB (FAT32)

30GB (FAT32)

NTFS results were slightly slower but still very similar.

Shutdown/Boot times (The trial version doesn't allow to load a RAMDisk on boot, so add the image creation/load time to get an approximation)
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2766ms--18535ms--47s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3427ms--18233ms--46s
4GB RAMDisk:
Shutdown/Boot/Reboot: 25578ms--18233ms--68s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 4814ms--18462ms--47s
30GB RAMDisk:
Shutdown/Boot/Reboot: 33209ms--18347ms--77s
ATTENTION!!! Since ArchiCrypt runs as a service it is subject to the WaitToKillServiceTimeout. Meaning that if it isn't done doing whatever it's doing by that time Windows simply kills it. Meaning say goodbye to your data because it's gone (at least what hasn't been saved yet).

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 4.11s--0.88s
4GB RAMDisk image load/unload time: 25.71s--23.61s
30GB Volatile RAMDisk creation/unload time: 8.07s--0.88s
30GB RAMDisk image load/unload time: 2m54.48s--2m47.36s
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: 1m31.59s

Noteworthy options:
Allow the creation and use of templates, which are image of RAMDisks that don't save changes made to them.
Can format to another file system, images will preserve the change.

Bond Disc
Memory allocation: Driver Locked

640MB (FAT)


Shutdown/Boot times:
No RAMDisk loaded:
N/A (the RAMDisk is loaded on boot, this setting cannot be configured)
640MB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2735ms--19239ms--47s
640MB RAMDisk:
Shutdown/Boot/Reboot: 28085ms--39793ms--91s
640MB RAMDisk (mirroring/parity off):
Shutdown/Boot/Reboot: 16740ms--30251ms--70s

Load/Unload times:
640MB Volatile RAMDisk creation/unload time: instant--instant
640MB RAMDisk image load/unload time: 22.77s--26.41s
640MB RAMDisk image load/unload time (mirroring/parity off): 11.97s--14.14s
Images are 3 times the size of the content in the RAMDisk they are associated to (to provide data mirroring and parity)
Empty images take as long to load as volatile disks.
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: N/A

Noteworthy options:
Highly specialized software, offer many encryption and archival options.
Cannot format to another file system.

Buffalo Ramdisk
Memory allocation: Unknown. RAMDisk memory is not even visible to windows

4GB (FAT32)

30GB (FAT32)


Shutdown/Boot times (I was able to set up symbolic links so that the backup would be on my 2TB 7200RPM drive. The Problem is that Buffalo RAMDisk seems to operate at the same level as a bootkit (it loads itself before windows) and fails to read the symbolic links, so only the shutdown values will be correct. To get an approximation of loading time add the Shutdown time to the Boot time)
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2879ms--18711ms--47s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2776ms--19911ms--46s
4GB RAMDisk:
Shutdown/Boot/Reboot: 31543ms--20126ms--76s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2792ms--23212ms--49s
30GB RAMDisk:
Shutdown/Boot/Reboot: 200475ms--23615ms--273s

Load/Unload times
N/A (The RAMDisk can only be loaded/unloaded by rebooting)
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: N/A (needs NTFS since 1 file is over 4GB)

Noteworthy options:
Splits image in 512MB files
Cannot change backup location (defaults to C: drive)
Cannot format to another file system.

Dataram RAMDisk
Memory allocation: Driver Locked

4GB (FAT32)

4GB (NTFS)


Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3238ms--18338ms--46s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2963ms--18446--47s
4GB RAMDisk:
Shutdown/Boot/Reboot: 5290ms-21548ms--95s (see note)

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 0.81s-1.21s
4GB RAMDisk image load/unload time: 28.48s-44.87s (see note)
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, unload times are the same as when the whole disk has been written to.

Path of Exile test: N/A

Noteworthy options:
Announces that the data has been successfully written to disk when it only has been dumped to memory (a power failure before Windows has finished writing the data would result in corrupt data and the time Windows give for Shutdown is misleading since even if everything has been unloaded and it's ready to shut down it still has to finish writing the backup to disk.). For my test I stopped the timer when disk I/O stopped.

Gilisoft RAMDisk
Memory allocation: Driver Locked

4GB (FAT32)

30GB (FAT32)

NTFS results were slightly slower but still very similar.

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2571ms--19792ms--46s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2852ms--18368ms--45s
4GB RAMDisk:
Shutdown/Boot/Reboot: 24338ms--24119ms--70s (see notes)
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2626ms--18896ms--47s
30GB RAMDisk:
Shutdown/Boot/Reboot: 182772ms--25108ms--238s(see notes)

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 0.95s--1.98s
4GB RAMDisk image load/unload time: 24.72s--30.37s
30GB Volatile RAMDisk creation/unload time: 14.93s--2.19s
30GB RAMDisk image load/unload time: 3m00.17s--3m10.91s(see notes)
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: 1m26.82s

Noteworthy options:
Splits image in 2GB files, any change require a full rewrite of the entire image.
Non-volatile disks are not available directly after boot. You have to wait for the full image to be loaded in memory.
I had to create the image files manually to create an image of the 30GB RAMDisk. Otherwise I Would either get a "Device is busy" or "Writing image remarks error", even when Gilisoft RAMDisk was the only program open.
Creating a RAMDisk, then removing it, then creating another one can lead to a situation where it will take over 5 minutes to create the new RAMDisk. I recommend you reboot before you want to create a new RAMDisk (make sure automount is off).

Gizmo Drive
Memory allocation: Paged Pool (allocated only when needed)

4GB (NTFS)


Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3176ms--19791ms--46s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 1.54s--2.09s

Path of Exile test: N/A

Noteworthy options:
Can't format to FAT32

ImDisk
Memory allocation: Process Private (allocated only when needed)

4GB (FAT32)

30GB (FAT32)

NTFS results were slightly slower but still very similar.

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3229ms--18546ms--46s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 3.46s--0.96s
4GB RAMDisk image load/save time: 25.36s--44.57s
30GB Volatile RAMDisk creation/unload time: 11.36s--0.96s
30GB RAMDisk image load/save time: 2m45.09--2m57.52
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, save times are the same as when the whole disk has been written to.

Path of Exile test: 1m23.34s

Noteworthy options:
Announces that the data has been successfully written to disk when it only has been dumped to memory (a power failure before windows has finished writing the data would result in corrupt data). For my test I stopped the timer when disk I/O stopped.

Passmark OSFMount
Memory allocation: Process Private (allocated only when needed)

4GB (FAT32)

30GB (FAT32)

NTFS results were slightly slower but still very similar.

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3030ms--19816ms--46s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 2.41s--0.84s
4GB RAMDisk image load/save time: Was unable to save an image
30GB Volatile RAMDisk creation/unload time: 9.96s--0.84s
30GB RAMDisk image load/save time: Was unable to save an image

Path of Exile test: 1m22.22s

Noteworthy options:

Primo Ramdisk Ultimate
Memory allocation: Driver Locked

SCSI
30GB (FAT32)

30GB (NTFS)

Direct-IO
30GB (FAT32)

30GB (NTFS)

4GB results are very similar

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2913ms--18377ms--46s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2942ms--19926ms--47s
4GB RAMDisk:
Shutdown/Boot/Reboot: 49153ms--46425ms--120s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3014ms--19325ms--46s
30GB RAMDisk:
Shutdown/Boot/Reboot: 252441ms--182378ms--459s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 1.44s (4.68s for Direct-IO)--0.94s
4GB RAMDisk image load/unload time: 25.64s--1m36.88s
30GB Volatile RAMDisk creation/unload time: 2.21s (5.69s for Direct-IO)--0.88s
30GB RAMDisk image load/unload time: 2m47.44s--4m48.51s
Images are always the size of the RAMDisk they are associated to (on default settings)
Empty images take as long to load as full ones (on default settings)
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: 1m20.72s

Noteworthy options:
Only writes the changes made to an image.
Has a lot of options like delayed load, load only mode, unified invisible memory management, dynamic memory management and more that I haven't had time to look into.

RamPhantomEX
Memory allocation: Driver Locked

256MB (NTFS)


Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2725ms--18785ms--45s
256MB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2927ms--20030ms--46s
256MB RAMDisk:
Shutdown/Boot/Reboot: paid version only

Load/Unload times
256MB Volatile RAMDisk creation/unload time: instant--instant
256MB RAMDisk image load/unload time: paid version only

Path of Exile test: N/A

Noteworthy options:

SoftPerfect RAM Disk
Memory allocation: Driver Locked

4GB (FAT32)

4GB (NTFS)

30GB (FAT32)

30GB (NTFS)


Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3192ms--18275ms--46s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3150ms--19164ms--46s
4GB RAMDisk:
Shutdown/Boot/Reboot: 25063ms--41423ms--91s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2780ms--21836ms--48s
30GB RAMDisk:
Shutdown/Boot/Reboot: 169179ms--185568ms--379s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 3.94s--0.74
4GB RAMDisk image load/unload time: 25.33s--27.56s
30GB Volatile RAMDisk creation/unload time: 6.66s--0.86s
30GB RAMDisk image load/unload time: 2m50.85s--3m02.03s
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, save times are the same as when the whole disk has been written to.

Path of Exile test: 1m20.60s

Noteworthy options:
No manual image save option

StarWind RAM Disk
Memory allocation: Driver Locked

4GB (FAT32)

30GB (FAT32)

NTFS results were slightly slower but still very similar.

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3135ms--18848ms--45s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3049ms--18639ms--45s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3063ms--21631ms--47s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 2.65s--0.96s
30GB Volatile RAMDisk creation/unload time: 15.80s--1.00s

Path of Exile test: 1m21.16s

Noteworthy options:
Formats to different file systems don't persist on reboot.
Disk are not available directly after boot.

SuperSpeed RamDisk Plus
Memory allocation: Driver Locked

30GB (FAT32)

30GB (NTFS)

4GB results are very similar

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2633ms--18253ms--45s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2797ms--18810ms--45s
4GB RAMDisk:
Shutdown/Boot/Reboot: 4564ms--22242ms--79s (see notes)
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3171ms--19302ms--46s
30GB RAMDisk:
Shutdown/Boot/Reboot: 144572ms--32941ms--212s (see notes)

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 3.34s--1.96s
4GB RAMDisk image load/unload time: 26.37--35.98s (see notes)
30GB Volatile RAMDisk creation/unload time: 4.09s--2.73s
30GB RAMDisk image load/unload time: 2m48.72--2m59.79s (see notes)
Images are the size of the content in the RAMDisk they are associated to.
Empty images take as long to load as newly created ones.
When no changes are made to an image, save times are the same as when the whole disk has been written to.

Path of Exile test: 1m21.26s

Noteworthy options:
Loaded images are available as soon as the RAMDisk is created and before all the content is in memory. For my test I stopped the timer when disk I/O stopped.
Announces that the data has been successfully written to disk when it only has been dumped to memory (a power failure before Windows has finished writing the data would result in corrupt data and the time Windows give for Shutdown is misleading since even if everything has been unloaded and it's ready to shut down it still has to finish writing the backup to disk.). For my test I stopped the timer when disk I/O stopped.

VSuite Ramdisk Server
Memory allocation: Driver Locked

Direct-IO
30GB (FAT32)

30GB (NTFS)

4GB results were very similar
SCSI results were slightly slower

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 2814ms--19107ms--46s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2732ms--21586ms--48s
4GB RAMDisk:
Shutdown/Boot/Reboot: 27369ms--42153ms--94s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3091ms--150794ms--178s
30GB RAMDisk:
Shutdown/Boot/Reboot: 190556ms--315573ms--532s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 3.32s--0.85s (6.48s--1.94s for Direct-IO)
4GB RAMDisk image load/unload time: 26.74s--22.43s
30GB Volatile RAMDisk creation/unload time: 2m10.39s--1.01s
30GB RAMDisk image load/unload time: 5m05.79s--2m44.84s
Images are always the size of the RAMDisk they are associated to (on default settings)
Empty images take as long to load as full ones (on default settings)
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: 1m21.20s

Noteworthy options:
Quick Save mode, Quick Load move, Smart Mirror (only saves changes made to an image) and more that I haven't had time to look into.

WinRamTech (QSoft)
Memory allocation: Nonpaged Pool

30GB (FAT32)

30GB (NTFS)

4GB results were very similar

Shutdown/Boot times
No RAMDisk loaded:
Shutdown/Boot/Reboot: 3071ms--18240ms--45s
4GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 2975ms--23097ms--50s
4GB RAMDisk:
Shutdown/Boot/Reboot: 26930ms--47210ms--99s
30GB Volatile RAMDisk:
Shutdown/Boot/Reboot: 3281ms--22736ms--50s
30GB RAMDisk:
Shutdown/Boot/Reboot: 169279ms--208289ms--410s

Load/Unload times
4GB Volatile RAMDisk creation/unload time: 3.55s--0.95s (see notes)
4GB RAMDisk image load/unload time: N/A (see notes)
30GB Volatile RAMDisk creation/unload time: 3.79s--1.70s(see notes)
30GB RAMDisk image load/unload time: N/A (see notes)
Images are always the size of the RAMDisk they are associated to.
Empty images take as long to load as full ones.
When no changes are made to an image, unload times are the same as volatile disks.

Path of Exile test: 1m19.27s

Noteworthy options:
Only writes the changes made to an image.
Takes a long time to create the first image.
The only way to start/stop the RAMDisk is enable/disable it in Windows device manager.
Due to difficulties in managing multiple images, the results were not included
 
#3 ·
Summary and conclusion

Let's me start by saying that there s no perfect RAMDisks. Each has its strengths and flaws and whether those are relevant to you is highly dependent on how you decide to make use of the RAMDisk.
That being said, I'll try to objectively list the pros and cons of each software.

ArchiCrypt Ramdisk
Pros:
-Paid version offers encryption

Cons:
-Only available in German
-Slowest RAMDisk tested
-Slow response time
-IO/s don't scale with high queue depth
-Runs as a service (Save on shutdown might be interrupted by WaitToKillServiceTimeout)

Bond Disc
Pros:
-Free
-Excellent performance
-Has a lot of archival and encryption options
-Only writes the changes made to an image

Cons:
-Maximum size of 640MB
-Can only use a FAT filesystem
-Image Load/Save is relatively slow
-Unintuitive interface
-Development has stopped

Buffalo Ramdisk
Pros:
-Free

Cons:
-2nd slowest RAMDisk tested
-Can only use a FAT32 filesystem
-Require reboot to change RAMDisk size
-Hides the memory it uses from the OS
-IO/s don't scale with queue depth
-Can't change the backup location

Dataram RAMDisk
Pros:
-Good performance

Cons:
-Rewrites the whole image, even when no changes have been made
-Setting changes only apply after the RAMDisk has been unmounted

Gilisoft RAMDisk
Pros:
-Excellent performance

Cons:
-Extremely slow response time on random read/write
-IO/s don't scale with queue depth
-Can have problems creating very large image files
-I had problems creating a RAMDisk after removing one

Gizmo Drive
Pros:
-Free
-Good performance

Cons:
-No backup options
-Maximum size of 4GB
-Can only use a NTFS filesystem

ImDisk
Pros:
-Free
-Open source
-Good performance

Cons:
-Only manual backups

Passmark OSFMount
Pros:
-Free
-Good performance

Cons:
-Only manual backups

Primo Ramdisk Ultimate
Pros:
-Excellent performance
-Offers both SCSI and Direct-IO
-Only writes the changes made to an image
-Offers the most options of all the programs tested

Cons:
-Initial image takes a long time to create

RamPhantomEX
Pros:
-Good performance

Cons:
-Only available in Japanese

SoftPerfect RAM Disk
Pros:
-Free
-Excellent performance

Cons:
-Performance decreases on large RAMDisks
-IO/s don't scale with high queue depth
-Rewrites the whole image, even when no changes have been made

StarWind RAM Disk
Pros:
-Free
-Good performance

Cons:
-No backup options

SuperSpeed RamDisk Plus
Pros:
-Excellent performance

Cons:
-Rewrites the whole image, even when no changes have been made

VSuite Ramdisk Server
Pros:
-Excellent performance
-Good set of features

Cons:
-Slow creation speed for large RAMDisks
-Primo RAMDisk can do everything it does better and is cheaper

WinRamTech (QSoft)
Pros:
-Best performance of all the RAMDisk tested
-Only writes the changes made to an image

Cons:
-Initial image takes a long time to create
-Extremely difficult to manage more than 1 image, especially if they are of different sizes

Other considerations

FAT32 vs NTFS
FAT32
Pros:
-Faster
Cons:
-4GB maximum file size

NTFS
Pros:
-No file size limit
Cons:
-Doesn't scale well with high queue depth

SCSI vs Direct-IO
SCSI
Pros:
-Recognized by Windows Disk Management and almost all disk management utilities
-Can be used as a RAW drive by a Virtual Machine
Cons:
-Slower than Direct-IO

Direct-IO
Pros:
-Better performance than a SCSI disk (especially on accessing small files)
Cons:
-Treated as a logical disk (not visible to some disk management utilities)

Cluster size
Cluster size may have an impact on performance.
Cluster size smaller than 4k will hurt performance (since DRAM has a 4k cluster size)
Cluster size bigger than 4k may increase performance but will also increase wasted space

Bottlenecks
CPU: In most cases memory bandwidth will be limited by the speed of the CPU. There is no easy way to tell how much bandwidth the processor can handle, the only way to know for sure is to test it with a benchmark. That is because even with identical clocks this value will vary based on the processor architecture and memory controller, but as a general rule of thumb higher frequency result in more memory bandwidth.

RAM: Unlike with CPUs, it's very easy to determine the maximum memory bandwidth of DDR2/3. Simply multiply the memory frequency by 8 (since DDR2/3 transfers data on a 64bits wide bus) to get the peak transfer rate in MB/s. For single threaded application this will be your peak bandwidth. To determine the peak bandwidth for multi-threaded application you need to multiply the peak transfer rate by the number of memory channels your CPU supports (either 2, 3 or 4).

Now compare that value with the one you got for your CPU. If they are very close then your memory is likely limiting your memory bandwidth, otherwise your CPU is the bottleneck. This is useful information to have when trying to determine which product to buy to optimize your memory bandwidth. It can also help to get a better understanding of why Anvil's, ATTO and CrystalDiskMark report different results in certain cases.

ATTO and CrystalDiskMark use a single thread to determine a drive performance. So for example, with 1600MHz DDR3 those tool will never report speeds higher than 12.5GB/s for a RAMDisk. On the other hand, Anvil's use 4 thread for tests with a queue depth of 4 and 16 for those with a queue depth of 16 and therefore could report higher speed in those tests.
 
#5 ·
Here are the benchmarks that I was able to find that can detect Direct-IO disks.
All the test were done with WinRamTech 20GB NTFS RAMDisk with the rig in my sig but at stock (2.67GHz)

Anvil's Storage Utilities

Version: 1.0.51 RC6
Source: http://www.xtremesystems.org/forums/showthread.php?273661-Anvil-s-Storage-Utilities
Notes: Needs at least 1GB free to run

ATTO

Version: 2.47
Source: http://www.attotech.com/products/product.php?sku=Disk_Benchmark
Notes: Results over 4GB/s loops back, but still seem in line with other tools

CrystalDiskMark

Version: 3.0.2f
Source: http://crystalmark.info/software/index-e.html
Notes:

FDBench


Version: 1.02
Source: http://www.hdbench.net/ja/fdbench/
Notes: GUI can only display 6 digits (up to 1GB/s), but can copy the raw results

IOMeter

Version: 1.1.0
Source: http://www.iometer.org/
http://sourceforge.net/projects/iometer/
Notes: Still learning how to use it

PCMark 7

Version: 1.4
Source: http://www.futuremark.com/benchmarks/pcmark7
Notes:

I'll wait for some feedback before starting to test all the others RAMDisks.
In the meantime I'm interested in testing the effect of different file systems, RAM timings, RAM speed, hyperthreading off.
Maybe I'll try those same thing with Win8 to see if it makes any difference.
 
#6 ·
Sweet thread, I'll add it to the essentials when it is complete.
smile.gif
 
#7 ·
Quote:
Originally Posted by Sean Webster View Post

Sweet thread, I'll add it to the essentials when it is complete.
smile.gif
Thanks

Here are some test I will do to help me get a greater understanding of what affects RAMDisks performance.

Test 1: Remove the second set of memory modules
Predicted effet: None

Test 2: Increase memory timings to an unrealistic 20-20-20-2T
Predicted effect: Increased latency, same performance

Test 3: Only use 1x8GB 10-10-10
Predicted effect: Obviously this will decrease memory bandwidth, but since all RAMDisks seem to be single threaded it might not impact performance

Test 4: Switch out 3x8GB 10-10-10 for 3x2GB 7-7-7
Predicted effect: Decreased latency, same performance

Test 5: Increase RAM frequency
Predicted effect: Minimal performance difference
Note: From previous testing I found out that CPU speed was the primary bottleneck so I don't expect increasing the memory frequency will do much.

Test 6: Decrease RAM frequency to 800MHz
Predicted effect: Possibly move the bottleneck from the CPU to the memory. If CPU is still the bottleneck, results should remain similar
Note: I know CPU speed will bottleneck a RAMDisk speed, but I want to test if memory frequency can as well. So for this test I overclock my CPU in small increments until I either get to 4GHz or reach a memory bottleneck. If I don't reach a bottleneck I might try with 1x8GB.

Test 7: Disable Hypertreading (Back to original memory configuration)
Predicted effect: None

Test 8: Use different file systems (FAT/FAT32/NTFS/exFAT/UDF)
Predicted effect: Minimal performance difference

Test 9: Enable NTFS compression and/or indexing
Predicted effect: Minimal performance difference

Test 10: Use diffent operating system( XP, Vista, 7, 8)
Predicted effect: 7 and 8 should be similar. I expect XP to have the worst performance with vista somewhere in between.
Note: I'll probably do this in a VM
 
#8 ·
I'll only include the results from Anvil, ATTO and CrystalDisk from now on since I think they are the most representative. FDBench hasn't been updated in over 5 years, IOMeter seems like a dead project and PCMark 7 takes forever to run. I'll still mention the other if they had interesting results.
I also reduced the size of the RAMDisk to 4.125GB so that it would be the same for all the tests.

Test 1: Results are nearly identical.


Test 2: The maximum my BIOS would accept was 11-10-10-31-2N, so I went with that.
Latency went up but results stayed very similar.


Test 3: There was slightly more variations in those results, but they were still very much in line with the previous ones if only slightly slower.
Even in these less than ideal conditions memory doesn't appear to be the bottleneck. Testing with SiSoft Sandra, I still had 10GB/s of memory bandwidth. So it seems unlikely that memory bandwidth will ever but an issue.


Test 4: Latency went down ever so slightly but results stayed the same across the board.


Test 5: Well that didn't go has expected. I wasn't able to overclock my RAM, one of the stick kept dropping out. I might try again later with another set but for now I'll have to try to extrapolate the result of the next test to try to get an idea of the effect of higher memory frequency.

If anyone with 2400MHz+ memory would be willing to run this test I would be grateful.

Test 6: Memory was set at 5-5-5-18 @ 800MHz.
Performance went down across the board by around 5% but without the results from higher clocked memory it's hard to draw any conclusion from those results.


Since my 920 has a locked multiplier I wasn't able to overclock my CPU without also overclocking my RAM. As a result I was not able to test for a memory bottleneck.
But given the extreme effort one would have to make to cripple his machine in order to reach a memory bottleneck, I think it's safe to say that nobody needs to worry about it.

Test 7: Other than the CPU utilization predictably rising to 25%, results were nearly identical. Only FDBench gave me unexpected result with 20% faster copy. Hard to tell if this is due to a flaw in the program or something else.


Test 8: For this test I only ran Anvil, ATTO and CrystalDisk as the other either take too long to run or don't give any additional information.
NTFS seems to be slower than both FAT32 and exFAT when the queue depth gets above 4. Other than that the result where similar.

NTFS:


FAT32:


exFAT:


Test 9: This RAMDisk doesn't like NTFS compression at all. In both Anvil and ATTO reads were slashed in half and writes went down by an order of magnitude. Even with compressible data the result were still pretty bad. Only Crystal disk gave me results similar to the previous ones.


Test 10: I didn't have time to do tests with different OS, so instead I did some with my CPU at 3.8GHz.


So now that we can prove that processor speed is the main factor that determines a RAMDisk performance, I think I'm ready to start testing each program.
I'll probably have my CPU a 3.6GHz for these so that the differences in performance (if any) are more noticeable.

I still have the determine what settings I should use (RAMDisk size, file system, etc) for the tests to be fair.
So if you have any ideas about that or if you want me to test other things such as the boot speed when loading an image let me know.
 
#9 ·
I thought a little about how I'm going to test the RAMDisks and so far I've made certain decisions.

-I will only do test with FAT32 or NTFS (unless only FAT is possible in that case i'll use that) and I'll run Anvil, ATTO and crystaldisk on each.
-I'll do 2 sets of test. The first one will be with a disk size of 4GB (or whatever the max size is if lower). The second one will be a disk large enough to load a game (likely 20 to 30GB, let me know if you have any preference)(NTFS will be the default file system for this test with FAT32 as a backup)
-On the larger disk I'll probably try to test how fast game loads are. I'm not sure which games would be best suited for that, so if you have any idea let me know.
-I'll do boot speed test for those that allow to load an image at boot
-For those that allow more than 1 SCSI drive, I might try to raid them (performance decrease is likely)
-For those with backups I might try to hard format to another file system to see how it handles that

I'm open to suggestions, so if you have any test you would like me to run let me know.

I'll need to reinstall win7 before I start these test since my barebone install lacks many of the tools I'll need. I expect to start testing next week so that should give people some time to share their thoughts and give feedback.
 
#11 ·
#14 ·
Quote:
Originally Posted by Brokenstorm View Post

It's a rebrand of Dataram RAMDisk.

But thanks I'll add a note to it.
Thanks,good to know!
 
#15 ·
Ok, I came up with my first gaming test.

It consist of loading path of exile then use every waypoint of act 1 and 2. The timer stops when I load the last zone.
On a 7200RPM drive I get 2min50s
On a RAMDrive I get 1min20sec

I was going to load up D3 for the first time in over 6 months for this test but it turned out they were having a 6 HOURS maintenance. I mean wow, MMO don't even maintenance that long.
mad.gif
 
#16 ·
Quote:
Originally Posted by Brokenstorm View Post

Ok, I came up with my first gaming test.

It consist of loading path of exile then use every waypoint of act 1 and 2. The timer stops when I load the last zone.
On a 7200RPM drive I get 2min50s
On a RAMDrive I get 1min20sec
How long was it from cold boot to completing the test in each case?

Obviously running from a RAMDrive is going to have a huge performance boost, but if it takes an extra hour to set up & copy the files across to it after each boot it's not going to be popular. But if the softwares can cope with loading into RAM in the background so the difference in startup time is minimal for an eventual increase in speed that would be worth knowing about.

Basically - usability of each software is more of a concern than any raw speed differences (especially because I suspect any speed differences between the different ramdisks you will see will be irrelevant in real-world usage)
 
#17 ·
Quote:
Originally Posted by the_beast View Post

How long was it from cold boot to completing the test in each case?
I don't actually use the backup function right now because the RAMDisk I use makes it difficult to manage multiple images at the same time. But I'll absolutely include that in my tests.

What I do is install the games to the RAMDisk and then copy the folder to a 2TB backup drive. POE is about 5.5GB and it takes 30 second to copy from a 7200RPM drive.
 
#22 ·
Quote:
Originally Posted by Brokenstorm View Post

Well, I learned something today.
Out of memory + no pagefile = hard crash
mad.gif
yup lol
 
#23 ·
Quote:
Originally Posted by Brokenstorm View Post

Well, I learned something today.
Out of memory + no pagefile = hard crash
mad.gif
and this is why I don't understand why anyone would ever turn off the PF - there are no downsides to leaving it enabled, but you can see issues if you turn it off (but I don't really want to get into that debate again and derail this thread!)
 
#25 ·
Damn, I keep thinking of new things to test.
Like for the programs that just dump their content to memory on the RAMDisk save, they probably wouldn't if Write-caching was disabled on the backup drive.
I'm also curious if different cluster size would make any difference in performance.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top