Administrator Guide

Table Of Contents
Data Write — Places data patterns on the bus for testing the bus and looks for stuck data bits.
Data Walking 1 — Walks a 1 through the data bits within an address location and verifies that the values are valid prior to
overwriting.
Data Walking 0 — Walks a 0 bit through the data bits and verifies the value as it is testing.
Data Sliding 1 — Slides a 1 through the data testing for stuck bits. By xor of each shift to the data, when finished, the
cell holds all the 1s.
Data Sliding 0 — Slides a 0 through the data bits set to 1. By xor of each shift of the data, when finished, the cell holds
all the 1s.
Data Pattern — Writes four different patterns to memory locations within the specified region. The patterns are 0xFFFF,
0xFF00, 0xF0F0, 0xAAAA, 0xAA55 and 0x5555. The patterns are written as repeated portions of these patterns in the
memory to fill the memory and as Hamming patterns (such as Hamming [8,4], Hamming[16,11], Hamming[32,26] or
Hamming[64,57]) encoding with the additional most significant byte (MSB) parity bit to cover the parity bits in the Hamming
code. This allows for detecting multiple bit errors.
Data Cache — Performs a rotation of a 16MB array in four clockwise rotations for 16 iterations of the complete rotation.
The 16MB size ensures that memory is not within the cache lines and causes cache ejections through each of the rotations.
CLI Options
./memtool - Memory Tool
version 2.0
admin, 2014-10-01, bamboo-build-num
Syntax: ./memtool <option>
--h := show this help
--list := list all of the memory regions
--version := Display the version of the memtool
--info --region=# := display configuration info of device
--test [--region=#] [--testlist=test0,test1... ] := test all memory or specified memory region
--read --region=# --addr=address --count=bytes := read the specified physical address
--write --region=# --addr=address --val=data0,data1, ... ,dataN := write at the specified
physical address
Available Tests are:
ALL_TESTS, ADDRESS_READ, ADDRESS_WRITE, ADDRESS_WALKING1, ADDRESS_WALKING0, DATA_READ,
DATA_WRITE, DATA_WALKING1, DATA_WALKING0, DATA_SLIDING1, DATA_SLIDING0, DATA_PATTERN,
DATA_CACHE
The memtool uses long options for the parameters which requires two hyphens in front of the options. Options are required,
optional, or none. If a parameter is required, it is specified as such and must include an equal sign; if an option is optional, it is
enclosed with square brackets. However, do not type the brackets at the CLI. For example, the
-region and -testlist
options are optional and you must enter them as -region=0 and -testlist=0.
List — Lists the memory regions known by SDI. The tool queries SDI for the regions and prints a list of the regions with a
region number that you can use for the subsequent options requiring a region number.
Info — Lists the SPD information for the specified regions. Specifying a region allows the tool to read SPD from different
DIMM modules, each specified in its own region. The output lists the actual data read and completes some parsing of the
parameters so you do not have to decode the values. Decoding is based on the SPD standard definition for DDR3 and DDR4
DIMM memory.
Test — Runs tests that include: Address Read/Write, Address Walking 1/0, Data Read/Write, Data Walking 1/0, Data Sliding
1/0 and Data Patterns (that writes Hamming patterns that you can use to detect multiple bit errors and identify single bit
errors). These tests run during the normal memory tests. In extended memory tests, the data cache memory test runs — this
is a lengthy test to cause multiple ejections of data from the cache and testing the caches.
In Verbosity 0, only the pass/fail message prints for all of the tests. In Verbosity 1, each test prints its own pass/fail and other
information; for example, what failed in the test. Higher verbosities show where each pass of the test performs and has
verbose output. All output, regardless of verbosity, is in the log. You can see every level of detail by referring to the log.
Read — Reads physical memory locations. You can loop over address read cycles to look for data that is volatile or read
physical devices on the memory bus (localbus for Power-PC processors). You can specify a region, address, and count of
successive bytes to read.
Write — Writes to a physical memory address to test write cycles and memory. Similar to the Read command, this
command takes a region, address in that region, and a comma-separated list of values to write.
Dell DiagOS Tools 50