Memory tester
Memory testers are specialized test equipment used to test and verify memory modules.

Types 
Memory module testers can be broadly categorized into two types, hardware memory testers and software diagnostic programs that run in a PC environment. Hardware memory testers have more sophisticated and comprehensive test features built into the tester as compared to software diagnostic testing programs. Software diagnostic does allow for detection of possible problems when memory modules are already installed on the computer system.

Hardware testers 
High-end automatic test equipment (ATE) Class Memory testers are used by most OEM memory chip manufacturers such as Samsung, Hyundai, Micron…etc. They are typically priced starting at one million dollars per system. This equipment must be operated by well trained semiconductor engineers. ATE Class Memory testers are built with very complex test algorithms to detect memory faults during the final stages of memory chip packaging.

Mid-range memory testers typically priced under $26,000, and are commonly found in memory module manufacturing assembly houses. These testers are built to support mass volumes of memory module testing. They are also used for detecting assembly faults caused by mis-soldering and cross-cell contamination after chips are assembled onto PCB or SIMM cards. These memory testers are usually docked onto an automatic handling system for high volume production testing, thus eliminating manual intervention by an operator.

Low-end memory testers are usually relatively low cost ranging from $1000 – $3000. Their main features are portability, ease of use and relatively small size. They are typically used by the service industry especially by computer service technicians, RMA departments, memory reseller/brokers/ and wholesalers for verifying and testing memory modules that fails in PC system or before going into PC. Quality and features of this range of memory testers varies greatly depending on the manufacturer. A good memory tester is built with features comparable with high-end ATE and medium range memory tester. The key is to provide a simple to use tester at an affordable price that is still effective in capturing most memory faults and failures.

Software testers 
Memory diagnostic software programs (e.g., memtest86) are low-cost or free tools used to check for memory failures on a PC. They are usually in the form of a bootable software distribution on a floppy disk or CD-ROM. The diagnostic tools provide memory test patterns which are able to test all system memory in a computer. Diagnostic software cannot be used when a PC is unable to start due to memory or motherboard. While in principle a test program could report its results by sending them to a storage device (e.g., floppy disc) or printer if working, or by sound signals, in practice a working display is required.

Worm memory tests 
Some stronger memory tests capable of detecting subtle timing problems are implemented as self-modifying, dynamically self-relocating and potentially self-destructive memory worms called worm memory test (or worm test).

Detected faults 
Memory testers are designed to detect two types of faults that affect the functional behavior of a system (memory chip, logic chips or PCB board): Non-Permanent faults and Permanent faults.

Permanent faults 
Permanent faults affect the logic values in the system permanently, these faults are easier to detect using a memory tester. Examples include:

 Incorrect connections between integrated circuits, boards, etc. (e.g. missing connections or shorts due to solder splashes or design fault) 
 Broken component or parts of components 
 Incorrect IC mask, (Manufacturing problem) 
 Functional design errors (logical function that had to be implemented, is designed incorrectly).

Non-permanent faults 
Non-Permanent faults occur at random moments. They affect a system's behavior for an unspecified period of time. The detection and localization of non-permanent faults are extremely difficult with a memory tester. Sometimes non-permanent faults will not affect the system's operation during testing.

There are two types of non-permanent faults: Transient fault and Intermittent fault.

Transient faults are hard to detect, and there are no well defined faults to detect. Errors in RAM introduced by transient faults are often called software errors, the following examples are possible factors that will contribute to transient faults:

 Cosmic ray (UV light) 
 Alpha particle (Dust) 
 Pollution
 Humidity
 Temperature
 Pressure 
 Vibration
 Power supply fluctuations
 Electromagnetic interference
 Static electrical discharges
 Ground loops

Intermittent faults are caused by non-environmental conditions such as: 

 Loose connections 
 Deteriorating or aging components 
 Critical timing
 Resistance and capacitance variation 
 Physical irregularities 
 Noise (noise disturbs signals in the system)

See also 
 memtest86
 Power-on self-test (POST)
 NOP slide
 Apple Worm

References 

Computer memory
Utility software types