Tests good. Works bad.
December 27, 2011 6:07 PM   Subscribe

I have some RAM that is (apparently) bad. However, it passes a memory test just fine. Why?

I have an older-bordering-on-obsolete system that uses DDR2 RAM. Recently I came across 2x2GB DDR2 sticks, and since DDR2 is expensive/scarce these days, I wanted to give myself an upgrade (2x2GB to 4x2GB).

When I install the RAM, though, Windows (7) freaks out. Random crashes (app, kernel, and driver!) everywhere within a few minutes. Last time I tried booting with the extra RAM in, Windows couldn't even get past boot and login without throwing a kernel panic.

So the obvious conclusion is that at least one of these RAM sticks is bad. I fire up the bootable version of Memtest86+ from a USB drive, and let the scan run for several hours.

But here's the part that I find perplexing: Aside from a single flurry of six errors (spaced very closely together) during one test, the memory tests good! I've been unable to reproduce the errors I encountered by rerunning the tests, either.

Yet, I boot into Windows again, and the errors start popping up again immediately. If I take the questionable RAM out, Windows behaves normally again with no errors.

So my question is: If this memory is so obviously error-prone that it makes Windows unusable within minutes, why the heck is it fooling the memory test? Is there a better memory tester I can try? And more practically, how do I find out which (both? one?) of the sticks is actually bad?

(Gory details that I don't think are relevant, but I'll include them anyways: My motherboard is a Biostar TA790GX, processor is Athlon 64 X2 6000+, and the RAM is Corsair DDR2 400 MHz. I'm hardware-literate enough to build/upgrade my own systems but I'm definitely not an advanced hardware geek.)
posted by neckro23 to Computers & Internet (13 answers total)
 
Best answer: The new RAM sticks might not be compatible with your motherboard. It's happened to me a couple times. Your motherboard manufacturer probably has a compatibility list somewhere with specific model numbers and sizes.
posted by hamsterdam at 6:14 PM on December 27, 2011


Response by poster: Memtest86+ reports 400MHz on both the mystery RAM and known-good RAM. Looking at CPU-Z right now on the good RAM, it also says DRAM Frequency is 400MHz.

My good RAM is "Corsair XMS2" branded, mystery RAM is "Corsair Gaming Memory" branded. As far as I can tell they have the same specs.

It's obviously supported by the motherboard since memtest86 can access it. I'm beginning to wonder if this isn't some weird motherboard driver issue with Windows, though.
posted by neckro23 at 6:27 PM on December 27, 2011


Athlon 64s tend to have problems using four sticks of RAM. You might have better luck adjusting the timings (especially 1T to 2T) or switching the single channel. If you're sure some of the RAM is actually bad, switching to single channel might make it easier to determine which stick it is with Memtest86+.
posted by WasabiFlux at 6:29 PM on December 27, 2011


Best answer: But here's the part that I find perplexing: Aside from a single flurry of six errors (spaced very closely together) during one test, the memory tests good!

So apart from the fact that the test reported errors, it didn't report errors?

Memory timing is affected by all sorts of things (power supply voltage, bus loading, memory data content to some extent, access patterns). All that memory testing software can ever do is demonstrate that the RAM is not OK; it can never prove that it is OK, because there will always be ways that RAM gets accessed while in use that can't be covered by the tests. This is exactly why I advise people to run memtest86 at least overnight and preferably for 24 hours straight before ruling out RAM trouble.

Your mistake was to discard memtest86's error report as an irreproducible outlier, rather than treating it as the definitive indication of fault presence that it actually was. Good RAM correctly seated in a compatible mobo should provoke no error reports from memtest86. Ever.
posted by flabdablet at 6:43 PM on December 27, 2011 [2 favorites]


Response by poster: On further discussion on IRC (thanks Edogy!) it looks like this might just be a motherboard compatibility issue.

So I'm bitten by details again. It's always details!

My old memory is Corsair XMS2. It is currently holding the contents of this comment, so I can't check the part number right now. According to CPU-Z, CAS latency is 5-5-5-18, DRAM frequency is 387.5 MHz.

Mystery memory is Corsair "Gaming Memory", part number CGM2X2G800. According to this, the timing matches, but the speed is 800 MHz. Is this my problem? I am pretty sure my old RAM said "800" too, so I figured this was just marketing-speak (400 MHz? Double data rate? That's 800!) but that's where I may have gone wrong.

> Your mistake was to discard memtest86's error report as an irreproducible outlier, rather than treating it as the definitive indication of fault presence that it actually was. Good RAM correctly seated in a compatible mobo should provoke no error reports from memtest86. Ever.

You're probably right. What confused me wasn't the presence of errors but their scarcity compared to the results I was getting in practice. I figured it was either bad RAM or I was doing something wrong. I didn't consider that it could be both.
posted by neckro23 at 6:54 PM on December 27, 2011 [1 favorite]


I once had some RAM which didn't work properly unless the voltage was increased slightly in the BIOS. That may or may not be an option for you.
posted by alexei at 8:41 PM on December 27, 2011


I've seen instances where a PC had four RAM slots, was only using two, and one of the unused slots went bad, and I didn't notice until I had tried to add more RAM.

Might it be possible to put the known good memory into the heretofore unused slots, and try the suspect memory in the known good slots?
posted by AMSBoethius at 9:32 PM on December 27, 2011


It's obviously supported by the motherboard since memtest86 can access it.

For the record, this is a false assumption.
posted by krilli at 10:39 PM on December 27, 2011


Aside from a single flurry of six errors (spaced very closely together) during one test

That's bad memory. Probably just one spot on one chip on one DIMM, but still bad. Memtest86 isn't like horseshoes and hand grenades, ANY error is a failure.
It's obviously supported by the motherboard since memtest86 can access it.

For the record, this is a false assumption.
The speed and timing might not be supported, but the size and configuration has to be.
posted by gjc at 11:29 PM on December 27, 2011


Best answer: I am now going through this. Cheap RAM installed and then unprecedented kernel panics start appearing. I ended up doing some research and found a vendor that listed RAM by compatibility including specifically for my mobo. Bagged the cheap RAM and am now waiting for the replacement. Memtest showed no errors, but I am not impressed, since who knows what goes on in RAM duing actual use and exactly how that relates to the concise patterning that memtest uses is pretty undefined.
posted by telstar at 3:47 AM on December 28, 2011


I'm not sure if you've done this yet, but you'll want to make sure the similar pairs are installed on the same channels. For most motherboards this would mean in an alternate pattern (old, new, old, new). The DIMM slots should be color coded for reference. The reason this is needed is so the motherboard can properly down cycle the frequency to the slowest pair of chips. Have you tried *just* the mystery memory by itself? If that works fine I'd suspect a down cycling issue from 800mhz to 400mhz
posted by samsara at 9:31 AM on December 28, 2011


Response by poster: The channel thing occurred to me this morning. I checked, and I did have the good RAM on the same channel, and bad RAM on the other channel. This means that I wasn't running dual-channel before, which I guess explains some performance issues I've been having. D'oh!

The good RAM is this stuff, which appears to be exactly the same specs as the mystery RAM, as I suspected. Why it won't work is still a mystery to me.

At any rate, my BIOS appears to have zero memory options, so I can't even try tweaking those. It looks like I won't be able to use this after all. Thanks for the help, all!
posted by neckro23 at 9:50 AM on December 28, 2011


At any rate, my BIOS appears to have zero memory options, so I can't even try tweaking those.

Actually, you should be able to change those timings using MemSet or CPU-Tweaker (both freeware).
posted by arm's-length at 6:32 PM on December 28, 2011


« Older The Asylum for Specially-Trained Concubines   |   The gift of annual payments Newer »
This thread is closed to new comments.