Motherboard Doesn't See All of the RAM

mdubrow

Member
Apr 15, 2005
103
0
0
A couple of days ago, I upped the RAM in my machine to 4 GB (4x 1GB sticks, OCZ DDR400 dual channel Platinum SDRAM, 2-3-2-5 @ 2.6V). I had been running with 2 sticks installed and stock speeds with no problems for a couple of weeks, but after I installed the second two sticks, the BIOS shows only 3,539 MB of RAM available instead of the full 4,096. (Windows XP further haircuts this to 3.3 GB. Motherboard is an Epox 9NPA+ Ultra and the CPU is an AMD 64 4200+ X2 Manchester. Link to full system specs is in my signature -- "Main Workstation".)

There seems to be nothing physically wrong with the RAM or the motherboard. If I put two modules in DIMMS 1 & 2, the BIOS reports the correct amount of RAM (full 2 GB), and MEMTEST runs without errors. If I move those modules to DIMMS 3 & 4, ditto: 2 GB are detected, and MEMTEST runs fine. Testing the other two modules in the same way is identically trouble-free. It's only when all four memory slots are occupied that I come up short (3.5 GB instead of 4 GB).

So my question is why can't I get the motherboard to see all of the installed memory?

I'm using the latest BIOS from Epox (dated August 8), with memory settings defaulting to auto except DDR (forced to 200 MHZ, but the default 166 MHZ and even 133 MHZ showed the same amount of system memory, 3,539 MB) and DIMM voltage (forced to 2.6V, which is OCZ spec for these RAM modules; no idea what default setting was).

Thanks!
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
This is normal. As long as you're running in 32-bit mode, the TOTAL addressable space is 4 gigabytes. Now you obviously can't cover all of that with RAM ... your system essentials, PCI, AGP and PCIE devices need to map somewhere too.
 

mdubrow

Member
Apr 15, 2005
103
0
0
Peter,
Thanks, but why is it normal? Shouldn't the same deduction be made when I have 2 GB installed? Memtest reports that of the 3.5 GB acknowledged, 276 MB are reserved, which I assume is for the system essentials you mention. Windows shows the net amount of RAM (3,539 MB - 276 MB = 3,263 MB) as being availabe, which makes sense. The 3,539 MB shown at POST doesn't (to me, anyway, but I admit I'm pretty thick).

 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
2 GBytes of RAM leave half of the 4-GByte space available to map all the other stuff.
 

mdubrow

Member
Apr 15, 2005
103
0
0
Okay, I think I understand the problem better after reading this thread at PlanetAMD64. While this may be "normal," it is in no way acceptable, because the motherboard / BIOS should be able to map the physical memory around the space allocated to PCI and other devices in the 3.5 - 4 GB address range.

The Epox BIOS does have two options (both currently disabled by default) called "H/W Memory Hole Remapping" and "S/W" Memory Hole Remapping". I will try enabling one or both of these to see if that fixes the problem and allows all 4 GB of installed RAM to be seen by the system. That solution seemed to work for the fellow in the linked thread above (post #80 on page 4), so my fingers are crossed.
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
The CPU does map the masked amount of RAM to _above_ the 4-GByte boundary - where else? The 32-bit-addressable space is _full_.

You won't be able to reach that remapped amount until you use a 64-bit-enabled OS, or at least one that uses 32-bit mode with 36-bit mode extensions - e.g. XP pro.
 

KF

Golden Member
Dec 3, 1999
1,371
0
0
I asked around about the 4G that ALL mobos that use unregistered DIMMS claim is the limit when A64 mobos first started to be common, and never got a straight answer where the limit comes from.

My conclusion was that the memory controller for unregistered DDR on the A64 chip only implements 32 address lines. All memory beyond that is implemented only as virtual memory. That is just my conclusion. If true, that means all the memory that was, and still is, allocated for system use still has to be in the first 4G. For example, let's say 1/4 G of the video card memory were directly addressable. Then system RAM cannot occupy that space. If it were remapped as you say, it would no longer be directly addressable. The normal version of XP only operates in 4G of address space IAC, so XP drivers could not possibly work if part of the address space were bank switched, since the drivers were never designed to do that.

This is all supposition on my part, because I never found a straight answer.
 

mdubrow

Member
Apr 15, 2005
103
0
0
Apparently this is one of the great unsolved mysteries of modern computing! Let me comment on a few of my findings.

Peter, after reading AMD tech docs all morning, I have to disagree. The motherboard is responsible for mapping the physical memory of the system. The CPU then address the RAM that the motherboard has mapped. Hence, my conclusion that this is a motherboard issue, not a CPU issue. (In particular, see BIOS and Kernel Developer's Guide for the AMD Athlon 64 and AMD Opteron Processors and AMD Functional Data Sheet, 939-Pin Package documents.) I do not leave out the possibility that AMD is merely trying to shift responsibility to the board manufacturers for their own design issues.

I should note that I am using XP Pro, so it would seem from your statement that if I can get my motherboard to report more RAM, Windows would be able to use it. In any event, I'm also thinking ahead to the day when I do move to a 64-bit operating system, which probably won't be more than a year or so at this point (depending on the availability of drivers for my scanner, digicam, and printer--that's the only reason I haven't already gone to XP 64-bit), and I'm going to want to use all of the RAM I paid for.

KF, I believe you're correct in your statement that the drivers are allocated to a portion of the 4 GB space (from what I've been reading, that portion seems to be in the 3.5 - 4 GB range with PCI Express motherboards and 3.7 - 4 GB for AGP motherboards), and, as you observe, this addressable range is immovable. The motherboard should be able to allocate physical memory around the addresses reserved for drivers. Apparently, some do and some don't. Epox says that my motherboard supports up to 4 GB of RAM in the manual, and a few weeks ago they issued a BIOS update that allows the board to handle more than 4 GB of RAM. There is no footnote suggesting that I may not see all 4 GB of RAM due to legacy issues; presumably, that's what their BIOS programmers are paid to fix. :) I have emailed Epox support, so we'll see what they have to say (if anything) on this subject.
 

mdubrow

Member
Apr 15, 2005
103
0
0
BTW, just so's we're on the same page here:

I understand what you're saying about this being a typical problem. I'm just trying to see if anyone's found a workable solution or not. The thread that I posted above at PlanetAMD64 suggests a "tentative perhaps." Never venture, never win!

Thanks for getting me this far. I'll report the results of my experimenting tonight.
 

mdubrow

Member
Apr 15, 2005
103
0
0
I enabled both H/W Memory Hole Remapping and Software Memory Hole Remapping, and the BIOS now shows the full amount of RAM installed (to be precise, BIOS reports 4,194,304 KB available). I'm going to run Memtest overnight to see if it's stable.

Windows still shows the 3.3 GB, but at least the hardware is working properly.
 

mdubrow

Member
Apr 15, 2005
103
0
0
Just to close out this thread:

I ran Memtest overnight, and it recognized 4,096 MB of RAM cached, 276 MB reserved, and reported no errors after 6 passes.

Also, Epox Technical Support confirmed that enabling S/W Memory Hole Remapping in BIOS fixes the memory issue. (No idea what H/W Memory Hole Remapping does, since apparently it has nothing to do with this issue.)
 

grooge

Senior member
Dec 23, 2004
542
0
0
Originally posted by: mdubrow
Just to close out this thread:

I ran Memtest overnight, and it recognized 4,096 MB of RAM cached, 276 MB reserved, and reported no errors after 6 passes.

Also, Epox Technical Support confirmed that enabling S/W Memory Hole Remapping in BIOS fixes the memory issue. (No idea what H/W Memory Hole Remapping does, since apparently it has nothing to do with this issue.)

This is not an issue. This is normal. let say you have an office with 40 parking space available. your employees need 10 of them all business days.. So even if you have 40 parkng spaces, it dont means that you can have 40 custommers at one time.. but rather 30.
Unless you do some trick to use some other space somewhere that are not supposed to be yours, but can be used and leaving the 40 spaces free so 40 customers can be parked there.

this is not a bug, nor an issue.. only a particularity that is still haunting modern hardware design for compatibility purpose..

IRQ sharing was not always there.. yes, some time ago, there was enough IRQ for all that you ever needed.. but not now.. They invented IRQ sharing to "fix" the lack of IRQ lines that were implemented in the old hardware desing and that we still have for legacy souvenirs..