Reference Guide

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 ReadCauses 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 WriteCreates write transactions on the memory bus. Address write can loop for several iterations, and
works similar to the Address Read test.
Address Walking 1Walks 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 0Walks 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 ReadReads 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 WritePlaces data patterns on the bus for testing the bus and looks for stuck data bits.
Data Walking 1Walks a 1 through the data bits within an address location and verifies that the values are valid before
overwriting.
Data Walking 0Walks a 0 through the data bits and verifies the value as it is testing.
Data Sliding 1Slides 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 0Slides 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 PatternWrites 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 CachePerforms 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