Download Memtest86

There are many good approaches to testing memory. However, many tests simply throw some patterns into memory without thinking too much about it or knowing the memory architecture or how best to identify errors. This works well for memory failures, but does little to help you find intermittent errors. BIOS-based memory tests are useless for finding intermittent memory errors.

RAM chips are made up of a large number of densely packed memory cells, one for each bit of data. The vast majority of intermittent failures are the result of interaction between these memory cells. Often times, writing a memory cell can result in one of the neighboring cells being written with the same data. An effective memory test tries to test this condition. Therefore, an ideal strategy for testing the memory would be the following:

  1. Write a cell with a zero.
  2. Write all neighboring cells one, one or more times.
  3. Check that the first cell still has a zero.

It should be apparent that this strategy requires a thorough knowledge of how the memory cells are arranged on the chip. In addition, there are an infinite number of possible chip layouts for different chip types and manufacturers, making this strategy impractical. However, there are test algorithms that can approach this ideal, and MemTest86 does just that.

What’s new:

New features

  • Supports UEFI-based ARM systems (arm64 / aarch64), including memory test algorithms ported to ARM64 and optimized with handwritten assembler code. Special thanks go to the Simula eX³ project ( for providing high-end ARM64 systems for testing.
  • BADRAM & badmemorylist added formatted strings and instructions in the exported HTML report to mask incorrect memory addresses (Pro only)
  • Revised RAM SPD screen in the main menu with a graphical view of all RAM slots
  • Added tentative support for DIMM temperature reports (if supported by DIMM)
  • Added option to change the storage location of logs / reports on a different data carrier (file system)
  • When exiting the application, a prompt for various exit options (shutdown, restart, exiting the BIOS) has been added.
  • Added keyboard shortcut (F12) to save the screenshot to a file in the main menu
  • Support for storing test results in a byte-packed binary file for memory-constrained systems
  • Support for passing configuration parameters via command line arguments
  • A new EXACTSPDSIZE configuration file parameter has been added to indicate the total capacity of all discovered SPDs that should match before testing can begin
  • A new configuration file parameter, MEMREMMB, has been added to specify the minimum amount of memory that should not be allocated during the test
  • A new configuration file parameter, MINMEMRANGEMB, has been added to specify the minimum amount of space to allocate for testing
  • A new configuration file parameter ‘AUTOREPORTFMT’ has been added to specify the report format of auto-saved reports
  • The new configuration file parameter ‘PMPDISABLE’ has been added to disable TFTP uploading of XML messages for Management Console integration
  • The new configuration file parameter ‘RTCSYNC’ has been added to synchronize the real-time clock with the PXE server (via a regularly updated ‘CurrentTime.txt’ provided by the PXE server).
  • A new VERBOSITY configuration file parameter has been added to indicate the level of verbosity in the debug output
  • A new configuration file parameter ‘TPL’ has been added to indicate the priority level of the UEFI task of the MemTest86 application

Corrections / improvements

  • Support for configuration files per baseboard via file names with baseboard prefix (e.g. “Surface Pro-mt86.cfg”)
  • Optimized / removed outdated 32-bit code in memory tests
  • Improved test coverage by switching between ascending and descending assignment order of CPU cores between runs in parallel mode
  • Track the CPU core / thread ID of detected memory errors and include the list of failed CPUs in the test summary / test report
  • Added tracking and reporting of minimum / maximum / average CPU + DIMM temperatures (if supported by DIMM)
  • Added SMBIOS storage device information to reports
  • Modified DRAM address ECC error reporting from (column, row, rank, bank) ->(channel, slot, rank, bank, row, column)
  • Added serial number of DIMM with ECC errors in report (supported chipsets only)
  • Added channel / slot information to detected SPDs in report (supported chipsets only)
  • Fixed 100% CPU usage while waiting for input in the main menu
  • Improved UI drawing performance for better responsiveness
  • At the end of the test, generate beeps from the piezo speaker (if available).
  • Changed to large, colored PASS / FAIL message box at the end of the test
  • Changed to large, colored FAIL message box on failed SPD checks prior to test
  • Fixed Test 12 errors being cut off in the HTML report
  • The blacklist has been updated to work around new UEFI bugs Apple added to its UEFI firmware
  • The blacklist has been updated to bypass Microsoft / Huawei laptops with display issues related to screen resolution
  • Fixed crash on VirtualBox due to reading non-existent MSRs
  • Include details of system information in TestResult XML messages to PXE Server (Site Edition).
  • Display failure if a TFTP transmission error occurs while sending status XML messages to the PXE (Site Edition) server
  • Fixed escaping characters in XML entities when generating messages to PXE Server (Site Edition).
  • Print additional lines to the console during MemTest86 startup
  • Fixed detection of uncorrected ECC errors for AMD Ryzen chipsets
  • Fixed ECC detection for>2 channels for AMD Ryzen chipsets
  • Fixed ECC support for multiple CPU chips for AMD Ryzen chipsets
  • Fixed ECC error detection on AMD Ryzen chipsets with multiple CPUs
  • Added tentative support for AMD Ryzen ECC reports via error count registers when PFEH is enabled
  • The ECC detection for Intel chipsets that use error count registers has been fixed
  • Added ECC support for various Intel Coffee Lake chipset variants
  • Added disabling of SMI for Intel Kaby Lake chipsets so that ECC errors can be detected
  • Added ECC support for Intel Comet Lake chipsets
  • Added tentative support for decoding system address in socket / channel / rank / bank / row / column address in Broadwell-DE. This information is logged in the log file.
  • Fixed incorrect reporting of ECC functions for chipsets with multiple IMCs
  • Added support for getting CPU information for Intel Gemini Lake chipsets
  • Added tentative support for getting CPU information for Intel Ice Lake chipsets
  • Fixed possible unstable behavior when increasing the target multiplier for Intel Silvermont chipsets
  • Activating turbo mode on Intel Silvermont chipsets has been fixed
  • Updated temperature offsets for AMD Ryzen chipsets
  • Added tentative support for reading AMD Ryzen 5000 (Family 19h) chipset temperatures
  • Updated EDK2 library to edk2-stable202008
  • Fixed memory leak when exiting the program
  • Revised Portuguese translations
  • The unifont.bin file has been updated to include heavier Russian glyphs
  • Removed PassMark contact information from reports

Source link :