With cheaper and cheaper memory, nowadays more and more people install 4 GB memory or more for their computers, trying to get higher performance. However because of the limits of 32-bit IBM PC architecture and Microsoft market policies, you may not be able to access full 4GB physical memory or more.
This link from Microsoft lists the memory limits for all Windows releases: Memory Limits for Windows Releases.
The following figure shows a common example seen in 32-bit Windows operating systems. In this example, the operating system is 32-bit Windows 7, and the computer has 6 GB physical memory installed. But only 3.25 GB memory is able to be used by Windows. There is 2.75 GB memory cannot be used. This "lost" memory is called Invisible Memory (also known as Hidden Memory or Unmanaged Memory).
In order to fully use 4GB or more memory, we now provide the Unified Invisible Memory Management Interface (UIMMI) to claim and manage the Invisible Memory. Products which support UIMMI, such as Primo Ramdisk or FancyCache, then can use Invisible Memory to do some specific functions like ram disks or disk cache.
Before Use Invisible Memory
To use Invisible Memory, it needs the support of computer hardware, including CPU and motherboard. The CPU must support Physical Address Extension (PAE) feature, and the motherboard must support Memory Remapping feature. Almost all computers today support these features. But if your computer is an old one, especially, bought before 2007, you shall check your CPU and motherboard. For Intel chipset, Intel 946 chipset family or newer is required. Intel 945 chipset family and older are not supported. For NVIDIA chipset, nForce 570/590 or newer is required.
Besides, you shall check that your Windows operating system has enabled PAE feature. By default, Windows automatically enables PAE feature if Data Execution Prevention (DEP) is enabled on a computer or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB. Otherwise PAE must be explicitly enabled.
The following steps show how to enable Windows PAE feature.
Windows Vista and later:
Run the command prompt - cmd.exe (run as administrator) and input the command as below.
bcdedit /set pae ForceEnable
Windows Server 2003 and Windows XP/2000:
Find and open X:\boot.ini file where X is the drive letter of the Windows partition. Modify the line that corresponds to current Windows OS by appending the /PAE switch. (You need to remove the read-only attribute of file boot.ini)
(All Windows) Then restart your computer to apply above changes.
1. Ensure that only one application uses Invisible Memory unless all applications support UIMMI. Otherwise access conflicts may happen.
2. If you use Invisible Memory to create a ram disk, and put the system page file (pagefile.sys) to this ram disk, then you must disable Windows hibernation function. Otherwise errors may happen while your computer resumes from hibernation.
3. Usually there is no fatal effect on system to enable Invisible Memory. But in case that you cannot boot up the system, you can restore the settings by booting into Windows Safe Mode.