My vote is for memtest86+. This is based upon data which was taken by some engineers in our Applications group at work about four years ago so it may not apply at this moment. As far as I know, we haven't performed any recent correlation work between those two memory diagnostic programs and any production test equipment (e.g., multi-million dollar memory testers).
Some memory faults are so hard to find/duplicate without knowing the exact circuit design of the memory. There are industry-standard test patterns that are known to catch the majority of failures and are the ones being used in the popular diagnostic programs being circulated (memtest86, memtest86+, Microsoft Memory Diagnostic, PC Doctor, etc.). Those programs are certainly much better than relying upon the system's power-on self-test (POST) for determining whether or not the memory is good.
It's pretty much a given that basic faults (disconnected pins, blown outputs) can be found by any of these diagnostic programs, as well as most POST procedures. It's the subtle failures which only occur when a certain data sequence is being used or when the memory is at a specific temperature (cold or hot) that are hard to find. That's the reason I normally suggest that at least three complete passes are used when running memtest86+. There's a sequence in that program where random data is being used for the current pass through the memory tests.
ref:
http://forum.thinkpads.com/viewtopic.ph ... 663#226663