List of RAM drive software

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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.
  • 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.
  • A few RAM drives allow the virtual drive to be used as the system swap file. This is a great way to utilize rarely used memory and speed up MS Windows.

Implementation[edit]

The main reason for using a RAM disk is to allow the use of physical memory that is 'inaccessible' to the Operating System - specifically the 760 MB or so in the 3.25 GB–4 GB 'gap' that 32-bit Windows XP refuses to use and any physical memory above the 4 GB address 'barrier' that is also not recognised by non-Server 32-bit versions of Windows XP. To make use of this memory, the usual approach is to set it up as part of the Windows 'swap file' Virtual memory space.

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.[3]

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. 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.[4]

Dataram RAMDisk[edit]

Dataram's RAMDisk is freeware (up to 4 GB disk size) and was originally developed and marketed by John Lajoie[5] 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 8, Windows 7, Windows Vista, Windows XP, Windows Server 2008, and Windows Server 2003.[6]

Dimmdrive Gaming RAMDisk[edit]

A RAMdisk built specifically for gamers which features real-time file-synchronization, Steam (software) integration, "USB3 Turbo Mode", as well as a method to directly give feedback and impact the continual development with the author. The interface was designed to support both technical and non-technical game enthusiasts.[7]

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).[8] 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.[9]

Gilisoft RAMDisk[edit]

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[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.[10]

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.[11]

QSOFT Ramdisk Enterprise[edit]

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 $25. 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.[12]

SoftPerfect RAM Disk[edit]

Available for Windows XP, 2003, 2008, Vista, 7 and 8. 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.[13] Free for non-commercial use. A commercial use license starts at $49, and discounts are offered for quantities over 5.[14]

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.

SuperSpeed RamDisk and RamDisk Plus[edit]

WHQL-tested and certified by Microsoft[15] 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[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. Non-free editions support x64 systems (including Windows 7 but not (as of Nov 2013) Windows 8). Free, $21 to $119 depending on features.

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.[16]

RAMDisk Sample for Windows 7/8[edit]

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

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 low memory pressure.[18] 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.

Linux[edit]

shm[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.[19]

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.[20]

There are 2 differences between tmpfs and ramfs.[21]
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

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 used in a ZFS pool.[22]

DOS[edit]

References[edit]

  1. ^ "AMD Radeon RAMDisk: How it works". Radeonmemory.com. Retrieved 2013-11-17. 
  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. ^ "ImDisk VDD website". Ltr-data.se. Retrieved 2013-11-17. 
  4. ^ "AMD Radeon RAMdisk Web page". Radeonmemory.com. Retrieved 2013-11-17. 
  5. ^ JLC, Inc. (January 1, 2001). "John Lajoie Consulting". 
  6. ^ "Official Dataram RAMDisk webpage". Memory.dataram.com. Retrieved 2013-11-17. 
  7. ^ "Official Dimmdrive webpage". Dimmdrive.com. Retrieved 2013-11-17. 
  8. ^ 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. 
  9. ^ "Sourceforge: Ramdisk plugin for Bart's PE Builder". Rramdisk.sourceforge.net. 2008-01-04. Retrieved 2013-11-17. 
  10. ^ "Arainia Solutions website". Arainia.com. Retrieved 2013-11-17. 
  11. ^ "OSFMount". osforensics.com. Retrieved 2013-12-30. 
  12. ^ QSoft RAMDisk becomes. "WinRamTech". 
  13. ^ "SoftPerfect RAM Disk". Softperfect.com. 
  14. ^ "RAM Disk pricing". SoftPerfect. 
  15. ^ "RamDisk - Microsoft Certified Software". Superspeed.com. 2013-10-15. Retrieved 2013-11-17. 
  16. ^ "ramdisk.sys". support.microsoft.com. January 2, 2012. 
  17. ^ "RAMDisk Storage Driver Sample". support.microsoft.com. April 2, 2014. 
  18. ^ "CreateFile Function". MSDN. October 15, 2010. 
  19. ^ "RapidDisk Project Website". 
  20. ^ "Creating a RAM disk with Linux". Prefetch.net blog. January 2, 2012. 
  21. ^ "Overview of ramfs and tmpfs on Linux". Thegeekstuff.com. November 1, 2013. 
  22. ^ "Playing with RAM disks on OpenSolaris 2009.06". Petroskoutoupis blog. July 22, 2009.