Memtest86 is considered by the majority of the hardware testing community the number one application when it comes to defective RAM sticks. The answer to the question regarding the working state of the installed memory modules comes fast with Memtest86 and that is what matters the most besides the certainty of the verdict.
There are many good approaches for testing memory. However, many tests simply throw some patterns at memory without much thought or knowledge of memory architecture or how errors can best be detected. This works fine for hard memory failures but does little to find intermittent errors. BIOS based memory tests are useless for finding intermittent memory errors.
RAM chips consist of a large array of tightly packed memory cells, one for each bit of data. The vast majority of the intermittent failures are a result of interaction between these memory cells. Often writing a memory cell can cause one of the adjacent cells to be written with the same data. An effective memory test attempts to test for this condition. Therefore, an ideal strategy for testing memory would be the following:
- Write a cell with a zero.
- Write all of the adjacent cells with a one, one or more times.
- Check that the first cell still has a zero.
It should be obvious that this strategy requires an exact knowledge of how the memory cells are laid out on the chip. In addition there are a never ending number of possible chip layouts for different chip types and manufacturers making this strategy impractical. However, there are testing algorithms that can approximate this ideal and MemTest86 does just this.
– Added AUTOREPORT configuration file parameter to enable/disable automatic saving of test results HTML report when AUTOMODE is enabled
– Added TFTPSTATUSSECS configuration file parameter to set the period to send status XML updates to TFTP server (for management console)
– Modified behaviour for detection of duplicate errors. Errors with the same address (and bits) but occur in different tests are no longer considered to be duplicate.
– Fixed hang when CPU does not support SSE4.1 instructions when running Test 12
– Fixed MINSPDS and EXACTSPDS configuration file parameters being incorrectly set when saving current configuration settings to file
– Fixed escaping of characters in XML messages to TFTP server (for management console)
– Fixed invalid XML tag in XML messages to TFTP server (for management console)
– Report is now automatically saved before the end of test prompt when AUTOMODE=2 is set in configuration file
– Fixed incorrect reference to blacklist flag ‘TEST12_ONECPU’ (correct flag is ‘TEST12_SINGLECPU’)
– Updated Russian translations (courtesy of Victor Lutz)
– Added better sanity checking for SPD bytes
– Updated JEDEC manufacture list to JEP106AZ (May 2019)
– Fixed channel mapping for Apollo Lake ECC detection
– Fixed ECC detection for certain Intel Skylake-SP chipsets