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
Features
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.
- 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.
FreeBSD
md - memory disk
The md driver was written by Poul-Henning Kamp.[3] 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.[4]
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
shm
Modern Linux systems come pre-installed with a user-accessible ramdisk mounted at /dev/shm
.
RapidDisk
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.[5]
tmpfs and ramfs
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 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
Non-proprietary
ImDisk
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.[8]
ERAM
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
AMD Radeon RAMDisk
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
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
A RAMdisk built specifically for gamers which features real-time file-synchronization, Steam (software) 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.[12]
Gavotte RamDisk
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
RAMDisk software for Windows 2000/2003/XP/Vista/Windows 7 (x32 & x64) with simple setup, permits mounting-and-unmounting of RAMDisk images to/from drive-image-files, and automated/convenient startup/shutdown features, $25.
Gizmo Central
Gizmo Central is a freeware program that can create and mount virtual disk files. It also has the ability to create a RAM disk.[15]
Passmark OSFMount
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]
QSOFT ( WinRamTech ) Ramdisk Enterprise
A reliable RAM Disk compatible with all Windows Workstation and Server OS versions (32- and 64-bit) starting from Windows 2000. Prices vary from $9 to $11. 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, this ramdisk drive is already fully accessible at the bootstage where Services and automatically started programs are launched. New, full-featured evaluation versions are provided every 3 months which allow users to update their nearly expiring version. The development of this RAM Disk will end on 2017, August 1.[17]
SoftPerfect RAM Disk
Available for Windows XP, 2003, 2008, Vista, 7, 8 and 10. Can only access memory available to Windows (i.e. the RAM disk is limited to the same ca. 3.25 GB as the Windows 32-bit system). To use physical memory above 4 GB you must use a 64-bit system. Multiple RAM disks can be created, and these can be 'persisted' i.e. saved to, and restored from, a hard disk image. Note: Works well except for the special "Harddisk emulation" part tends to crash or become unstable when used with the updated windows 10 anniversary edition.[18] Home use licence is $29 (was free for non-commercial use before 11/05/2016). A commercial use license starts at $49, and discounts are offered for quantities over 5.[19]
StarWind Software Virtual RAM Drive Emulator
StarWind Software makes a freeware RAM disk software for mounting memory as actual drives within Windows. Both x86 and x64 versions exist. Note: They require a corporate email address, where they will send you the installer. The following email services will not work (Yahoo, Gmail, Etc.) Also the maximum size according to the provided .pdf documenation is 648MB. (noted here: https://www.starwindsoftware.com/technical_papers/StarWind_RAM_Disk.pdf)
SuperSpeed RamDisk and RamDisk Plus
WHQL-tested and certified by Microsoft[20] for 32 and 64-bit Windows XP, Vista, 7 & 8 (Win2000 is not supported). The basic version of RamDisk supports only a single drive in memory whilst the Plus version supports the use RAM both below and above the 4 GB limit in 32-bit Windows as well as multiple drives and other features including the loading and saving from and to a physical image file as well as advanced automated backup features. Basic $60, Plus $80 (Server versions, for business use, a lot more, depending on system hardware).
VSuite Ramdisk
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.[21]
Microsoft Source Code
Ramdisk.sys sample driver for Windows 2000
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.[22]
RAMDisk Sample for Windows 7/8
Microsoft provides source code for a RAM disk driver for Windows 7 and 8 [23]
Native
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.[24] 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
Ramdiskadm
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 used in a ZFS pool.[25]
DOS
- FreeDOS includes SRDISK
- MS-DOS 3.2 includes RAMDRIVE.SYS
- PC DOS 3.0 includes VDISK.SYS
- DR-DOS included VDISK.SYS
- Multiuser DOS included an automatic RAM disk as drive M:
References
- ↑ "AMD Radeon RAMDisk: How it works". Radeonmemory.com. Retrieved 2013-11-17. – invalid link !
- 1 2 3 "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.
- ↑ "md". www.freebsd.org. Retrieved 2016-06-24.
- ↑ "17.9. Memory Disks". www.freebsd.org. Retrieved 2016-06-24.
- ↑ "RapidDisk Project Website".
- ↑ "Creating a RAM disk with Linux". Prefetch.net blog. January 2, 2012.
- ↑ "Overview of ramfs and tmpfs on Linux". Thegeekstuff.com. November 1, 2013.
- ↑ "ImDisk VDD website". Ltr-data.se. Retrieved 2013-11-17.
- ↑ "AMD Radeon RAMdisk Web page". Radeonmemory.com. Retrieved 2013-11-17.
- ↑ JLC, Inc. (January 1, 2001). "John Lajoie Consulting".
- ↑ "Official Dataram RAMDisk webpage". Memory.dataram.com. Retrieved 2013-11-17.
- ↑ "Official Dimmdrive webpage". Dimmdrive.com. Retrieved 2013-11-17.
- ↑ 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.
- ↑ "Sourceforge: Ramdisk plugin for Bart's PE Builder". Rramdisk.sourceforge.net. 2008-01-04. Retrieved 2013-11-17.
- ↑ "Arainia Solutions website". Arainia.com. Retrieved 2013-11-17.
- ↑ "OSFMount". osforensics.com. Retrieved 2013-12-30.
- ↑ QSoft RAMDisk becomes. "WinRamTech".
- ↑ "SoftPerfect RAM Disk". Softperfect.com.
- ↑ "RAM Disk pricing". SoftPerfect.
- ↑ "RamDisk - Microsoft Certified Software". Superspeed.com. 2013-10-15. Retrieved 2013-11-17.
- ↑ https://www.romexsoftware.com/en-us/index.html
- ↑ "ramdisk.sys". support.microsoft.com. January 2, 2012.
- ↑ "RAMDisk Storage Driver Sample". support.microsoft.com. April 2, 2014.
- ↑ "CreateFile Function". MSDN. October 15, 2010.
- ↑ "Playing with RAM disks on Solaris 11.2". Open Storage & Virtualization Magazine. February 14, 2015.