RAM Disk technology: Performance Comparison
Since every computer now has a volatile amount of available storage located in the RAM, when compared to other direct-access memory used for data storage, for example, hard disks, CD-RWs, DVD-RWs and the older drum memory, the amount of time used to read/write the data differs in correspondence to the physical location and/or the medium used for reading/recording (rotation speeds and arm movement) the data.
The implementation of RAM as a storage provides a list of benefits over other conventional devices, due to the fact of the data being read or written in the same amount of time irrespective of the physical location of data inside the volume. Taken into consideration all the information mentioned above, it would be a crime not to take advantage of the provided conditions.
Right now, the development of in-line memory modules that combine DDR3 dynamic memory with NAND flash memory to create non-volatile RAM for servers and storage arrays is taking place. Soon it will be possible to pair non-volatile DIMM cards with solid-state disks to extend the life and performance of the flash drives since DDR memory is much faster than the NAND memory used by SSDs, and it doesn’t have the limited number of “writes” that flash memory has. That being said, there is no information how soon we will see the result of the development in the form of NVDIMM RAM sticks on our shelves.
Until then, the technology on hand is based on the option of creating a RAM Disk in the form of a virtual disk drive using the capacity of the available amount of RAM. By storing any application in the RAM you will be granted with a significant performance increase.
In the process of selecting and comparing the software for the creation of a RAM disk, we chose 4 popular solutions that have a proven record of being helpful to users and are quite well known. There are free products, as well as shareware and paid versions:
High-performance RAM disk application that lets you create a disk on your computer that is entirely stored in its memory. SoftPerfect RAM Disk creates a virtual disk located in the computer RAM and accessible from any file manager as well as allowing you to store any temporary information on its volume.
Primo Ramdisk is the second generation of the VSuite Ramdisk product. As achieved by VSuite Ramdisk previously, Primo Ramdisk also provides a solution to speed up your computer by overcoming the existing hard disk bottleneck, allowing you to emulate hard disks by utilizing the available RAM.
StarWind RAM Disk takes a specified part of the RAM and creates a virtual storage device, which can then be usable as a disk volume with tremendous performance, offering a solution for test and development scenarios, troubleshooting cases or other niche deployments, where size and data volatility do not really matter.
OSFMount supports the creation of RAM disks, that are, basically, virtual disks mounted into RAM. This generally has a large speed benefit over an existing hard disk. This is useful for applications requiring high-speed storage access.
All the tests below were performed using Microsoft Diskspd tool https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223. An 1100 MB drive was created with the functionality of RAM disk software applications listed above. A couple of most common access patterns were chosen to monitor the storage performance under particular workload types.
We have selected the following patterns:
– 4K 100% Random Read
– 4K 100% Random Write
– 64K 100% Sequential Read
– 64K 100% Sequential Write
Test duration: 15 seconds
Test file size: 1 GB
Outstanding I/Os: 2
In order to possibly come as close to the common PC configurations, that are used all over the world, we performed our tests using computer specifications listed below:
CPU: Intel ® Core i5-4460 3,2GHz
RAM: 8 GB DDR3 1600MHz
HDD: WD Blue 1TB 7200rpm
OS: Microsoft Windows 8.1 x64
Following benchmark scope corresponding diskspd parameters were used:
4k 100% Random Read:
diskspd.exe -t2 -o2 -r -b4K -w0 -d15 -h -L -c1G
4k 100% Random Write:
diskspd.exe -t2 -o2 -r -b4K -w100 -d15 -h -L -c1G
64k 100% Sequential Read:
diskspd.exe -t2 -o2 -si -b64K -w0 -d15 -h -L -c1G
64k 100% Sequential Write:
diskspd.exe -t2 -o2 -si -b64K -w100 -d15 -h -L -c1G
To compare our test results with the performance of typical storage, we tested the underlying storage prior to testing the RAM disk.
After testing, our results were equal to the following:
Which is, definitely not the best performance known to man :-).
Next, we installed one RAM disk at a time and ran our test on it. Of course, in order to be clearer with the results, we restarted our system each time the new disk was specified.
After performing all of the remaining tests, we received the following results for:
SoftPerfect RAM Disk V4.0:
Primo Ramdisk V5.7.0:
StarWind RAM Disk V5.6:
Passmark OSFMount V1.5.1015:
Now we can compare a couple of diagrams and their benchmark values:
As we can see from the diagram above, SoftPerfect RAM disk shows best results on Random 4K blocks, while Primo gives us pretty poor performance compared to other software applications.
Talking about Sequential 64k blocks, results changed a bit. StarWind RAM disk takes the lead, showing us the best write speeds. Passmark goes significantly slower than other RAM disks, having half the performance in comparison with its competitors.
Summarizing all our results and technical details of each RAM disk software, SoftPerfect gives us overall higher performance but loses an advantage to StarWind in Sequential 64K blocks. In addition, StarWind RAM disk has no limitations on disk size, thus allowing you to use as much RAM for storage purpose, as your hardware can afford. Unfortunately, Primo RAM Disk shows quite poor performance and is limited by the disk size. OSFMount has some additional features included in the application but unexpectedly goes far behind in large sequential blocks.
Based on the results which we have received from the tests, it is quite clear to see that the RAM drive provides a significant performance boost in comparison to the underlying storage when comparing both, random as well as sequential I/O patterns.