
Murf's Memory Guide
The old attage that the first thing that goes is your memory is also true with computers. Computers cannot function without some sort of memory. It is the "Brain" of a computer. Computers are made up of several types of memory. Recent developments in memory capacities and speed has grown significantly in the last five years.
What is Memory
Think of memory as an table of cells. These cells are comprised of capacitors, and contain one or more bits of data, depending upon the chip configuration. This table is addressed via row and column decoders, which in turn receive their signals from the RAS and CAS clock generators. In order to minimize the package size, the row and column addresses are multiplexed into row and column address buffers. For example, if there are 11 address lines, there will be 11 row and 11 column address buffers. Access transistors called sense amps are connected to the each column and provide the read and restore operations of the chip. Since the cells are capacitors that discharge for each read operation, the sense amp must restore the data before the end of the access cycle.
The capacitors used for data cells tend to bleed off their charge, and therefore require a periodic refresh cycle or data will be lost. A refresh controller determines the time between refresh cycles, and a refresh counter ensures that the entire array (all rows) are refreshed. Of course, this means that some cycles are used for refresh operations, and has some impact on performance.
Here is an excellant page on the explanation of memory and its function
The ultimate memory guide can be downloaded here in PDF format
Lets look at the different types of memory
The old 386/486 computers mainly used 30 Pin SIMMS (Single In-Line Memory Module). These came in several speeds and in "Parity" and "Non-Parity". The 486 started using a combination of 30 Pin SIMMS and 72 Pin SIMMS in various speeds. SIMMS come in various sizes and speeds. The first SIMMs transferred 8 bits of data at a time. Later, as CPUs began to read data in 32-bit chunks, a wider SIMM was developed, which could supply 32 bits of data at a time. The easiest way to differentiate between these two different kinds of SIMMs was by the number of pins, or connectors. The earlier modules had 30 pins and the later modules had 72 pins. Thus, they became commonly referred to as 30-pin SIMMs and 72-pin SIMMs.
3 1/2 inch 30 Pin SIMM
4 1/4 inch 72 Pin SIMM
72 Pin Non-Parity SIMM / 30 Pin Parity SIMM
72 Pin SIMMS, used in most Pentium's up until the advent of SDRAM, are either Fast Page or EDO. Most pentium's take EDO or Extended Data Output Dynamic Random Access Memory, a type of DRAM that is faster than conventional DRAM. Unlike conventional DRAM which can only access one block of data at a time, EDO RAM can start fetching the next block of memory at the same time that it sends the previous block to the CPU. You cannot mix "Parity and Non-Parity" RAM.
While Fast Page Mode RAM, a type of Dynamic RAM (DRAM) that allows faster access to data in the same row or page. Page-mode memory works by eliminating the need for a row address if data is located in the row previously accessed. It is sometimes called page mode memory. It is being replaced by newer types of memory, such as SDRAM.
SDRAM or r Synchronous DRAM, a new type of DRAM that can run at much higher clock speeds than conventional memory. SDRAM actually synchronizes itself with the CPU's bus and is capable of running at 133 MHz, about three times faster than conventional FPM RAM, and about twice as fast EDO DRAM and BEDO DRAM. SDRAM is replacing EDO DRAM in many newer computers .
SDRAM Module
SDRAM comes in PC100 and PC133 and PC133 speed-tested SDRAMs are backward compatible with PC100. As the AC timing specifications on a PC133 device are tested to allow a system bus to run at 133 MHz. The PC100 and PC66 timing specifications are more relaxed on these timings. Majority of PC133 chips should work at PC100 and PC66. In fact, a -75 device is specified for PC100 timings using CAS latency = 2. Please refer manufacturer data sheet for AC timing table in the appropriate data sheet tCK at CL = 2.
If a SDRAM DIMM module is assembled with a -10 SDRAM chip, is it considered PC100 compatible? No - An SDRAM DIMM with -10 (100 MHz) chip will support only 66 MHz Systems. This type of module is not guaranteed to run consistently in a PC100, 100 MHz system. In order for the module to be PC100 compatible the components need to be marked with -8A, -8B, -8C, -8D or -8E (or 125 MHz)and example taken from micron chips. Micron Modules with -8A through -8C sdram chips will run at 100 MHz at a CAS latency of 3. Modules with -8D or -8E components will run at 100 MHz at a CAS latency of 2. Refer to the original manufacturer data sheet to determined the correct CAS latency setting.
Some info on SDRAM's
What's the difference between buffered and unbuffered DIMMs?
High density DIMMs have lots of chips on them and therefore possess a higher capacitive load on the address and control signals in comparison to lower density DIMMs. Some designers use re-drive buffers on the DIMM to boost the signals to reduce system loading when compared to the same high density module without buffers. But,
the buffers introduce a small delay into the electrical signal, so adding buffers to a standard density module would have the effect of slowing down the signal, compared to the same low density module without buffers.
What is the difference between 72 bit and 64 bit memory?
What is the difference between 32 bit and 36 bit memory?
72 bit memory is commonly known as ECC memory. It has an additional 8 bits for Error Correction Check 64 bit memory is non-ECC. 72 bit or 64 bit configuration are typically found in 168 pin DIMMs
36 bit memory is commonly known as parity memory. It has an additional 4 bits for parity checking. 32 bit memory is non-parity. 32 bit or 36 bit configuration are typically found in 72pin or 30 pin SIMMs
Can you tell by looking at a module if it is SDRAM, FPM, EDO etc?
SDRAM, EDO and FPM chips look similar to each other. The best way to tell the difference is to reference the part number on the chip. Most DRAM manufacturers have reference books or lists on their web sites. By looking at a memory module one can attempt to guess what it is. A general guideline is to look at the IC type and size. The EDO and FPM chips are typically packaged in SOJ form and are thicker when compared to that of the SDRAM chips which are typically packaged in
slim-line TSOP form. The EDO/FPM chips typically have a marking of -60 at the end of the string of numbers and that of the SDRAM chips typically have markings of -12 -10 -8 -7.5. A SDRAM module typically has a row of the resistor or resistor arrays above the contact tabs.
What happens if my memory is not PC-100 compliant?
It means you may experience system errors in a 100mhz system because the memory's performance cannot keep up with the system requirement. The system will operate at the speed of the slowest component. For example, installing 66MHz
SDRAM memory in a PC-100 system will cause the bus to operate at 66MHz, rather than the speed it was designed to operate at.
What voltage is SDRAM?
SDRAM specifications state that all SDRAM has to be 3.3V.
What is the difference between "2-clock" and "4-clock" SDRAM?
The early SDRAM DIMM design has 2 clock inputs to drive all the SDRAM chip. This was found to be insufficient due to loading on these inputs. Some 4 clock modules will not work in systems that are designed for 2 clock, but some will. SOME 2 clock modules might not work in systems designed for 4 clocks, but then again some will.
What's the difference between 2K and 4K SDRAM?
The SDRAM has multiple internal banks. The 16M SDRAM has 2 banks, the 64M has 4 banks. When you tell the SDRAM a ROW or COLUMN address you must also
specify which BANK you are referring to. The way to do this is by the 'bank address' (BA). Herein lies the problem. For some unknown reasons, suppliers have lumped together the ROW address pins with the BANK address pins and simply refer to them as 'address' pins. For the 2Mx8 SDRAM some suppliers claim to have 11 ROW address plus 1 BA, other just say 12 addresses. That's just addressing, for refresh requires you also specify the refresh interval (tREF). For a distributed refresh scheme you simply divide tREF by the number of refresh cycles to get the auto-refresh interval. In both cases for the SDRAM it works out like:
Address bits Refresh Cycles tREF Auto-refresh interval
11 row 2^11 = 2048 = 2K 32ms 32ms / 2048 = 15.6 us
12 2^12 = 4096 = 4K 64ms 64ms / 4096 = 15.6 us
The upshot is that for distributed refresh schemes these two devices are identical in both addressing and refresh. (For a burst refresh scheme, the 32ms tREF is a subset of the 64ms.)
For the general PC application the 2K device works fine. The 4K device offers no advantage. Note that this is not the case for asynchronous DRAM where there truly is a difference in addressing between 2K and 4K.
DDR (Double Data Rate)
DDR Module 
Double Data Rate memory, technically bus runs at memory-bus clock rate of 100MHz for PC1600, 133MHz for PC2100, 166MHz for PC2700, 200MHz for PC3200, 233MHz for PC3700, and 266MHz for PC4200. However, each DDR memory module and memory chip run at an effective (data) rate of 200MHz, 266MHz, 333MHz, 400MHz, 466MHz and 533MHz respectively. The computer industry has adopted a practical convention of just referring to the data rate as the DDR DIMM speed. So, PC1600 DIMMs are said to run at 200MHz, PC2100 DIMMs at 266MHz, PC2700 DIMMs at 333MHz, PC3200 DIMMs at 400MHz, PC3700 DIMMs at 466MHz and PC4200 DIMMs at 533MHZ
A good stick of DDR memory, with all things equal, is capable of running 2-2-2-5 memory timings will make the computer operating experience seem faster than a DIMM which can only run at 3-4-4-8. This is because of the fact that when the memory receives an instruction, retrieves the data, and sends it back out in less time. Most DIMMs that run tight timings, such as PC3200 and PC3500 modules, have to run the memory at lower MHz than the front side bus to maintain the tight timings.
However, when overclocking the processor to extreme speeds these DIMMs are bandwidth limiting the processor unless you loosen the timings so that the memory can run in sync with the front side bus or CPU external frequency. The signifigence of this is that when the processor requires a great deal of bandwidth, the CPU will have to wait for another clock cycle before being filled, as the memory is just not fast enough to keep up at the same pace. Having a large pool of bandwidth is great when you're working with applications that process a lot of raw data, such as Photoshop and databases. The other point of view is that CAS2-rated PC3200 and 3500 memory can make up for the lack of bandwidth because the memory has a lower latency that in effect moves data between the CPU and memory much faster. Programs that do not require a large amount of bandwidth tend to benefit more from quicker data transfers between the memory and the rest of the computer; such as games and 3D applications.
Dual Channel is not Double the Bandwidth: Since high-speed DDR brings some problems, it's only natural to look for ways of increasing the bandwidth of lower-speed DDR. The latest solution is to adopt a dual-channel bus to system memory, thereby doubling the potential bandwidth without having to increase memory clock speeds much higher than normal. This is a good solution to the bandwidth problem, since vendors can use JEDEC-authorized specifications yet still achieve higher-than-DDR400 data transfers.
If you look at benchmarks, a dual-channel configuration is about 1-5 percent faster on average. Some specific system benchmarks may go as high as 15 percent. With an Althon XP processor you will not gain any advantage from dual-channel DDR400 due to the limited bandwidth of the Athlon XP's front side bus (3200MB/second), however a memory controller can never operate at 100 percent efficiency, so you will actually get a memory bandwidth that is noticably lower than 3200MB/second for a single-channel DDR400 configuration.
Dual-channel will eliminate most of the loss caused by the memory controllers inefficiency, so that's why you do get a slightly higher memory bandwidth in a dual channel configuration. Pentium 4 CPU's, however, fare much better with the dual channel memory because of their higher bus speeds (800mhz) and therefore higher CPU bandwidth. Memory bandwidth is not everything, actual performance depends on the individual application you're running.
On average, an Athlon XP performs equal to a Pentium 4 with a corresponding model number, the difference comes into play with the XP 3000+ and 3200+ models when compared to 3.0GHz P4 "C" with 800MHz front side bus and subsequent models in conjunction with Intel's i865/i875 dual-channel platforms this is where the P4 shows its ability to produce high benchmarks.
(Credit to CoolTechZone for the above information)
Today's fastest Pentium systems use CPU buses running at 100 MHz/133MHz, so SDRAM can keep up with them, though barely. Future PCs, however, are expected to have CPU buses running at 200 MHz or faster. SDRAM is not expected to support these high speeds which is why new memory technologies, such as RDRAM (Short for Rambus DRAM, a type of memory (DRAM) developed by Rambus, Inc. Whereas the fastest current memory technologies used by PCs (SDRAM) can deliver data at a maximum speed of about 100 MHz, RDRAM transfers data at up to 600 MHz. and SLDRAM (,SyncLink DRAM) are being developed.
RDRAM is alrerady being used in place of VRAM in some graphics accelerator boards. Intel is using it in Pentium III Xeon processors and more recently in its Pentium 4 processors. Intel and Rambus are also working a new version of RDRAM, called nDRAM, that will support data transfer speed at up to 1,600 MHz. And it keeps getting faster and faster.

64Mb PC800 RAMBUS RDRAM RIMM.
Speed and Speed Matching: SDRAM modules are generally speed-rated in two different ways: First, they have a "nanosecond" rating like conventional asynchronous DRAMs, so SDRAMs are sometimes refered to as being "12 nanosecond" or "10 nanosecond". Second, they have a "MHz" rating, so they are called "83 MHz" or "100 MHz" SDRAMs for example. Because SDRAMs are, well, synchronous, they must be fast enough for the system in which they are being used. With asynchronous DRAMs such as EDO or FPM, it was common to add extra wait states to the access timing for the memory to compensate for memory that was too slow. With SDRAM however, the whole point of the technology is to be able to run with zero wait states. In order to do this, the memory must be fast enough for the bus speed of the system. One place where people run into trouble in this regard is that they take the reciprocal of the "nanosecond" rating of the module and conclude that the module can run at that speed. For example, the reciprocal of 10 ns is 100 MHz, so people assume that 10 ns modules will definitely be able to run on a 100 MHz system. The problem is that this allows absolutely no room for slack. In practice, you really want memory rated slightly higher than what is required, so 10 ns modules are really intended for 83 MHz operation. 100 MHz systems require faster memory, which is why the PC100 specification was developed.
OK! So how much do you really need?
This has been a controversial issue for a long time, and really depends on what you are going to use the computer for, and what operating system is used.
Lets look at Windows 95 first.
In my opinion, 64 MB of RAM is a decent amount for all but the most RAM-hungry uses. Heavy graphic intensive program user's should go to 128MB. Here is a good article with testing results: PCWorld. Which shows that.
The amount of memory you need is determined by several factors; the software, operating system and the number of programs you want to have open at the same time. When you determine memory needs, you'll also want to consider what your needs will be six months down the road. If you think you may be upgrading your operating system or adding more software, it's a good idea to factor that into the equation now. The following user profile may help guide your decision:
Business user (64MB-128MB)
Light to Medium usage: runs 2 or 3 applications at one time. Mainly used for word processing, e-mail, fax and communication, database type of application.
Home multimedia user (64MB - 128MB)
Light to Heavy usage: runs 2 or 3 applications at one time. Mainly used for word processing, e-mail, surfing the internet, with Heavy user may include use of database, Graphics & 3D intensive games.
Graphics user (128MB - 512MB)
Light to heavy: runs 3 or more applications at one time. Graphic page layout, illustration/graphics. and Heavy users also need photo editing, font packages, multimedia and presentation software.
CAD Design (256MB - 2GB)
Light to heavy: CAD and CAM software. Heavy users need 3D CAD and solid modeling CAM .
Bottom line for a home user, for what it is worth I would recommend the following minimums just based on your operating system.
Windows 95 minimum 16MB 64MB runs great
Windows 98 minimum of 128MB, 256MB runs great.
Windows 2000 minimum of 256MB
Windows XP minimum of 512MB
Check your motherboard manual or manufactures web site to determine the type of RAM that can be used, the configuration possibilities, and the maximum amount your computer can take.
List of Major venders selling memory:
Acknowledgement goes to Tom's Hardware Guide for some of this information.
********************************************************************************************************************************************************
Memory Parity Errors
What is a Parity Error?
Parity is a simple mathematical calculation that provides a check to determine if the value of a byte (made of 8 bits) has been corrupted. In PC memory, a 9th bit or parity bit is set according to how many 1's there are in the byte. If you are using 'even parity' and there is an even number of 1's the parity bit is true or set to a '1'. If there is an odd number of '1's in a byte the parity bit is set to a 0.
Even Parity example: 01010101 has a parity of 0 ---10101010 has a parity of 0 --- 10111110 has a parity of 0
10001000 has a parity of 0 --- 01011101 has a parity of 1 --- 10101011 has a parity of 1
10111111 has a parity of 1 --- 10101000 has a parity of 1
Parity is NOT a foolproof method. A close examination shows, that if we flip two bits in a byte, we will have correct parity with a corrupted value. You can thus have memory problems that can 'lock up' a system without getting a parity error.When a memory location is written to, a hardware parity generator generates a parity bit that is stored in an extra memory chip. This extra or 9th bit on a SIMM strip stores the parity bit for later use. When a location is read the parity generator calculates a new value and compares it to the value stored, if they don't match a parity error is generated.
Some SIMM strips (with a pseudo or fake parity bit) contain parity generators on them instead of the extra ninth bit memory chip. This is done to save some cost in a memory strip. The false parity bit can cause timing skews that can cause problems on some systems.
What does a Parity Error mean?
A parity error tells us we have had an error in memory storage or transfer, but it does NOT necessarily mean that the memory is bad. Bad memory is only one cause of a parity error. When confronted with a parity error we need figure out the root cause.
Four basic candidates for memory failure:
Power Supply
Mother Board
Other Boards
Memory Module
There are several things that can cause a memory
module to be bad in a system but still test good. To test a memory model
takes more than that old RAM test program you have been lugging around from
the DOS days; these programs often end up
testing only the processors cache memory! Use a memory tester that can check
refresh and measure memory speed such as
the RAM-SE-VI. http://xtronics.com/memory.
This is usefull if you do computer maintenace. For the average PC user, the
$500 investment is obviously not worth it. There are some good software programs
out there that will test memory, on such that I would recommend is SANDRA. Or Simmtester HERE:
Or Windows Memory Tester HERE:
Lets look at some of the common Memory Errors
Some techniques for troubleshooting Memory failure without a Memory Tester. You can try:
Removing the modules one by one from motherboard
This is simplest method for isolating a failing module, but this may apply only if the motherboard have more than one module on the SIMM or DIMM Slot. By selectively removing module one at a time from the system and then running the test you will be able to find the bad module very quickly. Be sure to mark the module that passes or when it test fails.
Swap the modules around
When none of the modules can be removed, swap and rotate modules to find which module is defective. This technique can only be used if there are two or more modules in the system. Change the location of two modules one at a time.
For instances, place the module from SIMM slot 1 into slot 2 and place the other module from slot 2 in slot 1.
Run the diagnostic test and if either the failing data bit or address changes, you know that one of the module you have just swap is defective. By using several combinations of module swapping you should be able to check which module is defective.
Replacing with known good module
If you are unable to use either of the above two techniques, you are left to use known good modules and selectively replace of modules one by one to pin point the memory failure. This is the easiest way to detect memory failure.
Removing and cleaning the metal contacts
If your PC system is older, sometimes dust and oxidation will cause poor contact in the SIMM/DIMM slot. Remove the module and clean the gold or tin contact with a “pencil eraser” or any cleaning solution used for video and audio head cleaning. Make sure you remember which slot is being used, and be careful not to reverse the module while reinserting into the SIMM/DIMM slot
Memory Failures using AMI BIOS Beep Codes
AMI BIOS is the most popular BIOS used by most motherboard manufacturer- you should be able to determine your system BIOS by reading the screen display on the Top screen during power up.
Procedures – The normal procedure is to power up the PC system, watch for error message on the monitor screen and listen to the PC beep tone. A single beep during boot-up process is normal and does not indicate a failure if the system continues to boot-up.
1 Beep tone - DRAM refresh failure
Memory Failures using Award BIOS Beep Codes
Award is the another popular BIOS developer and they use the fewest beep codes by far.
Procedures – The normal procedure is to power up the PC system, watch for error message on the monitor screen and listen to the PC beep tone. A single beep during boot-up process is normal and does not indicate a failure if the system continues to boot-up.
1 Long Beep tone - Memory Problem
[Parity Error]
Cause
: Faulty Memory: This message refers to parity memory. Memory modules are usually
available in two types: parity and non-parity. Non-parity memory contains one
bit of memory for every bit of data stored. Eight bits store each byte of data.
Parity memory adds one extra bit for every eight bits of data. This extra bit
is used only for error detection and correction, which means nine bits of data
store each byte.
If error-detecting memory detects a defective chip, it might bring up this Parity
Error message.
Possible Fix # 1: To determine whether your computer has defective
memory chips, isolate certain chips to limit the amount of memory Windows uses.
Do this in WinMe and Win98 by clicking the Start button, Run, typing msconfig,
and clicking OK. Back up your current system configuration files by going to
the General tab and clicking Create Backup. Click Advanced, Limit Memory To,
then specify a reduced amount of memory. Restart your computer when prompted
to do so.
In Win95, use any text editor (such as Notepad) to edit the System.ini file.
Type the following line in the [386Enh] section of the file: MaxPhysPage=<nnn>.
In place of <nnn>, type in the amount of memory you want Win95 to use.
To limit Win95 to the first 16MB of memory, add a line that reads MaxPhysPage=FFF.
To limit Win95 to the first 8MB of memory, add a line that reads MaxPhysPage=7FF.
Finally, save and close the System.ini file, then restart your computer.
If the Parity Error message stopped after you limited memory, one of the chips
is probably defective. Use the process of elimination to determine which one
is problematic. Manually remove each chip and restart the computer. Start by
grounding yourself, opening up the case, removing the chips, and checking whether
the problem still occurs when you reboot. The details of this process will vary
depending on your case, motherboard, and other hardware.
Cause: Mismatched Memory. Parity errors can be caused by a
mix of parity and non-parity RAM modules (SIMMs, DIMMS, and RIMMS) on the motherboard.
Possible Fix # 2: Read your computer documentation or manufacturer's
Web site to determine the type of RAM required by your computer. Then read your
RAM documentation to verify that all the RAM you have added to your computer
is the appropriate type.
If you find that you don't have the appropriate type of RAM, replace the mismatched
sticks with ones that match.
Cause : Wrong Type of Memory. Some computers require a specific
proprietary brand of RAM and refuse to function if another brand of RAM is installed.
Possible Fix # 3: Read your computer's documentation or the
manufacturer's Web site to determine whether your computer requires proprietary
RAM. If you find you do not have the appropriate type of RAM chips for your
computer, replace them with ones that match.
[Insufficient Memory]
Cause: This is a common error
that pops up when you try to open another program, but the computer is using
so much RAM elsewhere that it cannot allocate sufficient memory to open this
program.
Possible Fix # 1: Close all programs, then try again to open
the desired program.
Possible Fix # 2: Close background programs. If this message
pops up again, exit Windows and remove any TSR (terminate-and-stay-resident)
programs. TSRs launch automatically every time you boot up your computer and
run constantly in the background. Common TSRs are screen savers, antivirus programs,
and fax/modem software. Although TSRs are unseen, they can consume a good amount
of RAM. To disable background applications, click the Start button, Run, type
msconfig, and click the OK button. Msconfig.exe will pop up. The Startup tab
will show a list of everything that starts up with your system. Disable programs
by unchecking them. When you want these startup programs back, run Msconfig.exe
again and place a check mark next to the program you want to enable. Leave Explorer
and SystemTray on because they are important to running the OS (operating system).
Restart Windows and try again.
For Win95, restart your computer. When the bootup
screen displays Starting Windows 95, press F8 and select the command prompt.
Type win and press ENTER and SHIFT. This prevents programs from starting automatically.
When you want these programs to start normally, just reboot as usual.
Possible Fix # 3: Remove unnecessary drivers. Old drivers might
be eating into your computer's memory. A driver is a program that controls a
specific device, like a printer or disk drive. A driver acts like a translator
between the device and programs that use the device, telling the computer how
to use that device. Some drivers come with the OS, such as the keyboard driver.
In Windows environments, drivers have a .DRV extension. When you upgrade a device
or replace it with a new one, you must also install a new driver. Usually, installing
a new driver automatically overwrites the old one. However, the problem arises
if your computer begins using the new driver with the new or upgraded device,
but keeps the old driver loaded in memory. To remove unnecessary drivers, click
the Start button, Programs, Accessories, and System Tools. Click System Information,
select the Tools menu, and click Update Wizard Uninstall. If you have old drivers,
a dialog box will pop up asking you to confirm that you want to remove them.
If your system has no old drivers, the message will read, "No packages
available for uninstall."
[System Properties dialog box shows less memory than is installed]
Cause : Virtual Device Driver Using RAM. First, check whether
a virtual device driver is claiming a portion of your RAM. A virtual device
driver has direct access to the central core of the OS, called the kernel. Certain
programs need direct access to run smoothly and effectively. Virtual drivers
provide this direct access.
Possible Fix # 1: Restart your computer without virtual device
drivers by clicking the Start button, Run, typing msconfig in the open box,
and clicking OK. Select the General tab and click Selective startup. Clear the
Process System.ini file checkbox. Click OK and Yes when the computer prompts
you to restart.
If the System Properties dialog box still displays an incorrect amount of memory,
repeat the procedure above, but click Normal startup on the General tab. This
should return your system to its previous configuration.
If stopping your computer from loading virtual device drivers causes the dialog
box to display the correct amount of memory, you must determine which file referred
to in the System.ini file is causing the problem, then disable that file. To
do so, click the Start button, Run, type msconfig in the open box, and click
OK. Click the System.ini tab, then double-click [386Enh]. Clear the checkbox
next to the first line that doesn't start with a small Windows logo. Click OK
and restart the computer.
If the problem recurs, repeat the process by unselecting
the checkbox you just cleared and repeating the steps for the next line until
the problem disappears. The file you cleared just before the disappearance is
the problematic file. Disable this file by leaving its checkbox cleared until
you find a permanent solution by reading the documentation that came with the
driver, going to the manufacturer's Web site, or returning the driver to the
retailer.
In Win95, start the system without loading drivers by pressing F8 when the screen
displays Starting Windows 95. Choose the Command Prompt and rename the System.ini
file by, typing ren c:\windows \system.ini *.bak. Since Win95 requires the System.ini
file to load what you see when running Windows, replace the renamed file by
typing copy c:\windows\system.cb c:\windows\system.ini. You must add code to
the new file to load the mouse driver. Edit the new System.ini in a text editor
and under the [386Enh] block, type mouse = *vmouse, msmouse.vxd, under the [boot]
block, type drivers=mmsystem.dll, and on the next line add mouse.drv=mouse.drv.
Start Windows by pressing F8 when Starting Windows 95 is displayed and go to
the command prompt. Type win. If this corrects the problem, the issue is probably
isolated to either the [boot] or the [386Enh] sections of the System.ini file.
Restore the original file and troubleshoot using the process of elimination.
To isolate the cause, place a semicolon (;) at the beginning of lines you don't
want to load.
Cause :Memory Mismatch. You might
have a memory mismatch caused by a protected-mode driver. Protected mode is
a type of memory utilization in which the processor allocates a certain section
of memory to each program. Other programs cannot use this memory, so each program
is protected from interference from other programs. When you instruct the OS
to go into protected mode, the driver behaves differently or the system uses
a different driver.
Possible Fix # 2: Click the Start button, Settings, Control
Panel, and double-click System. If you don't see the item you are looking for,
click View All Control Panel Options. Double-click one of the listed devices.
In the resulting dialog box, on the General tab, select the Disable In This
Hardware Profile checkbox and click OK. (In Win98, on the Device Manager tab,
click one of the listed devices. In the resulting dialog box select the Disable
In This Hardware Profile checkbox.) If you don't see this checkbox, go on to
the next listed device. When you are prompted to restart your computer, click
No. Repeat this process for each listed device except for those in the System
Devices category. Restart your computer and click the Start button, Settings,
Control Panel, and System. If you don't see the item you are looking for, click
View All Control Panel Options. If you can now run your computer without getting
the error message, enable one device at a time and test whether the error recurs.
If the error recurs, the last device you enabled is most likely causing the
error. Consult the device documentation or contact the manufacturer for information
about configuring the device so it doesn't cause a memory conflict.
In Win95, click the Start button, Settings, Control
Panel, and double-click System. In the Device Manager tab, select a device category.
If there is an Original Configuration checkbox, clear it and press OK. If you
have multiple configurations, clear the box of the one you are troubleshooting.
If there is no configuration checkbox, select the Disable In This Hardware Profile
checkbox. Repeat for all except those in the System Devices category.
Cause : Poor CMOS Settings. You may need to alter your CMOS
(complementary metal-oxide semiconductor) settings. CMOS memory holds the date,
time, and system setup parameters. On some computers, CMOS settings can disable
a portion of your RAM, preventing Windows from recognizing the altered RAM.
That causes the System Properties dialog box to show less memory than is installed.
Possible Fix # 3: To have Windows recognize all your RAM, disable
the appropriate CMOS setting. Save your settings and restart your computer.
Because CMOS settings vary for each computer, read your manuals and the manufacturer's
Web site to find specific instructions. Be very careful because incorrect changes
to these settings can lead to serious problems.
[Out Of Memory]
Cause : Memory Leak. An Out of Memory message can happen, even
when you have a great deal of memory installed, if there is a bug called a memory
leak in one or more of your programs. When you quit a program without restarting
your computer the program should return memory resources to the system, but
doesn't always do so. A memory leak results from a poorly written or defective
program and prevents the program from freeing up memory that it no longer needs.
The program grabs more memory every time you open it, but does not release the
memory when you close it, until it finally crashes because no memory is left.
Possible Fix #1: To release memory, restart your computer and
run the program again. Periodically reboot your computer to prevent this error
message from recurring. If the program is new, return it to the software vendor
in exchange for a new one.
Cause : Too Many Open Files. If restarting your computer doesn't
solve the problem, you may be trying to open too many files or programs.
Possible Fix # 2: If you have many documents open or several
programs running at the same time, quit any programs you are not using.
Cause : Not Enough Virtual Memory.You may not have enough virtual
memory. Virtual memory is hard drive memory that the OS uses to supplement RAM.
When a computer is using all its RAM, the OS puts the least-used programs into
virtual memory. That allows the "real RAM," which is faster than virtual
memory, to power the most-used programs. When you increase the amount of free
space on your hard drive, the OS gets more space to use as virtual memory. If
you allocate too little hard drive space for virtual memory, you'll get Out
of Memory errors.
Possible Fix # 3: If you have more than one hard drive or if
your hard drive is partitioned, start by determining which one the virtual memory
is on. Click the Start button, Search, For Files or Folders. In the Search box,
type win386.swp. In the Look list, click My Computer, Search Now or Find Now.
The results list will show where the file is located.
To remove unnecessary items from the disk, empty the recycle bin, delete temporary
files that are more than one week old, delete obsolete files or copy them onto
a diskette and remove programs you never use.
If removing unnecessary items doesn't free up enough hard drive space to increase
virtual memory, set your virtual memory to another drive that has more free
space. Right-click My Computer from the Desktop, click Properties, Performance,
Virtual Memory, then select the Let Me Specify My Own Virtual Memory Settings
option. In the Hard Disk drop-down list, see if another drive contains more
free space than drive C:. If so, select that drive and click OK. Close out and
restart your computer when prompted to do so.
Cause : Too Many Programs Run Automatically. Your system might
have too many programs set to run automatically when you launch Windows. If
you have too many programs set to run automatically, you might not have enough
free memory to run an additional program, even after you restart your computer.
Possible Fix # 4: To restart Windows without starting programs
automatically, click the Start button, Run, type msconfig, and click OK. On
the General tab, click Selective Startup. Clear the Process Win.ini file and
load startup group items checkbox. Click OK and restart the computer when prompted
to do so.
If the program runs after Windows restarts, change your configuration to prevent
programs from opening automatically. To do so, reset the computer to Normal
Startup by clicking the Start button, Run, type msconfig, click OK. On the General
tab, click Normal startup, OK, and restart the computer.
Next, remove all shortcuts from the StartUp folder by clicking the Start button,
Settings, Taskbar & Start Menu, Advanced tab (in Win98, it's the Start Menu
Programs tab), then click Remove. Double-click the StartUp folder to see a list
of the programs that run automatically. If there is no plus sign next to the
StartUp folder, no programs are set to run automatically. In that case, click
No and Next to continue troubleshooting.
Click each shortcut in the StartUp folder, then click Remove for each one. This
deletes shortcuts from the StartUp folder but it doesn't remove the corresponding
programs from your hard drive.
To disable programs loading from Win.ini, click the Start button, Run, type
msconfig, and click OK. Click the Win.ini tab and double-click Windows. Clear
the Load= and Run= checkboxes, then click OK and restart the computer.
If you still receive an Out Of Memory message after starting Windows without
loading items from the StartUp folder, reset your computer to Normal Startup
before you continue troubleshooting.
To prevent programs from starting automatically in Win95, restart the system,
press F8 when Starting Windows 95 displays, and proceed to the command prompt.
Type win and hold the SHIFT key. If this solves your problem, you need to edit
the Winstart.bat, the Win.ini, and the StartUp group to prevent files from starting
automatically.
The Winstart.bat file loads TSRs used in Windows and can be edited using a text
editor. Place a semicolon at the beginning of lines you don't want processed.
The Win.ini can be edited in the same way. The load= and run= lines start programs
automatically. Remove undesired entries or place a semicolon at the start of
the line to remove it from processing. Finally, edit the Startup group. Click
the Start button, Settings, and click Taskbar. Select the Start Menu Programs
tab and click Advanced. Select the programs you want removed.
Cause : You might be receiving this error message because of
a problem with the system's virtual memory settings. If you are managing your
own virtual memory settings, let Windows manage them for you. (See above for
an explanation of virtual memory.)
Possible Fix # 5: Click the Start button, Settings, Control
Panel, and double-click System. In the system properties dialog box, click the
Performance tab, Virtual Memory, Let windows Manage My Virtual Memory Settings.
HOW TO FREE UP CONVENTIONAL MEMORY
or