Memory tester: Difference between revisions

Content deleted Content added
+ref
CE + refs
Line 1:
{{refimprove|date=May 2020}}
{{use dmy dates|date=December 2021|cs1-dates=y}}
 
'''Memory testers''' are specialized test equipment used to test and verify [[Volatile memory|memory modules]].
 
== Types ==
Memory module testers can be broadly categorized into two types, [[computer hardware|hardware]] memory testers and [[software]] [[diagnostic program]]s that run in a [[Personalpersonal computer|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,<ref>{{cite web|urlname=http:"AMT"//www.pcstats.com/articleview.cfm?articleID=1174|title=Innoventions Ramcheck Advanced Memory Tester - PCSTATS.com|website=www.pcstats.com}}</ref> 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 [[Printed circuit board|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., [[Memtest86memtest86]]) 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 [[boot-up|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.
 
==== {{anchor|Worm test}}Memory worm tests ====
Memory worm tests.<ref name="Vector"/><ref name="Wilkinson_2003"/><ref name="Steinman_1986_Worm"/><ref name="Steinman_1986_Toolbox"/>
 
== 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 circuit]]s, 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).
 
* Incorrect connections between [[integrated circuit]]s, boards….boards, etc. (e.g. missing connections or shorts due to solder splashes or design fault)
===Non-permanent faults===
* Broken component or parts of components
* Incorrect IC Maskmask, (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]])
* [[AlphaCosmic Particleray]] (Dust[[UV light]])
* [[Alpha particle]] (Dust)
*[[Pollution]]
* [[HumidityPollution]]
* [[TemperatureHumidity]]
* [[PressureTemperature]]
* [[VibrationPressure]]
* [[Vibration]]
* [[Power Supplysupply]] fluctuations
* [[Electromagnetic interference]]
* [[Electrostatic discharge|Static electrical discharges]]
* [[Ground loop (electricity)|Ground loopsloop]]s
 
Intermittent faults are caused by non-environmental conditions such as:
 
*Loose connections
* Loose connections
* Deteriorating or aging components
* Critical Timingtiming
* [[Electrical resistance|Resistance]] and [[capacitance]] variation
* Physical irregularities
* Noise (noise disturbs signals in the system)
 
== See also ==
* [[Memtest86memtest86]]
* [[Power-on self-test]] (POST)
* [[NOP slide]]
 
== References ==
{{Reflist}}|refs=
<ref name="AMT">{{cite web |title=Innoventions Ramcheck Advanced Memory Tester - PCSTATS.com |website=www.pcstats.com |url=http://www.pcstats.com/articleview.cfm?articleID=1174}}</ref>
 
<ref name="Vector">{{cite book |title=The Worm Memory Test |publisher=[[Vector Graphic]] |date=2015-10-21<!-- upload date --> |orig-date= |url=http://deramp.com/downloads/vector_graphic/software/manuals/Worm.pdf |access-date=2021-12-13 |url-status=live |archive-url=https://web.archive.org/web/20190515181617/http://deramp.com/downloads/vector_graphic/software/manuals/Worm.pdf |archive-date=2019-05-15}} (3 pages) (NB. From a [[Vector Graphic 3]] service manual.)</ref>
==Further reading ==
*<ref name="Wilkinson_2003">{{cite web |title=The H89 Worm: Memory Testing the H89 |author-first=William "Bill" Albert |author-last=Wilkinson |date=2003 |orig-date=1996, 1984 |work=Bill Wilkinson's Heath Company Page |url=https://www.heco.wxwilki.com/h89worm.html |access-date=2021-12-13 |url-status=live |archive-url=https://web.archive.org/web/20211213130013/https://www.heco.wxwilki.com/h89worm.html |archive-date=2021-12-13 |quote=[…] Besides fetching an instruction, the [[Z80]] uses half of the cycle to [[RAM refresh|refresh]] the [[dynamic RAM]]. […] since the Z80 must spend half of each [[instruction fetch]] cycle performing other chores, it doesn't have as much time to fetch an [[instruction byte]] as it does a data byte. If one of the [[RAM chip]]s at the memory ___location being accessed is a little slow, the Z80 may get the wrong bit pattern when it fetches an instruction, but get the right one when it reads data. […] the built-in memory test won't catch this type of problem […] it's strictly a data read/write test. During the test, all instruction fetches are from the [[ROM]], not from RAM […] result[ing] in the [[Heath H89|H89]] passing the memory test but still operating erratically on some programs. […] This is a program that tests memory by relocating itself through RAM. As it does so, the CPU prints the current address of the program on the [[cathode-ray tube|CRT]] and then fetches the instruction at that address. If the RAM ICs are okay at that address, the CPU relocates the test program to the next memory ___location, prints the new address, and repeats the procedure. But, if one of the RAM ICs is slow enough to return an incorrect bit pattern, the CPU will misinterpret the instruction and behave unpredictably. However, it's likely that the display will lock up showing the address of faulty IC. This narrows the problem down eight ICs, which is an improvement over having to check as much as 32. […] The […] program will perform a worm test by pushing an RST 7 (RESTART 7) instruction from the low end of memory on up to the last working address. The rest of the program remains stationary and handles the display of the current ___location of the RST 7 command and its [[self-relocation (computing)|relocation]]. Incidentally, the program is called a [[computer worm|worm]] test because, as the RST 7 instruction moves up through memory, it leaves behind a slime trail of [[NOP (code)|NOP]]s (NO OPERATION). […]}}</ref>
<ref name="Steinman_1986_Worm">{{cite journal |title=The Worm Memory Test |author-first=Jan W. |author-last=Steinman |___location=West Linn, Oregon, USA |journal=[[Dr. Dobb's Journal of Software Tools for the Professional Programmer]] |publisher=[[M&T Publishing, Inc.]] / [[The People's Computer Company]] |publication-place=Redwood City, California, USA |department=The Right to Assemble (TRTA) |volume=11 |issue=9 |id=<!-- |number=-->#119. ark:/13960/t74v34p9p {{CODEN|DDJOEB}} |issn=1044-789X |date=1986-09-01 |pages=114–115 (662–663) |url=http://www.bytesmiths.com/Publications/Worm%20Memory%20Test%20-%20Steinman_1986-01-01-1.pdf |access-date=2021-12-13 |url-status=live |archive-url=https://web.archive.org/web/20211213202006/http://www.bytesmiths.com/Publications/Worm%20Memory%20Test%20-%20Steinman_1986-01-01-1.pdf |archive-date=2021-12-13}} (2 pages)</ref>
<ref name="Steinman_1986_Toolbox">{{cite book |title=Dr. Dobb's Toolbook of 68000 Programming |chapter=III. Useful 68000 Routines and Techniques, 16. The Worm Memory Test |author-first=Jan W. |author-last=Steinman |___location=West Linn, Oregon, USA |publisher=[[Brady Book]] / [[Prentice Hall Press]] / [[Simon & Schuster, Inc.]] |publication-place=New York, USA |date=1986 |pages=341–350 |lccn=86-25308 |isbn=0-13-216649-6 |url=http://www.bytesmiths.com/Publications/Worm%20Memory%20Test%20-%20Steinman_1986-01-01-1.pdf |access-date=2021-12-13 |url-status=live |archive-url=https://web.archive.org/web/20211213202006/http://www.bytesmiths.com/Publications/Worm%20Memory%20Test%20-%20Steinman_1986-01-01-1.pdf |archive-date=2021-12-13}} (1+5+10+1 pages)</ref>
}}
 
[[Category:Computer memory]]