36 MPCMM0001 Chassis Management Module Software Technical Product Specification
Built-In Self Test (BIST)
4.8.2 Monitoring the Dynamic Images
For monitoring the dynamic images, the CMM leverages the corruption detection ability from the
JFFS(2) flash file system. At OS start-up, the CMM executes an initialization script to mount the
JFFS(2) flash partitions (/etc and /home). If a flash corruption is detected, an event is logged to the
CMM SEL.
During normal OS operation, flash corruption during file access can also be detected by the
JFFS(2) and/or the flash driver. If a flash corruption is detected, an event is logged to the CMM
SEL.
4.8.3 CMM Failover
If during normal OS operation a critical error occurs on the active CMM, such as a flash
corruption, the standby CMM is checked to see if it is in a healthier state. If the standby CMM is in
a healthier state, then a failover will occur. See Section 3, “Redundancy, Synchronization, and
Failover” on page 21.
4.9 BIST Test Descriptions
4.9.1 Flash Checksum Test
This test is targeted to verify the RedBoot image and FPGA image are not corrupted. This test
calculates the CRC32 checksum from the RedBoot image, then compares with the image checksum
stored in the FIS directory. If one mismatches another, BIST switches to the backup image. If
checksum mismatch was found from the FPGA image, BIST loads the backup image to program
the FPGA device.
4.9.2 Base Memory Test
This test writes the data pattern of 55AA55AA into every 4 bytes of the memory below 1 MByte.
Its objective is to verify the wire connectivity of address and data pins between the memory
module and the processor. The test first writes the data pattern into the complete first 1 MByte, then
verifies the written data pattern by reading them from the memory module. If the data pattern
mismatches, the test logs the error event into the event-log area and routes the error message to the
serial port.
4.9.3 Extended Memory Tests
Walking Ones Test
This test is targeted to verify the data bus wiring by testing the bus one bit at a time. The data bus
passes the test if each data bit can be set to 0 and 1 independently of the other data bits.
32-Bit Address Test
This test is targeted to verify the address bus wiring. The smallest set of addresses that will cover
all possible combinations is the set of “power-of-two” addresses. These addresses are analogous to
the set of data values used in the walking ones test. The corresponding memory locations are
0001h, 0002h, 0004h, 0008h, 0010h, 0020h, and so on. In addition, address 0000h must also be
tested. To confirm that no two memory locations overlap, initial data value is first written at each
power-of-two offset within the device. Then a new value is written–an inverted copy of the initial