List of RAM drive software

RAM drive software allows part of a computer's RAM (memory) to be seen as if it were a disk drive, with volume name and, if supported by the operating system, drive letter. A RAM drive has much faster read and write access than a hard drive with rotating platters, and is volatile, being destroyed with its contents when a computer is shut down or crashes[1]—volatility is an advantage if security requires sensitive data to not be stored permanently, and to prevent accumulation of obsolete temporary data, but disadvantageous where a drive is used for faster processing of needed data. Data can be copied between conventional mass storage and a RAM drive to preserve it on power-down and load it on start-up.

Overview

edit

Features

edit

Features that vary from one package to another:

  • Some RAM drives automatically back up contents on normal mass storage on power-down, and load them when the computer is started.[2] If this functionality is not provided, contents can always be preserved by start-up and close-down scripts, or manually if the operator remembers to do so.
  • Some software allows several RAM drives to be created; other programs support only one.[2]
  • Some RAM drives when used with 32-bit operating systems (particularly 32-bit Microsoft Windows) on computers with IBM PC architecture allow memory above the 4 GB point in the memory map, if present, to be used; this memory is unmanaged and not normally accessible.[2] Software using unmanaged memory can cause stability problems.
  • Specifically in IBMPC based 32-bit operating systems, some RAM drives are able to use any 'unmanaged' or 'invisible' RAM below 4 GB in the memory map (known as the 3 GB barrier) i.e. RAM in the 'PCI hole'. Note: Do not assume that RAM drives supporting 'AWE' (or Address Windowing Extensions) memory above 4 GB will also support unmanaged PAE (or Physical Address Extension) memory below 4 GB—most don't.

md – memory disk

edit

This driver provides support for four kinds of memory backed virtual disks: malloc, preload, vnode, swap. Disks may be created with the next command line tools: mdconfig and mdmfs. An example of how to use these programs follows.[3]

To create and mount memory disk with mdmfs:

# mdmfs -F newimage -s 5m md0 /mnt

To create and mount memory disk with mdconfig:

# mdconfig -a -t swap -s 5m -u 0
# newfs -U md0
# mount /dev/md0 /mnt

To destroy previously created disk:

# umount /mnt
# mdconfig -d -u 0

Linux

edit

Modern Linux systems come pre-installed with a user-accessible ramdisk mounted at /dev/shm.

RapidDisk

edit

RapidDisk is a free and open source project containing a Linux kernel module and administration utility that functions similar to the Ramdiskadm of the Solaris (operating system). With the rxadm utility, the user is capable of dynamically attaching, removing, and resizing RAM disk volumes and treat them like any other block device.[4]

RAMDisk

edit

Free and open-source utility that allows using RAM as a folder.[5]

tmpfs and ramfs

edit

An example of how to use tmpfs and ramfs in a Linux environment is as follows:

$ mkdir /var/ramdisk

Once the mount point is identified the mount command can be used to mount a tmpfs and ramfs file system on top of that mount point:

$ mount -t tmpfs none /var/ramdisk -o size=28m

Now each time /var/ramdisk is accessed all reads and writes will be coming directly from memory.[6]

There are 2 differences between tmpfs and ramfs.[7]
1) the mounted space of ramfs is theorically infinite, as ramfs will grow if needed, which can easily cause system lockup or crash for using up all available memory, or start heavy swapping to free up more memory for the ramfs. For this reason limiting the size of a ramfs area can be recommendable.
2) tmpfs is backed by the computer's swap space

There are also many "wrappers" for the RAM disks for Linux as Profile-sync-daemon (psd) and many others allowing users to utilize RAM disk for desktop application speedup moving intensive IO for caches into RAM.

Microsoft Windows

edit

Non-proprietary

edit

ImDisk

edit

ImDisk Virtual Disk Driver is a disk image emulator created by Olof Lagerkvist. It is free and open-source software, and is available in 32- and 64-bit variants. It is digitally signed, which makes it compatible with 64-bit versions of Microsoft Windows without having to be run in Test mode. The 64-bit version has no practical limit to the size of RAM disk that may be created.

ImDisk Toolkit is a third-party, free and open-source software that embeds the ImDisk Virtual Disk Driver and adds several features.[8]

ERAM

edit

ERAM is an open source driver that supports making a drive that is up to 4 GB of the total amount of RAM, uses paged/ non-paged memory and supports backing up the drive to an image. It works on Windows XP/ NT/ 2000/ 7/ 10 (32 and 64-bit). Its driver and source code can be found by going to https://github.com/Zero3K/ERAM.

Proprietary

edit

AMD Radeon RAMDisk

edit

AMD Radeon RAMDisk is available in free versions (RAM drive up to 4 GB, or 6 GB with AMD memory), and commercial versions for drives up to 64 GB. The free version is 'advertising supported'. Creates only a single drive (does not support multiple RAM drives). Can be backed up periodically to hard drive, and automatically loaded when the computer is started. AMD Radeon RAMDisk is a rebranded version of Dataram RAMDisk.[9]

Dataram RAMDisk

edit

Dataram's RAMDisk is freeware (up to 1 GB (reduced from 4 to 1GB - per October 2015 site visit) disk size) and was originally developed and marketed by John Lajoie[10] through his private consulting company until 2001, when he sold his rights to Cenatek, before being acquired by Dataram. RAM disks larger than 4 GB require registration and a USD $18.99 single-user license. When purchasing physical RAM from Dataram, the RAMDisk license is provided free of charge. (Per DATARAM Government Sales on 4/25/2014, this is no longer the case.) Compatible with all 32-bit and 64-bit versions of Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2008, and Windows Server 2003.[11]

Dimmdrive RAMDisk

edit

A RAMdisk built specifically for gamers which features real-time file-synchronization, Steam integration, "USB3 Turbo Mode". The interface was designed to support both technical and non-technical game enthusiasts. Cost is $29 at Dimmdrive.com and $30 on Steam. ($14.99 on Steam as of 2018) [12]

Gavotte RamDisk

edit

Can use Physical Address Extension to create a virtual disk in memory normally inaccessible to 32-bit versions of Microsoft Windows (both memory above the 4 GB point, and memory in the PCI hole).[13] There is also an open source plugin that replaces the RAM drive on Bart's PE Builder with one based on Gavotte's rramdisk.sys.[14]

Gilisoft RAMDisk

edit

RAMDisk software for Windows 2000/2003/XP/Vista/Windows 7 (x32 & x64)/Windows 10 with simple setup, permits mounting-and-unmounting of RAMDisk images to/from drive-image-files, along with automated/convenient startup/shutdown features, $25[citation needed].

Gizmo Central

edit

Gizmo Central is a freeware program that can create and mount virtual disk files. It also has the ability to create a RAM disk up to 4GB in size as Gizmo is a 32 bit program.[15]

Passmark OSFMount

edit

Passmark's OSFMount supports the creation of RAM disks, and also allows you to mount local disk image files (bit-for-bit copies of a disk partition) in Windows with a drive letter. OSFMount is a free utility designed for use with PassMark OSForensics.[16]

Primo Ramdisk

edit

Romex Software Providing a fancy interface which is working with all windows environments from (XP to windows 10) and all windows servers editions from (2003 to 2019 currently) supports up to 128 Disks up to 32GB for Pro Version and 1TB for Ultimate and Server editions, supports to use invisible Memory in 32bit versions of windows, with saving at shut down or hibernate, Paid and trial versions available [17]

SoftPerfect RAM Disk

edit

Available for Windows 7 to 11, or Windows Server from 2008 R2 to 2022; 32/64-bit x86 or 64-bit ARM. SoftPerfect RAM Disk can access memory available to Windows, i.e. on 32-bit systems it is limited to the same 4 GB as the 32-bit Windows itself, otherwise for physical memory beyond 4 GB it must be installed on 64-bit Windows. Multiple RAM disks can be created, and these can optionally be made persistent by automatically saving contents to and restoring from a disk image file.[18] Version 3.4.8 and earlier didn't require a license for home (non-commercial) users.[19]

StarWind Software Virtual RAM Drive Emulator

edit

StarWind Software makes a freeware RAM disk software for mounting memory as actual drives within Windows. Both x86 and x64 versions exist.

Ultra RamDisk

edit

RAMDisk software which can also mount various CD images formats, like iso, ooo, cue, ccd, nrg, mds, img.[20] The application has two versions, paid and free where the latter allows to create a single ram disk up to 2GB in size.[21]

VSuite Ramdisk

edit

The Free Edition (limited to Windows 32-bit Win2000 / XP / 2003) is able to use 'invisible' RAM in the 3.25 to 4 GB 'gap' (if your motherboard has i946 or above chipset) & is also capable of 'saving to hard disk on power down' (so, in theory, allows you to use the RAM disk for Windows XP swap file and survive over a 'Hibernate'). Whilst the free edition allows multiple RAM disk drives to be set up, the total of all drives is limited to 4096 MB. The current version, VSuite Ramdisk II, has been rebranded as 'Primo Ramdisk', all versions of which are chargeable.[22]

WinRamTech (QSoft) Ramdisk Enterprise

edit

An affordable RAM Disk compatible with all Windows Workstation and Server OS versions (32- and 64-bit) starting from Windows 2000. The content of the RAM Disk can be made 'persisted' i.e. saved to an image file on the hard disk at regular times and/or at shutdown, and restored from the same image file at boot time. Because of the built-in disk format routines and the built-in load of the image file, the ram disk drive is already fully accessible at the boot stage where Services and automatically started programs are launched. Concurrent running benchmarks of two ram disks at the same time reveal that this ram disk is almost the fastest. Although the development of this ram disk has ended in 2017, version 5.3.2.15 runs on Windows 10/11 and by this, may still be purchased. The free 64bit 256 MB restricted evaluation version never expires. The company provides OEM personalized 64-bit 5.3.2.15 versions for Windows 10/11 ( unlimited site license ) [23]

Microsoft source code

edit

Ramdisk.sys sample driver for Windows 2000

edit

Microsoft Windows offers a 'demonstration' RAM disk for Windows 2000 as part of the Windows Driver Kit. Limited to using the same physical RAM as the operating system. It is available as free download with source code.[24]

RAMDisk sample for Windows 7/8

edit

Microsoft provides source code for a RAM disk driver for Windows 7 and 8 [25]

Native

edit

Windows also has a rough analog to tmpfs in the form of "temporary files". Files created with both FILE_ATTRIBUTE_TEMPORARY and FILE_FLAG_DELETE_ON_CLOSE are held in memory and only written to disk if the system experiences high memory pressure.[26] In this way they behave like tmpfs, except the files are written to the specified path during low memory situations, rather than to swap space. This technique is often used by servers along with TransmitFile to render content to a buffer before sending to the client.

Solaris

edit

Ramdiskadm

edit

Ramdiskadm is a utility found in the Solaris (operating system) to dynamically add and destroy ramdisk volumes of any user defined sizes. An example of how to use ramdiskadm to add a new RAM disk in a Solaris environment is as follows:

$ ramdiskadm -a ramdisk1 100m

To destroy the RAM disk:

$ ramdiskadm -d ramdisk1

All created RAM disks can be accessed from the /dev/ramdisk directory path and treated like any other block device; that is, accessed like a physical block device, labeled with a file system and mounted, to even be used in a ZFS pool.[27]

References

edit
  1. ^ "AMD Radeon RAMDisk: How it works". Radeonmemory.com. Archived from the original on 2013-10-12. Retrieved 2013-11-17. – invalid link !
  2. ^ a b c "AMD Radeon RAMDisk FAQ: "Q: Can RAMDisk use memory not available or seen by 32-bit Windows? A: RAMDisk cannot make use of memory that is not available in 32-bit Windows systems between 3 and 4 GB. [Commercial] RAMDisk can use memory not "seen" by 32-bit Windows ABOVE 4 GB". Radeonmemory.com. Retrieved 2013-11-17.
  3. ^ "17.9. Memory Disks". www.freebsd.org. Retrieved 2016-06-24.
  4. ^ "RapidDisk Project Website".
  5. ^ "RAMDisk Project Website". github.io.
  6. ^ "Creating a RAM disk with Linux". Prefetch.net blog. January 2, 2012.
  7. ^ "Overview of ramfs and tmpfs on Linux". Thegeekstuff.com. November 1, 2013.
  8. ^ "ImDisk Toolkit website". Retrieved 2017-09-08.
  9. ^ "AMD Radeon RAMdisk Web page". Radeonmemory.com. Retrieved 2013-11-17.
  10. ^ JLC, Inc. (January 1, 2001). "John Lajoie Consulting".
  11. ^ "Official Dataram RAMDisk webpage". Memory.dataram.com. Retrieved 2013-11-17.
  12. ^ "Official Dimmdrive webpage". Dimmdrive.com. Archived from the original on 2013-11-12. Retrieved 2013-11-17.
  13. ^ Homepage of Jens Scheffler (2012-06-30). "How to use full 4 GB RAM in Windows 7 32 Bit (Gavotte RAMDisk in Windows 7)". Jensscheffler.de. Retrieved 2013-11-17.
  14. ^ "Sourceforge: Ramdisk plugin for Bart's PE Builder". Rramdisk.sourceforge.net. 2008-01-04. Retrieved 2013-11-17.
  15. ^ "Arainia Solutions website". Arainia.com. Retrieved 2013-11-17.
  16. ^ "OSFMount". osforensics.com. Retrieved 2013-12-30.
  17. ^ Romexsoftware. "Primo RamDisk".
  18. ^ "SoftPerfect RAM Disk". SoftPerfect.com.
  19. ^ Change Log; SoftPerfect.com
  20. ^ "Ultra RAMDisk - About". ultraramdisk.com. Retrieved 2020-01-14.
  21. ^ "Ultra RAMDisk - FAQ - Pro / Lite Edition What is the difference?". ultraramdisk.com. Retrieved 2020-01-14.
  22. ^ "Romex Software - High-Performance Storage Solutions & Computer Speed-Up Solutions".
  23. ^ QSoft RAMDisk becomes. "WinRamTech".
  24. ^ "ramdisk.sys". support.microsoft.com. January 2, 2012.
  25. ^ "RAMDisk Storage Driver Sample". support.microsoft.com. April 2, 2014.
  26. ^ "CreateFile Function". MSDN. October 15, 2010.
  27. ^ "Playing with RAM disks on Solaris 11.2". Open Storage & Virtualization Magazine. February 14, 2015. Archived from the original on April 3, 2015.
edit