Page 1 of 2

ThinkPad T60p PAE memory not working

Posted: Mon Apr 07, 2014 5:03 pm
by dhinged
I have Windows XP Pro 32-bit with 4GB of RAM installed and PAE (Physical Address Extensions) enabled by default but it only shows 3GB in computer properties. Is there something I need to do to get it to recognize the full memory? I can't tell if this is a hardware, driver, or Windows limitation at this point (MSDN specifies it should work with Windows XP).

Processor: Intel Core Duo T7400 (2.16GHz)
Video card: 256MB ATI Mobility FireGL V5250

Re: ThinkPad T60p PAE memory not working

Posted: Mon Apr 07, 2014 5:21 pm
by RealBlackStuff
All T60/T60p models can only use ~3GB out of the 4GB that will fit in.
This is an Intel chip limitation and there's absolutely nothing you can do about that.

Re: ThinkPad T60p PAE memory not working

Posted: Mon Apr 07, 2014 7:41 pm
by dhinged
RealBlackStuff wrote:All T60/T60p models can only use ~3GB out of the 4GB that will fit in.
This is an Intel chip limitation and there's absolutely nothing you can do about that.
I've actually been reading contradictory things on this since I posted, such as Intel stating the 945GM and 945PM chipsets support 4GB on 32-bit, Microsoft states XP can use 4GB on 32-bit with PAE, but Lenovo stating it is only supported on 64-bit systems which is different than what you're saying so I'm not sure what to believe.

I am thinking of installing Windows 7 64-bit but I am afraid it will only use 3GB!

Here is the info I read:
Intel 945GM (32-bit 4GB): http://ark.intel.com/products/27857/Int ... Controller
Intel 945PM (32-bit 4GB): http://ark.intel.com/products/27858/Int ... Controller
Windows XP 32-bit 4GB: http://msdn.microsoft.com/en-us/library ... windows_xp

It seems the only limitation is Lenovo, but I'm not sure why!

How do I find out which chipset I have?

Re: ThinkPad T60p PAE memory not working

Posted: Mon Apr 07, 2014 7:51 pm
by ajkula66
dhinged wrote:
How do I find out which chipset I have?
Throw everything you've read about this subject matter through the window and listen to the wisdom of people who have gone through hundreds of these machines.

You can install 4GB. BIOS will show it.

The system will NEVER be able to address the last GB, regardless of OS.

Stay with a 32-bit version and call it a day.

That's all there is to it.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 12:29 am
by dhinged
ajkula66 wrote: You can install 4GB. BIOS will show it.
The system will NEVER be able to address the last GB, regardless of OS.
Stay with a 32-bit version and call it a day.
That's all there is to it.
OK, so is it Lenovo's fault, or is Intel lying? If it's Lenovo's fault, it seems there could be a software fix.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 2:25 am
by Tasurinchi
As Ajkula66 and RBS pointed above, it's a chipset limitation, I don't think it's anybody's fault since the chipset was designed like that. And no, there's no software fix possible.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 2:59 am
by Saucey
There's rumours that CoreBoot will remove the chipset limitation, thus opening 4GB ram limit or more.
But that process is far too complicated for me to understand nor am I willing to risk killing a T60 at the moment to try it.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 5:21 am
by dr_st
The memory controller in that chipset is 32bit as far as I know, so it can never address more than 4GB of RAM. It's a physical limitation of the chip, and I fail to see how it can be removed.

http://ark.intel.com/products/27858/Int ... Controller

What CoreBoot or similar utlities might be able to do, is expand the usable memory a bit by setting the TOLUD register ("top of low used DRAM") to something higher than 3GB, maybe around 3.25-3.5GB range. It has been done on some platforms. However this opens you up to the risk of running out of memory resources for PCI devices, depending on your hardware configuration and connected peripherals.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 3:09 pm
by FryPpy
dr_st wrote:is expand the usable memory a bit by setting the TOLUD register ("top of low used DRAM") to something higher than 3GB
+100
But the first device that occupy lower addresses in 4th Gb is ATI video. I don't find a way to relocate used (mapped) memory to higher addresses. And i think that this limitation is in video BIOS (which is a part of main BIOS).

MOREOVER
dhinged wrote:and PAE (Physical Address Extensions) enabled by default
Not all Win XP versions can use advantages of PAE. SP3 (and AFAIK SP2) can show that PAE is enabled, but don't use it. M$ switches on PAE to make NX (DEP) working, but 3nd address translation was cleared from kernel code and max addresable RAM is 3GB (+ someting if you can to move devices to higher addresses).
It can be checked on modern computers (T61 for example).
Another BAD THING. There is a non official PAE patch - which makes Win XP SP3 PAE ENABLED (max usable RAM is ~64GB ;) But XP 32 PAE and XP 64 can't hibernate with more than 3GB RAM! And it is bad thing for notebook. I have tested it on T61 (frankenpad) with 8Gb RAM and it works as i described (with error in resume from hibernation).

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 3:18 pm
by Saucey
Ah. So even if hypothetically it opens the 3GB RAM limit, it may ruin the GPU...
So then there is no point other then having a free bios, safe from "backdoors".

Thanks for clarifying dr_st and FryPpy :D

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 3:30 pm
by dr_st
FryPpy wrote:But the first device that occupy lower addresses in 4th Gb is ATI video. I don't find a way to relocate used (mapped) memory to higher addresses. And i think that this limitation is in video BIOS (which is a part of main BIOS).
Could you elaborate? are you referring to the RAM regions within the first 1MB reserved for video BIOS (A0000-BFFFF)? That's been like this on all chipsets, all platforms, and will be like this forever, to maintain compatibility with BIOS and DOS.

Sorry, I read it wrong. Now I see what you mean.

So you are saying that the ATI GPU hard-codedly asks for memory immediately above 3GB, and you found no way around it?

Interestingly, on my T60, the X1400 reserved memory regions (those outside the first 1MB) start at 3.375GB, according to the device manager. Even though the PCI bus claims everything above 2GB (cause that's how much RAM I have), there are nothing between 2GB and 3.375GB (D800:0000). So in theory, ~3.3GB of free physical RAM could be usable on this machine. Of course the difference between 3.0GB and 3.3GB is so marginal, that it's not surprising nobody bothers with deploying such hacks.
dhinged wrote:Not all Win XP versions can use advantages of PAE. SP3 (and AFAIK SP2) can show that PAE is enabled, but don't use it. M$ switches on PAE to make NX (DEP) working, but 3nd address translation was cleared from kernel code and max addresable RAM is 3GB (+ someting if you can to move devices to higher addresses).
It can be checked on modern computers (T61 for example).
Another BAD THING. There is a non official PAE patch - which makes Win XP SP3 PAE ENABLED (max usable RAM is ~64GB ;) But XP 32 PAE and XP 64 can't hibernate with more than 3GB RAM! And it is bad thing for notebook. I have tested it on T61 (frankenpad) with 8Gb RAM and it works as i described (with error in resume from hibernation).
Interesting information. The fact that support for >4GB physical RAM was removed from XP starting from SP2 is documented (on Geoff's Chappell's site, for example). The existence of unofficial patches to unlocked the locked memory was also known, but I guess they were never widespread, because by the time 4GB+ of RAM became standard, Vista and Win7 were already the mainstream. In any case, your information shows that XP SP2+ really cannot handle more than 4GB of RAM well.

There are working patches for 32bit Vista/7 that enable 4GB+ of RAM, and they have no unfortunate side effects as far as I know.

But none of this will help you with a T60, of course, since the limitation is in the hardware.
Saucey wrote:Ah. So even if hypothetically it opens the 3GB RAM limit, it may ruin the GPU...
It won't ruin anything. Things just might not work because of insufficient address space for their memory mapped IO.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 09, 2014 4:10 pm
by FryPpy
I do not remember exactly, but i think video region begins from C000 0000. There is no other hardware configurations to switch to (to remap resourses occupied by ATI) in Windows device properties.
dr_st wrote: There are working patches for 32bit Vista/7 that enable 4GB+ of RAM, and they have no unfortunate side effects as far as I know.
The only side effect is not compatible drivers. AFAIK There was problems with Intel X3100 video drivers for W7 (32 PAE). There was workaround for this bug. But this is not the only driver that have PAE bug.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 12:41 am
by dr_st
FryPpy wrote:I do not remember exactly, but i think video region begins from C000 0000. There is no other hardware configurations to switch to (to remap resourses occupied by ATI) in Windows device properties.
So this makes your setup different from mine (mine starts at D800:0000). I think however that the resources may be allocated dynamically by the BIOS, so changing the TOLUD may cause it to adjust. But not sure.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 5:50 pm
by dhinged
Tasurinchi wrote:As Ajkula66 and RBS pointed above, it's a chipset limitation, I don't think it's anybody's fault since the chipset was designed like that. And no, there's no software fix possible.
So then Intel is lying.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 5:52 pm
by dr_st
dhinged wrote:So then Intel is lying.
What is their lie?

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 5:53 pm
by dhinged
dr_st wrote:The memory controller in that chipset is 32bit as far as I know, so it can never address more than 4GB of RAM. It's a physical limitation of the chip, and I fail to see how it can be removed.
I'm fine with it being a 4GB limit, because that's what I have, but it's only registering 3GB.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 5:56 pm
by dr_st
dhinged wrote:I'm fine with it being a 4GB limit, because that's what I have, but it's only registering 3GB.
The chipset supports 4GB of addressing space. This is not a lie. Some of this addressing space has to be reserved for devices and so cannot be utilized by RAM. That is by design. I see no lie here.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 5:57 pm
by dhinged
dr_st wrote:
dhinged wrote:So then Intel is lying.
What is their lie?
That the chipset supports 4GB. If it does, then Lenovo is the problem.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 6:14 pm
by dhinged
dr_st wrote:
dhinged wrote:I'm fine with it being a 4GB limit, because that's what I have, but it's only registering 3GB.
The chipset supports 4GB of addressing space. This is not a lie. Some of this addressing space has to be reserved for devices and so cannot be utilized by RAM. That is by design. I see no lie here.
1GB has to be reserved for devices? That doesn't explain why it still registered 3GB when I only had 3GB in it.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 10, 2014 6:50 pm
by dr_st
Think about it some more and understand how these things work.

There's physical RAM and there's addressing space.

For simplicity, the architecture uses a trick called memory-mapped I/O, where the devices reserve part of the addressing space for themselves, and then the drivers can access the device configuration in the same way they access physical memory.

It is not the RAM that's reserved, but the address space.

Whenever the address space is larger than the physically installed RAM, it is possible to use for MMIO that portion of the address space that is unused anyway, and no actual RAM will be "hidden".

However, when the address space is smaller or equal to the size of the installed RAM, some of the RAM will inevitable by "hidden" and therefore inaccessible, because those addresses have to be allocated to the devices.

Re: ThinkPad T60p PAE memory not working

Posted: Sat Apr 12, 2014 1:01 pm
by dhinged
dr_st wrote:Think about it some more and understand how these things work.
Let me better explain. When I had 3GB of physical RAM in the computer, it showed 3GB in My Computer > Properties > General tab, and Task Manager > Performance tab showed Physical Memory Total as 3GB, and nothing ever indicated any more than that was allocated, registered, used, whatever. With 4GB of physical RAM in the computer, it showed the same thing everywhere, no matter what.

The ThinkPad simply will not recognize more than 3GB, and because Microsoft says it's possible and Intel says it's possible, the problem must be Lenovo.

I will install Windows 7 64-bit and see what happens.

Re: ThinkPad T60p PAE memory not working

Posted: Sat Apr 12, 2014 2:59 pm
by RealBlackStuff
Why do you not listen to what everybody has told you?
You can install a 1024-bit OS if you can find it, and the T60 still will not recognize more than 3GB!

Re: ThinkPad T60p PAE memory not working

Posted: Sat Apr 12, 2014 4:35 pm
by dr_st
dhinged wrote:The ThinkPad simply will not recognize more than 3GB, and because Microsoft says it's possible and Intel says it's possible, the problem must be Lenovo.

I will install Windows 7 64-bit and see what happens.
You really seem to not understand what I'm saying, or what others are saying, for that matter.

But it doesn't matter. Most people don't fully understand the details of the technology. You don't have to understand how and why, just accept the fact that your T60 will not utilize more than 3GB, no matter what OS you use. :??:

I can try to explain again, maybe in more detail, if you are interested and you think it will help...

Re: ThinkPad T60p PAE memory not working

Posted: Sat Apr 12, 2014 11:46 pm
by ajkula66
dhinged wrote:
I will install Windows 7 64-bit and see what happens.
I'll tell you what will happen since I've been there and done that: it will only "see" 3GB of RAM.

What you fail to understand is that even a 32-bit OS - at least W7, could check Vista if needed - will recognize and report more RAM (8GB if so installed) than it can actually address but will stay at 3GB usable...provided that the chipset supports the "extra" RAM for it to "see"...

Re: ThinkPad T60p PAE memory not working

Posted: Sun Apr 13, 2014 2:06 am
by Saucey
Win 7 works great on the T60s I've used.
Though I trim/debloat ram hungry processes, it still should run like a champ.
I'm stuck at 32bit OS but I'm ok with it because I don't own any 64-bit only programs that I thrive on.

Re: ThinkPad T60p PAE memory not working

Posted: Sun Apr 13, 2014 10:02 pm
by dr_st
BTW, to emphasize a previous point:

This is what happens when you set TOLUD too high:
http://forums.lenovo.com/t5/T400-T500-a ... d-p/466099

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 23, 2014 3:00 pm
by dhinged
Saucey wrote:Win 7 works great on the T60s I've used.
Though I trim/debloat ram hungry processes, it still should run like a champ.
I'm stuck at 32bit OS but I'm ok with it because I don't own any 64-bit only programs that I thrive on.
I installed Windows 7 64-bit and it still says there's 4GB total and 3GB usable. With 3GB installed it says 3GB total and 3GB usable. That's what I'm trying to explain, it's contradicting what is being said that it's reserving 1GB for devices or whatever and leaving the rest for me. There's 3GB usable whether there's 3GB or 4GB installed; it's not reserving 1GB with 3GB installed and saying 2GB usable. Something else is going on; that's what I'm afraid is not being understood, and Lenovo seems to be the roadblock here.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 23, 2014 3:11 pm
by ajkula66
dhinged wrote: I installed Windows 7 64-bit and it still says there's 4GB total and 3GB usable.
Which is what some of us have told you would be the case in the first place... :roll:
With 3GB installed it says 3GB total and 3GB usable. That's what I'm trying to explain, it's contradicting what is being said that it's reserving 1GB for devices or whatever and leaving the rest for me. There's 3GB usable whether there's 3GB or 4GB installed; it's not reserving 1GB with 3GB installed and saying 2GB usable. Something else is going on; that's what I'm afraid is not being understood, and Lenovo seems to be the roadblock here.
I really don't understand what you don't understand.

The machine "sees" full 4GB but the chipset can only utilize 3GB.

End of story. Years ago.

Re: ThinkPad T60p PAE memory not working

Posted: Wed Apr 23, 2014 5:57 pm
by twistero
dhinged wrote:That's what I'm trying to explain, it's contradicting what is being said that it's reserving 1GB for devices or whatever and leaving the rest for me. There's 3GB usable whether there's 3GB or 4GB installed; it's not reserving 1GB with 3GB installed and saying 2GB usable. Something else is going on; that's what I'm afraid is not being understood, and Lenovo seems to be the roadblock here.
As others have repeatedly said above, the "1GB" that's being "reserved" is not physical memory. It's memory address space.

Let's try this example:

Suppose there is a telephone system that uses 4-digit phone numbers, so there are 10000 possible numbers: 0000 - 9999. This is the "telephone number address space".
Right now there are 5000 users of this phone system. This is your "physical memory". Each user has a phone number between 0000 and 4999.
However, the phone system has to service more than users: there must be reserved numbers for emergency service, directory service, operator, etc. Therefore, the telephone system reserves the entire 9000 - 9999 block for these special services. This is the same way a chipset has to reserve memory address space for hardware devices like video cards.

Now, suddenly 5000 more people arrived, making 10000 people in total. In other words, you "installed more physical memory".
Even though there are technically 10000 phone numbers available, 1000 of them are reserved and cannot be assigned to users. Therefore, only 9000 users can be assigned telephone numbers from 0000 to 8999. The remaining 1000 users do not have telephone numbers, and are therefore unreachable by phone.

This is the limit of the 4-digit telephone numbering system, just like the 32-bit chipset limitation. It doesn't matter that your phone can handle 8-digit phone numbers, just like it doesn't matter that the OS is 64-bit capable. You may even know that there are 10000 people, like how the OS knows there are 4GB memory installed. You still can't reach the 1000 remaining users on your awesome phone.

Re: ThinkPad T60p PAE memory not working

Posted: Thu Apr 24, 2014 3:02 pm
by dhinged
OK, I've re-read everything everybody's said here, and the one bottleneck seems to be the chipset (I'm assuming dr_st meant the Intel 945 chipset) only working at 32-bit even with 64-bit Windows, even though Intel says it supports 4GB based on the "memory type" (DDR2-400/DDR2-533/DDR2-667), but I'm unsure of how to check which memory type I have in Windows 7 rather than pulling apart the laptop, but I'm assuming it's 667 because that's what the CPU's at (Intel Core 2 Duo T7400), but that's a 64-bit chip.

So what bothers me (if dr_st is indeed referring to the 945 chipset) is that Intel says it supports 4GB but you're telling me that it's only 32-bit so won't, unless there's some other chipset he's referring to that hasn't been named here; that's why I'm saying Intel is not correct unless I'm just not using the correct memory type.

Any other workarounds or hacks or whatever would be nice to know. This is a great laptop and I only occasionally have a memory issue but I would like to make it last as long as I can. Thanks and sorry for the trouble.