2
$\begingroup$

What am I doing?

I have been digging more and more and googling more than often finding very small amount of results

I am trying to make a RAM testing program that can do memory testing with the ability to detect most RAM problems, I am making this app because I want to add networking functionality to it so all of the clones of this app connect to one PC on a specific IP and send results to it and then the results are visually displayed


What do I want?

I am looking for an algorithm so it can detect most problems at an affordable time.


What I have tried?

I have found this Power Point file, it contains a good amount of information, I have read about RAM problems and such, I have also read some other PDFs, providing similar informations

I have read about Checkerboard as well as Zero-One tests, I have also read about March tests and their types, the document covers only a finite list of how these tests detect errors

I haven't done any benchmarks or even started the program yet, but, I have tried to read Memtest86+ source, but, my basic knowledge in C/C++ made me unable to extract/read/understand the algorithm, but in the description they say that they write on the memory in a specific pattern, so it detects a great amount of errors

Can somebody point me out an algorithm or something so I can use it to test RAMs?

Please note that the RAMs I am testing are affected with heat (some chips might be re-soldiered)

$\endgroup$
  • 2
    $\begingroup$ As a practical matter, given your objective, I'd reuse code from memtest86+, it's the best of its class. $\endgroup$ – Gilles 'SO- stop being evil' Jul 22 '15 at 14:39
  • 1
    $\begingroup$ I'll go even further and suggest you to not only reuse code from memtest, but to use it entirely, rely on memtest and work on the networking part. If later you want to add other memory tests contribute to memtest. Decoupling the memory testing from the networking part allow you to get a mature memory tester, receive free updates to it and also to focus on the (to my knowledge) new networking part. $\endgroup$ – Dietr1ch Jul 22 '15 at 17:01
  • $\begingroup$ @Dietr1ch Ok, this is what I thought for the first while, but what about my basic knowledge in C++? I mean, If I started it from scratch, I might make it up because I know what I write, but memtest may use things I don't know, I don't know, I will just search through that, trying to implement my networking add-on/whatever $\endgroup$ – OverCoder Jul 23 '15 at 1:10
  • $\begingroup$ Wouldn't it be far more easier if I made my own program using a given algorithm? Am I right? $\endgroup$ – OverCoder Jul 23 '15 at 1:27
  • $\begingroup$ I can't tell what your question is. Your question is not self-contained; it apparently asks us to refer to some off-site reference to understand what you are trying to accomplish. That's not suitable for this site -- for multiple reasons, we want questions to be on-topic. Please edit. Also, while you use the word "algorithm", it sounds like you are really asking about a topic that is inherently and highly implementation-specific, so I'm not really sure whether it is suitable here (it might be more appropriate to StackOverflow). Note that coding and C/C++ questions are off-topic here. $\endgroup$ – D.W. Jul 24 '15 at 1:21