I ran into this on one of those little square box PCs. While knowing why this is, you can't fix it. That is, part of the memory controller is on the CPU so you will run into this.
As to the SPD detection that's only part of the system. It's very possible to read the SPD chip but not have the RAM work. (Google RAM SPD if you need to catch up.)
Somewhere there were docs on what sticks to use with said motherboard and CPU but those may be gone as time passes.
So yup, seen it.
TL;DR: My BIOS can't use all of my RAM, but can see them. It's surprisingly most likely because of my CPU.
I have some mystical ram problems, and I'm out of ideas.
First the story:
I had a sweet little config, like:
RAM: DDR3 Kingmax 4+2=6 giga 1333Mhz
VGA: GIGABYTE Radeon R7 260X
CPU: AMD Athlon II x2 250 300GHZ AM3 BOX
MB: ASUS M5A78L-M LE
The RAM modules were unmatched, but there was no problem, worked perfectly. Then I installed an FX-6300 CPU a few month ago. After that, I had to realize my computer just uses the left ram module. If I put the 4GB to the left, than I have 4, if I put the 2GB in the left, than 2.
The tricky thing is, programs still can detect my second RAM module. HWinfo for example sees them perfectly. And even the Windows (win7 service pack1 64 bit) says: Installed memory (ram): 6GB (4GB useable).
The Memory Diagnostics Tool can't find a problem.
(I made a post about it in this forum, there was no solution: http://forums.cnet.com/7723-7591_102-640516/ram-socket-problems/?tag=contentBody;threadListing)
I was like: OK it's time for a new motherboard anyway! So I bought an Asus sAM3+ M5A97 EVO R2.0. I installed everything in a new case, reinstalled the windows (8.1 64 bit). But the problem was still there, no change.
I was like: OK, it has to be because the unmatched RAMs! So I bought 2x4gb hyperx fury 1600mhz. But surprise: no difference. I see now 8GB (4GB useable).
I entered to the BIOS, to find any timing problems, but there was nothing. But here is an interesting point: even the BIOS itself tells me: "total memory: 4GB" BUT in the advanced menu I can see the memory moduls correctly. I even can change their speed, but the BIOS can only use one of them.
I searched the internet for two days, and can't find the solution.
Frequent proposals in similar cases:
1. Is your windows 64 bit? YES, but it's irrelevant, my BIOS has the problem, not the win.
2. BIOS is up to date? YES, but it's irrelevant, I changed the motherboard, and no difference.
3. The RAM works fine? YES, I use matched pairs, and tried 4 different modules.
4. Ram correctly installed to the MB? YES, I tried every combination on two motherboards, reinstalled the modules ~25 times.
All together: the only part of my PC, which wasn't changed (while the problem is active) is the AMD fx-6300 CPU. Is it possible? My CPU is broken, and can't use all the RAM sockets? Sounds strange, but it's my best idea after all.
Thanks for reading, plz help me, I'm totally lost! :/