Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a memory SODIMM that has gone bad and I've replaced it. However I have another old notebook that could really use a memory upgrade, but I don't want to spend any money.

Repeated memtest86+ runs on the bad memory stick show that it is always several consistent addresses that are bad.

Is there any way I tell WinXP not to use a range of addresses? Or a utility I can install that locks these addresses at Windows startup. Or a BIOS upgrade I can install that will give memory address locking as a BIOS feature? Basically I want to do the equivalent of a low-level format with a hard-disk.

share|improve this question
    
most memory has a lifetime warranty just RMA it. –  user70810 Mar 9 '11 at 0:31
add comment

5 Answers

up vote 10 down vote accepted

You can't recover a damaged memory module and it should not be used in any equipment. Since you can't control what applications are loaded into what portion of RAM, it is possible that it can cause OS corruption due to corrupted updates or corrupt applications because of bad installs. RAM is cheap though, throw the bad stuff away and spring for some working RAM.

There is no way to "lock out" addresses from the OS. Even if you could, the module is failing. It's probably only a matter of time until more addresses are bad as well.

share|improve this answer
    
"Since you can't control what applications are loaded into what portion of RAM" -> I think that is very OS dependent. –  benc Aug 23 '09 at 6:11
    
You're right. That was written as a direct response the the OP's question where he said that he is using Windows XP. –  MDMarra Aug 23 '09 at 6:13
2  
Actually, Linux can block faulty parts of RAM, using the BadRAM patch: rick.vanrein.org/linux/badram I've never used it though. –  sleske Aug 1 '10 at 22:25
    
Down-voted because it's not actually true - MAXMEM is an option that can avoid a bad bit of RAM (and everything above that location unfortunately). –  mjaggard Oct 22 '12 at 14:54
add comment

You can check boot.ini and MAXMEM option. With this you can limit amount of memory your OS will use. Just be sure to put limit below those "damaged" addresses.

However, in my personal opinion, it is only worth as temporary solution. Permanent solution is to buy new memory module.

share|improve this answer
    
The correct link is support.microsoft.com/kb/833721 –  sorin Jan 31 '10 at 10:51
add comment

memory is dirt cheap these days. throw it away and buy a new one.

using bad memory is a risk. the bad parts of the memory could end up being used by any program, or perhaps even the kernel. imagine, for example, what could happen if crucial parts of the kernel's disk or filesystem code happened to be subtly corrupted because they were using that bad RAM. even an app using that memory could corrupt the data it's currently working with.

it's not worth the risk. throw it away.

(BTW, "throw it away" means physically destroy it and/or throw it in the bin....not "put it in a drawer just in case i need to use it someday". i highly recommend destroying it because you can have a lot of fun with a hammer and a bad memory module)

share|improve this answer
2  
New memory might be. Old memory sticks is not always dirt cheep though (if you even can find it). –  Nifle Aug 23 '09 at 9:18
add comment

I knew a really bright guy when I worked at Apple that had a bad simm and he was too lazy to order a new one, so he only ran a throwaway program over that address.

Over time, he noticed from the debugger that all the crashes were at the same address.

The problem here is, I doubt you want to be running Mac OS 7.5. But the general theory is this:

If you knew a lot about the hardware and the OS, you could probably script something at boot that would run two processes, one that eats up all the memory just before the bad hardware address, and then one that sits on the bad range.

The real problem is if it does crash, you need to find a way to re-squat on the space, or you will launch something important on it eventually.

In classic Mac OS, that was pretty easy to do, because the allocation was basically contiguous hardware memory blocks..

If you could suppress access to the process, (the equivalent of a kill -SIGSTOP), and HOPE that the system doesn't access the memory. Operating systems are so much more sophisticated with memory management now.

It also depends on whether the old memory causes a crash or the entire system to seize up. I don't really know enough about memory systems to say what the probabilities are.

And I freely admit: I'd never do this myself, I'm just posting because you asked.

share|improve this answer
add comment

You can use it, but it all depends on how the OS uses that memory. For example, it may cause the OS to crash or i tmay just affect some application that happens to use that address. So if you can afford a crash once in a while then it may work, if thats not an option then dont use it.

As far as upgrading bios or telling windows to not use that address, the answer is no. Upgrading BIOS is very hardware specific, but there is OpenBios, I dont think its going to help.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.