Reference Guide
Table Of Contents
write Output
root@dell-diag-os:/opt/ngos/bin# ./lpctool --write --addr=102 --val=10
memtool
The memtool tests the physical memories in the system.
The memtool performs address bus and data tests that moves 1s or 0s through the bus lines to detect stuck, missing, bridged,
or other issues found during board tests. The tool also places hamming values or addresses into memory to test and report
failing bits. All tests are similar to the memtest86 application but are available through the CLI.
In addition, the memtool reads the types and locations of memory in the system. The memory may be physical RAMs
connected to the CPU covered by caches, or memory attached or embedded in other devices or across buses. The tool must
know the addressable location of the memory, the memory address, data bus sizes, and any addressing constraints; for example,
byte or word addressable boundaries.
The memtool allocates a memory region to tests in, which is either malloc space or opens a memory map to the memory, and
passes the pointer to access the memory.
Tests
● Address Read—Causes read transactions on the memory bus. Address read can loop for several iterations, checking
for any changes in the data between iterations. You can specify patterns on the address bus for the bits to allow the testing
for stuck address bits.
● Address Write—Creates write transactions on the memory bus. Address write can loop for several iterations, and
works similar to the Address Read test.
● Address Walking 1—Walks a 1 though the provided address space in memory for the available address bits. Address
Walking 1 writes the address of the cell in the location it is referencing. After it is done writing all the locations, it walks
back through and verifies that the data is correct.
● Address Walking 0—Walks a 0 address bit through the memory area available to it. Address walking 0 writes the
additive inverse of the address to the location. After writing all addressed locations, it walks back through and verifies the
locations data.
● Data Read—Reads transactions similar to the Address Read test, but focuses on the data bits. Patterns are placed on
the data bus to test for stuck data bits.
● 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 before
overwriting.
● Data Walking 0—Walks a 0 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 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 pattern 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
DellEmc Diag - Memory Tool
version 1.5, x.xx.x.x-x
build, 2017/05/23,
Dell EMC DIAG OS tools
57