memtest 86 guide

37
8/18/2019 Memtest 86 Guide http://slidepdf.com/reader/full/memtest-86-guide 1/37 MemTest-86 User Manual Version 5.0 Copyright 2013 Passmark® Software Page 1

Upload: amitabh-prasad

Post on 07-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 1/37

MemTest-86 User Manual

Version 5.0 

Copyright 2013 Passmark® Software Page 1

Page 2: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 2/37

Table of Contents1 Introduction.............................................................................................................................................4

1.1 Memory Reliability.......................................................................................................................4

1.2 MemTest86 Overview...................................................................................................................4

1.3 Comatibility.................................................................................................................................42 !etu and "se..........................................................................................................................................6

2.1 #oot$dis% Creation usin& 'indows...............................................................................................6

2.2 #oot$dis% Creation "sin& (inu)...................................................................................................*2.3 #uildin& MemTest86 +v4 #IO!, -rom source...............................................................................*

2.4 "sin& MemTest86 +"/I,.............................................................................................................0

2. "sin& MemTest86 +v4 #IO!,......................................................................................................1*

3 Reairin& Memory /aults.....................................................................................................................213.1 nti$!tatic andlin& rocedures.................................................................................................21

3.2 Re$!eatin& Memory Modules......................................................................................................21

3.3 Relacin& Modules......................................................................................................................213.4 rror 5alidity...............................................................................................................................22

4 Over Cloc%in&.......................................................................................................................................23

4.1 #ac%&round..................................................................................................................................234.2 Oeratin& Mar&ins.......................................................................................................................23

4.3 "sin& MemTest86 -or Over Cloc%in&.........................................................................................23

endices...............................................................................................................................................26endi) .Tecnical In-ormation...................................................................................................26

.1 Memory Testin& ilosoy................................................................................................26

.2 MemTest86 Test l&oritms................................................................................................26

.3 Individual Test 7escritions................................................................................................2*.4 rror 7islay In-ormation....................................................................................................20

endi) #.roduct !uort.............................................................................................................3

#.1 9nown roblems..................................................................................................................3#.2 nancements......................................................................................................................31

endi) C.Can&e (o&...................................................................................................................32

endi) 7.c%nowled&ments........................................................................................................387.1 "/I +v:,...........................................................................................................................38

7.2 #IO! +v4,.............................................................................................................................38

Copyright 2013 Passmark® Software Page 2

Page 3: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 3/37

1 Introduction

1.1 Memory Reliability

Properly functioning memory is critical for reliable operation of a PC or laptop. Few computerusers fully understand the risks associated with memory errors. Because PCs typically do not

have any mechanisms for detecting memory errors, confusing and potentially disastrousconsequences can result from these undetected memory problems. Memory errors will oftencause erratic behavior with software applications that can mysteriously fail. he most seriousrisk from memory errors, however, is corruption of data that manages how information isstored on disk. !n most cases, this type of corruption will cause one or more files to be lost.here are cases where a memory error can cause the loss of the entire contents of your harddisk. Periodic testing of memory with a rigorous and thorough memory test will greatly reducethe risk of problems and data loss due to memory errors.

1.2 MemTest86 Overvie

Memory errors are often pattern sensitive and may be very intermittent. "etecting theseerrors is technically challenging and is an imperfect science. Memest#$ uses advancedalgorithms that have been refined for more than %& years. hese testing techniques are highlyeffective at detecting difficult to find memory errors. !n addition, Memest#$ has the capabilityto test all available memory.

Memory testing programs e'ecute from memory and therefore are not able to test thememory that is occupied by the test program itself. (hen running the B!)* version,Memest#$ is able to move itself to a different portion of memory and then tests the memorythat it previously occupied. he +F! version, due to platform limitations, is unable to remapitself to different portions of memory in order to run tests in the section of memory it wasoccupying. he +F! firmware itself also takes up some space compared to a traditional

B!)*. *o slightly less -M can be tested compared to the B!)* version.

1.! Com"atibility

Memest#$ is designed to work with all processors using the !ntel/M" '#$ and 0#$1$2architecture, running on +F! or B!)* systems. Most newer systems are able to run the +F!version of Memest#$, but all systems should be able to boot the traditional B!)* version.

Memest#$ is able to test all types of memory. here is no need for Memest#$ to know whattype of memory it is testing. Memest#$ attempts to detect and display information about thehardware it is testing but this information is not used during testing.

*ince Memest#$ is a standalone program it does not require any operating system supportfor e'ecution. !t can be used with any PC regardless of what operating system, if any, isinstalled.

Memest#$ is multi3threaded and is able to concurrently use multiple CP+s to test memory. !tmay, however, be limited by the implementation in the underlying firmware.

Copyright 2013 Passmark® Software Page 3

Page 4: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 4/37

1.!.1 U#$I %v&'(

For +F! systems, multiprocessor support is dependent on the implemention of themultiprocessor services provided by the +F! firmware. )n older +F! systems, themultiprocessor support can be fairly limited, causing issues such as a reduced number ofCP+s available for testing or even program free4e when attempting to run on any CP+ otherthan the first. !t is recommended that Memest#$ is run on only one CP+ first before

attempting to run on multiple CP+s.

1.!.2 )IO* %v+(

For older systems that use the traditional B!)*, Memest#$ will function properly with anynumber of CP+s but is currently configured to use a ma'imum of 5% CP+s for testing.

(hen runnining on $2 bit CP+s, Memest#$ e'ecutes in 5% bit mode using P. For 5% bitCP+s, testing is limited to $2 6B. $2 bit CP+s running Memest#$ e'ecutes in 7long8 modewhich allows for testing of up to # B of memory. CP+s e'ecuting in 5% bit mode can test ama'imum of % 6B of memory at a time. his % 6B window is then advanced, allowing for allof memory to be tested.

Copyright 2013 Passmark® Software Page 4

Page 5: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 5/37

2 *etu" and Use

Memest#$ supports booting from both the newer +F! platform and the traditional B!)*.(hen booting from +F!, Memest#$ has access to additional services not available in B!)*including9

• :ative $23bit support

• :o longer requires the use of the P workaround to access more than 26B ofmemory. ;P < Physical ddress 'tension=

• Mouse support, where supported by the underlying +F! system. )n older systems akeyboard is still required.

• !mproved +*B keyboard support. he keyboard now works on systems that fail toemulate !) Port $2/$& correctly. *o Mac +*B keyboards are now supported.

• !mproved multi3threading support, where supported by the underlying +F! system.

• -eporting of detailed -M *P" information. imings, clock speeds, vendor names and

much more.

• *upport to writing to the +*B drive that Memest#$ is running from for logging andreport generation. !n all prior Memest#$ releases, there was no disk support.

• +se of 6P. ;6+!" Partition able=

!f +F! is not supported on the system, the older v2 B!)* version is booted.

Memest#$ can boot from a C", +*B flash drive or, with >inu' systems, by the boot loader;for e'ample, >!>) or 6rub=. o use Memest#$ on a (indows computer, either a C"3-)Mdrive or +*B flash drive is required. ny +ni' or (indows system may be used to create theC" or +*B flash drive. )nce a Memest#$ boot disk has been created, it may be used on

any computer.

2.1 )oot-dis, Creation usin indos

Before you can use Memest#$ on a (indows system it must first be installed on a C" or+*B flash drive. o create a C", a system capable of creating a C" from an !*) file isrequired.

Create a boot3able C"3-)M9

?. "ownload the (indows Memest#$ !*) image.

%. -ight click on the downloaded file and select the @'tract to Aere8 option. his places

the C"3-)M !*) image in the current folder.

5. +se the C" burning software available on your system to create a C"3-)M using thee'tracted !*) image. Be sure that you create a C" image from the !*) file rather thanplacing a copy of the !*) file onto a data C". >ook for 7Burn !mage from File8 or similaroption under the File menu of your C" burning software.

Create a boot3able +*B Flash drive9

?. "ownload the (indows Memest#$ +*B image 4ip file.

Copyright 2013 Passmark® Software Page 5

Page 6: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 6/37

%. 'tract the contents of the 4ip file to a directory

5. Plug in the +*B drive

2. >aunch the !mage+*B application that was included in the 4ip file

. *elect the +*B drive from the list

$. !f it is not already selected, select the image file included in the 4ip file. Click D(rite to +F"D

#. fter accepting a few more prompts this should give you a working bootable +*B drive

2.2 )oot-dis, Creation Usin /inu0

!t is recommended that >inu' users download and install pre3compiled packages to createboot3able media. dvanced users may wish to build from source and optionally make sourcecode changes.

Create a boot3able C"3-)M9

?. "ownload the >inu' Memest#$ !*) image.

%. +ncompress the !*) image ;gun4ip memtest#$3iso.g4=.

5. +se the C" burning software available on your system to create a C"3-)M using theuncompressed !*) image. Be sure that you create a C" image from the !*) file ratherthan placing a copy of the !*) file onto a data C". >ook for 7Burn !mage for File8 orsimilar option under the File menu of your C" burning software.

Create a boot3able +*B Flash drive9

?. "ownload the >inu' Memest#$ +*B image.

%. +ntar the package ;tar 'v4f memtest#$3usb.tar.g4=. n image file and a -"M filewill be created in the current directory.

5. Follow instructions in the -"M to write the +*B flash disk.

2.! )uildin MemTest86 %v+ )IO*( from source

?. -eview the Makefile and adEust options as needed.

%. ype @make@

his creates a file named @memtest.bin@ which is a bootable image. !f you encounter buildproblems a pre3compiled binary image has been included ;precomp.bin=. his image file may

be copied to a floppy disk or may be loaded from a disk partition by >ilo or 6rub boot loadersfrom a hard disk partition. he Makefile creates bootable images that may be written directlyto a floppy disk or C". method is not provided for creating a bootable +*B flash drive fromsource.

Create a Memest#$ floppy disk9

?. !nsert a blank write3enabled floppy disk.

%. s root, type @make install@

Copyright 2013 Passmark® Software Page 6  

Page 7: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 7/37

Create a bootable C"3-)M

?. type 7make iso8

%. n !*) image file ;memtest#$.iso= is created in the source directory. +se C" burningsoftware available on your system to create a C"3-)M using the e'tracted !*) image.

Boot from a disk partition using 6rub9

?. Copy memtest.bin to a permanent location ;for e'ample9 /boot/memtest.bin=.

%. dd an entry in the 6rub config file ;/boot/grub/menu.lst= to boot memtest#$. )nly thetitle and kernel fields need to be specified. he following is a sample 6rub entry forbooting memtest#$9

title Memest#$linu'?$ /boot/memtest.bin

Boot from a disk partition using >ilo9

?. Copy memtest.bin to a permanent location ;ie. /boot/memtest.bin=.

%. dd an entry in the lilo config file ;usually /etc/lilo.conf= to boot memtest#$. )nly theimage and label fields need to be specified. he following is a sample >ilo entry forbooting memtest#$9

image < /boot/memtest.binlabel < memtest#$

5. s root, type @lilo@

Copyright 2013 Passmark® Software Page 7  

Page 8: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 8/37

2.+ Usin MemTest86 %U#$I(

o start Memest#$ insert the C"3-)M or +*B flash drive into the appropriate drive and restart yourcomputer.

ote  he +F! B!)* must be configured to boot from the device that

Memest#$ is installed on. Most systems have an optional boot menu that isenabled be pressing a key at startup ;often *C, F, F?? or F?%=. !f availableuse the boot menu to select the correct drive. Gou may see both the +F! andB!)* as separate options. Please consult your motherboard documentation fordetails.

(hen Memest#$ boots, a splashscreen is displayed with a ?& second countdown timerwhich when e'pires, automatically starts the memory tests with default settings. Pressing akey or moving the mouse shall stop the timer.

*electing D'itD shall reboot your system. o configure the memory tests, select DConfigD andthe main menu is displayed. he main menu allows the user to customi4e the memory testsettings such as the specific tests to e'ecute, address range to test and which CP+;s= areused in testing.

Copyright 2013 Passmark® Software Page 8

Page 9: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 9/37

2.+.1 Test Confiuration

2.4.1.1 System Infohe *ystem !nfo screen displays the hardware information of the system it is running on.

3ie detailed R4M %*5( info 3 displays the *P" information stored in the individual -Mmodules. he -M *P" information can be saved to a file on disk  (Pro version only)

3ie memory usae 3 displays how the system memory address map is allocated amongstthe subsystems.

isable7#nable memory cacin (Pro version only) H disable/enable memory caching whenthe tests are running. Warning - disabling memory caching greatly reduces the performanceof the entire system, including screen updates.

isable7#nable #CC "ollin H if CC detection/correction is supported and enabled, thisoption disables/enables periodic checking of any CC errors that have been detected by thesystem while the memory tests are running.

#nable7isable #CC in9ection (Pro version only) 3 if CC detection/correction issupported/enabled and CC inEection is supported by the system, this optionenables/disables inEection of CC errors to simulate how the system responds to real CCerrors.

*ave system information summary to file (Pro version only)3 *ave the system informationto a file on disk

Copyright 2013 Passmark® Software Page 9

Page 10: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 10/37

2.4.1.2 Test Selectionhe est *election screen allows the user to select the test sequence to run, and the numberof passes to run each sequence. *ee !ndividual est "escriptions for a detailed description ofeach test.

o enable/disable a test, use the up / down arrow keys or mouse to highlight a test, thenpress enter or click. est ?? and ?% are available only on the Pro version.

o change the number of passes, select D:umber of passesD and enter the desired number ofpasses.

Copyright 2013 Passmark® Software Page 10

Page 11: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 11/37

2.4.1.3 Address Rangehe ddress -ange screen allows the user to specify a subset of the total system addressmap to test.

o change the lower or upper limit of the address range to test, select the appropriate setting

and enter a new value.

o enter a decimal address, enter the address as is.

o enter a he'adecimal address, enter D&'D followed by the he' address.

Gou may also use the suffi'es DkD, DmD, DgD to specifiy kilobyte, megabytes and gigabytesrespectively.

*electing D-eset >imits to defaultD will reset the limits to its ma'imum values.

Copyright 2013 Passmark® Software Page 11

Page 12: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 12/37

2.4.1.4 CPU Selectionhe CP+ *election screen allows the user to specify a single CP+ to test, or cycle through allCP+s using a selection method.

*inle 3 specifies a single CP+ to test, and prompts the user to enter a valid CP+ number

5arallel 3 e'ecutes the memory tests on all CP+s concurrently, on a set of non3overlappingmemory segments

Round Robin 3 only one CP+ is running a test at any given time but cycles to the ne't CP+in a round robin fashion after every test

*e:uential 3 only one CP+ is running a test at any given time but cycles to the ne't CP+after a certain memory si4e has been tested by the CP+.

Copyright 2013 Passmark® Software Page 12

Page 13: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 13/37

2.+.2 Confiuration $ile (Pro version only

Memory test parameters can also be set via a configuration file ;mt#$.cfg= that is loaded onstartup, without the need to manually configure the memory tests every time Memest#$ isrun. his is useful especially in testing environments where memory tests need to bee'ecuted in an automated fashion without user intervention. sample configuration file is as

follows9## MemTest86 configuration file#

TSTLIST=0,1,3,5,8NUM!SS=3!""LIML$=0%10000000!""LIM&I=0%'0000000(US)L=!!LL)L(UNUM=1)(($LL=0

>ines that start with DID indicate a comment line. ll parameters are specified as follows9

*arameter+name=*arameter+-alue

he following table summari4es the list of supported parameters9

5arameter escri"tion

*>!* >ist of tests to e'ecute in the test sequence. ach test is specified by a testnumber, separated by a comma.

:+MP** :umber of iterations of the test sequence to e'ecute. his must be a numbergreater than &.

 ""->!M>) he lower limit of the address range to test. o specify a he' address, the addressmust begin with D&'D. )therwise, the address shall be interpreted as a decimaladdress.

 ""->!MA! he upper limit of the address range to test. o specify a he' address, the addressmust begin with D&'D. )therwise, the address shall be interpreted as a decimaladdress.

CP+*> )ne of the following CP+ selection modes9J D*!:6>D, DP->>>D, D--)B!:D, D*KD L

CP+:+M he CP+ I of the specific CP+ to test. his parameter only has an effect ifCP+*> is set to D*!:6>D.

CCP)>> *pecifies whether CC errors shall be polled.

& H Polling disabled, ? H Polling enabled

2.+.! Testin

)nce the memory test has started, the following screen which shows the test status isdisplayed9

Copyright 2013 Passmark® Software Page 13

Page 14: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 14/37

Memest#$ e'ecutes a series of numbered test sections to check for errors. he e'ecutionorder for these tests has been arranged so that errors will be detected as rapidly as possible.

he time required for a complete pass of Memest#$ will vary greatly depending on CP+speed, memory speed and memory si4e.

!f memory errors are detected they will be displayed on the lower half of the screen.

!f Memest#$ runs multiple passes without errors you can be certain that your memory isfunctioning properly. )ther problems ;hardware or software= may e'ist but at least you caneliminate memory as a culprit. !n addition the CP+ must work properly to run Memest#$ sosuccessful e'ecution implicitly assures that your CP+ is also functioning properly.

Memest#$ can not diagnose many types of PC failures. For e'ample a faulty CP+ thatcauses (indows to crash will most likely Eust cause Memest#$ to crash in the same way.

2.4.3.1 R!ntime Config!ration "#tionsMemest#$ may be configured during operation via runtime configuration commands.Pressing the 7C8 key at anytime will display the runtime command menu.

(hen running the +F! version, the following options are available in the Configurationcommand menu9

*ettings9

;?= *kip Current est

;%= nd est

;5= 6o Back to Main Menu

;&= Continue

Copyright 2013 Passmark® Software Page 14

Page 15: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 15/37

he runtime configuration commands allow the user to adEust the following settings.

;?= *,i" Current Test3 borts the current test and starts the ne't test in the sequence

;%= #nd Test 3 *tops the test and displays a summary of the results

;5= ;o )ac, to Main Menu H *tops the test nd returns to the main menu

;2= Continue 3 -esume the test

2.+.+ Test Re"ort (Pro version only

 t the end of the test, a summary of the test results is displayed, as well as the option to savean AM> test report to a file. he test report is fully customi4able by modifying the followingfiles9

mt86ead.tm 3 he AM> code that will be used as a header to the test report. his cancontain a company logo, contact information or any additional information about the testenvironment.

mt86foot.tm H he AM> code that will be used as a footer to the test report. 'amples ofusage include a signature line to indicate the technician who performed the test, or adisclaimer about the validity of the test results.

re"ort.css H he stylesheet used to specify the appearance of the report. he file itselfcontains all the properties that are used, along with several templates that can be used tocustomi4e the report.

2.+.& Troublesootin MemTest86 5roblems

  log file ;Memest#$.log= is automatically created and updated while Memest#$ is running.

his log file contains information that is helpful in diagnosing possible memory failures orproblems with Memest#$ itself. !f you believe you may have encountered a bug withMemest#$, please report problems to helppassmark.com.

Copyright 2013 Passmark® Software Page 15

Page 16: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 16/37

2.& Usin MemTest86 %v+ )IO*(

o start Memest#$, insert the Memest#$ floppy disk, C"3-)M or +*B flash drive into theappropriate drive and restart your computer.

ote  he B!)* must be configured to boot from the device that Memest#$ is

installed on. :ewer computers have an optional boot menu that is enabled bepressing a key at startup ;often *C, F, F?? or F?%=. !f available use the bootmenu to select the correct drive. (ith older computers the boot sequence mustlist the drive used to load Memest#$ before any other bootable media ;i.e. ahard disk where (indows is installed=. Most systems will be configured with asuitable boot sequence. !f not you can reconfigure the boot sequence using theB!)* settings. Please consult your motherboard documentation for details.

2.&.1 Testin

(hen Memest#$ starts it displays details about the system configuration and then begins

testing. Memest#$ e'ecutes a repeating cycle of tests. esting will continue to run until theprogram e'ecution is interrupted ;by pressing the *C key or pressing the reset button=.here is no set time for how long the test should be run. he following is an e'ample of theMemest#$ screen.

Memest#$ e'ecutes a series of numbered test sections to check for errors. he e'ecutionorder for these tests has been arranged so that errors will be detected as rapidly as possible.he pass counter increments each time that all of the tests have been run. he first pass isabbreviated to find errors more quickly. *ubsequent passes e'ecute longer and will be morethorough. 6enerally a single pass is sufficient to detect all but the most obscure errors. ForCopyright 2013 Passmark® Software Page 16  

Page 17: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 17/37

complete confidence in cases where intermittent errors are suspected, testing for a longerperiod is advised. he time required for a complete pass of Memest#$ will vary greatlydepending on CP+ speed, memory speed and memory si4e.

!f memory errors are detected they will be displayed on the lower half of the screen. hedefault error reporting mode will display a detailed summary of all errors.

!f Memest#$ runs multiple passes without errors you can be certain that your memory isfunctioning properly. )ther problems ;hardware or software= may e'ist but at least you caneliminate memory as a culprit. !n addition the CP+ must work properly to run Memest#$ sosuccessful e'ecution implicitly assures that your CP+ is also functioning properly.

Memest#$ can not diagnose many types of PC failures. For e'ample a faulty CP+ thatcauses (indows to crash will most likely Eust cause Memest#$ to crash in the same way.

2.$.1.1 R!ntime Config!ration "#tionsMemest#$ may be configured during operation via runtime configuration commands.Pressing the 7C8 key at anytime will display the runtime command menu. the followingoptions are available in the Configuration command menu9

*ettings9

;?= est *election

;%= ddress -ange

;5= rror -eport Mode

;2= CP+ *election Mode

;= -efresh *creen

;$= -estart est

;= Miscellaneous )ptions

;&= Continue

he runtime configuration commands allow the user to adEust the following settings.

;?= Test *election 3 !ndividual tests may be selected for e'ecution or the current test maybe skipped. (hen a failure has been identified it is much faster to troubleshoot byrunning only the failing test.

;%= 4ddress Rane 3 (ith this option memory testing may be restricted to a selectedportion of memory. his is also useful to speed up the troubleshooting process bytesting only the failing portion of memory.

;5= #rror Re"ort Mode 3 he error report mode may be changed to provide different typesof error information. he default 7rror *ummary8 mode provides all of the detailsrequired for diagnosing memory problems. Aowever, other error reporting modes areavailable. @Bad-M8 patterns may be used with >inu' systems to map out badmemory blocks.

;2= C5U *election Mode H his option controls how CP+s are selected for testing. heoptions are ll, -ound -obin and *equential. (ith -ound -obin CP+s are selected inround robin fashion for each test. (ith the *equential option all available CP+s are

Copyright 2013 Passmark® Software Page 17  

Page 18: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 18/37

used for each test.

;= Refres *creen 3 -edraws the screen when the display becomes garbled.

;$= Restart Test H -estarts test with default settings.

;= Miscellaneous O"tions < nable and disable runtime options. Currently only twooptions are available, )ne Pass and Boot trace. he )ne Pass feature runs the

complete test once and then e'its, but only if there were no errors. his provides aconvenient method for unattended testing. he Boot race option is a debugging toolthat is primarily designed for troubleshooting startup problems, but may be enabled atanytime.

  help bar is displayed at the bottom of the screen with the following options.

%ey&oard Assignment 

'escri#tion

*C 'its the test and does a warm restart via the B!)*

C nter the configuration menu

*P ;*pacebar= *et scroll lock ;*tops scrolling of error messages=

ote Memory testing is suspended when the scroll lock option is set andthe scrolling display region is full.

C- ;nter= Clear scroll lock ;nables error message scrolling=

2.&.2 *tartu" %boot( O"tions

  number of options may be specified at boot time. he following options are available9

 )ne Pass H nables the )ne Pass option. his feature runs the complete test once and thene'its, but only if there were no errors. his provides a convenient method for unattendedtesting. )ne Pass may also be enabled via an on3line command. he synta' is 7onepass8 andthere are no additional options.

 Btrace H nables the boot trace option and is used to diagnose test failures please seesection %. for details. he synta' is 7btrace8 and there are no additional options.

 Ma'cpus H *et the ma'imum number of CP+Ds to start. his is primarily a troubleshootingoption. *etting ma'cpus to one skips all code related to finding and starting additional CP+s.he synta' is 7ma'cpus<:8 where : < ? to 5?.

 est >ist H llows for e'ecution on a subset of the normal test sequence. he synta' is7tstlist<list8 where list is a comma separated list of test numbers to run ;do not includespaces=. 'ample9 tstlist<?,2,,

 CP+ Mask H mask of CP+ numbers that are started and enables. 5% bit mask isspecified with a ? set for each CP+ that will be enabled. CP+ & cannot be disabled and willbe enabled regardless of the mask. he synta' is 7cpumask<:8 where : is a 5% bithe'adecimal number with or without a &' prefi'. 'ample9 cpumask<&' enables alleven numbered CP+s.

Copyright 2013 Passmark® Software Page 18

Page 19: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 19/37

 Console H +sed to setup serial console parameters. he synta' is 7console<tty*n,baudP>8where n < serial port number ;& or ?=, baud < baud rate, P < parity setting ;:, ) or = and > isthe number of bits ; or #=. 'ample9 7console<tty*&,$&&e# uses port & at $&& baud, evenparity and # bits.

he standard Memtest#$ media images provided use *yslinu' for booting and allow for bootoptions to be specified interactively. t the 7boot98 prompt type 7memtest8 followed by any of

the above options. Multiple options may be specified separated by spaces. For e'ample7memtest onepass tstlist<?,$,,#8 will start the test with the )ne Pass option enabled ande'ecute tests ?,$, and #.

2.&.! Troublesootin it )oot Trace

his is section is targeted at troubleshooting problems with e'ecution of the test code and notfor diagnosing reported memory errors. !n Nersion 2.? a Boot race feature was added thatprovides a simple mechanism for troubleshooting of test failures by both technical and non3technical users. (ith the very large variety of computer hardware available it is impossible totest Memtest#$ an all platforms and some incompatibilities e'ist causing failures. !n the past

determining the cause of these failures has been difficult to impossible. (ith trace informationmany of these faults may now be addressed.

#nablin )oot Trace 3 he boot trace feature is enabled with either a boot time option or anon3line command. Aowever, most problems occur during startup so the boot option is thepreferred method. ll of the released images have a boot option to start the test with boottracing enabled. (hen booting from a >inu' system with >!>) or 6-+B add 7btrace8 to theboot options line.

(hen Boot race is enabled two columns of trace information will be displayed one thebottom two thirds of the screen. he CP+, line number from the source file, a short messageand two parameters are displayed in each trace point. 7O8 character denotes the current

trace point. total of %$ trace points are displayed and older trace points are lost as e'ecutionprogresses. Pressing any key will advance to the ne't trace point. s initiali4ation proceedsother portions of the screen will be filled in with information and the header lines will beerased.

;aterin Trace Information H here are two types of failures where trace information isneeded to help diagnose the problem, hangs and crashes. 6athering traces for a situationwhen the test hangs is very simple. ust continue to press return until the test stops. tminimum email the last trace points. Much more useful would be a digital picture of thescreen. For cases where the test crashes we need to see the trace points Eust before thecrash. his requires slowly stepping through the traces and identifying the point where thetest reboots. hen run the test again and stop at the trace point Eust before the crash andreport the information. gain, email at least the last trace points or better a picture of thescreen. Please email failure information to helppassmark.com.

Usin Trace Information 3 echnical users will be able to diagnose problems using tracedata that previously would have required detailed understanding of Memtest#$Ds internalworkings. By following the trace points in the source you will be able to follow the path ofe'ecution and identify problems. s needed new trace points may be added to the code toprovide more detail when diagnosing a problem.

Copyright 2013 Passmark® Software Page 19

Page 20: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 20/37

! Re"airin Memory $aults

(hen Memest#$ detects errors the error count will be incremented and the error details willbe displayed on the lower half of the screen. he key information needed to diagnose errorsare the 7rror Confidence Nalue8 and the 7rrors per Memory *lot8 information. rrorconfidence values over ?&& should always be considered to be legitimate. he errors per

memory slot indicate both the number of memory modules present in your PC and thenumber of errors for each memory module. his information may not be available for olderPCs. he remaining error details may be ignored.

o diagnose and repair a memory fault requires you to open your computer case and handlesensitive electronic components. (ith proper handling procedures this is not difficult. !f you donot want repair your own hardware you can use Memest#$ to test your -M, but rely on athird party to do the actual repair.

!.1 4nti-*tatic =andlin 5rocedures

lectronic components may be damaged by static electricity. he key to proper handling is to

simply avoid causing a static discharge though the component that is being handled. his isdone by discharging static buildup before a component comes in contact with anothersurface. For e'ample when installing a component into a computer, first touch a bare metalpart of the computer case. !f you want to set a component on a table, touch the table first andthen set down the component. !f you take a step or even shuffle your feet you will need to re3discharge any static buildup.

!.2 Re-*eatin Memory Modules

!n many cases memory problems are caused by a poor connection. his can be resolved bysimply removing and reinstalling the memory module;s= using the following procedure.

?. +sing the documentation for your motherboard locate the memory module slots andidentify the memory module;s=.

%. +sing proper anti3static handing procedures remove the memory module;s=. !n mostcases this is done by pressing down on the locking tabs at the end of the module slot.

5. Carefully clean any dust or debris from the module and the motherboard memorymodule slots.

2. -einstall the memory module;s= into their original slot on the motherboard.

. -erun Memest#$.

!.! Re"lacin Modules

!f re3seating memory modules does not resolve the problem then a memory module willgenerally need to be replaced.

(hen more than one module is installed you will need to determine which module is failing.

First consult your motherboard documentation to determine if memory modules may be usedindividually or if they must be used in pairs. !f your motherboard is configured with theminimum number of memory modules you will need to purchase a replacement memory

Copyright 2013 Passmark® Software Page 20

Page 21: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 21/37

module in order to locate the failing one. +sing the guidelines in your motherboard manual tomaintain a working configuration selectively remove modules from the system and rerunMemest#$ to find the bad module;s=. Be sure to carefully note which modules are in thesystem when the test passes and fails.

!n most cases memory failures will be due to a faulty memory module and replacing themodule will resolve the problem. Aowever, the motherboard affects memory operation and

may also cause memory errors. here are instances where only a particular combination ofmemory and motherboard will cause errors. his is typically due to the memory not being ofsufficient quality and speed to keep up with the motherboard. his memory may functionproperly when installed in a less demanding motherboard. (hen errors are only detected bytest I it is usually due to memory not being fast enough to work properly with themotherboard. More conservative memory timing B!)* settings ;if supported= may resolvethese problems. )therwise higher quality memory may be required, or possibly themotherboard may need to be replaced.

!.+ #rror 3alidity

here are many users who question if errors detected by Memest#$ are valid. !n at least.Q of cases reported errors will be legitimate and must be corrected. Memest#$ simplye'ercises all available -M looking for errors. !f any error is detected in -M, regardless ofhow or where, it is a legitimate failure that needs to be corrected. here are no known issuesregarding compatibility. !t is possible, but unlikely, that a particular error will never show up innormal operation. Aowever, operating with marginal memory is risky and can result in dataloss and disk corruption. ven if there is no overt indication of problems you cannot assumethat your system will be unaffected.

here are some rare cases where motherboard manufacturers will map hardware registersinto space normally occupied by memory. (hen these locations are tested errors arereported. !n this case, the reported errors will be invalid. o better identify these rare cases

where invalid errors are reported an error confidence value is created by Memest#$. heprogram tracks failures and then does some simple analysis to determine the probability ofinvalid errors. (hen the confidence value e'ceeds ?&& it is nearly impossible that thereported errors will be invalid.

Copyright 2013 Passmark® Software Page 21

Page 22: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 22/37

+ Over Cloc,in

+.1 )ac,round

Memest#$ is an invaluable tool for over clocking and may be used to increase your systemsperformance and reliability. Many shy away from over clocking fearing that it will make their

PC less reliable. (ith a proper procedure, fine tuning your system timings is safe and in somecases will even improve reliability.

Before embarking on over clocking one must understand the concept of margins or margin forerror.

+.2 O"eratin Marins

o achieve high reliability computer systems are designed and tested under conditions thatare more strenuous than those e'pected in normal use. ake for e'ample a computer that isdesigned to operate with a bus frequency of ?55 MA4. quality manufacturer will design andtest for operation at perhaps ?2& MA4 or higher. his margin for error provides confidence

that even with inevitable manufacturing variances and changing conditions operation will bereliable. (hen components from different manufacturers are combined an even greatermargin for error is required since the e'act characteristics of the associated components arenot known. he result is the maEority of computers will end up having a much larger margin forerror than is needed. his means that a lot of performance is being wasted. )n the otherhand there will be a small number of systems that do not have enough margin of error and willhave poor reliability even without over clocking.

Many think of over clocking as simply making a computer operate as fast as possible. hisapproach is unwise and will often result in unreliable operation. much better philosophy is toadEust and fine tune computer timings to maintain an appropriate margin for error. n

appropriate margin includes not leaving too much margin, wasting performance.For e'ample let say we have a computer that will operate properly with a system clock of ?#MA4. )bviously a lot of performance will be wasted if we operate the computer at thestandard ?55 MA4. !n addition if the computer fails at ?& MA4 it would be unwise to operateat ?# MA4 since there is little margin for error and operation will likely not be reliable. noperating margin of 5Q to $Q is sufficient to insure good reliability. For this e'ample a systemclock of ?# to ?#5 would be ideal. here may be cases where it will be advisable to underclock. !f a system with a normal clock rate of ?55 MA4 does not operate properly at ?5$ MA4or more then there is not enough margin and under clocking is required to ensure reliability.

o summari4e, over clocking should be thought of as fine tuning a computer to ensure

reliability first and secondarily ma'imi4ing performance.

+.! Usin MemTest86 for Over Cloc,in

he first step in a proper over clocking procedure is to determine the operational limits of yourcomputer. fter the operational limits have been identified the system settings may beadEusted to provide enough margin to ensure high reliability. Memest#$ is an ideal tool toaccurately determine the operation limits of your memory and CP+. +sing the guidelinesbelow, e'periment with the settings available for your motherboard to find settings that resultin the highest clock rate combined with the highest reported memory bandwidth.

Copyright 2013 Passmark® Software Page 22

Page 23: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 23/37

?. Before attempting to over clock you need to know what system parameters yourmotherboard will allow you to adEust and how they are adEusted. *ome motherboardswill allow all useful parameters to be adEusted while others do not allow for anyadEustment. Consult your motherboard manual for details. *ome of the parameters thatmay be available are9

● *ystem clock rate

● CP+ clock multiplier 

● Memory timing

● Memory clock multiplier 

● CP+ voltage

● Memory voltage

%. Gou need to know how to reset the CM)* to factory settings. !t is common when overclocking to end up with settings that will not run the B!)*. (hen the parameters areset via CM)* the only way to recover is to reset the CM)* to the factory

configuration. For some motherboards this is accomplished by removing a Eumper.)ther will require removal of the CM)* backup battery. Make sure that you know howto recover before starting.

5. Before adEusting any parameters, run Memest#$ for a full pass to establish abaseline. -ecord the memory bandwidth and CP+ clock frequency for the defaultconfiguration.

2. ypically the best place to start is with the system clock rate. !ncrease the clock rate infairly small increments ;%32 MA4= and then run at least a partial pass of Memest#$.-unning at least ?Q of tests ?3 should be the minimum amount of testing for eachiteration. Continue increasing the clock rate until you get a failure. ake your time and

take good notes. For each step be sure that you record the memory bandwidthreported by Memest#$. *ome B!)*Ds automatically adEust memory timings accordingto clock rate. Gou may find that by increasing the clock rate, memory performance willdecrease. )nce you find a failure back off on the clock rate until you find the point atwhich you get errors. )nce you find the point at which memory errors occur back theclock off one step and run a full pass of Memest#$ to confirm the operational limit. !nsome cases the CP+ will hang ;stop responding= before memory errors are detected.

. *ome motherboards will allow you to adEust memory timing. Memory timings aretypically listed as 2 values separated by hyphens. Aowever, some motherboards onlyoffer choices like fast, faster and fastest. here are two strategies for adEusting memorytiming. !f memory errors are detected before the CP+ e'hibits problems then slower

memory timing may be used to allow a higher system clock rate to be used. hesecond strategy is to use faster memory timings to get more memory bandwidthwithout increasing the system clock rate. !t is impossible to know which values willeffect errors. *ome of the memory timings will affect memory bandwidth and others willnot. Be sure to record the reported memory bandwidth for each parameter change.

$. !f in step 2 the CP+ hangs before memory errors appear then the CP+ has less marginfor error than the memory. !f available you may want to try reducing the CP+ multiplierand then continue to increase the system clock until either the CP+ stops or memory

Copyright 2013 Passmark® Software Page 23

Page 24: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 24/37

errors occur. his is helpful if memory timings are not adEustable or are ineffective.

. CP+ and memory voltages are adEustable on some motherboards and increasing themmay allow you to run at higher speeds. !n particular higher CP+ voltages tend to bequite effective for over clocking. Aowever, higher voltages also mean highertemperatures so be sure that you have plenty of case cooling and an effective CP+cooler. +se carefully.

#. *ome motherboards allow you to use a system clock multiplier for memory. he defaultis usually ?9?, or in other words the system and memory clock rates will be the same.his setting is only useful when the memory and CP+ operational limits aresignificantly different and can not be brought into balance using the techniques listedabove.

)nce you have established the operational limits of your system then you need to selectsettings that allow for a reasonable margin for error. "o not be tempted to use the ma'imumsettingsR margin of 5Q to $Q is recommended for reliable operation. he easiest way to addoperational margin is to simply reduce the system clock rate by 5Q to $Q from the ma'imumsetting that functioned properly.

!n many cases the operational limits for the CP+ and memory will be different. For e'ampleyou can get more CP+ speed by reducing memory settings. )r you can get more memoryperformance by reducing the CP+ multiplier. For these cases you will need to choose acompromise. Both memory bandwidth and CP+ clock rate are important so donDt be temptedto only optimi4e for one or the other.

Memest#$ provides good assurance of reliable memory operation when over clocking. venwhen a dramatic increase in memory bandwidth is achieved. s long as Memest#$ does notreport errors and appropriate margins have been applied then you should not hesitate to fullyma'imi4e memory timings. Aowever, some caution must be e'ercised for system clock rateincreases. (ith most motherboards the clock rate for the PC! and 6P busses are based on

the system clock. 6enerally these busses will have no problem running at somewhat higherrates. Memest#$ does not test PC! or 6P and do not provide any assurance that anythingother than the CP+ and memory are working properly. *adly there is currently no safe way todetermine the operational limits for PC! and 6P and therefor there is no way to assure thatthere are appropriate margins. +nless your motherboard is able to independently establishthe frequency of PC! and 6P busses you should be careful about running with large ;morethan ?Q= increases in the system clock. !n addition running your CP+ at higher frequencieswill generate more heat. *mall frequency increases will generally be fine with the installedCP+ cooler. >arger increases in the system clock rate may necessitate a larger, moreeffective CP+ cooler.

Copyright 2013 Passmark® Software Page 24

Page 25: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 25/37

4""endices

4""endi0 4.Tecnical Information

 ppendi' contains technical information from the Memest#$ -"M file that waspreviously released under the 6nu Public >icense ;6P>=. his section provides additional

background information and technical information that may be useful for advanced users.

4.1 Memory Testin 5iloso"y

here are many approaches for testing memory. Aowever, many tests simply throw somepatterns at memory without much thought or knowledge of memory architecture or how errorscan best be detected. his works fine for hard memory failures but does little to findintermittent errors. B!)* based memory tests are useless for finding intermittent memoryerrors.

Memory chips consist of a large array of tightly packed memory cells, one for each bit of data.he vast maEority of the intermittent failures are a result of interaction between these memorycells. )ften writing a memory cell can cause one of the adEacent cells to be written with thesame data. n effective memory test attempts to test for this condition. herefore, an idealstrategy for testing memory would be the following9

?. write a cell with a 4ero

%. write all of the adEacent cells with a one, one or more times

5. check that the first cell still has a 4ero

!t should be obvious that this strategy requires an e'act knowledge of how the memory cellsare laid out on the chip. !n addition there is a never ending number of possible chip layoutsfor different chip types and manufacturers making this strategy impractical. Aowever, thereare testing algorithms that can appro'imate this ideal strategy.

4.2 MemTest86 Test 4loritms

Memest#$ uses two algorithms that provide a reasonable appro'imation of the ideal teststrategy above. he first of these strategies is called moving inversions. he movinginversion test works as follows9

?. Fill memory with a pattern

%. *tarting at the lowest address%a. Check that the pattern has not changed%b. (rite the patterns complement%c. !ncrement the address-epeat %a 3 %c

5. *tarting at the highest address5a. Check that the pattern has not changed5b. (rite the patterns complement5c. "ecrement the address-epeat 5a 3 5c

Copyright 2013 Passmark® Software Page 25

Page 26: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 26/37

his algorithm is a good appro'imation of an ideal memory test but there are some limitations.Most high density chips today store data 2 to ?$ bits wide. (ith chips that are more than onebit wide it is impossible to selectively read or write Eust one bit. his means that we cannotguarantee that all adEacent cells have been tested for interaction. !n this case the best we cando is to use some patterns to insure that all adEacent cells have at least been written with allpossible one and 4ero combinations.

!t can also be seen that caching, buffering and out of order e'ecution will interfere with themoving inversions algorithm and make less effective. !t is possible to turn off cache but thememory buffering in new high performance chips can not be disabled. o address thislimitation a new algorithm called Modulo30 was created. his algorithm is not affected bycache or buffering. he algorithm works as follows9

?. For starting offsets of & 3 %& do steps %3

%. write every %&th location with a pattern

5. write all other locations with the patterns complement

2. repeat ?b one or more times

. check every %&th location for the pattern

his algorithm accomplishes nearly the same level of adEacency testing as moving inversionsbut is not affected by caching or buffering. *ince separate write passes ;?a, ?b= and the readpass ;?c= are done for all of memory we can be assured that all of the buffers and cache havebeen flushed between passes. he selection of %& as the stride si4e was somewhat arbitrary.>arger strides may be more effective but would take longer to e'ecute. he choice of %&seemed to be a reasonable compromise between speed and thoroughness.

4.! Individual Test escri"tions

Memest#$ e'ecutes a series of numbered test sections to check for errors. hese testsections consist of a combination of test algorithm, data pattern and caching. he e'ecutionorder for these tests were arranged so that errors will be detected as rapidly as possible. description of each of the test sections follows9

4ddress test> al,in ones

ests all address bits in all memory banks by using a walking ones address pattern. rrorsfrom this test are not used to calculate Bad-M patterns.

4ddress test> on address

ach address is written with its own address and then is checked for consistency. !n theory

previous tests should have caught any memory addressing problems. his test should catchany addressing errors that somehow were not previously detected.

Movin inversions> ones ? @eros

his test uses the moving inversions algorithm with patterns of all ones and 4eros. Cache isenabled even though it interferes to some degree with the test algorithm. (ith cache enabledthis test does not take long and should quickly find all @hard@ errors and some more subtleerrors.

Copyright 2013 Passmark® Software Page 26  

Page 27: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 27/37

Movin inversions> 8 bit "attern

his is the same as test 5 but uses a # bit wide pattern of @walking@ ones and 4eros. his testwill better detect subtle errors in @wide@ memory chips. total of %& data patterns are used.

Movin inversions> random "attern

his test uses the same algorithm as test 5 but the data pattern is a random number and itDs

complement. his test is particularly effective in finding difficult to detect data sensitive errors.  total of $& patterns are used. he random number sequence is different with each pass somultiple passes increase effectiveness.

)loc, move

his test stresses memory by using block move ;movsl= instructions and is based on -obert-edelmeierDs burnB0 test. Memory is initiali4ed with shifting patterns that are inverted every# bytes. hen 2MB blocks of memory are moved around using the movsl instruction. fterthe moves are completed the data patterns are checked. Because the data is checked onlyafter the memory moves are completed it is not possible to know where the error occurred.he addresses reported are only for where the bad pattern was found. *ince the moves are

constrained to an #MB segment of memory the failing address will always be lest than #MBaway from the reported address. rrors from this test are not used to calculate Bad-Mpatterns.

Movin inversions> !2 bit "attern

his is a variation of the moving inversions algorithm that shifts the data pattern left one bit foreach successive address. he starting bit position is shifted left for each pass. o use allpossible data patterns 5% passes are required. his test is quite effective at detecting datasensitive errors but the e'ecution time is long.

Random number se:uence

his test writes a series of random numbers into memory. he initial pattern is checked andthen complemented and checked again on the ne't iteration. Aowever, unlike the movinginversions test, writing and checking can only be done in the forward direction. )n the firstpass, a fi'ed seed number is used so that the random number generator always generatesthe same sequence of numbers, allowing the test run to be reproducible. ll subsequentpasses use a seed number generated from the system clock, resulting in more permutationsbeing tested.

he $23bit and ?%#3bit versions of this test is essentially the same as the original 5%3bit test,e'cept that it uses native $23bit and *!M" instructions respectively.

Modulo 2A> random "attern

+sing the Modulo30 algorithm should uncover errors that are not detected by movinginversions due to cache and buffering interference with the algorithm. sequence of $ 5% bitrandom patterns are used.

)it fade test> 2 "atterns

he bit fade test initiali4es all of memory with a pattern and then sleeps for minutes. henmemory is e'amined to see if any memory bits have changed. ll ones and all 4ero patternsare used.

Copyright 2013 Passmark® Software Page 27  

Page 28: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 28/37

4.+ #rror is"lay Information

Memest#$ has 2 options for reporting errors. he default is error summary mode where keyfailure information is displayed along with an error confidence value. -eporting of individualerrors is also available. !n Bad-M Patterns mode patterns are created for use with the>inu' Bad-M feature. his feature allows >inu' to avoid bad memory pages. "etails aboutthe Bad-M feature can be found at9

.tt/.ome2onnet2nl-anrein4aram

he error summary mode reports the following data9

rror Confidence Nalue9

  value that indicates the validity of the errors being reported with larger values indicating greatervalidity. here is a high probability that all errors reported are valid regardless of this value. Aowever,when this value e'ceeds ?&& it is nearly impossible that the reported errors will be invalid.

>owest rror ddress9

he lowest address that where an error has been reported.

Aighest rror ddress9

he highest address that where an error has been reported.

Bits in rror Mask9

  mask of all bits that have been in error ;he'adecimal=.

Bits in rror9

otal bit in error for all error instances and the min, ma' and average bit in error of each individualoccurrence.

Ma' Contiguous rrors9

he ma'imum of contiguous addresses with errors.

CC Correctable/+ncorrectable rrors9

he number of errors that have been corrected/uncorrected by CC hardware.

est rrors9

)n the right hand side of the screen the number of errors for each test are displayed.

(hen the individual error reporting mode is selected the following information is displayed. n error message is only displayed for errors with a different address or failing bit pattern. lldisplayed values are in he'adecimal.

a&el 'escri#tionTst; Test number  

/ailin& ddress ; /ailin& memory address

<ood; )ected data attern

#ad; /ailin& data attern

rr$#its; )clusive or o- &ood and bad data +tis sows te osition o- te -ailin& bit+s,,

Count; =umber o- consecutive errors wit te same address and -ailin& bits

Copyright 2013 Passmark® Software Page 28

Page 29: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 29/37

4""endi0 ).5roduct *u""ort

Please report problems to9

mail9 helppassmark.com

Please include9

• he software version.

•   detailed description of the problem and how to reproduce it.

•   copy of the result files / log files ;if available=.

• "etails of how we may be able to contact you.

).1 Bnon 5roblems

Memest#$ can not diagnose many types of PC failures. For e'ample a faulty CP+ thatcauses (indows to crash will most likely Eust cause Memest#$ to crash in the same way.

(ith some PCDs Memest#$ will Eust die with no hints as to what went wrong. (ithout anydetails it is impossible to fi' these failures. Fi'ing these problems will require debugging onyour part. here is no point in reporting these failures unless you have a >inu' system andwould be willing to debug the failure.

Memest#$ supports all types of memory. !f fact the test has absolutely no knowledge of thememory type nor does it need to. his not a problem or bug but is listed here due to themany questions about this issue.

).1.1 U#$I %v&'(

Memest#$ depends on the services provided by the +F! firmware, which include

mouse/keyboard support, multiprocessor services, file input/output, and PC! devicemanagement. Because the services that are provided by the firmware are developedindividually by the motherboard manufacturers, there may be functional differences than canlimit or prevent the proper operation of Memest#$. *ome of these issues are highlightedbelow9

• *ome +F! implementation do not provide full mouse support, preventing the use ofthe mouse in Memest#$. !f this is the case, use the keyboard or try updating to a newfirmware build.

• Multiple CP+ testing may not be available due to limited or non3functionalimplementations of Multiprocessor services provided by +F!, especially for older

firmware. his may cause a reduced number of processors available for testing, oreven program free4e when attempting to run on other processors. !f this is the case,run in single CP+ mode or try updating to a new firmware build.

Memest#$ is also inherently limited by the +F! environment and as such, gives rise to thefollowing limitations9

• Memest#$ +*B flash drives cannot be read in (indows 0P ;5%3bit= due to its lack ofsupport of 6Pdisks

• Memest#$ cannot remap itself to different portions of memory in order to run tests inCopyright 2013 Passmark® Software Page 29

Page 30: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 30/37

the section of memory it was occupying.

• "ual +F! entries may be present in +F! B!)* as boot devices. here is nodifference in selecting either entry his is due to a workaround that allows Memest#$+*B flash drives to be accessible in (indows.

).1.2 )IO* %v+(

*ometimes when booting from a floppy disk the following messages scroll up on the screen9

  09#&&&

  09&%?%

  B09#$&&

  C09&%&?

  "09&&&&

his is the B!)* reporting floppy disk read errors. ither re3write or toss the floppy disk.

)n a small number of machines, false positives were reported when running est I5 inparallel mode. !f this is the case, re3run the test in single CP+ mode before concluding that itis a -M issue.

).2 #nancements

Please send enhancement requests to9

infopassmark.com

 ll requests will be considered, but not all can be implemented

Copyright 2013 Passmark® Software Page 30

Page 31: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 31/37

4""endi0 C.Cane /o

:ew features in v.&.& ;"ec/%&?5=

• Completely re3written to work under +F!.

• :ative $23bit support

• :o longer requires the use of the P workaround to access more than 26B ofmemory. ;P < Physical ddress 'tension=

• Mouse support, where supported by the underlying +F! system. )n older systems akeyboard is still required.

• !mproved +*B keyboard support. he keyboard now works on systems that fail toemulate !) Port $2/$& correctly. *o Mac +*B keyboards are now supported.

• !mproved multi3threading support, where supported by the underlying +F! system.

• "ual boot with Memtest version 2 for supporting older systems without +F!. *o with a

single +*B or C" drive both +F! systems and B!)* systems can be supported.• -eporting of detailed -M *P" information. imings, clock speeds, vendor names and

much more.

• *upport to writing to the +*B drive that Memtest is running from for logging and reportgeneration. !n all prior Memest releases there was no disk support.

• +se of 6P. ;6+!" Partition able=

• CC -M support ;limited hardware support, ongoing development=

◦ "etection of CC support in both the -M and memory controller 

Polling for CC errors◦ !nEection of CC errors for test purposes. ;limited hardware only=

• )ption to disable CP+ caching for all tests

• *upport for reading parameters from a configuration file to allow settings to be pre3defined without the need for keyboard input. his can help with automation.

• *upport for *ecure Boot

• *peed improvements of between ?&Q and 5&QS. specially for tests, I, I# T I.his is the result more moving to native $2bit code, removing the P paging hack,switching compilers and using faster random number generation algorithms.

•  ddition of % new memory tests to take advantage of $2bit data and *!M" instructions.

Copyright 2013 Passmark® Software Page 31

Page 32: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 32/37

nhancements in v2.5.$ ;:ov/%&?5=

• Fi'ed crash ;particularly for M" machines= that is seemingly resolved by adding CP+synchronication barriers before and after performing the memory speed test

• Fi'ed an error in setting the barrier structureDs base address, preventing a possiblecrash or free4e of the system.

•  dded a check to perform a spin lock only when more than ? CP+s are detected

nhancements in v2.5. ;)ct/%&?5=

• Fi'ed potential error due to barrier structure located at fi'ed memory location

• Fi'ed block move test free4e on higher memory addresses

nhancements in v2.5.2 ;)ct/%&?5=

• Fi'ed incorrect progress calculation for test &

• Fi'ed incorrect memory si4e due to bug with memory map when the e#%& entry si4emember is &

• Fi'ed incorrect number of CP+Ds found due to duplicate entries in the M"

• Changed the method used to search for processors to searching the P!C M" first,then search the MP spec table ;as opposed to vice versa=. he MP spec table haslargely been deprecated.

nhancements in v2.5.5 ;*ept/%&?5=

• Fi'ed incorrect progress calculation for test 2

• Fi'ed potential false positives in parallel mode caused by overlapped/unalignedmemory chunk allocations per CP+

• Fi'ed program free4e when selecting test & or ? when running in non3parallel mode

nhancements in v2.5.% ;ug/%&?5=

• Memory bandwidth is now measured for one CP+ ;as opposed to being a total for allCP+s T Cores=. his will lower the reported bandwidth for multi3core machines. But wethink it makes more sense this way.

• Fi'ed crash when attempting to boot on older single core machines withhyperthreading. )nly effects old machines, from around the early Pentium 2 era, thatdidnDt have a MP ;Multi3Processor= *pec table defined but did have both a M";Multiple P!C "escription able= defined and hyperthreading enabled.

• -estored the @*tart only one CP+@ boot option. his option should not be required innormal use, but might be useful for debugging purposes.

• +pdates to the included help file

nhancements in v2.5.? ;ug/%&?5=

• Fi'ed bug with est $ ;Block Move est= not testing the end of a memory segmentcorrectly

• -emoved unnecessary boot options in menu

Copyright 2013 Passmark® Software Page 32

Page 33: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 33/37

nhancements in v2.5 ;ul/%&?5=

• Changed default CP+ selection mode to round robin. -unning all CP+s at once hasbeen shown to cause false positives on a number of systems.

• Fi'ed a bug that could cause the program to go into a tight loop that could not beescaped when setting certain memory ranges to test.

• Fi'ed a bug displaying the memory location of individual errors. he values after thedecimal point in the MB readout were incorrect.

• Fi'ed a bug in configuring upper and lower memory limits, previously lower limits equalor grater than %gb would not work, as well as some other more obsucre configurations.

•  dded a misc option to display the systems memory map.

• Fi'ed a bug that would cause the number of passes to not correctly reset afterchanging the selected tests.

•  dded missing source code to some of the download packages.

Fi'ed a bug in test # causing a single error to cascade into multiple errors.• Fi'ed a bug causing the average error bits to be incorrect once the errors had ma'ed

out at $k

• Fi'eda bug preventing test ?& to be selected as a single test to run.

• Fi'ed bug displaying individual test error counts.

• Fi'ed bug making overall errors ?&' what they should be.

nhancements in v2.% ;Mar/%&?5=

• Fi'ed issues with +*B keyboards. he +*B keyboard functionality is memory mapped

into a portion of low memory on some ;maybe many= machines, typing on a +*Bkeyboard changes some values in -M as the key presses are stored in memory asyou type. his can cause the keyboard to become unresponsive during testing or inputfrom the keyboard to generate errors in the tests.

• Fi'ed crash when configuring memory ranges. Changing the meory range during thefirst test, or changing the memory range multiple times during later tests could causethe current test number to become negative, triggering a crash.

• Fi'ed highest error address not reporting correctly on error.

• Fi'ed error counters overflowing and reseting to & after too many errors.

• Fi'ed ma' contiguous error reporting.• Cleaned up some +! te't.

• he (indows +*B package now includes !mage+*B to make creating Memtest#$+*B drives easier.

Copyright 2013 Passmark® Software Page 33

Page 34: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 34/37

nhancements in v2.? ;an/%&?5=

•  dded a new boot trace option that single steps through the testing process anddisplays messages and data that is valuable in diagnosing problems with teste'ecution. large number of trace points have been added in key portions of the code;in particular *MP startup routines= to provide visibility of obscure failures. his featurewill allow non3technical users to provide troubleshooting data for better test stability.

•  dded a new )ne Pass feature. his feature runs the complete test once and thene'its, but only if there were no errors. his provides a convenient method forunattended testing. )ne Pass may be enabled via a boot option or via an on3linecommand.

• !mages for C", +*B key and Floppy disks now use *yslinu' for booting and include avariety of standard options and two previous versions of Memtest#$. he new boottime options may be specified at the boot prompt.

•   feature has been added to allow customi4ation of the list of tests to be run. he testlist may be specified via a boot option or via an on3line command.

•   feature has been added to restrict specific CP+s that are to be used for testing. hema'imum number of CP+s may be specified or a 5% bit CP+ mask may be specified.hese are enabled with boot options.

•   number of problem with use of on3line commands when testing with more than oneCP+ have been fi'ed.

•   selection of boot time parameters are were added. hese options enable boottracing, the )ne Pass feature, limit the ma'imum number of CP+s to use, specify aCP+ mask to select CP+s to be used and setup serial console parameters.

• !mproved and e'tended CP+ identification routines. :ewer CP+!" based method is

now used to determine cache si4es for !ntel CP+s for better accuracy andsupportability.

• -outines for calculating cache and memory speeds have been reworked for betteraccuracy. n overflow problem has been fi'ed that resulted in no memory speed beingreported for CP+s with large >5 caches.

• Fi'ed some errors in the crash reporting routines.

• Misc minor fi'es and code cleanup.

Copyright 2013 Passmark® Software Page 34

Page 35: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 35/37

nhancements in v2.& ;%#/Mar/%&??=

• Full support for testing with multiple CP+s. ll tests e'cept for I?? ;Bit Fade= havebeen multithreaded. ma'imum of ?$ CP+s will be used for testing.

• CP+ detection has been completely re3written to use the brand !" string rather thanthe cumbersome, difficult to maintain and often out of date CP+!" family information.

 ll new processors will now be correctly identified without requiring code support.•  ll code related to controller identification, PC! and "M! has been removed.

• his may be a controversial decision and was not made lightly. he following are Eustifications for the decision9

?. Controller identification has nothing to do with actual testing ofmemory, the corepurpose of Memtest#$.

%. his code needed to be updated with every new chipset. (ith the ever growingnumber of chipsets it is not possible to keep up with the changes. he result isthat new chipsets were more often than not reported in3correctly. !n the authors

opinion incorrect information is worse than no information.5. Probing for chipset information carries the risk of making the program crash.

2. he amount of code involved with controller identification was quite large,making support more difficult.

• -emoving this code also had the unfortunate effect of removing reporting ofcorrectable CC errors. he code to support CC was hopelessly intertwined thecontroller identification code. fresh, streamlined implementation of CC reporting isplanned for a future release.

•   surprising number of conditions e'isted that potentially cause problems when testing

more than 2 6B of memory. Most if not all of these conditions have been identified andcorrected.

•   number of cases were corrected where not all of memory was being tested.

• For most tests the last word of each test block was not tested. !n addition an error inthe paging code was fi'ed that omitted from testing the last %$ bytes of each blockabove % 6B.

• he information display has been simplified and a number of details that were notrelevant to testing were removed.

• Memory speed reporting has been paralleli4ed for more accurate reporting for multi

channel memory controllers.• his is a maEor re3write of the Memtest#$ with a large number of minor bugfi'es and

substantial cleanup and re3organi4ation of the code.

Copyright 2013 Passmark® Software Page 35

Page 36: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 36/37

nhancements in v5. ;5/an/%&&#=

• >imited support for e'ecution with multiple CP+s. CP+s are selected round3robin orsequential for each test.

• *upport for additional chipsets. ;from Memtest#$S v%.??=.

•  dditions and corrections for CP+ detection including reporting of >5 cache.

• -eworked information display for better readability and new information.

•  bbreviated iterations for first pass.

• nhancements to memory si4ing.

• Misc fi'es and code cleanup

nhancements in v5.2 ;#/*ep/%&&=

•   new error summary display with error confidence analysis

• "isplay of memory module information ;from Memtest#$S v?.&=

• -elocated testing reworked to overlap main testing for better error detection

• *upport for additional chipsets. ;from Memtest#$S v?.&=

•  dditions and corrections for CP+ identification

• Misc bug fi'es and code cleanup

nhancements in v5.5 ;?%/an/%&&=

•  dded support for additional chipsets. ;from Memtest#$S v?.$&=

• Changed Modulo %& test ;I#= to use a more effective random pattern rather thansimple ones and 4eros.

• Fi'ed a bug that prevented testing of low memory.

•  dded an advanced menu option to display *P" info ;only for selected chipsets=.

• +pdated CP+ detection for new CP+s and corrected some bugs.

• -eworked online command te't for better clarity.

•  dded a fi' to correct a Badram pattern bug.

Copyright 2013 Passmark® Software Page 36  

Page 37: Memtest 86 Guide

8/18/2019 Memtest 86 Guide

http://slidepdf.com/reader/full/memtest-86-guide 37/37

4""endi0 .4c,noledments

.1 U#$I %v&'(

Memest#$ ;+F!= was developed by PassMark *oftware based on the original source codeby Chris Brady.

.2 )IO* %v+(

Memest#$ was developed by Chris Brady and maintained by PassMark *oftware with theresources and generous assistance of individuals and sources listed below9

he initial versions of the source files bootsect.*, setup.*, head.* and build.c are from the>inu' ?.%.? kernel and have been heavily modified.

"oug *isk provided code to support a console connected via a serial port.

Code to create Bad-M patterns was provided by -ick van -ein.

ests is based on -obert -edelmeierDs burnB0 test.

*creen buffer code was provided by ani verbach.

ric Biederman provided all of the feature content for version 5.& plus many bugfi'es andsignificant code cleanup.

MaEor enhancements to hardware detection and reporting in version 5.%, 5.5 and 5.2 providedby *amuel "emeulemeester ;from Memest#$S v?.??, v?.$& and v?.&=.