Hi all.
My configuration is at the bottom for reference.
I have just solved a painful long-term issue. Seems to me it did not have to be so painful, if only I had a bit more information.
The issue I found, and how I solved it, may be helpful to others.
My big question: if a GigaByte BIOS is generating invalid memory layout information (e820), what indication is there in the BIOS version update notes to tell me that a BIOS update will fix memory access problems?
ANSWER: None. Read the following. Perhaps you have a BIOS bug too!
BackgroundMy system (MA78GM-S2H rev 1.0, BIOS rev F4 -- fully supports my Athlon 64 x2 5400+ cpu) has always worked perfectly (Vista 32) but also has always had strange problems with Memtest86+ -- with 4G of RAM installed, memtest would crash a few seconds after starting, unless I immediately reconfigure it to reduce the ending address.
I ignored this for a long time, since I could test each memory stick one at a time without any trouble, and the system itself worked fine.
But... now I wanted to upgrade to Win7 x64. And the upgrade tool consistently crashed (BSOD x24 and x50). Nothing that directly points to RAM, but I figured I had better ensure every part of my system is running perfectly.
I went back to the latest memtest86+. It is claimed to work correctly with very large amounts of RAM (64GB and more). My little 4GB is nothing! So... why was I having so much trouble?
What I could see:
- With 2G installed (1 stick), no trouble at all. Test range was reasonable.
- With 4G installed (2 sticks), ALWAYS immediate trouble no matter what brand of RAM, no matter where installed, no matter what BIOS settings.
[Symptoms: 2 seconds after booting Memtest86+ 4.20beta or any earlier version, I get black "spots" on the screen, and a couple of seconds later, the screen is replaced by big swaths of color (big red, yellow and green bar, IIRC) ]
With more testing and careful sleuthing:
- The 4G "upper limit" is ridiculously high (up above 4.7G!)
- MemTest86 uses a standard for retrieving the BIOS memory map, called "e820"
- Changing the shared video memory size (128MB-512MB) has no effect on the upper limit or available memory size. That sounds wrong.
- Tried the Win7 upgrade with only 2G installed. It works!
At this point, I was very suspicious that my BIOS was incorrectly reporting the e820 memory map. Unfortunately, I got stuck, as I can't find any tools for listing or diagnosing the e820 memory map.
So I looked through the Gigabyte BIOS update list....
What Gigabyte Tells UsLooking here:
http://www.gigabyte.us/products/product-page.aspx?pid=2758&dl=1#bios we see...
All of the BIOS updates after F4 appear to be for new CPU support. They all are about either
* New CPU ID support
* New rev of AGESA code for a new CPU
None of this says anything about e820 or memory maps or trouble running with 4G RAM.
I took a risk and updates my BIOS to the latest (beta), F12B.
Everything Works Perfectly Now.SO: there was a BIOS bug causing the RAM memory map to be reported incorrectly. The symptoms:
* MemTest86+ crashed on load, and/or soon thereafter, but only if more than 2G of RAM was installed
* Windows 7 x64 (Home Premium) would not install, getting BSOD stop codes 0x24 (hard drive) and 0x50 (video) errors
That seems pretty significant to me.
What am I missing? Should I have been able to figure this out?