The MSDOS memory manager HIMEM.SYS performs a similar (but more thorough Microsoft claims) test unless the test is suppressed with the /TESTMEM:OFF switch. Memory testing is defaulted ON in MSDOS and Windows 9 Safe Mode, OFF in Windows9 Normal mode.
Commercial diagnostic test packages such as Microscope or QAPLUS perform even more thorough tests.
Hardware testers can evaluate the individual memory modules -- SIMMs, DIPs or whatever.
Memory testing is much more difficult than is generally thought. Almost any memory test will detect a failed (stuck) bit, however, DRAM can have a number of more subtle failure modes. Outputs may be slow to change, or may be influenced by the setting of physically adjacent bits or pins. DRAM performance is temperature sensitive and the temperature of the memory will rise substantially under sustained use. Basic testing will write and read back 0s and 1s to each bit. More through testing will write and read alternating 0s and 1s (hex AA and 55) to each byte. Even more through testing will do a "checkerboard" test with alternating AAs and 55s.
Truth of the matter is that no single memory test seems to be "best". Memory may fail in one test and work in other tests -- or vice versa. Those who are thinking about "rolling their own" memory tests should consider that this is not as easy to do as it might seem. Caching -- both CPU and motherboard -- must be turned off or the test will turn into a cache test rather than a memory test. But with most CPUs/chipsets, memory burst mode is only exercised if cache is on. Writing test patterns over the OS or device drivers will likely bring the test to an abrupt halt. It will probably be necessary to operate in real rather than protected mode. It will probably be necessary to suppress all memory management. Difficulties may be encountered in accessing blocks of memory remapped by the chipset or used for BIOS shadowing.
Return To Index Copyright 1994-2002 by Donald Kenney.