Welcome to EMC Consulting Blogs Sign in | Join | Help

James Hayes' Blog

The world as viewed by an IT Manager...

Dell D820 4GB memory problem (Part 3)

Dell released the updated BIOS A04 to their support.euro.dell.com website this week but following installation there are still problems.

Let's start with the installation process itself - nice and easy, double click on the installer within Windows.  System then reboots.  The Dell logo appears and the BIOS progress bar moves across the screen.  So far so good.  That screen is then replaced by a screen warning that:

The amount of system memory has changed.
If you did not change your memory...
To resolve this issue, try to reseat the memory.

Not the most helpful error meesages I've ever seen, especially since I haven't actually done anything physically to the memory at all.

More significantly though there's no way of getting rid of this and proceeding with the boot.  Try hitting the Function keys.  Nothing.  What about Insert.  Still nothing happening.  Maybe Escape will do something.  Nothing.  Return must work.  Nope.  Hmmmmm.....

Whilst pondering my next steps the system beeps at me.  Underneath the previous text is now added:

Strike the F1 key to continue, F2 to run the setup utility
Press F5 to run onboard diagnostics.

Well, finally.  It transpires this message is delayed by 30 seconds.  Some information about that delay would be good.  Oh well.  At least I've got options now.  Let's press F2 and go and see what the new memory allcoation is like.  Under the Memory Info tab in the BIOS the system still recognises that 4096MB is installed.  Unfortuntely the Memory Available field only shows 3327MB.  Booting into Windows confirms it - the system is only making 3.3GB available to the OS.  That's better than the previous 3072MB but still nowhere near the 4GB we've paid for.

The changelog that comes with the BIOS file reports a couple of Fixes and Enhancements, one of which is "Increased amount of memory available for use when 4 GB of memory is installed".  That may well be true, but nowhere do Dell mention that you're still not going to get the full 4GB experience.  Either this update hasn't been fully tested (unlikely since the BIOS build date is the 13/10/06 which has given them nearly 10 days to find this out) or Dell have assumed that users won't mind getting 75% of the RAM they've paid for.  It's an interesting marketing ploy if that is the case.

A further call to Dell tech support ensues and, to cut a long story short, this isn't something they've seen before.  To Dell's credit the call is promptly answered by a human who skips all the stupid questions and gets straight on to speaking to his colleagues to see if they've had this issue raised before.  I've heard bad stories about their tech support in the past, and have been unfortunte enough to experience it myself on occasion too, but this time I can't fault it.

Anyway, I've been promised a call from a senior techies later on today.  Needless to say I'll update as soon as I hear anything.  In the meantime if anyone has seen this same problem and knows how to resolve it then please post a comment below and let me know.

Part 2 of this saga is here.
Part 1 of this post can be found here.
 

Published 26 October 2006 12:48 by James.Hayes
Filed under: ,

Comments

 

James's Blog said:

November 7, 2006 21:35
 

Dan_Seddon said:

I've had exactly this problem after I installed a full 4GB of memory last night (it came out at 3.3gig with A04), I haven't contacted Dell yet. It's very fustrating as my main reason for upgrading to a newer laptop was having more memory to work with, as memory is vital for the work I do. I feel pretty ripped off - I'd be very interested to hear if Dell got back to you and if there's any solution to this.

November 21, 2006 13:05
 

DellCA said:

Hello-

I am a customer advocate at Dell headquarters. I have read your saga, and wanted to make you aware of the probably source of your problem.

The source of this problem is the physical mimitations of a 32-bit operating system, namely, there are only 4GB worth of allocated memory addresses available for the system's use, as a 32-bit OS treats memory addresses as a 32-bit integer value. The OS can only allocate memory addresses from 0x00000000 to 0xFFFFFFFF, and as a result, the system can only address 4 Gigabytes of memory. This includes all memory addresses, not just those addresses usable to you and all user-started applications. (http://en.wikipedia.org/wiki/Memory_address)

The 1GB you are "missing" is actually a limitation of Windows XP (and all other 32-bit versions of Windows), as since there is only 4GB worth of memory addresses available for the OS to reference, a portion of this memory must be reserved for use by the system in referencing all devices, i.e. RAM on the graphics card, the BIOS, any onboard devices, I/Os, and reserved memory addresses. As shown here (http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx) 3GB of memory is the maximum allowed for Windows 32-bit OSs at this present time. The rest are reserved by the software developers for kernel use.

Unfortunately, no BIOS upgrade will change the limits of the software, as you are discovering. In order to fully use more than 3GB of memory a 64-bit OS is required.

If you have any questions, please email me at customer_advocate@dell.com

John

Dell Customer Advocate

November 29, 2006 19:40
 

bganesha said:

The post from DellCA (John) is absolutely wrong. Windows XP SP2 support 4 GB of physical RAM. The virtual address space is limited to 4 GB but that applies to processes and applications. Of the 4GB of virtual address space, 2 GB of that space is available for applications to use and 2 GB is reserved for kernel structures. With /3GB flag in boot.ini, 1 GB of the address space can be "stolen" from the OS related structures and provided to the user space. All this (discussed in the URL that DellCA pointed out) is for processes that run under Windows XP.

Anyway, since we can continue the discussion forever without any resolution, I did the absolute test. I downloaded an evaluation version of Windows XP 64 bit from Microsoft and installed it on my D820 (I did Ghost my drive so I could go back after proving DellCA wrong! :-)).

And now the result....ding...ding....ding...the OS reported exactly what one would suspect-- 3.25 GB of RAM. So, as suspected DellCA (or the people providing information to him) was incorrect. The Dell BIOS basically sucks (literally 0.75GB of RAM). Dell, please accept that and fix the problem instead of going around in circles. More importantly, if this was really true, you should not be selling 4 GB of RAM to folks with 32 bit OS. I am going to kindly ask for a refund of 1 GB of RAM (not the price of 1 GB memory card but 1/2 the cost of 2 GB of RAM since the 2 GB card is priced atrociously!).

Bala

December 8, 2006 03:41
 

DellCA said:

Very interesting, indeed. I am taking the matter up with some contacts I have in engineering.

Apparently the information I received was not correct. Hopefully, engineering will be able to shed some light on this one for us all.

John

December 8, 2006 19:41
 

DellCA said:

I have spoken with representatives from our engineering department at great length, and they gave me some very relevant information.

Since 32-bit OSes and processors are capable of addressing 4GB of memory, it is commonly assumed that one should be able to install and fully utilize 4GB of RAM. This is not the case, however.

When the system boots and assigns I/O addresses this reduces the amount of RAM available to the system. This is not done by actually using that memory, but it is done by using the assignable memory addresses for other uses, thereby reducing the OS's and processor's available memory addressing space. About 3/4th of the last 1GB of addresses is utilized in your system for the PCIE bus addressing and the VRAM addressing, leaving you with about 3.2GB of usable addresses for RAM addressing.

Concerning the 64-bit OS situation: this system is a notebook which utilizes 64-bit emulation technology on a Intel designed IA32 chipset. The notebook was designed to emulate 64-bit to enable it to interface with the 64-bit architectures found in servers (for using this system in a business environment where an IT professional would need to remotely administer those systems, e.g.). So, while you can install a 64-bit OS on these machines, it is still confined to using a 32-bit addressing scheme at the BIOS level, hence the 'missing' RAM.  Intel based notebooks from all vendors that utilize 64-bit in any way operate in this way. Even the upcoming Windows Vista will be 32-bit on portables and desktops, with the 64-bit version being marketed primarily for server applications. EM64T technology is industry standard at this point for 64-bit applications on Intel-based PCs.

To summarize, what you are seeing is a limitation of the IA32 architecture, as designed by Intel.

Is there a benefit to installing 4GB of RAM on these systems? The answer is YES. Even though the system can only address a little more than 3GB of RAM due to those constraints, when the memory is installed in matched pairs on these systems, the system operates in Dual Channel Interleaved mode (as opposed to Dual Channel Asymmetric or Single Channel mode). When in DCI mode, memory bandwidth is increased from 5.3GB/s to 10.7GB/s, meaning your memory bandwidth effectively DOUBLES. There is a substantial performance increase from installing matched pairs (2X2GB) in these systems than installing one 2GB DIMM and one 1GB DIMM.

If any of you really want to get into the nuts and bolts, you can go to Intel's website and search for their whitepaper for the IA32 design, where this design limitation is noted.

I hope that this answers any questions you all may have. If not, please feel free to let me know.

December 12, 2006 22:31
 

DellCA said:

A few more details, for those who are interested.

This issue is a well known issue on all current Intel based mobile computers from us and our competitors. The problem here is being driven by a chipset function called I/O memory mapping. In short, all devices on the board (LOM, Graphics, etc.) require some equivalent amount of your system memory allocated to them in order to function, which of course leaves less than 4GB for allocation for your usable physical memory.

Since PCIE has been implemented in mobile chipsets, the issue has become more noticeable, This is because the PCIE bus has a very large 'tax' compared to a PCI bus, meaning much more memory addressing allocation is required for the I/O memory mapping of this device.

Technology is being developed for mobile platforms at this time which will do the I/O memory mapping in higher memory (not between 3-4GB range, but in the upper memory range of the theoretical limit of 64-bit technology, which is 64GB). This technology is not available quite yet, but is on the horizon.

The A04 BIOS revision you have installed in effect 'reclaimed' up to 256MB from I/O memory mapping for use. It is a small improvement, I know, but were you able to somehow 'reclaim' the total sum of that last GB, your system of course would not be able to initialize any onboard devices, and as a result, would not boot.

I will be happy to provide you with any information I can. If you have any questions, you can either contact me via email, or of course post them here. You can also start a discussion on our Community Forums (http://forums.us.dell.com/supportforums/?~ck=mn) where you would have the added benefit of several experts and Dell representatives.

John

Dell Customer Advocate

John

Dell Customer Advocate

December 13, 2006 15:25
 

sean said:

Hi all,

This has probably come too late to be of any use now (or you found out ages ago anyway), but:

http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx

Not saying that it isn't anything to do with BIOS, but we use the /PAE extension  on our 32bit servers and get the full 4 gigs.

Thanks for the 'wait 30 seconds' memory best.. it helped a lot!

Sean

May 2, 2007 12:51
 

kinan said:

Hi,

I was about just to buy the D820 with 4GB as I need to run lot of VM's. Thanks a lot for posting this James. I just wonder, does DELL engineers read the articles they posted here (the URL)? I 've alerted by few points:

1. I wonder if the reserved addresses for I/O, VRAM and others is taken as percentage. I mean if the I/O ports and VRAM needs fixed amount of pool in the memory, why don't we found the same loss when smaller memory installed?

2. The URL to MS site (http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx) is pointing directly to the extension (PAE) which we uses since years with more than 4GB ram and it works like charming.

3. The limitation of 64Bit version is not 64GB smar guys!! It's 2TB which telling you, HELLLLLO, wake up and go do your homework.

I'll check more details at Intel site and come back, but I really don't buy the paragraph about the simulation on IA32 to support the 64Bit S/W!! Nothing so far I read at Intel site confirms that.

Although I was going to buy it and use the 64bit edition of VESTA on it. It seems I'm going to find another vendor, who can at least provide a realistic and sintific answeres.

Kinan

May 18, 2007 00:18
 

Mike Clevenger said:

After installing VMWare 6 on WindowsXP SP2 I noticed very slow start up times. The desktop and system...

July 13, 2007 06:19
 

cjbreisch said:

I've been working with computers long enough to know BS when I smell it.  And one part of DellCA's post has my BS meter pegged to the wall:

<blockquote>In short, all devices on the board (LOM, Graphics, etc.) require some equivalent amount of your system memory allocated to them in order to function, which of course leaves less than 4GB for allocation for your usable physical memory.</blockquote>

If that were really true, then these devices would require this memory at all times.  In other words, I'd see this same problem at 2 GB.  I don't.  I can verify that with 2 GB of RAM in my D820, I see 2 GB.  It's only when I get to 4 GB that 750 M is magically missing.

July 17, 2007 14:27
 

cjbreisch said:

Ok, the explanation is better here:

http://support.microsoft.com/kb/929605

Since my video card, etc. have their own RAM, it must be addressable.  The addresses given to these devices are at the high end of the 32-bit address space (4 GB).  Therefore, I can't use any REAL RAM that wants to use that same address space.

July 17, 2007 15:26
 

skibrianski said:

Kinan:

To respond to your points:

1: read what the other posts have said. It is only the address space above 3.25GB that is used, and it is always used, regardless of the amount of physical memory installed.

2: PAE is not the problem here, nor would running in 64-bit mode help - it's a hardware limitation of the chipset.

3: Take it easy. He's actually right. Most 64bit intel processors are limited to 36 bits of physical memory (which works out to 64GB), although the newer ones support up to 40 bits (1TB)

http://en.wikipedia.org/wiki/EMT64#Older_implementations

Even though the Dell guy's first response was wrong, his second one hits the mark. The problem is unfortunately Intel's chipset.

3. The limitation of 64Bit version is not 64GB smar guys!! It's 2TB which telling you, HELLLLLO, wake up and go do your homework.

July 31, 2008 01:59
 

skibrianski said:

oops, ignore that last line, which was left in my copy buffer apparently.

July 31, 2008 02:13
 

RobertJackson said:

I have a question.

Keeping the numbers simple. If I have a dell with 1GB allocated to I/O, I am left with 3GB of hardware memory.

If I set the /3GB switch to enable 3GT mode, I change my virtual memory split between the OS and the application from 2GB OS - 2GB App to 1GB OS - 3GB App.

So worst case say the OS was almost using all 1GB of its split...and the app was using almost all of 3GB of its split. Between the remaining 3GB of available hardware memory and paging...I had better still have at least a Gb of virtual memory?

Or had I better have 4Gb or virtaul memory? 3Gb to shadow hardware memory and the extract gig to make up the delta to the 32 bit limit of virtual addressing?

Robert

September 16, 2008 00:23
 

RobertJackson said:

OK. It looks like paging on the most part only contains private process data that has been paged out.

Adding 1Gb of paging would be valid in the above scenario if I were only running one app with the OS. But in reality the paging file should be as large as necessary to hold the paged out data of the currently executing program and the paged out data of all the other programs?

So what is the theoretical limit on the page file under 32 bit windows?

September 16, 2008 01:26
Anonymous comments are disabled
Powered by Community Server (Personal Edition), by Telligent Systems