back to main page ...
HOT
& announcements ...

RAMDisk "Enterprise" for Windows 2000 / XP / Server 2003 / Vista / Server 2008 / Windows 7




Environment : 32-bit / 64-bit Versions of Windows 2000 / XP / Server 2003 / Vista / Server 2008 / PE

Current Version : 5.3.1.11 ( Last Update : 2009/04/17 )




About this RAMDisk product ...

The RAMDisk "Enterprise" is based on the proven technology of its predecessor "RAMDisk Pro 5.2.10.2" , praised for its stability and reliability. The Enterprise covers following features :

_
One unique 32-bit version that runs on all 32-bit versions of Windows 2000 , XP , Server 2003/2008 and Vista ( monoprocessor or multiprocessor )
_
One unique 64-bit version that runs on all 64-bit versions of Windows XP , Server 2003/2008 and Vista ( monoprocessor or multiprocessor )
_
Auto formatting to FAT12 , FAT16 , FAT32 or NTFS / NTFS with compression
_
Auto resizing to the maximal available ( or allowed ) ramdisk size
_
Comprehensive fine tuning of the available memory to balance maximal ramdisk size against OS stability
_
Easy to use and to configure from within the device tree of Device Manager

The RAMDisk Enterprise brings also powerful features such as :

_
Increased ramdisk sizes, theoretically to up to 64 GB using PAE and if supported by the OS. ( The /PAE switch may be needed in boot.ini on systems that use more than 4 GB physical RAM ).
_
Ability to load a raw disk image to format and populate the ramdisk at driver initialization ( load speed : ~ 30 sec/GB using an image stored on a mode 4 IDE ATA HD with a 1.2 Ghz processor ).
_
Ability to save the content to a raw disk image at shutdown and at regular intervals or at particular times.
_
No conflicts with other, existing RAMDisk software on the market. The RAMDisk Enterprise can be installed together with any other ramdisk, provided that the ramdisks can allocate their appropriate free space in the RAM memory.





To try out and/or to purchase a Single User License , go to the Evaluation Download and Purchase   page.

Remarks :

People that are interested to use the Enterprise Version 5.3.1.* within PE ( Microsoft PE or BartPE ) may download RAMDriv_5.3.1.X_PE.zip. Details can be read in RAMDriv_5.3.1.X_PE.txt within the ZIP file. The ZIP contains also evaluation plugins for both Windows PE and BartPE. Take also a look at this 911CD forum topic.




Description :

[ pictures and description are subject to change ]

This software consists of a RAM disk driver ( RAMDriv.sys ), an Installer/Property sheet provider ( RAMDriv.dll ) and an installation file ( RAMDriv.inf ) which form together a via "Add Hardware" Wizard installable RAM disk on Windows 2000 , Windows XP , Server 2003/2008 and Vista. The RAM Disk size , drive letter , file system format and many other settings can be controlled within the RAM Disk "Device Properties" via the Windows "Device Manager". New values may become active without a reboot.


1. How to install/remove/update it ....


To install the driver on Windows 2000 :

1.  In Control Panel, double-click to start the Add/Remove Hardware utility.
2.  Select Add/Troubleshoot a device.
3.  Select Add a new device.
4.  Select No, I want to select the hardware from a list.
5.  Select Other devices , and then click Next.
6.  Select Have Disk button and navigate to the ENG , FRE or GER subfolder that contains the RAMDriv.inf
     file for the respective English , French or German version of the ramdisk.

To install the driver on Windows XP / Windows Server 2003 :

1.  In Control Panel, double-click to start the Add/Remove Hardware utility.
2.  Select Add a new hardware device.
3.  Select Yes, I have already connected the hardware. Click Next.
4.  Select Add a new device.
5.  Select Install the hardware that I manually select from a list. Click Next.
6.  Select Show All Devices.
7.  Select Have Disk button and navigate to the ENG , FRE or GER subfolder that contains the RAMDriv.inf
     file for the respective English , French or German version of the ramdisk.
8.  Select Next , Next , Finish.

To install the driver on Vista / Windows Server 2008 :

1.  In Control Panel, double-click the Add Hardware icon to start the wizard. Click Next
2.  Select Install the hardware that I manually select from a list. Click Next.
3.  Select Show All Devices. Click Next
4.  Select Have Disk button and navigate to the ENG , FRE or GER subfolder that contains the RAMDriv.inf
     file for the respective English , French or German version of the ramdisk. Push OK.
5.  Select Next , Next , Finish.

To install the driver on Windows 7 :

1.  Go to "Device Manager" via "System Properties".
2.  Select the Computer name icon ( upper node ) , and click on the icon with the right mouse button.
3.  Select and push the "Add legacy hardware" button.
4.  Select "Install the hardware that I manually select from a list". Click Next.
5.  Select "Show All Devices". Click Next
6.  Select "Have Disk button" and navigate to the ENG , FRE or GER subfolder that contains the RAMDriv.inf
     file for the respective English , French or German version of the ramdisk. Push OK.
7.  Select Next , Next , Finish.

Let reboot the PC if Windows asks for it. Note that this may not always be the case. It is highly recommended however to reboot the system before installing the ( same or other ) RAMDisk version again.



Use "Device Manager" to uninstall ( remove ) the driver on Windows 2000 / XP / Server 2003 / Server 2008 :

1.  Select System ( Properties ).
2.  Within System Properties, select "Hardware" and push the "Device Manager" button.
3.  Expand "RAM Drive", select "RAMDrive [ Qsoft ] Enterprise" and click the right mouse button.
4.  Select "Uninstall..." and follow the instructions.
5.  Let reboot the PC.



Use "Device Manager" to update the ramdisk :

1.  Select System ( Properties ).
2.  Within System Properties, select "Hardware" and push the "Device Manager" button.
3.  Expand "RAM Drive", select "RAMDrive [ Qsoft ] Enterprise" and click the right mouse button.
4.  Select "Update Driver..." .
5.  Within the Hardware Update Wizard , select "No , not this time". Push Next.
6.  Select "Install from a list ... (Advanced)".
7.  Select "Don't search , I will choose....".
8.  Select "Have disk..." and navigate to location where you have expanded the ramdisk installation files on your hard disk.
     Select the wished ramdriv.inf file.
9.  Click OK , then "Next".

Notice that the update may take a time. Do not interrupt the run and do reboot if the OS asks to do so.

On Windows 2000, the Device Manager can be reached via "My Computer --> Properties --> Hardware". Device Manager can also be started directly by means of following command :
%Systemroot%\System32\mmc.exe %Systemroot%\System32\devmgmt.msc /s.
Or you may download and use this shortcut within DeviceManager.shortcut.zip


2. How to control/personalize your settings ....

Open "Device Manager" and open the "RAMDisk Property Page" :

1.  Select System ( Properties ).
2.  Within System Properties, select "Hardware" and push the "Device Manager" button.
3.  Expand "RAM Drive", select "RAMDrive [ Qsoft ] Enterprise" and click the right mouse button.
4.  Select "RAM Disk Properties".

You may download RAMDrivProperties.exe. Running this small help program will popup directly the RAMDisk Properties without having to navigate through the Device Manager.


figure 1 :


(1) :
Drive Letter, allows to select a drive letter to be used for the ramdisk.

(2) :
Disk Size, allows to select a disk size if "Auto Resize" is not selected. When "Auto Resize" is selected, this control is grayed and the displayed disk size value corresponds to the automatically obtainable maximum value.

(3) :
Allows to activate the "Auto Resize" functionality. "Auto Resize" will be executed in steps of 32 MB. If less than 32 MB free memory is available ( or permitted to use ) to setup the ramdisk memory , "autoresizing" will fail. The percentage value displayed within the button text is automaticaly adapted to the amount of "Allowed" "System" and "Resident" slider settings (5) (6).

(4,5)-(7,8)-(10) :
Allows to configure the amount of allowed/reserved memory of type "locked" or "resident". Control buttons (7) and (8) allow to select if the corresponding type of memory may be used by the driver or not. When selected, the sliders used to adjust the memory usage for that type of memory, become visible, but only if the RAMDisk driver has retrieved the necessary information i.e. after reloading the ramdisk driver ( after pushing the OK button). The amount of displayed "ticks" corresponds to the amount of free chunks of 32 MB memory of this type. One can easily obtain the value of the total amount of memory by moving ( one of ) the slider(s) to the full right position and read the number of MB's displayed at the right position of the slider control. Moving the slider within the "Allowed" range configures the ramdisk to use only a certain amount of memory of this type. The displayed number at the right position of the "Allowed" slider is hereby synchronized for readability. The "marker" ( triangle ) within this slider corresponds to the amount of 32 MB chunks that the driver should "reserve" for the OS ( exclude from being used ) controlled by means of slider (10) ( "Reserved" ). The position from the "marker" moves from right to left when the amount of 32 MB "reserved" chunks increases, thus when moving the "Reserved" slider from left to right. A "green bar" displays the real used amount of memory by the ramdisk with the same scale as the "Allowed" slider , i.e. relative to the total amount of free chunks that the RAMDisk could find for this type of memory.

The configuration of the "Locked" memory type is disabled for the 64-bit version.

(6,9) :
Allows to configure the amount of allowed/reserved memory of the "system" memory type. The amount of the displayed "ticks" corresponds to the amount of free chunks of 32 MB memory of this type. This amount of "ticks" are the same as the amount of "red" blocks within the memory map [ see (12) ] augmented with the amount of free 32 MB blocks that were found above the 4 GB boundary of the PC's physical RAM. One may obtain the value of the total amount of memory that corresponds to this amount of "ticks" by moving slider (6) to the full right position and read the number of MB's displayed at the right position of this slider control. Moving the slider within the "Allowed" range configures the ramdisk to use only a certain amount of memory of this type. The displayed number at the right position of this "Allowed" slider is hereby synchronized for better readability. A "green bar" displays the real used amount of memory by the ramdisk with the same scale as the "Allowed" slider , i.e. relative to the total amount of free chunks that the RAMDisk could find for this type of memory.

(12) :
Map of the present, used and excluded chunks of 32 MB "system" memory within the first 4 GB of physical RAM of the PC. Each line counts 32 dots that all together represent the memory usage within one 1 GB. Each dot represents a block of 32 MB whose starting physical addresses increase from left to right, i.e. the first dot of the first line represents the memory starting a address "zero", the second dot on this line represents the memory starting at address 0x02000000 ( or 33554432 = 32 MB ), and so on. The "grey" ( transparent ) dots represent memory allocations that are not present on the system i.e. when the system has less than 4 GB on board. The "yellow" dots represent memory blocks that are not in use by the ramdisk, i.e. they are occupied by the OS or other software or they were not selected. The "black" dots represent the chunks that were "excluded" to be used by the ramdisk. Those chunks may be in use by the OS ( or programs ) or may be free. One can "exclude/include" a particular chunk by clicking on the dot with the left mouse button. The color will change accordingly. The "red" dots represent the chunks that are in use by the ramdisk. The amount of "excluded" 32 MB banks ( equal to the amount of "black" dots ) is displayed at (11).

IMPORTANT : a "red" dot does not mean that the complete chunk is in use by the ramdisk; it means that an particular block of memory "starts" within this red marked block of memory. As per consequence, the memory of the used chunk may overlap the block of memory that follows the red marked block, even if this block that follows is yellow or gray colored. If one must preserve a complete chunk from being used, the chunk that precedes must be marked "excluded" too.

(13) :
File System Format. NTFS, FAT16 or FAT32 may be selected if the disk size allows it :

- FAT : the disk size must be less than 2GB to allow the FAT16 format.
- FAT32 : the disk size must be at least 64 MB and less than 4GB to allow the FAT32 format.
- NTFS : the disk size must be at least 8 MB.

(14,15) :
"Compress Drive" (14) selects an NTFS volume to be compressed or not.
"Indexing Service" (15) selects if the Indexing Service is allowed to scan the ramdisk.
Notice that selecting/deselecting the "disk compression" and/or "indexing service" becomes active only after pushing the OK button.

(16) :
Selectable Volume ID.

(17) :
Selectable Volume Name.

(18) :
Displays the actual image file loaded by the ramdisk. The ramdisk image file is selected by means of the RAMDiskImage utility. See (19).

(19) :
Upon pushing this button, the RAMDiskImage utility is started , which on its turn allows to configure , among others , the "load content from" and "save content to" an image file functionality of the ramdisk.

(20,21) :
Displays the characteristics of the selected Image File. These characteristics are displayed after an image file was successfully loaded by the ramdisk driver. If the Ramdisk did not load an image file or the image file is not valid , a dotted line is displayed.

The displayed text at (21) will change depending on image file usage and type. This text will vary from "Extended Image in use" to "Compatible Image in use". See description of the RAMDiskImage utility for more details about these types of image files.

REMARK : When an Image File has been successfully loaded by the ramdisk , the characteristics that are propagated to the OS reflect those that are stored in the bootsector of the Image File. These characteristics are retrieved during the load of the Image File , they will not change when the user re-formats the ramdisk drive during operation by means of a formatting program. It is also not possible to change the "Disk Size " , "Format" and related settings , "Volume Name" and "Volume ID" by means of the Controls in the Properties Window. If the user wants to change these settings , he has to change these values in the same manner he would do this for ordinary hard disks. Those changes must be written to the Image File if he want to save them for the next reload of the ramdisk or after a reboot.

Notice that an Image File can only be loaded successfully ,when the selected "Disk Size " value (2) is bigger or equals the disk size value that is stored in the bootsector of the Image File.

(22) :
This button will automatically be selected when the ramdisk driver must reload before the changes made by the user will become active. If the user de-selects that button before he pushes the OK button , the changes are written to the registry , but the ramdisk itself will remain working with the previous settings until the user reloads the ramdisk or until reboot.

(23) :
Select this button when the MMX instruction-set should be used to copy data from/to the ramdisk memory. This control is only available on the 32-bit version of the RAMDisk.



REMARKS :

When the RAMDisk did succesfully load an image file , some controls are "grayed". This should notify the user that the ramdisk characteristics such a drive size , format , ... , are directly read from the image file and override the configuration values. Part of the disk characteristics that are stored in the image file , are displayed in (20).


The RAMDisk installs with "default" slider settings for used and "excluded" ( reserved ) memory. In almost cases, those default settings will guarantee an optimized usage of the available memory and should never be changed. Assuming that the user of the RAMDisk accepts support, changing these settings should be performed after consultation.

Including and/or excluding some types of memory to be used may in fact bring the OS into a less stable condition. For now, all known situations that may lead to instability are alerted by means of a "red bulb" ( picture 2 ). This alert may appear when sliders are moved or "system" dots are manipulated.

figure 2 :



As per default, the RAMDisk will use 32 MB of type "Resident" memory. It is NOT recommended to exclude all, or allow less memory of this type to be used. When the RAMDisk may not use this type of memory, it will revert to the use of so called "non cached" for the first chunk of 32 MB. Using "non cached" may however drastically decrease performance on some processor systems due to increased processor memory cache flushes.


Although possible to configure, one should NOT allow to use "Locked" memory on the Windows 2000 OS's for stability reasons. Use of "Locked" memory will also decrease the obtainable amount of "System" memory on all Windows OS's. "Locked" memory is only meant to be used on special configurations.


Intensively use of "System" memory ( especially with "Auto Resize" enabled ), may cause malfunctioning of Video Cards, Sound Cards , TV capture cards , MPEG decoder cards , ... In general , this may be solved by decreasing the RAMDisk size. In case of fixed address ranges used by those cards, one may solve these problems by excluding these particular address ranges in the "System" allocation map (12).



3. How to use an Image File to populate the ramdisk content at load time....

The "Enterprise" is able to read an image file and load its content into the ramdisk memory at boot time. The ramdisk has also the ability to interpret the bootsector of the image file and propagate its parameters to the OS. This allows the user to load any pre-prepared image made from any disk ( ramdisk or hard disk ) as long as the image file is smaller then or equal to the selected ramdisk size.

The "Enterprise" RAMDisk driver itself is able to save all changed ramdisk content to an image file at driver unload. The ramdisk unloads :

- after pushing the OK button within the "RAMDisk Properties Panel"
- when disabling the ramdisk
- at shutdown of the system.

A simple "RAMDiskImage.exe" utility is used to create and select an image file and to select whether the ramdisk should load the content from an image file and/or save the content to an image file. This utility can also be configured to take care of the backup of the ramdisk at particular times or at a particular interval. The program communicates with the ramdisk driver to know if new data was written to the ramdisk since the last ( previous ) backup run , thus only changes will be written to the image file.

The program is copied during installation into the %Systemroot%\System32 directory, which allows it to be called from within the RAMDisk Properties Window ( See figure 1 - (19) ) or from within a CMD window by entering "ramdiskimage".

The "RAMDiskImage.exe" utility will navigate the user through the "ImageFile configuration" by means of prompting : depending on the current configuration , the user may decide in more detail how to proceed by answering the questions that are displayed in the "Message Board" window (12).

figure 3 :

(1,9) :
By pushing the "Select Folder" button, the user is asked to navigate to a folder and to enter an "image file" name. The final result will be displayed in (1). The user may also enter the full path within (1), without first navigating through a directory structure.

(2) :
The control allows to toggle between "do load" / "do NOT load" the selected image file. The new setting is immediately saved and available to the ramdisk driver , and will thus come into effect when the ramdisk reloads hereafter. Notice that the ramdisk is able to load images that were created from other media ( for example a floppy disk ).

(3) :
The control allows to toggle between "do save" / "do NOT save" the ramdisk content to the selected image file when the ramdisk unloads. The new setting is saved and immediately available to the ramdisk driver. The driver "unloads" when disabling the driver and at shutdown.
This "Save ... at Driver Unload" setting may coexist together with the timed backup ( periodic or at regular times ). When set , only the remaining data that has not been saved during the periodic backups , is saved at driver unload.

(4) :
The control allows to simultaneously write the ramdisk content to the Image File. Thus , whenever a write to the ramdisk occurs , the same data is instantaneously written to the Image File at a lower priority , comparable with a "File Disk". Due to these simultaneous writes , the write accesses will become as slow as the write accesses to the hard disk that stored the Image File. The ramdisk "reads" however , do still access the data that is stored in the RAM memory used by the ramdisk , and by this , read accesses remain executed at full speed.

ATTENTION : The "Synchronous RAMDisk Image write" does restrict the usage and behaveour of other features :

1. The feature can only become active if an existing and valid "Compatible" Image File was loaded during the startup of the ramdisk.
2. The ramdisk must restart ( and load an Image File ) before the feature will become activated.
3. Periodic backups and backups at regular times are not possible.
4. When the feature is active , the Image File is "locked". This means that writing to the Image File by means of user programs is not possible. Attempts to write to the Image File would occur for example after pushing the "Save RAMDisk content now" within the Image File Configuration program.
5. The Image File must be "uncompressed" , even if the file resides on a compressed NTFS volume.

(5,6,7,8) :
The backup of the RAMDisk content at "fixed times" and at "interval time" do mutually exclude each other ( (5) and (6)). Depending on the selection , either push button "Apply" ( figure 3 - (8) ) or push buttons "+" and "-" ( figure 4 - (8b) ) will be displayed.

figure 4 :




The timevalue itself can be entered in (7) as a full decimal number of seconds or in the hh:mm:ss ( mm:ss ) notation. In case the "interval time" backup was selected , the value is read after pushing the "Apply" button. In case the "fixed times" backup was selected , the entered value will be added to the ( pull down ) list after pushing the "+" button. Up to 36 different values can be added , covering more then 1 update per hour within 24 hours. A value can be removed from the list when selecting it from the list and after pushing the "-" button.

When the entered value is valid , the application will convert any value into the hh:mm:ss format. Invalid values will be returned as ??:??:?? in case the "interval time" backup was selected. In case the "fixed times" was selected , the invalid value will simply be rejected without any further notification , i.e. the value will not be added to the list of "fixed times".

REMARKS :

1. The timely backup will immediately become active after the user pushes the Exit button ! From that moment on , the RAMDisk Configuration Utility remains running "minimized" and its Icon ( figure 5 - (13) ) is displayed in the System tray.

figure 5 :




At the very moment that a backup is in progress ( timer expires ) , the blue colour within the Icon is turned into red. The application can be visualized again at any time by clicking on this Icon or by pushing the left mouse button after the mouse is moved to the Icon - see figure 6 - "Show Dialog". During the time that the window is visible , any timely backup is supressed ! If a backup should occur at that moment , it will not be executed !

figure 6 :




2. When the Exit button is pushed and when the "interval time" backup was selected , the application will immediately start with backing up the ramdisk content to the image file. Next , the application will restart the ( new ) selected time-interval. When the Exit button is pushed and when the "fixed times" backup was selected , the application will immediately start with backing up the ramdisk content to the image file , if the absolute backup time would have occurred within 30 seconds before pushing the Exit button.


(10) :
The button allows to save the configuration and to create an image of the current ramdisk content. Before pushing this button , the user may select/deselect the "Save in Compatible format" button (11).

(11) :
The button allows to select the type of image file the user wants to use :

-"Compatible format" : Compatible format means that the Image File will become a raw copy of the entire ramdisk content , thus from its first byte to the last byte that is made available. This type of images can easely be used within other applications that understand raw disk images , for example a "file disk" driver.

Reloading a Compatible Image is however time comsuming since the driver has to reload ALL bytes from that image file , even if parts of it do not contain valid data.

-"Extended format" : An Image File with Extended format consist also of a raw copy of the entire ramdisk content , preceded however with a 512 byte bitfield ( bitmap ). Each bit in that bitfield corresponds to a chunk of 32 MB in the raw copy image data. If a bit in that field is set , it means that the corresponding chunk of 32 MB , according its bitpostion , contains valid data. When such an Extended Image is presented to the ramdisk to load , it will only load those chunks of 32 MB whose bit are set. This may increase the load time drastically. The Image File Configuration utility will update this bitmap during its temporary saving and in the same way will the ramdisk itself update that bitmap when the "Save RAMDisk content to Image at Driver Unload" (3) was selected. The 512 byte map covers the maximum possible 64 GB disk size of the ramdisk ( 8 * 256 * 32 MB = 64 GB ).


REMARKS :

It should be clear that the timely backup does not guarantee the consistency of the ramdisk content with the image file. During the timely update , new data can be written concurrently to the ramdisk that will not be written to the image at that particular moment. This additional data will be written then during the next timely backup. As per consequence , the image file may even cause a corrupted file system on the ramdisk when it would load that image file again before the next timely backup ! To overcome this situation , one should set the "Save ... at Driver Unload" (3) too when a timely backup is active. The "Save ... at Driver Unload" guarantees that all remaining data that has not been backed up yet , shall be written to the image file when the driver unloads.

If the ramdisk was not be able to load the Image File for a particular reason , for example , because the selected disk size was too small , the driver will explicitely reset the The "Save ... at Driver Unload" and the "Synchronous ... Image Write" in the registry. This can be noticed at the respective buttons of the "Image Configuration" utility. However , if the user selects the "Save ... at Driver Unload" again , the driver will save its content to the actually selected image ( ! ) when the user hereafter performs an action whereby the ramdisk unloads. As per consequence , the existing image file will be overwritten with the current ramdisk content. The Image File will then become an image of that empty ramdisk.

Summarized : It is a good practice to turn the "Save ... at Driver Unload" OFF before configuring the Image File treatment , and to turn it ON again when the selected Image File has successfully been loaded.

The "Image Configuration" utility saves ramdisk content to the Image File in chunks of 32 MB. Writing those chunks is executed at lower priority , but nevertheless , it may still stress the system ( slower desktop repaints , slow mouse move responses ). Saving data should hereby be avoided during time critical activities , for example , during play back of audio and video. The "Synchronous ... Image Write" is less agressive and should be used when the timely backup and timely critical tasks cannot run separately.

If the computer shuts down while the "Image Configuration" utility saves ramdisk content to the Image File , the utility will delay the shutdown until all data has been saved. In many cases , Windows will popup the "RAMDiskImage.exe is not responding" message. One should NOT end the program since this may result in a corrupted Image File. As soon as the utility has ended , the Windows shutdown will continue.



4. Test results :


Windows 2003 Enterprise Edition ( 32 bit ) on a 8 x 2.99 Ghz Xeon processor system, 16 GB physical RAM and with PAE memory enabled





Allows to allocate a bigger RAMDisk on Windows 2000 systems without to fear for performance restraints




Runs on Vista ( 64 bit ) and Windows 7 ( 64 bit )



Runs on Server 2008 ( 64 bit ) and Server 2008 R2 ( 64 bit )







back to main page ...




Nedstat Basic - Free web site statistics
Personal homepage website counter