Memtest - Compaq ES40CSLP Installation, User & Service Manual

Rackmount system
Table of Contents

Advertisement

6.6.2.10 memtest

The memtest command exercises a specified section of memory.
Memtest may be run on any specified address. If the -z option is not included (default), the
address is verified and allocated from the firmware's memory zone. If the -z qualifier is
included, the test is started without verification of the starting address.
When a starting address is specified, the memory is allocated beginning at the starting address -
32 bytes for the length specified. The extra 32 bytes that are allocated are reserved for the
allocation header information. Therefore, if a starting address of 0xa00000 and a length of
0x100000 is requested, the area from 0x9fffe0 through 0xb00000 is reserved. This may be
confusing if you try to begin two memtest processes simultaneously with one beginning at
0xa00000 for a length of 0x100000 and the other at 0xb00000 for a length of 0x100000. The
second memtest process will send a message that it is "Unable to allocate memory of length
100000 at starting address b00000". Instead, the second process should use the starting address
of 0xb00020.
Use the kill command to terminate an individual diagnostic or the kill_diags command to
terminate all diagnostics. Use the show_status display to determine the progress of tests.
_____________________________ Note____________________________
If memtest is used to test large sections of memory, testing may take a while to be
completed. If you issue a Ctrl/C or kill PID in the middle of testing, memtest may
not abort right away. For speed reasons, a check for a Ctrl/C or kill is done outside
of any test loops. If this is not satisfactory, you can run concurrent memtest
processes in the background with shorter lengths within the target range.
______________________________________________________________
Memtest Test 1
Memtest Test 1 uses a graycode algorithm to test a specified section of memory. The graycode
algorithm used is: data = (x>>1)^x, where x is an incrementing value.
Three passes are made of the memory under test.
The first pass writes alternating graycode inverse graycode to each four longwords. This
causes many data bits to toggle between each 16 byte write.
The second pass reads each location, verifies the data, and writes the inverse of the data,
one longword at a time. This causes all data bits to be written as a one and zero.
The third pass reads and verifies each location.
You can specify the -f "fast" option so that the explicit data verify sections of the second and
third loops is not performed. This does not catch address shorts but stresses memory with a
higher throughput. The ECC/EDC logic can be used to detect failures.
For example graycode patterns for a 32 byte block would be:
Graycode(0) 00000000 Graycode(1) 00000001 Graycode(2) 00000003
Graycode(3) 00000002 Inverse Graycode(4) FFFFFFF9 Inverse Graycode(5)
FFFFFFF8 Inverse Graycode(6) FFFFFFFA Inverse Graycode(7) FFFFFFFB
Compaq ES40CSLP Rackmount System Installation/User/Service Guide 6–35
Troubleshooting and Diagnostics

Advertisement

Table of Contents
loading

Table of Contents