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

Tom's Hardware Guide

The ultimate memory guide can be downloaded here in PDF format

Kingston

 

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.

4 clock modules are the current standard and it is unlikely to change again.

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.

  • Latency: SDRAMs are still DRAMs, and therefore still have latency. The fast 12, 10 and 8 nanosecond numbers that everyone talks about refer only to the second, third and fourth accesses in a four-access burst. The first access is still a relatively slow 5 cycles, just as it is for conventional EDO and FPM memory.
  • 2-Clock and 4-Clock Circuitry: There are two slight variations in the composition of SDRAM modules; these are commonly called 2-clock and 4-clock SDRAMs. They are almost exactly the same, and they use the same DRAM chips, but they differ in how they are laid out and accessed. A 2-clock SDRAM is structured so that each clock signal controls 2 different DRAM chips on the module, while a 4-clock SDRAM has clock signals that can control 4 different chips each. You need to make sure that you get the right kind for your motherboard. The current trend appears to be toward 4-clock SDRAMs.
  • Serial Presence Detect: Some motherboards are now being created that require the use of special SDRAM modules that include something called a Serial Presence Detect (SPD) chip. This is an EEPROM that contains speed and design information about the module. The motherboard queries the chip for information about the module and makes adjustments to system operation based on what it finds. A great idea in theory, but you won't think it's great if you buy an SDRAM module without the chip on it when your board requires SPD...
  • CAS2 vs. CAS3: "CAS" stands for column address strobe, one of the main signals used in accessing DRAM chips; The terms "CAS2" and "CAS3" are used to distinguish between slight variants in SDRAM modules. In fact, the term is a misnomer; the "2" and "3" refer to the latency of the CAS line, so the terms should be "CL2" and "CL3". Theoretically a "CAS2" module is slightly faster than a "CAS3" module, making it more likely to function if the system bus is being overclocked beyond 100 MHz, but the whole matter of "CAS2" and "CAS3" has been overhyped to the Nth degree by many vendors. 
  • Packaging Concerns: To make matters even more confusing, SDRAM usually comes in DIMM packaging, which itself comes in several different formats (buffered and unbuffered, 3.3 volts and 5 volts). You need to make sure you get the right type of packaging as well.
  •  

    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:

    Companies

     

    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

    Identifying memory failure using motherboard BIOS codes

    If you are not trained to perform the correct diagnostic methods – majority BIOS developers and motherboard manufacturers have device a simple way of telling you if your system is having problem by emitting beeping tones from the build in speaker on the motherboard, without the aid of a memory tester.

    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
    2 Beep tone - DRAM Parity failure
    3 Beep tone - Base 64K RAM failure
    4 Beep tone - System timer error
    5 Beep tone - CPU failure
    6 Beep tone - Keyboard controller error
    7 Beep tone - Virtual mode error
    8 Beep tone - Display memory read/write error
    9 Beep tone - ROM BIOS checksum error
    10 Beep tone - CMOS register read/write error
    11 Beep tone - Cache memory error
    Continous Beep tone - Memory or Video memory failures

     

    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
    1 Long Beep and 2 Short Beeps - DRAM Parity failure
    1 Long Beep and 3 Short Beeps - Video error
    Continous Beep tone - Memory or Video memory failures

     

    [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

    Getting more Conventional RAM